Read this before installing. These statements apply to every Erebus release before
v1.0and are prepended to the generated notes automatically, so no release can quietly
omit them.
This software is unaudited. No independent cryptographic or security review has been
performed on the wire, the settlement path, or the disclosure design. Do not put value you
care about through it.
Mainnet readiness is a release gate, not a forecast. The v0.2.0 source completed one
bounded Starkscan-backed mainnet canary: screened shield, MCP negotiation, atomic settlement,
reconciliation, observer test, and scoped disclosure. The secret-free evidence is in
docs/runs/v0.2-mainnet-canary.json and the
dated run record. One canary does not
prove capacity, uptime, independent review, or safe use with material value.
Relationship privacy is not complete. Erebus hides the terms, not the relationship.
Negotiation content and settlement amounts are confidential, and that is demonstrated: an
observer with no key recovers the full terms from wire v1 and nothing from wire v2. But
opening a channel writes the counterparty's address to public calldata (F38), and a fixed
fifth-salt shape lets an observer count and time Erebus traffic without reading it (F31).
Never describe this release as private without qualification. The full boundary is in
docs/privacy-model.md.
Supported platforms are Linux x86-64 and macOS arm64. Intel macOS is not built: its CI
runner is no longer available, and cross-compiling would ship a binary that was never
executed on its own architecture. There is no Intel macOS wheel or raw binary in this
release.
What's Changed
- fix: harden the c8741ff startup checks by @ishitab02 in #20
- mcp: enforce spending caps below the agent by @ishitab02 in #21
- wire v3: repeat deals, deal-scoped disclosure, and the Sepolia run behind them by @PoulavBhowmick03 in #23
- mcp: make tool results safe for a model to read by @ishitab02 in #22
- fix(sdk/rs): repair the rustdoc link that has main red by @PoulavBhowmick03 in #25
- feat(sdk/rs): report settlements per deal, not per channel by @PoulavBhowmick03 in #24
- feat(sdk/rs): expose reconcile and resume_operation on the CLI by @PoulavBhowmick03 in #26
- test(sdk/rs): sweep every durable boundary for the recovery contract by @PoulavBhowmick03 in #27
- docs: catch the roadmap and status up with tasks 9, 10a and 11 by @PoulavBhowmick03 in #28
- feat(sdk/rs): prune finished journal records by @PoulavBhowmick03 in #29
- feat(sdk/rs): rebuild channel records from keys and chain data by @PoulavBhowmick03 in #30
- fix(sdk/rs): check funding against the token an operation moves by @PoulavBhowmick03 in #31
- feat(sdk/rs): sign account transactions through an AccountSigner by @PoulavBhowmick03 in #32
- docs: define what each key and state loss actually costs by @PoulavBhowmick03 in #33
- perf(sdk/rs): serve the immutable note prefix from a durable cache by @PoulavBhowmick03 in #34
- mcp-server: durable caller intent before writes by @ishitab02 in #35
Full Changelog: v0.1.0...v0.2.0