1 |
3.6 Mon Feb 7 17:37:31 CET 2011 |
2 |
- fixed hash calculation in C♯ version (Tiago Freitas Leal). |
3 |
- unroll copy for small sizes, use memcpy for larger sizes, |
4 |
greatly speeding up decompression in most cases. |
5 |
- finally disable rep movsb - it's a big loss on modern intel cpus, |
6 |
and only a small win on amd cpus. |
7 |
- improve C++ compatibility of the code. |
8 |
- slightly improve compressor speed. |
9 |
- halved memory requirements for compressor on 64 bit architectures, |
10 |
which can improve the speed quite a bit on older cpus. |
11 |
|
12 |
3.5 Fri May 1 02:28:42 CEST 2009 |
13 |
- lzf_compress did sometimes write one octet past the given output |
14 |
buffer (analyzed and nice testcase by Salvatore Sanfilippo). |
15 |
|
16 |
3.4 Tue Sep 2 06:45:00 CEST 2008 |
17 |
- the fix from 3.3 introduced a compression bug, which is fixed in |
18 |
this release (which explains the mysterious prerelease...). Thanks |
19 |
once more to Clément Calmels. |
20 |
|
21 |
3.3 Mon Aug 25 03:17:42 CEST 2008 |
22 |
- lzf_compress could access memory after the given input buffer |
23 |
when outputting back references. reported with nice testcase |
24 |
by Clément Calmels. |
25 |
|
26 |
3.2 Fri May 9 18:52:23 CEST 2008 |
27 |
- include a workaround for failing POSIX and real-world compliance |
28 |
on 64 bit windows (microsoft claims to support POSIX, but is far |
29 |
from it). (bug found and analysed nicely by John Lilley). |
30 |
|
31 |
3.1 Fri Nov 30 11:33:04 CET 2007 |
32 |
- IMPORTANT BUGFIX: a too long final literal run would corrupt data |
33 |
in the encoder (this was introduced in 3.0 only, earlier versions |
34 |
are safe). |
35 |
|
36 |
3.0 Tue Nov 13 22:13:09 CET 2007 |
37 |
- switched to 2-clause bsd with "GPL v2 or any later version" option. |
38 |
- speed up compression by ~10-15% in common cases |
39 |
by some manual unrolling. |
40 |
- import some compiler tricks from JSON::XS, for further speed-ups. |
41 |
- tune hash functions depending on ULTRA_FAST or VERY_FAST settings. |
42 |
- for typical binary data (e.g. /bin/bash, memory dumps, |
43 |
canterbury corpus etc.), speed is now comparable to fastlz, but |
44 |
with better compression ratio. with ULTRA_FAST, it's typically |
45 |
3-15% faster than fastlz while still maintaining a similar ratio. |
46 |
(amd64 and core 2 duo, ymmv). thanks a lot for the competition :) |
47 |
- undo inline assembly in compressor, it is no longer helpful. |
48 |
- no changes to the decompressor. |
49 |
- use a HLOG of 16 by default now (formerly 15). |
50 |
|
51 |
2.1 Fri Nov 2 13:34:42 CET 2007 |
52 |
- switched to a 2-clause bsd license with GPL exception. |
53 |
- get rid of memcpy. |
54 |
- tentatively use rep movsb on x86 and x86_64 (gcc only) for a |
55 |
moderate speed improvement. |
56 |
- applied patch by Kein-Hong Man to maske lzf.c compile under |
57 |
the crippled mingw32 environment. |
58 |
|
59 |
2.0 Fri Feb 16 23:11:18 CET 2007 |
60 |
- replaced lzf demo by industrial-strength lzf utility with behaviour |
61 |
similar other compression utilities. Thanks for Stefan Traby for |
62 |
rewriting it! |
63 |
- fix state arg prototype. |
64 |
|
65 |
1.7 Wed Sep 27 17:29:15 CEST 2006 |
66 |
- remove bogus "unlzf" patch. |
67 |
note to self: never accept well-meant patches. |
68 |
- make lzf more robust in presence of padding bytes or sudden eof. |
69 |
|
70 |
1.6 Fri Jul 7 17:31:26 CEST 2006 |
71 |
- the lzf example utility will now uncompress if invoked |
72 |
as "unlzf" (patch by Scott Feeney). |
73 |
- add CHECK_INPUT option that adds more checks for input |
74 |
data validity. |
75 |
- help applications that do not pass in the correct length |
76 |
(such as php) by returning either EINVAL or E2BIG. |
77 |
- default HLOG size is now 15 (cpu caches have increased). |
78 |
- documentation fixes. |
79 |
|
80 |
1.51 Thu Apr 14 22:15:46 CEST 2005 |
81 |
- incorporated C♯ implementation of both the en- and decoder, |
82 |
written by "Oren J. Maurice". |
83 |
You can find it in the cs/ subdirectory. |
84 |
- make FRST, NEXT IDX overridable if lzf_c.c is directly included |
85 |
in the code. |
86 |
|
87 |
1.5 Tue Mar 8 20:23:23 CET 2005 |
88 |
- incorporated improvements by Adam D. Moss, |
89 |
which includes a new VERY_FAST mode which is |
90 |
a bit slower than ULTRA_FAST but much better, |
91 |
and enabled it as default. |
92 |
|
93 |
1.401 Thu Mar 3 18:00:52 CET 2005 |
94 |
- use cstring in c++, not string.h. |
95 |
- change of contact address. |
96 |
|
97 |
1.4 Wed Dec 15 08:08:49 CET 2004 |
98 |
- very very slight tuning of the hashing function. |
99 |
|
100 |
1.3 Thu Mar 25 15:41:17 CET 2004 |
101 |
- changed license of lzf core code to explicitly allow |
102 |
relicensing under the GPLv2. |
103 |
- added VPATH support as suggested by Björn Eriksson. |
104 |
|
105 |
1.2 Mon Dec 29 13:47:28 CET 2003 |
106 |
- avoid spurious memory accesses after the to-be-compressed |
107 |
memory region. originally reported by Michal Zalewski. |
108 |
- flip LZF_STACK_ARG meaning (to be correct). |
109 |
|
110 |
1.1 Tue Dec 23 05:48:32 CET 2003 |
111 |
- removed #warn directive, it's not worth the hassle. |
112 |
- add LZF_STACK_ARG and AVOID_ERRNO configurations |
113 |
for embedded systems. |
114 |
- make it compile cleanly as c++. |
115 |
- some small documentation and code fixes. |
116 |
|
117 |
1.0 Sun Nov 17 12:37:37 CET 2002 |
118 |
- slightly better compression ratio, almost unmeasurably |
119 |
slower. |
120 |
- some documentation fixes. |
121 |
|
122 |
0.4 Thu Jun 13 14:11:10 CEST 2002 |
123 |
- typoe fix. |
124 |
- lzf demo program now properly decompresses small files. |
125 |
- fix another 64 bit issue, found by Laurent Deniel. |
126 |
|
127 |
0.3 Tue Jan 16 13:21:14 CET 2001 |
128 |
- fix silly beginners 32/64 bit mistake. |
129 |
|
130 |
0.2 Thu Jan 4 05:56:42 CET 2001 |
131 |
- now totally independent of autoconfig, for |
132 |
easy inclusion into other programs. |
133 |
- much better fine-tuning, faster and better than 0.1. |
134 |
|
135 |
0.1 2000 |
136 |
- initial release. |