November 2nd, 2011· Fixed bug - deadlock due to unsynchronized broadcasts (bug #876686)
· Prevent deletion of input files on error (bug #874543)
· Document how to compress/decompress from standard input (bug #820525)
· Added more detailed kernel error messages (bug #874605)
· Fixes for error handling in muliti-file processing (bug #883782)
July 19th, 2011· This version fixes excessive output permissions while compress/decompress is in progress.
· It now emulates the same behaviour as bzip2.
April 27th, 2011· Fixed hang on decompress with --ignore-trailing-garbage=1 when producer is interrupted on trailing garbage (bug #762464)
· Added example to help for decompression piped to tar (bug #746806)
· Fixed typo in Trailing Garbage printed message (bug #746799)
March 29th, 2011· Fixed hang on decompress with --ignore-trailing-garbage=1 and higher numCPU (e.g. > 2) (bug #740502)
· Print trailing garbage errors even when in quiet mode (bug #743635)
· Default extension on decompress of .tbz2 changed to .tar for bzip2 compatibility (bug #743639)
February 21st, 2011· Fix directdecompress segfault when destination file can't be opened (e.g. read-only) (bug #717852)
· Implemented --ignore-trailing-garbage feature (bug #594868)
· Fixed hang on decompress of some truncated archives (bug #590225)
· Pulled an error check out of normal logic block for clarity
· Debug print added after BZ2_bzDecompress to track it's return code.
· A debug print fixed in queue::remove
· Increased max memory usage limit from 1GB to 2GB
· If no -m switch given on command line, default max memory limit will now automatically increase from 100 MB to minimum amount of memory required to support the number of CPUs requested
· Improved performance when output buffer is full
· Fixed bug which caused hang while decompressing prematurely truncated bzip2 stream
· Consumer_decompress throttling modified to prevent potential deadlock/infinite loop in certain situations (Thanks to Laszlo Ersek for finding and helping track down the cause of this bug)
· Fixed deadlock bug and performance issue when consumer working with long bzip2 sequences (Thanks to Tanguy Fautre for finding)
· Fixed error message for block size range (max size was wrong)
· Moved #include from pbzip2.cpp to pbzip2.h to fix OS/2 compiler issue
March 15th, 2010· Added support for multi-threaded decompression using STDIN/pipes
· Added code to support throttling compression to prevent memory exhaustion with slow output pipe
· Added -m switch to specify amount of max memory usage before throttling starts (default 100MB)
· Fixed bug that did not allow command line parameters to be used when compressing data from stdin
· Added long options to man page and -h output
· Added --loadavg, --read long options
· Added support for CPU detection on Win32
· Major improvements to protection of shared variables, error and signal handling, program termination
· Added -S switch for thread stack size customization on Solaris (needs USE_STACKSIZE_CUSTOMIZATION defined when compiling)
· Fixed command line parsing bug for -b, -p, -m switches
· Fixed infinite loop on when fileWriter fails to create output file at start
· Fixed bug that deleted input filename (with .bz2 extension for compression and without .bz2 extension for decompression) when a user interrupts process with CTRL-C while outputting to STDOUT
· Fixed bug where 0 byte files were not processed properly when data input from STDIN
· Ignores fwrite return and passes chown errors in writeFileMetaData if effective uid root
· OutputBuffer usage redesigned as fixed-size circular buffer
· Lots of minor bugs fixed (see AUTHORS or pbzip2.cpp for full details)
· Special thanks to Javor Nikolov for providing the majority of contributions to this release and a significant amount of testing
January 12th, 2009· This release properly complains about trying to read or write compressed data to the terminal, and exits.
· It further fixes the CPU detection crash, and the Makefile has been updated to force deletion when cleaning.
December 22nd, 2008· Support was added for using pbzip2 with tar and for all remaining bzip2 command line options, so pbzip2 can be used as a drop-in replacement for bzip2.
· A bug was fixed that would cause pbzip2 to crash if detection of the number of processors failed.
· Compiling with uclibc is now supported.
October 31st, 2008· The ability to compress, decompress, and test data using stdin and pipes is now supported.
· Support was also added to directly decompress files without using threads when files are small, the system only has 1 CPU, or if the .bz2 file contains 1 bzip2 stream.
· This version can now compress 0 byte files like bzip2.
· Support for pbzcat symlink to automatically specify a decompression mode to stdout, just like bzcat, is now included.