diff --git a/.changeset/blocker-replay-marker-serializable.md b/.changeset/blocker-replay-marker-serializable.md deleted file mode 100644 index 1bf42430b..000000000 --- a/.changeset/blocker-replay-marker-serializable.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@stackflow/plugin-blocker": patch ---- - -Use a namespaced string key instead of a `Symbol` for the internal replay marker. A `Symbol`-keyed property leaked into the recorded event log, so a captured `StackSnapshot` containing a blocked-then-proceeded navigation could not be serialized by codecs that reject symbol keys (e.g. `devalue` throws `Cannot stringify POJOs with symbolic keys`). The marker is now a plain, serializable key. diff --git a/.changeset/bright-guards-enter.md b/.changeset/bright-guards-enter.md deleted file mode 100644 index 85d84341a..000000000 --- a/.changeset/bright-guards-enter.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@stackflow/plugin-activity-guard": major ---- - -Package initial release; Allow programmers to restrict activity entrances via predicates called 'guards'. diff --git a/.changeset/calm-stacks-persist.md b/.changeset/calm-stacks-persist.md deleted file mode 100644 index 3ff508f4c..000000000 --- a/.changeset/calm-stacks-persist.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@stackflow/plugin-stack-persistence": major ---- - -Package initial release; Persist and restore complete Stackflow navigation snapshots with optional metadata reuse strategies and explicit load/save error handling. diff --git a/.changeset/fep-2590-core-peer-compat.md b/.changeset/fep-2590-core-peer-compat.md deleted file mode 100644 index 05a5dbfa7..000000000 --- a/.changeset/fep-2590-core-peer-compat.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -"@stackflow/react": patch -"@stackflow/link": patch -"@stackflow/plugin-basic-ui": patch -"@stackflow/plugin-blocker": patch -"@stackflow/plugin-devtools": patch -"@stackflow/plugin-google-analytics-4": patch -"@stackflow/plugin-history-sync": patch -"@stackflow/plugin-lifecycle": patch -"@stackflow/plugin-renderer-basic": patch -"@stackflow/plugin-renderer-web": patch -"@stackflow/plugin-sentry": patch -"@stackflow/plugin-stack-depth-change": patch -"@stackflow/react-ui-core": patch ---- - -Expand the supported `@stackflow/core` peer dependency range to include both v2 and v3. diff --git a/.changeset/fep-2598-react-loader-core-v3.md b/.changeset/fep-2598-react-loader-core-v3.md deleted file mode 100644 index ff5a4c008..000000000 --- a/.changeset/fep-2598-react-loader-core-v3.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@stackflow/react": patch ---- - -fix: Refresh loader data for renderable activities restored from core v3 snapshots. diff --git a/.changeset/fep-2609-create-metadata-stack.md b/.changeset/fep-2609-create-metadata-stack.md deleted file mode 100644 index 1a2cdb142..000000000 --- a/.changeset/fep-2609-create-metadata-stack.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@stackflow/plugin-stack-persistence": minor ---- - -Pass the current `Stack` to `StackSnapshotStrategy.createMetadata`, so metadata can be derived from the same stack state that the snapshot is captured from. diff --git a/.changeset/fep-2612-parse-metadata.md b/.changeset/fep-2612-parse-metadata.md deleted file mode 100644 index a445ec2d4..000000000 --- a/.changeset/fep-2612-parse-metadata.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@stackflow/plugin-stack-persistence": major ---- - -`StackSnapshotStrategy` now exposes `metadata.create` and `metadata.parse`, storage loads unknown metadata, and composed strategies persist and validate schema/version envelopes. Metadata parse failures can include details and are reported directly through `onRecordLoadError`. diff --git a/.changeset/fep-2635-observe-prevented-actions.md b/.changeset/fep-2635-observe-prevented-actions.md deleted file mode 100644 index 3605281fb..000000000 --- a/.changeset/fep-2635-observe-prevented-actions.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@stackflow/core": minor ---- - -Expose the live, action-local `actions.isPrevented()` state to every pre-effect hook without stopping the remaining hooks. diff --git a/.changeset/fep-2635-skip-prevented-loader-work.md b/.changeset/fep-2635-skip-prevented-loader-work.md deleted file mode 100644 index b020735bc..000000000 --- a/.changeset/fep-2635-skip-prevented-loader-work.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@stackflow/react": patch ---- - -Require `@stackflow/core` v3 and skip loader, preload, and pause work for prevented push and replace actions. diff --git a/.changeset/fep-2636-resume-without-queued-events.md b/.changeset/fep-2636-resume-without-queued-events.md deleted file mode 100644 index 7ccf6d50d..000000000 --- a/.changeset/fep-2636-resume-without-queued-events.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@stackflow/core": patch ---- - -Fix `resume()` leaving a Stack paused when no navigation event was queued after `pause()`. diff --git a/.changeset/shaggy-foxes-compose.md b/.changeset/shaggy-foxes-compose.md deleted file mode 100644 index a96559ef6..000000000 --- a/.changeset/shaggy-foxes-compose.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@stackflow/plugin-stack-persistence": minor ---- - -Add `composeStrategies` to combine multiple strategies into one. diff --git a/.changeset/wrap-record-save-error.md b/.changeset/wrap-record-save-error.md deleted file mode 100644 index 4c8853272..000000000 --- a/.changeset/wrap-record-save-error.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@stackflow/plugin-stack-persistence": patch ---- - -Wrap storage save failures in `StackSnapshotRecordSaveError` before invoking `onRecordSaveError` or rethrowing, matching the declared handler signature and the load-path behavior. diff --git a/core/CHANGELOG.md b/core/CHANGELOG.md index d7a390af7..f574a45ce 100644 --- a/core/CHANGELOG.md +++ b/core/CHANGELOG.md @@ -1,5 +1,15 @@ # @stackflow/core +## 3.1.0 + +### Minor Changes + +- 8ce8866: Expose the live, action-local `actions.isPrevented()` state to every pre-effect hook without stopping the remaining hooks. + +### Patch Changes + +- 9535716: Fix `resume()` leaving a Stack paused when no navigation event was queued after `pause()`. + ## 3.0.0 ### Major Changes diff --git a/core/package.json b/core/package.json index 78c00301a..831776e65 100644 --- a/core/package.json +++ b/core/package.json @@ -1,6 +1,6 @@ { "name": "@stackflow/core", - "version": "3.0.0", + "version": "3.1.0", "repository": { "type": "git", "url": "https://github.com/daangn/stackflow.git", diff --git a/docs/components/ChangelogContent.mdx b/docs/components/ChangelogContent.mdx index 9eef7687f..aa3aab317 100644 --- a/docs/components/ChangelogContent.mdx +++ b/docs/components/ChangelogContent.mdx @@ -1,3 +1,101 @@ +## 2026.07.26 + +Use a namespaced string key instead of a `Symbol` for the internal replay marker. A `Symbol`-keyed property leaked into the recorded event log, so a captured `StackSnapshot` containing a blocked-then-proceeded navigation could not be serialized by codecs that reject symbol keys (e.g. `devalue` throws `Cannot stringify POJOs with symbolic keys`). The marker is now a plain, serializable key. [`b630fd6`](https://github.com/daangn/stackflow/commit/b630fd6ca6f0ec4e2b3b897eadc473891a282614) + +Released packages: +- 📦 [@stackflow/plugin-blocker@0.1.3](https://npmjs.com/package/@stackflow/plugin-blocker/v/0.1.3) + +--- + +Package initial release; Allow programmers to restrict activity entrances via predicates called 'guards'. [`d915c5f`](https://github.com/daangn/stackflow/commit/d915c5fb0ceab7d49882b5a7b8b4f0e739efa281) + +Released packages: +- 📦 [@stackflow/plugin-activity-guard@1.0.0](https://npmjs.com/package/@stackflow/plugin-activity-guard/v/1.0.0) + +--- + +Package initial release; Persist and restore complete Stackflow navigation snapshots with optional metadata reuse strategies and explicit load/save error handling. [`0072c62`](https://github.com/daangn/stackflow/commit/0072c628a8128524efe85e8f9f9ef71dd661b5c2) + +Released packages: +- 📦 [@stackflow/plugin-stack-persistence@1.0.0](https://npmjs.com/package/@stackflow/plugin-stack-persistence/v/1.0.0) + +--- + +Expand the supported `@stackflow/core` peer dependency range to include both v2 and v3. [`aaf2d03`](https://github.com/daangn/stackflow/commit/aaf2d0354231d8342f70d6652c46fc27bc3f8b63) + +Released packages: +- 📦 [@stackflow/link@2.0.2](https://npmjs.com/package/@stackflow/link/v/2.0.2) +- 📦 [@stackflow/plugin-basic-ui@1.18.4](https://npmjs.com/package/@stackflow/plugin-basic-ui/v/1.18.4) +- 📦 [@stackflow/plugin-blocker@0.1.3](https://npmjs.com/package/@stackflow/plugin-blocker/v/0.1.3) +- 📦 [@stackflow/plugin-devtools@0.1.14](https://npmjs.com/package/@stackflow/plugin-devtools/v/0.1.14) +- 📦 [@stackflow/plugin-google-analytics-4@1.1.18](https://npmjs.com/package/@stackflow/plugin-google-analytics-4/v/1.1.18) +- 📦 [@stackflow/plugin-history-sync@1.12.1](https://npmjs.com/package/@stackflow/plugin-history-sync/v/1.12.1) +- 📦 [@stackflow/plugin-lifecycle@0.1.3](https://npmjs.com/package/@stackflow/plugin-lifecycle/v/0.1.3) +- 📦 [@stackflow/plugin-renderer-basic@1.1.16](https://npmjs.com/package/@stackflow/plugin-renderer-basic/v/1.1.16) +- 📦 [@stackflow/plugin-renderer-web@1.1.16](https://npmjs.com/package/@stackflow/plugin-renderer-web/v/1.1.16) +- 📦 [@stackflow/plugin-sentry@0.1.3](https://npmjs.com/package/@stackflow/plugin-sentry/v/0.1.3) +- 📦 [@stackflow/plugin-stack-depth-change@1.1.8](https://npmjs.com/package/@stackflow/plugin-stack-depth-change/v/1.1.8) +- 📦 [@stackflow/react@2.1.3](https://npmjs.com/package/@stackflow/react/v/2.1.3) +- 📦 [@stackflow/react-ui-core@1.3.7](https://npmjs.com/package/@stackflow/react-ui-core/v/1.3.7) + +--- + +fix: Refresh loader data for renderable activities restored from core v3 snapshots. [`f0987d1`](https://github.com/daangn/stackflow/commit/f0987d1959e25b2dcc2627a9e66986426a5aae0e) + +Released packages: +- 📦 [@stackflow/react@2.1.3](https://npmjs.com/package/@stackflow/react/v/2.1.3) + +--- + +Pass the current `Stack` to `StackSnapshotStrategy.createMetadata`, so metadata can be derived from the same stack state that the snapshot is captured from. [`f52b5f4`](https://github.com/daangn/stackflow/commit/f52b5f408c313a7e546fd3a93f7f4347b2cbabc1) + +Released packages: +- 📦 [@stackflow/plugin-stack-persistence@1.0.0](https://npmjs.com/package/@stackflow/plugin-stack-persistence/v/1.0.0) + +--- + +`StackSnapshotStrategy` now exposes `metadata.create` and `metadata.parse`, storage loads unknown metadata, and composed strategies persist and validate schema/version envelopes. Metadata parse failures can include details and are reported directly through `onRecordLoadError`. [`2431b41`](https://github.com/daangn/stackflow/commit/2431b416ed9f927a09aa1f7675a010d18804adf3) + +Released packages: +- 📦 [@stackflow/plugin-stack-persistence@1.0.0](https://npmjs.com/package/@stackflow/plugin-stack-persistence/v/1.0.0) + +--- + +Expose the live, action-local `actions.isPrevented()` state to every pre-effect hook without stopping the remaining hooks. [`8ce8866`](https://github.com/daangn/stackflow/commit/8ce88666e3e8d969d6fbbd29ebd0b34142844d61) + +Released packages: +- 📦 [@stackflow/core@3.1.0](https://npmjs.com/package/@stackflow/core/v/3.1.0) + +--- + +Require `@stackflow/core` v3 and skip loader, preload, and pause work for prevented push and replace actions. [`8ce8866`](https://github.com/daangn/stackflow/commit/8ce88666e3e8d969d6fbbd29ebd0b34142844d61) + +Released packages: +- 📦 [@stackflow/react@2.1.3](https://npmjs.com/package/@stackflow/react/v/2.1.3) + +--- + +Fix `resume()` leaving a Stack paused when no navigation event was queued after `pause()`. [`9535716`](https://github.com/daangn/stackflow/commit/953571614962f6ebe719ce78938ec3ac5d29cbee) + +Released packages: +- 📦 [@stackflow/core@3.1.0](https://npmjs.com/package/@stackflow/core/v/3.1.0) + +--- + +Add `composeStrategies` to combine multiple strategies into one. [`42639c0`](https://github.com/daangn/stackflow/commit/42639c03cda98217bd5d4ea68644b87ea0f2c8ec) + +Released packages: +- 📦 [@stackflow/plugin-stack-persistence@1.0.0](https://npmjs.com/package/@stackflow/plugin-stack-persistence/v/1.0.0) + +--- + +Wrap storage save failures in `StackSnapshotRecordSaveError` before invoking `onRecordSaveError` or rethrowing, matching the declared handler signature and the load-path behavior. [`bf5daae`](https://github.com/daangn/stackflow/commit/bf5daae0a9583affa55c5c87d15645a61581ff82) + +Released packages: +- 📦 [@stackflow/plugin-stack-persistence@1.0.0](https://npmjs.com/package/@stackflow/plugin-stack-persistence/v/1.0.0) + +--- + ## 2026.07.11 Distinguish how a stack is initialized — created fresh (`create`) or restored from a snapshot (`load`) — and add the surface a snapshot round-trip needs: `StackSnapshot`, `actions.captureSnapshot()`, the `provideSnapshot` / `onLoadError` plugin hooks, and `initInfo` on `onInit`. Runtime behavior is unchanged when no snapshot is provided; the breaks are type-level only — the `StackflowPluginHook` → `StackflowPluginInitHook` rename, plus new required members on `StackflowActions` and on the `onInit` / `overrideInitialEvents` hook signatures — hence the major. [`f0fc1fb`](https://github.com/daangn/stackflow/commit/f0fc1fbdda3b23f7c1400f9659e45a970be1647d) diff --git a/extensions/link/CHANGELOG.md b/extensions/link/CHANGELOG.md index a53238e49..3d3cd6e0d 100644 --- a/extensions/link/CHANGELOG.md +++ b/extensions/link/CHANGELOG.md @@ -1,5 +1,11 @@ # @stackflow/link +## 2.0.2 + +### Patch Changes + +- aaf2d03: Expand the supported `@stackflow/core` peer dependency range to include both v2 and v3. + ## 2.0.1 ### Patch Changes diff --git a/extensions/link/package.json b/extensions/link/package.json index da709ba19..5fc4117b2 100644 --- a/extensions/link/package.json +++ b/extensions/link/package.json @@ -1,6 +1,6 @@ { "name": "@stackflow/link", - "version": "2.0.1", + "version": "2.0.2", "repository": { "type": "git", "url": "https://github.com/daangn/stackflow.git", @@ -32,10 +32,10 @@ }, "devDependencies": { "@stackflow/config": "^2.0.0", - "@stackflow/core": "^3.0.0", + "@stackflow/core": "^3.1.0", "@stackflow/esbuild-config": "^1.0.3", - "@stackflow/plugin-history-sync": "^1.12.0", - "@stackflow/react": "^2.1.2", + "@stackflow/plugin-history-sync": "^1.12.1", + "@stackflow/react": "^2.1.3", "@types/react": "^18.3.3", "esbuild": "^0.23.0", "esbuild-plugin-file-path-extensions": "^2.1.3", diff --git a/extensions/plugin-activity-guard/CHANGELOG.md b/extensions/plugin-activity-guard/CHANGELOG.md new file mode 100644 index 000000000..e515e4824 --- /dev/null +++ b/extensions/plugin-activity-guard/CHANGELOG.md @@ -0,0 +1,7 @@ +# @stackflow/plugin-activity-guard + +## 1.0.0 + +### Major Changes + +- d915c5f: Package initial release; Allow programmers to restrict activity entrances via predicates called 'guards'. diff --git a/extensions/plugin-activity-guard/package.json b/extensions/plugin-activity-guard/package.json index eaf086564..cd49e6cf9 100644 --- a/extensions/plugin-activity-guard/package.json +++ b/extensions/plugin-activity-guard/package.json @@ -1,6 +1,6 @@ { "name": "@stackflow/plugin-activity-guard", - "version": "0.0.0", + "version": "1.0.0", "repository": { "type": "git", "url": "https://github.com/daangn/stackflow.git", @@ -31,7 +31,7 @@ }, "devDependencies": { "@stackflow/config": "^2.0.0", - "@stackflow/core": "^3.0.0", + "@stackflow/core": "^3.1.0", "@stackflow/esbuild-config": "^1.0.3", "@types/node": "^20.14.9", "esbuild": "^0.27.3", diff --git a/extensions/plugin-basic-ui/CHANGELOG.md b/extensions/plugin-basic-ui/CHANGELOG.md index 581a20877..5592fd362 100644 --- a/extensions/plugin-basic-ui/CHANGELOG.md +++ b/extensions/plugin-basic-ui/CHANGELOG.md @@ -1,5 +1,13 @@ # @stackflow/plugin-basic-ui +## 1.18.4 + +### Patch Changes + +- aaf2d03: Expand the supported `@stackflow/core` peer dependency range to include both v2 and v3. +- Updated dependencies [aaf2d03] + - @stackflow/react-ui-core@1.3.7 + ## 1.18.3 ### Patch Changes diff --git a/extensions/plugin-basic-ui/package.json b/extensions/plugin-basic-ui/package.json index 3a56d820c..7987be8c2 100644 --- a/extensions/plugin-basic-ui/package.json +++ b/extensions/plugin-basic-ui/package.json @@ -1,6 +1,6 @@ { "name": "@stackflow/plugin-basic-ui", - "version": "1.18.3", + "version": "1.18.4", "repository": { "type": "git", "url": "https://github.com/daangn/stackflow.git", @@ -32,7 +32,7 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@stackflow/react-ui-core": "^1.3.6", + "@stackflow/react-ui-core": "^1.3.7", "@vanilla-extract/css": "^1.15.3", "@vanilla-extract/dynamic": "^2.1.1", "@vanilla-extract/private": "^1.0.5", @@ -40,9 +40,9 @@ "clsx": "^2.1.1" }, "devDependencies": { - "@stackflow/core": "^3.0.0", + "@stackflow/core": "^3.1.0", "@stackflow/esbuild-config": "^1.0.3", - "@stackflow/react": "^2.1.2", + "@stackflow/react": "^2.1.3", "@types/react": "^18.3.3", "esbuild": "^0.23.0", "react": "^18.3.1", diff --git a/extensions/plugin-blocker/CHANGELOG.md b/extensions/plugin-blocker/CHANGELOG.md index 0ad11a698..b50a52087 100644 --- a/extensions/plugin-blocker/CHANGELOG.md +++ b/extensions/plugin-blocker/CHANGELOG.md @@ -1,5 +1,12 @@ # @stackflow/plugin-blocker +## 0.1.3 + +### Patch Changes + +- b630fd6: Use a namespaced string key instead of a `Symbol` for the internal replay marker. A `Symbol`-keyed property leaked into the recorded event log, so a captured `StackSnapshot` containing a blocked-then-proceeded navigation could not be serialized by codecs that reject symbol keys (e.g. `devalue` throws `Cannot stringify POJOs with symbolic keys`). The marker is now a plain, serializable key. +- aaf2d03: Expand the supported `@stackflow/core` peer dependency range to include both v2 and v3. + ## 0.1.2 ### Patch Changes diff --git a/extensions/plugin-blocker/package.json b/extensions/plugin-blocker/package.json index 981af1a7e..86ccae989 100644 --- a/extensions/plugin-blocker/package.json +++ b/extensions/plugin-blocker/package.json @@ -1,6 +1,6 @@ { "name": "@stackflow/plugin-blocker", - "version": "0.1.2", + "version": "0.1.3", "repository": { "type": "git", "url": "https://github.com/daangn/stackflow.git", @@ -42,10 +42,10 @@ }, "devDependencies": { "@stackflow/config": "^2.0.0", - "@stackflow/core": "^3.0.0", + "@stackflow/core": "^3.1.0", "@stackflow/esbuild-config": "^1.0.3", - "@stackflow/plugin-renderer-basic": "^1.1.15", - "@stackflow/react": "^2.1.2", + "@stackflow/plugin-renderer-basic": "^1.1.16", + "@stackflow/react": "^2.1.3", "@swc/core": "^1.6.6", "@swc/jest": "^0.2.36", "@testing-library/dom": "^10.4.0", diff --git a/extensions/plugin-devtools/CHANGELOG.md b/extensions/plugin-devtools/CHANGELOG.md index 63ee521ff..792ec81ab 100644 --- a/extensions/plugin-devtools/CHANGELOG.md +++ b/extensions/plugin-devtools/CHANGELOG.md @@ -1,5 +1,11 @@ # @stackflow/plugin-devtools +## 0.1.14 + +### Patch Changes + +- aaf2d03: Expand the supported `@stackflow/core` peer dependency range to include both v2 and v3. + ## 0.1.13 ### Patch Changes diff --git a/extensions/plugin-devtools/package.json b/extensions/plugin-devtools/package.json index 90ccc4dfe..f7daccfc7 100644 --- a/extensions/plugin-devtools/package.json +++ b/extensions/plugin-devtools/package.json @@ -1,6 +1,6 @@ { "name": "@stackflow/plugin-devtools", - "version": "0.1.13", + "version": "0.1.14", "repository": { "type": "git", "url": "https://github.com/daangn/stackflow.git", @@ -30,7 +30,7 @@ "dev": "yarn build:js --watch && yarn build:dts --watch" }, "devDependencies": { - "@stackflow/core": "^3.0.0", + "@stackflow/core": "^3.1.0", "@stackflow/esbuild-config": "^1.0.3", "@types/node": "^20.14.9", "esbuild": "^0.23.0", diff --git a/extensions/plugin-google-analytics-4/CHANGELOG.md b/extensions/plugin-google-analytics-4/CHANGELOG.md index c51da0551..e434c2b26 100644 --- a/extensions/plugin-google-analytics-4/CHANGELOG.md +++ b/extensions/plugin-google-analytics-4/CHANGELOG.md @@ -1,5 +1,11 @@ # @stackflow/plugin-google-analytics-4 +## 1.1.18 + +### Patch Changes + +- aaf2d03: Expand the supported `@stackflow/core` peer dependency range to include both v2 and v3. + ## 1.1.17 ### Patch Changes diff --git a/extensions/plugin-google-analytics-4/package.json b/extensions/plugin-google-analytics-4/package.json index a46208696..32cb4d7c6 100644 --- a/extensions/plugin-google-analytics-4/package.json +++ b/extensions/plugin-google-analytics-4/package.json @@ -1,6 +1,6 @@ { "name": "@stackflow/plugin-google-analytics-4", - "version": "1.1.17", + "version": "1.1.18", "repository": { "type": "git", "url": "https://github.com/daangn/stackflow.git", @@ -35,9 +35,9 @@ "react-ga4": "^2.1.0" }, "devDependencies": { - "@stackflow/core": "^3.0.0", + "@stackflow/core": "^3.1.0", "@stackflow/esbuild-config": "^1.0.3", - "@stackflow/react": "^2.1.2", + "@stackflow/react": "^2.1.3", "@types/react": "^18.3.3", "esbuild": "^0.23.0", "react": "^18.3.1", diff --git a/extensions/plugin-history-sync/CHANGELOG.md b/extensions/plugin-history-sync/CHANGELOG.md index 931d60d2a..63e182143 100644 --- a/extensions/plugin-history-sync/CHANGELOG.md +++ b/extensions/plugin-history-sync/CHANGELOG.md @@ -1,5 +1,11 @@ # @stackflow/plugin-history-sync +## 1.12.1 + +### Patch Changes + +- aaf2d03: Expand the supported `@stackflow/core` peer dependency range to include both v2 and v3. + ## 1.12.0 ### Minor Changes diff --git a/extensions/plugin-history-sync/package.json b/extensions/plugin-history-sync/package.json index 574a0df66..8114005e5 100644 --- a/extensions/plugin-history-sync/package.json +++ b/extensions/plugin-history-sync/package.json @@ -1,6 +1,6 @@ { "name": "@stackflow/plugin-history-sync", - "version": "1.12.0", + "version": "1.12.1", "repository": { "type": "git", "url": "https://github.com/daangn/stackflow.git", @@ -63,10 +63,10 @@ "devDependencies": { "@graphql-tools/schema": "^10.0.5", "@stackflow/config": "^2.0.0", - "@stackflow/core": "^3.0.0", + "@stackflow/core": "^3.1.0", "@stackflow/esbuild-config": "^1.0.3", - "@stackflow/plugin-renderer-basic": "^1.1.15", - "@stackflow/react": "^2.1.2", + "@stackflow/plugin-renderer-basic": "^1.1.16", + "@stackflow/react": "^2.1.3", "@swc/core": "^1.6.6", "@swc/jest": "^0.2.36", "@testing-library/dom": "^10.4.0", diff --git a/extensions/plugin-lifecycle/CHANGELOG.md b/extensions/plugin-lifecycle/CHANGELOG.md index 76a6d5a05..758577add 100644 --- a/extensions/plugin-lifecycle/CHANGELOG.md +++ b/extensions/plugin-lifecycle/CHANGELOG.md @@ -1,5 +1,11 @@ # @stackflow/plugin-lifecycle +## 0.1.3 + +### Patch Changes + +- aaf2d03: Expand the supported `@stackflow/core` peer dependency range to include both v2 and v3. + ## 0.1.2 ### Patch Changes diff --git a/extensions/plugin-lifecycle/package.json b/extensions/plugin-lifecycle/package.json index f711f05d8..31573e847 100644 --- a/extensions/plugin-lifecycle/package.json +++ b/extensions/plugin-lifecycle/package.json @@ -1,6 +1,6 @@ { "name": "@stackflow/plugin-lifecycle", - "version": "0.1.2", + "version": "0.1.3", "repository": { "type": "git", "url": "https://github.com/daangn/stackflow.git", @@ -42,10 +42,10 @@ }, "devDependencies": { "@stackflow/config": "^2.0.0", - "@stackflow/core": "^3.0.0", + "@stackflow/core": "^3.1.0", "@stackflow/esbuild-config": "^1.0.3", - "@stackflow/plugin-renderer-basic": "^1.1.15", - "@stackflow/react": "^2.1.2", + "@stackflow/plugin-renderer-basic": "^1.1.16", + "@stackflow/react": "^2.1.3", "@swc/core": "^1.6.6", "@swc/jest": "^0.2.36", "@testing-library/dom": "^10.4.0", diff --git a/extensions/plugin-renderer-basic/CHANGELOG.md b/extensions/plugin-renderer-basic/CHANGELOG.md index 6928ce9dd..13e5aba72 100644 --- a/extensions/plugin-renderer-basic/CHANGELOG.md +++ b/extensions/plugin-renderer-basic/CHANGELOG.md @@ -1,5 +1,11 @@ # @stackflow/plugin-renderer-basic +## 1.1.16 + +### Patch Changes + +- aaf2d03: Expand the supported `@stackflow/core` peer dependency range to include both v2 and v3. + ## 1.1.15 ### Patch Changes diff --git a/extensions/plugin-renderer-basic/package.json b/extensions/plugin-renderer-basic/package.json index 7eb015816..c94b553e9 100644 --- a/extensions/plugin-renderer-basic/package.json +++ b/extensions/plugin-renderer-basic/package.json @@ -1,6 +1,6 @@ { "name": "@stackflow/plugin-renderer-basic", - "version": "1.1.15", + "version": "1.1.16", "repository": { "type": "git", "url": "https://github.com/daangn/stackflow.git", @@ -31,9 +31,9 @@ "typecheck": "tsc --noEmit" }, "devDependencies": { - "@stackflow/core": "^3.0.0", + "@stackflow/core": "^3.1.0", "@stackflow/esbuild-config": "^1.0.3", - "@stackflow/react": "^2.1.2", + "@stackflow/react": "^2.1.3", "@types/react": "^18.3.3", "esbuild": "^0.23.0", "react": "^18.3.1", diff --git a/extensions/plugin-renderer-web/CHANGELOG.md b/extensions/plugin-renderer-web/CHANGELOG.md index 0bbf4818e..6d8bde7b4 100644 --- a/extensions/plugin-renderer-web/CHANGELOG.md +++ b/extensions/plugin-renderer-web/CHANGELOG.md @@ -1,5 +1,11 @@ # @stackflow/plugin-renderer-web +## 1.1.16 + +### Patch Changes + +- aaf2d03: Expand the supported `@stackflow/core` peer dependency range to include both v2 and v3. + ## 1.1.15 ### Patch Changes diff --git a/extensions/plugin-renderer-web/package.json b/extensions/plugin-renderer-web/package.json index b6ce4763e..2173c45c8 100644 --- a/extensions/plugin-renderer-web/package.json +++ b/extensions/plugin-renderer-web/package.json @@ -1,6 +1,6 @@ { "name": "@stackflow/plugin-renderer-web", - "version": "1.1.15", + "version": "1.1.16", "repository": { "type": "git", "url": "https://github.com/daangn/stackflow.git", @@ -31,9 +31,9 @@ "typecheck": "tsc --noEmit" }, "devDependencies": { - "@stackflow/core": "^3.0.0", + "@stackflow/core": "^3.1.0", "@stackflow/esbuild-config": "^1.0.3", - "@stackflow/react": "^2.1.2", + "@stackflow/react": "^2.1.3", "@types/react": "^18.3.3", "esbuild": "^0.23.0", "react": "^18.3.1", diff --git a/extensions/plugin-sentry/CHANGELOG.md b/extensions/plugin-sentry/CHANGELOG.md index 7642eb533..7eff67381 100644 --- a/extensions/plugin-sentry/CHANGELOG.md +++ b/extensions/plugin-sentry/CHANGELOG.md @@ -1,5 +1,11 @@ # @stackflow/plugin-sentry +## 0.1.3 + +### Patch Changes + +- aaf2d03: Expand the supported `@stackflow/core` peer dependency range to include both v2 and v3. + ## 0.1.2 ### Patch Changes diff --git a/extensions/plugin-sentry/package.json b/extensions/plugin-sentry/package.json index c8bb9094f..5b1666008 100644 --- a/extensions/plugin-sentry/package.json +++ b/extensions/plugin-sentry/package.json @@ -1,6 +1,6 @@ { "name": "@stackflow/plugin-sentry", - "version": "0.1.2", + "version": "0.1.3", "repository": { "type": "git", "url": "https://github.com/daangn/stackflow.git", @@ -37,7 +37,7 @@ "devDependencies": { "@sentry/browser": "^10.46.0", "@sentry/core": "^10.46.0", - "@stackflow/core": "^3.0.0", + "@stackflow/core": "^3.1.0", "@stackflow/esbuild-config": "^1.0.3", "esbuild": "^0.23.0", "typescript": "^5.5.3" diff --git a/extensions/plugin-stack-depth-change/CHANGELOG.md b/extensions/plugin-stack-depth-change/CHANGELOG.md index 3752b3b0a..a587d9235 100644 --- a/extensions/plugin-stack-depth-change/CHANGELOG.md +++ b/extensions/plugin-stack-depth-change/CHANGELOG.md @@ -1,5 +1,11 @@ # @stackflow/plugin-stack-depth-change +## 1.1.8 + +### Patch Changes + +- aaf2d03: Expand the supported `@stackflow/core` peer dependency range to include both v2 and v3. + ## 1.1.7 ### Patch Changes diff --git a/extensions/plugin-stack-depth-change/package.json b/extensions/plugin-stack-depth-change/package.json index 68da608b6..74824b34d 100644 --- a/extensions/plugin-stack-depth-change/package.json +++ b/extensions/plugin-stack-depth-change/package.json @@ -1,6 +1,6 @@ { "name": "@stackflow/plugin-stack-depth-change", - "version": "1.1.7", + "version": "1.1.8", "repository": { "type": "git", "url": "https://github.com/daangn/stackflow.git", @@ -31,7 +31,7 @@ "typecheck": "tsc --noEmit" }, "devDependencies": { - "@stackflow/core": "^3.0.0", + "@stackflow/core": "^3.1.0", "@stackflow/esbuild-config": "^1.0.3", "@types/node": "^20.14.9", "esbuild": "^0.23.0", diff --git a/extensions/plugin-stack-persistence/CHANGELOG.md b/extensions/plugin-stack-persistence/CHANGELOG.md new file mode 100644 index 000000000..a3f8a82f9 --- /dev/null +++ b/extensions/plugin-stack-persistence/CHANGELOG.md @@ -0,0 +1,17 @@ +# @stackflow/plugin-stack-persistence + +## 1.0.0 + +### Major Changes + +- 0072c62: Package initial release; Persist and restore complete Stackflow navigation snapshots with optional metadata reuse strategies and explicit load/save error handling. +- b97074f: `StackSnapshotStrategy` now exposes `metadata.create` and `metadata.parse`, storage loads unknown metadata, and composed strategies persist and validate schema/version envelopes. Metadata parse failures can include details and are reported directly through `onRecordLoadError`. + +### Minor Changes + +- f52b5f4: Pass the current `Stack` to `StackSnapshotStrategy.createMetadata`, so metadata can be derived from the same stack state that the snapshot is captured from. +- 42639c0: Add `composeStrategies` to combine multiple strategies into one. + +### Patch Changes + +- bf5daae: Wrap storage save failures in `StackSnapshotRecordSaveError` before invoking `onRecordSaveError` or rethrowing, matching the declared handler signature and the load-path behavior. diff --git a/extensions/plugin-stack-persistence/package.json b/extensions/plugin-stack-persistence/package.json index 816d51f20..3d025ccfe 100644 --- a/extensions/plugin-stack-persistence/package.json +++ b/extensions/plugin-stack-persistence/package.json @@ -1,6 +1,6 @@ { "name": "@stackflow/plugin-stack-persistence", - "version": "0.0.0", + "version": "1.0.0", "repository": { "type": "git", "url": "https://github.com/daangn/stackflow.git", @@ -30,7 +30,7 @@ "typecheck": "tsc --noEmit" }, "devDependencies": { - "@stackflow/core": "^3.0.0", + "@stackflow/core": "^3.1.0", "@stackflow/esbuild-config": "^1.0.3", "@types/node": "^20.14.9", "esbuild": "^0.23.0", diff --git a/extensions/react-ui-core/CHANGELOG.md b/extensions/react-ui-core/CHANGELOG.md index 11fd108cf..9d674fe38 100644 --- a/extensions/react-ui-core/CHANGELOG.md +++ b/extensions/react-ui-core/CHANGELOG.md @@ -1,5 +1,11 @@ # @stackflow/react-ui-core +## 1.3.7 + +### Patch Changes + +- aaf2d03: Expand the supported `@stackflow/core` peer dependency range to include both v2 and v3. + ## 1.3.6 ### Patch Changes diff --git a/extensions/react-ui-core/package.json b/extensions/react-ui-core/package.json index 6843098b4..659bc0159 100644 --- a/extensions/react-ui-core/package.json +++ b/extensions/react-ui-core/package.json @@ -1,6 +1,6 @@ { "name": "@stackflow/react-ui-core", - "version": "1.3.6", + "version": "1.3.7", "repository": { "type": "git", "url": "https://github.com/daangn/stackflow.git", @@ -32,9 +32,9 @@ "typecheck": "tsc --noEmit" }, "devDependencies": { - "@stackflow/core": "^3.0.0", + "@stackflow/core": "^3.1.0", "@stackflow/esbuild-config": "^1.0.2", - "@stackflow/react": "^2.1.2", + "@stackflow/react": "^2.1.3", "@types/react": "^18.3.3", "esbuild": "^0.23.0", "react": "^18.3.1", diff --git a/integrations/react/CHANGELOG.md b/integrations/react/CHANGELOG.md index ba752f833..325141a7b 100644 --- a/integrations/react/CHANGELOG.md +++ b/integrations/react/CHANGELOG.md @@ -1,5 +1,13 @@ # @stackflow/react +## 2.1.3 + +### Patch Changes + +- aaf2d03: Expand the supported `@stackflow/core` peer dependency range to include both v2 and v3. +- f0987d1: fix: Refresh loader data for renderable activities restored from core v3 snapshots. +- 8ce8866: Require `@stackflow/core` v3 and skip loader, preload, and pause work for prevented push and replace actions. + ## 2.1.2 ### Patch Changes diff --git a/integrations/react/package.json b/integrations/react/package.json index 01c80ee6f..ae7ef10f6 100644 --- a/integrations/react/package.json +++ b/integrations/react/package.json @@ -1,6 +1,6 @@ { "name": "@stackflow/react", - "version": "2.1.2", + "version": "2.1.3", "repository": { "type": "git", "url": "https://github.com/daangn/stackflow.git", @@ -35,7 +35,7 @@ }, "devDependencies": { "@stackflow/config": "^2.0.0", - "@stackflow/core": "^3.0.0", + "@stackflow/core": "^3.1.0", "@stackflow/esbuild-config": "^1.0.3", "@types/react": "^18.3.3", "esbuild": "^0.23.0", diff --git a/yarn.lock b/yarn.lock index 8dd887e02..658ed06d0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5612,7 +5612,7 @@ __metadata: languageName: unknown linkType: soft -"@stackflow/core@npm:^3.0.0, @stackflow/core@workspace:core": +"@stackflow/core@npm:^3.0.0, @stackflow/core@npm:^3.1.0, @stackflow/core@workspace:core": version: 0.0.0-use.local resolution: "@stackflow/core@workspace:core" dependencies: @@ -5726,10 +5726,10 @@ __metadata: resolution: "@stackflow/link@workspace:extensions/link" dependencies: "@stackflow/config": "npm:^2.0.0" - "@stackflow/core": "npm:^3.0.0" + "@stackflow/core": "npm:^3.1.0" "@stackflow/esbuild-config": "npm:^1.0.3" - "@stackflow/plugin-history-sync": "npm:^1.12.0" - "@stackflow/react": "npm:^2.1.2" + "@stackflow/plugin-history-sync": "npm:^1.12.1" + "@stackflow/react": "npm:^2.1.3" "@types/react": "npm:^18.3.3" esbuild: "npm:^0.23.0" esbuild-plugin-file-path-extensions: "npm:^2.1.3" @@ -5769,7 +5769,7 @@ __metadata: resolution: "@stackflow/plugin-activity-guard@workspace:extensions/plugin-activity-guard" dependencies: "@stackflow/config": "npm:^2.0.0" - "@stackflow/core": "npm:^3.0.0" + "@stackflow/core": "npm:^3.1.0" "@stackflow/esbuild-config": "npm:^1.0.3" "@types/node": "npm:^20.14.9" esbuild: "npm:^0.27.3" @@ -5785,10 +5785,10 @@ __metadata: version: 0.0.0-use.local resolution: "@stackflow/plugin-basic-ui@workspace:extensions/plugin-basic-ui" dependencies: - "@stackflow/core": "npm:^3.0.0" + "@stackflow/core": "npm:^3.1.0" "@stackflow/esbuild-config": "npm:^1.0.3" - "@stackflow/react": "npm:^2.1.2" - "@stackflow/react-ui-core": "npm:^1.3.6" + "@stackflow/react": "npm:^2.1.3" + "@stackflow/react-ui-core": "npm:^1.3.7" "@types/react": "npm:^18.3.3" "@vanilla-extract/css": "npm:^1.15.3" "@vanilla-extract/dynamic": "npm:^2.1.1" @@ -5812,10 +5812,10 @@ __metadata: resolution: "@stackflow/plugin-blocker@workspace:extensions/plugin-blocker" dependencies: "@stackflow/config": "npm:^2.0.0" - "@stackflow/core": "npm:^3.0.0" + "@stackflow/core": "npm:^3.1.0" "@stackflow/esbuild-config": "npm:^1.0.3" - "@stackflow/plugin-renderer-basic": "npm:^1.1.15" - "@stackflow/react": "npm:^2.1.2" + "@stackflow/plugin-renderer-basic": "npm:^1.1.16" + "@stackflow/react": "npm:^2.1.3" "@swc/core": "npm:^1.6.6" "@swc/jest": "npm:^0.2.36" "@testing-library/dom": "npm:^10.4.0" @@ -5840,7 +5840,7 @@ __metadata: version: 0.0.0-use.local resolution: "@stackflow/plugin-devtools@workspace:extensions/plugin-devtools" dependencies: - "@stackflow/core": "npm:^3.0.0" + "@stackflow/core": "npm:^3.1.0" "@stackflow/esbuild-config": "npm:^1.0.3" "@types/node": "npm:^20.14.9" esbuild: "npm:^0.23.0" @@ -5855,9 +5855,9 @@ __metadata: version: 0.0.0-use.local resolution: "@stackflow/plugin-google-analytics-4@workspace:extensions/plugin-google-analytics-4" dependencies: - "@stackflow/core": "npm:^3.0.0" + "@stackflow/core": "npm:^3.1.0" "@stackflow/esbuild-config": "npm:^1.0.3" - "@stackflow/react": "npm:^2.1.2" + "@stackflow/react": "npm:^2.1.3" "@types/react": "npm:^18.3.3" esbuild: "npm:^0.23.0" react: "npm:^18.3.1" @@ -5872,16 +5872,16 @@ __metadata: languageName: unknown linkType: soft -"@stackflow/plugin-history-sync@npm:^1.12.0, @stackflow/plugin-history-sync@workspace:extensions/plugin-history-sync": +"@stackflow/plugin-history-sync@npm:^1.12.0, @stackflow/plugin-history-sync@npm:^1.12.1, @stackflow/plugin-history-sync@workspace:extensions/plugin-history-sync": version: 0.0.0-use.local resolution: "@stackflow/plugin-history-sync@workspace:extensions/plugin-history-sync" dependencies: "@graphql-tools/schema": "npm:^10.0.5" "@stackflow/config": "npm:^2.0.0" - "@stackflow/core": "npm:^3.0.0" + "@stackflow/core": "npm:^3.1.0" "@stackflow/esbuild-config": "npm:^1.0.3" - "@stackflow/plugin-renderer-basic": "npm:^1.1.15" - "@stackflow/react": "npm:^2.1.2" + "@stackflow/plugin-renderer-basic": "npm:^1.1.16" + "@stackflow/react": "npm:^2.1.3" "@swc/core": "npm:^1.6.6" "@swc/jest": "npm:^0.2.36" "@testing-library/dom": "npm:^10.4.0" @@ -5921,10 +5921,10 @@ __metadata: resolution: "@stackflow/plugin-lifecycle@workspace:extensions/plugin-lifecycle" dependencies: "@stackflow/config": "npm:^2.0.0" - "@stackflow/core": "npm:^3.0.0" + "@stackflow/core": "npm:^3.1.0" "@stackflow/esbuild-config": "npm:^1.0.3" - "@stackflow/plugin-renderer-basic": "npm:^1.1.15" - "@stackflow/react": "npm:^2.1.2" + "@stackflow/plugin-renderer-basic": "npm:^1.1.16" + "@stackflow/react": "npm:^2.1.3" "@swc/core": "npm:^1.6.6" "@swc/jest": "npm:^0.2.36" "@testing-library/dom": "npm:^10.4.0" @@ -5945,13 +5945,13 @@ __metadata: languageName: unknown linkType: soft -"@stackflow/plugin-renderer-basic@npm:^1.1.15, @stackflow/plugin-renderer-basic@workspace:extensions/plugin-renderer-basic": +"@stackflow/plugin-renderer-basic@npm:^1.1.15, @stackflow/plugin-renderer-basic@npm:^1.1.16, @stackflow/plugin-renderer-basic@workspace:extensions/plugin-renderer-basic": version: 0.0.0-use.local resolution: "@stackflow/plugin-renderer-basic@workspace:extensions/plugin-renderer-basic" dependencies: - "@stackflow/core": "npm:^3.0.0" + "@stackflow/core": "npm:^3.1.0" "@stackflow/esbuild-config": "npm:^1.0.3" - "@stackflow/react": "npm:^2.1.2" + "@stackflow/react": "npm:^2.1.3" "@types/react": "npm:^18.3.3" esbuild: "npm:^0.23.0" react: "npm:^18.3.1" @@ -5969,9 +5969,9 @@ __metadata: version: 0.0.0-use.local resolution: "@stackflow/plugin-renderer-web@workspace:extensions/plugin-renderer-web" dependencies: - "@stackflow/core": "npm:^3.0.0" + "@stackflow/core": "npm:^3.1.0" "@stackflow/esbuild-config": "npm:^1.0.3" - "@stackflow/react": "npm:^2.1.2" + "@stackflow/react": "npm:^2.1.3" "@types/react": "npm:^18.3.3" esbuild: "npm:^0.23.0" react: "npm:^18.3.1" @@ -5991,7 +5991,7 @@ __metadata: dependencies: "@sentry/browser": "npm:^10.46.0" "@sentry/core": "npm:^10.46.0" - "@stackflow/core": "npm:^3.0.0" + "@stackflow/core": "npm:^3.1.0" "@stackflow/esbuild-config": "npm:^1.0.3" esbuild: "npm:^0.23.0" typescript: "npm:^5.5.3" @@ -6006,7 +6006,7 @@ __metadata: version: 0.0.0-use.local resolution: "@stackflow/plugin-stack-depth-change@workspace:extensions/plugin-stack-depth-change" dependencies: - "@stackflow/core": "npm:^3.0.0" + "@stackflow/core": "npm:^3.1.0" "@stackflow/esbuild-config": "npm:^1.0.3" "@types/node": "npm:^20.14.9" esbuild: "npm:^0.23.0" @@ -6021,7 +6021,7 @@ __metadata: version: 0.0.0-use.local resolution: "@stackflow/plugin-stack-persistence@workspace:extensions/plugin-stack-persistence" dependencies: - "@stackflow/core": "npm:^3.0.0" + "@stackflow/core": "npm:^3.1.0" "@stackflow/esbuild-config": "npm:^1.0.3" "@types/node": "npm:^20.14.9" esbuild: "npm:^0.23.0" @@ -6032,13 +6032,13 @@ __metadata: languageName: unknown linkType: soft -"@stackflow/react-ui-core@npm:^1.3.6, @stackflow/react-ui-core@workspace:extensions/react-ui-core": +"@stackflow/react-ui-core@npm:^1.3.7, @stackflow/react-ui-core@workspace:extensions/react-ui-core": version: 0.0.0-use.local resolution: "@stackflow/react-ui-core@workspace:extensions/react-ui-core" dependencies: - "@stackflow/core": "npm:^3.0.0" + "@stackflow/core": "npm:^3.1.0" "@stackflow/esbuild-config": "npm:^1.0.2" - "@stackflow/react": "npm:^2.1.2" + "@stackflow/react": "npm:^2.1.3" "@types/react": "npm:^18.3.3" esbuild: "npm:^0.23.0" react: "npm:^18.3.1" @@ -6052,12 +6052,12 @@ __metadata: languageName: unknown linkType: soft -"@stackflow/react@npm:^2.1.2, @stackflow/react@workspace:integrations/react": +"@stackflow/react@npm:^2.1.2, @stackflow/react@npm:^2.1.3, @stackflow/react@workspace:integrations/react": version: 0.0.0-use.local resolution: "@stackflow/react@workspace:integrations/react" dependencies: "@stackflow/config": "npm:^2.0.0" - "@stackflow/core": "npm:^3.0.0" + "@stackflow/core": "npm:^3.1.0" "@stackflow/esbuild-config": "npm:^1.0.3" "@types/react": "npm:^18.3.3" esbuild: "npm:^0.23.0"