diff --git a/.changeset/pre.json b/.changeset/pre.json index 06bd89405..8cfab1d24 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -212,6 +212,7 @@ "scroll-solid2-migration", "selection-solid2-migration", "sensors-new-package", + "server-write-and-ref-factories", "set-solid2-migration", "share-beta17-action-guard-test-fix", "share-solid2-migration", @@ -219,6 +220,7 @@ "signal-builders-toggle", "solid-2-beta-20-upgrade", "solid-2-rc-0-upgrade", + "solid-2-rc-9-upgrade", "sortable-initial", "spring-solid2-migration", "sse-solid2-async-reactivity", diff --git a/packages/a11y/CHANGELOG.md b/packages/a11y/CHANGELOG.md index d1d39b1f4..b7593a73d 100644 --- a/packages/a11y/CHANGELOG.md +++ b/packages/a11y/CHANGELOG.md @@ -1,5 +1,20 @@ # @solid-primitives/a11y +## 1.0.0-next.4 + +### Patch Changes + +- 638c530: Bump the `solid-js`/`@solidjs/web`/`@solidjs/signals` peer and dev dependency range to `2.0.0-rc.9`, and `babel-preset-solid` to `2.0.0-rc.2`. + + Two behavior fixes were needed to keep up with upstream changes in this range: + + - `@solid-primitives/deep`: `captureStoreUpdates` no longer missed property changes. As of `2.0.0-rc.1` a store's `[$TRACK]` only fires for structural changes (key additions/removals), so leaf value changes stopped being reported. Each node's direct property values are now tracked individually. Updates are still reported at the shallowest node that actually changed. + - `@solid-primitives/storage`: `makePersisted` no longer persists stale data. Signal writes stay pending until the next flush in `2.0.0-rc.1`+, so reading the value back inside the setter returned the _previous_ one — persisting stale data, or removing the stored entry entirely when the previous value was nullish. The value returned by the setter is now persisted directly. + +- Updated dependencies [7ee755d] +- Updated dependencies [638c530] + - @solid-primitives/utils@7.0.0-next.5 + ## 1.0.0-next.3 ### Patch Changes diff --git a/packages/a11y/deno.jsonc b/packages/a11y/deno.jsonc index cff9c3008..a3a83f25d 100644 --- a/packages/a11y/deno.jsonc +++ b/packages/a11y/deno.jsonc @@ -1,6 +1,6 @@ { "name": "@solid-primitives/a11y", - "version": "1.0.0-next.3", + "version": "1.0.0-next.4", "description": "Accessibility primitives for Solid.js — labeled field groups, ARIA graph helpers, and more.", "license": "MIT", "exports": "./src/index.ts", diff --git a/packages/a11y/package.json b/packages/a11y/package.json index 0d965956c..16526ae21 100644 --- a/packages/a11y/package.json +++ b/packages/a11y/package.json @@ -1,6 +1,6 @@ { "name": "@solid-primitives/a11y", - "version": "1.0.0-next.3", + "version": "1.0.0-next.4", "description": "Accessibility primitives — labeled field groups, ARIA graph helpers, and more.", "author": "David Di Biase ", "contributors": [], diff --git a/packages/active-element/CHANGELOG.md b/packages/active-element/CHANGELOG.md index 039252757..2ef3b038b 100644 --- a/packages/active-element/CHANGELOG.md +++ b/packages/active-element/CHANGELOG.md @@ -1,5 +1,21 @@ # @solid-primitives/active-element +## 3.0.0-next.3 + +### Patch Changes + +- 638c530: Bump the `solid-js`/`@solidjs/web`/`@solidjs/signals` peer and dev dependency range to `2.0.0-rc.9`, and `babel-preset-solid` to `2.0.0-rc.2`. + + Two behavior fixes were needed to keep up with upstream changes in this range: + + - `@solid-primitives/deep`: `captureStoreUpdates` no longer missed property changes. As of `2.0.0-rc.1` a store's `[$TRACK]` only fires for structural changes (key additions/removals), so leaf value changes stopped being reported. Each node's direct property values are now tracked individually. Updates are still reported at the shallowest node that actually changed. + - `@solid-primitives/storage`: `makePersisted` no longer persists stale data. Signal writes stay pending until the next flush in `2.0.0-rc.1`+, so reading the value back inside the setter returned the _previous_ one — persisting stale data, or removing the stored entry entirely when the previous value was nullish. The value returned by the setter is now persisted directly. + +- Updated dependencies [7ee755d] +- Updated dependencies [638c530] + - @solid-primitives/utils@7.0.0-next.5 + - @solid-primitives/event-listener@3.0.0-next.6 + ## 3.0.0-next.2 ### Patch Changes diff --git a/packages/active-element/deno.jsonc b/packages/active-element/deno.jsonc index 0d99182ab..5a9e2c745 100644 --- a/packages/active-element/deno.jsonc +++ b/packages/active-element/deno.jsonc @@ -1,6 +1,6 @@ { "name": "@solid-primitives/active-element", - "version": "3.0.0-next.2", + "version": "3.0.0-next.3", "description": "A reactive document.activeElement. Check which element is currently focused.", "license": "MIT", "exports": "./src/index.ts", diff --git a/packages/active-element/package.json b/packages/active-element/package.json index b344f29e7..810a918bd 100644 --- a/packages/active-element/package.json +++ b/packages/active-element/package.json @@ -1,6 +1,6 @@ { "name": "@solid-primitives/active-element", - "version": "3.0.0-next.2", + "version": "3.0.0-next.3", "description": "A reactive document.activeElement. Check which element is currently focused.", "author": "Damian Tarnawski @thetarnav ", "contributors": [ diff --git a/packages/analytics/CHANGELOG.md b/packages/analytics/CHANGELOG.md index e3f4144a8..7bbef481a 100644 --- a/packages/analytics/CHANGELOG.md +++ b/packages/analytics/CHANGELOG.md @@ -1,5 +1,36 @@ # @solid-primitives/analytics +## 2.0.0-next.3 + +### Patch Changes + +- 7ee755d: Stop writing signals during server renders, and ship ref-factory forms of the remaining `use:`-shaped directives. + + Solid 2 (`2.0.0-rc.1`+) flags a signal or store setter that runs during a server render (`SERVER_WRITE`): the write lands as inert data today and will throw in a later release. Eight primitives still did this: + + - `@solid-primitives/utils`: new `createServerSafeSignal(value, options)` — `createSignal` on the client; on the server the signal is still created (so hydration ids stay aligned) but reads and writes go to a plain box. For primitives that hold interactive state with no async source. + - `@solid-primitives/analytics`, `@solid-primitives/list-state`, `@solid-primitives/queue`, and `createInfiniteScroll` in `@solid-primitives/pagination`: internal state uses `createServerSafeSignal`. + - `@solid-primitives/controlled-signal`: on the server an uncontrolled write lands in a plain override instead of the signal; reads and `onChange` behave as before. + - `@solid-primitives/date`: `createCountdown` is now a derived store (`createStore(fn, seed)`) instead of a render effect writing into one — the shape upstream prescribes. + - `@solid-primitives/masonry`: the one-shot signal that wired items to the layout memo is a plain variable. + - `@solid-primitives/pagination`: `createPagination` no longer reads its options at the top level of the calling component (`STRICT_READ_UNTRACKED`). + - `@solid-primitives/tween`: the effect's apply phase reads the current value with `untrack` (`STRICT_READ_UNTRACKED`). + + `@solid-primitives/event-listener` and `@solid-primitives/pointer`: `eventListener`, `pointerPosition` and `pointerHover` now return a ref callback when called with props alone — `