| OLD | NEW | 
| (Empty) |  | 
 |    1  | 
 |    2 XZ Utils Release Notes | 
 |    3 ====================== | 
 |    4  | 
 |    5 5.0.3 (2011-05-21) | 
 |    6  | 
 |    7     * liblzma fixes: | 
 |    8  | 
 |    9         - A memory leak was fixed. | 
 |   10  | 
 |   11         - lzma_stream_buffer_encode() no longer creates an empty .xz | 
 |   12           Block if encoding an empty buffer. Such an empty Block with | 
 |   13           LZMA2 data would trigger a bug in 5.0.1 and older (see the | 
 |   14           first bullet point in 5.0.2 notes). When releasing 5.0.2, | 
 |   15           I thought that no encoder creates this kind of files but | 
 |   16           I was wrong. | 
 |   17  | 
 |   18         - Validate function arguments better in a few functions. Most | 
 |   19           importantly, specifying an unsupported integrity check to | 
 |   20           lzma_stream_buffer_encode() no longer creates a corrupt .xz | 
 |   21           file. Probably no application tries to do that, so this | 
 |   22           shouldn't be a big problem in practice. | 
 |   23  | 
 |   24         - Document that lzma_block_buffer_encode(), | 
 |   25           lzma_easy_buffer_encode(), lzma_stream_encoder(), and | 
 |   26           lzma_stream_buffer_encode() may return LZMA_UNSUPPORTED_CHECK. | 
 |   27  | 
 |   28         - The return values of the _memusage() functions are now | 
 |   29           documented better. | 
 |   30  | 
 |   31     * Fix command name detection in xzgrep. xzegrep and xzfgrep now | 
 |   32       correctly use egrep and fgrep instead of grep. | 
 |   33  | 
 |   34     * French translation was added. | 
 |   35  | 
 |   36  | 
 |   37 5.0.2 (2011-04-01) | 
 |   38  | 
 |   39     * LZMA2 decompressor now correctly accepts LZMA2 streams with no | 
 |   40       uncompressed data. Previously it considered them corrupt. The | 
 |   41       bug can affect applications that use raw LZMA2 streams. It is | 
 |   42       very unlikely to affect .xz files because no compressor creates | 
 |   43       .xz files with empty LZMA2 streams. (Empty .xz files are a | 
 |   44       different thing than empty LZMA2 streams.) | 
 |   45  | 
 |   46     * "xz --suffix=.foo filename.foo" now refuses to compress the | 
 |   47       file due to it already having the suffix .foo. It was already | 
 |   48       documented on the man page, but the code lacked the test. | 
 |   49  | 
 |   50     * "xzgrep -l foo bar.xz" works now. | 
 |   51  | 
 |   52     * Polish translation was added. | 
 |   53  | 
 |   54  | 
 |   55 5.0.1 (2011-01-29) | 
 |   56  | 
 |   57     * xz --force now (de)compresses files that have setuid, setgid, | 
 |   58       or sticky bit set and files that have multiple hard links. | 
 |   59       The man page had it documented this way already, but the code | 
 |   60       had a bug. | 
 |   61  | 
 |   62     * gzip and bzip2 support in xzdiff was fixed. | 
 |   63  | 
 |   64     * Portability fixes | 
 |   65  | 
 |   66     * Minor fix to Czech translation | 
 |   67  | 
 |   68  | 
 |   69 5.0.0 (2010-10-23) | 
 |   70  | 
 |   71     Only the most important changes compared to 4.999.9beta are listed | 
 |   72     here. One change is especially important: | 
 |   73  | 
 |   74       * The memory usage limit is now disabled by default. Some scripts | 
 |   75         written before this change may have used --memory=max on xz command | 
 |   76         line or in XZ_OPT. THESE USES OF --memory=max SHOULD BE REMOVED | 
 |   77         NOW, because they interfere with user's ability to set the memory | 
 |   78         usage limit himself. If user-specified limit causes problems to | 
 |   79         your script, blame the user. | 
 |   80  | 
 |   81     Other significant changes: | 
 |   82  | 
 |   83       * Added support for XZ_DEFAULTS environment variable. This variable | 
 |   84         allows users to set default options for xz, e.g. default memory | 
 |   85         usage limit or default compression level. Scripts that use xz | 
 |   86         must never set or unset XZ_DEFAULTS. Scripts should use XZ_OPT | 
 |   87         instead if they need a way to pass options to xz via an | 
 |   88         environment variable. | 
 |   89  | 
 |   90       * The compression settings associated with the preset levels | 
 |   91         -0 ... -9 have been changed. --extreme was changed a little too. | 
 |   92         It is now less likely to make compression worse, but with some | 
 |   93         files the new --extreme may compress slightly worse than the old | 
 |   94         --extreme. | 
 |   95  | 
 |   96       * If a preset level (-0 ... -9) is specified after a custom filter | 
 |   97         chain options have been used (e.g. --lzma2), the custom filter | 
 |   98         chain will be forgotten. Earlier the preset options were | 
 |   99         completely ignored after custom filter chain options had been | 
 |  100         seen. | 
 |  101  | 
 |  102       * xz will create sparse files when decompressing if the uncompressed | 
 |  103         data contains long sequences of binary zeros. This is done even | 
 |  104         when writing to standard output that is connected to a regular | 
 |  105         file and certain additional conditions are met to make it safe. | 
 |  106  | 
 |  107       * Support for "xz --list" was added. Combine with --verbose or | 
 |  108         --verbose --verbose (-vv) for detailed output. | 
 |  109  | 
 |  110       * I had hoped that liblzma API would have been stable after | 
 |  111         4.999.9beta, but there have been a couple of changes in the | 
 |  112         advanced features, which don't affect most applications: | 
 |  113  | 
 |  114           - Index handling code was revised. If you were using the old | 
 |  115             API, you will get a compiler error (so it's easy to notice). | 
 |  116  | 
 |  117           - A subtle but important change was made to the Block handling | 
 |  118             API. lzma_block.version has to be initialized even for | 
 |  119             lzma_block_header_decode(). Code that doesn't do it will work | 
 |  120             for now, but might break in the future, which makes this API | 
 |  121             change easy to miss. | 
 |  122  | 
 |  123       * The major soname has been bumped to 5.0.0. liblzma API and ABI | 
 |  124         are now stable, so the need to recompile programs linking against | 
 |  125         liblzma shouldn't arise soon. | 
 |  126  | 
| OLD | NEW |