diff --git a/.changeset/local-rows-rejected-write.md b/.changeset/local-rows-rejected-write.md deleted file mode 100644 index 9c43f6a61..000000000 --- a/.changeset/local-rows-rejected-write.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -"@pretable/react": patch ---- - -`useLocalRowModel` now treats an invalid `rows` or `derivations` update as a -rejected write rather than a fatal one, matching `usePretable`. A bad row (a -duplicate id, a throwing accessor, a missing or non-scalar id, a null row) -previously threw out of a layout effect and unmounted whatever subtree renders -the model. The model now keeps the rows it already had and warns once, and a -later valid `rows` array recovers. - -The caveats are the ones `usePretable` carries: the model can stay diverged -from your data indefinitely, the warning latches per fault kind, and there is -no API to ask whether the rows it reports match the ones you passed. Treat the -warning as the signal. Its key is prefixed `local-` so a rejection here can -never be silenced by — or mistaken for — one from `usePretable`. - -This supersedes the closing note in 0.14.2, which recorded that -`useLocalRowModel` was still fatal. That was accurate when it shipped; it is no -longer. - -A lifecycle fault still propagates: writing to a disposed model, re-entering a -mutation, or any row-model code this guard has not been taught about reaches -you as a throw. So does an invalid `rows` option at MOUNT, which is built -during render and never reaches the guarded effect. diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index 0d3a3b33c..9d63fa16f 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,7 @@ # @pretable/core +## 0.14.3 + ## 0.14.2 ## 0.14.1 diff --git a/packages/core/package.json b/packages/core/package.json index e5e44e719..c5fe5c213 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@pretable/core", - "version": "0.14.2", + "version": "0.14.3", "description": "Framework-agnostic grid state primitives for Pretable.", "license": "MIT", "repository": { diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index 944ac74b8..ff110fe50 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -1,5 +1,35 @@ # @pretable/react +## 0.14.3 + +### Patch Changes + +- `useLocalRowModel` now treats an invalid `rows` or `derivations` update as a ([#559](https://github.com/cacheplane/pretable/pull/559)) + rejected write rather than a fatal one, matching `usePretable`. A bad row (a + duplicate id, a throwing accessor, a missing or non-scalar id, a null row) + previously threw out of a layout effect and unmounted whatever subtree renders + the model. The model now keeps the rows it already had and warns once, and a + later valid `rows` array recovers. + + The caveats are the ones `usePretable` carries: the model can stay diverged + from your data indefinitely, the warning latches per fault kind, and there is + no API to ask whether the rows it reports match the ones you passed. Treat the + warning as the signal. Its key is prefixed `local-` so a rejection here can + never be silenced by — or mistaken for — one from `usePretable`. + + This supersedes the closing note in 0.14.2, which recorded that + `useLocalRowModel` was still fatal. That was accurate when it shipped; it is no + longer. + + A lifecycle fault still propagates: writing to a disposed model, re-entering a + mutation, or any row-model code this guard has not been taught about reaches + you as a throw. So does an invalid `rows` option at MOUNT, which is built + during render and never reaches the guarded effect. + +- Updated dependencies []: + - @pretable/core@0.14.3 + - @pretable/ui@0.14.3 + ## 0.14.2 ### Patch Changes diff --git a/packages/react/package.json b/packages/react/package.json index d317e497f..2ac034a99 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@pretable/react", - "version": "0.14.2", + "version": "0.14.3", "description": "React components and hooks for Pretable.", "license": "MIT", "repository": { diff --git a/packages/stream-adapter/CHANGELOG.md b/packages/stream-adapter/CHANGELOG.md index 3dfe97b94..d8d17fc9b 100644 --- a/packages/stream-adapter/CHANGELOG.md +++ b/packages/stream-adapter/CHANGELOG.md @@ -1,5 +1,7 @@ # @pretable/stream-adapter +## 0.14.3 + ## 0.14.2 ## 0.14.1 diff --git a/packages/stream-adapter/package.json b/packages/stream-adapter/package.json index 56f913f5a..11031b949 100644 --- a/packages/stream-adapter/package.json +++ b/packages/stream-adapter/package.json @@ -1,6 +1,6 @@ { "name": "@pretable/stream-adapter", - "version": "0.14.2", + "version": "0.14.3", "description": "Streaming row adapters for Pretable.", "license": "MIT", "repository": { diff --git a/packages/ui/CHANGELOG.md b/packages/ui/CHANGELOG.md index f2e1be8fa..5f9e00316 100644 --- a/packages/ui/CHANGELOG.md +++ b/packages/ui/CHANGELOG.md @@ -1,5 +1,7 @@ # @pretable/ui +## 0.14.3 + ## 0.14.2 ## 0.14.1 diff --git a/packages/ui/package.json b/packages/ui/package.json index b739c5a40..836bd299e 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,6 +1,6 @@ { "name": "@pretable/ui", - "version": "0.14.2", + "version": "0.14.3", "description": "CSS themes, tokens, and grid styles for Pretable.", "license": "MIT", "repository": {