Railbase
← Changelog
Core release

Railbase core v0.5.5

Quality hardening release — closes the 2026-06-11 audit findings across the core and the embedded vault engine (v0.0.5).

Vault engine (embedded):

  • Compaction is now fully isolated: concurrent commits can no longer be lost during Compact(), live readers are drained before the file swap, and the copy walks the tree via cursor (immune to stale sibling links).
  • Real crash-safety proof: the test suite now kills a writer process with SIGKILL mid-commit and verifies zero acknowledged-commit loss plus torn-meta recovery.
  • B+tree delete/merge path hardened (errors propagated, byte-balanced splits) with a 3000-key merge-storm test.

Core:

  • Realtime is a strict read projection: secret columns (password_hash, token keys) are redacted from every event; per-subscriber authorization preserved for deletes; fan-out no longer serialized.
  • Finance plugin verbs require authentication; money is an overflow-checked integer-cents primitive end to end.
  • Payments require an idempotency key — HTTP retries can no longer double-post journal entries.
  • Tenant-scoped record loads guarded across all plugins (no cross-tenant reads by ID).
  • Exports honor active filters; admin endpoints fully migrated off the legacy SQL shim.
  • Legacy /papi proxy retired — the canonical /api/<slug>/* surface (ADR-001) is the only verb route.

SHA-256 manifest: checksums.txt (verify with shasum -a 256 / certutil -hashfile <file> SHA256).