What's new in Zlib 1.3.1
Jan 22, 2024
- Reject overflows of zip header fields in minizip.
- Fix bug in inflateSync() for data held in bit buffer.
- Add LIT_MEM define to use more memory for a small deflate speedup.
- Fix decision on the emission of Zip64 end records in minizip.
- Add bounds checking to ERR_MSG() macro, used by zError().
- Neutralize zip file traversal attacks in miniunz.
- Fix a bug in ZLIB_DEBUG compiles in check_match().
New in Zlib 1.3 (Aug 20, 2023)
- Building using K&R (pre-ANSI) function definitions is no longer supported.
- Fixed a bug in deflateBound() for level 0 and memLevel 9.
- Fixed a bug when gzungetc() is used immediately after gzopen().
- Fixed a bug when using gzflush() with a very small buffer.
- Fixed a crash when gzsetparams() is attempted for a transparent write.
- Fixed test/example.c to work with FORCE_STORED.
- Fixed minizip to allow it to open an empty zip file.
- Fixed reading disk number start on zip64 files in minizip.
- Fixed a logic error in minizip argument processing.
New in Zlib 1.2.13 (Oct 14, 2022)
- Fix a bug when getting a gzip header extra field with inflateGetHeader(). This remedies CVE-2022-37434.
- Fix a bug in block type selection when Z_FIXED used. Now the smallest block type is selected, for better compression.
- Fix a configure issue that discarded the provided CC definition.
- Correct incorrect inputs provided to the CRC functions. This mitigates a bug in Java.
- Repair prototypes and exporting of the new CRC functions.
- Fix inflateBack to detect invalid input with distances too far.
New in Zlib 1.2.12 (Mar 28, 2022)
- Fix a deflate bug when using the Z_FIXED strategy that can result in out-of-bound accesses.
- Fix a deflate bug when the window is full in deflate_stored().
- Speed up CRC-32 computations by a factor of 1.5 to 3.
- Use the hardware CRC-32 instruction on ARMv8 processors.
- Speed up crc32_combine() with powers of x tables.
- Add crc32_combine_gen() and crc32_combine_op() for fast combines.
New in Zlib 1.2.11 (Jun 24, 2019)
- Fix deflate stored bug when pulling last block from window
- Permit immediate deflateParams changes before any deflate input
New in Zlib 1.2.8 (Apr 30, 2013)
- Add new inflateGetDictionary() function
- Fix bug where gzopen() immediately followed by gzclose() would write an empty file instead of an empty gzip stream.
- Fix bug in gzclose() when gzwrite() runs out of memory
New in Zlib 1.2.7 (May 4, 2012)
- Fix bug in gzclose_w() when gzwrite() fails to allocate memory
- Add "x" (O_EXCL) and "e" (O_CLOEXEC) modes support to gzopen()
- Add gzopen_w() in Windows for wide character path names
- Fix type mismatch between get_crc_table() and crc_table
New in Zlib 1.2.6 (Feb 1, 2012)
- gzread() can now read a file that is being written concurrently
- gzgetc() is now a macro for increased speed
- Added a 'T' option to gzopen() for transparent writing (no compression)
- Added deflatePending() to return the amount of pending output
- Allow deflateSetDictionary() and inflateSetDictionary() at any time in raw mode
- deflatePrime() can now insert bits in the middle of the stream
- configure now creates a configure.log file with all of the results
- Added a ./configure --solo option to compile zlib with no dependency on any libraries
- Fixed a problem with large file support macros
- Fixed a bug in contrib/puff
- Many portability improvements
New in Zlib 1.2.5 (May 18, 2010)
- Fixes bugs in gzseek() and gzeof() that were present in version 1.2.4
New in Zlib 1.2.4 (May 18, 2010)
- Fixed bugs in adler32_combine(), compressBound(), and deflateBound()
- Wholesale replacement of gz* functions with faster versions
- As part of that, added gzbuffer(), gzoffset(), gzclose_r(), and gzclose_w() functions
- Faster Z_HUFFMAN_ONLY and Z_RLE compression for images and other specialized compression
- Added flush options Z_BLOCK to deflate() and Z_TREES to inflate() for finer control
- Added inflateReset2() and inflateMark() functions, the latter to aid in random access applications
- Added LFS (Large File Summit) support for 64-bit file offsets and many other portability improvements
- Updated examples in examples/ and updated third-party contributions in contrib/