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 betweenlibz-sys
(used e.g. by openssl) andzlib-rs
. - the
cdylib
crate now usespanic=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
- make the fallback implementation of slidehash vectorize better by @folkertdev in #296
- Clippy 1.85.0 fixes by @folkertdev in #299
- the standard
slide_hash
implementation vectorizes well on avx2 by @folkertdev in #298 - remove explicit SIMD reads and writes by @folkertdev in #303
- Store mode on the stack in dispatch by @bjorn3 in #304
- add
Cargo.lock
by @folkertdev in #308 zlig-ng
->zlib-ng
by @folkertdev in #310- use a more straightforward bit counting operaration by @folkertdev in #311
- use safe chunking in wasm32/aarch64 compare256 by @folkertdev in #312
- Inflate cleanups by @folkertdev in #313
- Show sponsor button by @erikjee in #316
- add
semver-prefix
feature (like we have for libbz2-rs-sys) by @folkertdev in #318 - explicitly document memory management by @folkertdev in #317
- Loop match preparations by @folkertdev in #319
- add
export-symbols
feature flag by @folkertdev in #322 - add
panic=abort
to the cdylib by @folkertdev in #323 - run clippy for more scenarios by @folkertdev in #325
- add
zlibCompileFlags
by @folkertdev in #324 - refactor zeroed allocation api by @folkertdev in #327
- fix alignment in zeroed allocations by @folkertdev in #328
- investigate CI failure by @folkertdev in #329
Full Changelog: v0.4.2...v0.5.0