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