Motion+
Motion / Changelog925 releases

Changelog

Releases across Motion, Motion+, and Motion AI Kit.

  1. Motionminor12.39.0

    Added

    • Support for repeatType and repeatDelay in animation sequences.

    Fixed

    • Variants: Re-run keyframe animations when switching between variant labels even when they share identical keyframe arrays.
    • Drag: Preserve in-flight motion value animations across React 19 reorder unmount/remount so dragSnapToOrigin no longer leaves the drag transform stranded after a layout swap.
    • LazyMotion: Share React contexts between the framer-motion and framer-motion/m (and therefore motion/react and motion/react-m) CJS bundles so that <m.div> from the /m subpath picks up features loaded by <LazyMotion> from the main entry point.
    • useScroll: Support hydrating target and container refs from anywhere in the tree.
    • Drag: Gesture no longer starts from incorrect start point when rendered inside <AnimatePresence initial={false} />.
    • Drag: dragConstraints, when set as viewport-relative ref, no longer break on scroll.§
    • Updated visualElement hydration order.
    • useAnimate: Now respects skipAnimations.
    • AnimatePresence: Fix object-form initial values not applied on re-entry after exit completes.
    • scroll: Fixed callback progress when tracking an element.
    • useScroll: Fix hardware acceleration when tracking an element.
  2. Motion+patch2.11.3

    Fixed

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

    Added

    • Skills: Installer better supports OpenCode.
  4. Motionminor12.38.0

    Added

    • Added layoutAnchor prop to configure custom anchor point for resolving relative projection boxes.

    Fixed

    • Reorder: Fix axis switching after window resize.
    • Reorder: Fix with virtualised lists.
    • AnimatePresence: Ensure children are removed when exit animation matches current values.
  5. Motionminor12.37.0

    Added

    • Support for hardware accelerating "start" and "end" offsets in scroll and useScroll.
    • Support for oklch, oklab, lab, lch, color, color-mix, light-dark color types.

    Fixed

    • Fix whileInView with client-side navigation.
    • Fix draggable elements when layout updates due to surrounding element re-renders.
    • Improved memory pressure of layout animations.
    • Ensure motion value returned from useSpring reports correct isAnimating().
  6. Motionminor12.36.0

    Added

    • Allow dragSnapToOrigin to accept "x" or "y" for per-axis snapping.
    • Added axis-locked layout animations with layout="x" and layout="y".
    • Added skipInitialAnimation to useSpring.

    Fixed

    • Fixed height and width: auto animations with box-sizing: border-box.
    • Reset component values when exit animation finishes.
    • Ensure anticipate easing returns 1 at p === 1.
    • Fix @emotion/is-prop-valid resolve error in Storybook.
    • Remove data-pop-layout-id from exiting elements when animation interrupted.
    • Ensure we skip WAAPI for non-animatable keyframes.
    • Ensure we skip WAAPI for SVG transforms.
    • Ensure MotionValue props are not passed to SVG.
    • AnimatePresence: Prevent mode="wait" elements from getting stuck when switched rapidly.
  7. 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.
  8. Motion AI Kitpatch5.4.2

    Added

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

    Updated

    • MCP: Now loads codex with documentation if purchased AI Kit.
  10. Motion AI Kitminor5.4.0

    Added

    • Skills: /motion skill. Includes design guidelines, performance tips, and API gotchas. Can reference the Motion Studio MCP for docs search.
    • Skills: /css-spring skill. Generates CSS spring easing functions via the Motion Studio MCP.
    • Skills: /see-transition skill. Visualise easing curves and springs via the Motion Studio MCP.
    • Skills: Added new motion-ai-kit installer with interactive skill picker.
  11. 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.
  12. Motionminor12.35.0

    Added

    • ViewTimeline support for scroll and useScroll.
  13. Motionpatch12.34.6

    Fixed

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

    Fixed

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

    Fixed

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

    Fixed

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

    Fixed

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

    Fixed

    • splitText: Ensure split text elements retain vertical positioning.
    • Carousel: Fix focus from breaking item reprojection.
  20. Motion+patch2.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.
  21. Motion+minor2.11.0

    Added

    • Carousel: New wheelSwipeThreshold prop configures the distance of wheel scroll before triggering a swipe.
  22. Motion+minor2.10.0

    Added

    • AnimateNumber: trend prop to control digit spin direction. - trend={1}: Digits always spin upward, wrapping 9 → 0. - trend={-1}: Digits always spin downward, wrapping 0 → 9. - trend={(oldValue, newValue) => number}: Function for custom logic. - Default (no trend): Auto-detects direction based on value change.

    Changed

    • AnimateNumber: Now uses manual FLIP measurements instead of layout animations.
  23. Motion+minor2.9.0

    Added

    • useCarousel and useTicker: Provides offset motion value, which contains the unwrapped offset of a Carousel or Ticker.
  24. Motion AI Kitminor5.3.0

    Added

    • Extension: Added support for spring editing.
    • Extension: Visual refresh.
    • Skills: Added Motion Performance Audit skill.
  25. Motion+minor2.8.0

    Added

    • AnimateView: View animations for React.
  26. Motionminor12.34.0

    Added

    • useScroll: Hardware accelerated animations.
  27. Motionpatch12.33.2

    Fixed

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

    Fixed

    • AnimatePresence: Ensure exiting nodes are correctly removed when rapidly switching children.
  29. Motionminor12.33.0

    Added

    • <motion />: New propagate.tap prop prevents tap gestures from propagating to parents.
  30. Motionminor12.32.0

    Added

    • transition.inherit: When true, inherit transition values from less-specific transitions.