NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #4107 most downloaded on npm
A simple and powerful JavaScript animation library
Last release 3 days ago
02 Oct 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
1 version withdrawn
withdrawn after publishing
8 years old
1404 releases · first in 2019
### Fixed - Layout projection fix.
Nothing published for this version
Nothing published for this version
One column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Allow a component to have transform reset before measuring child layout.
transform reset before measuring child layout.Further nested drag improvements for external motion values.
Nested drag improvements for external motion values.
### Fixed - Nested drag improvements.
Nothing published for this version
Nothing published for this version
Nothing published for this version
### Fixed - Nested drag improvements.
Nothing published for this version
Layout projection improvements.
Nothing published for this version
Disabling hover events when a drag is active.
Nothing published for this version
Animating to/between 0rem and other non-specifically handled unit types.
0rem and other non-specifically handled unit types.Clamping borderRadius to 0 and above during crossfade.
borderRadius to 0 and above during crossfade.Animating from undefined to number (including units) now animates from 0.
undefined to number (including units) now animates from 0.Adding transition.crossfade and transition.layout for crossfade and layout-specific transitions.
transition.crossfade and transition.layout for crossfade and layout-specific transitions.Nothing published for this version
Replaced layout animation tree traversal with flat array traversal of just projecting elements.
Various layout animation bugfixes.
popmotion, framesync, style-value-types and tslib to latest.Nothing published for this version
Adding package.json to exports so it can be imported by Node.
package.json to exports so it can be imported by Node.The deprecated motion.custom(). Use motion() instead.
LazyMotion component to defer the loading of animations and gestures.motion.custom(). Use motion() instead.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
### Fixed - Various variant bugs.
Added specific default and require fields to the exports field for CJS compatibility.
default and require fields to the exports field for CJS compatibility.Nothing published for this version
useMotionValue now forces re-render on the Framer canvas when the underlying MotionValue updates.
exports field to package.json.useMotionValue now forces re-render on the Framer canvas when the underlying MotionValue updates.Reduced memory consumption in static mode by not loading VisualElement.
VisualElement.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Improved memory consumption of SubscriptionManager.
SubscriptionManager.New layout animations now only trigger when the target viewport box has changed.
### Added - useVelocity.
useVelocity.Exporting AnimationPlaybackControls and AnimationOptions for animate().
AnimationPlaybackControls and AnimationOptions for animate().controls.start().Crossfader now only returns values for the lead and follow components.
Drag now passing velocity to useSpring correctly.
useSpring correctly.dragElastic now accepts per-axis elastic settings.
dragElastic now accepts per-axis elastic settings.Nothing published for this version
perspective now correctly set as its own style. transformPerspective still builds into transform.
perspective now correctly set as its own style. transformPerspective still builds into transform.Refactoring AnimationType is improve bundle-splitting.
AnimationType is improve bundle-splitting.### Fixed - Code-splitting for Webpack.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
motion() creates custom motion components.
motion() creates custom motion components.forwardMotionProps boolean to optionally forward MotionProps to custom components.motion components no longer forward MotionProps by default.motion.custompeerDependency.More permissive check for previously-unencountered values.
Your coding agent can read these notes before it upgrades. Set up the MCP server →