3.0.0
CHANGES:
-
Fix
Header.marshal
and the checksum and the length (@reynir, #145) -
Delete a mutable field about the level into the header (@hannesm, #141)
-
BREAKING: de-functorize the package (@hannesm, @reynir, @dinosaure, #140, #143, #146)
These PRs attempt to de-functorize
Tar
so that users can implement I/O
themselves, usingTar
's own element serialization/deserialization functions
to take advantage of read/write methods. This avoids imposing on the user the
implementation of a module that is too rigid in his/her case (which could have
performance implications).Tar
offers functions for serializing/deserializing tar-specific elements
fromstring
. It is then up to the user to know how to obtain or write these
strings
.To this, these PRs add "logics" (see
'a Tar.t
) requiring read and/or write
implementations and describing how to extract all entries from a tar file or
how to write a tar file according to a "dispenser" (likeSeq.to_dispenser
)
of entries.These logics do not depend on a particular "scheduler", and these PRs propose
a derivation of these logics withtar-unix
,tar-eio
andtar-mirage
.
These latter derivations mean that the API for these packages has only been
extended, and there are no breaking changes as such.These logics also make it easy to offer a compression/decompression layer with
decompress
, so you can easily manipulate and/or create a .tar.gz file.