diff --git a/.changeset/fix-stale-useSprings-updates.md b/.changeset/fix-stale-useSprings-updates.md deleted file mode 100644 index 51fd96b372..0000000000 --- a/.changeset/fix-stale-useSprings-updates.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@react-spring/core': patch ---- - -fix(core): clear stale updates in useSprings layout effect to prevent re-application on subsequent renders diff --git a/.changeset/gentle-tomatoes-nail.md b/.changeset/gentle-tomatoes-nail.md deleted file mode 100644 index 8ff427635c..0000000000 --- a/.changeset/gentle-tomatoes-nail.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@react-spring/core': patch ---- - -fix: exitBeforeEnter in useTransition doesn't work when used with trail diff --git a/.changeset/loop-trail-phase-sync.md b/.changeset/loop-trail-phase-sync.md deleted file mode 100644 index 7c753a28a2..0000000000 --- a/.changeset/loop-trail-phase-sync.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@react-spring/core': patch ---- - -fix(useTrail): with `loop: true`, deeper springs trap in a mid-range oscillation instead of sweeping the full from→to distance each cycle. The trail chains children via `to: parent.springs`, so every parent change resets the child's animation progress; under looping, the head snap-resets each cycle but children only chase fluidly. An internal `Controller.onLoopReset` subscription now fires synchronously when the head recurses into the next loop iteration, and every non-head child snaps back to `from` in phase. The fluid-chain contract is preserved. Fixes #1063. diff --git a/.changeset/skip-animation-async-script.md b/.changeset/skip-animation-async-script.md deleted file mode 100644 index 8b7633ebb9..0000000000 --- a/.changeset/skip-animation-async-script.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@react-spring/core': patch ---- - -fix(core): run async script `to` to completion under `skipAnimation` so the spring lands at the script's final value rather than being skipped entirely (#1429) diff --git a/.changeset/spring-ref-events-strictmode.md b/.changeset/spring-ref-events-strictmode.md deleted file mode 100644 index a3a88e0f9f..0000000000 --- a/.changeset/spring-ref-events-strictmode.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@react-spring/core': patch ---- - -fix: events not firing when SpringRef attached manually under StrictMode diff --git a/.changeset/strict-mode-stop-no-goal.md b/.changeset/strict-mode-stop-no-goal.md deleted file mode 100644 index 8ad3832b51..0000000000 --- a/.changeset/strict-mode-stop-no-goal.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@react-spring/core': patch ---- - -fix(SpringValue): `stop()` no longer establishes a goal on a spring that never had one. The previous implementation always called `_focus(this.get())` to snap `animation.to` to the current value — useful for freezing a live animation, but wrong for a paused or never-started spring whose underlying value was seeded by `_prepareNode` via `from`. The bug became observable under React.StrictMode, whose simulated unmount fires `useSprings`'s cleanup (`ctrl.stop(true)`) on a freshly-mounted, paused spring, leaving `t.goal` equal to the `from` value instead of `undefined`. diff --git a/.changeset/strict-mode-trail-chaining.md b/.changeset/strict-mode-trail-chaining.md deleted file mode 100644 index 990209f9c5..0000000000 --- a/.changeset/strict-mode-trail-chaining.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@react-spring/core': patch ---- - -fix(useTrail): chaining no longer breaks under React.StrictMode. The `reverse` and `passedRef` accumulators inside the `useSprings` wrapper relied on the wrapper being invoked at least once per render. Under StrictMode's second render pass, `useSprings`'s internal `useMemo` caches and the wrapper is skipped, leaving the accumulators at their initial values and reversing the trail direction. For the object-form props the values are now derived directly from the shared props. Fixes #1991. diff --git a/.changeset/use-resize-border-box.md b/.changeset/use-resize-border-box.md deleted file mode 100644 index 2f2f68ce13..0000000000 --- a/.changeset/use-resize-border-box.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@react-spring/shared': patch ---- - -fix: `useResize` now reports border-box dimensions (includes padding and border) diff --git a/packages/animated/package.json b/packages/animated/package.json index 4e962f2c82..21a28345b8 100644 --- a/packages/animated/package.json +++ b/packages/animated/package.json @@ -1,6 +1,6 @@ { "name": "@react-spring/animated", - "version": "10.0.3", + "version": "10.0.4", "description": "Animated component props for React", "module": "./dist/react-spring_animated.legacy-esm.js", "main": "./dist/cjs/index.js", @@ -54,8 +54,8 @@ "pack": "pnpm pack && mv *.tgz package.tgz" }, "dependencies": { - "@react-spring/shared": "~10.0.3", - "@react-spring/types": "~10.0.3" + "@react-spring/shared": "~10.0.4", + "@react-spring/types": "~10.0.4" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" diff --git a/packages/core/package.json b/packages/core/package.json index 6f1d6505cb..c160eb3c68 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@react-spring/core", - "version": "10.0.3", + "version": "10.0.4", "module": "./dist/react-spring_core.legacy-esm.js", "main": "./dist/cjs/index.js", "types": "./dist/react-spring_core.modern.d.mts", @@ -57,12 +57,12 @@ "pack": "pnpm pack && mv *.tgz package.tgz" }, "dependencies": { - "@react-spring/animated": "~10.0.3", - "@react-spring/shared": "~10.0.3", - "@react-spring/types": "~10.0.3" + "@react-spring/animated": "~10.0.4", + "@react-spring/shared": "~10.0.4", + "@react-spring/types": "~10.0.4" }, "devDependencies": { - "@react-spring/rafz": "~10.0.3" + "@react-spring/rafz": "~10.0.4" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" diff --git a/packages/mock-raf/package.json b/packages/mock-raf/package.json index 08d7dc5b60..ed9dde976e 100644 --- a/packages/mock-raf/package.json +++ b/packages/mock-raf/package.json @@ -1,6 +1,6 @@ { "name": "@react-spring/mock-raf", - "version": "1.1.1", + "version": "10.0.4", "private": true, "description": "Vendored copy of mock-raf for react-spring tests", "license": "MIT", diff --git a/packages/parallax/package.json b/packages/parallax/package.json index 84608ea1e3..69d169079c 100644 --- a/packages/parallax/package.json +++ b/packages/parallax/package.json @@ -1,6 +1,6 @@ { "name": "@react-spring/parallax", - "version": "10.0.3", + "version": "10.0.4", "module": "./dist/react-spring_parallax.legacy-esm.js", "main": "./dist/cjs/index.js", "types": "./dist/react-spring_parallax.modern.d.mts", @@ -54,8 +54,8 @@ "test": "vite serve ./test" }, "dependencies": { - "@react-spring/shared": "~10.0.3", - "@react-spring/web": "~10.0.3" + "@react-spring/shared": "~10.0.4", + "@react-spring/web": "~10.0.4" }, "devDependencies": { "@vitejs/plugin-react-refresh": "1.3.6", diff --git a/packages/rafz/package.json b/packages/rafz/package.json index 342b9ef6b4..496704f3c8 100644 --- a/packages/rafz/package.json +++ b/packages/rafz/package.json @@ -1,6 +1,6 @@ { "name": "@react-spring/rafz", - "version": "10.0.3", + "version": "10.0.4", "description": "react-spring's fork of rafz one frameloop to rule them all", "module": "./dist/react-spring_rafz.legacy-esm.js", "main": "./dist/cjs/index.js", @@ -51,6 +51,6 @@ "pack": "pnpm pack && mv *.tgz package.tgz" }, "devDependencies": { - "@react-spring/shared": "~10.0.3" + "@react-spring/shared": "~10.0.4" } } diff --git a/packages/shared/package.json b/packages/shared/package.json index 751855da7f..0f764dd486 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -1,6 +1,6 @@ { "name": "@react-spring/shared", - "version": "10.0.3", + "version": "10.0.4", "description": "Globals and shared modules", "module": "./dist/react-spring_shared.legacy-esm.js", "main": "./dist/cjs/index.js", @@ -48,8 +48,8 @@ "provenance": true }, "dependencies": { - "@react-spring/rafz": "~10.0.3", - "@react-spring/types": "~10.0.3" + "@react-spring/rafz": "~10.0.4", + "@react-spring/types": "~10.0.4" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" diff --git a/packages/types/package.json b/packages/types/package.json index 584735d955..2199af4546 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@react-spring/types", - "version": "10.0.3", + "version": "10.0.4", "description": "Internal package with TypeScript stuff", "module": "./dist/react-spring_types.legacy-esm.js", "main": "./dist/cjs/index.js", diff --git a/targets/konva/package.json b/targets/konva/package.json index ce598a7ae7..abe316324c 100644 --- a/targets/konva/package.json +++ b/targets/konva/package.json @@ -1,6 +1,6 @@ { "name": "@react-spring/konva", - "version": "10.0.3", + "version": "10.0.4", "module": "./dist/react-spring_konva.legacy-esm.js", "main": "./dist/cjs/index.js", "types": "./dist/react-spring_konva.modern.d.mts", @@ -47,10 +47,10 @@ "provenance": true }, "dependencies": { - "@react-spring/animated": "~10.0.3", - "@react-spring/core": "~10.0.3", - "@react-spring/shared": "~10.0.3", - "@react-spring/types": "~10.0.3" + "@react-spring/animated": "~10.0.4", + "@react-spring/core": "~10.0.4", + "@react-spring/shared": "~10.0.4", + "@react-spring/types": "~10.0.4" }, "peerDependencies": { "konva": ">=2.6", diff --git a/targets/native/package.json b/targets/native/package.json index b39e2f149c..7dfffbbbc0 100644 --- a/targets/native/package.json +++ b/targets/native/package.json @@ -1,6 +1,6 @@ { "name": "@react-spring/native", - "version": "10.0.3", + "version": "10.0.4", "module": "./dist/react-spring_native.legacy-esm.js", "main": "./dist/cjs/index.js", "types": "./dist/react-spring_native.modern.d.mts", @@ -41,10 +41,10 @@ "provenance": true }, "dependencies": { - "@react-spring/animated": "~10.0.3", - "@react-spring/core": "~10.0.3", - "@react-spring/shared": "~10.0.3", - "@react-spring/types": "~10.0.3" + "@react-spring/animated": "~10.0.4", + "@react-spring/core": "~10.0.4", + "@react-spring/shared": "~10.0.4", + "@react-spring/types": "~10.0.4" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", diff --git a/targets/three/package.json b/targets/three/package.json index e24c9dcba0..df9f18be67 100644 --- a/targets/three/package.json +++ b/targets/three/package.json @@ -1,6 +1,6 @@ { "name": "@react-spring/three", - "version": "10.0.3", + "version": "10.0.4", "module": "./dist/react-spring_three.legacy-esm.js", "main": "./dist/cjs/index.js", "types": "./dist/react-spring_three.modern.d.mts", @@ -47,10 +47,10 @@ "provenance": true }, "dependencies": { - "@react-spring/animated": "~10.0.3", - "@react-spring/core": "~10.0.3", - "@react-spring/shared": "~10.0.3", - "@react-spring/types": "~10.0.3" + "@react-spring/animated": "~10.0.4", + "@react-spring/core": "~10.0.4", + "@react-spring/shared": "~10.0.4", + "@react-spring/types": "~10.0.4" }, "peerDependencies": { "@react-three/fiber": ">=6.0", diff --git a/targets/web/package.json b/targets/web/package.json index fe1d94e013..3dbd21c42c 100644 --- a/targets/web/package.json +++ b/targets/web/package.json @@ -1,6 +1,6 @@ { "name": "@react-spring/web", - "version": "10.0.3", + "version": "10.0.4", "module": "./dist/react-spring_web.legacy-esm.js", "main": "./dist/cjs/index.js", "types": "./dist/react-spring_web.modern.d.mts", @@ -47,10 +47,10 @@ "provenance": true }, "dependencies": { - "@react-spring/animated": "~10.0.3", - "@react-spring/core": "~10.0.3", - "@react-spring/shared": "~10.0.3", - "@react-spring/types": "~10.0.3", + "@react-spring/animated": "~10.0.4", + "@react-spring/core": "~10.0.4", + "@react-spring/shared": "~10.0.4", + "@react-spring/types": "~10.0.4", "csstype": "^3.1.0" }, "peerDependencies": { diff --git a/targets/zdog/package.json b/targets/zdog/package.json index b9c7e2a8fa..7b3c192c61 100644 --- a/targets/zdog/package.json +++ b/targets/zdog/package.json @@ -1,6 +1,6 @@ { "name": "@react-spring/zdog", - "version": "10.0.3", + "version": "10.0.4", "module": "./dist/react-spring_zdog.legacy-esm.js", "main": "./dist/cjs/index.js", "types": "./dist/react-spring_zdog.modern.d.mts", @@ -47,10 +47,10 @@ "provenance": true }, "dependencies": { - "@react-spring/animated": "~10.0.3", - "@react-spring/core": "~10.0.3", - "@react-spring/shared": "~10.0.3", - "@react-spring/types": "~10.0.3" + "@react-spring/animated": "~10.0.4", + "@react-spring/core": "~10.0.4", + "@react-spring/shared": "~10.0.4", + "@react-spring/types": "~10.0.4" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0",