This release includes:
- Bumped
brotli.zigfrom v0.0.2 to v0.0.3. - Added RFC 7932 second-order literal context modeling with up to 64 contexts and context-tree clustering.
- Added literal block switching for improved compression of heterogeneous data.
- Added static dictionary references using the embedded RFC 7932 dictionary and transform table.
- Added dictionary transforms including identity, suffix, omit-last-N, uppercase-first, and uppercase-all.
- Added large-window encoding support for LGWIN 25–30.
- Added complete
NPOSTFIX/NDIRECTdistance coding support. - Added metadata metablock emission through
.emit_metadataandStreamingCompressor.emitMetadata(). - Reworked streaming decompression to correctly preserve bit-level state across input boundaries.
- Added support for arbitrary streaming chunk sizes, including one-byte-at-a-time input.
- Added
endInput()for explicit end-of-stream handling. - Fixed multiple 32-bit portability issues across encoder and decoder paths.
- Improved compression efficiency on heterogeneous workloads, with reductions of 10.5% and 6.1% on the tested mixed and hetero2 corpora compared with v0.0.2.
- Added extensive tests for context modeling, block switching, static dictionaries, large windows, distance coding, metadata, streaming, and edge cases.
- Verified interoperability with Brotli 1.1 with 55/55 differential cases passing.
- Verified 132/132 quality combinations across 11 corpora.
- Verified cross-target compilation across 8 targets, including real 32-bit x86 Windows.
- Updated all documentation, API references, installation instructions, feature information, and version references for v0.0.3.