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.