From 85be831102825a40270253d622167c9c9d1c8def Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 2 Nov 2026 09:58:49 +0000 Subject: [PATCH] chore(release): version packages --- ...systemfsoftware!effect-atom-react@3.0.0.md | 29 +++++++++++++++++++ .../@systemfsoftware!effect-atom@7.0.0.md | 20 +++++++++++++ ...fsoftware!oxlint-config-frontend@0.1.1.md} | 9 ++---- ...systemfsoftware!storybook-gherkin@6.0.0.md | 26 +++++++++++++++++ .changeset/effect-4-0-1-floor.md | 7 ----- .changeset/effect-4-0-5-peer-floor.md | 11 ------- .changeset/full-version-dependency-ranges.md | 7 ----- .changeset/funny-goats-repeat.md | 7 ----- .changeset/hungry-doors-stare.md | 5 ---- .changeset/loose-moons-assert.md | 9 ------ .changeset/quiet-hooks-subscribe.md | 12 -------- .changeset/tsgo-0-63-brands.md | 8 ----- packages/atom/effect-atom-react/package.json | 2 +- packages/atom/effect-atom/package.json | 2 +- .../gherkin/storybook-gherkin/package.json | 2 +- .../oxlint-config-frontend/package.json | 2 +- 16 files changed, 82 insertions(+), 76 deletions(-) create mode 100644 .changeset/changelogs/@systemfsoftware!effect-atom-react@3.0.0.md create mode 100644 .changeset/changelogs/@systemfsoftware!effect-atom@7.0.0.md rename .changeset/{effect-4-1-0-resolved.md => changelogs/@systemfsoftware!oxlint-config-frontend@0.1.1.md} (64%) create mode 100644 .changeset/changelogs/@systemfsoftware!storybook-gherkin@6.0.0.md delete mode 100644 .changeset/effect-4-0-1-floor.md delete mode 100644 .changeset/effect-4-0-5-peer-floor.md delete mode 100644 .changeset/full-version-dependency-ranges.md delete mode 100644 .changeset/funny-goats-repeat.md delete mode 100644 .changeset/hungry-doors-stare.md delete mode 100644 .changeset/loose-moons-assert.md delete mode 100644 .changeset/quiet-hooks-subscribe.md delete mode 100644 .changeset/tsgo-0-63-brands.md diff --git a/.changeset/changelogs/@systemfsoftware!effect-atom-react@3.0.0.md b/.changeset/changelogs/@systemfsoftware!effect-atom-react@3.0.0.md new file mode 100644 index 0000000..aeb974c --- /dev/null +++ b/.changeset/changelogs/@systemfsoftware!effect-atom-react@3.0.0.md @@ -0,0 +1,29 @@ +# @systemfsoftware/effect-atom-react@3.0.0 + +The published `effect` and `@effect/*` dependency ranges now start at 4.0.1 (`^4.0.1`, was `^4`), so a consumer resolves at least Effect 4.0.1. `@systemfsoftware/discern` also bundles `@effect/platform-node` and `@effect/platform-node-shared` 4.0.1 instead of 4.0.0. + +The Effect dependency resolved to 4.0.5, and so did every `@effect/*` package installed with it. + +- Effect 4.0.5 requires `effect@^4.0.5` as a peer, so a tree mixing 4.0.5 with an earlier 4.0.x fails at import, not at install. Install the versions your tree's `@effect/*` packages name. +- `FileSystem.File.Info` reports `dev`, `ino`, `rdev`, `nlink` and `blocks` as `bigint` where it reported `number`. Convert at your own boundary with `BigInt` or `Number`. +- A decision's `instructions` and its classify and probability `criteria` accept a JSON object or array as well as a string, and a rating's `criteria` are `{ label, description }` entries rather than bare labels. Read a level's `label`, not the entry. + +These packages are now verified against effect 4.1.0. The published peer range on `effect` stays `^4`, so no install requirement changes. + +A pull atom in `@systemfsoftware/effect-atom` now keeps the longest batch it has delivered: when two concurrent pulls finish out of order, the atom no longer drops back to the shorter batch. + +Published dependency ranges now name a full version: `vitest`, `@vitest/*` and `@types/node` ranges start at 5.0.1 and 26.6.2 (were `^5` and `^26`), `typescript` at 7.0.2 (was `^7`) and `playwright` at 1.63.0 (was `^1`). The `vitest` peer dependency of `@systemfsoftware/effect-gherkin-spec`, `@systemfsoftware/effect-schema-law`, `@systemfsoftware/effect-schema-vite`, `@systemfsoftware/effect-spec-runtime`, `@systemfsoftware/storybook-gherkin`, `@systemfsoftware/trace-spec`, `@systemfsoftware/vitest` and `@systemfsoftware/vitest-config` is now `^5.0.1`, so a consumer needs at least Vitest 5.0.1. `@systemfsoftware/trace-spec` depends on `@opentelemetry/semantic-conventions` `^1.43.0` (was `^1.33`). + +The packed `devDependencies` range on `@systemfsoftware/oxlint-config-recommended` moves to its new major. + +The code that mounts the app owns the registry; the binding never creates one or writes registry state during render. Call `Atom.Hydration.hydrate(registry, state)` before the first render, while the atoms the state names have not been read yet: hydration assigns each named atom its saved value and replaces a value the registry already holds. + +- `RegistryProvider` requires a `registry`. Make it with `Atom.Registry.make({ initialValues, scheduleTask: AtomReact.scheduleTask })` before the first render and dispose it at teardown. +- `HydrationBoundary` is removed: call `Atom.Hydration.hydrate(registry, state)` before `hydrateRoot`. +- `useAtomInitialValues` and `AnyInitialValue` are removed: pass `initialValues` to `Atom.Registry.make`. +- `useAtomSubscribe` is removed: use `Atom.Registry.subscribe` in a scoped Effect. + +An island makes its registry at module scope; a Storybook story makes it in its loader and disposes it in `beforeEach`'s cleanup. + +- `DuplicateCapture` carries its capture name in `capture` and `OutlineDuplicateRowName` carries its row name in `rowName`, where both carried it in `name`. A `name` payload field shadows the error's own `name`, so logs showed the field value instead of the error type. Read `capture` or `rowName`. +- Every `Schema.Class`, `TaggedClass` and `TaggedError` the packages export is branded, so two classes with the same shape are no longer assignable to each other. diff --git a/.changeset/changelogs/@systemfsoftware!effect-atom@7.0.0.md b/.changeset/changelogs/@systemfsoftware!effect-atom@7.0.0.md new file mode 100644 index 0000000..3511703 --- /dev/null +++ b/.changeset/changelogs/@systemfsoftware!effect-atom@7.0.0.md @@ -0,0 +1,20 @@ +# @systemfsoftware/effect-atom@7.0.0 + +The published `effect` and `@effect/*` dependency ranges now start at 4.0.1 (`^4.0.1`, was `^4`), so a consumer resolves at least Effect 4.0.1. `@systemfsoftware/discern` also bundles `@effect/platform-node` and `@effect/platform-node-shared` 4.0.1 instead of 4.0.0. + +The Effect dependency resolved to 4.0.5, and so did every `@effect/*` package installed with it. + +- Effect 4.0.5 requires `effect@^4.0.5` as a peer, so a tree mixing 4.0.5 with an earlier 4.0.x fails at import, not at install. Install the versions your tree's `@effect/*` packages name. +- `FileSystem.File.Info` reports `dev`, `ino`, `rdev`, `nlink` and `blocks` as `bigint` where it reported `number`. Convert at your own boundary with `BigInt` or `Number`. +- A decision's `instructions` and its classify and probability `criteria` accept a JSON object or array as well as a string, and a rating's `criteria` are `{ label, description }` entries rather than bare labels. Read a level's `label`, not the entry. + +These packages are now verified against effect 4.1.0. The published peer range on `effect` stays `^4`, so no install requirement changes. + +A pull atom in `@systemfsoftware/effect-atom` now keeps the longest batch it has delivered: when two concurrent pulls finish out of order, the atom no longer drops back to the shorter batch. + +Published dependency ranges now name a full version: `vitest`, `@vitest/*` and `@types/node` ranges start at 5.0.1 and 26.6.2 (were `^5` and `^26`), `typescript` at 7.0.2 (was `^7`) and `playwright` at 1.63.0 (was `^1`). The `vitest` peer dependency of `@systemfsoftware/effect-gherkin-spec`, `@systemfsoftware/effect-schema-law`, `@systemfsoftware/effect-schema-vite`, `@systemfsoftware/effect-spec-runtime`, `@systemfsoftware/storybook-gherkin`, `@systemfsoftware/trace-spec`, `@systemfsoftware/vitest` and `@systemfsoftware/vitest-config` is now `^5.0.1`, so a consumer needs at least Vitest 5.0.1. `@systemfsoftware/trace-spec` depends on `@opentelemetry/semantic-conventions` `^1.43.0` (was `^1.33`). + +The packed `devDependencies` range on `@systemfsoftware/oxlint-config-recommended` moves to its new major. + +- `DuplicateCapture` carries its capture name in `capture` and `OutlineDuplicateRowName` carries its row name in `rowName`, where both carried it in `name`. A `name` payload field shadows the error's own `name`, so logs showed the field value instead of the error type. Read `capture` or `rowName`. +- Every `Schema.Class`, `TaggedClass` and `TaggedError` the packages export is branded, so two classes with the same shape are no longer assignable to each other. diff --git a/.changeset/effect-4-1-0-resolved.md b/.changeset/changelogs/@systemfsoftware!oxlint-config-frontend@0.1.1.md similarity index 64% rename from .changeset/effect-4-1-0-resolved.md rename to .changeset/changelogs/@systemfsoftware!oxlint-config-frontend@0.1.1.md index 214322e..845599a 100644 --- a/.changeset/effect-4-1-0-resolved.md +++ b/.changeset/changelogs/@systemfsoftware!oxlint-config-frontend@0.1.1.md @@ -1,10 +1,7 @@ ---- -"@systemfsoftware/effect-atom": patch -"@systemfsoftware/effect-atom-react": patch -"@systemfsoftware/storybook-gherkin": patch -"@systemfsoftware/oxlint-config-frontend": patch ---- +# @systemfsoftware/oxlint-config-frontend@0.1.1 These packages are now verified against effect 4.1.0. The published peer range on `effect` stays `^4`, so no install requirement changes. A pull atom in `@systemfsoftware/effect-atom` now keeps the longest batch it has delivered: when two concurrent pulls finish out of order, the atom no longer drops back to the shorter batch. + +The frontend oxlint preset moved into the frontend repository with its rules unchanged. diff --git a/.changeset/changelogs/@systemfsoftware!storybook-gherkin@6.0.0.md b/.changeset/changelogs/@systemfsoftware!storybook-gherkin@6.0.0.md new file mode 100644 index 0000000..0f85e60 --- /dev/null +++ b/.changeset/changelogs/@systemfsoftware!storybook-gherkin@6.0.0.md @@ -0,0 +1,26 @@ +# @systemfsoftware/storybook-gherkin@6.0.0 + +The published `effect` and `@effect/*` dependency ranges now start at 4.0.1 (`^4.0.1`, was `^4`), so a consumer resolves at least Effect 4.0.1. `@systemfsoftware/discern` also bundles `@effect/platform-node` and `@effect/platform-node-shared` 4.0.1 instead of 4.0.0. + +The Effect dependency resolved to 4.0.5, and so did every `@effect/*` package installed with it. + +- Effect 4.0.5 requires `effect@^4.0.5` as a peer, so a tree mixing 4.0.5 with an earlier 4.0.x fails at import, not at install. Install the versions your tree's `@effect/*` packages name. +- `FileSystem.File.Info` reports `dev`, `ino`, `rdev`, `nlink` and `blocks` as `bigint` where it reported `number`. Convert at your own boundary with `BigInt` or `Number`. +- A decision's `instructions` and its classify and probability `criteria` accept a JSON object or array as well as a string, and a rating's `criteria` are `{ label, description }` entries rather than bare labels. Read a level's `label`, not the entry. + +These packages are now verified against effect 4.1.0. The published peer range on `effect` stays `^4`, so no install requirement changes. + +A pull atom in `@systemfsoftware/effect-atom` now keeps the longest batch it has delivered: when two concurrent pulls finish out of order, the atom no longer drops back to the shorter batch. + +Published dependency ranges now name a full version: `vitest`, `@vitest/*` and `@types/node` ranges start at 5.0.1 and 26.6.2 (were `^5` and `^26`), `typescript` at 7.0.2 (was `^7`) and `playwright` at 1.63.0 (was `^1`). The `vitest` peer dependency of `@systemfsoftware/effect-gherkin-spec`, `@systemfsoftware/effect-schema-law`, `@systemfsoftware/effect-schema-vite`, `@systemfsoftware/effect-spec-runtime`, `@systemfsoftware/storybook-gherkin`, `@systemfsoftware/trace-spec`, `@systemfsoftware/vitest` and `@systemfsoftware/vitest-config` is now `^5.0.1`, so a consumer needs at least Vitest 5.0.1. `@systemfsoftware/trace-spec` depends on `@opentelemetry/semantic-conventions` `^1.43.0` (was `^1.33`). + +The packed `devDependencies` range on `@systemfsoftware/oxlint-config-recommended` moves to its new major. + +Step contexts now carry `expect`: the assertions of whichever runner the play runs in. + +Under Storybook it stays `storybook/test`'s `expect`. In vitest browser mode (through `@storybook/addon-vitest`) it is vitest's own `expect`, so a step handler can reach the matchers only vitest has — `toMatchScreenshot`, `toMatchAriaInlineSnapshot`, `toMatchTextContent` — as `await ctx.expect(locator).toMatchAriaInlineSnapshot(…)`, without importing `vitest` where a project bans that import. + +The assertions are promise-shaped: `await` them. `vitest` is an optional peer dependency. + +- `DuplicateCapture` carries its capture name in `capture` and `OutlineDuplicateRowName` carries its row name in `rowName`, where both carried it in `name`. A `name` payload field shadows the error's own `name`, so logs showed the field value instead of the error type. Read `capture` or `rowName`. +- Every `Schema.Class`, `TaggedClass` and `TaggedError` the packages export is branded, so two classes with the same shape are no longer assignable to each other. diff --git a/.changeset/effect-4-0-1-floor.md b/.changeset/effect-4-0-1-floor.md deleted file mode 100644 index bbb3687..0000000 --- a/.changeset/effect-4-0-1-floor.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@systemfsoftware/effect-atom": patch -"@systemfsoftware/effect-atom-react": patch -"@systemfsoftware/storybook-gherkin": patch ---- - -The published `effect` and `@effect/*` dependency ranges now start at 4.0.1 (`^4.0.1`, was `^4`), so a consumer resolves at least Effect 4.0.1. `@systemfsoftware/discern` also bundles `@effect/platform-node` and `@effect/platform-node-shared` 4.0.1 instead of 4.0.0. diff --git a/.changeset/effect-4-0-5-peer-floor.md b/.changeset/effect-4-0-5-peer-floor.md deleted file mode 100644 index 0c4806a..0000000 --- a/.changeset/effect-4-0-5-peer-floor.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"@systemfsoftware/effect-atom-react": patch -"@systemfsoftware/effect-atom": patch -"@systemfsoftware/storybook-gherkin": patch ---- - -The Effect dependency resolved to 4.0.5, and so did every `@effect/*` package installed with it. - -- Effect 4.0.5 requires `effect@^4.0.5` as a peer, so a tree mixing 4.0.5 with an earlier 4.0.x fails at import, not at install. Install the versions your tree's `@effect/*` packages name. -- `FileSystem.File.Info` reports `dev`, `ino`, `rdev`, `nlink` and `blocks` as `bigint` where it reported `number`. Convert at your own boundary with `BigInt` or `Number`. -- A decision's `instructions` and its classify and probability `criteria` accept a JSON object or array as well as a string, and a rating's `criteria` are `{ label, description }` entries rather than bare labels. Read a level's `label`, not the entry. diff --git a/.changeset/full-version-dependency-ranges.md b/.changeset/full-version-dependency-ranges.md deleted file mode 100644 index 252d60c..0000000 --- a/.changeset/full-version-dependency-ranges.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@systemfsoftware/effect-atom": patch -"@systemfsoftware/effect-atom-react": patch -"@systemfsoftware/storybook-gherkin": patch ---- - -Published dependency ranges now name a full version: `vitest`, `@vitest/*` and `@types/node` ranges start at 5.0.1 and 26.6.2 (were `^5` and `^26`), `typescript` at 7.0.2 (was `^7`) and `playwright` at 1.63.0 (was `^1`). The `vitest` peer dependency of `@systemfsoftware/effect-gherkin-spec`, `@systemfsoftware/effect-schema-law`, `@systemfsoftware/effect-schema-vite`, `@systemfsoftware/effect-spec-runtime`, `@systemfsoftware/storybook-gherkin`, `@systemfsoftware/trace-spec`, `@systemfsoftware/vitest` and `@systemfsoftware/vitest-config` is now `^5.0.1`, so a consumer needs at least Vitest 5.0.1. `@systemfsoftware/trace-spec` depends on `@opentelemetry/semantic-conventions` `^1.43.0` (was `^1.33`). diff --git a/.changeset/funny-goats-repeat.md b/.changeset/funny-goats-repeat.md deleted file mode 100644 index ffb8a76..0000000 --- a/.changeset/funny-goats-repeat.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@systemfsoftware/effect-atom": patch -"@systemfsoftware/effect-atom-react": patch -"@systemfsoftware/storybook-gherkin": patch ---- - -The packed `devDependencies` range on `@systemfsoftware/oxlint-config-recommended` moves to its new major. diff --git a/.changeset/hungry-doors-stare.md b/.changeset/hungry-doors-stare.md deleted file mode 100644 index 3037bde..0000000 --- a/.changeset/hungry-doors-stare.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@systemfsoftware/oxlint-config-frontend": patch ---- - -The frontend oxlint preset moved into the frontend repository with its rules unchanged. diff --git a/.changeset/loose-moons-assert.md b/.changeset/loose-moons-assert.md deleted file mode 100644 index a6c4da3..0000000 --- a/.changeset/loose-moons-assert.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@systemfsoftware/storybook-gherkin": minor ---- - -Step contexts now carry `expect`: the assertions of whichever runner the play runs in. - -Under Storybook it stays `storybook/test`'s `expect`. In vitest browser mode (through `@storybook/addon-vitest`) it is vitest's own `expect`, so a step handler can reach the matchers only vitest has — `toMatchScreenshot`, `toMatchAriaInlineSnapshot`, `toMatchTextContent` — as `await ctx.expect(locator).toMatchAriaInlineSnapshot(…)`, without importing `vitest` where a project bans that import. - -The assertions are promise-shaped: `await` them. `vitest` is an optional peer dependency. diff --git a/.changeset/quiet-hooks-subscribe.md b/.changeset/quiet-hooks-subscribe.md deleted file mode 100644 index b5c6635..0000000 --- a/.changeset/quiet-hooks-subscribe.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"@systemfsoftware/effect-atom-react": major ---- - -The code that mounts the app owns the registry; the binding never creates one or writes registry state during render. Call `Atom.Hydration.hydrate(registry, state)` before the first render, while the atoms the state names have not been read yet: hydration assigns each named atom its saved value and replaces a value the registry already holds. - -- `RegistryProvider` requires a `registry`. Make it with `Atom.Registry.make({ initialValues, scheduleTask: AtomReact.scheduleTask })` before the first render and dispose it at teardown. -- `HydrationBoundary` is removed: call `Atom.Hydration.hydrate(registry, state)` before `hydrateRoot`. -- `useAtomInitialValues` and `AnyInitialValue` are removed: pass `initialValues` to `Atom.Registry.make`. -- `useAtomSubscribe` is removed: use `Atom.Registry.subscribe` in a scoped Effect. - -An island makes its registry at module scope; a Storybook story makes it in its loader and disposes it in `beforeEach`'s cleanup. diff --git a/.changeset/tsgo-0-63-brands.md b/.changeset/tsgo-0-63-brands.md deleted file mode 100644 index e0c2142..0000000 --- a/.changeset/tsgo-0-63-brands.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@systemfsoftware/effect-atom-react": major -"@systemfsoftware/effect-atom": major -"@systemfsoftware/storybook-gherkin": major ---- - -- `DuplicateCapture` carries its capture name in `capture` and `OutlineDuplicateRowName` carries its row name in `rowName`, where both carried it in `name`. A `name` payload field shadows the error's own `name`, so logs showed the field value instead of the error type. Read `capture` or `rowName`. -- Every `Schema.Class`, `TaggedClass` and `TaggedError` the packages export is branded, so two classes with the same shape are no longer assignable to each other. diff --git a/packages/atom/effect-atom-react/package.json b/packages/atom/effect-atom-react/package.json index 120d901..887748a 100644 --- a/packages/atom/effect-atom-react/package.json +++ b/packages/atom/effect-atom-react/package.json @@ -1,7 +1,7 @@ { "name": "@systemfsoftware/effect-atom-react", "license": "Apache-2.0", - "version": "2.0.0", + "version": "3.0.0", "author": "TODO ", "repository": { "type": "git", diff --git a/packages/atom/effect-atom/package.json b/packages/atom/effect-atom/package.json index c2c208a..30bbe3e 100644 --- a/packages/atom/effect-atom/package.json +++ b/packages/atom/effect-atom/package.json @@ -1,7 +1,7 @@ { "name": "@systemfsoftware/effect-atom", "license": "Apache-2.0", - "version": "6.0.0", + "version": "7.0.0", "author": "TODO ", "repository": { "type": "git", diff --git a/packages/gherkin/storybook-gherkin/package.json b/packages/gherkin/storybook-gherkin/package.json index 8f71a1f..c14268c 100644 --- a/packages/gherkin/storybook-gherkin/package.json +++ b/packages/gherkin/storybook-gherkin/package.json @@ -1,7 +1,7 @@ { "name": "@systemfsoftware/storybook-gherkin", "license": "Apache-2.0", - "version": "5.0.0", + "version": "6.0.0", "author": "TODO ", "repository": { "type": "git", diff --git a/packages/oxlint-presets/oxlint-config-frontend/package.json b/packages/oxlint-presets/oxlint-config-frontend/package.json index c00a6aa..17c2e6f 100644 --- a/packages/oxlint-presets/oxlint-config-frontend/package.json +++ b/packages/oxlint-presets/oxlint-config-frontend/package.json @@ -1,7 +1,7 @@ { "name": "@systemfsoftware/oxlint-config-frontend", "license": "Apache-2.0", - "version": "0.1.0", + "version": "0.1.1", "author": "TODO ", "repository": { "type": "git",