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
onPanSessionStart event handler.
onPanSessionStart event handler.useViewportScrollValues => useViewportScroll.ease can now be an array for keyframes animations.easings prop.Only firing value.onChange when value actually changes.
value.onChange when value actually changes.One column per quarter.
### Fixed - Updating hey-listen.
hey-listen.Explicit support for the radius value.
radius value.Making special value support configurable
useTransformedValue => useTransform
useTransformedValue => useTransformtransform(value, input, output, options) overload.Added new methods to safeWindow SSR window mocking.
safeWindow SSR window mocking.style object rather than setting to undefined. #99size works with while gestures.
size works with while gestures.useCycle([...args]) -> useCycle(...args)
useCycle([...args]) -> useCycle(...args)static components reflect changes in initial.useCycle setter is independent from render cycle.useCycle no longer has the ability to start at a different index.### Added - onDragTransitionEnd ### Upgraded - Popmotion libraries.
onDragTransitionEndvalue.addUpdateSubscription => value.onChange
value.addUpdateSubscription => value.onChangevalue.addRenderSubscription => value.onRenderRequest (and made internal)popmotion@8.6.5Updating docs to avoid single-letter event vars.
event vars.Fixing TargetAndTransform type to omit CSS-native rotate property.
TargetAndTransform type to omit CSS-native rotate property.### Changed - press -> whileTap - hover -> whileHover
press -> whileTaphover -> whileHover### Fixed - Fixing HTML types.
Exporting MotionTransform type.
MotionTransform type.Added support for CustomValueType in unwrapMotionValue.
CustomValueType in unwrapMotionValue.Nothing published for this version
"lockDirection" from dragEnabled.
dragDirectionLock prop."lockDirection" from dragEnabled.dragEnabled to drag.Nothing published for this version
Adding transition argument to animation.start().
transition argument to animation.start().inertia settings to more naturally incorporate velocity.pressDown.dragPropagation.dragConstraints repositions the draggable element to adhere to the new valuesFixing Promise resolution with animate.start() when fired pre-mount.
Point.relativeTotransformPromise resolution with animate.start() when fired pre-mount.Blocking extra gesture props from being passed to DOM.
@popmotion/popcorn to fix Jest bug.### Fix - Fixing style set as null.
style set as null.Adding support for custom values.
Updating tsdocs for MotionValue.
MotionValue.### Update - Updating dependencies.
originX, originY, pathLength, pathOffset changed from percent to progress value types.
originX, originY, pathLength, pathOffset changed from percent to progress value types.### Added - Exporting AnimationControls.
AnimationControls.Exporting animationControls and motionValue for internal use.
animationControls and motionValue for internal use.Passing panInfo through to onDragStart and onDragEnd.
panInfo through to onDragStart and onDragEnd.easings property on keyframes now maps correctly to easing functions.
easings property on keyframes now maps correctly to easing functions.Enforcing keyframes animation if target is array.
transition prop weren't being respected by variants with no transition of their own.Animation targets can be set as keyframes.
keyframes.Updating dragConstraints when they change.
dragConstraints when they change.Removing GPU-acceleration for static components.
static components.customStyles plugin.### Updated - stylefire@2.4.3
stylefire@2.4.3Nothing published for this version
Updated popmotion@8.6.3 to improve synchronisation across tweens when yoyoing.
MotionContext.popmotion@8.6.3 to improve synchronisation across tweens when yoyoing.If transformPagePoint is present, transforming initial point.
transformPagePoint is present, transforming initial point.Recognising press when it's the lone gesture.
press when it's the lone gesture.Fixed an issue where values set to style would overwrite animate values even if they hadn't changed.
style would overwrite animate values even if they hadn't changed.static prop. Set static on a motion component to prevent animation and interaction.
static prop. Set static on a motion component to prevent animation and interaction.renderAnimating unit-converting values on mount.
Exporting MotionComponents, CustomMotionComponent, HTMLMotionComponents and SVGMotionComponents types.
MotionComponents, CustomMotionComponent, HTMLMotionComponents and SVGMotionComponents types.safeWindow.### Added - onDrag event listener - Exporting MotionStyles type. ### Changed - tap -> press
onDrag event listenerMotionStyles type.tap -> pressFixing originX and originY SSR.
originX and originY SSR.style props to overwrite CSS rotate, scale and perspective.Nothing published for this version
Rendering initial properties via Stylefire when component mounts to ensure its in-sync with all transform values set in initial that might not later b
initial properties via Stylefire when component mounts to ensure its in-sync with all transform values set in initial that might not later be rendered.htmlElements, svgElements and createMotionComponent as their exclusion was causing errors with the output declaration file.### Changed - Exporting useExternalRef.
useExternalRef.### Changed - Simplifying inline tsdocs.
Standardizing (event, pointInfo) as signature for gesture callbacks.
(event, pointInfo) as signature for gesture callbacks.Nothing published for this version
Nothing published for this version
Nothing published for this version
### Changed - Added TSDocs for useCycle
useCycleNothing published for this version
duration and delay are now defined as seconds.
duration and delay are now defined as seconds.tapActive -> taphoverActive -> hoverdrag -> dragEnabledNothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →