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 - Invalid property in SVGs.
Making useInvertedScale public and changing const to function.
useInvertedScale public and changing const to function.EventInfo now passed as second argument to onHoverStart and onHoverEnd.
One column per quarter.
layoutTransitionEventInfo now passed as second argument to onHoverStart and onHoverEnd.useDomEvent hook for attaching events directly to an Element.animate.transitionEnd if not initial animation.useInvertedScale is provided arguments.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
useInvertedScale for inverting parent scales.
useInvertedScale for inverting parent scales.positionTransition on exiting components within AnimatePresence.
positionTransition on exiting components within AnimatePresence.Pan and drag gestures with PointerEvent.
PointerEvent.AnimatePresence.exitBeforeEnter.
AnimatePresence.exitBeforeEnter.AnimatePresence.tslib as an external dependency.onAnimationComplete.- Added onAnimationStart. ### Fixed
onAnimationStart.Make sure select, input, textarea loose focus when blocking default behaviour in a draggable element.
select, input, textarea loose focus when blocking default behaviour in a draggable element.Value type conversion for currently-hidden elements.
useAnimation() when the parent component has no variants prop set.whileHover and whileTap if they contain transitionEnd values.animate as set by their parent.stylefire to gracefully handle transform requests.Improving types for SVGTextElement components.
isValidMotionProp function.SVGTextElement components.Don't load positionTransition functionality component server-side.
positionTransition functionality component server-side.### Upgrade - Typescript to 3.5.
3.5.Removing re-entering children from exiting list in AnimatePresence.
AnimatePresence.Supporting positionTransition as a function that resolves when the component has moved.
positionTransition as a function that resolves when the component has moved.dragOriginX and dragOriginY props.positionTransition from SVG type.Exporting AnimatePresenceProps.
AnimatePresenceProps.Fixing positionTransition on server-side.
positionTransition on server-side.Upgrade to AnimatePresence algo.
AnimatePresence algo.Moving UMD global from FramerMotion to Motion.
FramerMotion to Motion.@emotion/is-valid-prop, saving ~1.9kb from bundle.async markers, saving ~0.7kb from bundle.drag and pan gestures on component unmount.animate animate correctly.onAnimationComplete when while overrides are unset.animate is a map of props and initial={false}. This went previously unseen as both values were equivalent, but onAnimationComplete would fire on mount.AnimatePresence component for controlling mount/unmount animations.
AnimatePresence component for controlling mount/unmount animations.positionTransition prop for animating when the layout of a component changes.Moving SVG path props to MotionStyle type.
MotionStyle type.MakeMotion to accept either MotionValue<string> OR MotionValue<number>.Moving dragConstraints to a ref if a component re-renders mid gesture.
dragConstraints to a ref if a component re-renders mid gesture.dragConstraints on render if component isn't currently dragging.Making when type more permissive for passing in implicitly typed, pre-defined variants.
when type more permissive for passing in implicitly typed, pre-defined variants.select, input, textarea elements.Fixing useSpring unsubscriptions.
useSpring unsubscriptions.### Added - Improved SVG support.
Ensuring each MotionValue receives one MotionValuesMap update subscriber.
MotionValue receives one MotionValuesMap update subscriber.Adding x/y MotionValues to the useDrag dependency list.
x/y MotionValues to the useDrag dependency list.Allowing SVG motion components to accept MotionValues via attributes.
motion components to accept MotionValues via attributes.Target.initial={false} to shadow contents of animate thereby disabling on mount animation.
initial={false} to shadow contents of animate thereby disabling on mount animation.AnimationControls.set for imperative setting of values.delay to ensure velocity is only resolved as an animation begins on a value.stylefire@5.0.0 - Changes originX/Y default to "50%".
stylefire@5.0.0 - Changes originX/Y default to "50%".Production and prototype environment-specific tsdocs.
Properly cleaning up event listeners in tap gesture.
transformPagePoint to dragConstraints when it's a RefObject<Element> to ensure it works in scaled environments.dragElastic behaviour when dragMomentum={false}.Preventing default browser behaviours on draggable elements.
Fixing drag when a multitouch gesture starts.
### Fixed - Application of delay.
delay.Fixed regex detection for fallbacks containing a decimal.
dragConstraints can now be set as a React.RefObject.
dragConstraints can now be set as a React.RefObject.Even if a motion component wasn't inheriting variant changes, it'd still register with its parent, meaning it'd be considered during stagger duration
motion component wasn't inheriting variant changes, it'd still register with its parent, meaning it'd be considered during stagger duration calculations.onDragEnd if dragging has actually happened.dragTransition now listed as a useDraggable dependency.
dragTransition now listed as a useDraggable dependency.Experimental useAnimatedState Hook for animating arbitrary values.
useAnimatedState Hook for animating arbitrary values.Disabling the animation of zIndex.
zIndex.staggerChildren.Variant propagation when rerendering children
Using transition and transitionEnd as direct values on the animate prop on subsequent renders.
transition and transitionEnd as direct values on the animate prop on subsequent renders.zIndex.AnimationControls.start now accepts the same AnimationDefinition as ValueAnimationControls.start.Cancelling pan gesture when the move events have no mouse button.
Fixing propagation of unsetting variant overrides.
Improved handling of attempting to animate between non-animatable and animatable values.
Adds array and object support to transform.
transform.transform.- Updating deps.
### Added - shadow to CustomValueTypes.
shadow to CustomValueTypes.Fixed propagation of initial in static mode.
initial in static mode.Filtering pointer events not from the primary pointer (ie non-left clicks for mouse).
custom prop for dynamic variants.
custom prop for dynamic variants.useAnimation no longer takes variants or defaultTransition arguments (provide these to the component).animate prop to account for keyframe arrays.onDragStart and onDragEnd callbacks.onDragEnd not returning transformed point.
onDragEnd not returning transformed point.variants prop with useAnimation.HTMLMotionProps and SVGMotionProps.
HTMLMotionProps and SVGMotionProps.Your coding agent can read these notes before it upgrades. Set up the MCP server →