| 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/ | ||||