Repository navigation
Bump zstd to 0.14.3 and liblzma to 0.4 - #123
Merged
Merged
Conversation
zstd < 0.14.3 / zstd-safe < 8.2.0 / zstd-sys < 2.1.2 are covered by the RustSec advisories published 2026-10-16 (RUSTSEC-2026-0391, -0398, -0403, -0410). needletail only uses the streaming read decoders and (in tests) the write encoders, whose APIs are unchanged in zstd 0.14 and liblzma 0.4. liblzma 0.4 also lets needletail coexist with crates that already moved to it (niffler >= 3.0.1): both link the native `lzma` library, so today a project using needletail with compression is pinned to niffler 3.0.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
@rob-p released 0.7.4 to pypi+crates https://github.com/onecodex/needletail/releases/tag/v0.7.4 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR bumps
zstdfrom 0.13.2 to 0.14.3 andliblzmafrom 0.3.1 to 0.4. Both are optional dependencies, enabled by the defaultcompressionfeature.Why
Security advisories. On 2026-10-16, RustSec published advisories against the zstd crates. Any project that enables needletail's default features inherits them:
cargo auditflags all of these for downstream crates. zstd 0.14.3 resolves to zstd-safe 8.2.0 and zstd-sys 2.1.2, the patched versions.links = "lzma"conflicts. liblzma 0.3 and 0.4 both link the nativelzmalibrary, so only one can be in a dependency graph. niffler ≥ 3.0.1 uses liblzma 0.4, so any project that uses needletail with compression is pinned to niffler 3.0.0. niffler 3.0.0 in turn depends on zstd 0.13, so these projects can't clear the advisories above.Compatibility
zstd::stream::read::Decoderandliblzma::read::XzDecoder, plus the corresponding write encoders in tests. Their APIs are unchanged in zstd 0.14 and liblzma 0.4, so no code changes are needed..zstdecoding behaves identically.Testing
cargo test(default features): all tests pass, including the compressed-input round trips for gz, bz2, xz and zst.cargo test --no-default-features: all tests pass.cargo clippy --all-targets: no new warnings.cargo auditreports no vulnerabilities.A
CHANGELOG.mdentry is added under Unreleased.