Skip to content

Release v2.1.0

Latest

Choose a tag to compare

@github-actions github-actions released this 13 Jul 22:33
Immutable release. Only release title and notes can be modified.
v2.1.0
9b26bec

No API changes. Build hardening, supply-chain verification, and one undefined-behavior fix.

Changed

  • Compiler and linker hardening: POSIX builds now follow the OpenSSF hardening baseline — stack protector, _FORTIFY_SOURCE=2, format-string hardening, full RELRO, non-executable stack, and arch-gated control-flow integrity (Intel CET on x64, PAC/BTI on arm64). Windows ARM64 gains /Qspectre and /guard:signret, the backward-edge protection it previously lacked.
  • Vendored SQLite integrity: the amalgamation sync now verifies the download against a SHA3-256 pinned in-tree and refuses to vendor a mismatch, instead of compiling whatever it fetched.

Fixed

  • Empty changeset undefined behavior: session.changeset() / .patchset() on a session with no recorded changes called memcpy(NULL, NULL, 0), which is undefined behavior even at zero length. Results are unchanged (still a zero-length Uint8Array); the UB is gone. Surfaced by the new UndefinedBehaviorSanitizer pass in CI.

Commits

Full Changelog: v2.0.0...v2.1.0