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
23 Sep 2026
Release timing varies
gaps range from 8 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
448 releases · first in 2013
Replaced Motion One (see upgrade guide).
"motion" package.globalTapTarget for use in Framer.
globalTapTarget for use in Framer.Fixed issue with dragSnapToOrigin not continuing animation when interrupted.
One column per quarter.
dragSnapToOrigin not continuing animation when interrupted.Adding MotionGlobalConfig.skipAnimations to globally disable animations when testing.
MotionGlobalConfig.skipAnimations to globally disable animations when testing.Changed handoff startTime source from performance.now() to document.timeline.currentTime.
startTime source from performance.now() to document.timeline.currentTime.Improved compatibility of custom RefObject and MutableRefObject types.
RefObject and MutableRefObject types.useScroll dependencies array.Improved performance of frameloop scheduling.
SVGs mount read/writes are now batched.
Nothing published for this version
Nothing published for this version
Numerical CSS variables are now read correctly.
Replacing requestAnimationFrame timestamp with performance.now() to avoid timestamp bug in Chrome.
requestAnimationFrame timestamp with performance.now() to avoid timestamp bug in Chrome.Updated types for public inView API.
inView API.Nothing published for this version
Nothing published for this version
Nothing published for this version
scroll() now accepts animations from animate() to create hardware-accelerated animations.
scroll() now accepts animations from animate() to create hardware-accelerated animations.Nothing published for this version
Removed animation resync for optimised animation handoff.
Fixed subpixel layout rounding in Chrome.
scroll(), a universal API for powering scroll-driven animations via ScrollTimeline.
scroll(), a universal API for powering scroll-driven animations via ScrollTimeline.Exporting frame and cancelFrame as a public API.
frame and cancelFrame as a public API.Fixing WAAPI offsets with springs in animation sequences.
Nothing published for this version
Adding springs to animation sequences.
Nothing published for this version
Nothing published for this version
Adding .duration to animate(). sequences.
.duration to animate(). sequences.### Added - Animation sequencing.
Fixing duration: 0 animations never ending.
duration: 0 animations never ending.Further loosening animate() overloads.
animate() overloads.### Changed - Loosening animate() overloads.
animate() overloads.SVG and SVG path types for animate().
stagger()animate().Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Default transitions no longer need to be namespaced under default.
default.Nothing published for this version
Complex string types interpolate correctly with WAAPI spring easing.
cancel(), complete() and speed to animate().
cancel(), complete() and speed to animate()."easeIn", "easeOut" and "easeInOut" easing functions are now WAAPI spec-compliant..stop() stops animations permanently.useSpring timing.animate() with repeat: 1 and repeatType "reverse" or "mirror" correctly applies final keyframe.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
useAnimate() provides a composable way to use animate().
useAnimate() provides a composable way to use animate().Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
animate() now supports DOM elements and DOM selectors.
animate() now supports DOM elements and DOM selectors.Applying target CSS variable at the end of animation.
Fixed time Promise on instant animation.
time Promise on instant animation.time, play(), pause() and then() to animations created with animate().
time, play(), pause() and then() to animations created with animate().Your coding agent can read these notes before it upgrades. Set up the MCP server →