Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 3 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,16 @@
deterministically" section showing `#[spawned_macros::sim_test]`.
- Lockfile: `rustix` 1.1.2 -> 1.1.6 for RUSTSEC-2026-0486 (pulled in by the
examples' `native-tls` dependency; spawned's crates are unaffected).
- CI: a `sim` job runs the simulated test suites (`--cfg spawned_sim`)
on every pull request, one test per process with a timeout. `stack_budget`
is compiled out under the simulator: it measures real thread stacks.
- CI: a `sim` job runs the simulated test suites (`--cfg spawned_sim`) on
every pull request: all integration tests of `spawned-concurrency` and
`spawned-rt` plus the executor unit tests, one test per process with a
120 s timeout (`scripts/run-sim-tests.py`), decision tapes uploaded on
failure. `stack_budget` is compiled out under the simulator: it measures
real thread stacks.
- CI: the core workflows (`ci`, `verification`, `failpoints`) also run on
`merge_group`, so pull requests can go through GitHub's merge queue.

`merge_group`, so pull requests go through GitHub's merge queue, which runs
all 19 required checks (including `sim`) on the merged result before
anything lands on `main`.
- Design (not implementation) for rank 11, deferred typed replies and
pipe-to-self, revised over four passes after independent reviews:
`docs/design/deferred-replies.md`, client mapping for ethrex and ethlambda,
Expand Down
15 changes: 15 additions & 0 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,21 @@ handlers and the existing default behavior. New policies are explicit and opt-in

- **v0.7.1:** canary shutdown, destructor/subscriber-panic containment and restart
budget fixes, compact async handles, and the first published `spawned-test` kit.
- **v0.7.2:** one-pointer `ActorRef`/`Context` handles (fixes ethrex's `rpc::`
stack overflow) and macro fixes.
- **v0.7.3:** OTP-aligned restart retry with OneForAll cohort rebuild, and the
deterministic simulator (virtual time, decision tapes, PCT, bounded DFS).
Ethrex and Ethlambda run 0.7.3 in their draft PRs and on canary nodes.
- **v0.8 (in progress):** deferred replies and pipe-to-self (rank 11, PR #239)
and OTP exit signals, startup and runtime-drop semantics (ranks 5e, 5f, 5g,
PR #240). The final pre-release review found 2 P0 and about 13 P1 issues,
mostly at the actor's death point; they are being fixed on #240 before the
release. Client ports are ready on the clients' `spawned-v0.8` branches.
- **Next feature:** dynamic supervisor (rank 12a), design and TLA+ model in
review (PR #245).
- **Process:** every PR merges through GitHub's merge queue with 19 required
checks, including the simulated suites (`sim`). Robustness features must add
no cost on the default path (see [Non-goals](#non-goals)).

Already-erased protocol timeout configuration remains a separate
API follow-up: configure the concrete handle before `to_x_ref()` today. Native
Expand Down
Loading