|
1 |
| -## unreleased |
| 1 | +## v3.0.0 (2024-08-05) |
2 | 2 |
|
| 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) |
3 | 34 | - `tar`: support pax Global Extended Headers. This adds state to tar parsing.
|
4 | 35 | (#119, #120, @MisterDA)
|
5 | 36 | - Support GNU LongLink and LongName. Prior, `Tar.HeaderWriter` and
|
|
19 | 50 | - Remove debug printers (#127)
|
20 | 51 | - Finally remove the unused camlp-streams dependency (#127)
|
21 | 52 |
|
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 |
| - |
27 | 53 | ## v2.5.1 (2023-06-20)
|
28 | 54 |
|
29 | 55 | - Treat headers with link indicator '0' or '\000' (`Normal`) as directories for backward compatibility (reported in #129, fix by @reynir)
|
|
0 commit comments