Skip to content

v2.0.0

Latest

Choose a tag to compare

@sam0x17 sam0x17 released this 07 Sep 22:54
  • Require Rust 1.98.0+ and upgrade the solana feature to Solana v4 and Agave 4.2 (breaking changes).
  • Add solana-primitives and solana-types features for lightweight Solana integrations.
  • Add bounded reconstruction of legacy, v0, and v1 Solana transactions, plus versioned canonical and dictionary-backed semantic LZ4 entry-batch codecs.
  • Add decode_exact and decode_exact_ext to reject trailing bytes, and decode_exact_with_limits to cap input, collection sizes, and allocation.
  • Add Error::DecodeLimitExceeded and Error::TrailingData; downstream exhaustive matches must handle both variants.
  • Reject oversized and non-canonical native varints while preserving support for canonical 1.x encodings.
  • Add configurable diff policies, cache limits, and frame-skipping APIs. Raw XOR mode 3 requires explicit opt-in; default diff modes 0 through 2 remain unchanged.
  • Add opt-in unsigned LEB128 dedupe IDs and fix dedupe references across mixed value types.
  • Reduce copies and allocations through borrowed dedupe decoding, in-place diff updates, and reusable Solana buffers.
  • Retune byte and string compression with a higher size threshold and faster Zstd settings. Encoded bytes may differ, but the existing flagged wire format remains supported.
  • Harden short-read handling, allocation arithmetic, and LZ4 expansion limits; reject concatenated or trailing Zstd frames.
  • Fix buffered varint compilation on big-endian targets.
  • Require ruint 1.20.0+ and update the release lockfile to patched crossbeam-epoch 0.9.20.

Full Changelog: v1.2.1...v2.0.0