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