Skip to content

Version Packages - #91

Merged
cevr merged 1 commit into
mainfrom
changeset-release/main
Oct 7, 2026
Merged

cevr merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

effect-machine@0.29.0

Minor Changes

  • #90 ac08b6d Thanks @cevr! - Report contained actor failures to the Effect ErrorReporters that were registered where the actor was spawned. Each runtime generation reports its complete defect cause once when it closes, including transition, spawn, task, background, and cleanup failures. Supervised restarts report each generation. A restart step that fails before a new generation exists reports with phase restart. This includes a restart recovery and a restart schedule that dies; an exhausted schedule does not report. A cold-start recovery that fails before the first generation runs reports with phase recovery, also when a stop interrupts the start. A recovery that throws instead of returning an Effect reports the same way. A schedule defect that settles together with schedule exhaustion still reports. A final output defect reports when the actor completes. Child actors report through the reporters of the handler that spawned them. Normal stops, final states, and pure interruption do not report. Each report annotates the reporting fiber with the actor ID, generation, and defect phase. The actor keeps its spawn-time reporters, so a later start or stop caller cannot replace them. Handler code inside the actor also runs with the spawn-time reporters, so Effect.withErrorReporting in a handler reaches them and no longer reaches reporters that were provided only around start. A failure that also reaches a caller boundary, such as Effect.withErrorReporting, an RPC server or an HTTP handler, can report again there. A reporter built with ErrorReporter.make skips the second report only when the defect is an object; a primitive defect or a raw reporter reports twice. A parent handler that re-raises a child failure, such as a failed child stop or a failed self.spawn start, reports that cause again as the parent's defect, with the same deduplication rules. A throwing reporter does not change the actor exit. Effect calls the reporters in order, so a throwing reporter can stop the reporters after it. Cluster entity runtimes report generation defects through the reporters in their allocation context. The generation of an entity report names one allocation, so it is 0 after each reactivation. Without registered reporters, behavior does not change.

@cevr
cevr merged commit aa7f7d8 into main Oct 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant