Skip to content

Releases: zlib-ng/zlib-ng

2.0.6 - Christmas Special

24 Dec 13:22
Compare
Choose a tag to compare

This update backports a few fixes and a lot of improvements to the tests.

The most important fix is the one that fixes potential hangs on macOS.
The buffer overwrite in minideflate is not as severe because the minideflate tool is primarily used for testing, and likely not widely used by others.
The incorrect deflateBound and compressBound might cause reduced performance or potentially compression failure if the application does not re-try compression when zlib-ng runs out of space in the output buffer.

Changes since 2.0.5:

2.0.5

25 Jun 17:58
Compare
Choose a tag to compare

This update fixes another corruption during inflate, this time only affecting ARM, so far only observed when using pigz.
There is also multiple minor improvements.

Changes since 2.0.4:

2.0.4

11 Jun 20:03
Compare
Choose a tag to compare

This update fixes a possible corruption during inflate, so far only observed when using pigz.
Multiple fixes improve compatibility with various platforms.

Because our stable release branch focuses on keeping changes and bugfixes small, the fix for the inflate bug reduces decompression performance by about ~18-20% (benchmarked on x86-64).
A more comprehensive refactoring of the involved code will be pushed to develop soon, and will appear in release 2.1.0 when that is ready.

Changes since 2.0.3:

  • Fix inflate corruption #982
  • Minor code cleanup #983 #984
  • Fix mpicc compilation #959
  • Fix build on NetBSD #964
  • Fix build on OpenBSD #970
  • Fix build on Cygwin #972 #974
  • Fix linter warnings in configure #975
  • Spelling fixes #961
  • Improve unistd.h handling #960
  • Remove stdarg.h detection #976
  • CI/Test improvements #977 #981 #985
  • Cmake improvements #980 #989

2.0.3

13 May 09:11
Compare
Choose a tag to compare

This update fixes a crash on ARMv7.
Building zlib-ng is now fixed with FreeBSD, RISC-V, Musl, and certain ARM platforms.
Windows ARM dlls are now available pre-compiled with releases.

Changes since 2.0.2:

  • Include porting guide in release packages #917
  • Documentation improvements #913 #949
  • Added Windows ARM binaries in release packages #916
  • Fix crash on ARMv7 #927
  • Fix building on FreeBSD #921
  • Fix building with musl on aarch64 #936
  • Fix ARM float-abi detection #918
  • Fix cmake detection of risc-v architectures #942
  • Minor buildsystem fixes #922 #924 #933 #938 #950
  • Improve zlib-compat build #915 #944
  • CI/Test improvements #926 #929 #927 #937 #939 #940

Known issues:

  • Compilation fails with mpicc #956

2.0.2

23 Mar 17:52
Compare
Choose a tag to compare

This update fixes a rare corruption case in compression, so far only spotted using fuzzing.
Besides that, there are several fixes for minor problems found by users.

Changes since 2.0.1:

  • #897 Fix rare corruption detected by fuzzing.
  • #899 Fix compilation on FreeBSD older than version 12.
  • #898 Fix compilation on aarch64 using cmake.
  • #882 Fix pkgconfig file generation.
  • #885 #891 Cmake: Add detection of install dirs from command line.
  • #900 Cmake: Add warning message for too old MSVC.
  • #889 Add warning message when including zlib-ng.h and zlib.g in the same compilation unit.
  • #879 Cleanups for cmake.
  • #896 #893 #892 Minor changes to CI/tests.

Known issues:

None

2.0.1 - Hotfix

17 Mar 09:37
Compare
Choose a tag to compare

This hotfix fixes a rare corruption case in deflate_quick, used by compression level 1.

Changes since 2.0.0:

  • #880 Fix block_open handling in deflate_quick.

Known issues:

  • #869 Silent corruption with DFLTCC enabled (only affects IBM Z architecture). [Being worked on by @iii-i]
  • #873 Compilation failure on FreeBSD older than version 12. [PR abandoned, help wanted]

2.0.0 - First stable release

16 Mar 20:05
Compare
Choose a tag to compare

Hotfix: 2.0.1 has been released to fix a corruption bug in deflate_quick in this release.


Since RC2, we have merged a lot of improvements to the CI testing and documentation/comments.
A few minor bugs have been fixed as well.
Unfortunately there are at this moment two known bugs remaining, but we decided to add the warnings and go ahead with the release.

We have run a lot of testing, and we are quite confident in zlib-ng in its current state, but since this is our first release, we advise caution before using this in critical systems. We do expect corner-case bugs to be revealed once more people start to use zlib-ng, especially since there are countless variations as to how you can make use of the zlib/zlib-ng api.
That said, zlib-ng has been used without issue for years in production servers, but built into specific applications, not os/distro-wide.

x86-64 benchmarks:

Zlib-ng is about 4x faster than zlib, and 2.1x faster than gzip for compression.
Zlib-ng is about 2.4x faster than zlib and 1.8x faster than gzip when decompressing.
See #871 for the full x86-64 benchmark comparisons with zlib and gzip.

Changes since RC2:

  • Fix incorrect bi_valid handling in deflate_quick (level 1).
  • Cmake: Fix defining HAVE_SYS_SDT_H.
  • Cmake: Fix compiling of zlibstatic when BUILD_SHARED_LIBS is OFF.
  • Configure: Fix for incorrect handling of --native.
  • Many changes to improve robustness of CI testing.
  • Addition of PORTING.md.
  • Many small documentation changes.
  • Removal of misleading zlib.3 (zlib man-page).

Known issues:

  • #869 Silent corruption with DFLTCC enabled (only affects IBM Z architecture). [Being worked on by @iii-i]
  • #873 Compilation failure on FreeBSD older than version 12. [PR abandoned, help wanted]

2.0.0 Release Candidate 2

29 Jan 08:53
Compare
Choose a tag to compare
Pre-release

We have closed a few smaller bugs, made a couple minor improvements, and fixed the remaining CI tests.
Currently, nothing code-related is on my TODO list for this release.

Changelog since RC1:

  • Make deflate internal_state struct size static, regardless of compiled in features.
  • Add extra padding in deflate internal_state struct, to make future expansion easier.
  • Very minor optimization of longest_match.
  • Fix 32-bit zlib-compat builds.
  • Fix missing large-file defines for zlib-compat.
  • Remove erroneous debug check, breaking debug builds.
  • Fix MacOS CI builds.
  • Various CI fixes.

We appreciate any testing feedback, both concerning bugs/problems but also if you have performed tests without encountering errors.

2.0.0 Release Candidate 1

11 Jan 23:52
Compare
Choose a tag to compare
Pre-release

This will hopefully be the last pre-release before releasing 2.0.0 proper.

We have recently closed the last of the sanitizer and static analyzer bugs I am aware of, and the few bugs we have seen recently are corner cases in regards to the build system not building properly on platform X or with compiler Y, etc.
We do have a couple failing CI tests, but both of those are AFAICT a problem with the tests and not with zlib-ng itself.

We plan to release the final 2.0.0 version in 2-3 weeks, unless we see bug-reports that warrant postponing the release.

PS: This release candidate was re-released with a couple SOVERSION fixes that were only detected after the initial attempt.

1.9.9 Beta 1

27 Sep 21:25
Compare
Choose a tag to compare
1.9.9 Beta 1 Pre-release
Pre-release

This is the initial beta-test release.
There might be bugs and we might still need API/ABI fixes but as of right now we do not know of any serious bugs (With the exception of #772).

This is not to be considered stable for use on critical data. That said, zlib-ng is running in some production environments, but those only utilize some of the codepaths and there might well be bugs in other codepaths (there are countless combinations with the zlib api).

Please test and report back your good/bad experiences here: #775
If you encounter a bug, please create a new issue with as much information about cpu, os, application as possible, and attach logs from compilation of zlib-ng (so we can see what kind of build was done) and any application logs related to the bug. If you have relevant test data that you can share publicly, that is also great.