Updated 2026-02-03: Incorporated framework comparison analysis from #124. Added P0 section for critical API issues (#144, #145) that should be addressed before Phase 2. Added priority order table and v0.6+ considerations. See docs/PLAN.md for full analysis.
Spawned v0.5 Roadmap
This issue tracks the consolidated v0.5 development plan, informed by analysis of established actor frameworks (Erlang/OTP, Akka, Orleans, Actix, Ractor). See docs/PLAN.md for detailed framework comparison.
Phase 1: API Alignment & Actor Rename ✅ Complete
Goal: Make tasks/ and threads/ Actor APIs identical so switching requires only import change + removing async/await.
P0: Critical API Issues 🔴 Not started
Goal: Address foundational API design issues before building more features on top. Fixing these later would be breaking changes.
Phase 2: Error Handling & Code Quality 🔴 Not started
Goal: Proper error handling instead of silently dropping channel errors.
Phase 3: Process Primitives 🔴 Not started
Goal: Add core process management while keeping both modules.
Phase 4: Supervision 🔴 Not started
Goal: Erlang-style fault tolerance.
Phase 5: Documentation & Publishing 🔴 Not started
Goal: Improve documentation and publishing.
Priority Order
| Priority |
Phase |
Description |
Rationale |
| P0 |
API Design |
#144, #145 |
Core API issues; breaking changes if deferred |
| P1 |
Phase 2 |
Error Handling |
Foundation for supervision |
| P2 |
Phase 3 |
Process Primitives |
Building blocks for supervisors |
| P3 |
Phase 4 |
Supervision |
Requires P1 + P2 |
| P4 |
Phase 5 |
Documentation |
After API stabilizes |
v0.6+ Considerations
| Feature |
Priority |
Notes |
State machines (gen_statem) |
Medium |
Useful for protocol implementations |
| Backoff strategies |
Medium |
Akka has this built into supervision |
| Persistence/event sourcing |
Medium |
Akka Persistence pattern |
| Clustering/distribution |
Low |
Significant complexity |
Summary
| Phase |
Focus |
Issues |
Status |
| 1 |
API alignment + Actor rename |
8 |
✅ Complete |
| P0 |
Critical API issues |
2 |
🔴 Not started |
| 2 |
Error handling + cleanup |
2 |
🔴 Not started |
| 3 |
Process primitives |
5 |
🔴 Not started |
| 4 |
Supervision |
3 |
🔴 Not started |
| 5 |
Documentation |
3 |
🔴 Not started |
Verification (after each phase)
cargo build --workspace
cargo test --workspace
cargo clippy --workspace
- Run examples
Spawned v0.5 Roadmap
This issue tracks the consolidated v0.5 development plan, informed by analysis of established actor frameworks (Erlang/OTP, Akka, Orleans, Actix, Ractor). See
docs/PLAN.mdfor detailed framework comparison.Phase 1: API Alignment & Actor Rename ✅ Complete
Goal: Make tasks/ and threads/ Actor APIs identical so switching requires only import change + removing async/await.
call_with_timeout()to threads Actorteardown()callback to threads Actorinit()to returnInitResult<Self>send_message_on()to threads Actorsend_after/send_intervalto respect Actor shutdownstart_blocking()(closes Catch ctrl_c signaling on genservers that where spawned with start_blocking() #58)P0: Critical API Issues 🔴 Not started
Goal: Address foundational API design issues before building more features on top. Fixing these later would be breaking changes.
Circular dependency problem with bidirectional actor communication #145 - Circular dependency with bidirectional actors
ActorRef<T>creates module-level circular deps when actors communicate bidirectionallyRecipient<M>) or PID-based addressingImprove type safety for request/reply message handling #144 - Type safety for request/reply
Phase 2: Error Handling & Code Quality 🔴 Not started
Goal: Proper error handling instead of silently dropping channel errors.
Phase 3: Process Primitives 🔴 Not started
Goal: Add core process management while keeping both modules.
Pid(Process Identity) typeActorTablefor global actor tracking (closes Add a GenServer registry #33)Registryfor name-based actor lookupSystemMessageenum for process notificationsPhase 4: Supervision 🔴 Not started
Goal: Erlang-style fault tolerance.
ChildSpecfor supervisor child configurationSupervisoractor for fault toleranceDynamicSupervisorfor runtime child creationPhase 5: Documentation & Publishing 🔴 Not started
Goal: Improve documentation and publishing.
Priority Order
v0.6+ Considerations
gen_statem)Summary
Verification (after each phase)
cargo build --workspacecargo test --workspacecargo clippy --workspace