Skip to content

v5.3.0 — M16 Capstone

Choose a tag to compare

@flyingrobots flyingrobots released this 08 Mar 19:16
· 663 commits to main since this release
v5.3.0
6d4507d

M16 Capstone — audit remediation, CLI configuration, and security hardening

Added

  • Vault rotate passphrase-file supportvault rotate now accepts --old-passphrase-file and --new-passphrase-file flags.
  • CLI store flags--gzip, --strategy, --chunk-size, --concurrency, --codec, --merkle-threshold, and CDC-specific flags. All library-level options now accessible from the CLI.
  • CLI restore flags--concurrency, --max-restore-buffer.
  • .casrc config file — JSON config at repo root sets defaults for CLI flags.
  • Memory restore guardmaxRestoreBufferSize (default 512 MiB) prevents unbounded memory allocation.
  • Web Crypto encryption buffer guardmaxEncryptionBufferSize (default 512 MiB).
  • Orphaned blob trackingSTREAM_ERROR now includes meta.orphanedBlobs.
  • KDF brute-force awarenessdecryption_failed metric + CLI rate-limiting delay.
  • Encryption counter — vault metadata tracks encryptionCount with GCM nonce bound warning.
  • Lifecycle method renameinspectAsset() / collectReferencedChunks() (old names preserved as deprecated aliases).
  • Passphrase input security--vault-passphrase-file <path>, interactive TTY prompt, empty passphrase rejection.

Changed

  • Crypto adapter normalizationNodeCryptoAdapter.encryptBuffer now returns Promise, matching Bun/Web.
  • FixedChunker pre-allocated buffer — O(n²) Buffer.concat() loop replaced with pre-allocated buffer.
  • runAction injectable delay — deterministic INTEGRITY_ERROR rate-limit tests across all runtimes.

Fixed

  • Post-decompression size guard, CLI passphrase prompt deferral, CRLF normalization, constructor validation, Error.captureStackTrace portability, chunk size upper bound (100 MiB), .casrc config validation, KDF algorithm validation, empty passphrase rejection, nullish coalescing for config merging, and more.

See CHANGELOG.md for the full list.

What's Changed

Full Changelog: v5.2.4...v5.3.0