From 5ef8be959b805ffbf475e0ea1a7082191423ec19 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 14 Aug 2026 13:47:34 +0000 Subject: [PATCH 1/2] Version Packages --- .changeset/quiet-states.md | 16 ---------------- CHANGELOG.md | 25 +++++++++++++++++++++---- package.json | 2 +- 3 files changed, 22 insertions(+), 21 deletions(-) delete mode 100644 .changeset/quiet-states.md diff --git a/.changeset/quiet-states.md b/.changeset/quiet-states.md deleted file mode 100644 index 12c965d..0000000 --- a/.changeset/quiet-states.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -"@typeonce/effect-machine": minor ---- - -Allow active states to omit `schema` when they own no data. Schema-less atomic, compound, parallel, and final states keep full control-flow semantics while exposing value-free `.from(...)` builders, `undefined` handler state, and snapshot-only query APIs. - -```ts -const States = Machine.defineStates({ - Form: { - initial: "Editing", - states: { Editing: {}, Saving } - } -}) - -States.initial.Form.from((form) => form.Editing.from()) -``` diff --git a/CHANGELOG.md b/CHANGELOG.md index 37d23c5..1599145 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,22 @@ # @typeonce/effect-machine +## 0.8.0 + +### Minor Changes + +- e02dba3: Allow active states to omit `schema` when they own no data. Schema-less atomic, compound, parallel, and final states keep full control-flow semantics while exposing value-free `.from(...)` builders, `undefined` handler state, and snapshot-only query APIs. + + ```ts + const States = Machine.defineStates({ + Form: { + initial: "Editing", + states: { Editing: {}, Saving }, + }, + }); + + States.initial.Form.from((form) => form.Editing.from()); + ``` + ## 0.7.0 ### Minor Changes @@ -10,17 +27,17 @@ earlier instead of requiring the complete root snapshot. ```ts - const readySnapshot = States.getSnapshot(snapshot, "Ready") + const readySnapshot = States.getSnapshot(snapshot, "Ready"); if (Option.isSome(readySnapshot)) { - States.get(readySnapshot.value, "Ready.editor") - States.matches(readySnapshot.value, "Ready.editor.Editing") + States.get(readySnapshot.value, "Ready.editor"); + States.matches(readySnapshot.value, "Ready.editor.Editing"); } const editorSnapshotAtom = AtomMachine.selectSnapshot( machineAtom, "Ready.editor" - ) + ); ``` Add equality-aware `AtomMachine.selectSnapshot` and diff --git a/package.json b/package.json index bf30cd5..889c119 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@typeonce/effect-machine", - "version": "0.7.0", + "version": "0.8.0", "description": "Schema-first state machines and statecharts for Effect", "author": "Sandro Maglione", "repository": { From 83ed208dd5b88292da45425bbaa04165967001a1 Mon Sep 17 00:00:00 2001 From: SandroMaglione Date: Fri, 14 Aug 2026 15:52:38 +0200 Subject: [PATCH 2/2] Format generated release changes --- .github/workflows/release.yml | 1 + CHANGELOG.md | 16 ++++++++-------- package.json | 2 +- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index defe8c0..7dac155 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -37,6 +37,7 @@ jobs: - id: changesets uses: changesets/action@v1 with: + version: pnpm version-packages publish: pnpm release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 1599145..7826f1d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,11 +10,11 @@ const States = Machine.defineStates({ Form: { initial: "Editing", - states: { Editing: {}, Saving }, - }, - }); + states: { Editing: {}, Saving } + } + }) - States.initial.Form.from((form) => form.Editing.from()); + States.initial.Form.from((form) => form.Editing.from()) ``` ## 0.7.0 @@ -27,17 +27,17 @@ earlier instead of requiring the complete root snapshot. ```ts - const readySnapshot = States.getSnapshot(snapshot, "Ready"); + const readySnapshot = States.getSnapshot(snapshot, "Ready") if (Option.isSome(readySnapshot)) { - States.get(readySnapshot.value, "Ready.editor"); - States.matches(readySnapshot.value, "Ready.editor.Editing"); + States.get(readySnapshot.value, "Ready.editor") + States.matches(readySnapshot.value, "Ready.editor.Editing") } const editorSnapshotAtom = AtomMachine.selectSnapshot( machineAtom, "Ready.editor" - ); + ) ``` Add equality-aware `AtomMachine.selectSnapshot` and diff --git a/package.json b/package.json index 889c119..a460af3 100644 --- a/package.json +++ b/package.json @@ -67,7 +67,7 @@ "pack:check": "node scripts/pack-check.mjs", "check": "pnpm format:check && pnpm check:architecture && pnpm check:ci && pnpm docs:api:check && pnpm docs:site:check && pnpm typecheck && pnpm build && pnpm test && pnpm test:types && pnpm test:consumer && pnpm pack:check", "changeset": "changeset", - "version-packages": "changeset version", + "version-packages": "changeset version && dprint fmt", "release": "pnpm build && changeset publish" }, "peerDependencies": {