:: bzip3 / NEWS 5.8 KB raw

1
2
v1.1.2:
3
* fix memory UB in libsais
4
* restructure src/cm.c
5
* block size check in src/libbz3.c
6
* fix shift UB in lzp
7
* -h/-v CLI switches
8
* change maximum block size to ~512M
9
10
v1.1.3:
11
* fix a serious stdin/stdout CRLF bug on Windows that corrupted the data.
12
* imply `-c` when a stream isn't opened thus preventing potential UB.
13
* bzip3 file format documentation.
14
* increase the maximum amount of parallel workers to 24.
15
* prevent accidentally overwriting output; add the `-f` command-line flag.
16
17
v1.1.4:
18
* increase the maximum allowed amount of parallel workers to 64.
19
* clean up the cm code
20
* set up pkg-config support
21
* CLI robustness improvements
22
23
v1.1.5:
24
* rework the argument parsing schema to resemble UNIX utilities more.
25
* make compression the default action
26
* replace -v with -V for version information
27
* manual pages
28
* bz3cat, bz3more, bz3less, bz3grep, unbzip3 utilities
29
* disable architecture-specific optimisations in github release builds
30
31
v1.1.6:
32
* fixed tickets: #53, #50, #45, #46 (portability issues & a verbatim block
33
  decompression diagnostic issue)
34
* package unbzip3 manpage
35
* flockfile/funlockfile calls for WIN32
36
37
v1.1.7:
38
* rename unbzip3 as bunzip3 for bzip2/gzip/lzip/... compatibility.
39
* high level api for libbzip3: `bz3_bound`, `bz3_compress` and `bz3_decompress`.
40
* more robust decompression; safety checks for the RLE and LZP steps.
41
* documentation for the frame format.
42
* examples of bzip3 API usage, AFL fuzzing instructions.
43
* `bz3_version` API function
44
* more robust I/O handling and fsync (linux only) calls to ensure a correct I/O transaction.
45
46
v1.1.8:
47
* add the Apache-2.0 license of `libsais`.
48
49
v1.2.0:
50
* alias `-z` to `-e` (compatibility with bzip2).
51
* version bzip3 library.
52
* dynamically link library to the tool (eliminating the libbz3.c duplication in tool and library).
53
* add verbose output (via `-v`).
54
* add version information to the manual pages.
55
* set `rpath` in the Makefile to solve an issue with /usr/local/lib not being present in the dynamic linker search path.
56
57
v1.2.1:
58
* fix a LZP decompression bug when a match occurred before block boundary.
59
* don't set rpath in the Makefile
60
* fix build warnings from -v
61
* add `most` support
62
* windows binary mode fix
63
64
v1.2.2:
65
* safety fixes for the LZP pass.
66
* add the `-k` compatibility flag.
67
* use `env` to detect the shell in bzip3 utility scripts
68
* update libtool to v2.4.7
69
70
v1.2.3:
71
* fix an important regression introduced in pull request #55 regarding I/O in main.c
72
* slightly enlargen the SAIS buffer beyond the documented recommended size to avoid some memory errors in libsais
73
* properly handle a scenario where the individual block original size is larger than the block size declared in the file header
74
* further security fixes: strict check for size_src overflow of badly bounded b1, store mode: checking for truncation
75
  mRLE: decoding bounds, bz3_bound in bz3_decompress
76
77
v1.3.0:
78
* resolve alignment issues on SPARC/s390x.
79
* fix the security issues arising from libsais.
80
* due to these changes, updating is strongly encouraged.
81
82
v1.3.1:
83
* Verbose mode in the tool now prints the extra statistics also during testing, not just encoding or decoding.
84
* Update the CI pipeline to Debian Bullseye.
85
* Fix a minor issue with side effects in RLE decoding.
86
* Explicitly disable `-march=native` for releases.
87
* Fix a bug in the tool reported by Adam Borowski regarding -t/-d input buffer checks.
88
* Fix an issue with the current input offset not being taken into account in bz3_compress.
89
90
v1.3.2:
91
* Add the `-r` option ("recovery"). If a file fails to decompress fully (e.g. due to a CRC error), ignore it and write the
92
  file regardless.
93
* Add preliminary CMake support.
94
* Fix the include guard macro name to work with pedantic compilers.
95
* Fix the shift direction in the crc32 check function. Because of a programming mistake, v1.3.0 and v1.3.1
96
  introduced a breaking change to the CRC calculation code. The change has been reverted in this release.
97
  While the archives created with these versions of bzip3 will fail to regularly decompress due to a checksum
98
  error, using the recovery option as `bzip3 -rd` to decompress will
99
  restore their original contents.
100
101
v1.4.0:
102
* Wrap up all the changes from v1.3; bump up the minor version release.
103
* Various changes for CMake; bundle CMake files with the autotools dist tarball.
104
* Support for linking with C++.
105
106
v1.5.0:
107
* Add `--rm` option that removes the original files after successful operation.
108
* `bz3grep`: display the correct program name on invalid invocation.
109
* Improve the docstrings regarding the use of `bz3_bound` with block decompression.
110
* Tighter LZP/RLE bounds in the decoder => slightly improved compression with no
111
  observable format change.
112
* Improve the documentation and available tooling for fuzzing.
113
* Rewritten the file format documentation.
114
* Add the `bz3_min_memory_needed` API.
115
* BREAKING: Change the signature of `bz3_decode_block` and `bz3_encode_block`.
116
  Refer to the documentation for the new usage. This version is not ABI-compatible
117
  with the previous versions of the package.
118
* Fix: the file `$dir.bz3` being created when invoked as `bzip3 -e $dir` where
119
  `$dir` is a directory.
120
121
v1.5.1:
122
* Replace getopt-based parsing with `yarg`.
123
* Change the soname to indicate a difference in the ABI.
124
125
v1.5.2:
126
* batch mode: fall back to stdin input with no auxiliary arguments.
127
* bz3_compress (API): better bound estimation
128
* yarg: oom handling; stop relying on (GNU) asprintf, use the baked in variant.
129
* pkg-config: Add License variable
130
* bz3_decompress (API): fix a memory leak
131
132
v1.5.3:
133
* fix oom handling in main.c and yarg.h.
134
* cmake build fixes for non-unix platforms:
135
  * disable pthreads by default on windows & !mingw
136
  * fix handling of dlls on windows.
137
  * add missing find_dependency call to ensure Threads::threads is present in downstream find_package callers.
138
* the project moved to https://github.com/iczelia/bzip3.
tab: 248 wrap: offon