NEWS | NEWS | |||
---|---|---|---|---|
XZ Utils Release Notes | XZ Utils Release Notes | |||
====================== | ====================== | |||
5.2.0 (2014-12-21) | ||||
Since 5.1.4beta: | ||||
* All fixes from 5.0.8 | ||||
* liblzma: Fixed lzma_stream_encoder_mt_memusage() when a preset | ||||
was used. | ||||
* xzdiff: If mktemp isn't installed, mkdir will be used as | ||||
a fallback to create a temporary directory. Installing mktemp | ||||
is still recommended. | ||||
* Updated French, German, Italian, Polish, and Vietnamese | ||||
translations. | ||||
Summary of fixes and new features added in the 5.1.x development | ||||
releases: | ||||
* liblzma: | ||||
- Added support for multi-threaded compression. See the | ||||
lzma_mt structure, lzma_stream_encoder_mt(), and | ||||
lzma_stream_encoder_mt_memusage() in <lzma/container.h>, | ||||
lzma_get_progress() in <lzma/base.h>, and lzma_cputhreads() | ||||
in <lzma/hardware.h> for details. | ||||
- Made the uses of lzma_allocator const correct. | ||||
- Added lzma_block_uncomp_encode() to create uncompressed | ||||
.xz Blocks using LZMA2 uncompressed chunks. | ||||
- Added support for LZMA_IGNORE_CHECK. | ||||
- A few speed optimizations were made. | ||||
- Added support for symbol versioning. It is enabled by default | ||||
on GNU/Linux, other GNU-based systems, and FreeBSD. | ||||
- liblzma (not the whole XZ Utils) should now be buildable | ||||
with MSVC 2013 update 2 or later using windows/config.h. | ||||
* xz: | ||||
- Fixed a race condition in the signal handling. It was | ||||
possible that e.g. the first SIGINT didn't make xz exit | ||||
if reading or writing blocked and one had bad luck. The fix | ||||
is non-trivial, so as of writing it is unknown if it will be | ||||
backported to the v5.0 branch. | ||||
- Multi-threaded decompression can be enabled with the | ||||
--threads (-T) option. | ||||
- New command line options in xz: --single-stream, | ||||
--block-size=SIZE, --block-list=SIZES, | ||||
--flush-timeout=TIMEOUT, and --ignore-check. | ||||
- xz -lvv now shows the minimum xz version that is required to | ||||
decompress the file. Currently it is 5.0.0 for all supported | ||||
.xz files except files with empty LZMA2 streams require 5.0.2. | ||||
* xzdiff and xzgrep now support .lzo files if lzop is installed. | ||||
The .tzo suffix is also recognized as a shorthand for .tar.lzo. | ||||
5.1.4beta (2014-09-14) | ||||
* All fixes from 5.0.6 | ||||
* liblzma: Fixed the use of presets in threaded encoder | ||||
initialization. | ||||
* xz --block-list and --block-size can now be used together | ||||
in single-threaded mode. Previously the combination only | ||||
worked in multi-threaded mode. | ||||
* Added support for LZMA_IGNORE_CHECK to liblzma and made it | ||||
available in xz as --ignore-check. | ||||
* liblzma speed optimizations: | ||||
- Initialization of a new LZMA1 or LZMA2 encoder has been | ||||
optimized. (The speed of reinitializing an already-allocated | ||||
encoder isn't affected.) This helps when compressing many | ||||
small buffers with lzma_stream_buffer_encode() and other | ||||
similar situations where an already-allocated encoder state | ||||
isn't reused. This speed-up is visible in xz too if one | ||||
compresses many small files one at a time instead running xz | ||||
once and giving all files as command-line arguments. | ||||
- Buffer comparisons are now much faster when unaligned access | ||||
is allowed (configured with --enable-unaligned-access). This | ||||
speeds up encoding significantly. There is arch-specific code | ||||
for 32-bit and 64-bit x86 (32-bit needs SSE2 for the best | ||||
results and there's no run-time CPU detection for now). | ||||
For other archs there is only generic code which probably | ||||
isn't as optimal as arch-specific solutions could be. | ||||
- A few speed optimizations were made to the SHA-256 code. | ||||
(Note that the builtin SHA-256 code isn't used on all | ||||
operating systems.) | ||||
* liblzma can now be built with MSVC 2013 update 2 or later | ||||
using windows/config.h. | ||||
* Vietnamese translation was added. | ||||
5.1.3alpha (2013-10-26) | ||||
* All fixes from 5.0.5 | ||||
* liblzma: | ||||
- Fixed a deadlock in the threaded encoder. | ||||
- Made the uses of lzma_allocator const correct. | ||||
- Added lzma_block_uncomp_encode() to create uncompressed | ||||
.xz Blocks using LZMA2 uncompressed chunks. | ||||
- Added support for native threads on Windows and the ability | ||||
to detect the number of CPU cores. | ||||
* xz: | ||||
- Fixed a race condition in the signal handling. It was | ||||
possible that e.g. the first SIGINT didn't make xz exit | ||||
if reading or writing blocked and one had bad luck. The fix | ||||
is non-trivial, so as of writing it is unknown if it will be | ||||
backported to the v5.0 branch. | ||||
- Made the progress indicator work correctly in threaded mode. | ||||
- Threaded encoder now works together with --block-list=SIZES. | ||||
- Added preliminary support for --flush-timeout=TIMEOUT. | ||||
It can be useful for (somewhat) real-time streaming. For | ||||
now the decompression side has to be done with something | ||||
else than the xz tool due to how xz does buffering, but this | ||||
should be fixed. | ||||
5.1.2alpha (2012-07-04) | 5.1.2alpha (2012-07-04) | |||
* All fixes from 5.0.3 and 5.0.4 | * All fixes from 5.0.3 and 5.0.4 | |||
* liblzma: | * liblzma: | |||
- Fixed a deadlock and an invalid free() in the threaded encoder. | - Fixed a deadlock and an invalid free() in the threaded encoder. | |||
- Added support for symbol versioning. It is enabled by default | - Added support for symbol versioning. It is enabled by default | |||
on GNU/Linux, other GNU-based systems, and FreeBSD. | on GNU/Linux, other GNU-based systems, and FreeBSD. | |||
skipping to change at line 87 | skipping to change at line 227 | |||
to reduce the memory usage. | to reduce the memory usage. | |||
* Added the options --single-stream and --block-size=SIZE to xz. | * Added the options --single-stream and --block-size=SIZE to xz. | |||
* xzdiff and xzgrep now support .lzo files if lzop is installed. | * xzdiff and xzgrep now support .lzo files if lzop is installed. | |||
The .tzo suffix is also recognized as a shorthand for .tar.lzo. | The .tzo suffix is also recognized as a shorthand for .tar.lzo. | |||
* Support for short 8.3 filenames under DOS was added to xz. It is | * Support for short 8.3 filenames under DOS was added to xz. It is | |||
experimental and may change before it gets into a stable release. | experimental and may change before it gets into a stable release. | |||
5.0.8 (2014-12-21) | ||||
* Fixed an old bug in xzgrep that affected OpenBSD and probably | ||||
a few other operating systems too. | ||||
* Updated French and German translations. | ||||
* Added support for detecting the amount of RAM on AmigaOS/AROS. | ||||
* Minor build system updates. | ||||
5.0.7 (2014-09-20) | ||||
* Fix regressions introduced in 5.0.6: | ||||
- Fix building with non-GNU make. | ||||
- Fix invalid Libs.private value in liblzma.pc which broke | ||||
static linking against liblzma if the linker flags were | ||||
taken from pkg-config. | ||||
5.0.6 (2014-09-14) | ||||
* xzgrep now exits with status 0 if at least one file matched. | ||||
* A few minor portability and build system fixes | ||||
5.0.5 (2013-06-30) | ||||
* lzmadec and liblzma's lzma_alone_decoder(): Support decompressing | ||||
.lzma files that have less common settings in the headers | ||||
(dictionary size other than 2^n or 2^n + 2^(n-1), or uncompressed | ||||
size greater than 256 GiB). The limitations existed to avoid false | ||||
positives when detecting .lzma files. The lc + lp <= 4 limitation | ||||
still remains since liblzma's LZMA decoder has that limitation. | ||||
NOTE: xz's .lzma support or liblzma's lzma_auto_decoder() are NOT | ||||
affected by this change. They still consider uncommon .lzma headers | ||||
as not being in the .lzma format. Changing this would give way too | ||||
many false positives. | ||||
* xz: | ||||
- Interaction of preset and custom filter chain options was | ||||
made less illogical. This affects only certain less typical | ||||
uses cases so few people are expected to notice this change. | ||||
Now when a custom filter chain option (e.g. --lzma2) is | ||||
specified, all preset options (-0 ... -9, -e) earlier are on | ||||
the command line are completely forgotten. Similarly, when | ||||
a preset option is specified, all custom filter chain options | ||||
earlier on the command line are completely forgotten. | ||||
Example 1: "xz -9 --lzma2=preset=5 -e" is equivalent to "xz -e" | ||||
which is equivalent to "xz -6e". Earlier -e didn't put xz back | ||||
into preset mode and thus the example command was equivalent | ||||
to "xz --lzma2=preset=5". | ||||
Example 2: "xz -9e --lzma2=preset=5 -7" is equivalent to | ||||
"xz -7". Earlier a custom filter chain option didn't make | ||||
xz forget the -e option so the example was equivalent to | ||||
"xz -7e". | ||||
- Fixes and improvements to error handling. | ||||
- Various fixes to the man page. | ||||
* xzless: Fixed to work with "less" versions 448 and later. | ||||
* xzgrep: Made -h an alias for --no-filename. | ||||
* Include the previously missing debug/translation.bash which can | ||||
be useful for translators. | ||||
* Include a build script for Mac OS X. This has been in the Git | ||||
repository since 2010 but due to a mistake in Makefile.am the | ||||
script hasn't been included in a release tarball before. | ||||
5.0.4 (2012-06-22) | 5.0.4 (2012-06-22) | |||
* liblzma: | * liblzma: | |||
- Fix lzma_index_init(). It could crash if memory allocation | - Fix lzma_index_init(). It could crash if memory allocation | |||
failed. | failed. | |||
- Fix the possibility of an incorrect LZMA_BUF_ERROR when a BCJ | - Fix the possibility of an incorrect LZMA_BUF_ERROR when a BCJ | |||
filter is used and the application only provides exactly as | filter is used and the application only provides exactly as | |||
much output space as is the uncompressed size of the file. | much output space as is the uncompressed size of the file. | |||
End of changes. 2 change blocks. | ||||
0 lines changed or deleted | 218 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |