Skip to content

Version Packages - #121

Merged
SandroMaglione merged 1 commit into
mainfrom
changeset-release/main
Aug 16, 2026
Merged

Version Packages#121
SandroMaglione merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Aug 16, 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

@typeonce/effect-machine@0.13.0

Minor Changes

  • 0ca9134: Upgrade the exact Effect peer dependency and companion Effect packages to 4.0.0-rc.109.

  • aa4947f: Require every Machine.invoke effect source to be a factory evaluated when its owning state is entered. This gives lifecycle callbacks immediate output and failure inference while making Effect construction timing explicit.

    Wrap previously direct Effects in a zero-argument function:

    Machine.invoke({
      id: "load",
      effect: () => load,
      onDone: ({ output, target }) => target.none()
    })
  • 34a9a26: Add typed declared-initial entry to compound and parallel transition targets.

    Use target.full.opened.initial(), initial(value), or initial.from(input) to enter the initial configuration declared by Machine.defineStates; the same operation is available through compatible local and branch target scopes. Schema-valued implicit children are constructed by initialize: ({ builder }) => ..., including fluent completion of every valued parallel region. Missing initializers are reported at handle(...), and .from validation remains a typed MachineSchemaDecodeError during planning.

    State handler initial and its StateInitial* utility types have been replaced by initialize and StateInitialize*. Migrate compound initializers from initial: () => new Child(...) to initialize: ({ builder }) => builder(new Child(...)), and parallel initializers from returned value records to chained region builders.

  • c8728e5: Add live, root-scoped machine inspection through Machine.prepare(machine).inspection and AtomMachine.inspection(machineAtom).

    The hot Effect Stream observes ordered creation, initialization, mailbox delivery and processing, state changes, emissions, Effect and timer activities, and termination for a prepared root and all locally owned descendants:

    const prepared = yield * Machine.prepare(machine)
    
    yield *
      prepared.inspection.pipe(
        Stream.runForEach((event) => Console.log(event.sequence, event.subject.id, event._tag)),
        Effect.forkScoped({ startImmediately: true })
      )
    
    const ref = yield * prepared.start

    Inspection is non-replayed, never fails, and completes with the root. Its session ids and ordering are local to one prepared ownership tree; distributed identity and delivery remain an Effect Cluster concern.

@github-actions
github-actions Bot force-pushed the changeset-release/main branch 2 times, most recently from 1532d87 to 79a115b Compare August 16, 2026 14:22
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 79a115b to d0b2203 Compare August 16, 2026 16:07
@SandroMaglione
SandroMaglione merged commit 75c5014 into main Aug 16, 2026
13 checks passed
@SandroMaglione
SandroMaglione deleted the changeset-release/main branch August 16, 2026 16:51
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