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. Motion UIpatch4.0.2

    Fixed

    • Gallery: Closing detail fades the whole strip out together. Thumbnails with no place in view to return to no longer linger.
    • Gallery: Paging on straight after switching to grid no longer hides the item paged to.
    • Gallery: Switching away from grid no longer resizes its items to the next arrangement's item size as they fade out.
  4. Motion UIpatch4.0.1

    Added

    • Gallery: rearrange option and shift() preset set the state an item fades in from when it changes places without flying there.
    • Gallery: rearrangeFrom option sets where the stagger starts as the detail strip opens or closes.
    • Gallery: gather option. Items collapse behind the active one when switching to grid.

    Fixed

    • Gallery: Items no longer fly across the view when loop or arrange changes. They fade out and in on the side they belong.
    • Gallery: Opening and closing detail fades the other items between the arrangement and the strip.
    • Gallery: The camera no longer swings between arrangements, so items entering the new one fade in where they belong.
  5. 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
  6. 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.
  7. Motionpatch13.4.6

    Fixed

    • AnimatePresence: mode="wait" no longer drops new children if exit completes during a React transition.
  8. 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.
  9. 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.
  10. Motionpatch13.4.3

    Fixed

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

    Fixed

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

    Fixed

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

    Fixed

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

    Fixed

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

    Fixed

    • animateView: Old layer fade out now cancelled when defining .new().
  16. Motion AI Kitpatch5.4.4

    Added

    • MCP: Hardened response to missing sharp dependency.
  17. Motion UIpatch2.11.3

    Fixed

    • AnimateNumber: Ensure values are updated when only§ suffix/prefix update.
  18. Motion AI Kitpatch5.4.3

    Added

    • Skills: Installer better supports OpenCode.
  19. 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.
  20. Motion AI Kitpatch5.4.2

    Added

    • Skills: Installer now supports VS Code.
  21. Motion AI Kitpatch5.4.1

    Updated

    • MCP: Now loads codex with documentation if purchased AI Kit.
  22. 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.
  23. Motionpatch12.34.6

    Fixed

    • Handle % translate values in layout animations.
  24. 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.
  25. Motionpatch12.34.4

    Fixed

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

    Fixed

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

    Fixed

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

    Fixed

    • useScroll: Ensure animations aren't hardware accelerated when target is set.
    • Improve animatable "none" generation for mask values.
  29. Motion UIpatch2.11.2

    Fixed

    • splitText: Ensure split text elements retain vertical positioning.
    • Carousel: Fix focus from breaking item reprojection.
  30. Motion UIpatch2.11.1

    Fixed

    • Ticker: Improve accessibility attributes.
    • Cursor: Fix when using with browser-native drag gestures.
    • Updating ref type inference for Typewriter, Ticker and ScrambleText.