Changelog

Always in Motion. Follow the latest releases to Motion, Motion+ and Motion Studio.

Stay in the loop

Subscribe for the biggest news & updates.

Fixed

  • Extension: Fixing image URLs in README.

Fixed

  • Extension: Restore README.

Changed

  • Unified Motion Studio SDK, MCP and Extension versioning.

  • Extension: Replaced internal EasingCurve component with SDK.

Added

  • Extension: Packaged and minified for smaller filesize.

Fixed

  • SDK EasingCurve: Ensure final curve point is drawn correctly.

Fixed

  • Ensure relative projection boxes are re-measured when parent layout changes.

Added

  • SDK EasingCurve: transition prop allows animation between easing curves.

Added

  • SDK EasingCurve: Now accepts easing functions.

Added

  • SDK EasingCurve: React component for drawing a provided easing curve.

  • SDK TransitionState: State for editing Motion transitions.

  • SDK toCSSTransition: Convert TransitionState to a CSS transition string.

  • SDK toMotionTransition: Convert TransitionState to a Motion Transition string.

  • SDK fromShareURL: Create a TransitionState from the current URL.

  • SDK toShareQueryString: Create a serialised TransitionState safe for adding to the URL.

Added

  • Motion+ AI Patterns: Use your LLM to query Motion Examples to kickstart its code generation.

Fixed

  • Carousel: Ensure only on-axis wheel scrolls prevent native browser scrolling.

Fixed

  • Carousel: Improved handling of pointer and wheel events in item gaps.

Motion+

Motion+

Level up your animations with Motion+

Unlock the full vault of 290+ Motion examples, premium APIs, private Discord and GitHub, and powerful VS Code animation editing tools.

One-time payment, lifetime updates.

Added

  • Carousel: Create accessible, performant, infinitely-scrolling carousels.

  • useTickerItem: Access item-relative offset within Carousel and Ticker, as well as item information like itemIndex, cloneIndex, layout start and end.

  • Ticker: Added fade and safeMargin options.

Removed

  • useItemOffset. Replace const offset = useItemOffset() with const { offset } = useTickerItem().

Removed

  • Extension: Removing automatic MCP registration to support more editors.

Changed

  • Extension: Updating to Motion Studio branding.

Added

  • Ticker: RTL support.

Fixed

  • Ensure that when a component remounts, it continues to fire animations even when initial={false}.

Added

  • Exporting PresenceChild and PopChild type for internal use.

Added

  • Exporting HTMLElements and useComposedRefs type for internal use.

Fixed

  • Suppress non-animatable value warning for instant animations.

Fixed

  • Fixing main-thread scroll with animations that contain delay.

Fixed

  • Remove support for changing ref prop.

Fixed

  • <motion /> components now support changing ref prop.

Fixed

  • Ensure animate() onComplete only fires once, when all values are complete.

Fixed

  • Fixing ref when passed to a child of AnimatePresence in "popLayout" mode.

Fixed

  • Fixing export * error in RSC.

Fixed

  • Fixing types of Reorder.Item and Reorder.Group so incorrect HTML props are correctly flagged.

  • Reverting rehydration of externalRef when it switches.

Fixed

  • Fixed issue where motion components don't update refs when externalRef changes. The useMotionRef function now properly includes externalRef in the dependency array to ensure ref callbacks update when the external ref changes.

Changed

  • Stopped tracking yarn cache in the repo.

Added

  • Extension: Allowing bezier editor SVG to overflow.

Added

  • Extension: Updating copy to remove reference to spring.

Added

  • Exporting internal APIs for use in view animations.

Added

  • Children of variants with delayChildren: stagger() will now be staggered correctly alongside their newly-entering siblings.

Motion is supported by the best in the industry.