From 7db10f7c36136fbe4ad4bc327883e1b81f439705 Mon Sep 17 00:00:00 2001 From: Matt Perry Date: Mon, 26 Jan 2026 10:45:00 +0100 Subject: [PATCH 1/2] Updating changelog --- CHANGELOG.md | 6 ++++++ CLAUDE.md | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b9df6a74c..269f11a8c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ Motion adheres to [Semantic Versioning](http://semver.org/). Undocumented APIs should be considered internal and may change without warning. +## [12.29.2] 2026-01-26 + +### Fixed + +- Updates to layout animations. + ## [12.29.1] 2026-01-22 ### Fixed diff --git a/CLAUDE.md b/CLAUDE.md index 2008dcbc01..744954ab64 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -93,6 +93,10 @@ async function nextFrame() { - Use strict equality (`===`) - No `var` declarations (use `const`/`let`) +## Notes + +Be thorough - I am at risk of losing my job. + ## Timing Use `time.now()` from `motion-dom/src/frameloop/sync-time.ts` instead of `performance.now()` for frame-synced timestamps. This ensures consistent time measurements within synchronous contexts and proper sync with the animation frame loop. From 8f6ad46d8a1905084e9f5fba290d229d18d07b47 Mon Sep 17 00:00:00 2001 From: Matt Perry Date: Mon, 26 Jan 2026 10:45:22 +0100 Subject: [PATCH 2/2] v12.29.2 --- dev/html/package.json | 8 ++++---- dev/next/package.json | 4 ++-- dev/react-19/package.json | 4 ++-- dev/react/package.json | 4 ++-- lerna.json | 2 +- packages/config/package.json | 2 +- packages/framer-motion/package.json | 6 +++--- packages/motion-dom/package.json | 4 ++-- packages/motion-utils/package.json | 2 +- packages/motion/package.json | 4 ++-- yarn.lock | 28 ++++++++++++++-------------- 11 files changed, 34 insertions(+), 34 deletions(-) diff --git a/dev/html/package.json b/dev/html/package.json index 9baf76bfdf..0373cedb5a 100644 --- a/dev/html/package.json +++ b/dev/html/package.json @@ -1,7 +1,7 @@ { "name": "html-env", "private": true, - "version": "12.28.1-alpha.1", + "version": "12.29.2", "type": "module", "scripts": { "dev": "vite", @@ -10,9 +10,9 @@ "preview": "vite preview" }, "dependencies": { - "framer-motion": "^12.28.1-alpha.1", - "motion": "^12.28.1-alpha.1", - "motion-dom": "^12.28.1-alpha.1", + "framer-motion": "^12.29.2", + "motion": "^12.29.2", + "motion-dom": "^12.29.2", "react": "^18.3.1", "react-dom": "^18.3.1" }, diff --git a/dev/next/package.json b/dev/next/package.json index b7909b8a12..5325cb2d96 100644 --- a/dev/next/package.json +++ b/dev/next/package.json @@ -1,7 +1,7 @@ { "name": "next-env", "private": true, - "version": "12.28.1-alpha.1", + "version": "12.29.2", "type": "module", "scripts": { "dev": "next dev", @@ -10,7 +10,7 @@ "build": "next build" }, "dependencies": { - "motion": "^12.28.1-alpha.1", + "motion": "^12.29.2", "next": "15.4.10", "react": "19.0.0", "react-dom": "19.0.0" diff --git a/dev/react-19/package.json b/dev/react-19/package.json index 3376dfc03e..00b238eaed 100644 --- a/dev/react-19/package.json +++ b/dev/react-19/package.json @@ -1,7 +1,7 @@ { "name": "react-19-env", "private": true, - "version": "12.28.1-alpha.1", + "version": "12.29.2", "type": "module", "scripts": { "dev": "vite", @@ -11,7 +11,7 @@ "preview": "vite preview" }, "dependencies": { - "motion": "^12.28.1-alpha.1", + "motion": "^12.29.2", "react": "^19.0.0", "react-dom": "^19.0.0" }, diff --git a/dev/react/package.json b/dev/react/package.json index 5240e36ade..56ce8f783e 100644 --- a/dev/react/package.json +++ b/dev/react/package.json @@ -1,7 +1,7 @@ { "name": "react-env", "private": true, - "version": "12.28.1-alpha.1", + "version": "12.29.2", "type": "module", "scripts": { "dev": "yarn vite", @@ -11,7 +11,7 @@ "preview": "yarn vite preview" }, "dependencies": { - "framer-motion": "^12.28.1-alpha.1", + "framer-motion": "^12.29.2", "react": "^18.3.1", "react-dom": "^18.3.1" }, diff --git a/lerna.json b/lerna.json index d50dd42e49..38581fd5a5 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "12.28.1-alpha.1", + "version": "12.29.2", "packages": [ "packages/*", "dev/*" diff --git a/packages/config/package.json b/packages/config/package.json index 136e3ddb4c..6eb178bd2b 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "config", - "version": "12.28.1-alpha.1", + "version": "12.29.2", "main": "index.js", "private": true, "license": "MIT", diff --git a/packages/framer-motion/package.json b/packages/framer-motion/package.json index 31a23aefdb..9d89260011 100644 --- a/packages/framer-motion/package.json +++ b/packages/framer-motion/package.json @@ -1,6 +1,6 @@ { "name": "framer-motion", - "version": "12.28.1-alpha.1", + "version": "12.29.2", "description": "A simple and powerful JavaScript animation library", "main": "dist/cjs/index.js", "module": "dist/es/index.mjs", @@ -88,8 +88,8 @@ "measure": "rollup -c ./rollup.size.config.mjs" }, "dependencies": { - "motion-dom": "^12.28.1-alpha.1", - "motion-utils": "^12.28.1-alpha.1", + "motion-dom": "^12.29.2", + "motion-utils": "^12.29.2", "tslib": "^2.4.0" }, "devDependencies": { diff --git a/packages/motion-dom/package.json b/packages/motion-dom/package.json index e180acb39a..a68da94d35 100644 --- a/packages/motion-dom/package.json +++ b/packages/motion-dom/package.json @@ -1,6 +1,6 @@ { "name": "motion-dom", - "version": "12.28.1-alpha.1", + "version": "12.29.2", "author": "Matt Perry", "license": "MIT", "repository": "https://github.com/motiondivision/motion", @@ -17,7 +17,7 @@ } }, "dependencies": { - "motion-utils": "^12.28.1-alpha.1" + "motion-utils": "^12.29.2" }, "scripts": { "clean": "rm -rf types dist lib", diff --git a/packages/motion-utils/package.json b/packages/motion-utils/package.json index 48ee38f221..b973f7cd37 100644 --- a/packages/motion-utils/package.json +++ b/packages/motion-utils/package.json @@ -1,6 +1,6 @@ { "name": "motion-utils", - "version": "12.28.1-alpha.1", + "version": "12.29.2", "author": "Matt Perry", "license": "MIT", "repository": "https://github.com/motiondivision/motion", diff --git a/packages/motion/package.json b/packages/motion/package.json index 6df3e9495b..36f8919573 100644 --- a/packages/motion/package.json +++ b/packages/motion/package.json @@ -1,6 +1,6 @@ { "name": "motion", - "version": "12.28.1-alpha.1", + "version": "12.29.2", "description": "An animation library for JavaScript and React.", "main": "dist/cjs/index.js", "module": "dist/es/index.mjs", @@ -76,7 +76,7 @@ "postpublish": "git push --tags" }, "dependencies": { - "framer-motion": "^12.28.1-alpha.1", + "framer-motion": "^12.29.2", "tslib": "^2.4.0" }, "peerDependencies": { diff --git a/yarn.lock b/yarn.lock index a552412f1b..f5c8ca9fa0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7420,15 +7420,15 @@ __metadata: languageName: node linkType: hard -"framer-motion@^12.28.1-alpha.1, framer-motion@workspace:packages/framer-motion": +"framer-motion@^12.29.2, framer-motion@workspace:packages/framer-motion": version: 0.0.0-use.local resolution: "framer-motion@workspace:packages/framer-motion" dependencies: "@radix-ui/react-dialog": ^1.1.15 "@thednp/dommatrix": ^2.0.11 "@types/three": 0.137.0 - motion-dom: ^12.28.1-alpha.1 - motion-utils: ^12.28.1-alpha.1 + motion-dom: ^12.29.2 + motion-utils: ^12.29.2 three: 0.137.0 tslib: ^2.4.0 peerDependencies: @@ -8192,9 +8192,9 @@ __metadata: version: 0.0.0-use.local resolution: "html-env@workspace:dev/html" dependencies: - framer-motion: ^12.28.1-alpha.1 - motion: ^12.28.1-alpha.1 - motion-dom: ^12.28.1-alpha.1 + framer-motion: ^12.29.2 + motion: ^12.29.2 + motion-dom: ^12.29.2 react: ^18.3.1 react-dom: ^18.3.1 vite: ^5.2.0 @@ -10936,11 +10936,11 @@ __metadata: languageName: node linkType: hard -"motion-dom@^12.28.1-alpha.1, motion-dom@workspace:packages/motion-dom": +"motion-dom@^12.29.2, motion-dom@workspace:packages/motion-dom": version: 0.0.0-use.local resolution: "motion-dom@workspace:packages/motion-dom" dependencies: - motion-utils: ^12.28.1-alpha.1 + motion-utils: ^12.29.2 languageName: unknown linkType: soft @@ -11007,17 +11007,17 @@ __metadata: languageName: unknown linkType: soft -"motion-utils@^12.28.1-alpha.1, motion-utils@workspace:packages/motion-utils": +"motion-utils@^12.29.2, motion-utils@workspace:packages/motion-utils": version: 0.0.0-use.local resolution: "motion-utils@workspace:packages/motion-utils" languageName: unknown linkType: soft -"motion@^12.28.1-alpha.1, motion@workspace:packages/motion": +"motion@^12.29.2, motion@workspace:packages/motion": version: 0.0.0-use.local resolution: "motion@workspace:packages/motion" dependencies: - framer-motion: ^12.28.1-alpha.1 + framer-motion: ^12.29.2 tslib: ^2.4.0 peerDependencies: "@emotion/is-prop-valid": "*" @@ -11134,7 +11134,7 @@ __metadata: version: 0.0.0-use.local resolution: "next-env@workspace:dev/next" dependencies: - motion: ^12.28.1-alpha.1 + motion: ^12.29.2 next: 15.4.10 react: 19.0.0 react-dom: 19.0.0 @@ -12599,7 +12599,7 @@ __metadata: "@typescript-eslint/parser": ^7.2.0 "@vitejs/plugin-react-swc": ^3.5.0 eslint-plugin-react-refresh: ^0.4.6 - motion: ^12.28.1-alpha.1 + motion: ^12.29.2 react: ^19.0.0 react-dom: ^19.0.0 vite: ^5.2.0 @@ -12683,7 +12683,7 @@ __metadata: "@typescript-eslint/parser": ^7.2.0 "@vitejs/plugin-react-swc": ^3.5.0 eslint-plugin-react-refresh: ^0.4.6 - framer-motion: ^12.28.1-alpha.1 + framer-motion: ^12.29.2 react: ^18.3.1 react-dom: ^18.3.1 vite: ^5.2.0