mirror of
				https://git.tukaani.org/xz.git
				synced 2025-10-31 21:43:04 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			246 lines
		
	
	
		
			9.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			246 lines
		
	
	
		
			9.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
 | |
| XZ Utils Release Notes
 | |
| ======================
 | |
| 
 | |
| 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)
 | |
| 
 | |
|     * liblzma:
 | |
| 
 | |
|         - Fix lzma_index_init(). It could crash if memory allocation
 | |
|           failed.
 | |
| 
 | |
|         - Fix the possibility of an incorrect LZMA_BUF_ERROR when a BCJ
 | |
|           filter is used and the application only provides exactly as
 | |
|           much output space as is the uncompressed size of the file.
 | |
| 
 | |
|         - Fix a bug in doc/examples_old/xz_pipe_decompress.c. It didn't
 | |
|           check if the last call to lzma_code() really returned
 | |
|           LZMA_STREAM_END, which made the program think that truncated
 | |
|           files are valid.
 | |
| 
 | |
|         - New example programs in doc/examples (old programs are now in
 | |
|           doc/examples_old). These have more comments and more detailed
 | |
|           error handling.
 | |
| 
 | |
|     * Fix "xz -lvv foo.xz". It could crash on some corrupted files.
 | |
| 
 | |
|     * Fix output of "xz --robot -lv" and "xz --robot -lvv" which
 | |
|       incorrectly printed the filename also in the "foo (x/x)" format.
 | |
| 
 | |
|     * Fix exit status of "xzdiff foo.xz bar.xz".
 | |
| 
 | |
|     * Fix exit status of "xzgrep foo binary_file".
 | |
| 
 | |
|     * Fix portability to EBCDIC systems.
 | |
| 
 | |
|     * Fix a configure issue on AIX with the XL C compiler. See INSTALL
 | |
|       for details.
 | |
| 
 | |
|     * Update French, German, Italian, and Polish translations.
 | |
| 
 | |
| 
 | |
| 5.0.3 (2011-05-21)
 | |
| 
 | |
|     * liblzma fixes:
 | |
| 
 | |
|         - A memory leak was fixed.
 | |
| 
 | |
|         - lzma_stream_buffer_encode() no longer creates an empty .xz
 | |
|           Block if encoding an empty buffer. Such an empty Block with
 | |
|           LZMA2 data would trigger a bug in 5.0.1 and older (see the
 | |
|           first bullet point in 5.0.2 notes). When releasing 5.0.2,
 | |
|           I thought that no encoder creates this kind of files but
 | |
|           I was wrong.
 | |
| 
 | |
|         - Validate function arguments better in a few functions. Most
 | |
|           importantly, specifying an unsupported integrity check to
 | |
|           lzma_stream_buffer_encode() no longer creates a corrupt .xz
 | |
|           file. Probably no application tries to do that, so this
 | |
|           shouldn't be a big problem in practice.
 | |
| 
 | |
|         - Document that lzma_block_buffer_encode(),
 | |
|           lzma_easy_buffer_encode(), lzma_stream_encoder(), and
 | |
|           lzma_stream_buffer_encode() may return LZMA_UNSUPPORTED_CHECK.
 | |
| 
 | |
|         - The return values of the _memusage() functions are now
 | |
|           documented better.
 | |
| 
 | |
|     * Fix command name detection in xzgrep. xzegrep and xzfgrep now
 | |
|       correctly use egrep and fgrep instead of grep.
 | |
| 
 | |
|     * French translation was added.
 | |
| 
 | |
| 
 | |
| 5.0.2 (2011-04-01)
 | |
| 
 | |
|     * LZMA2 decompressor now correctly accepts LZMA2 streams with no
 | |
|       uncompressed data. Previously it considered them corrupt. The
 | |
|       bug can affect applications that use raw LZMA2 streams. It is
 | |
|       very unlikely to affect .xz files because no compressor creates
 | |
|       .xz files with empty LZMA2 streams. (Empty .xz files are a
 | |
|       different thing than empty LZMA2 streams.)
 | |
| 
 | |
|     * "xz --suffix=.foo filename.foo" now refuses to compress the
 | |
|       file due to it already having the suffix .foo. It was already
 | |
|       documented on the man page, but the code lacked the test.
 | |
| 
 | |
|     * "xzgrep -l foo bar.xz" works now.
 | |
| 
 | |
|     * Polish translation was added.
 | |
| 
 | |
| 
 | |
| 5.0.1 (2011-01-29)
 | |
| 
 | |
|     * xz --force now (de)compresses files that have setuid, setgid,
 | |
|       or sticky bit set and files that have multiple hard links.
 | |
|       The man page had it documented this way already, but the code
 | |
|       had a bug.
 | |
| 
 | |
|     * gzip and bzip2 support in xzdiff was fixed.
 | |
| 
 | |
|     * Portability fixes
 | |
| 
 | |
|     * Minor fix to Czech translation
 | |
| 
 | |
| 
 | |
| 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.
 | |
| 
 |