| |
| XZ Utils User-Visible Changes |
| ============================= |
| |
| 5.0.0 (2010-10-23) |
| |
| Only the most important changes compared to 4.999.9beta are listed |
| here. One change is especially important: |
| |
| * The memory usage limit is now disabled by default. Some scripts |
| written before this change may have used --memory=max on xz command |
| line or in XZ_OPT. THESE USES OF --memory=max SHOULD BE REMOVED |
| NOW, because they interfere with user's ability to set the memory |
| usage limit himself. If user-specified limit causes problems to |
| your script, blame the user. |
| |
| Other significant changes: |
| |
| * Added support for XZ_DEFAULTS environment variable. This variable |
| allows users to set default options for xz, e.g. default memory |
| usage limit or default compression level. Scripts that use xz |
| must never set or unset XZ_DEFAULTS. Scripts should use XZ_OPT |
| instead if they need a way to pass options to xz via an |
| environment variable. |
| |
| * The compression settings associated with the preset levels |
| -0 ... -9 have been changed. --extreme was changed a little too. |
| It is now less likely to make compression worse, but with some |
| files the new --extreme may compress slightly worse than the old |
| --extreme. |
| |
| * If a preset level (-0 ... -9) is specified after a custom filter |
| chain options have been used (e.g. --lzma2), the custom filter |
| chain will be forgotten. Earlier the preset options were |
| completely ignored after custom filter chain options had been |
| seen. |
| |
| * xz will create sparse files when decompressing if the uncompressed |
| data contains long sequences of binary zeros. This is done even |
| when writing to standard output that is connected to a regular |
| file and certain additional conditions are met to make it safe. |
| |
| * Support for "xz --list" was added. Combine with --verbose or |
| --verbose --verbose (-vv) for detailed output. |
| |
| * I had hoped that liblzma API would have been stable after |
| 4.999.9beta, but there have been a couple of changes in the |
| advanced features, which don't affect most applications: |
| |
| - Index handling code was revised. If you were using the old |
| API, you will get a compiler error (so it's easy to notice). |
| |
| - A subtle but important change was made to the Block handling |
| API. lzma_block.version has to be initialized even for |
| lzma_block_header_decode(). Code that doesn't do it will work |
| for now, but might break in the future, which makes this API |
| change easy to miss. |
| |
| * The major soname has been bumped to 5.0.0. liblzma API and ABI |
| are now stable, so the need to recompile programs linking against |
| liblzma shouldn't arise soon. |
| |