Changelog

Releases across Motion, Motion UI, Motion AI Kit, and Motion Studio.

  1. Motionpatch14.3.1

    Fixed

    • AnimatePresence: Fire onExitComplete after exiting children unmount.
    • AnimatePresence: popLayout children that don't accept ref are now popped when root component is <motion> element.
    • Fix interpolation of axis rotate and skew transforms during shared layout animation.
    • Fix layout animations when layout is enabled after mount.
    • Fix drag jumping to 0 after animate x/y to CSS variable.
    • arc: Fix path animations with animate.
    • Ensure shared elements are freed from memory when unmounted.
    • Fix accelerated independent transform animations vanishing when they start from a float residue.
  2. Motionpatch14.1.1

    Fixed

    • Fix velocity hand-off for hardware-accelerated springs.
    • cubicBezier: More accurate, 2x faster.
    • Reorder: Fix click events on reoredered items.
    • useTransform: Fix desync when source is set in an effect under Strict Mode.
  3. Motionpatch13.5.1

    Changed

    • <motion>: Fall back to the attribute in readSVGValue when computed style is empty.
    • <motion>: Internal changes to animateChanges for size reductions.

    Fixed

    • scroll: Temporarily reverted removal of internal observeTimeline API to fix compatibility with previous 13.x APIs. Moving to pinned dependencies before removing in 14.x.
    • styleEffect: Cleaning up an earlier value no longer removes a value that was bound to the same key after it.
    • svgEffect: No longer writes transforms and origins as attributes.
    • <motion>: inherit={false} now correctly not inheriting parent animations.
    • <motion>: Fix sortNodePosition throwing when a sibling hasn't mounted
  4. Motionpatch13.4.7

    Changed

    • scroll/useScroll: More offsets are now hardware accelerated via ViewTimeline.

    Fixed

    • animate: Reduced size of Motion Studio introspection call.
    • useTransform: Accelerated values now correctly clamp.
    • scroll/useScroll: Ensure offsets work the same across the JS main thread and ViewTimeline.
    • scroll/useScroll: Remove ScrollTimeline/ViewTimeline observer in favour of main-thread scroll tracking.
  5. Motionpatch13.4.6

    Fixed

    • AnimatePresence: mode="wait" no longer drops new children if exit completes during a React transition.
  6. Motionpatch13.4.5

    Fixed

    • layout: Fix relative child jumping when parent interrupts layout animation.
    • AnimatePresence: Can no longer drop a child added while another exit animation completes.
    • Reorder: Only clear Reorder.Group's reorder guard when values change.
    • spring/useSpring: 5% smaller.
  7. Motionpatch13.4.4

    Changed

    • scroll: 44% smaller.
    • useScroll: 33% smaller.
    • Scroll callbacks: 50% faster.
    • Removed ScrollTimeline support for JS callbacks as benchmarked no improvement over scrollInfo.

    Fixed

    • useDragControls: Fixed snapToCursor origin drift on repeated calls.
    • drag: Improved pointerend timing.
    • spring: Check invalid spring values before applying.
    • AnimatePresence: Ensure children don't stick during reentry.
  8. Motionpatch13.4.3

    Fixed

    • <motion>: Ensure animations replay when Suspense reveals memoized content.
  9. Motionpatch13.4.2

    Fixed

    • Reorder: Don't scale position of elements at origin 0 when dragConstraints changes.
    • Unrecognised easing names no longer throw.
  10. Motionpatch13.4.1

    Fixed

    • animate: CSS variable writes on SVGs apply to style attribute.
  11. Motionpatch13.1.1

    Fixed

    • Guard animation window access in non-browser runtimes.
    • AnimatePresence: Improved compat with React 19 strict mode.
  12. Motionpatch12.42.2

    Fixed

    • animateView: Cropped group layers now animate border-radius from the old to new radius.
  13. Motionpatch12.42.1

    Fixed

    • animateView: Old layer fade out now cancelled when defining .new().
  14. Motionpatch12.35.2

    Fixed

    • Reduced filesize of styleEffect.
    • Fix rounding from popLayout.
    • opacity animations in React Strict Mode in development.
    • Ensure useSpring is not affected by monitor framerate.
    • Updating animations sequence segment types to exclude lifecycle handlers.
    • Fix layout animations with parents offset by a %-based translation.
    • Fix autoplay: false with WAAPI animations.
    • Fix layout jump in React Strict Mode in development.
    • Detect divide-by-zero in CSS calc() values before making animatable templates.
  15. Motionpatch12.35.1

    Fixed

    • Fixing combination of string keyframes, spring and delay.
    • Gracefully handle negative scroll values.
    • Fix one-frame visual gap when rapidly switching WAAPI animations.
    • animation.time = 0 on a finished animation sets the playhead in a paused state.
  16. Motionpatch12.34.6

    Fixed

    • Handle % translate values in layout animations.
  17. Motionpatch12.34.5

    Fixed

    • Ensure final WAAPI styles are always committed synchronously to prevent flash of incorrect styles in Firefox.
    • Prevent Next.js from caching typeof window checks.
    • Improve projection node cleanup.
    • Variant propagation fixed for asynchronously-mounted children.
  18. Motionpatch12.34.4

    Fixed

    • Ensure onComplete fires at the end of an animation sequence.
  19. Motionpatch12.34.3

    Fixed

    • Ensure velocity is never transferred to a time-derived spring.
  20. Motionpatch12.34.2

    Fixed

    • Layout animations: Reset motion value velocity when starting a new layout animation.
  21. Motionpatch12.34.1

    Fixed

    • useScroll: Ensure animations aren't hardware accelerated when target is set.
    • Improve animatable "none" generation for mask values.
  22. Motionpatch12.33.2

    Fixed

    • Improve detection of detached elements with vanilla layout animations.
  23. Motionpatch12.33.1

    Fixed

    • AnimatePresence: Ensure exiting nodes are correctly removed when rapidly switching children.
  24. Motionpatch12.31.3

    Fixed

    • <motion>: Ensure animation state is reset after being re-suspended.
    • Prevent stale values when mixing transitionEnd and transition.type: false.
    • Drag: Fix "sticky" throw velocity on initial interaciton.
    • Drag: Ensure catching a thrown element kills its velocity.
  25. Motionpatch12.31.2

    Fixed

    • onHoverStart and onHoverEnd first argument now correctly typed as PointerEvent.
    • whileHover: No longer persists after drag end.
    • AnimatePresence: Allow changing mode prop.
  26. Motionpatch12.31.1

    Added

    • Drag constraints updated even when draggable or constraints resize outside of React renders.
  27. Motionpatch12.30.1

    Fixed

    • Allow drag to be initiated by child a and button elements.
  28. Motionpatch12.29.3

    Fixed

    • Reorder: Fixed viewport autoscroll.
  29. Motionpatch12.29.2

    Fixed

    • Updates to layout animations.
  30. Motionpatch12.29.1

    Fixed

    • useAnimate: Now respects reduced motion settings set via MotionConfig.