Changes for version 6.001

  • Add protocol v6 support for VSTRING extension tags, NEG_VARINT, and keyed SipHash checksums. Upgrade Decoder to version 6 throughout the fleet before emitting v6 packets.
  • Add checksum_key, checksum_key_v1/v2/v3, checksum_mode, and checksum_policy options, shared and Encoder-specific defaults, and prepare_checksum_key().
  • Preserve regexp character set modifiers, /n, and /xx. Upgrade Decoder before emitting these modifiers.
  • Ship a SECURITY policy in release archives and improve the protocol specification, diagnostics, build and compatibility tests, and general robustness.
  • Reported fixes: regexp modifiers (https://github.com/Sereal/Sereal/issues/180 and https://github.com/Sereal/Sereal/issues/262), and unsupported-type diagnostics (https://github.com/Sereal/Sereal/issues/191). Related work: specification (https://github.com/Sereal/Sereal/issues/218) and packaged security policy (https://github.com/Sereal/Sereal/issues/305).
  • Thanks to Matt Koscica and Oz Kaiser (@tatikoma), with assistance from Claude Code and Codex.

Documentation

Compare encoder traversal time and peak memory

Modules

Fast, compact, powerful binary serialization

Provides

in lib/Sereal/Encoder/Constants.pm