b24e7fce |
1 | HISTORY of the LZMA SDK |
2 | ----------------------- |
3 | |
4 | 19.00 2019-02-21 |
5 | ------------------------- |
6 | - Encryption strength for 7z archives was increased: |
7 | the size of random initialization vector was increased from 64-bit to 128-bit, |
8 | and the pseudo-random number generator was improved. |
9 | - The bug in 7zIn.c code was fixed. |
10 | |
11 | |
12 | 18.06 2018-12-30 |
13 | ------------------------- |
14 | - The speed for LZMA/LZMA2 compressing was increased by 3-10%, |
15 | and there are minor changes in compression ratio. |
16 | - Some bugs were fixed. |
17 | - The bug in 7-Zip 18.02-18.05 was fixed: |
18 | There was memory leak in multithreading xz decoder - XzDecMt_Decode(), |
19 | if xz stream contains only one block. |
20 | - The changes for MSVS compiler makefiles: |
21 | - the makefiles now use "PLATFORM" macroname with values (x64, x86, arm64) |
22 | instead of "CPU" macroname with values (AMD64, ARM64). |
23 | - the makefiles by default now use static version of the run-time library. |
24 | |
25 | |
26 | 18.05 2018-04-30 |
27 | ------------------------- |
28 | - The speed for LZMA/LZMA2 compressing was increased |
29 | by 8% for fastest/fast compression levels and |
30 | by 3% for normal/maximum compression levels. |
31 | - Previous versions of 7-Zip could work incorrectly in "Large memory pages" mode in |
32 | Windows 10 because of some BUG with "Large Pages" in Windows 10. |
33 | Now 7-Zip doesn't use "Large Pages" on Windows 10 up to revision 1709 (16299). |
34 | - The BUG was fixed in Lzma2Enc.c |
35 | Lzma2Enc_Encode2() function worked incorretly, |
36 | if (inStream == NULL) and the number of block threads is more than 1. |
37 | |
38 | |
39 | 18.03 beta 2018-03-04 |
40 | ------------------------- |
41 | - Asm\x86\LzmaDecOpt.asm: new optimized LZMA decoder written in asm |
42 | for x64 with about 30% higher speed than main version of LZMA decoder written in C. |
43 | - The speed for single-thread LZMA/LZMA2 decoder written in C was increased by 3%. |
44 | - 7-Zip now can use multi-threading for 7z/LZMA2 decoding, |
45 | if there are multiple independent data chunks in LZMA2 stream. |
46 | - 7-Zip now can use multi-threading for xz decoding, |
47 | if there are multiple blocks in xz stream. |
48 | |
49 | |
50 | 18.01 2019-01-28 |
51 | ------------------------- |
52 | - The BUG in 17.01 - 18.00 beta was fixed: |
53 | XzDec.c : random block unpacking and XzUnpacker_IsBlockFinished() |
54 | didn't work correctly for xz archives without checksum (CRC). |
55 | |
56 | |
57 | 18.00 beta 2019-01-10 |
58 | ------------------------- |
59 | - The BUG in xz encoder was fixed: |
60 | There was memory leak of 16 KB for each file compressed with |
61 | xz compression method, if additional filter was used. |
62 | |
63 | |
64 | 17.01 beta 2017-08-28 |
65 | ------------------------- |
66 | - Minor speed optimization for LZMA2 (xz and 7z) multi-threading compression. |
67 | 7-Zip now uses additional memory buffers for multi-block LZMA2 compression. |
68 | CPU utilization was slightly improved. |
69 | - 7-zip now creates multi-block xz archives by default. Block size can be |
70 | specified with -ms[Size]{m|g} switch. |
71 | - xz decoder now can unpack random block from multi-block xz archives. |
72 | - 7-Zip command line: @listfile now doesn't work after -- switch. |
73 | Use -i@listfile before -- switch instead. |
74 | - The BUGs were fixed: |
75 | 7-Zip 17.00 beta crashed for commands that write anti-item to 7z archive. |
76 | |
77 | |
78 | 17.00 beta 2017-04-29 |
79 | ------------------------- |
80 | - NewHandler.h / NewHandler.cpp: |
81 | now it redefines operator new() only for old MSVC compilers (_MSC_VER < 1900). |
82 | - C/7zTypes.h : the names of variables in interface structures were changed (vt). |
83 | - Some bugs were fixed. 7-Zip could crash in some cases. |
84 | - Some internal changes in code. |
85 | |
86 | |
87 | 16.04 2016-10-04 |
88 | ------------------------- |
89 | - The bug was fixed in DllSecur.c. |
90 | |
91 | |
92 | 16.03 2016-09-28 |
93 | ------------------------- |
94 | - SFX modules now use some protection against DLL preloading attack. |
95 | - Some bugs in 7z code were fixed. |
96 | |
97 | |
98 | 16.02 2016-05-21 |
99 | ------------------------- |
100 | - The BUG in 16.00 - 16.01 was fixed: |
101 | Split Handler (SplitHandler.cpp) returned incorrect |
102 | total size value (kpidSize) for split archives. |
103 | |
104 | |
105 | 16.01 2016-05-19 |
106 | ------------------------- |
107 | - Some internal changes to reduce the number of compiler warnings. |
108 | |
109 | |
110 | 16.00 2016-05-10 |
111 | ------------------------- |
112 | - Some bugs were fixed. |
113 | |
114 | |
115 | 15.12 2015-11-19 |
116 | ------------------------- |
117 | - The BUG in C version of 7z decoder was fixed: |
118 | 7zDec.c : SzDecodeLzma2() |
119 | 7z decoder could mistakenly report about decoding error for some 7z archives |
120 | that use LZMA2 compression method. |
121 | The probability to get that mistaken decoding error report was about |
122 | one error per 16384 solid blocks for solid blocks larger than 16 KB (compressed size). |
123 | - The BUG (in 9.26-15.11) in C version of 7z decoder was fixed: |
124 | 7zArcIn.c : SzReadHeader2() |
125 | 7z decoder worked incorrectly for 7z archives that contain |
126 | empty solid blocks, that can be placed to 7z archive, if some file is |
127 | unavailable for reading during archive creation. |
128 | |
129 | |
130 | 15.09 beta 2015-10-16 |
131 | ------------------------- |
132 | - The BUG in LZMA / LZMA2 encoding code was fixed. |
133 | The BUG in LzFind.c::MatchFinder_ReadBlock() function. |
134 | If input data size is larger than (4 GiB - dictionary_size), |
135 | the following code worked incorrectly: |
136 | - LZMA : LzmaEnc_MemEncode(), LzmaEncode() : LZMA encoding functions |
137 | for compressing from memory to memory. |
138 | That BUG is not related to LZMA encoder version that works via streams. |
139 | - LZMA2 : multi-threaded version of LZMA2 encoder worked incorrectly, if |
140 | default value of chunk size (CLzma2EncProps::blockSize) is changed |
141 | to value larger than (4 GiB - dictionary_size). |
142 | |
143 | |
144 | 9.38 beta 2015-01-03 |
145 | ------------------------- |
146 | - The BUG in 9.31-9.37 was fixed: |
147 | IArchiveGetRawProps interface was disabled for 7z archives. |
148 | - The BUG in 9.26-9.36 was fixed: |
149 | Some code in CPP\7zip\Archive\7z\ worked correctly only under Windows. |
150 | |
151 | |
152 | 9.36 beta 2014-12-26 |
153 | ------------------------- |
154 | - The BUG in command line version was fixed: |
155 | 7-Zip created temporary archive in current folder during update archive |
156 | operation, if -w{Path} switch was not specified. |
157 | The fixed 7-Zip creates temporary archive in folder that contains updated archive. |
158 | - The BUG in 9.33-9.35 was fixed: |
159 | 7-Zip silently ignored file reading errors during 7z or gz archive creation, |
160 | and the created archive contained only part of file that was read before error. |
161 | The fixed 7-Zip stops archive creation and it reports about error. |
162 | |
163 | |
164 | 9.35 beta 2014-12-07 |
165 | ------------------------- |
166 | - 7zr.exe now support AES encryption. |
167 | - SFX mudules were added to LZMA SDK |
168 | - Some bugs were fixed. |
169 | |
170 | |
171 | 9.21 beta 2011-04-11 |
172 | ------------------------- |
173 | - New class FString for file names at file systems. |
174 | - Speed optimization in CRC code for big-endian CPUs. |
175 | - The BUG in Lzma2Dec.c was fixed: |
176 | Lzma2Decode function didn't work. |
177 | |
178 | |
179 | 9.18 beta 2010-11-02 |
180 | ------------------------- |
181 | - New small SFX module for installers (SfxSetup). |
182 | |
183 | |
184 | 9.12 beta 2010-03-24 |
185 | ------------------------- |
186 | - The BUG in LZMA SDK 9.* was fixed: LZMA2 codec didn't work, |
187 | if more than 10 threads were used (or more than 20 threads in some modes). |
188 | |
189 | |
190 | 9.11 beta 2010-03-15 |
191 | ------------------------- |
192 | - PPMd compression method support |
193 | |
194 | |
195 | 9.09 2009-12-12 |
196 | ------------------------- |
197 | - The bug was fixed: |
198 | Utf16_To_Utf8 funstions in UTFConvert.cpp and 7zMain.c |
199 | incorrectly converted surrogate characters (the code >= 0x10000) to UTF-8. |
200 | - Some bugs were fixed |
201 | |
202 | |
203 | 9.06 2009-08-17 |
204 | ------------------------- |
205 | - Some changes in ANSI-C 7z Decoder interfaces. |
206 | |
207 | |
208 | 9.04 2009-05-30 |
209 | ------------------------- |
210 | - LZMA2 compression method support |
211 | - xz format support |
212 | |
213 | |
214 | 4.65 2009-02-03 |
215 | ------------------------- |
216 | - Some minor fixes |
217 | |
218 | |
219 | 4.63 2008-12-31 |
220 | ------------------------- |
221 | - Some minor fixes |
222 | |
223 | |
224 | 4.61 beta 2008-11-23 |
225 | ------------------------- |
226 | - The bug in ANSI-C LZMA Decoder was fixed: |
227 | If encoded stream was corrupted, decoder could access memory |
228 | outside of allocated range. |
229 | - Some changes in ANSI-C 7z Decoder interfaces. |
230 | - LZMA SDK is placed in the public domain. |
231 | |
232 | |
233 | 4.60 beta 2008-08-19 |
234 | ------------------------- |
235 | - Some minor fixes. |
236 | |
237 | |
238 | 4.59 beta 2008-08-13 |
239 | ------------------------- |
240 | - The bug was fixed: |
241 | LZMA Encoder in fast compression mode could access memory outside of |
242 | allocated range in some rare cases. |
243 | |
244 | |
245 | 4.58 beta 2008-05-05 |
246 | ------------------------- |
247 | - ANSI-C LZMA Decoder was rewritten for speed optimizations. |
248 | - ANSI-C LZMA Encoder was included to LZMA SDK. |
249 | - C++ LZMA code now is just wrapper over ANSI-C code. |
250 | |
251 | |
252 | 4.57 2007-12-12 |
253 | ------------------------- |
254 |