All releases tagged Major feature enhancements


Release Notes: In this release, lbzip2 writes a single compressed stream per bz2 file instead of multiple concatenated streams. It doesn't decompress streams embedded within trailing garbage. It detects and rejects more kinds of invalid bz2 files. Relying on the independent bzip2 stack written by the new maintainer, lbzip2-2.0 features significantly improved (de)compression speed and robustness. In verbose mode, the compression ratio and progress information is displayed for each file. Decompression failures result in more detailed messages now. Lbzip2-2.x is licensed under the GPL v3.0 or any later version.


Release Notes: Sanity checks were added to both decompressors. Input FILE operands are now removed. The --keep and --force options were added. Owner, group, permission bits, access time, modification time are copied to regular output files. Logging was cleaned up and internally categorized into INFO, WARNING, and FATAL levels. A separate exit status was introduced for the case when a warning message was printed. The decompressor robustness tests were re-executed. The author has finally replaced bzip2 with lbzip2 on his system.


Release Notes: Features like settable compression block size and working with file operands were implemented. lbzip2 can now be considered a multi-threaded, command-line compatible replacement for bzip2 in most situations. Lbzip2 never deletes or overwrites files, however. The workaround for an earlier GNU getconf bug was extended to EGLIBC in the large file support build script. The development status was degraded to beta.


Release Notes: The decompressor was redesigned: all CPU-bound operations were moved into the worker threads, so that now, besides the muxer, the splitter is purely I/O-bound too. Lbzip2 supports tracing its memory allocation with the new "-t" option. Both the compressor and decompressor were retested.


Release Notes: Decompression was extracted from the split-work-multiplex skeleton into a separate module. Compression was added. The project has been renamed to lbzip2. The reordering of processed sub-blocks happens entirely in the multiplexer now, changing the time complexity from O(log n) to O(1) inside the critical section among the workers and the muxer. The command line conforms to utility syntax guidelines. Lbzip2 queries the number of online processors if sysconf() supports it. Block serial numbers have fixed 64-bit width. The README file was updated. The development status has been advanced to Beta.