framer-motion
14.7.1 · 27 Oct 2026MIT45.3M / weekRepositoryHomepagenpmAtom feed
Upgrading framer-motion from 12.23.2 to 12.43.0
79 releases in betweenevery note read
- 1
- change to make
- 0
- advisories fixed
- 40
- new
- 125
- fixes
Before you upgrade
Tick each one off as you go- breaking12.23.19
Release by release
- new
Hardware acceleration for
backgroundColorin supported browsers. - new
Hardware acceleration for SVG elements.
- fixed
AnimatePresence: Exiting children no longer interleave with entering children, which could reorder and remount children present in both renders. - fixed
motion: Throw error when passing a custommotioncomponent an incorrectreftype.
- new
- fixed
animateView: Cropped group layers now animateborder-radiusfrom the old to new radius.
- fixed
- fixed
animateView: Old layer fade out now cancelled when defining.new().
- fixed
- fixed
animateView: Auto-crop is now aspect-ratio aware, disabling crops for matching aspect-ratios. - fixed
animateView: Disabled automaticborder-radiusanimation.
- fixed
- new
animateView: Moves from Motion+ Early Access and alpha to main library. - new
animateView:.add()resolves a CSS selector orElementto automatically generate, apply and removeview-transition-name. - new
animateView:.new()and.old()configures values to animate on new and old layers. - new
animateView:.layout()can set a custom transition on the size/position animation of the currently selected elements.
- new
- new
pathoption totransition. - new
arc()for motion along an arc.
- new
- new
Support for
repeatTypeandrepeatDelayin animation sequences. - fixed
Variants: Re-run keyframe animations when switching between variant labels even when they share identical keyframe arrays.
- fixed
Drag: Preserve in-flight motion value animations across React 19 reorder unmount/remount so
dragSnapToOriginno longer leaves the drag transform stranded after a layout swap. - fixed
LazyMotion: Share React contexts between theframer-motionandframer-motion/m(and thereforemotion/reactandmotion/react-m) CJS bundles so that<m.div>from the/msubpath picks up features loaded by<LazyMotion>from the main entry point.
- new
- new
Added
layoutAnchorprop to configure custom anchor point for resolving relative projection boxes. - fixed
Reorder: Fix axis switching after window resize. - fixed
Reorder: Fix with virtualised lists. - fixed
AnimatePresence: Ensure children are removed when exit animation matches current values.
- new
7 other lines we could not sort, mostly version bumps
- 12.42.0
animateView: Layers are automatically grouped to match their DOM-hierarchy. New.group(false)method opts-out. - 12.41.0
animateView:.enter()and.exit()now refer specifically tonewandoldlayers where there are no matchingoldornewlayers. - 12.41.0
animateView: Interrupted transition setups now return resolved animation rather than throwing. - 12.23.13
Stopped tracking yarn cache in the repo.
- 12.23.9
Removing redundant
renderRequestMotionValuelifecycle. - 12.23.6
Refactored
motioncomponent creation to remove indirection. - 12.23.3
useScroll: Re-attempt to initialise scroll animation within auseEffectif refs weren't hydrated during theuseLayoutEffect. Throw if refs are still not hydrated during theuseEffect.