Skip to content

Version Packages (next) - #1006

Merged
davedbase merged 2 commits into
nextfrom
changeset-release/next
Aug 16, 2026
Merged

Version Packages (next)#1006
davedbase merged 2 commits into
nextfrom
changeset-release/next

Conversation

@github-actions

@github-actions github-actions Bot commented Aug 12, 2026

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/history@1.0.0-next.3

Patch Changes

  • c061229: Fix two independent bugs in createUndoHistory that could each cause undo/redo to 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/redo with 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 by undo/redo got recorded as a brand-new history entry instead of being suppressed, corrupting canRedo/canUndo bookkeeping. This reproduces with a single source and no multi-source setup at all. The rewrite replaces the flag with createOptimistic, 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/redo to 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 (undefined when paused), so index alignment is stable across every recorded entry.

    Also fixes the limit option: the default silently became unbounded and limit: 0 no longer meant zero retention. Restored the documented default of 100 and made trimming unconditional so limit: 0 correctly retains no undo history.

    Credit to @mesram, whose createStore/createOptimistic-based rewrite is the basis for this fix.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 12, 2026

Copy link
Copy Markdown

Deploying solid-primitives with  Cloudflare Pages  Cloudflare Pages

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

View logs

@github-actions
github-actions Bot force-pushed the changeset-release/next branch from d2b623e to a065fe1 Compare August 12, 2026 02:23
@github-actions
github-actions Bot force-pushed the changeset-release/next branch from a065fe1 to dd48d08 Compare August 16, 2026 14:50
@netlify

netlify Bot commented Aug 16, 2026

Copy link
Copy Markdown

Deploy Preview for solid-primitives-v2 ready!

Name Link
🔨 Latest commit 1223750
🔍 Latest deploy log https://app.netlify.com/projects/solid-primitives-v2/deploys/6a81cf1c1b7d69000872ed74
😎 Deploy Preview https://deploy-preview-1006--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 e3c524d into next Aug 16, 2026
7 of 9 checks passed
@davedbase
davedbase deleted the changeset-release/next branch August 16, 2026 14:54
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