David Li | e54acca | 2011-03-18 16:21:06 -0700 | [diff] [blame] | 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. |