NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #1439 most downloaded on npm
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
Nothing withdrawn
no release was ever pulled
2 years old
152 releases · first in 2024
One column per month.
Internal refactor of projection system into motion-dom.
motion-dom.Fixed time sampling of GPU animations under heavy CPU load.
Fixing missing import from motion-dom.
motion-dom.Perform unit conversion when animating to/from calc() values.
calc() values.Ensure onAnimationStart and onAnimationComplete callbacks fire for useSpring.
onAnimationStart and onAnimationComplete callbacks fire for useSpring.{ type: "svg" } option to motion.create() for creating custom SVG components.
{ type: "svg" } option to motion.create() for creating custom SVG components.px default value type for CSS logical properties (paddingBlock, paddingInline, marginBlock, marginInline).JSX import error.motion-dom build.src from distributed package.Fixing MotionStyle type with React 19 when skipLibCheck is false.
MotionStyle type with React 19 when skipLibCheck is false.process check for better compat with ESM environments.Exporting PresenceChild and PopChild type for internal use.
PresenceChild and PopChild type for internal use.Fixing main-thread scroll with animations that contain delay.
scroll with animations that contain delay.Suppress non-animatable value warning for instant animations.
Remove support for changing ref prop.
ref prop.components now support changing ref prop.
<motion> components now support changing ref prop.Exporting internal APIs for use in view animations.
Removing redundant renderRequest MotionValue lifecycle.
renderRequest MotionValue lifecycle.Removed additional removeNode from AnimatePresence when using popLayout.
springValue cleanup.removeNode from AnimatePresence when using popLayout.Added explainer for reduced motion warning.
motion component creation to remove indirection.Fix animation timings within dynamically-generated popups.
Added pages for remaining error and warning messages.
Improved error messages. Some error messages will now link through to detailed documentation and solutions.
Allow delayChildren to accept stagger(). This enables from and ease options when staggering variant children.
delayChildren to accept stagger(). This enables from and ease options when staggering variant children.staggerChildren and staggerDirection options.Improve performance of projection styles by writing directly to element.style.
element.style.Always skip layout animation check on tree mount.
Updated Transition type to be more permissive.
Transition type to be more permissive.Updated Target type to match previous definition.
Target type to match previous definition.Add transformPerspective to TargetAndTransition.
transformPerspective to TargetAndTransition.CSSStyleDeclaration.Nothing published for this version
Nothing published for this version
Nothing published for this version
React: usePageInView for tracking document visibility.
usePageInView for tracking document visibility.Fixed es bundle dependency imports for "motion".
"motion".translateX, originX etc values in animation targets.Removed "react" import from "motion-dom".
"react" import from "motion-dom".Refactored MotionProps into vanilla MotionNodeOptions type within "motion-dom" package.
MotionProps into vanilla MotionNodeOptions type within "motion-dom" package.Handle colors when creating animatable "none" keyframes for complex strings.
"none" keyframes for complex strings.Improved rounding for linear() easing curves.
linear() easing curves.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
### Added - resize().
resize().Support for pathLength/pathSpacing/pathOffset for svgEffect.
pathLength/pathSpacing/pathOffset for svgEffect.data and aria attributes in attrEffect.attrEffect applies attributes via JS property where possible.transform-box: fill-box for SVGs with transform in styleEffect.Support for originX/Y/Z in styleEffect.
originX/Y/Z in styleEffect.svgEffect, propEffect and attrEffect.
svgEffect, propEffect and attrEffect.Checks for instanceof HTMLElement made compatible with dynamically generated iframes.
instanceof HTMLElement made compatible with dynamically generated iframes.Fixed various typos in the type definitions along with a stale documentation link.
springValueOnly read transform from the DOM for initial independent transforms when there's no active projection.
transform from the DOM for initial independent transforms when there's no active projection.Removed __VERSION__ placeholder from motion value.
__VERSION__ placeholder from motion value.Reorder component.Added value.isEffectActive for internal use.
value.isEffectActive for internal use.Stop firing .then() after .stop() and .cancel().
.then() after .stop() and .cancel().Fixed attaching multiple press handlers on the same element.
press handlers on the same element.Fixed layout animations jumping when interrupted.
Attempting to fix layout animations jumping when interrupted.
### Fixed - Fixed .cancel() after .stop().
.cancel() after .stop().Main thread scroll animations are now lazy, resolving after "scroll" events instead of every animation frame.
scroll animations are now lazy, resolving after "scroll" events instead of every animation frame.### Added - styleEffect now supports: - Default value types - Independent transforms - CSS variables
styleEffect now supports:
Fix setting transformBox via style.
transformBox via style.Remove version check for MotionValue.
MotionValue.Restarting a finished main thread animation with a negative .speed now works as expected.
.speed now works as expected.### Added - styleEffect
styleEffectRemoving errant console.trace on value.set("none").
console.trace on value.set("none").Removed support for Framer's internal CustomValueType.
mapValuetransformValueCustomValueType.Your coding agent can read these notes before it upgrades. Set up the MCP server →