NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #1520 most downloaded on crates.io
a drop-in compatible rust bzip2 implementation
Last release 4 months ago
16 May 2026
Release timing varies
gaps range from 4 weeks to 8 months
Most releases are documented
notes for 7 of 9 stable releases
1 version withdrawn
withdrawn after publishing
2 years old
10 releases · first in 2024
One column per month.
fix logic error in blocksort by @folkertdev in #138
A bunch of various fixes to make the Rust version match the C version, make documentation consistent and accurate, and work around some edge cases lik
A bunch of various fixes to make the Rust version match the C version, make documentation consistent and accurate, and work around some edge cases like very large allocations.
Full Changelog: v0.2.3...v0.2.4
add the audit report by @folkertdev in #115
--jobs 4 for the fuzzers by @folkertdev in #116BZ2_RNUMS by @folkertdev in #118--workspace no longer being passed by @folkertdev in #124bzip2 by @folkertdev in #129Cow for the input/output paths by @folkertdev in #128blocksort.rs by @folkertdev in #132BZ2_bzerror to not panic on a NULL pointer by @folkertdev in #131Full Changelog: v0.2.1...v0.2.3
add the audit report by @folkertdev in #115
--jobs 4 for the fuzzers by @folkertdev in #116BZ2_RNUMS by @folkertdev in #118Full Changelog: v0.2.1...v0.2.2
Performance improvements for (de)compression of small inputs
decompress actually decompress arbitrary bytes by @folkertdev in #104decompress_chunked fuzzer: handle larger inputs by @folkertdev in #106rotate_right by 1 by @folkertdev in #108rotate_right_1: special-case the 2-byte case by @folkertdev in #111fallback_sort by @folkertdev in #113Full Changelog: v0.2.0...v0.2.1
This is technically a breaking change, but unless you rely on rust exporting C symbols, you should not run into any issues when upgrading.
This is technically a breaking change, but unless you rely on rust exporting C symbols, you should not run into any issues when upgrading.
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 libbzip2-rs can be used together with stock bzip2 in the same project. This should fix some issues with symbol clashes between bzip2-sys and libbzip2-sys.
export-symbols feature flag by @folkertdev in #101cargo llvm-cov nextest to run tests and gather coverage by @folkertdev in #102Full Changelog: v0.1.3...v0.2.0
Nothing published for this version
Mostly performance improvements, primarily to compression. We've also added the semver-prefix feature flag, that will prefix all exposed symbols with
Mostly performance improvements, primarily to compression. We've also added the semver-prefix feature flag, that will prefix all exposed symbols with a version-specific prefix, so that we don't clash with the C library (or different versions of ourselves). That means multiple versions of bzip2 can be used in the same dependency tree without any weird behavior.
bzip2-rs test suite by @folkertdev in #70un_rle_obuf_to_output_fast by @folkertdev in #72decompress.rs: faster input reading by @folkertdev in #85blocksort more by @folkertdev in #89semver-prefix feature for use by bzip2-rs by @folkertdev in #92Full Changelog: v0.1.1...v0.1.2
ensure that the rust-allocator can be used without std (it just needs alloc )
Changelog
rust-allocator can be used without std (it just needs alloc)no_std mode, still panic instead of calling bz_internal_error. The cdylib crate still calls bz_internal_error in its panic handler to remain compatible, but for rust users an actual panic is desirable and plays nicer with building/linking.Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →