Busybox: Upgrade to 1.21.1 (stable). lsof active.
[tomato.git] / release / src / router / lzo / NEWS
blob15eedeff14e363ff52b5b3d99d8208c48182ffac
1 ============================================================================
2 User visible changes for LZO -- a real-time data compression library
3 ============================================================================
5 Changes in 2.06 (12 Aug 2011)
6   * Some minor optimizations for big-endian architectures.
7   * Fixed overly strict malloc() misalignment check in examples.
9 Changes in 2.05 (23 Apr 2011)
10   * Converted the configure system to non-recursive Automake.
11   * Applied some overdue speed optimizations for modern x86/x64 architectures
12     and current compilers like gcc 4.6 and MSVC 2010.
14 Changes in 2.04 (31 Oct 2010)
15   * Fixed a gcc-4.5 aliasing issue in lzo_init().
16   * Updated the configure system.
17   * Assorted cleanups.
19 Changes in 2.03 (30 Apr 2008)
20   * Updated the ELF assembler sources to mark the stack as non-executable.
21   * Fixed a HP-UX 11 build issue with Itanium in ILP32 mode.
22   * Updated the configure system.
24 Changes in 2.02 (17 Oct 2005)
25   * Updated the build and Autoconf scripts to fix some reported
26     compilation problems.
28 Changes in 2.01 (27 Jun 2005)
29   * Changed the configure system to install the LZO library under the
30     name "liblzo2" so that parallel installation with LZO v1 is possible.
31   * Improved auto-configuration in miniLZO for some embedded targets like
32     Blackfin and H8/300 processors.
34 Changes in 2.00 (30 May 2005)
36   [Library interface changes]
37   * The 'lzo_uint' typedef has been changed to match 'size_t', which means
38     it now is 64 bits on most 64-bit architectures. 32-bit machines
39     are not affected by this change.
40   * The formula for maximum expansion of incompressible data has changed.
41     See doc/LZO.FAQ. This is needed for some upcoming speed improvements,
42     and also for compatibility with our commercial LZO Professional product.
43   * The progress indicator callback interface has been revamped.
44   * All public header files now get installed into a "lzo" subdirectory, so
45     your applications should use #include <lzo/lzoXXX.h>.
46   * A number of (internal) macros have been renamed. See LZO_CFG_COMPAT
47     in <lzo/lzoconf.h> if your code depends on these.
49   [Speed]
50   * Small overall speedup by exploiting features like branch prediction
51     hints and explicit inline control present in modern C/C++ compilers.
52   * Significant speedup for 64-bit architectures like AMD64.
54   [Portability]
55   * LZO now fully supports the LLP64 programming model.
56   * LZO now fully supports the ILP64 and SILP64 programming models which
57     are used on some supercomputing architectures.
58   * Full Win64 support for AMD64 (aka x64) and IA64 (Itanium).
59   * Full 16-bit support for ancient DOS 286 protected mode, OS/2 1.x
60     and Windows 3.x.
61   * The LZO library now compiles and works on completely freestanding or
62     embedded systems as long as you have <limits.h> and <stddef.h> header
63     files. See the B/generic/build_freestanding.sh build script.
65   [Misc]
66   * The i386 assembler versions of the decompressors are now automatically
67     built and installed. See also asm/i386/00README.TXT.
68   * Added include file <lzo/lzo_asm.h> that provides prototypes for all
69     assembler functions.
70   * Under MacOS X, the configure script now will use the '-no-cpp-precomp'
71     compiler option in order to work around bugs in some versions of
72     Apple's native "smart" preprocessor.
73   * Worked around a preprocessor bug that is present in all compilers which
74     are based on the lcc compiler kit.
75   * Added simple B/generic/build.sh build script family.
76   * Added lots of new build scripts for various DOS/Windows compilers.
78   [Upgrade instructions from LZO v1 to LZO v2]
79   * On 64-bit architectures, revisit all uses of lzo_uint.
80   * Adapt for the maximum expansion change of incompressible data.
81   * If you use the progress callback then adapt for the new interface.
82   * Use #include <lzo/lzoXXX.h> or adjust your include path.
83   * Check your code for use of deprecated macros. Add a
84     #define LZO_CFG_COMPAT if necessary.
85   * Other than that LZO v2 should be fully source-compatible with LZO v1.
86     Of course, the compressed data is fully compatible as well.
87   * Re-compile and re-link your application.
88   * Enjoy the improvements!
90 ----------------------------------------------------------------------------
92 Changes in 1.08 (12 Jul 2002)
93   * Much better support for cross compiling.
94   * Straighten out ANSI-conforming compiler checks.
95   * Avoid harmless compiler warnings reported by -Wcast-align.
96   * Fixed some sign extension problems on rather exotic machines where
97     sizeof(size_t) < sizeof(ptrdiff_t) and sizeof(lzo_uint) == sizeof(size_t)
98   * Updated the configure system to use the latest Autoconf, Automake
99     and Libtool versions.
101 Changes in 1.07 (18 Oct 2000)
102   * Default to '--disable-shared' (I'm getting tired of Libtool's
103     shared library build problems, this time AIX was the culprit).
104   * Avoid some harmless compiler warnings.
106 Changes in 1.06 (29 Nov 1999)
107   * Updated the configure system to use Autoconf 2.13, Automake 1.4 and
108     Libtool 1.3.3. This should hopefully fix the shared-library build
109     problems that were reported on some machines.
110   * Enhanced example programs a little bit.
112 Changes in 1.05 (14 Apr 1998)
113   * Just a one-line change in the configure script to workaround
114     a HPUX and IRIX build problem.
116 Changes in 1.04 (15 Mar 1998)
117   * Worked around a bug in the cpp preprocessor under HPUX 10.20.
118   * Adapted for Automake 1.2f and Libtool 1.1.
120 Changes in 1.03 (18 Jan 1998)
121   * minor compression ratio improvement
122   * extended example program to show how to do overlapping compression
123   * assembler changes, added support for the nasm assembler
124   * better support for cross compiling
125   * some cleanups
127 Changes in 1.02 (07 Dec 1997)
128   * improved LZO1X-999 and LZO1Y-999 compression ratio a little bit again
129   * introduced compression levels for LZO1X-999 and LZO1Y-999
130   * added support for preset dictionaries
131   * implemented LZO1X-1(12): needs 16 KiB for compression
132   * new algorithm LZO1Z: this is another variant of LZO1X
133   * added example program: how to use preset dictionaries
134   * added example program: how to do in-place decompression
135   * added a little file-packer example program
136   * LZO now works cleanly under checkergcc
137   * strict 16-bit memory model is working (but not officially supported)
138   * shared libraries are supported on many platforms
139   * adapted for Automake 1.2d and Libtool 1.0h
141 Changes in 1.01 (10 Aug 1997)
142   * improved LZO1X-999 and LZO1Y-999 compression ratio a little bit
143   * i386+gcc: significant speedup of the C version of the LZO1, LZO1A,
144     LZO1B and LZO1C decompressors
145   * added example programs that show how to generate pre-compressed data
146   * added Makefiles for DOS, Windows and OS/2 targets
148 Changes in 1.00 (13 Jul 1997)
149   * added miniLZO - can be easily included in your project
150   * improved documentation, added LZO.FAQ
151   * added build scripts for many systems where Autoconf is not available:
152     Windows 3.1 (LIB+DLL), Windows 95/NT (LIB+DLL), DOS (16+32 bit), OS/2
153   * adapted for Automake 1.2 and Libtool 1.0
155 Changes in 0.90 (27 Jun 1997): never released
156   * LZO now uses GNU Automake 1.0 - lots of configuration changes
157   * added LZO1X-1(11): this version needs only 8 KiB for compression
158   * implemented LZO1Y-1
159   * added i386 assembler decompressors for MASM/TASM/WASM
160   * the name of some assembler functions changed
161   * the numeric value of some error codes changed
162   * portability fixes
164 Changes in 0.29 (04 May 1997)
165   * Linux ELF shared library support
166   * workaround for gcc 2.7.2 optimizer bug under AIX
167   * added lzo_crc32() checksum
169 Changes in 0.28 (22 Feb 1997)
170   * new algorithm LZO1Y: LZO1Y-999 and LZO1Y decompressor
171   * added lzo1x_optimize() and lzo1y_optimize()
172   * minor speedup in assembler decompressors (i386+gcc)
173   * ltest.c rewritten
175 Changes in 0.27 (19 Jan 1997)
176   * fixed a bug in LZO1B-999 and LZO1C-999 that could produce
177     invalid compressed data in very rare cases
179 Changes in 0.26 (18 Jan 1997): never released
180   * implemented LZO1B-999
181   * renamed LZO1D to LZO2A (also updated all docs)
182   * some cleanups
184 Changes in 0.25 (28 Dec 1996): never released
185   * some portability fixes (LZO now works on my old Atari ST :-)
186   * adapted for Autoconf 2.12
188 Changes in 0.24 (30 Nov 1996): never released
189   * improved performance of LZO1X assembler decompressor on a Pentium (i386+gcc)
191 Changes in 0.23 (23 Nov 1996)
192   * added LZO1C, LZO1F and LZO1X decompressors in assembler (i386+gcc)
193   * added corresponding LZO_PUBLIC to all LZO_EXTERN functions
194   * added support for Microsoft C 7.0 (16-bit DOS)
195   * introduced lzo_uint32. This could prove useful for a strict 16-bit
196     version that doesn't use 'huge' pointers.
197   * all algorithms use incremental hashing now
198   * some cleanups and portability fixes
200 Changes in 0.22 (19 Sep 1996)
201   * LZO1X: minor decompressor speedup, added some checks in safe decompressor
202   * Autoconf: added detection of gcc strength-reduction bug
203   * Makefile changes
205 Changes in 0.21 (08 Sep 1996)
206   * LZO now uses GNU Autoconf 2.10 - lots of configuration changes
207   * a few cosmetical changes
209 Changes in 0.20 (11 Aug 1996)
210   * new algorithm LZO1X: LZO1X-1, LZO1X-999 and LZO1X decompressor
211   * significantly speeded up LZO1B, LZO1C and LZO1F decompressors
212     on CPUs which allow unaligned memory access (e.g. Intel i386)
213   * greatly speeded up LZO2A-999 compressor at the cost of some memory
214   * some cleanups, portability fixes and minor speedups
216 Changes in 0.16 (22 Jul 1996)
217   * speeded up LZO1F decompressor a little bit
218   * improved LZO1F-999 compression ratio
220 Changes in 0.15 (10 Jul 1996)
221   * new algorithm LZO1F: LZO1F-1, LZO1F-999 and LZO1F decompressor
222   * improved LZO2A-999 compression ratio
223   * removed LZO1E as it is dominated by LZO1F
225 Changes in 0.14 (06 Jul 1996): never released
226   * experimental algorithms: LZO1E and LZO1F
227   * added LZO_EXTERN to all prototypes. Useful when building a DLL.
228   * improved LZO1C-999 and LZO2A-999 compression ratio a little bit
229   * fixed progress indicator callback (it was called only once)
231 Changes in 0.13 (20 Jun 1996)
232   * some speed improvements in LZO1C-999 and LZO2A-999
234 Changes in 0.12 (18 Jun 1996): never released
235   * added LZO1C-999, a slow but nearly optimal compressor
236     intended for generating pre-compressed data
237   * added tests for lookbehind-overrun in all safe decompressors
238   * source tree completely rearranged, some filenames changed
239   * extensions changed: a .ch file is a C source code that is included
240     for reasons of code sharing
241   * new algorithm LZO2A: LZO2A-999 and LZO2A decompressor. There is
242     no fast compressor yet.
243   * some cleanups
245 Changes in 0.11 (29 May 1996)
246   * source tree rearranged
247   * LZO now compiles fine as a C++ library (interface still has C linkage)
248   * improved overall compression ratio a little bit
249   * LZO1B-99/LZO1C-99 now search for longer matches
250   * incremental hash is working, it's a little bit faster
251   * Makefile changed
252   * added lzo_uint and lzo_sizeof in some places
253   * split LZO1B compressor into even more include-files
255 Changes in 0.10 (20 May 1996): first public release of the LZO library
256   * includes LZO1, LZO1A, LZO1B and LZO1C algorithms
257     (compression levels 1-9 and 99)
259 14 Mar 1996:
260   * public release of the LZO1A algorithm
262 04 Mar 1996:
263   * public release of the LZO1 algorithm