Skip to content

v0.0.3

Latest

Choose a tag to compare

@muhammad-fiaz muhammad-fiaz released this 24 Aug 16:45
be1228a

This release includes:

  • Bumped brotli.zig from 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 / NDIRECT distance coding support.
  • Added metadata metablock emission through .emit_metadata and StreamingCompressor.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.