v3.3.0
Quietly safer
v3.3.0 · consensus hardening — coordinated release, nothing visible changes.
Nothing to see here, and that's the point. Two under-the-hood tightenings to the trade engine that make edge cases safer without touching how you trade. Because they adjust consensus rules, this ships on its own (the v2.9 pattern) — update when you can, so every client is reading the same rulebook.
What changed (under the hood)
-
Dispute clock, bounded. A vote's self-stamped timestamp can no longer push a dispute's escalation timer absurdly far into the future. Honest trades are completely unaffected — this just closes a future-dating edge so an arbiter's window can't be frozen.
-
Arbiter fee, sanitized. A malformed arbiter fee on a crafted trade is now coerced into a safe
[0, amount]range instead of trusted — closing a latent drain before fees ever pay out. Your real trades never touch this path, and a fee is clamped, never rejected, so nothing can strand mid-trade.
Compatibility
Coordinated release: these adjust consensus computation, but honest chains see zero difference — existing trades, balances, and listings replay identically. No wire-format change. Update promptly so all clients share the same rules.
Numbers
2,384 tests green (new invariant_* asserts pin both fixes); typecheck clean; the reducer changes were independently re-verified line-by-line before release.