## motiondivision/motion — v12.42.2…v12.43.0

_37 commits._

### Features
- **Added MotionScore badge to READMEs** — A MotionScore grade badge has been added to the top of the project READMEs, displaying a performance or quality metric that links to the detailed score page. (5e6eaa1)
- **Version 12.42.2 released** — A new patch version (12.42.2) is now available, which fixes an issue where cropped group layers didn't properly animate border-radius changes during view animations. (6183324)

### Fixes
- **Better error for invalid custom components** — When motion.create() wraps a custom component whose ref doesn't point to a DOM element, it now throws a clear, actionable error message instead of a cryptic internal error. This prevents animations from silently breaking across the entire page. (695cb39)
- **Fix React 18.3 ref warning** — Fixed a spurious React 18.3 warning about `ref` not being a prop in AnimatePresence when not using popLayout mode. The component was unconditionally reading a ref property that triggered a warning getter, even though the ref wasn't needed in that mode. (a6ed094)
- **Fix Reorder in scaled parents** — Added a workaround for drag-and-reorder lists inside parents with CSS scaling, ensuring dragged items track the cursor correctly and reorder at the right positions. The fix uses `correctParentTransform` to align gesture measurements with the parent's transformed space. (e2411fd)
- **Remove unused devDependencies (lint-staged, zlib); fix turbo.json for turbo 2.x** (10dc14e)
- **fix: don't crash render loop for custom components with non-DOM refs** (86c7b94)
- **Fix spurious React 18.3 ref warning in AnimatePresence non-popLayout mode** (304e7ef)

### Backend
- **Release version 12.43.0** — Version bump to 12.43.0 across all motion animation packages and development environments. All internal package dependencies have been updated to the new version. (a4ef40a)
- **Hardware acceleration for SVG** — SVG elements now benefit from hardware-accelerated animations for opacity and transform properties, matching the existing acceleration support for HTML elements. This improves performance by offloading animations to the browser's Web Animations API instead of JavaScript. (14f2d28)
- **Resolve merge conflict** — Cleaned up a merge conflict in the changelog that was preventing the file from being properly formatted. (1f5a27b)
- **Changelog updated with fixes** — Updated the changelog to document fixes for AnimatePresence child interleaving issues and motion component ref type validation errors. (79f0353)
- **Hardware acceleration for background color** — Added hardware acceleration support for backgroundColor in browsers that support it, improving performance when animating background colors. (57f179b)
- **Drop the production fallback for non-DOM refs** (33a1820)
- **Throw an actionable invariant for non-DOM custom component refs** (ebe35f2)
- **Enable color animation acceleration** — backgroundColor and color properties can now use Web Animation API acceleration for smoother, more efficient animations. This improves performance by offloading color transitions to the browser's native animation engine, with support for interrupting animations mid-flight. (9f251f3)
- **Limit color WAAPI acceleration to backgroundColor** (103be77)
- **Enable WAAPI acceleration for backgroundColor and color** (d8404e5)
- **Updated Next.js to 15.5.21** — Upgraded the Next.js framework dependency from version 15.5.18 to 15.5.21, bringing in the latest patches and improvements. (2ab028e)
- **Update ws dependency to 8.21.1** — Updated the ws WebSocket library from version 8.18.2 to 8.21.1 to pull in the latest bug fixes and improvements. (6610efe)
- **Updated dependency packages** — Bumped brace-expansion from version 1.1.12 to 1.1.16, along with updating Next.js from 15.5.18 to 15.5.21 and related dependencies. These are routine dependency updates to pull in bug fixes and improvements. (5826bbe)
- **Bump brace-expansion from 1.1.12 to 1.1.16** (b5d6fe6)
- **Bump ws from 8.18.2 to 8.21.1** (e5ed795)
- **Bump next from 15.5.18 to 15.5.21** (4738af5)
- **Clean up unused dependencies** — Removed unused npm packages `lint-staged` and `zlib` from the project's dependencies, and fixed `turbo.json` configuration to work with turbo 2.x by renaming the `pipeline` key to `tasks`. These changes unblock the build process which was broken on the main branch. (625af18)
- **Merge branch 'main' into advisor/010-manifest-hygiene** (9b0e9fc)
- **Updated build tool dependency** — Vite, a build tool used in development, was updated from version 6.4.2 to 6.4.3. This is a routine dependency maintenance update. (220a654)
- **Update Babel core dependency** — Upgraded @babel/core from version 7.27.4 to 7.29.7 to include the latest bug fixes and improvements from the Babel JavaScript compiler. (f7cf938)
- **Update js-yaml dependency** — Upgraded the js-yaml package from version 3.14.2 to 3.15.0 to incorporate the latest improvements and security updates. (88a6766)
- **Update shell-quote dependency** — Upgraded the shell-quote npm package from version 1.8.4 to 1.10.0 to get the latest bug fixes and improvements. (b557973)
- **Update Next.js to 15.5.21** — Bumped the Next.js framework dependency from version 15.5.18 to 15.5.21 in the dev environment, picking up the latest patches and improvements. (3575789)
- **Bump next from 15.5.18 to 15.5.21 in /dev/next** (008fdad)
- **Bump shell-quote from 1.8.4 to 1.10.0** (e6dffe9)
- **Bump @babel/core from 7.27.4 to 7.29.7** (dbe2348)
- **Bump js-yaml from 3.14.2 to 3.15.0** (4be5717)
- **Bump vite from 6.4.2 to 6.4.3** (a357065)
- **Pin correctParentTransform workaround for Reorder inside a scaled parent** (15cf1b0)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/motiondivision/motion?utm_source=github-action)._