Skip to content

Commit 503cbea

Browse files
authored
Merge pull request #147 from mirage/prepare-v3.0.0
Prepare v3.0.0
2 parents ffdd7e9 + 458a94f commit 503cbea

File tree

2 files changed

+33
-7
lines changed

2 files changed

+33
-7
lines changed

CHANGES.md

+32-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,36 @@
1-
## unreleased
1+
## v3.0.0 (2024-08-05)
22

3+
- Fix `Header.marshal` and the checksum and the length (@reynir, #145)
4+
- Delete a mutable field about the level into the header (@hannesm, #141)
5+
- **BREAKING**: de-functorize the package (@hannesm, @reynir, @dinosaure, #140, #143, #146)
6+
7+
These PRs attempt to de-functorize `Tar` so that users can implement I/O
8+
themselves, using `Tar`'s own element serialization/deserialization functions
9+
to take advantage of read/write methods. This avoids imposing on the user the
10+
implementation of a module that is too rigid in his/her case (which could have
11+
performance implications).
12+
13+
`Tar` offers functions for serializing/deserializing tar-specific elements
14+
from `string`. It is then up to the user to know how to obtain or write these
15+
`strings`.
16+
17+
To this, these PRs add "logics" (see `'a Tar.t`) requiring read and/or write
18+
implementations and describing how to extract all entries from a tar file or
19+
how to write a tar file according to a "dispenser" (like `Seq.to_dispenser`)
20+
of entries.
21+
22+
These logics do not depend on a particular "scheduler", and these PRs propose
23+
a derivation of these logics with `tar-unix`, `tar-eio` and `tar-mirage`.
24+
These latter derivations mean that the API for these packages has only been
25+
extended, and there are no breaking changes as such.
26+
27+
These logics also make it easy to offer a compression/decompression layer with
28+
`decompress`, so you can easily manipulate and/or create a .tar.gz file.
29+
30+
## v2.6.0 (2023-09-07)
31+
32+
- Add eio backend for tar in tar-eio (@patricoferris, review by @talex5, @reynir, #132)
33+
- Also apply backwards compatibility fix when GNU LongName is used. The compatibility fix is unfortunately also applied for unknown-to-ocaml-tar link indicators (reported by @gravicappa in #129, @reynir, #133)
334
- `tar`: support pax Global Extended Headers. This adds state to tar parsing.
435
(#119, #120, @MisterDA)
536
- Support GNU LongLink and LongName. Prior, `Tar.HeaderWriter` and
@@ -19,11 +50,6 @@
1950
- Remove debug printers (#127)
2051
- Finally remove the unused camlp-streams dependency (#127)
2152

22-
## v2.6.0 (2023-09-07)
23-
24-
- Add eio backend for tar in tar-eio (@patricoferris, review by @talex5, @reynir, #132)
25-
- Also apply backwards compatibility fix when GNU LongName is used. The compatibility fix is unfortunately also applied for unknown-to-ocaml-tar link indicators (reported by @gravicappa in #129, @reynir, #133)
26-
2753
## v2.5.1 (2023-06-20)
2854

2955
- Treat headers with link indicator '0' or '\000' (`Normal`) as directories for backward compatibility (reported in #129, fix by @reynir)

tar-unix.opam

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ bug-reports: "https://github.com/mirage/ocaml-tar/issues"
2222
depends: [
2323
"dune" {>= "2.9"}
2424
"ocaml" {>= "4.08.0"}
25-
"lwt"
25+
"lwt" {>= "5.7.0"}
2626
"tar" {= version}
2727
"odoc" {with-doc}
2828
]

0 commit comments

Comments
 (0)