Release Notes: Fix compression from STDIN not working. Fix compression summary from STDIN not working. Prevent failure when lzma encounters incompressible block.
Release Notes: Threading of streams is overlapped, speeding up compression of large files. A problem in which the compression level passed to the lzma back end was too high was fixed. Lower compression levels are tried when lzma fails to compress. Failures to decompress due to using too many threads on decompression were fixed. Work when parallel work in threads uses too much RAM was serialized. Memory testing and rzip windows were rationalized, allowing larger back end compression windows across 32 and 64 bits. Spreading out thread spawning was reverted, as it slowed compression. Some faulty callocs were fixed. Threads and semaphores are closed down cleanly.
Release Notes: A divide-by-zero error was fixed when a file is smaller than the page size and compressed with -U. uclibc doesn't return valid values via sysconf for RAM, so this is worked around by reading /proc if possible. More 32-bit workarounds were made. Threads now spawn at regular intervals along chunk size, thus speeding up compression and decompression. Decompression threading was changed to have a group of threads for each stream (2 in total), thus making mulithreaded decompression more robust. bzip2 is used as a fallback compression when lzma fails due to internal memory errors as may happen on 32-bit systems.
Release Notes: The program now copes when there are multiple stream 0 entries per chunk, which would cause a failure on massive file decompression. A mistake in which lzma windows were being set far too small at all times was fixed. The nice level of the main process was decreased compared to back end threads as it tends to be the rate limiting step.
Release Notes: Sane defaults are now chosen for memory usage because Linux ludicriously overcommits. A sliding mmap is used for compression windows greater than 2/3 RAM. Testing of allocatable RAM was consolidated and simplified. Minor tweaks were made to output. The size of the high buffer in sliding mmap was rounded up to one page. A little more was squeezed out of 32-bit compression windows. A problem with sliding mmap from not working from the 2nd pass onwards, causing a slowdown of death, was fixed.
Release Notes: Massive multithreading was implemented for decompression, making slower algorithms scale dramatically with number of CPUs, and completing huge scalability improvements on both compression and decompression. The output of zpaq consuming lots of CPU time and trampling on itself in the console was fixed. The control window is now ensured to be set appropriately on 32 bit. Numerous minor output improvements were made. The docs and benchmarks were updated.
Release Notes: A massive multithreading implementation allows a huge speed-up on SMP machines during compression. The -p option was added to override the number of processors to use. The -P option was deprecated. The size of all compression windows was increased to minimize the number of headers written. Screen output was altered to suit threading.
Release Notes: This release changes the versioning scheme back to one that distributions prefer.
Release Notes: The Darwin build was fixed again. Cases of extreme RAM usage on 32-bit failing was fixed by limiting zpaq to 600MB windows as well. Page size is checked if possible instead of assuming it's always 4k. The progress output was improved. Failure to chmod and failure to set nice level were changed to warnings only. A distinction between stderr messages and output was standardized.
Release Notes: This release implements unlimited sized compression windows not constrained by RAM through a "sliding mmap" design. It modifies the default compression windows to find the largest possible safely addressable RAM instead of guessing. These changes both have major compression improvements on files larger than RAM. Darwin builds have been fixed. Improved screen output. More checks and error messages. Numerous fixes, micro-optimisations, and cleanups. Updated docs and benchmarks.