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. 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.
  3. 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().
  4. 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.
  5. Motionminor12.35.0

    Added

    • ViewTimeline support for scroll and useScroll.
  6. Motionminor12.34.0

    Added

    • useScroll: Hardware accelerated animations.
  7. Motionminor12.33.0

    Added

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

    Added

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

    Added

    • animate: Support for bi-directional callbacks within animation sequences.

    Fixed

    • Ensure onPan never fires before onPanStart.
  10. Motionminor12.30.0

    Added

    • MotionConfig: Add skipAnimations option.

    Fixed

    • animate: Prevent error when calling stop() on removed elements.
    • animateLayout: Fixing shared element animations when animate called before animateLayout.
  11. Motionminor12.29.0

    Added

    • transformViewBoxPoint: Scale drag gestures within <svg> elements where viewBox and rendered width/height are mismatched.
    • trackContentSize: New scroll and useScroll option for tracking changes to content size.

    Fixed

    • Add React 19 test suite to CI.
    • Fix types with motion.create().
    • Shared element animations now respect layoutDependency.
  12. Motionminor12.28.0

    Added

    • useFollowValue and followValue: useSpring-style motion values that can accept any transition.

    Fixed

    • Fix "multiple keyframe" error when using spring animations as default transitions for animation sequences.
  13. Motionminor12.27.0

    Added

    • Adding new exports for internal use.
  14. Motionminor12.26.0

    Added

    • Support for multiple output value maps with useTransform.
  15. Motionminor12.25.0

    Added

    • Support for auto-scrolling when a Reorder.Item reaches the edges of its parent scrollable container.
  16. Motionminor12.24.0

    Added

    • { type: "svg" } option to motion.create() for creating custom SVG components.
    • px default value type for CSS logical properties (paddingBlock, paddingInline, marginBlock, marginInline).

    Fixed

    • Ensure drag gesture updates with latest props every render.
    • Fix missing JSX import error.
    • Fix motion-dom build.
    • Exclude src from distributed package.
  17. Motionminor12.23.0

    Added

    • Add .stop() and .cancel() methods to useDragControls().
  18. Motionminor12.22.0

    Added

    • Allow delayChildren to accept stagger(). This enables from and ease options when staggering variant children.

    Deprecated

    • staggerChildren and staggerDirection options.
  19. Motionminor12.21.0

    Added

    • Allow distanceThreshold to be configurable via useDragControls.
  20. Motionminor12.20.0

    Added

    • Pass a shadow DOM root element via AnimatePresence root prop to attach "popLayout" styles to a different root element.
  21. Motionminor12.19.0

    Added

    • React: usePageInView for tracking document visibility.
  22. Motionminor12.18.0

    Added

    • Support for defining a timeline position relative to the start of the most recently added animation (e.g. <+0.5, <-1)
  23. Motionminor12.17.0

    Added

    • MCP server.

    Fixed

    • Improved rounding for linear() easing curves.
  24. Motionminor12.16.0

    Added

    • resize().
  25. Motionminor12.15.0

    Added

    • Support for pathLength/pathSpacing/pathOffset for svgEffect.
    • Auto kebab-casing of data and aria attributes in attrEffect.
    • attrEffect applies attributes via JS property where possible.
    • Auto transform-box: fill-box for SVGs with transform in styleEffect.
  26. Motionminor12.14.0

    Added

    • Support for originX/Y/Z in styleEffect.

    Fixed

    • Added markers for pure function calls with effects.
  27. Motionminor12.13.0

    Added

    • svgEffect, propEffect and attrEffect.

    Fixed

    • Fixed a jump in layout animations in select circumstances.
  28. Motionminor12.12.0

    Added

    • springValue

    Fixed

    • Fixed various typos in the type definitions along with a stale documentation link.
  29. Motionminor12.11.0

    Added

    • Added value.isEffectActive for internal use.
  30. Motionminor12.10.0

    Added

    • styleEffect now supports: - Default value types - Independent transforms - CSS variables