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
Safer hasOwnProperty check for null values.
hasOwnProperty check for null values.Only fire onPanEnd if onPanStart has triggered.
onPanEnd if onPanStart has triggered.Adding polyfill performance.now in framesync.
One column per quarter.
performance.now in framesync.Only crossfading defined borderRadius borders during shared element transitions.
borderRadius borders during shared element transitions.AnimatePresence now correctly unmounts children if it contains no motion components.
AnimatePresence now correctly unmounts children if it contains no motion components.onAnimationComplete on child variant components now fire as expected.
onAnimationComplete on child variant components now fire as expected.onAnimationComplete now provides the definition of the triggering animation.
onAnimationComplete now provides the definition of the triggering animation.Fixing bug with afterChildren and exit animations.
afterChildren and exit animations.Setting sideEffects: false in package.json to help code splitting in Webpack.
sideEffects: false in package.json to help code splitting in Webpack.onTapCancel is now being correctly cleaned up.
onTapCancel is now being correctly cleaned up.Adding transition prop to MotionConfig to set a default transition for an entire tree.
transition prop to MotionConfig to set a default transition for an entire tree.onBeforeLayoutMeasure prop, currently a Framer internal.
onBeforeLayoutMeasure prop, currently a Framer internal.De-duplicating features in nested MotionConfigs to avoid key error.
MotionConfigs to avoid key error.Main motion component concurrent-safe.
motion component concurrent-safe.animate onComplete now firing correctly.scale, opacity etc from being overdamped to being critically damped when animating to 0.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
- Fixing errant publish.
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
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
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
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
Exporting useVariantContext for internal Framer use.
useVariantContext for internal Framer use.Support for hex alpha, ie #FFF0 and #FFFFFF00.
alpha, ie #FFF0 and #FFFFFF00.filter values. For example, when animating from brightness(50%), the animation will start from brightness(100%)rather thanbrightness(0%).Hover events are now blocked while layout is being measured.
Blocking layout animations to/from zero bounding boxes.
onTapCancel now fires correctly on touch screens.createDomMotionComponent types.Fixed types for pathSpacing and pathOffset.
pathSpacing and pathOffset.snapToCursor respects drag axis.
snapToCursor respects drag axis.### Updated - Updated dependencies.
Error when mixing initial={false} and animate={controls}.
initial={false} and animate={controls}.The deprecated useInvertedScale hook. Use the layout prop instead.
whileDraguserSelect css to draggable elements.whileHover, whileTap and exit all now accept variant lists.animate, whileHover, exit etc). The value will be searched for in active props of a lower priority running (style <- animate <- whileHover <- whileTap <- whileDrag <- exit). This may introduce subtle behavioural changes, hence the major.useInvertedScale hook. Use the layout prop instead.yoyo, flip and loop options. Use repeat and repeatType options instead.transform on SVG elements.MotionValues, for increased startup performance.drag components and nested AnimateSharedLayout trees.treeScale.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
Your coding agent can read these notes before it upgrades. Set up the MCP server →