Version Packages (next) - #1006
Merged
Merged
Conversation
github-actions
Bot
force-pushed
the
changeset-release/next
branch
from
August 12, 2026 02:23
d2b623e to
a065fe1
Compare
github-actions
Bot
force-pushed
the
changeset-release/next
branch
from
August 16, 2026 14:50
a065fe1 to
dd48d08
Compare
✅ 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/history@1.0.0-next.3
Patch Changes
c061229: Fix two independent bugs in
createUndoHistorythat could each causeundo/redoto misfire — the second affects single-source usage too, not just multiple sources.Microtask race on the internal "ignore" flag. The previous implementation suppressed re-recording a history entry during
undo/redowith a flag (ignoreNext) reset via a separately-scheduled microtask (createMicrotask). Since Solid 2.0 batches signal writes into their own microtask-scheduled flush, the flag's reset microtask could resolve before the write's own flush — so the restore triggered byundo/redogot recorded as a brand-new history entry instead of being suppressed, corruptingcanRedo/canUndobookkeeping. This reproduces with a single source and no multi-source setup at all. The rewrite replaces the flag withcreateOptimistic, whose revert is coordinated by Solid's own flush (it runs after the same flush's pending recomputes, not via an independent competing microtask), which structurally removes this race.Misaligned/spurious restores with multiple sources. Separately, each history entry stored a compacted array of setters, dropping any paused source — so entries on either side of a pause/resume boundary could end up with different lengths, causing
undo/redoto compare setters by the wrong array index and either restore the wrong source or spuriously re-fire one that hadn't actually changed. Entries now keep a fixed-length slot per source (undefinedwhen paused), so index alignment is stable across every recorded entry.Also fixes the
limitoption: the default silently became unbounded andlimit: 0no longer meant zero retention. Restored the documented default of100and made trimming unconditional solimit: 0correctly retains no undo history.Credit to @mesram, whose
createStore/createOptimistic-based rewrite is the basis for this fix.