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
23 changes: 0 additions & 23 deletions .changeset/calm-machines-travel.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/fresh-ravens-smile.md

This file was deleted.

7 changes: 0 additions & 7 deletions .changeset/quiet-machines-document.md

This file was deleted.

31 changes: 31 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,36 @@
# @typeonce/effect-machine

## 0.19.0

### Minor Changes

- b1a1f75: Make `Machine.encodeSnapshot` return a canonical JSON representation or fail
with `MachineSchemaEncodeError`. Encoded state values, completion outputs, and
history values are now typed as `Schema.Json`; rich schema values use their
canonical JSON codecs, while cycles and other non-JSON values fail at the
machine boundary instead of causing a later serialization crash.
Declared `Schema.Void` and `Schema.Undefined` completion outputs now use their
canonical `null` encoding; an omitted output is reserved for final states that
do not declare an output schema.

`ClusterMachine.make` now requires JSON-encoded state, completion-output, and
public input-event schemas. Keep process-local capabilities in services,
adapters, or internal events, and give transported values an explicit JSON
codec. Cluster snapshot encoding failures are reported as
`SnapshotEncodeFailure` without advancing the checkpoint.

`MachineTest.observedGraph` continues to support process-local state. Its node
`encoded` field is now optional: portable snapshots retain their canonical JSON
form, while non-portable snapshots use local structural identity and omit it.
Snapshot encoding failures no longer appear in the operation's error channel.

### Patch Changes

- 928017e: Upgrade the exact Effect peer dependency and companion Effect packages to `4.0.0-rc.110`.
- f4f9bdf: Document the nested configuration and callback APIs used by `Machine.states`, event protocols, `Machine.make`, `Definition.handle`, execution, transitions, and state invocation.

The documentation site now presents those core authoring APIs on a standalone guide-reference page while keeping module pages focused on public exports. Parameters remain grouped under their point of use with searchable signatures, lifecycle contexts, target semantics, defaults, source links, focused examples, and a complete nested page outline. Redundant configuration headings are omitted, and each parameter is presented as a named API block with its signature, description, and attached source link. Long signatures stay contained within their documentation blocks across responsive layouts.

## 0.18.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@typeonce/effect-machine",
"version": "0.18.0",
"version": "0.19.0",
"description": "Schema-first state machines and statecharts for Effect",
"author": "Sandro Maglione",
"repository": {
Expand Down