NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #2463 most downloaded on npm
An animation library for JavaScript and React.
Last release today
16 Sep 2026
Release timing varies
gaps range from 9 days to 2 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
71 versions withdrawn
withdrawn after publishing
13 years old
446 releases · first in 2013
Removed "react" import from "motion-dom".
"react" import from "motion-dom".Support for defining a timeline position relative to the start of the most recently added animation (e.g. <+0.5, <-1)
<+0.5, <-1)Refactored MotionProps into vanilla MotionNodeOptions type within "motion-dom" package.
One column per quarter.
MotionProps into vanilla MotionNodeOptions type within "motion-dom" package.Handle colors when creating animatable "none" keyframes for complex strings.
"none" keyframes for complex strings.Fixes isValidProp check with Rolldown.
isValidProp check with Rolldown.Improved rounding for linear() easing curves.
linear() easing curves.Nothing published for this version
Nothing published for this version
Nothing published for this version
### Added - resize().
resize().Support for pathLength/pathSpacing/pathOffset for svgEffect.
pathLength/pathSpacing/pathOffset for svgEffect.data and aria attributes in attrEffect.attrEffect applies attributes via JS property where possible.transform-box: fill-box for SVGs with transform in styleEffect.Support for originX/Y/Z in styleEffect.
originX/Y/Z in styleEffect.svgEffect, propEffect and attrEffect.
svgEffect, propEffect and attrEffect.Ensure scroll updates are only triggered after a scroll read.
Nothing published for this version
Checks for instanceof HTMLElement made compatible with dynamically generated iframes.
instanceof HTMLElement made compatible with dynamically generated iframes.Fixed various typos in the type definitions along with a stale documentation link.
springValueOnly read transform from the DOM for initial independent transforms when there's no active projection.
transform from the DOM for initial independent transforms when there's no active projection.useWillChange now only adds transform to will-change to prevent issues with prematurely flattened preserve-3d.
useWillChange now only adds transform to will-change to prevent issues with prematurely flattened preserve-3d.Removed __VERSION__ placeholder from motion value.
__VERSION__ placeholder from motion value.Reorder component.Default scroll tracking to document.scrollingElement.
scroll tracking to document.scrollingElement.Added value.isEffectActive for internal use.
value.isEffectActive for internal use.Stop firing .then() after .stop() and .cancel().
.then() after .stop() and .cancel().Fixed attaching multiple press handlers on the same element.
press handlers on the same element.Fixed layout animations jumping when interrupted.
Attempting to fix layout animations jumping when interrupted.
### Fixed - Fixed .cancel() after .stop().
.cancel() after .stop().Main thread scroll animations are now lazy, resolving after "scroll" events instead of every animation frame.
scroll animations are now lazy, resolving after "scroll" events instead of every animation frame.### Added - styleEffect now supports: - Default value types - Independent transforms - CSS variables
styleEffect now supports:
Fix mixing PopChild with Astro view transitions.
PopChild with Astro view transitions.Fix setting transformBox via style.
transformBox via style.Fixed drag undefined error in React 19 Strict Mode.
undefined error in React 19 Strict Mode.Remove version check for MotionValue.
MotionValue.Fixed memory leak when unmounting motion components.
motion components.Fixed scroll timeline cache when defining offset.
offset.document.body and use this instead of document.documentElement.Restarting a finished main thread animation with a negative .speed now works as expected.
.speed now works as expected.### Added - styleEffect
styleEffectUnifying transform behaviour for SVG and CSS switched from element measurements for transform-box: fill-box.
transform behaviour for SVG and CSS switched from element measurements for transform-box: fill-box.Removed support for Framer's internal CustomValueType.
mapValuetransformValueCustomValueType.Improved scroll timeline caching.
linear() easing.instantAnimationState.current to MotionGlobalConfig.instantAnimations.delay from read to setup frameloop step..then() and await early resolution..speed works correctly across all animation types.Nothing published for this version
Nothing published for this version
Nothing published for this version
Removed non-deterministic behaviour from AnimatePresence.
AnimatePresence.Fixing duration for animateView transitions.
duration for animateView transitions..commitStyles() on pseudoElement animations.Adding "sideEffects": false to motion-dom and motion-utils packages.
"sideEffects": false to motion-dom and motion-utils packages.Skip .commitStyles on psuedoElement animations.
.commitStyles on psuedoElement animations.Private layoutCrossfade allows disabling crossfade of shared layout elements.
layoutCrossfade allows disabling crossfade of shared layout elements.Polyfilled sync and cancelSync exports.
sync and cancelSync exports.Global injection of WillChangeMotionValue for internal Framer use.
WillChangeMotionValue for internal Framer use.Nothing published for this version
Refactored mini animate and animateView to share the same NativeAnimation. Mini animate down to 2.3kb.
animate and animateView to share the same NativeAnimation. Mini animate down to 2.3kb.Nothing published for this version
Fixing hardware acceleration for non-transform values when a motion component has a defined transformTemplate.
transform values when a motion component has a defined transformTemplate.Reverting pointer capture for press gesture.
New interrupt: "wait" mode as animateView default.
view to animateView.interrupt: "wait" mode as animateView default.Added motionValue to vanilla JS entrypoint.
motionValue to vanilla JS entrypoint.framer-motion-3d package.Fixed reading initial transform values from elements.
Removed pointer capture from pan and drag gestures.
Preventing flattening of scroll animations when type or ease are explicitly set.
type or ease are explicitly set.Your coding agent can read these notes before it upgrades. Set up the MCP server →