lbzip2 logo

Release notes

Release notes

What’s new in lbzip2 2.5

lbzip2 2.5 was released on 2014-03-26. It introduced the following user-visible changes:

Bug fixes

Version 2.5 fixes a compressor bug introduced in lbzip2 2.4. This bug manifests in assertion failure or deadlock when compressing data.

This version also fixes a performance bug which prevented sequential compressor from fully utilizing all available threads, which resulted in very poor performance.

What’s new in lbzip2 2.4

lbzip2 2.4 was released on 2014-03-16. It introduced the following user-visible changes:

Bug fixes

Version 2.4 fixes a bug in compression code which could lead to undefined behavior (usually segmentation fault) when compressing certain kinds highly-redundant data.

A decompression bug in bz2 header parsing code was fixed. This bug could cause some valid compressed files to be rejected with “CRC mismatch” error.

New features

Version 2.4 of lbzip2 introduces sequential mode of operation, which is not used by default but can be activated with a command-line switch. This new mode usually improves compression ratio and decreases CPU usage (“user time”) at cost of degraded scalability.

What’s new in lbzip2 2.3

lbzip2 2.3 was released on 2014-09-22. It introduced the following user-visible changes:

Bug fixes

Version 2.3 fixes an assertion failure bug that could cause core dumps when compressing some kind of data.

A bug which prevented symbolic links to be opened in some situations (when compressing or decompressing files to stdout or when discarding output) was fixed.

Version 2.3 fixes a bug that caused SIGXFSZ to be handled incorrectly on 32-bit systems.

What’s new in lbzip2 2.2

lbzip2 2.2 was released on 2012-08-06. It introduced the following user-visible changes:

Bug fixes

  • In version 2.2 decompressor was made more bzip2-compatible. All valid bzip2 files should now be properly decompressed by lbzip2.

  • Memory allocation was reduced significantly. Previous versions could allocate large amounts of memory during decompression and testing of highly compressed files.

  • Version 2.2 fixes a bug that caused some legitimate bz2 files to be rejected during decompression with a CRC error message.

New features

  • Compression performance is increased significantly by inclusion of new block-sorting code using divsufsort algorithm.

Abandoned features

  • The new block-sorting algorithm made --exponential command-line switch irrelevant. The switch is retained for compatibility with bzip2 and older versions of lbzip2, but otherwise has no effect.

  • File write errors caused by broken pipes or exceeded file size limits are no longer reported to standard error.

What’s new in lbzip2 2.1

lbzip2 2.1 was released on 2011-11-23. It introduced the following user-visible changes:

Bug fixes

  • Version 2.1 fixes a use-after-free security vulnerability in decompressor code responsible for displaying progress information.

What’s new in lbzip2 2.0

lbzip2 2.1 was released on 2011-10-31. It introduced the following user-visible changes:

Bug fixes

  • Now lbzip2 creates one compressed stream per bzip2 file instead of multiple concatenated streams.

  • lbzip2 now doesn’t decompress streams embedded within trailing garbage after initial sequence of streams.

  • Now lbzip2 detects and rejects more kinds of invalid bzip2 files (files with invalid stream CRCs, files with blocks larger than stated in stream headers and some others).

New features

  • Both compression and decompression speed is increased significantly.

  • When invoked with -v or --verbose options lbzip2 now displays information about progress of compression or decompression, provided that stderr is connected to a terminal.

  • When invoked with -v or --verbose options lbzip2 now displays compression ratio and space savings for each compressed or decompressed file.

  • lbzip2 now supports --exponential option with the same semantics as bzip2’s one. More information in the manual.

  • Now lbzip2 displays more detailed messages on decompression failure.

Changed features

  • Help and version information is now printed to standard output instead of standard error stream.

Abandoned features

  • Support for tracing memory allocation by setting the environmental variable LBZIP2_TRACE_ALLOC was dropped.

Other

  • lbzip2 is now licensed under the terms of GPL v3.0 or any later version. Former versions used to be released under GPL v2+.

  • lbzip2 doesn’t depend on libbz2 any longer. Now it uses its own implementation of bzip2 compression and decompression algorithms.

  • Now lbzip2’s build process is managed by the GNU build system.