Repository navigation
Version Packages (next) - #1095
Merged
Merged
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the
|
✅ Deploy Preview for solid-primitives-v2 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.
nextis currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, runchangeset pre exitonnext.Releases
@solid-primitives/i18n@3.0.0-next.7
Minor Changes
790b4de:
onMissingKeyhandlers now also receive the arguments passed to the translator after the path, and a newmissingKeyAsTemplate(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 takepath.The translator now looks up only a dictionary's own keys, so inherited names such as
"toString"count as missing instead of resolving toObject.prototypemethods.@solid-primitives/jsx-tokenizer@3.0.0-next.5
Minor Changes
createObjectToken(JSX Tokenizer: add tokens which can be parsed usingchildren#399): an opt-in token component whose element is a plain{ data }object instead of a function. Object tokens survive Solid'schildren()helper and components that resolve their children (such as context providers), so the resolved children can still be parsed withresolveTokens/isToken. ExistingcreateTokentokens are unchanged.@solid-primitives/presence@1.0.0-next.6
Minor Changes
doneto the result ofcreatePresence(Extendpresenceto reach feature parity withtransition-group#466): end the current enter or exit transition on the element'stransitionend/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 whendoneis never called. Events bubbling up from descendants are ignored.doneends whichever transition is running when it is called; for completion callbacks of JavaScript animations, which can arrive after their transition was superseded,bindDone()returns adonebound to the current transition that does nothing once the item has changed again. Opt-in and non-breaking: withoutdone, behavior is unchanged.@solid-primitives/storage@5.0.0-next.8
Minor Changes
790b4de: Add a
mergeoption tomakePersistedthat 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: truedeep-merges plain objects (arrays and other values are replaced); a function(stored, initial) => valueallows custom merging. Default behavior is unchanged.If the initial value is still pending (an async or optimistic signal), there are no defaults yet:
merge: trueuses the stored data as is, and a custom merge function receivesundefinedas the initial value.Patch Changes
multiplexStorage: with asynchronous storages,getItem/keynow 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
makeWebAccessFileSystemnow accepts a given directory handle (webkitEntry) in browsers withoutshowDirectoryPicker, so the origin private file system (navigator.storage.getDirectory()) works in Firefox and Safari (writeFileneedscreateWritable, available in Safari 26+). Also fixes a missing quote in themkdirerror message.@solid-primitives/map@1.0.0-next.5
Patch Changes
790b4de: Fix
ReactiveSet/ReactiveMapiteration 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 firstnext(). Creating an iterator inside a tracking scope and consuming it later (e.g. in an effect's apply phase or asetTimeout) registered no dependency. They are now plain methods that track immediately and return the nativeSet/Mapiterator.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 nativeSetIterator/MapIteratorobjects rather than generator objects.@solid-primitives/match@1.0.0-next.5
Patch Changes
MatchTagandMatchValuesignatures so a missing (or unknown) case is reported directly on thecaseprop (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 customtag). Callbacks keep their contextual types even while a case is missing. Inference for the defaulttypetag, a customtagprop andpartialis unchanged, andpartialstill works with explicit type arguments. Passing a custom tag key as an explicit type argument (<MatchTag<MyUnion, "kind">>) now also requires thetagprop, and a non-literalpartial={boolean}is treated as non-partial. Numeric tag values (tag="t"witht: 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
createScheduledLoopmotion example:frame.renderreturns the scheduled callback, so it can be passed tocancelFramedirectly.@solid-primitives/set@1.0.0-next.5
Patch Changes
790b4de: Fix
ReactiveSet/ReactiveMapiteration 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 firstnext(). Creating an iterator inside a tracking scope and consuming it later (e.g. in an effect's apply phase or asetTimeout) registered no dependency. They are now plain methods that track immediately and return the nativeSet/Mapiterator.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 nativeSetIterator/MapIteratorobjects rather than generator objects.