ChangeLog file for zlibChanges in 1.2.3 (18 July 2005)- Apply security vulnerability fixes to contrib/infback9 as well- Clean up some text files (carriage returns, trailing space)- Update testzlib, vstudio, masmx64, and masmx86 in contrib [Vollant]Changes in 1.2.2.4 (11 July 2005)- Add inflatePrime() function for starting inflation at bit boundary- Avoid some Visual C warnings in deflate.c- Avoid more silly Visual C warnings in inflate.c and inftrees.c for 64-bit compile- Fix some spelling errors in comments [Betts]- Correct inflateInit2() error return documentation in zlib.h- Added zran.c example of compressed data random access to examples directory, shows use of inflatePrime()- Fix cast for assignments to strm->state in inflate.c and infback.c- Fix zlibCompileFlags() in zutil.c to use 1L for long shifts [Oberhumer]- Move declarations of gf2 functions to right place in crc32.c [Oberhumer]- Add cast in trees.c t avoid a warning [Oberhumer]- Avoid some warnings in fitblk.c, gun.c, gzjoin.c in examples [Oberhumer]- Update make_vms.com [Zinser]- Initialize state->write in inflateReset() since copied in inflate_fast()- Be more strict on incomplete code sets in inflate_table() and increase ENOUGH and MAXD -- this repairs a possible security vulnerability for invalid inflate input. Thanks to Tavis Ormandy and Markus Oberhumer for discovering the vulnerability and providing test cases.- Add ia64 support to configure for HP-UX [Smith]- Add error return to gzread() for format or i/o error [Levin]- Use malloc.h for OS/2 [Necasek]Changes in 1.2.2.3 (27 May 2005)- Replace 1U constants in inflate.c and inftrees.c for 64-bit compile- Typecast fread() return values in gzio.c [Vollant]- Remove trailing space in minigzip.c outmode (VC++ can't deal with it)- Fix crc check bug in gzread() after gzungetc() [Heiner]- Add the deflateTune() function to adjust internal compression parameters- Add a fast gzip decompressor, gun.c, to examples (use of inflateBack)- Remove an incorrect assertion in examples/zpipe.c- Add C++ wrapper in infback9.h [Donais]- Fix bug in inflateCopy() when decoding fixed codes- Note in zlib.h how much deflateSetDictionary() actually uses- Remove USE_DICT_HEAD in deflate.c (would mess up inflate if used)- Add _WIN32_WCE to define WIN32 in zconf.in.h [Spencer]- Don't include stderr.h or errno.h for _WIN32_WCE in zutil.h [Spencer]- Add gzdirect() function to indicate transparent reads- Update contrib/minizip [Vollant]- Fix compilation of deflate.c when both ASMV and FASTEST [Oberhumer]- Add casts in crc32.c to avoid warnings [Oberhumer]- Add contrib/masmx64 [Vollant]- Update contrib/asm586, asm686, masmx86, testzlib, vstudio [Vollant]Changes in 1.2.2.2 (30 December 2004)- Replace structure assignments in deflate.c and inflate.c with zmemcpy to avoid implicit memcpy calls (portability for no-library compilation)- Increase sprintf() buffer size in gzdopen() to allow for large numbers- Add INFLATE_STRICT to check distances against zlib header- Improve WinCE errno handling and comments [Chang]- Remove comment about no gzip header processing in FAQ- Add Z_FIXED strategy option to deflateInit2() to force fixed trees- Add updated make_vms.com [Coghlan], update README- Create a new "examples" directory, move gzappend.c there, add zpipe.c, fitblk.c, gzlog.[ch], gzjoin.c, and zlib_how.html.- Add FAQ entry and comments in deflate.c on uninitialized memory access- Add Solaris 9 make options in configure [Gilbert]- Allow strerror() usage in gzio.c for STDC- Fix DecompressBuf in contrib/delphi/ZLib.pas [ManChesTer]- Update contrib/masmx86/inffas32.asm and gvmat32.asm [Vollant]- Use z_off_t for adler32_combine() and crc32_combine() lengths- Make adler32() much faster for small len- Use OS_CODE in deflate() default gzip headerChanges in 1.2.2.1 (31 October 2004)- Allow inflateSetDictionary() call for raw inflate- Fix inflate header crc check bug for file names and comments- Add deflateSetHeader() and gz_header structure for custom gzip headers- Add inflateGetheader() to retrieve gzip headers- Add crc32_combine() and adler32_combine() functions- Add alloc_func, free_func, in_func, out_func to Z_PREFIX list- Use zstreamp consistently in zlib.h (inflate_back functions)- Remove GUNZIP condition from definition of inflate_mode in inflate.h and in contrib/inflate86/inffast.S [Truta, Anderson]- Add support for AMD64 in contrib/inflate86/inffas86.c [Anderson]- Update projects/README.projects and projects/visualc6 [Truta]- Update win32/DLL_FAQ.txt [Truta]- Avoid warning under NO_GZCOMPRESS in gzio.c; fix typo [Truta]- Deprecate Z_ASCII; use Z_TEXT instead [Truta]- Use a new algorithm for setting strm->data_type in trees.c [Truta]- Do not define an exit() prototype in zutil.c unless DEBUG defined- Remove prototype of exit() from zutil.c, example.c, minigzip.c [Truta]- Add comment in zlib.h for Z_NO_FLUSH parameter to deflate()- Fix Darwin build version identification [Peterson]Changes in 1.2.2 (3 October 2004)- Update zlib.h comments on gzip in-memory processing- Set adler to 1 in inflateReset() to support Java test suite [Walles]- Add contrib/dotzlib [Ravn]- Update win32/DLL_FAQ.txt [Truta]- Update contrib/minizip [Vollant]- Move contrib/visual-basic.txt to old/ [Truta]- Fix assembler builds in projects/visualc6/ [Truta]Changes in 1.2.1.2 (9 September 2004)- Update INDEX file- Fix trees.c to update strm->data_type (no one ever noticed!)- Fix bug in error case in inflate.c, infback.c, and infback9.c [Brown]- Add "volatile" to crc table flag declaration (for DYNAMIC_CRC_TABLE)- Add limited multitasking protection to DYNAMIC_CRC_TABLE- Add NO_vsnprintf for VMS in zutil.h [Mozilla]- Don't declare strerror() under VMS [Mozilla]- Add comment to DYNAMIC_CRC_TABLE to use get_crc_table() to initialize- Update contrib/ada [Anisimkov]- Update contrib/minizip [Vollant]- Fix configure to not hardcode directories for Darwin [Peterson]- Fix gzio.c to not return error on empty files [Brown]- Fix indentation; update version in contrib/delphi/ZLib.pas and contrib/pascal/zlibpas.pas [Truta]- Update mkasm.bat in contrib/masmx86 [Truta]- Update contrib/untgz [Truta]- Add projects/README.projects [Truta]- Add project for MS Visual C++ 6.0 in projects/visualc6 [Cadieux, Truta]- Update win32/DLL_FAQ.txt [Truta]- Update list of Z_PREFIX symbols in zconf.h [Randers-Pehrson, Truta]- Remove an unnecessary assignment to curr in inftrees.c [Truta]- Add OS/2 to exe builds in configure [Poltorak]- Remove err dummy parameter in zlib.h [Kientzle]Changes in 1.2.1.1 (9 January 2004)- Update email address in README- Several FAQ updates- Fix a big fat bug in inftrees.c that prevented decoding valid dynamic blocks with only literals and no distance codes -- Thanks to "Hot Emu" for the bug report and sample file- Add a note to puff.c on no distance codes case.Changes in 1.2.1 (17 November 2003)- Remove a tab in contrib/gzappend/gzappend.c- Update some interfaces in contrib for new zlib functions- Update zlib version number in some contrib entries- Add Windows CE definition for ptrdiff_t in zutil.h [Mai, Truta]- Support shared libraries on Hurd and KFreeBSD [Brown]- Fix error in NO_DIVIDE option of adler32.cChanges in 1.2.0.8 (4 November 2003)- Update version in contrib/delphi/ZLib.pas and contrib/pascal/zlibpas.pas- Add experimental NO_DIVIDE #define in adler32.c - Possibly faster on some processors (let me know if it is)- Correct Z_BLOCK to not return on first inflate call if no wrap- Fix strm->data_type on inflate() return to correctly indicate EOB- Add deflatePrime() function for appending in the middle of a byte- Add contrib/gzappend for an example of appending to a stream- Update win32/DLL_FAQ.txt [Truta]- Delete Turbo C comment in README [Truta]- Improve some indentation in zconf.h [Truta]- Fix infinite loop on bad input in configure script [Church]- Fix gzeof() for concatenated gzip files [Johnson]- Add example to contrib/visual-basic.txt [Michael B.]- Add -p to mkdir's in Makefile.in [vda]- Fix configure to properly detect presence or lack of printf functions- Add AS400 support [Monnerat]- Add a little Cygwin support [Wilson]Changes in 1.2.0.7 (21 September 2003)- Correct some debug formats in contrib/infback9- Cast a type in a debug statement in trees.c- Change search and replace delimiter in configure from % to # [Beebe]- Update contrib/untgz to 0.2 with various fixes [Truta]- Add build support for Amiga [Nikl]- Remove some directories in old that have been updated to 1.2- Add dylib building for Mac OS X in configure and Makefile.in- Remove old distribution stuff from Makefile- Update README to point to DLL_FAQ.txt, and add comment on Mac OS X- Update links in READMEChanges in 1.2.0.6 (13 September 2003)- Minor FAQ updates- Update contrib/minizip to 1.00 [Vollant]- Remove test of gz functions in example.c when GZ_COMPRESS defined [Truta]- Update POSTINC comment for 68060 [Nikl]- Add contrib/infback9 with deflate64 decoding (unsupported)- For MVS define NO_vsnprintf and undefine FAR [van Burik]- Add pragma for fdopen on MVS [van Burik]Changes in 1.2.0.5 (8 September 2003)- Add OF to inflateBackEnd() declaration in zlib.h- Remember start when using gzdopen in the middle of a file- Use internal off_t counters in gz* functions to properly handle seeks- Perform more rigorous check for distance-too-far in inffast.c- Add Z_BLOCK flush option to return from inflate at block boundary- Set strm->data_type on return from inflate - Indicate bits unused, if at block boundary, and if in last block- Replace size_t with ptrdiff_t in crc32.c, and check for correct size- Add condition so old NO_DEFLATE define still works for compatibility- FAQ update regarding the Windows DLL [Truta]- INDEX update: add qnx entry, remove aix entry [Truta]- Install zlib.3 into mandir [Wilson]- Move contrib/zlib_dll_FAQ.txt to win32/DLL_FAQ.txt; update [Truta]- Adapt the zlib interface to the new DLL convention guidelines [Truta]- Introduce ZLIB_WINAPI macro to allow the export of functions using the WINAPI calling convention, for Visual Basic [Vollant, Truta]- Update msdos and win32 scripts and makefiles [Truta]- Export symbols by name, not by ordinal, in win32/zlib.def [Truta]- Add contrib/ada [Anisimkov]- Move asm files from contrib/vstudio/vc70_32 to contrib/asm386 [Truta]- Rename contrib/asm386 to contrib/masmx86 [Truta, Vollant]- Add contrib/masm686 [Truta]- Fix offsets in contrib/inflate86 and contrib/masmx86/inffas32.asm [Truta, Vollant]- Update contrib/delphi; rename to contrib/pascal; add example [Truta]- Remove contrib/delphi2; add a new contrib/delphi [Truta]- Avoid inclusion of the nonstandard <memory.h> in contrib/iostream, and fix some method prototypes [Truta]- Fix the ZCR_SEED2 constant to avoid warnings in contrib/minizip [Truta]- Avoid the use of backslash (\) in contrib/minizip [Vollant]- Fix file time handling in contrib/untgz; update makefiles [Truta]- Update contrib/vstudio/vc70_32 to comply with the new DLL guidelines [Vollant]- Remove contrib/vstudio/vc15_16 [Vollant]- Rename contrib/vstudio/vc70_32 to contrib/vstudio/vc7 [Truta]- Update README.contrib [Truta]- Invert the assignment order of match_head and s->prev[...] in INSERT_STRING [Truta]- Compare TOO_FAR with 32767 instead of 32768, to avoid 16-bit warnings [Truta]- Compare function pointers with 0, not with NULL or Z_NULL [Truta]- Fix prototype of syncsearch in inflate.c [Truta]- Introduce ASMINF macro to be enabled when using an ASM implementation of inflate_fast [Truta]- Change NO_DEFLATE to NO_GZCOMPRESS [Truta]- Modify test_gzio in example.c to take a single file name as a parameter [Truta]- Exit the example.c program if gzopen fails [Truta]- Add type casts around strlen in example.c [Truta]- Remove casting to sizeof in minigzip.c; give a proper type to the variable compared with SUFFIX_LEN [Truta]- Update definitions of STDC and STDC99 in zconf.h [Truta]- Synchronize zconf.h with the new Windows DLL interface [Truta]- Use SYS16BIT instead of __32BIT__ to distinguish between 16- and 32-bit platforms [Truta]- Use far memory allocators in small 16-bit memory models for Turbo C [Truta]- Add info about the use of ASMV, ASMINF and ZLIB_WINAPI in zlibCompileFlags [Truta]- Cygwin has vsnprintf [Wilson]- In Windows16, OS_CODE is 0, as in MSDOS [Truta]- In Cygwin, OS_CODE is 3 (Unix), not 11 (Windows32) [Wilson]Changes in 1.2.0.4 (10 August 2003)- Minor FAQ updates- Be more strict when checking inflateInit2's windowBits parameter- Change NO_GUNZIP compile option to NO_GZIP to cover deflate as well- Add gzip wrapper option to deflateInit2 using windowBits- Add updated QNX rule in configure and qnx directory [Bonnefoy]- Make inflate distance-too-far checks more rigorous- Clean up FAR usage in inflate- Add casting to sizeof() in gzio.c and minigzip.cChanges in 1.2.0.3 (19 July 2003)- Fix silly error in gzungetc() implementation [Vollant]- Update contrib/minizip and contrib/vstudio [Vollant]- Fix printf format in example.c- Correct cdecl support in zconf.in.h [Anisimkov]- Minor FAQ updatesChanges in 1.2.0.2 (13 July 2003)- Add ZLIB_VERNUM in zlib.h for numerical preprocessor comparisons- Attempt to avoid warnings in crc32.c for pointer-int conversion- Add AIX to configure, remove aix directory [Bakker]- Add some casts to minigzip.c- Improve checking after insecure sprintf() or vsprintf() calls- Remove #elif's from crc32.c- Change leave label to inf_leave in inflate.c and infback.c to avoid library conflicts- Remove inflate gzip decoding by default--only enable gzip decoding by special request for stricter backward compatibility- Add zlibCompileFlags() function to return compilation information- More typecasting in deflate.c to avoid warnings- Remove leading underscore from _Capital #defines [Truta]- Fix configure to link shared library when testing- Add some Windows CE target adjustments [Mai]- Remove #define ZLIB_DLL in zconf.h [Vollant]- Add zlib.3 [Rodgers]- Update RFC URL in deflate.c and algorithm.txt [Mai]- Add zlib_dll_FAQ.txt to contrib [Truta]- Add UL to some constants [Truta]- Update minizip and vstudio [Vollant]- Remove vestigial NEED_DUMMY_RETURN from zconf.in.h- Expand use of NO_DUMMY_DECL to avoid all dummy structures- Added iostream3 to contrib [Schwardt]- Replace rewind() with fseek() for WinCE [Truta]- Improve setting of zlib format compression level flags - Report 0 for huffman and rle strategies and for level == 0 or 1 - Report 2 only for level == 6- Only deal with 64K limit when necessary at compile time [Truta]- Allow TOO_FAR check to be turned off at compile time [Truta]- Add gzclearerr() function [Souza]- Add gzungetc() functionChanges in 1.2.0.1 (17 March 2003)- Add Z_RLE strategy for run-length encoding [Truta] - When Z_RLE requested, restrict matches to distance one - Update zlib.h, minigzip.c, gzopen(), gzdopen() for Z_RLE- Correct FASTEST compilation to allow level == 0- Clean up what gets compiled for FASTEST- Incorporate changes to zconf.in.h [Vollant] - Refine detection of Turbo C need for dummy returns - Refine ZLIB_DLL compilation - Include additional header file on VMS for off_t typedef- Try to use _vsnprintf where it supplants vsprintf [Vollant]- Add some casts in inffast.c- Enchance comments in zlib.h on what happens if gzprintf() tries to write more than 4095 bytes before compression- Remove unused state from inflateBackEnd()- Remove exit(0) from minigzip.c, example.c- Get rid of all those darn tabs- Add "check" target to Makefile.in that does the same thing as "test"- Add "mostlyclean" and "maintainer-clean" targets to Makefile.in- Update contrib/inflate86 [Anderson]- Update contrib/testzlib, contrib/vstudio, contrib/minizip [Vollant]- Add msdos and win32 directories with makefiles [Truta]- More additions and improvements to the FAQChanges in 1.2.0 (9 March 2003)- New and improved inflate code - About 20% faster - Does not allocate 32K window unless and until needed - Automatically detects and decompresses gzip streams - Raw inflate no longer needs an extra dummy byte at end - Added inflateBack functions using a callback interface--even faster than inflate, useful for file utilities (gzip, zip) - Added inflateCopy() function to record state for random access on externally generated deflate streams (e.g. in gzip files) - More readable code (I hope)- New and improved crc32() - About 50% faster, thanks to suggestions from Rodney Brown- Add deflateBound() and compressBound() functions- Fix memory leak in deflateInit2()- Permit setting dictionary for raw deflate (for parallel deflate)- Fix const declaration for gzwrite()- Check for some malloc() failures in gzio.c- Fix bug in gzopen() on single-byte file 0x1f- Fix bug in gzread() on concatenated file with 0x1f at end of buffer and next buffer doesn't start with 0x8b- Fix uncompress() to return Z_DATA_ERROR on truncated input- Free memory at end of example.c- Remove MAX #define in trees.c (conflicted with some libraries)- Fix static const's in deflate.c, gzio.c, and zutil.[ch]- Declare malloc() and free() in gzio.c if STDC not defined- Use malloc() instead of calloc() in zutil.c if int big enough- Define STDC for AIX- Add aix/ with approach for compiling shared library on AIX- Add HP-UX support for shared libraries in configure- Add OpenUNIX support for shared libraries in configure- Use $cc instead of gcc to build shared library- Make prefix directory if needed when installing- Correct Macintosh avoidance of typedef Byte in zconf.h- Correct Turbo C memory allocation when under Linux- Use libz.a instead of -lz in Makefile (assure use of compiled library)- Update configure to check for snprintf or vsnprintf functions and their return value, warn during make if using an insecure function- Fix configure problem with compile-time knowledge of HAVE_UNISTD_H that is lost when library is used--resolution is to build new zconf.h- Documentation improvements (in zlib.h): - Document raw deflate and inflate - Update RFCs URL - Point out that zlib and gzip formats are different - Note that Z_BUF_ERROR is not fatal - Document string limit for gzprintf() and possible buffer overflow - Note requirement on avail_out when flushing - Note permitted values of flush parameter of inflate()- Add some FAQs (and even answers) to the FAQ- Add contrib/inflate86/ for x86 faster inflate- Add contrib/blast/ for PKWare Data Compression Library decompression- Add contrib/puff/ simple inflate for deflate format descriptionChanges in 1.1.4 (11 March 2002)- ZFREE was repeated on same allocation on some error conditions. This creates a security problem described in http://www.zlib.org/advisory-2002-03-11.txt- Returned incorrect error (Z_MEM_ERROR) on some invalid data- Avoid accesses before window for invalid distances with inflate window less than 32K.- force windowBits > 8 to avoid a bug in the encoder for a window size of 256 bytes. (A complete fix will be available in 1.1.5).Changes in 1.1.3 (9 July 1998)- fix "an inflate input buffer bug that shows up on rare but persistent occasions" (Mark)- fix gzread and gztell for concatenated .gz files (Didier Le Botlan)- fix gzseek(..., SEEK_SET) in write mode- fix crc check after a gzeek (Frank Faubert)- fix miniunzip when the last entry in a zip file is itself a zip file (J Lillge)- add contrib/asm586 and contrib/asm686 (Brian Raiter) See http://www.muppetlabs.com/~breadbox/software/assembly.html- add support for Delphi 3 in contrib/delphi (Bob Dellaca)- add support for C++Builder 3 and Delphi 3 in contrib/delphi2 (Davide Moretti)- do not exit prematurely in untgz if 0 at start of block (Magnus Holmgren)- use macro EXTERN instead of extern to support DLL for BeOS (Sander Stoks)- added a FAQ file- Support gzdopen on Mac with Metrowerks (Jason Linhart)- Do not redefine Byte on Mac (Brad Pettit & Jason Linhart)- define SEEK_END too if SEEK_SET is not defined (Albert Chin-A-Young)- avoid some warnings with Borland C (Tom Tanner)- fix a problem in contrib/minizip/zip.c for 16-bit MSDOS (Gilles Vollant)- emulate utime() for WIN32 in contrib/untgz (Gilles Vollant)- allow several arguments to configure (Tim Mooney, Frodo Looijaard)- use libdir and includedir in Makefile.in (Tim Mooney)- support shared libraries on OSF1 V4 (Tim Mooney)- remove so_locations in "make clean" (Tim Mooney)- fix maketree.c compilation error (Glenn, Mark)- Python interface to zlib now in Python 1.5 (Jeremy Hylton)- new Makefile.riscos (Rich Walker)- initialize static descriptors in trees.c for embedded targets (Nick Smith)- use "foo-gz" in example.c for RISCOS and VMS (Nick Smith)- add the OS/2 files in Makefile.in too (Andrew Zabolotny)- fix fdopen and halloc macros for Microsoft C 6.0 (Tom Lane)- fix maketree.c to allow clean compilation of inffixed.h (Mark)- fix parameter check in deflateCopy (Gunther Nikl)- cleanup trees.c, use compressed_len only in debug mode (Christian Spieler)- Many portability patches by Christian Spieler: . zutil.c, zutil.h: added "const" for zmem* . Make_vms.com: fixed some typos . Make_vms.com: msdos/Makefile.*: removed zutil.h from some dependency lists . msdos/Makefile.msc: remove "default rtl link library" info from obj files . msdos/Makefile.*: use model-dependent name for the built zlib library . msdos/Makefile.emx, nt/Makefile.emx, nt/Makefile.gcc: new makefiles, for emx (DOS/OS2), emx&rsxnt and mingw32 (Windows 9x / NT)- use define instead of typedef for Bytef also for MSC small/medium (Tom Lane)- replace __far with _far for better portability (Christian Spieler, Tom Lane)- fix test for errno.h in configure (Tim Newsham)Changes in 1.1.2 (19 March 98)- added contrib/minzip, mini zip and unzip based on zlib (Gilles Vollant) See http://www.winimage.com/zLibDll/unzip.html- preinitialize the inflate tables for fixed codes, to make the code completely thread safe (Mark)- some simplifications and slight speed-up to the inflate code (Mark)- fix gzeof on non-compressed files (Allan Schrum)- add -std1 option in configure for OSF1 to fix gzprintf (Martin Mokrejs)- use default value of 4K for Z_BUFSIZE for 16-bit MSDOS (Tim Wegner + Glenn)- added os2/Makefile.def and os2/zlib.def (Andrew Zabolotny)- add shared lib support for UNIX_SV4.2MP (MATSUURA Takanori)- do not wrap extern "C" around system includes (Tom Lane)- mention zlib binding for TCL in README (Andreas Kupries)- added amiga/Makefile.pup for Amiga powerUP SAS/C PPC (Andreas Kleinert)- allow "make install prefix=..." even after configure (Glenn Randers-Pehrson)- allow "configure --prefix $HOME" (Tim Mooney)- remove warnings in example.c and gzio.c (Glenn Randers-Pehrson)- move Makefile.sas to amiga/Makefile.sasChanges in 1.1.1 (27 Feb 98)- fix macros _tr_tally_* in deflate.h for debug mode (Glenn Randers-Pehrson)- remove block truncation heuristic which had very marginal effect for zlib (smaller lit_bufsize than in gzip 1.2.4) and degraded a little the compression ratio on some files. This also allows inlining _tr_tally for matches in deflate_slow.- added msdos/Makefile.w32 for WIN32 Microsoft Visual C++ (Bob Frazier)Changes in 1.1.0 (24 Feb 98)- do not return STREAM_END prematurely in inflate (John Bowler)- revert to the zlib 1.0.8 inflate to avoid the gcc 2.8.0 bug (Jeremy Buhler)- compile with -DFASTEST to get compression code optimized for speed only- in minigzip, try mmap'ing the input file first (Miguel Albrecht)- increase size of I/O buffers in minigzip.c and gzio.c (not a big gain on Sun but significant on HP)- add a pointer to experimental unzip library in README (Gilles Vollant)- initialize variable gcc in configure (Chris Herborth)Changes in 1.0.9 (17 Feb 1998)- added gzputs and gzgets functions- do not clear eof flag in gzseek (Mark Diekhans)- fix gzseek for files in transparent mode (Mark Diekhans)- do not assume that vsprintf returns the number of bytes written (Jens Krinke)- replace EXPORT with ZEXPORT to avoid conflict with other programs- added compress2 in zconf.h, zlib.def, zlib.dnt- new asm code from Gilles Vollant in contrib/asm386- simplify the inflate code (Mark): . Replace ZALLOC's in huft_build() with single ZALLOC in inflate_blocks_new() . ZALLOC the length list in inflate_trees_fixed() instead of using stack . ZALLOC the value area for huft_build() instead of using stack . Simplify Z_FINISH check in inflate()- Avoid gcc 2.8.0 comparison bug a little differently than zlib 1.0.8- in inftrees.c, avoid cc -O bug on HP (Farshid Elahi)- in zconf.h move the ZLIB_DLL stuff earlier to avoid problems with the declaration of FAR (Gilles VOllant)- install libz.so* with mode 755 (executable) instead of 644 (Marc Lehmann)- read_buf buf parameter of type Bytef* instead of charf*- zmemcpy parameters are of type Bytef*, not charf* (Joseph Strout)- do not redeclare unlink in minigzip.c for WIN32 (John Bowler)- fix check for presence of directories in "make install" (Ian Willis)Changes in 1.0.8 (27 Jan 1998)- fixed offsets in contrib/asm386/gvmat32.asm (Gilles Vollant)- fix gzgetc and gzputc for big endian systems (Markus Oberhumer)- added compress2() to allow setting the compression level- include sys/types.h to get off_t on some systems (Marc Lehmann & QingLong)- use constant arrays for the static trees in trees.c instead of computing them at run time (thanks to Ken Raeburn for this suggestion). To create trees.h, compile with GEN_TREES_H and run "make test".- check return code of example in "make test" and display result- pass minigzip command line options to file_compress- simplifying code of inflateSync to avoid gcc 2.8 bug- support CC="gcc -Wall" in configure -s (QingLong)- avoid a flush caused by ftell in gzopen for write mode (Ken Raeburn)- fix test for shared library support to avoid compiler warnings- zlib.lib -> zlib.dll in msdos/zlib.rc (Gilles Vollant)- check for TARGET_OS_MAC in addition to MACOS (Brad Pettit)- do not use fdopen for Metrowerks on Mac (Brad Pettit))- add checks for gzputc and gzputc in example.c- avoid warnings in gzio.c and deflate.c (Andreas Kleinert)- use const for the CRC table (Ken Raeburn)- fixed "make uninstall" for shared libraries- use Tracev instead of Trace in infblock.c- in example.c use correct compressed length for test_sync- suppress +vnocompatwarnings in configure for HPUX (not always supported)Changes in 1.0.7 (20 Jan 1998)- fix gzseek which was broken in write mode- return error for gzseek to negative absolute position- fix configure for Linux (Chun-Chung Chen)- increase stack space for MSC (Tim Wegner)- get_crc_table and inflateSyncPoint are EXPORTed (Gilles Vollant)- define EXPORTVA for gzprintf (Gilles Vollant)- added man page zlib.3 (Rick Rodgers)- for contrib/untgz, fix makedir() and improve Makefile- check gzseek in write mode in example.c- allocate extra buffer for seeks only if gzseek is actually called- avoid signed/unsigned comparisons (Tim Wegner, Gilles Vollant)- add inflateSyncPoint in zconf.h- fix list of exported functions in nt/zlib.dnt and mdsos/zlib.defChanges in 1.0.6 (19 Jan 1998)- add functions gzprintf, gzputc, gzgetc, gztell, gzeof, gzseek, gzrewind and gzsetparams (thanks to Roland Giersig and Kevin Ruland for some of this code)- Fix a deflate bug occurring only with compression level 0 (thanks to Andy Buckler for finding this one).- In minigzip, pass transparently also the first byte for .Z files.- return Z_BUF_ERROR instead of Z_OK if output buffer full in uncompress()- check Z_FINISH in inflate (thanks to Marc Schluper)- Implement deflateCopy (thanks to Adam Costello)- make static libraries by default in configure, add --shared option.- move MSDOS or Windows specific files to directory msdos- suppress the notion of partial flush to simplify the interface (but the symbol Z_PARTIAL_FLUSH is kept for compatibility with 1.0.4)- suppress history buffer provided by application to simplify the interface (this feature was not implemented anyway in 1.0.4)- next_in and avail_in must be initialized before calling inflateInit or inflateInit2- add EXPORT in all exported functions (for Windows DLL)- added Makefile.nt (thanks to Stephen Williams)- added the unsupported "contrib" directory: contrib/asm386/ by Gilles Vollant <info@winimage.com> 386 asm code replacing longest_match(). contrib/iostream/ by Kevin Ruland <kevin@rodin.wustl.edu> A C++ I/O streams interface to the zlib gz* functions contrib/iostream2/ by Tyge Løvset <Tyge.Lovset@cmr.no> Another C++ I/O streams interface contrib/untgz/ by "Pedro A. Aranda Guti\irrez" <paag@tid.es> A very simple tar.gz file extractor using zlib contrib/visual-basic.txt by Carlos Rios <c_rios@sonda.cl> How to use compress(), uncompress() and the gz* functions from VB.- pass params -f (filtered data), -h (huffman only), -1 to -9 (compression level) in minigzip (thanks to Tom Lane)- use const for rommable constants in deflate- added test for gzseek and gztell in example.c- add undocumented function inflateSyncPoint() (hack for Paul Mackerras)- add undocumented function zError to convert error code to string (for Tim Smithers)- Allow compilation of gzio with -DNO_DEFLATE to avoid the compression code.- Use default memcpy for Symantec MSDOS compiler.- Add EXPORT keyword for check_func (needed for Windows DLL)- add current directory to LD_LIBRARY_PATH for "make test"- create also a link for libz.so.1- added support for FUJITSU UXP/DS (thanks to Toshiaki Nomura)- use $(SHAREDLIB) instead of libz.so in Makefile.in (for HPUX)- added -soname for Linux in configure (Chun-Chung Chen,- assign numbers to the exported functions in zlib.def (for Windows DLL)- add advice in zlib.h for best usage of deflateSetDictionary- work around compiler bug on Atari (cast Z_NULL in call of s->checkfn)- allow compilation with ANSI keywords only enabled for TurboC in large model- avoid "versionString"[0] (Borland bug)- add NEED_DUMMY_RETURN for Borland- use variable z_verbose for tracing in debug mode (L. Peter Deutsch).- allow compilation with CC- defined STDC for OS/2 (David Charlap)- limit external names to 8 chars for MVS (Thomas Lund)- in minigzip.c, use static buffers only for 16-bit systems- fix suffix check for "minigzip -d foo.gz"- do not return an error for the 2nd of two consecutive gzflush() (Felix Lee)- use _fdopen instead of fdopen for MSC >= 6.0 (Thomas Fanslau)- added makelcc.bat for lcc-win32 (Tom St Denis)- in Makefile.dj2, use copy and del instead of install and rm (Frank Donahoe)- Avoid expanded $Id$. Use "rcs -kb" or "cvs admin -kb" to avoid Id expansion.- check for unistd.h in configure (for off_t)- remove useless check parameter in inflate_blocks_free- avoid useless assignment of s->check to itself in inflate_blocks_new- do not flush twice in gzclose (thanks to Ken Raeburn)- rename FOPEN as F_OPEN to avoid clash with /usr/include/sys/file.h- use NO_ERRNO_H instead of enumeration of operating systems with errno.h- work around buggy fclose on pipes for HP/UX- support zlib DLL with BORLAND C++ 5.0 (thanks to Glenn Randers-Pehrson)- fix configure if CC is already equal to gccChanges in 1.0.5 (3 Jan 98)- Fix inflate to terminate gracefully when fed corrupted or invalid data- Use const for rommable constants in inflate- Eliminate memory leaks on error conditions in inflate- Removed some vestigial code in inflate- Update web address in READMEChanges in 1.0.4 (24 Jul 96)- In very rare conditions, deflate(s, Z_FINISH) could fail to produce an EOF bit, so the decompressor could decompress all the correct data but went on to attempt decompressing extra garbage data. This affected minigzip too.- zlibVersion and gzerror return const char* (needed for DLL)- port to RISCOS (no fdopen, no multiple dots, no unlink, no fileno)- use z_error only for DEBUG (avoid problem with DLLs)Changes in 1.0.3 (2 Jul 96)- use z_streamp instead of z_stream *, which is now a far pointer in MSDOS small and medium models; this makes the library incompatible with previous versions for these models. (No effect in large model or on other systems.)- return OK instead of BUF_ERROR if previous deflate call returned with avail_out as zero but there is nothing to do- added memcmp for non STDC compilers- define NO_DUMMY_DECL for more Mac compilers (.h files merged incorrectly)- define __32BIT__ if __386__ or i386 is defined (pb. with Watcom and SCO)- better check for 16-bit mode MSC (avoids problem with Symantec)Changes in 1.0.2 (23 May 96)- added Windows DLL support- added a function zlibVersion (for the DLL support)- fixed declarations using Bytef in infutil.c (pb with MSDOS medium model)- Bytef is define's instead of typedef'd only for Borland C- avoid reading uninitialized memory in example.c- mention in README that the zlib format is now RFC1950- updated Makefile.dj2- added algorithm.docChanges in 1.0.1 (20 May 96) [1.0 skipped to avoid confusion]- fix array overlay in deflate.c which sometimes caused bad compressed data- fix inflate bug with empty stored block- fix MSDOS medium model which was broken in 0.99- fix deflateParams() which could generated bad compressed data.- Bytef is define'd instead of typedef'ed (work around Borland bug)- added an INDEX file- new makefiles for DJGPP (Makefile.dj2), 32-bit Borland (Makefile.b32), Watcom (Makefile.wat), Amiga SAS/C (Makefile.sas)- speed up adler32 for modern machines without auto-increment- added -ansi for IRIX in configure- static_init_done in trees.c is an int- define unlink as delete for VMS- fix configure for QNX- add configure branch for SCO and HPUX- avoid many warnings (unused variables, dead assignments, etc...)- no fdopen for BeOS- fix the Watcom fix for 32 bit mode (define FAR as empty)- removed redefinition of Byte for MKWERKS- work around an MWKERKS bug (incorrect merge of all .h files)Changes in 0.99 (27 Jan 96)- allow preset dictionary shared between compressor and decompressor- allow compression level 0 (no compression)- add deflateParams in zlib.h: allow dynamic change of compression level and compression strategy.- test large buffers and deflateParams in example.c- add optional "configure" to build zlib as a shared library- suppress Makefile.qnx, use configure instead- fixed deflate for 64-bit systems (detected on Cray)- fixed inflate_blocks for 64-bit systems (detected on Alpha)- declare Z_DEFLATED in zlib.h (possible parameter for deflateInit2)- always return Z_BUF_ERROR when deflate() has nothing to do- deflateInit and inflateInit are now macros to allow version checking- prefix all global functions and types with z_ with -DZ_PREFIX- make falloc completely reentrant (inftrees.c)- fixed very unlikely race condition in ct_static_init- free in reverse order of allocation to help memory manager- use zlib-1.0/* instead of zlib/* inside the tar.gz- make zlib warning-free with "gcc -O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion -Wstrict-prototypes -Wmissing-prototypes"- allow gzread on concatenated .gz files- deflateEnd now returns Z_DATA_ERROR if it was premature- deflate is finally (?) fully deterministic (no matches beyond end of input)- Document Z_SYNC_FLUSH- add uninstall in Makefile- Check for __cpluplus in zlib.h- Better test in ct_align for partial flush- avoid harmless warnings for Borland C++- initialize hash_head in deflate.c- avoid warning on fdopen (gzio.c) for HP cc -Aa- include stdlib.h for STDC compilers- include errno.h for Cray- ignore error if ranlib doesn't exist- call ranlib twice for NeXTSTEP- use exec_prefix instead of prefix for libz.a- renamed ct_* as _tr_* to avoid conflict with applications- clear z->msg in inflateInit2 before any error return- initialize opaque in example.c, gzio.c, deflate.c and inflate.c- fixed typo in zconf.h (_GNUC__ => __GNUC__)- check for WIN32 in zconf.h and zutil.c (avoid farmalloc in 32-bit mode)- fix typo in Make_vms.com (f$trnlnm -> f$getsyi)- in fcalloc, normalize pointer if size > 65520 bytes- don't use special fcalloc for 32 bit Borland C++- use STDC instead of __GO32__ to avoid redeclaring exit, calloc, etc...- use Z_BINARY instead of BINARY- document that gzclose after gzdopen will close the file- allow "a" as mode in gzopen.- fix error checking in gzread- allow skipping .gz extra-field on pipes- added reference to Perl interface in README- put the crc table in FAR data (I dislike more and more the medium model :)- added get_crc_table- added a dimension to all arrays (Borland C can't count).- workaround Borland C bug in declaration of inflate_codes_new & inflate_fast- guard against multiple inclusion of *.h (for precompiled header on Mac)- Watcom C pretends to be Microsoft C small model even in 32 bit mode.- don't use unsized arrays to avoid silly warnings by Visual C++: warning C4746: 'inflate_mask' : unsized array treated as '__far' (what's wrong with far data in far model?).- define enum out of inflate_blocks_state to allow compilation with C++Changes in 0.95 (16 Aug 95)- fix MSDOS small and medium model (now easier to adapt to any compiler)- inlined send_bits- fix the final (:-) bug for deflate with flush (output was correct but not completely flushed in rare occasions).- default window size is same for compression and decompression (it's now sufficient to set MAX_WBITS in zconf.h).- voidp -> voidpf and voidnp -> voidp (for consistency with other typedefs and because voidnp was not near in large model).Changes in 0.94 (13 Aug 95)- support MSDOS medium model- fix deflate with flush (could sometimes generate bad output)- fix deflateReset (zlib header was incorrectly suppressed)- added support for VMS- allow a compression level in gzopen()- gzflush now calls fflush- For deflate with flush, flush even if no more input is provided.- rename libgz.a as libz.a- avoid complex expression in infcodes.c triggering Turbo C bug- work around a problem with gcc on Alpha (in INSERT_STRING)- don't use inline functions (problem with some gcc versions)- allow renaming of Byte, uInt, etc... with #define.- avoid warning about (unused) pointer before start of array in deflate.c- avoid various warnings in gzio.c, example.c, infblock.c, adler32.c, zutil.c- avoid reserved word 'new' in trees.cChanges in 0.93 (25 June 95)- temporarily disable inline functions- make deflate deterministic- give enough lookahead for PARTIAL_FLUSH- Set binary mode for stdin/stdout in minigzip.c for OS/2- don't even use signed char in inflate (not portable enough)- fix inflate memory leak for segmented architecturesChanges in 0.92 (3 May 95)- don't assume that char is signed (problem on SGI)- Clear bit buffer when starting a stored block- no memcpy on Pyramid- suppressed inftest.c- optimized fill_window, put longest_match inline for gcc- optimized inflate on stored blocks.- untabify all sources to simplify patchesChanges in 0.91 (2 May 95)- Default MEM_LEVEL is 8 (not 9 for Unix) as documented in zlib.h- Document the memory requirements in zconf.h- added "make install"- fix sync search logic in inflateSync- deflate(Z_FULL_FLUSH) now works even if output buffer too short- after inflateSync, don't scare people with just "lo world"- added support for DJGPPChanges in 0.9 (1 May 95)- don't assume that zalloc clears the allocated memory (the TurboC bug was Mark's bug after all :)- let again gzread copy uncompressed data unchanged (was working in 0.71)- deflate(Z_FULL_FLUSH), inflateReset and inflateSync are now fully implemented- added a test of inflateSync in example.c- moved MAX_WBITS to zconf.h because users might want to change that.- document explicitly that zalloc(64K) on MSDOS must return a normalized pointer (zero offset)- added Makefiles for Microsoft C, Turbo C, Borland C++- faster crc32()Changes in 0.8 (29 April 95)- added fast inflate (inffast.c)- deflate(Z_FINISH) now returns Z_STREAM_END when done. Warning: this is incompatible with previous versions of zlib which returned Z_OK.- work around a TurboC compiler bug (bad code for b << 0, see infutil.h) (actually that was not a compiler bug, see 0.81 above)- gzread no longer reads one extra byte in certain cases- In gzio destroy(), don't reference a freed structure- avoid many warnings for MSDOS- avoid the ERROR symbol which is used by MS WindowsChanges in 0.71 (14 April 95)- Fixed more MSDOS compilation problems :( There is still a bug with TurboC large model.Changes in 0.7 (14 April 95)- Added full inflate support.- Simplified the crc32() interface. The pre- and post-conditioning (one's complement) is now done inside crc32(). WARNING: this is incompatible with previous versions; see zlib.h for the new usage.Changes in 0.61 (12 April 95)- workaround for a bug in TurboC. example and minigzip now work on MSDOS.Changes in 0.6 (11 April 95)- added minigzip.c- added gzdopen to reopen a file descriptor as gzFile- added transparent reading of non-gziped files in gzread.- fixed bug in gzread (don't read crc as data)- fixed bug in destroy (gzio.c) (don't return Z_STREAM_END for gzclose).- don't allocate big arrays in the stack (for MSDOS)- fix some MSDOS compilation problemsChanges in 0.5:- do real compression in deflate.c. Z_PARTIAL_FLUSH is supported but not yet Z_FULL_FLUSH.- support decompression but only in a single step (forced Z_FINISH)- added opaque object for zalloc and zfree.- added deflateReset and inflateReset- added a variable zlib_version for consistency checking.- renamed the 'filter' parameter of deflateInit2 as 'strategy'. Added Z_FILTERED and Z_HUFFMAN_ONLY constants.Changes in 0.4:- avoid "zip" everywhere, use zlib instead of ziplib.- suppress Z_BLOCK_FLUSH, interpret Z_PARTIAL_FLUSH as block flush if compression method == 8.- added adler32 and crc32- renamed deflateOptions as deflateInit2, call one or the other but not both- added the method parameter for deflateInit2.- added inflateInit2- simplied considerably deflateInit and inflateInit by not supporting user-provided history buffer. This is supported only in deflateInit2 and inflateInit2.Changes in 0.3:- prefix all macro names with Z_- use Z_FINISH instead of deflateEnd to finish compression.- added Z_HUFFMAN_ONLY- added gzerror()