Motion / Changelog925 releases
Changelog
Releases across Motion, Motion+, and Motion AI Kit.
Added
- Support for
repeatTypeandrepeatDelayin animation sequences.
Fixed
- Variants: Re-run keyframe animations when switching between variant labels even when they share identical keyframe arrays.
- 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. 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.useScroll: Support hydratingtargetandcontainerrefs from anywhere in the tree.- Drag: Gesture no longer starts from incorrect start point when rendered inside
<AnimatePresence initial={false} />. - Drag:
dragConstraints, when set as viewport-relative ref, no longer break on scroll.§ - Updated
visualElementhydration order. useAnimate: Now respectsskipAnimations.AnimatePresence: Fix object-forminitialvalues not applied on re-entry after exit completes.scroll: Fixed callback progress when tracking an element.useScroll: Fix hardware acceleration when tracking an element.
- Support for
Added
- Added
layoutAnchorprop to configure custom anchor point for resolving relative projection boxes.
Fixed
Reorder: Fix axis switching after window resize.Reorder: Fix with virtualised lists.AnimatePresence: Ensure children are removed when exit animation matches current values.
- Added
Added
- Support for hardware accelerating
"start"and"end"offsets inscrollanduseScroll. - Support for
oklch,oklab,lab,lch,color,color-mix,light-darkcolor types.
Fixed
- Fix
whileInViewwith client-side navigation. - Fix draggable elements when layout updates due to surrounding element re-renders.
- Improved memory pressure of layout animations.
- Ensure motion value returned from
useSpringreports correctisAnimating().
- Support for hardware accelerating
Added
- Allow
dragSnapToOriginto accept"x"or"y"for per-axis snapping. - Added axis-locked layout animations with
layout="x"andlayout="y". - Added
skipInitialAnimationtouseSpring.
Fixed
- Fixed
heightandwidth: autoanimations withbox-sizing: border-box. - Reset component values when exit animation finishes.
- Ensure
anticipateeasing returns1atp === 1. - Fix
@emotion/is-prop-validresolve error in Storybook. - Remove
data-pop-layout-idfrom exiting elements when animation interrupted. - Ensure we skip WAAPI for non-animatable keyframes.
- Ensure we skip WAAPI for SVG transforms.
- Ensure
MotionValueprops are not passed to SVG. AnimatePresence: Preventmode="wait"elements from getting stuck when switched rapidly.
- Allow
Added
ViewTimelinesupport forscrollanduseScroll.
Added
useScroll: Hardware accelerated animations.
Added
<motion />: Newpropagate.tapprop prevents tap gestures from propagating to parents.
Added
transition.inherit: Whentrue, inherit transition values from less-specific transitions.
Added
animate: Support for bi-directional callbacks within animation sequences.
Fixed
- Ensure
onPannever fires beforeonPanStart.
Added
MotionConfig: AddskipAnimationsoption.
Fixed
animate: Prevent error when callingstop()on removed elements.animateLayout: Fixing shared element animations whenanimatecalled beforeanimateLayout.
Added
transformViewBoxPoint: Scale drag gestures within<svg>elements whereviewBoxand renderedwidth/heightare mismatched.trackContentSize: NewscrollanduseScrolloption for tracking changes to content size.
Fixed
- Add React 19 test suite to CI.
- Fix types with
motion.create(). - Shared element animations now respect
layoutDependency.
Added
useFollowValueandfollowValue:useSpring-style motion values that can accept any transition.
Fixed
- Fix "multiple keyframe" error when using spring animations as default transitions for animation sequences.
Added
- Adding new exports for internal use.
Added
- Support for multiple output value maps with
useTransform.
- Support for multiple output value maps with
Added
- Support for auto-scrolling when a
Reorder.Itemreaches the edges of its parent scrollable container.
- Support for auto-scrolling when a
Added
{ type: "svg" }option tomotion.create()for creating custom SVG components.pxdefault value type for CSS logical properties (paddingBlock,paddingInline,marginBlock,marginInline).
Fixed
- Ensure drag gesture updates with latest props every render.
- Fix missing
JSXimport error. - Fix
motion-dombuild. - Exclude
srcfrom distributed package.
Added
- Add
.stop()and.cancel()methods touseDragControls().
- Add
Added
- Allow
delayChildrento acceptstagger(). This enablesfromandeaseoptions when staggering variant children.
Deprecated
staggerChildrenandstaggerDirectionoptions.
- Allow
Added
- Allow
distanceThresholdto be configurable viauseDragControls.
- Allow
Added
- Pass a shadow DOM root element via
AnimatePresencerootprop to attach"popLayout"styles to a different root element.
- Pass a shadow DOM root element via
Added
- React:
usePageInViewfor tracking document visibility.
- React:
Added
- Support for defining a timeline position relative to the start of the most recently added animation (e.g.
<+0.5,<-1)
- Support for defining a timeline position relative to the start of the most recently added animation (e.g.
Added
- MCP server.
Fixed
- Improved rounding for
linear()easing curves.
Added
resize().
Added
- Support for
pathLength/pathSpacing/pathOffsetforsvgEffect. - Auto kebab-casing of
dataandariaattributes inattrEffect. attrEffectapplies attributes via JS property where possible.- Auto
transform-box: fill-boxfor SVGs withtransforminstyleEffect.
- Support for
Added
- Support for
originX/Y/ZinstyleEffect.
Fixed
- Added markers for pure function calls with effects.
- Support for
Added
svgEffect,propEffectandattrEffect.
Fixed
- Fixed a jump in layout animations in select circumstances.
Added
springValue
Fixed
- Fixed various typos in the type definitions along with a stale documentation link.
Added
- Added
value.isEffectActivefor internal use.
- Added
Added
styleEffectnow supports: - Default value types - Independent transforms - CSS variables