Skip to content

Version Packages (next) - #1095

Merged
davedbase merged 2 commits into
nextfrom
changeset-release/next
Nov 11, 2026
Merged

davedbase merged 2 commits into
nextfrom
changeset-release/next

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to next, this PR will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

next is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, run changeset pre exit on next.

⚠️⚠️⚠️⚠️⚠️⚠️

Releases

@solid-primitives/i18n@3.0.0-next.7

Minor Changes

  • 790b4de: onMissingKey handlers now also receive the arguments passed to the translator after the path, and a new missingKeyAsTemplate(resolveTemplate) handler resolves the missing path itself as a template. Together they support using source-language text as keys — t("Hello {{ name }}!", { name }) — with the source text as the fallback and other locales' dictionaries keyed by that text, with no key extraction or build tooling required (related to Behind the scenes key generation for @solid-primitives/i18n #493). Existing handlers are unaffected; the extra arguments are ignored by handlers that only take path.

    The translator now looks up only a dictionary's own keys, so inherited names such as "toString" count as missing instead of resolving to Object.prototype methods.

@solid-primitives/jsx-tokenizer@3.0.0-next.5

Minor Changes

  • 790b4de: Add createObjectToken (JSX Tokenizer: add tokens which can be parsed using children #399): an opt-in token component whose element is a plain { data } object instead of a function. Object tokens survive Solid's children() helper and components that resolve their children (such as context providers), so the resolved children can still be parsed with resolveTokens / isToken. Existing createToken tokens are unchanged.

@solid-primitives/presence@1.0.0-next.6

Minor Changes

  • 790b4de: Add done to the result of createPresence (Extend presence to reach feature parity with transition-group #466): end the current enter or exit transition on the element's transitionend / animationend (onTransitionEnd={presence.done}), or from your own animation code, instead of waiting for a fixed duration. The duration still applies and acts as a fallback timeout when done is never called. Events bubbling up from descendants are ignored. done ends whichever transition is running when it is called; for completion callbacks of JavaScript animations, which can arrive after their transition was superseded, bindDone() returns a done bound to the current transition that does nothing once the item has changed again. Opt-in and non-breaking: without done, behavior is unchanged.

@solid-primitives/storage@5.0.0-next.8

Minor Changes

  • 790b4de: Add a merge option to makePersisted that applies stored data on top of the initial value instead of replacing it, so keys added to a store's initial value later keep their defaults when older persisted data is loaded (Can't add new keys to persisted stores - feature request for different defaults handing #748). merge: true deep-merges plain objects (arrays and other values are replaced); a function (stored, initial) => value allows custom merging. Default behavior is unchanged.

    If the initial value is still pending (an async or optimistic signal), there are no defaults yet: merge: true uses the stored data as is, and a custom merge function receives undefined as the initial value.

Patch Changes

  • 790b4de: multiplexStorage: with asynchronous storages, getItem/key now resolve to the first storage (in order) that returns a value instead of whichever storage answers first, so a fast storage without a value no longer hides a slower one that has it. A rejecting storage is skipped; the first rejection is only rethrown if no storage returns a value. (multiplexStorage source of truth #799)

@solid-primitives/filesystem@3.0.0-next.6

Patch Changes

  • 790b4de: makeWebAccessFileSystem now accepts a given directory handle (webkitEntry) in browsers without showDirectoryPicker, so the origin private file system (navigator.storage.getDirectory()) works in Firefox and Safari (writeFile needs createWritable, available in Safari 26+). Also fixes a missing quote in the mkdir error message.

@solid-primitives/map@1.0.0-next.5

Patch Changes

  • 790b4de: Fix ReactiveSet / ReactiveMap iteration methods (keys(), values(), entries(), [Symbol.iterator]()) only subscribing once the iterator was first advanced (Gotcha with ReactiveSet/Map iterators #830).

    They were generator methods, so the track() call in their body did not run until the first next(). Creating an iterator inside a tracking scope and consuming it later (e.g. in an effect's apply phase or a setTimeout) registered no dependency. They are now plain methods that track immediately and return the native Set/Map iterator.

    Behavior change: tracking now happens when the iterator is created, not when it is consumed. Calling set.values() inside a tracking scope subscribes to structural changes even if the iterator is never iterated. The returned iterators are now native SetIterator/MapIterator objects rather than generator objects.

@solid-primitives/match@1.0.0-next.5

Patch Changes

  • 790b4de: Rework the MatchTag and MatchValue signatures so a missing (or unknown) case is reported directly on the case prop (e.g. Property 'bar' is missing in type ...) instead of as the misleading error of an unrelated overload (e.g. Property 'type' is missing ... when using a custom tag). Callbacks keep their contextual types even while a case is missing. Inference for the default type tag, a custom tag prop and partial is unchanged, and partial still works with explicit type arguments. Passing a custom tag key as an explicit type argument (<MatchTag<MyUnion, "kind">>) now also requires the tag prop, and a non-literal partial={boolean} is treated as non-partial. Numeric tag values (tag="t" with t: 1 | 2) now type-check. No runtime changes. (Better type error message for <MatchTag> with missing cases #1055)

@solid-primitives/raf@4.0.0-next.6

Patch Changes

  • 790b4de: Correct the createScheduledLoop motion example: frame.render returns the scheduled callback, so it can be passed to cancelFrame directly.
  • Updated dependencies [790b4de]
    • @solid-primitives/set@1.0.0-next.5

@solid-primitives/set@1.0.0-next.5

Patch Changes

  • 790b4de: Fix ReactiveSet / ReactiveMap iteration methods (keys(), values(), entries(), [Symbol.iterator]()) only subscribing once the iterator was first advanced (Gotcha with ReactiveSet/Map iterators #830).

    They were generator methods, so the track() call in their body did not run until the first next(). Creating an iterator inside a tracking scope and consuming it later (e.g. in an effect's apply phase or a setTimeout) registered no dependency. They are now plain methods that track immediately and return the native Set/Map iterator.

    Behavior change: tracking now happens when the iterator is created, not when it is consumed. Calling set.values() inside a tracking scope subscribes to structural changes even if the iterator is never iterated. The returned iterators are now native SetIterator/MapIterator objects rather than generator objects.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Nov 11, 2026 •

Copy link
Copy Markdown

Deploying solid-primitives with  Cloudflare Pages  Cloudflare Pages

Latest commit: af74944
Status:⚡️  Build in progress...

View logs

@coderabbitai

coderabbitai Bot commented Nov 11, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: d841dfec-85d2-4bd5-9bc1-07f2e90b05dd

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@netlify

netlify Bot commented Nov 11, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for solid-primitives-v2 ready!

Name Link
🔨 Latest commit af74944
🔍 Latest deploy log https://app.netlify.com/projects/solid-primitives-v2/deploys/6af4a2a40b30e5051753f4e4
😎 Deploy Preview https://deploy-preview-1095--solid-primitives-v2.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@davedbase
davedbase merged commit b8ec919 into next Nov 11, 2026
4 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant