What's Changed
- Tar archives that were compressed wrongly or refused now work: headers with 7-digit checksums (
git archive, GitHub source tarballs), members of 4 GiB and more (64-bit, base-256 and pax sizes), GNU sparse entries, and files of 2 GiB and more on Windows and 32-bit systems. - Frames: pax, GNU long-name and other metadata entries stay in the frame of their file;
-Sholds for end-of-archive blocks and no longer loses the end of archives without them; frames from stdin carry their content size; frames stay below 2 GiB, so the seek table is never dropped.-jworks in tar mode. - Safer runs: a failed or interrupted run removes its partial output,
-ocannot name the input, the overwrite prompt is asked only on a terminal, write errors at the end of a run are reported, compressed data goes to a terminal only with-o -, and a closed stderr no longer puts messages into the archive. A tar that ends with a partial block is refused instead of being cut. - Inputs:
.tarand.gtarselect tar mode in any case, character devices and/procfiles are streamed instead of refused, and-s/-Saccept sizes of 2 GiB and more written in bytes. On Windows, file names outside the ANSI code page work and the help text prints correctly. - Tests, fuzzing and CI: 107 tests, also run natively on Windows and under Wine; sanitizer errors fail the tests; the fuzzers check the round trip; the published Windows executable is tested before it is uploaded.
- Packaging: the APKBUILD builds on current Alpine and runs the tests, the PKGBUILD uses the SPDX license identifier, the AUR action is updated, and the packages are stripped by CPack.
Full Changelog: v1.2.5...v1.3.0