This is a stable release, with several minor improvements and one corruption fix for inflateCopy().
This release also improves on the functable implementation, and also moves its initialization to happen in deflateInit() and inflateInit(). We also have some optimizations for RVV and ARM.
Notes for packagers:
- FAR macro has been added back to zlib-compat mode in this release, please remember to remove downstream patches that add it.
- Please consider removing CMake
INSTALL_LIB_DIR
workarounds, this should not be needed since v2.0.2 (2021), but packagers seem to keep copying the workaround from each other. Please see cmake/detect-install-dirs.cmake.
Changes
- Fix inflateCopy corruption caused by change in 2.1.4 #1628
- This is a regression caused by a change introduced in 2.1.4
-
Functable
-
API
- Add FAR macro to zlib-compat headers to improve compatibility #1637
-
ARM
-
RVV
- Optimize adler32_fold_copy using RVV #1597
-
x86
- Simplify AVX2 and AVX512 adler32_fold_copy by removing templates #1599
-
Buildsystem
- Don't attempt ARMv6 detection on AARCH64 #1617
- Prevent tests writing into source directory #1604
- CMake: Fix clang-cl warnings #1591
- CMake: Export cmake target #1601 #1611
- CMake: Remove duplicate enable tests option #1610
- CMake: Fix reading version information from zlib.h.in #1614
- CMake: Check whether compiler supports -march=native or -mcpu=native #1618
- CMake: Always run compiler feature tests without LTO #1622
- CMake: Make sure uqsub16 check doesn't get optimized away with LTO #1619
- CMake: Update to GoogleTest 1.12.1 #1623
- CI: Add linter workflow for whitespace errors #1625 #1632
- CI: Cancel outdated running CI jobs for PR or branch #1629
- CI: Added CI instance for WITH_NATIVE_INSTRUCTIONS #1634
- Tests: Fix buffer overflow in compare256_rle benchmark #1612
-
Misc
- Update copyright to sync with zlib 1.3 #1615