| 1 | | XZ Utils Release Notes |
| 2 | | |
| 3 | | 5.6.0 (2024-02-24) |
| 4 | | |
| 5 | | This bumps the minor version of liblzma because new features were |
| 6 | | added. The API and ABI are still backward compatible with liblzma |
| 7 | | 5.4.x and 5.2.x and 5.0.x. |
| 8 | | |
| 9 | | NOTE: As described in the NEWS for 5.5.2beta, the core components |
| 10 | | are now under the BSD Zero Clause License (0BSD). |
| 11 | | |
| 12 | | Since 5.5.2beta: |
| 13 | | |
| 14 | | * liblzma: |
| 15 | | |
| 16 | | - Disabled the branchless C variant in the LZMA decoder based |
| 17 | | on the benchmark results from the community. |
| 18 | | |
| 19 | | - Disabled x86-64 inline assembly on x32 to fix the build. |
| 20 | | |
| 21 | | * Sandboxing support in xz: |
| 22 | | |
| 23 | | - Landlock is now used even when xz needs to create files. |
| 24 | | In this case the sandbox is has to be more permissive than |
| 25 | | when no files need to be created. A similar thing was |
| 26 | | already in use with pledge(2) since 5.3.4alpha. |
| 27 | | |
| 28 | | - Landlock and pledge(2) are now stricter when reading from |
| 29 | | more than one input file and only writing to standard output. |
| 30 | | |
| 31 | | - Added support for Landlock ABI version 4. |
| 32 | | * CMake: |
| 33 | | |
| 34 | | - Default to -O2 instead of -O3 with CMAKE_BUILD_TYPE=Release. |
| 35 | | -O3 is not useful for speed and makes the code larger. |
| 36 | | |
| 37 | | - Now builds lzmainfo and lzmadec. |
| 38 | | |
| 39 | | - xzdiff, xzgrep, xzless, xzmore, and their symlinks are now |
| 40 | | installed. The scripts are also tested during "make test". |
| 41 | | |
| 42 | | - Added translation support for xz, lzmainfo, and the |
| 43 | | man pages. |
| 44 | | |
| 45 | | - Applied the symbol versioning workaround for MicroBlaze that |
| 46 | | is used in the Autotools build. |
| 47 | | |
| 48 | | - The general XZ Utils and liblzma API documentation is now |
| 49 | | installed. |
| 50 | | |
| 51 | | - The CMake component names were changed a little and several |
| 52 | | were added. liblzma_Runtime and liblzma_Development are |
| 53 | | unchanged. |
| 54 | | |
| 55 | | - Minimum required CMake version is now 3.14. However, |
| 56 | | translation support is disabled with CMake versions |
| 57 | | older than 3.20. |
| 58 | | |
| 59 | | - The CMake-based build is now close to feature parity with the |
| 60 | | Autotools-based build. Most importantly a few tests aren't |
| 61 | | run yet. Testing the CMake-based build on different operating |
| 62 | | systems would be welcome now. See the comment at the top of |
| 63 | | CMakeLists.txt. |
| 64 | | |
| 65 | | * Fixed a bug in the Autotools feature test for ARM64 CRC32 |
| 66 | | instruction support for old versions of Clang. This did not |
| 67 | | affect the CMake build. |
| 68 | | * The TODO file is no longer installed as part of the |
| 69 | | documentation. The file is out of date and does not reflect |
| 70 | | the actual tasks that will be completed in the future. |
| 71 | | |
| 72 | | * Translations |
| 73 | | |
| 74 | | * Added a few tests. |
| 75 | | |
| 76 | | Summary of new features added in the 5.5.x development releases: |
| 77 | | |
| 78 | | * liblzma: |
| 79 | | |
| 80 | | - LZMA decoder: Speed optimizations to the C code and |
| 81 | | added GCC & Clang compatible inline assembly for x86-64. |
| 82 | | |
| 83 | | - Added lzma_mt_block_size() to recommend a Block size for |
| 84 | | multithreaded encoding. |
| 85 | | |
| 86 | | - Added CLMUL-based CRC32 on x86-64 and E2K with runtime |
| 87 | | processor detection. Similar to CRC64, on 32-bit x86 it |
| 88 | | isn't available unless --disable-assembler is used. |
| 89 | | |
| 90 | | - Optimized the CRC32 calculation on ARM64 platforms using the |
| 91 | | CRC32 instructions. Runtime detection for the instruction is |
| 92 | | used on GNU/Linux, FreeBSD, Windows, and macOS. If the |
| 93 | | compiler flags indicate unconditional CRC32 instruction |
| 94 | | support (+crc) then the generic version is not built. |
| 95 | | |
| 96 | | - Added definitions of mask values like |
| 97 | | LZMA_INDEX_CHECK_MASK_CRC32 to <lzma/index.h>. |
| 98 | | * xz: |
| 99 | | |
| 100 | | - Multithreaded mode is now the default. This improves |
| 101 | | compression speed and creates .xz files that can be |
| 102 | | decompressed in multithreaded mode. The downsides are |
| 103 | | increased memory usage and slightly worse compression ratio. |
| 104 | | |
| 105 | | - Added a new command line option --filters to set the filter |
| 106 | | chain using the liblzma filter string syntax. |
| 107 | | |
| 108 | | - Added new command line options --filters1 ... --filters9 to |
| 109 | | set additional filter chains using the liblzma filter string |
| 110 | | syntax. The --block-list option now allows specifying filter |
| 111 | | chains that were set using these new options. |
| 112 | | |
| 113 | | - Ported the command line tools to Windows MSVC. |
| 114 | | Visual Studio 2015 or later is required. |
| 115 | | |
| 116 | | * Added lz4 support to xzdiff/xzcmp and xzgrep. |
| 117 | | |
| 118 | | |
| 119 | | |
| | 1 | Deleted. |