Releases: openexch/assets
Releases · openexch/assets
Release list
v0.5.0-beta — the durability release
The durability release. The ledger's state stops living only on the box that produced it, and the money path gets 24.5x faster on the way.
Highlights
- Money path 4.4k → 120k orders/s, and not saturated there. Egress moved off an inline per-session offer that parked the deterministic thread on a single back-pressured session — stopping the whole engine — to a queue drained in bulk off the critical path (#17), then to per-session filtering, which cut the bridge's share of the traffic to a fifth (#21).
- Snapshot bytes were a function of history, not of state. Accounts and holds were serialized in hash-table order, so a node replaying from genesis and a node resuming from a snapshot wrote different bytes for an identical ledger. Harmless to the ledger, fatal to verification: bundle replay is checked by comparing snapshots, so it would have raised divergence alarms for a ledger that had not diverged. One canonical ordering primitive fixes it; the format is unchanged (#36).
- Bundle capture — a snapshot plus the log behind it — with a retention watermark the purge honours, and archive housekeeping so a snapshot actually reclaims disk (#25, #26, #27, #28).
- A credit that would wrap a balance negative is rejected. Past
Long.MAXa balance silently went negative: no log, no fault, and the conservation check still passed (#20). assets-loadgen, the money-path benchmark driver with no OMS in the loop, performing the hold gate exactly as the OMS does, with every latency measured on its own clock from the scheduled send time (#13, #16, #19, #22).- The engine, the bridge and the load generator are published to the artifact store. The bridge had no published build at all before this (#34, #37).
Full detail in CHANGELOG.md.
v0.4.0-beta — the Assets Engine: a deterministic money ledger (first release)
Pre-release
First tagged release of the Assets Engine, joining the stack at the coordinated version
(v0.4.0-beta) per the stack-alignment convention.
Highlights
- Deterministic money ledger on Aeron Cluster: the Assets Engine (Phases 0-2a) with v2
engine/domain behavior and money-schema v2 — correlation ids, feed messages, snapshot
queries, cutover primer; determinism corpus tests. - Settlement bridge: stateless-resume, gap-halting journal→AE feed; settle-shortfall never
throws (graceful drawdown + SettleFault); detects journal-source death instead of idling at
a dead recording's EOF; hold-release ownership gates feed terminals (D2, D5, D6b, #4). - Money journal: Part 1 — replayable per-node archive recording of applied money movements;
Part 2 —assets-projectorlive-follows the AE money journal into Postgres (#9, #11). - Hygiene: settle reaps exhausted holds (no remaining=0 tombstones); loud warning when the
AE state dir is tmpfs (#2, #6). - Ops: bridge
/metrics+/health;AeDumpread-only ledger snapshot CLI for
money-check; CI build + security workflow (#1, #3, #8).
Full details in CHANGELOG.md. Beta / prerelease: no external security audit yet; not recommended for production deployments holding real funds.