Skip to content

Releases: trifectatechfoundation/zlib-rs

v0.6.3

02 Mar 11:48
v0.6.3
e00c7ac

Choose a tag to compare

Highlights

A while ago a bug was reported in zlib-rs #459, which turned out to also exist in zlib-ng. zlib-ng has now fixed the bug and made a new release, and we're following suit here. This fix can change the output of compression slightly.

What's Changed

New Contributors

Full Changelog: v0.6.2...v0.6.3

v0.6.2

02 Mar 11:47
v0.6.2
0d4329f

Choose a tag to compare

What's Changed

Full Changelog: v0.6.1...v0.6.2

Release 0.6.1

02 Mar 11:47
v0.6.1
2e487e3

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.5.5...v0.6.1

Release v0.6.0

23 Jan 10:49
v0.6.0
14e15a2

Choose a tag to compare

breaking changes

libz-rs-sys

  • functions that used extern "C-unwind" before now use extern "C". This helps when building zlib-rs as a C library, because unwinding from rust into C is UB. Now, if a panic does occur in the rust code, it will abort the program at the FFI boundary rather than unwind into C code. If you do really need unwinding in rust code, we suggest using flate2 or using zlib-rs directly.

zlib-rs

  • the internals are no longer publicly exposed. If you were using some unstable symbol before, and it is no longer exported, but you do believe it would be reasonable for us to provide it, let us know.
  • the uncompress_slice function was renamed to decompress_slice

other highlights

  • the gz* functions are now included in the main crate. Thanks again to @brian-pane for implementing these.
  • overall we now provide all public symbols that zlib-ng provides (e.g. inflateBack was added). The gzprintf and gzvprintf functions need nightly though.
  • improved avx512 support.

What's Changed

New Contributors

Full Changelog: v0.5.5...v0.6.0

v0.5.5

22 Dec 20:25
v0.5.5
a79a06b

Choose a tag to compare

What's Changed

Full Changelog: v0.5.4...v0.5.5

v0.5.4

10 Dec 11:58
v0.5.4
907d4cc

Choose a tag to compare

What's Changed

Full Changelog: v0.5.3...v0.5.4

v0.5.3

04 Dec 09:41
v0.5.3
5c62764

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.5.2...v0.5.3

v0.5.2

02 Sep 10:16
v0.5.2
5422149

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.5.1...v0.5.2

v0.5.1

06 Jun 11:03
v0.5.1
6262bb8

Choose a tag to compare

Highlights

  • we now have experimental support for the gz* functions when building a C dynamic library. See the README of libz-rs-sys-cdylib. (most of the work here was done by @brianpane
  • fixed a bug where uninitialized memory was read (but not used) during decompression, see #346
  • fixed some logic bugs in the construction of the gzip header (unlikely to come up in practice)
  • performance improvements for compression and decompression
  • we support inflateCodesUsed, inflateGetDictionary and deflateGetDictionary

What's Changed

New Contributors

Full Changelog: v0.5.0...v0.5.1

v0.5.0

01 Apr 12:20
v0.5.0

Choose a tag to compare

This is technically a breaking change, but unless you rely on rust exporting C symbols, you should not run into any issues when upgrading.

highlights

  • the export-symbols feature now controls whether C symbols are exported. This feature is off by default (that is why this is a breaking change; the behavior of earlier versions was to export those symbols). For rust users that is almost certainly the correct default, because it means zlib-rs can be used together with stock zlib or zlib-ng in the same project. This should fix some issues with symbol clashes between libz-sys (used e.g. by openssl) and zlib-rs.
  • the cdylib crate now uses panic=abort. For C users, that is the only safe way to panic, because unwinding to C is unsound.
  • Some simplifications to simd code: in a number of cases, LLVM optimizes safe rust code to the equivalent assembly that we achieved with explicit simd before.

What's Changed

Full Changelog: v0.4.2...v0.5.0