# Changelog Framer Motion adheres to [Semantic Versioning](http://semver.org/). Undocumented APIs should be considered internal and may change without warning. ## [11.11.9] 2024-10-15 ### Changed - `will-change` is now no longer automatically managed without `useWillChange`. ## [11.11.8] 2024-10-11 ### Fixed - Fixing fallback `package.json` for entrypoints in older versions of Node. ## [11.11.7] 2024-10-09 ### Fixed - Improving generic value signature for `animate`. ## [11.11.6] 2024-10-09 ### Fixed - Allowing generic motion value types in `animate`. ## [11.11.5] 2024-10-09 ### Fixed - Removed ability to define CSS variables on `style` without casting, as this was conflicting with React `CSSProperties`. ## [11.11.4] 2024-10-08 ### Fixed - Memoize `AnimatePresence` `safeToRemove`. - Remove duplicate `layout="size"` annotation. ## [11.11.3] 2024-10-08 ### Fixed - Remove `as any` requirement for CSS variables. ## [11.11.2] 2024-10-08 ### Fixed - Make `BezierDefinition` `readonly` for easier definition outside a `Transition`. ## [11.11.1] 2024-10-04 ### Fix - Fixed optimised appear effects in granular Suspense environments. ## [11.11.0] 2024-10-03 ### Added - `animate` can now animate any object. ## [11.10.0] 2024-10-02 ### Added - `delay` with seconds now exported from `"framer-motion/dom"`. ### Fixed - Only `transform` is added to `will-change` when a potentially layerising value is animated as `opacity` and `filter` will prematurely flatten `preserve-3d`. ## [11.9.0] 2024-09-27 ### Added - Mini `animate` and `useAnimate` functions. ## [11.8.0] 2024-09-25 ### Added - Easing functions now get compiled into `linear()` easings when animating via WAAPI. ## [11.7.0] 2024-09-25 ### Added - Added support for custom animation generators via `type`. ## [11.6.0] 2024-09-24 ### Added - Added `info` and element tracking to `scroll`. - Added `steps` easing. ### Changed - Values added to `will-change` now stay there for their lifespan to prevent GPU thrashing and weird Safari subpixel jitters. ## [11.5.6] 2024-09-20 ### Fixed - Ensuring updating motion values during `render` doesn't lock rendering for an element. ## [11.5.5] 2024-09-19 ### Fixed - Changed values of child variants now animate even when the parent variant name hasn't changed. ## [11.5.4] 2024-09-05 ### Fixed - Improving tree-shakability. ## [11.5.3] 2024-09-05 ### Fixed - `Reorder` components now import `motion` proxy. ## [11.5.2] 2024-09-04 ### Added - Changing `motion()` deprecation warning to `warnOnce`. ## [11.5.1] 2024-09-04 ### Added - Exporting `findSpring` for internal use. ## [11.5.0] 2024-09-04 ### Added - `motion.create()` and `m.create()`. ### Deprecrated - `motion()` and `m()`. ## [11.4.0] 2024-09-03 ### Added - Support for React Server Components, including new entrypoints for `motion` and `m` components. ## [11.3.31] 2024-08-29 ### Fixed - Detects conflicts between optimised animations and rendered `style`. - Resumes optimised animations where possible once layout measurements are complete. ## [11.3.30] 2024-08-23 ### Fixed - Removed double `"change"` handler on externally-provided `MotionValue`s. ## [11.3.29] 2024-08-21 ### Fixed - Selective cancellation of optimised appear animations. ## [11.3.28] 2024-08-15 ### Fixed - Use `startTime` instead of `elapsed` to sync optimised animations. ## [11.3.27] 2024-08-14 ### Changed - Allow manual setting of `startTime` via animation options (currently for internal use only). ## [11.3.26] 2024-08-14 ### Fixed - Improving synchronisation between DOM animations on externally-provided `MotionValue`s and internal `MotionValue`s. - Fixing unit conversion on DOM animations with externally-provided `MotionValue`s. ## [11.3.25] 2024-08-14 ### Changed - Improve calculation of `startTime` to prefer the immediacy of animation creation over keyframe resolution, but fall back to the latter if the former would lead to a perceptual jump. ## [11.3.24] 2024-08-08 ### Fixed - Fixing incorrect version publish. ## [11.3.23] 2024-08-07 ### Fixed - Improving optimised appear animation check from `data-appear-id` to active recording of started animations. - Only cancelling optimised appear animations from layout animations when they're animating `transform`. ## [11.3.22] 2024-08-07 ### Fixed - Fixing spring animations with explicit velocities that animate to their current value. ## [11.3.21] 2024-07-27 ### Changed - Removing default transforms from generated `transform` string provided to `transformTemplate`. ## [11.3.20] 2024-07-27 ### Changed - Improved performance of `transform` by up to 30% when providing many default transforms as `MotionValue`s. ## [11.3.19] 2024-07-27 ### Fixed - Fixed problem with `AnimatePresence` not rerendering children unless their presence had changed. ## [11.3.18] 2024-07-26 ### Fixed - Improved correctness of `AnimatePresence` and made safe to use with concurrent rendering. ## [11.3.17] 2024-07-24 ### Added - `domMin` feature bundle. ## [11.3.16] 2024-07-24 ### Changed - Exporting `UseScrollOptions` type. ## [11.3.15] 2024-07-24 ### Changed - Improved types for `inView()`'s `margin` property. ## [11.3.14] 2024-07-24 ### Fixed - Wrapping `usePresence`'s `safeToRemove` callback in `useCallback` leading to fewer re-renders. ## [11.3.13] 2024-07-24 ### Fixed - Fixing `position: fixed` layout animations while scrolling. ## [11.3.12] 2024-07-23 ### Fixed - Improving `useSpring` types so it accepts `MotionValue` or `MotionValue` but always returns `MotionValue`. ## [11.3.11] 2024-07-23 ### Fixed - Removing `"react"` import from DOM-only bundle. ## [11.3.10] 2024-07-23 ### Fixed - Changing `isBrowser` check from `document` to `window`. ## [11.3.9] 2024-07-23 ### Changed - Improve performance of `window.MotionDebug` check. ## [11.3.8] 2024-07-19 ### Changed - Improve performance of layout animation calculated projection comparisons. ## [11.3.7] 2024-07-18 ### Changed - Active render scheduling check to prevent unnecessary `Set` lookups. ## [11.3.6] 2024-07-17 ### Changed - Minor performance improvements for layout animations. ## [11.3.5] 2024-07-16 ### Fixed - Ensuring DOM bundle doesn't include `react` and `react-dom` as dependencies. ## [11.3.4] 2024-07-16 ### Changed - Check for `display: contents` elements now against component props instead of `Element.style`. ## [11.3.3] 2024-07-16 ### Changed - Frameloop now uses a single `Set` vs `Set` and `Array`, leading to smaller bundlesize and better performance under heavy load. ## [11.3.2] 2024-07-11 ### Fixed - No longer adding `background-color` to `will-change`. ## [11.3.1] 2024-07-11 ### Updated - Externally-provided `MotionValue`s are no longer permanently added to `will-change`. ## [11.3.0] 2024-07-10 ### Updated - Animations automatically optimised via `will-change`. ## [11.2.14] 2024-07-09 ### Updated - Improved performance of core render loop. ## [11.2.13] 2024-07-04 ### Fixed - Checking for `null` before interpolating color values. ## [11.2.12] 2024-06-25 ### Fixed - Fixing `dragConstraints={ref}` mixed with layout animations. ## [11.2.10] 2024-05-31 ### Fixed - Changing invalid number interpolation from error to warning and immediate mix. ## [11.2.9] 2024-05-29 ### Fixed - Fixing animation of CSS variables when leading space is present. ## [11.2.8] 2024-05-29 ### Fixed - Ensuring instant animations return animation controls. ## [11.2.7] 2024-05-29 ### Fixed - Only allow layout animations to cancel optimised appear animations when on the same node or an ancestor. ## [11.2.6] 2024-05-22 ### Fixed - Fixed optimised appear animations interrupted by layout animations triggered by a state update within `useLayoutEffect`. ## [11.2.5] 2024-05-21 ### Fixed - Fixing layout animations within portals. Tag `motion` root within portal with `data-framer-portal-id` attribute. ## [11.2.4] 2024-05-16 ### Fixed - Batching triggering animations with `useSpring`. ## [11.2.3] 2024-05-16 ### Fixed - `MotionValue`s created with `undefined` can track velocity correctly. ## [11.2.2] 2024-05-15 ### Fixed - Fixed visual jump when interrupting an optimised appear animation. ## [11.2.1] 2024-05-15 ### Changed - Improved performance of resolving variants by lazy resolving current `MotionValue` state. ## [11.2.0] 2024-05-14 ### Added - Binary visibility interpolation i.e `display: ["block", "none"]` now maintains the visible state throughout the animation. ## [11.1.9] 2024-05-07 ### Changed - Reinstating async event handlers to fix issues with user code and Suspence within Framer. ## [11.1.8] 2024-05-06 ### Fixed - Animating between keyframe unit types when one keyframe is `0` and the other is an explicitly defined keyframe, e.g `y: ["100%", 0]`. ## [11.1.7] 2024-04-19 ### Changed - Updating types for `motion.div`. ## [11.1.6] 2024-04-19 ### Changed - Binding `stop` to `MainThreadAnimation` ## [11.1.5] 2024-04-18 ### Changed - Exporting `DOMMotionComponents`. ## [11.1.4] 2024-04-18 ### Fixed - Fixing types of `motion.div` in certain TS5 environment configurations. ### Changed - Skip removal of existing motion value when `undefined`. ## [11.1.3] 2024-04-17 ### Fixed - ESM compat with CJS bundle. ## [11.1.2] 2024-04-16 ### Fixed - Ensuring transforms unset during unit conversion are restored. ## [11.1.1] 2024-04-16 ### Changed - Updating JSX transform. ## [11.1.0] 2024-04-16 ### Changed - TypeScript 5 upgrade. ## [11.0.28] 2024-04-11 ### Fixed - Ensure CSS var token is set as final animation keyframe. ## [11.0.27] 2024-04-10 ### Fixed - Skipping animations with `duration: 0`. ## [11.0.26] 2024-04-10 ### Fixed - Adding `perspective()` to projection transform. - Changing scheduling of `useTransform` to ensure frames are up-to-date. ## [11.0.25] 2024-04-03 ### Fixed - Ensuring `motion(Fragment)` nodes are skipped from layout projection. ## [11.0.24] 2024-03-29 ### Fixed - Changes in `style` are visible once a value is no longer present in animation props. ## [11.0.23] 2024-03-28 ### Fixed - Fixed layout animations when combined with `z` transforms. ## [11.0.22] 2024-03-26 ### Fixed - Fixed pre-generation of no-op WAAPI animations. ## [11.0.21] 2024-03-26 ### Fixed - Fixed interrupting WAAPI spring animations. ## [11.0.20] 2024-03-21 ### Fixed - Fixed interrupting shared element animations that contain `rotate` or `skew` transforms. ## [11.0.19] 2024-03-21 ### Fixed - Fixed layout animations when combined with `skew` transforms. ## [11.0.18] 2024-03-20 ### Fixed - Default `duration` doesn't override `duration: 0` WAAPI animations. - Fix error when trying to animate unmounted element. - Avoid resolving WAAPI animation when stopping unresolved animation. ## [11.0.17] 2024-03-20 ### Fixed - Interruption of WAAPI animations now animates from correct value. ## [11.0.16] 2024-03-20 ### Fixed - Restored animation promise handling to match behaviour of <11.0.11. ## [11.0.15] 2024-03-19 ### Fixed - Fixed measurements when more than one transform changes unit type. ## [11.0.14] 2024-03-15 ### Fixed - Fixed animation controls in instances where keyframes resolve to be unanimatable. ## [11.0.13] 2024-03-13 ### Added - Added default value types for `backgroundPositionX` and `backgroundPositionY`. ### Fixed - Fixed `height: auto` animations. ## [11.0.12] 2024-03-12 ### Fixed - Updated `@emotion/is-valid-prop` as peer dependency. ## [11.0.11] 2024-03-12 ### Changed - Keyframes now resolved asynchronously. - External event handlers now fired synchronously. - CSS variables and unit conversion now supported with >2 keyframe animations. - Removed WAAPI animation of `background-color`. ## [11.0.10] 2024-03-12 ### Fixed - Improved speed and stability of regexes. ## [11.0.9] 2024-03-12 ### Added - Added support for Content Security Policy (CSP) nonces via `MotionConfig`. ## [11.0.8] 2024-02-29 ### Fixed - Ensure optimised appear animations are cancelled before layout animation measurements. ## [11.0.7] 2024-02-29 ### Fixed - Strip comments from strings before testing if they're CSS variables to prevent significant performance degradation. ## [11.0.6] 2024-02-23 ### Updated - Added support for `motion(Fragment)` for controlling variants. For internal Framer use only. ## [11.0.5] 2024-02-13 ### Updated - Performance updates. ## [11.0.4] 2024-02-13 ### Fixed - Tighten check for `navigator.userAgent`. ## [11.0.3] 2024-01-24 ### Fixed - Fixed layout animation bug in Framer. ## [11.0.2] 2024-01-23 ### Fixed - Fixed velocity calculations when interrupting WAAPI animations. ## [11.0.1] 2024-01-23 ### Removed - Support for internal `transformValues` prop. ## [11.0.0] 2024-01-23 ### Changed - Replaced velocity-check jobs in favour of passive detection. - Post-commit render moved to a microtask. ## [10.18.0] 2024-01-10 ### Added - `globalTapTarget` for use in Framer. ## [10.17.12] 2024-01-09 ### Fixed - Fixed `animate` sequencing for `MotionValue`s. ## [10.17.11] 2024-01-09 ### Fixed - Fixed `layout` prop crashing Framer Motion 3D. ## [10.17.10] 2024-01-05 ### Fixed - Export `UseInViewOptions`. ## [10.17.9] 2024-01-05 ### Fixed - Improve error message when trying to animate multiple keyframes via spring. ## [10.17.8] 2024-01-05 ### Fixed - Adding `null` safeguard for `useAnimationControls`. ## [10.17.7] 2024-01-05 ### Fixed - Fix touch event filtering for hover gesture. ## [10.17.6] 2024-01-04 ### Fixed - Ensure cancelled WAAPI animations can't finish. ## [10.17.5] 2024-01-04 ### Fixed - Fixing final keyframe when using `repeatType` `"reverse"` and `"mirror"`. - Display warning if scroll `container` is `position: static`. - Move more scroll measurements to `read` frame lifecycle. - Adding `amount` to `useInView` dependencies. ## [10.17.4] 2024-01-03 ### Fixed - Ensure keyframe animations don't rerun if all values are the same. ## [10.17.3] 2024-01-03 ### Fixed - Unset gestures correctly animate back to values defined in parent variant. ## [10.17.2] 2024-01-03 ### Fixed - Fixed issues with duration-based springs appearing stuck or snapping. ## [10.17.1] 2024-01-03 ### Fixed - Fixed issue with `dragSnapToOrigin` not continuing animation when interrupted. ## [10.17.0] 2024-01-01 ### Added - Adding `MotionGlobalConfig.skipAnimations` to globally disable animations when testing. ## [10.16.16] 2023-12-08 ### Fixed - `circInOut` easing fixed. - Improved optimised animation handoff. ## [10.16.15] 2023-12-07 ### Fixed - Ensure `animateChanges` only runs in layout effect in initial render. ## [10.16.13] 2023-12-05 ### Fixed - Ensure animations don't attempt to fire when `initial` equals `animate`. ## [10.16.13] 2023-12-05 ### Fixed - Improved animation skipping for keyframe lists. ## [10.16.12] 2023-12-01 ### Fixed - Use single animation to detect document paint ready before triggering optimised animations. - Measure one time for optimised animation start and one for handoff to emulate frame scheduling. ## [10.16.11] 2023-12-01 ### Fixed - Ensure animation is never skipped if it's an interrupting animation. ## [10.16.10] 2023-11-30 ### Fixed - Fixing appear animation optimisation when React portal is present. ## [10.16.9] 2023-11-30 ### Fixed - Skipping no-op animations. ## [10.16.8] 2023-11-29 ### Fixed - Added `disableInstantAnimation` private API. - Ensure optimised appear animations don't run post-hydration. ## [10.16.7] 2023-11-29 ### Fixed - Fixing pan events within React portal. ## [10.16.6] 2023-11-29 ### Fixed - Fixing `Reorder` component types. - Fixing `Reorder.Item` order calculation. - Fixing broken `dragConstraints` if component re-renders during resize. ## [10.16.5] 2023-11-14 ### Fixed - Fixing `AnimatePresence` fast rerender bug. ## [10.16.4] 2023-09-05 ### Fixed - Changed handoff `startTime` source from `performance.now()` to `document.timeline.currentTime`. ## [10.16.3] 2023-09-04 ### Fixed - Improved compatibility of custom `RefObject` and `MutableRefObject` types. - Fixing `useScroll` dependencies array. - Fixing optimised handoff to WAAPI animations. ## [10.16.2] 2023-08-30 ### Fixed - Improved performance of frameloop scheduling. - Fixed crasher when using SVGs as scroll animation targets. ## [10.16.1] 2023-08-21 ### Fixed - SVGs mount read/writes are now batched. ## [10.16.0] 2023-08-16 ### Added - New function syntax for `useTransform`. ### Improved - Improved handoff animation performance. ## [10.15.2] 2023-08-14 ### Fixed - Numerical CSS variables are now read correctly. ## [10.15.1] 2023-08-07 ### Fixed - Replacing `requestAnimationFrame` timestamp with `performance.now()` to avoid [timestamp bug in Chrome](https://bugs.chromium.org/p/chromium/issues/detail?id=1470675#makechanges). ## [10.15.0] 2023-07-28 ### Added - Updated types for public `inView` API. ## [10.14.0] 2023-07-27 ### Added - `scroll()` now accepts animations from `animate()` to create hardware-accelerated animations. ## [10.13.2] 2023-07-27 ### Fixed - Removed animation resync for optimised animation handoff. - Fixed offset not working with useScroll. ## [10.13.1] 2023-07-24 ### Added - Fixed subpixel layout rounding in Chrome. ## [10.13.0] 2023-07-19 ### Added - `scroll()`, a universal API for powering scroll-driven animations via `ScrollTimeline`. ## [10.12.23] 2023-07-19 ### Fixed - Fixing subpixel layout support in Webkit. ## [10.12.22] 2023-07-17 ### Fixed - Supporting subpixel layouts in layout animations. ## [10.12.21] 2023-07-14 ### Fixed - Transforming values if new values have been read from props. ## [10.12.20] 2023-07-13 ### Fixed - Fixing race condition with animation `Promise`. - Attempt to read initial animation from props before reading from DOM. ## [10.12.19] 2023-06-30 ### Fixed - Fixing unit conversion for `translateX`/`translateY`. ## [10.12.18] 2023-06-30 ### Fixed - When layout animation is forced to be instant via `useInstantTransition`, ignore the delay option. ## [10.12.17] 2023-06-23 ### Fixed - Fixing `useInstantTransition` when called on subsequent frames. - Fixing reverse animation with negative speed finishes too early when the time is set to the duration. ## [10.12.16] 2023-05-24 ### Fixed - Fixing unit conversion when animating `translateX`/`translateY`. ## [10.12.15] 2023-05-24 ### Fixed - Fixed timing bug when mixing `layout` prop and `animate()`. - Removing errant log from `resolveConstraints`. ## [10.12.14] 2023-05-23 ### Fixed - Ensure new `layout` components animate correctly on the first re-render. ## [10.12.13] 2023-05-23 ### Fixed - Fixed scale correction in elements that have finished layout animations. ## [10.12.12] 2023-05-15 ### Fixed - Ensuring zero units like `"0px"` can be used as keyframe templates. ## [10.12.11] 2023-05-15 ### Fixed - Fixing ending layout animations immediately on resize. ## [10.12.10] 2023-05-10 ### Fixed - Fixing persisting `AnimatePresence` child when exit animation is interrupted. ## [10.12.9] 2023-05-05 ### Fixed - Fixing jumpy layer when a layout changes after a pending animation has been scheduled. ## [10.12.8] 2023-05-05 ### Fixed - Moving layout animations to `queueMicrotasks()`, ensuring layout animations don't fire until all synchronous effects have executed. ## [10.12.7] 2023-05-02 ### Fixed - Improve handling of `"none"` keyframes. ## [10.12.6] 2023-05-02 ### Fixed - Fixing relative layout animations when mixing `type: false` and `type: "tween", duration: 0`. ## [10.12.5] 2023-05-01 ### Changed - Exporting `visualElementStore` for internal use. ## [10.12.4] 2023-04-18 ### Fixed - Fixing types for `attrX`, `attrY` and `attrScale` values. ## [10.12.3] 2023-04-18 ### Fixed - Fixing CSS variable interpolation inside complex strings. ## [10.12.2] 2023-04-14 ### Added - Support for `attrScale`. Animate the `scale` SVG attribute. ## [10.12.1] 2023-04-14 ### Added - Creating `sync` and `cancelSync` as legacy APIs for use within Framer. ## [10.12.0] 2023-04-14 ### Added - Exporting `frame` and `cancelFrame` as a public API. ## [10.11.6] 2023-04-12 ### Fixed - Fixed performance regression introduced with previous fix. ## [10.11.5] 2023-04-11 ### Fixed - Propagating relative nodes in layout animations. ## [10.11.4] 2023-04-11 ### Fixed - Fixing optimised transform animations. ## [10.11.3] 2023-04-11 ### Fixed - Calling `.play()` on finished animations now correctly restarts them. ## [10.11.2] 2023-04-06 ### Fixed - Fixing WAAPI offsets with springs in animation sequences. ## [10.11.0] 2023-04-06 ### Added - Adding springs to animation sequences. ### Fixed - Fixing "keyframes must be of same type" error with some animation ## [10.10.0] 2023-03-29 ### Fixed - Adding `.duration` to `animate()`. sequences. ## [10.9.4] 2023-03-29 ### Fixed - Removing log from `useSpring`. ## [10.9.3] 2023-03-29 ### Fixed - Improving scroll animation startup time. ## [10.9.2] 2023-03-28 ### Fixed - Fixing animation scope with animation sequences. ## [10.9.1] 2023-03-24 ### Fixed - Recalculating and rerendering relative targets when layout is remeasured. ## [10.9.0] 2023-03-24 ### Added - Animation sequencing. ## [10.8.5] 2023-03-22 ### Fixed - Fixed use of multiple easing functions with WAAPI animations. ## [10.8.4] 2023-03-21 ### Changed - Fixing `from` option in `stagger()`. ## [10.8.3] 2023-03-21 ### Changed - Fixing `duration: 0` animations never ending. ## [10.8.2] 2023-03-21 ### Changed - Further loosening `animate()` overloads. ## [10.8.1] 2023-03-21 ### Changed - Loosening `animate()` overloads. ## [10.8.0] 2023-03-21 ### Added - `stagger()` ### Fixed - SVG and SVG path types for `animate()`. ## [10.7.0] 2023-03-21 ### Changed - Default transitions no longer need to be namespaced under `default`. ## [10.6.1] 2023-03-20 ### Fixed - Complex string types interpolate correctly with WAAPI spring easing. ## [10.6.0] 2023-03-17 ### Added - `cancel()`, `complete()` and `speed` to `animate()`. ### Changed - `"easeIn"`, `"easeOut"` and `"easeInOut"` easing functions are now WAAPI spec-compliant. ### Fixed - `.stop()` stops animations permanently. - `useSpring` timing. - `animate()` with `repeat: 1` and `repeatType` `"reverse"` or `"mirror"` correctly applies final keyframe. ## [10.5.0] 2023-03-16 ### Added - `useAnimate()` provides a composable way to use `animate()`. ## [10.4.0] 2023-03-16 ### Added - `animate()` now supports DOM elements and DOM selectors. ## [10.3.4] 2023-03-16 ### Fixed - Updating README. ## [10.3.3] 2023-03-16 ### Fixed - Using frame timestamp, when available, to sample time. ## [10.3.2] 2023-03-15 ### Fixed - Applying target CSS variable at the end of animation. ## [10.3.1] 2023-03-14 ### Fixed - Fixed `time` `Promise` on instant animation. ## [10.3.0] 2023-03-14 ### Added - `time`, `play()`, `pause()` and `then()` to animations created with `animate()`. ## [10.2.5] 2023-03-13 ### Fixed - Adding de-opt to projection tree when relative target has changed. ## [10.2.4] 2023-03-10 ### Changed - Refactored `animate` to resolve for `time` instead of `timeDelta`. ### Fixed - `delay` will now apply to `"inertia"` animations. ## [10.2.3] 2023-03-07 ### Fixed - Unifying `AnimationPlaybackControls` types. - Changing `Feature` type to fix Next build errors. ## [10.2.2] 2023-03-07 ### Fixed - Restoring `DeprecatedLayoutGroupContext` for legacy Smart Components in Framer. ## [10.2.1] 2023-03-07 ### Fixed - Passing low `restSpeed` and `restDelta` to `useSpring()`. ## [10.2.0] 2023-03-07 ### Added - Vanilla JS entry point `framer-motion/dom`. ## [10.1.0] 2023-03-06 ### Added - Frame-batched event handlers. This means external event handlers are now batched on the next animation frame, allowing React to correctly batch state updates. ## [10.0.2] 2023-03-05 ### Fixed - Fixing "Non-numeric `offset`" error in older browsers. ## [10.0.1] 2023-02-27 ### Changed - Reducing keyframe pregeneration duration by 75%. ## [10.0.0] 2023-02-24 ### Added - `background-color` animations are now hardware accelerated. ### Removed - Removing fallback for `IntersectionObserver`. Use a polyfill for support in older browsers. - Removed `DeprecatedLayoutGroupContext`. ### Changed - Using `exitBeforeEnter` with `AnimatePresence` now throws an error. - Using `value.onChange` will now throw a warning with instructions to change to `value.on("change", callback)`. - Using `AnimateSharedLayout` now throws an error. ### Fixed - `repeat: Infinity` no longer de-opts from pre-generated WAAPI animations. ## [9.1.7] 2023-02-24 ### Fixed - Switching `const enum` for types. ## [9.1.6] 2023-02-23 ### Added - Exporting `scroll` for internal use inside Framer. ## [9.1.5] 2023-02-23 ### Fixed - Changing `Feature` to `Feature`. ## [9.1.4] 2023-02-23 ### Fixed - Fixing types of `useScroll`. ## [9.1.3] 2023-02-23 ### Updated - Limiting propagation of dirty projection nodes for improved layout animation performance. ## [9.1.2] 2023-02-23 ### Updated - Replacing `type enum` with `const enum` for smaller bundlesize. ## [9.1.1] 2023-02-23 ### Updated - Removing external dependencies. ## [9.1.0] 2023-02-23 ### Added - Hardware acceleration of `clipPath`, `filter` and `transform` styles. ## [9.0.7] 2023-02-21 ### Fixed - Improving types of `color.parse()`. ## [9.0.6] 2023-02-21 ### Added - Exporting animation types for internal Framer use. ## [9.0.5] 2023-02-21 ### Added - Adding legacy Popmotion exports for internal Framer use. ## [9.0.4] 2023-02-16 ### Updated - 25% speed improvement for transform string creation. ## [9.0.3] 2023-02-14 ### Updated - Refactored `motion` component features to load without React components. - Deprecated fallback behavior for missing `IntersectionObserver`. ## [9.0.2] 2023-02-07 ### Changed - `Reorder.Item` no longer throws an error within `MotionConfig strict`. ## [9.0.1] 2023-02-02 ### Removed - Tap events no longer suspend `tabindex` attribute for the duration of the gesture. ## [9.0.0] 2023-02-01 ### Added - Tap events are now keyboard accessible. ### Changed - `whileFocus` only triggers according to `focus-visible` rules. ## [8.5.5] 2023-01-30 ### Fixed - Ensuring `Animation.cancel()` is called on finished WAAPI animations. ## [8.5.4] 2023-01-27 ### Fixed - Reducing size of prop filtering. ## [8.5.3] 2023-01-26 ### Fixed - Manually recording optimised appear `startTime` to fix inaccuracies of Firefox's `Animation.currentTime`. ## [8.5.2] 2023-01-23 ### Fixed - Updated optimised appear animations to defer animations until Chrome releases paint holding. ## [8.5.1] 2023-01-19 ### Fixed - Changed `restSpeed` and `restDelta` defaults for granular spring animations. ## [8.5.0] 2023-01-18 ### Added - `layoutRoot` prop. When component has `layout` and `layoutRoot` props, it will perform layout animations instantly but all children will perform layout animations relative to it. ## [8.4.7] 2023-01-18 ### Fixed - Fixed right-click filtering. ## [8.4.6] 2023-01-17 ### Fixed - Fixed WAAPI deoptimisation with layout animations. - Reduced number of animations triggered for components that have gesture event handlers but no corresponding `while-` props. ## [8.4.5] 2023-01-17 ### Fixed - Only trigger `animateChanges` in a `useLayoutEffect` when optimised appear animations are present. - Resync optimised appear handoff animations before cancelling WAAPI animations to ensure seamless visual handoff. ## [8.4.4] 2023-01-17 ### Fixed - Filtering `values` prop. ## [8.4.3] 2023-01-13 ### Fixed - When in Reduced Motion mode, `transition` no longer overrides instant transitions. ## [8.4.2] 2023-01-11 ### Fixed - Events sourced from `pointercancel` no longer being added to pan gesture history. ## [8.4.1] 2023-01-11 ### Fixed - `delay` no longer getting doubled with pregenerated WAAPI keyframes. ## [8.4.0] 2023-01-10 ### Added - Exporting `frameData` and `sync` for internal Framer use. ## [8.3.4] 2023-01-10 ### Fixed - Detection of hex colors with alpha values within complex strings. ## [8.3.3] 2023-01-09 ### Fixed - Stop filtering `pen` hover events. ## [8.3.2] 2023-01-09 ### Fixed - Allow `useMotionTemplate` to accept static values. ## [8.3.1] 2023-01-09 ### Fixed - Memoisation of tap callbacks. ## [8.3.0] 2023-01-09 ### Added - `motion` components can accept a `MotionValue` as `children`. ## [8.2.4] 2023-01-06 ### Fixed - Stop applying scale correction to an element's styles when there's no active projection transform. ## [8.2.3] 2023-01-06 ### Changed - Improved memoisation of internal event handlers. ## [8.2.2] 2023-01-06 ### Fixed - Removed ability to trigger animations via `useAnimationControls()` during render lifecycle. This would be a source of silent or subtle errors. ## [8.2.1] 2023-01-06 ### Fixed - Variant `transition` fixed in Framer Motion 3D. ## [8.2.0] 2023-01-06 ### Added - Exporting easing functions. ## [8.1.9] 2023-01-05 ### Fixed - Preventing infinite keyframe pre-generation. ## [8.1.8] 2023-01-05 ### Fixed - Sampling of animations with delay/repeat settings when interrupting WAAPI animations. ## [8.1.7] 2023-01-04 ### Fixed - Swapping `style` value between `MotionValue` and static value. ## [8.1.6] 2023-01-04 ### Fixed - Minification of `process.env.NODE_ENV`. ## [8.1.5] 2023-01-03 ### Changed - Display warning in development mode when Reduced Motion is enabled on device. ## [8.1.4] 2023-01-03 ### Fixed - Ensuring child variant components fire `onAnimationStart` when an animation is triggered by a parent. ## [8.1.3] 2023-01-02 ### Fixed - Fixed `times`. ## [8.1.2] 2023-01-02 ### Fixed - Fixed `extends` error in `LayoutCamera` and `LayoutOrthographicCamera` components. ## [8.1.1] 2023-01-02 ### Fixed - Fixing error when `Transition.type` is invalid. ## [8.1.0] 2023-01-02 ### Added - `MotionValue.jump` can be used to "jump" a `MotionValue` to a new value, bypassing active springs, ending current animations and resetting to `velocity` to `0`. ## [8.0.4] 2023-01-02 ### Fixed - Cleaning up animations when a `MotionValue` has no active `"change"` subscribers. - Changing `useMotionValueEvent` subscription to `useInsertionEffect`. ## [8.0.3] 2023-01-02 ### Fixed - Use range for tslib dependency. - Fixing multitouch with drag and pan gestures. ## [8.0.2] 2022-12-23 ### Fixed - Fixing defaults for hardware-accelerated animations. ## [8.0.1] 2022-12-21 ### Added - Warning for unhydrated refs passed to `useScroll()` options. ## [8.0.0] 2022-12-21 ### Removed - Removed polyfilled support for mouse/touch events. - Removed drag pointerup patch for Safari over `