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
/papiproxy 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).