The projection pipeline handled rotate, rotateX and rotateY but not rotateZ, so a layout or shared layout animation silently dropped it from the generated transform and never mixed it between lead and follow.
122 KiB
122 KiB
Changelog
Motion adheres to Semantic Versioning.
Undocumented APIs should be considered internal and may change without warning.
[13.2.1] 2026-09-unreleased
Changed
springValue/useSpring: Improved performance when retargeting spring.
Fixed
rotateZis no longer dropped from elements with a layout or shared layout animation.
[13.2.0] 2026-09-03
Added
animate.addEffect()for registering effects that letsanimatedrive non-DOM subjects alongside DOM elements.threeEffect(motion/three) supporting Three.js objects, materials, shader uniforms, TSL uniform nodes and more.vgpuEffect(motion/vgpu) supporting shared uniforms,Effect/Draw/Computebindings ("params.time"), scene nodes, cameras, lights, materials, orbit controls, CSS colors and vector components.createEffectnow acceptstest,readandstepoptions and exposes bound motion values viaeffect.get().
Changed
- Reduced filesize and improved performance of
spring.
[13.1.1] 2026-08-18
Fixed
- Guard animation
windowaccess in non-browser runtimes. AnimatePresence: Improved compat with React 19 strict mode.
[13.1.0] 2026-08-10
Added
Reorder: Multidimensional reorder.Reorder: Automatic axis detection.Reorder: RTL support.
[13.0.0] 2026-08-05
Changed
- Removed optional
@emotion/is-prop-validdependency in favour of explicit<MotionConfig isValidProp={isPropValid}>.
Fixed
- Hardware-accelerated SVG elements correctly apply final style on animation complete.
AnimatePresence: Ensure nodes are marked as safe to remove when renderingpropagatewith nomotionchildren.
[12.43.0] 2026-07-27
Added
- Hardware acceleration for
backgroundColorin supported browsers. - Hardware acceleration for SVG elements.
Fixed
AnimatePresence: Exiting children no longer interleave with entering children, which could reorder and remount children present in both renders.motion: Throw error when passing a custommotioncomponent an incorrectreftype.
[12.42.2] 2026-07-01
Fixed
animateView: Cropped group layers now animateborder-radiusfrom the old to new radius.
[12.42.1] 2026-06-30
Fixed
animateView: Old layer fade out now cancelled when defining.new().
[12.42.0] 2026-06-24
Changed
animateView: Layers are automatically grouped to match their DOM-hierarchy. New.group(false)method opts-out.
Fixed
animateView: Auto-crop is now aspect-ratio aware, disabling crops for matching aspect-ratios.animateView: Disabled automaticborder-radiusanimation.
[12.41.0] 2026-06-23
Added
animateView: Moves from Motion+ Early Access and alpha to main library.animateView:.add()resolves a CSS selector orElementto automatically generate, apply and removeview-transition-name.animateView:.new()and.old()configures values to animate on new and old layers.animateView:.layout()can set a custom transition on the size/position animation of the currently selected elements.animateView: Group layers now automatically crop with children set tocover, withborder-radiusanimating from old radius to new..crop(false)disables this behaviour.animateView:.class(name)tags currently selected elements with aview-transition-classas a custom CSS hook.
Fixed
AnimatePresence: Prevent stuck exit animations when children interrupt.drag: Childe.stopPropagation()no longer break drag end.- Fixing Next.js OOM on Windows when importing via
motionpackage. animateLayout: Improve handling of parallel/interleaved calls.
Changed
animateView:.enter()and.exit()now refer specifically tonewandoldlayers where there are no matchingoldornewlayers.animateView: Interrupted transition setups now return resolved animation rather than throwing.
[12.40.0] 2026-05-21
Added
pathoption totransition.arc()for motion along an arc.
[12.39.0] 2026-05-18
Added
- Support for
repeatTypeandrepeatDelayin 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
dragSnapToOriginno longer leaves the drag transform stranded after a layout swap. LazyMotion: Share React contexts between theframer-motionandframer-motion/m(and thereforemotion/reactandmotion/react-m) CJS bundles so that<m.div>from the/msubpath picks up features loaded by<LazyMotion>from the main entry point.useScroll: Support hydratingtargetandcontainerrefs 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
visualElementhydration order. useAnimate: Now respectsskipAnimations.AnimatePresence: Fix object-forminitialvalues not applied on re-entry after exit completes.scroll: Fixed callback progress when tracking an element.useScroll: Fix hardware acceleration when tracking an element.
[12.38.0] 2026-03-16
Added
- Added
layoutAnchorprop 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.
[12.37.0] 2026-03-16
Added
- Support for hardware accelerating
"start"and"end"offsets inscrollanduseScroll. - Support for
oklch,oklab,lab,lch,color,color-mix,light-darkcolor types.
Fixed
- Fix
whileInViewwith 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
useSpringreports correctisAnimating().
[12.36.0] 2026-03-09
Added
- Allow
dragSnapToOriginto accept"x"or"y"for per-axis snapping. - Added axis-locked layout animations with
layout="x"andlayout="y". - Added
skipInitialAnimationtouseSpring.
Fixed
- Fixed
heightandwidth: autoanimations withbox-sizing: border-box. - Reset component values when exit animation finishes.
- Ensure
anticipateeasing returns1atp === 1. - Fix
@emotion/is-prop-validresolve error in Storybook. - Remove
data-pop-layout-idfrom exiting elements when animation interrupted. - Ensure we skip WAAPI for non-animatable keyframes.
- Ensure we skip WAAPI for SVG transforms.
- Ensure
MotionValueprops are not passed to SVG. AnimatePresence: Preventmode="wait"elements from getting stuck when switched rapidly.
[12.35.2] 2026-03-09
Fixed
- Reduced filesize of
styleEffect. - Fix rounding from
popLayout. opacityanimations in React Strict Mode in development.- Ensure
useSpringis 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: falsewith WAAPI animations. - Fix layout jump in React Strict Mode in development.
- Detect divide-by-zero in CSS
calc()values before making animatable templates.
[12.35.1] 2026-03-06
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 = 0on a finished animation sets the playhead in a paused state.
[12.35.0] 2026-03-03
Added
ViewTimelinesupport forscrollanduseScroll.
[12.34.6] 2026-03-03
Fixed
- Handle
%translate values in layout animations.
[12.34.5] 2026-03-03
Fixed
- Ensure final WAAPI styles are always committed synchronously to prevent flash of incorrect styles in Firefox.
- Prevent Next.js from caching
typeof windowchecks. - Improve projection node cleanup.
- Variant propagation fixed for asynchronously-mounted children.
[12.34.4] 2026-03-02
Fixed
- Ensure
onCompletefires at the end of an animation sequence.
[12.34.3] 2026-02-20
Fixed
- Ensure
velocityis never transferred to a time-derived spring.
[12.34.2] 2026-02-18
Fixed
- Layout animations: Reset motion value velocity when starting a new layout animation.
[12.34.1] 2026-02-17
Fixed
useScroll: Ensure animations aren't hardware accelerated whentargetis set.- Improve animatable
"none"generation for mask values.
[12.34.0] 2026-02-09
Added
useScroll: Hardware accelerated animations.
[12.33.2] 2026-02-06
Fixed
- Improve detection of detached elements with vanilla layout animations.
[12.33.1] 2026-02-06
Fixed
AnimatePresence: Ensure exiting nodes are correctly removed when rapidly switching children.
[12.33.0] 2026-02-05
Added
<motion />: Newpropagate.tapprop prevents tap gestures from propagating to parents.
[12.32.0] 2026-02-05
Added
transition.inherit: Whentrue, inherit transition values from less-specific transitions.
[12.31.3] 2026-02-05
Fixed
<motion />: Ensure animation state is reset after being re-suspended.- Prevent stale values when mixing
transitionEndandtransition.type: false. - Drag: Fix "sticky" throw velocity on initial interaciton.
- Drag: Ensure catching a thrown element kills its velocity.
[12.31.2] 2026-02-05
Fixed
onHoverStartandonHoverEndfirst argument now correctly typed asPointerEvent.whileHover: No longer persists after drag end.AnimatePresence: Allow changingmodeprop.
[12.31.1] 2026-02-04
Added
- Drag constraints updated even when draggable or constraints resize outside of React renders.
[12.31.0] 2026-02-03
Added
animate: Support for bi-directional callbacks within animation sequences.
Fixed
- Ensure
onPannever fires beforeonPanStart.
[12.30.1] 2026-02-03
Fixed
- Allow drag to be initiated by child
aandbuttonelements.
[12.30.0] 2026-02-02
Added
MotionConfig: AddskipAnimationsoption.
Fixed
animate: Prevent error when callingstop()on removed elements.animateLayout: Fixing shared element animations whenanimatecalled beforeanimateLayout.
[12.29.3] 2026-02-02
Fixed
Reorder: Fixed viewport autoscroll.
[12.29.2] 2026-01-26
Fixed
- Updates to layout animations.
[12.29.1] 2026-01-22
Fixed
useAnimate: Now respects reduced motion settings set viaMotionConfig.
[12.29.0] 2026-01-22
Added
transformViewBoxPoint: Scale drag gestures within<svg>elements whereviewBoxand renderedwidth/heightare mismatched.trackContentSize: NewscrollanduseScrolloption 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.28.2] 2026-01-22
Added
- Add default value type
pxforfontSize.
Fixed
- Removed default value type from
radius. - Ensure
LazyMotionanimates initial state even when state has changed before Motion is loaded.
[12.28.1] 2026-01-21
Fixed
- Ensure
scale: "0%"isn't treated as default value.
[12.28.0] 2026-01-20
Added
useFollowValueandfollowValue:useSpring-style motion values that can accept any transition.
Fixed
- Fix "multiple keyframe" error when using spring animations as default transitions for animation sequences.
[12.27.5] 2026-01-20
Fixed
- Ensure pen gesture is correctly cleaned up on drag cancel.
- Fix edge case where
DocumentProjectionNode's attached element wasnull.
[12.27.4] 2026-01-20
Added
AnimatePresence:anchorYfor vertically positioning popped children.
Fixed
- Fixed path drawing animations in zoomed Safari contexts by switching to unitless values.
[12.27.3] 2026-01-20
Fixed
- Ensure drag gestures trigger from keyboard-accessible elements (
button,textareaetc) if these elements havedragapplied directly.
[12.27.2] 2026-01-20
Fixed
- Adding sourcemaps to
motion-domandmotion-utils. - Fix
Reorderautoscroll within scrollable pages. - Gracefully handle missing elements in animation sequences.
[12.27.1] 2026-01-19
Fixed
- Improving projection node cleanup.
[12.27.0] 2026-01-18
Added
- Adding new exports for internal use.
[12.26.2] 2026-01-13
Fixed
- Internal refactor of projection system into
motion-dom.
[12.26.1] 2026-01-12
Fixed
- Improve overload selection for
useTransform.
[12.26.0] 2026-01-12
Added
- Support for multiple output value maps with
useTransform.
[12.25.0] 2026-01-09
Added
- Support for auto-scrolling when a
Reorder.Itemreaches the edges of its parent scrollable container.
[12.24.12] 2026-01-08
Fixed
- Draggable elements now track pointer during page and element scroll.
[12.24.11] 2026-01-08
Fixed
- Fixed time sampling of GPU animations under heavy CPU load.
[12.24.10] 2026-01-07
Fixed
- Fixing missing import from
motion-dom.
[12.24.9] 2026-01-07
Fixed
- Fixing Radix
DialogwithAnimatePresence. - Ensure drag constraints animation resumes after press interruption.
- Prevent drag gesture from triggering when pressing focusable elements.
[12.24.8] 2026-01-07
Fixed
- Perform unit conversion when animating to/from
calc()values.
[12.24.7] 2026-01-06
Fixed
- Fix duplicate exit animations in
AnimatePresence.
[12.24.6] 2026-01-06
Fixed
- Remove memory leak from retained
matchMediacallbacks.
[12.24.5] 2026-01-06
Fixed
- Prevent
refaccess error forAnimatePresencepopLayoutmode in React 19.
[12.24.4] 2026-01-06
Fixed
- Support
reffunctions that return a cleanup callback.
[12.24.3] 2026-01-06
Fixed
- Ensure
onAnimationStartandonAnimationCompletecallbacks fire foruseSpring.
[12.24.2] 2026-01-06
Fixed
- Ensure
useDragControlssnapToCursor: true` works with initial transforms.
[12.24.1] 2026-01-06
Fixed
- Ensure CSS Motion Path properties are applied via
styleon SVG elements. - Ensure
JSXis correctly imported byReorder.Item.
[12.24.0] 2026-01-05
Added
{ type: "svg" }option tomotion.create()for creating custom SVG components.pxdefault value type for CSS logical properties (paddingBlock,paddingInline,marginBlock,marginInline).
Fixed
- Ensure drag gesture updates with latest props every render.
- Fix missing
JSXimport error. - Fix
motion-dombuild. - Exclude
srcfrom distributed package.
[12.23.28] 2026-01-05
Fixed
- Fixing
MotionStyletype with React 19 whenskipLibCheckisfalse. - Add guard for
processcheck for better compat with ESM environments.
[12.23.27] 2026-01-05
Fixed
- Improved Intellisense detection for
motionimport. - Adding sourcemaps to release.
[12.23.26] 2025-12-10
Fixed
- Moved initialisation of default scale correctors to allow for overwriting existing correctors.
[12.23.25] 2025-12-01
Fixed
- Ensure relative projection boxes are re-measured when parent layout changes.
[12.23.24] 2025-10-10
Fixed
- Ensure that when a component remounts, it continues to fire animations even when
initial={false}.
[12.23.23] 2025-10-10
Added
- Exporting
PresenceChildandPopChildtype for internal use.
[12.23.22] 2025-09-25
Added
- Exporting
HTMLElementsanduseComposedRefstype for internal use.
[12.23.21] 2025-09-24
Fixed
- Fixing main-thread
scrollwith animations that containdelay.
[12.23.20] 2025-09-24
Fixed
- Suppress non-animatable value warning for instant animations.
[12.23.19] 2025-09-23
Fixed
- Remove support for changing
refprop.
[12.23.18] 2025-09-19
Fixed
<motion />components now support changingrefprop.
[12.23.17] 2025-09-19
Fixed
- Ensure
animate()onCompleteonly fires once, when all values are complete.
[12.23.16] 2025-09-19
Fixed
- Fixing
refwhen passed to a child ofAnimatePresencein"popLayout"mode.
[12.23.15] 2025-09-18
Fixed
- Fixing
export *error in RSC.
[12.23.14] 2025-09-17
Fixed
- Fixing types of
Reorder.ItemandReorder.Groupso incorrect HTML props are correctly flagged. - Reverting rehydration of
externalRefwhen it switches.
[12.23.13] 2025-09-16
Fixed
- Fixed issue where motion components don't update refs when externalRef changes. The
useMotionReffunction now properly includesexternalRefin the dependency array to ensure ref callbacks update when the external ref changes.
Changed
- Stopped tracking yarn cache in the repo.
[12.23.12] 2025-07-29
Added
- Exporting internal APIs for use in view animations.
[12.23.11] 2025-07-28
Added
- Children of variants with
delayChildren: stagger()will now be staggered correctly alongside their newly-entering siblings.
[12.23.10] 2025-07-28
Fixed
- Fixed shared layout animation in situations where no
motioncomponents have re-rendered between shared element switching.
[12.23.9] 2025-07-24
Changed
- Removing redundant
renderRequestMotionValuelifecycle.
[12.23.8] 2025-07-24
Fixed
- Ensuring that when an animation is skipped via
duration = 0that we also settype = "keyframes"so thatdurationtakes effect.
[12.23.7] 2025-07-23
Fixed
springValuecleanup.- Removed additional
removeNodefromAnimatePresencewhen usingpopLayout.
[12.23.6] 2025-07-11
Changed
- Added explainer for reduced motion warning.
- Refactored
motioncomponent creation to remove indirection.
[12.23.5] 2025-07-11
Fixed
- Fix animation timings within dynamically-generated popups.
[12.23.4] 2025-07-10
Added
- Checks before attempting to perform animations on
null.
[12.23.3] 2025-07-10
Changed
useScroll: Re-attempt to initialise scroll animation within auseEffectif refs weren't hydrated during theuseLayoutEffect. Throw if refs are still not hydrated during theuseEffect.
[12.23.2] 2025-07-10
Added
- Added pages for remaining error and warning messages.
[12.23.1] 2025-07-09
Changed
- Improved error messages. Some error messages will now link through to detailed documentation and solutions.
[12.23.0] 2025-07-02
Added
- Add
.stop()and.cancel()methods touseDragControls().
[12.22.0] 2025-07-01
Added
- Allow
delayChildrento acceptstagger(). This enablesfromandeaseoptions when staggering variant children.
Deprecated
staggerChildrenandstaggerDirectionoptions.
[12.21.0] 2025-07-01
Added
- Allow
distanceThresholdto be configurable viauseDragControls.
[12.20.5] 2025-07-01
Fixed
- Improve performance of projection styles by writing directly to
element.style. - Only block layout animations when window has changed width.
[12.20.4] 2025-07-01
Fixed
- Improve performance of render loop.
- Improve performance of types.
[12.20.3] 2025-07-01
Fixed
- Always skip layout animation check on tree mount.
[12.20.2] 2025-07-01
Fixed
- Updated
Transitiontype to be more permissive.
[12.20.1] 2025-06-30
Fixed
- Updated
Targettype to match previous definition.
[12.20.0] 2025-06-30
Added
- Pass a shadow DOM root element via
AnimatePresencerootprop to attach"popLayout"styles to a different root element.
[12.19.4] 2025-06-30
Fixed
- Ensure animations are removed from scope when finished.
[12.19.3] 2025-06-27
Fixed
- Restore some deprecated types.
- Add
transformPerspectivetoTargetAndTransition. - Filter number-indexed and function props from
CSSStyleDeclaration.
[12.19.2] 2025-06-27
Fixed
- React: Prevent duplicate layout animation commits within Suspense boundaries.
[12.19.1] 2025-06-23
Fixed
- React: Fix
export *error message in Next.js.
[12.19.0] 2025-06-23
Added
- React:
usePageInViewfor tracking document visibility.
[12.18.2] 2025-06-23
Fixed
- Fixed es bundle dependency imports for
"motion". - Restored
translateX,originXetc values in animation targets.
[12.18.1] 2025-06-13
Fixed
- Removed
"react"import from"motion-dom".
[12.18.0] 2025-06-13
Added
- Support for defining a timeline position relative to the start of the most recently added animation (e.g.
<+0.5,<-1)
[12.17.3] 2025-06-12
Changed
- Refactored
MotionPropsinto vanillaMotionNodeOptionstype within"motion-dom"package.
[12.17.2] 2025-06-12
Changed
- Handle colors when creating animatable
"none"keyframes for complex strings.
[12.17.1] 2025-06-12
Fixed
- Fixes
isValidPropcheck with Rolldown.
[12.17.0] 2025-06-10
Added
- MCP server.
Fixed
- Improved rounding for
linear()easing curves.
[12.16.0] 2025-06-03
Added
resize().
[12.15.1] 2025-05-30
Fixed
- Explicitly set layout animation velocity to zero to prevent persistent
MotionValuecarrying through velocity.
[12.15.0] 2025-05-27
Added
- Support for
pathLength/pathSpacing/pathOffsetforsvgEffect. - Auto kebab-casing of
dataandariaattributes inattrEffect. attrEffectapplies attributes via JS property where possible.- Auto
transform-box: fill-boxfor SVGs withtransforminstyleEffect.
[12.14.0] 2025-05-26
Added
- Support for
originX/Y/ZinstyleEffect.
Fixed
- Added markers for pure function calls with effects.
[12.13.0] 2025-05-26
Added
svgEffect,propEffectandattrEffect.
Fixed
- Fixed a jump in layout animations in select circumstances.
[12.12.2] 2025-05-23
Fixed
- Ensure scroll updates are only triggered after a scroll read.
[12.12.1] 2025-05-16
Fixed
- Checks for
instanceof HTMLElementmade compatible with dynamically generatediframes.
[12.12.0] 2025-05-16
Added
springValue
Fixed
- Fixed various typos in the type definitions along with a stale documentation link.
[12.11.4] 2025-05-15
Fixed
- Only read
transformfrom the DOM for initial independent transforms when there's no active projection.
[12.11.3] 2025-05-14
Changed
useWillChangenow only addstransformtowill-changeto prevent issues with prematurely flattenedpreserve-3d.
[12.11.2] 2025-05-14
Fixed
- Removed
__VERSION__placeholder from motion value. - Fixed types for
Reordercomponent.
[12.11.1] 2025-05-14
Fixed
- Default
scrolltracking todocument.scrollingElement.
[12.11.0] 2025-05-12
Added
- Added
value.isEffectActivefor internal use.
[12.10.6] 2025-05-09
Fixed
- Stop firing
.then()after.stop()and.cancel().
[12.10.5] 2025-05-09
Fixed
- Fixed attaching multiple
presshandlers on the same element.
[12.10.4] 2025-05-08
Fixed
- Fixed layout animations jumping when interrupted.
- Lower memory and runtime overhead of layout animations.
[12.10.3] 2025-05-08
Fixed
- Attempting to fix layout animations jumping when interrupted.
[12.10.2] 2025-05-08
Fixed
- Fixed
.cancel()after.stop().
[12.10.1] 2025-05-07
Changed
- Main thread
scrollanimations are now lazy, resolving after"scroll"events instead of every animation frame.
[12.10.0] 2025-05-06
Added
styleEffectnow supports:- Default value types
- Independent transforms
- CSS variables
[12.9.8] 2025-05-05
Fixed
- Fixing press after parent is dragged.
[12.9.7] 2025-05-05
Fixed
- Fix mixing
PopChildwith Astro view transitions.
[12.9.6] 2025-05-05
Fixed
- Fix setting
transformBoxviastyle.
[12.9.5] 2025-05-05
Fixed
- Fixed drag
undefinederror in React 19 Strict Mode. - Skip keyframe measurements for values without support for unit conversion.
[12.9.4] 2025-05-01
Fixed
- Remove version check for
MotionValue.
[12.9.3] 2025-05-01
Fixed
- Fixed memory leak when unmounting
motioncomponents.
[12.9.2] 2025-04-25
Fixed
- Fixed scroll timeline cache when defining
offset. - Detect when page scroll is attached to
document.bodyand use this instead ofdocument.documentElement.
[12.9.1] 2025-04-24
Fixed
- Restarting a finished main thread animation with a negative
.speednow works as expected.
[12.9.0] 2025-04-24
Added
styleEffect
[12.8.3] 2025-04-24
Changed
- Animating a
MotionValueto its current value will skip creating the animation.
Fixed
- Ensure
.then()fires when.stop()or.cancel()are called. This is undesired but reverts the behaviour to before12.7.5.
[12.8.2] 2025-04-24
Changed
- Unifying
transformbehaviour for SVG and CSS switched from element measurements fortransform-box: fill-box.
[12.8.1] 2025-04-23
Fixed
- Removing errant
console.traceonvalue.set("none").
[12.8.0] 2025-04-23
Added
mapValuetransformValue
Changed
- Removed support for Framer's internal
CustomValueType.
[12.7.5] 2025-04-22
Changed
- Improved scroll timeline caching.
- Replaced WAAPI keyframe generation with
linear()easing. - Ensure final defined keyframe is always applied to animations when animation finishes.
- Moved
instantAnimationState.currenttoMotionGlobalConfig.instantAnimations. - Changed
delayfromreadtosetupframeloop step.
Fixed
- Fixed
.then()andawaitearly resolution. - Fixed replaying main thread animations after finished.
.speedworks correctly across all animation types.- Various imperative animation control fixes.
[12.7.4] 2025-04-17
Fixed
- Removed non-deterministic behaviour from
AnimatePresence.
[12.7.3] 2025-04-15
Fixed
- Fixing
durationforanimateViewtransitions. - Prevent
.commitStyles()onpseudoElementanimations.
[12.7.2] 2025-04-14
Fixed
- Adding
"sideEffects": falsetomotion-domandmotion-utilspackages.
[12.7.1] 2025-04-14
Fixed
- Skip
.commitStylesonpsuedoElementanimations.
[12.7.0] 2025-04-14
Added
- Private
layoutCrossfadeallows disabling crossfade of shared layout elements.
[12.6.5] 2025-04-11
Fixed
- Polyfilled
syncandcancelSyncexports.
[12.6.4] 2025-04-11
Added
- Global injection of
WillChangeMotionValuefor internal Framer use.
[12.6.3] 2025-04-01
Changed
- Refactored mini
animateandanimateViewto share the sameNativeAnimation. Minianimatedown to2.3kb.
Fixed
- Fixed keyboard accessibility of press events.
[12.6.2] 2025-03-26
Fixed
- Fixing hardware acceleration for non-
transformvalues when amotioncomponent has a definedtransformTemplate.
[12.6.1] 2025-03-26
Fixed
- Reverting pointer capture for press gesture.
[12.6.0] 2025-03-25
Changed
- Renamed
viewtoanimateView.
Added
- New
interrupt: "wait"mode asanimateViewdefault.
[12.5.0] 2025-03-11
Added
- Added
motionValueto vanilla JS entrypoint.
Removed
- Removed
framer-motion-3dpackage.
[12.4.13] 2025-03-11
Fixed
- Fixed reading initial transform values from elements.
[12.4.12] 2025-03-11
Fixed
- Removed pointer capture from pan and drag gestures.
[12.4.11] 2025-03-10
Fixed
- Preventing flattening of scroll animations when
typeoreaseare explicitly set.
[12.4.10] 2025-03-03
Fixed
- Adding UMD bundles for
motion-domandmotion-utils.
[12.4.9] 2025-03-03
Fixed
- Fixed
Reorder.Itemreordering causinglostpointercaptureevent to fire.
[12.4.8] 2025-02-26
Fixed
- Fixed exiting children with
layoutDependencynot animating layout changes because of a stale layout dependency.
[12.4.7] 2025-02-20
Fixed
- Fixed
AnimatePresencenot triggering exit animations when a child withlayoutordragis removed.
[12.4.6] 2025-02-20
Fixed
- Fixed drag gesture on child elements.
[12.4.5] 2025-02-19
Fixed
- Fixed
onClickhandlers not working insidepressevents.
[12.4.4] 2025-02-18
Fixed
- Changed press, drag and pan gestures to use pointer capturing for better usage within
iframeembeds.
[12.4.3] 2025-02-12
Fixed
- Restored warning for when animating more than two keyframes with a spring.
[12.4.2] 2025-02-10
Fixed
- Preventing
pressfrom triggering when an element is disabled.
[12.4.1] 2025-02-06
Fixed
- Check for
transitionininitialwhen animating removed values.
[12.4.0] 2025-02-06
Added
- Added
initialoption touseInView.
[12.3.1] 2025-02-05
Fixed
- Correctly applying CSS variables at the end of a mini
animateanimation.
[12.3.0] 2025-02-05
Added
- Added
usePresenceDatato get custom data passed toAnimatePresencein descendant components.
[12.2.0] 2025-02-05
Added
- Added unit support to
useSpring.
[12.1.0] 2025-02-04
Fixed
- Bug with
AnimatePresencein React 19 strict mode.
Deprecated
- Motion 3D.
[12.0.11] 2025-02-03
Fixed
- Moving
updateSVGDimensionsto its own file to help with tree-shaking.
[12.0.10] 2025-02-03
Fixed
- Providing
MotionValuetomotioncomponent frommotion/react-cliententrypoint.
[12.0.9] 2025-02-03
Fixed
- Removing React from bundle.
[12.0.8] 2025-02-03
Fixed
- Infer type of
childrenprop formotion.create.
[12.0.7] 2025-01-28
Fixed
- Fixed SVG transform animations via
animate.
[12.0.6] 2025-01-27
Fixed
- Discard layout projection snapshots if 0x0.
[12.0.5] 2025-01-24
Fixed
- Fix scale correction for CSS variables.
[12.0.4] 2025-01-24
Fixed
- Add scale correction for CSS variables.
[12.0.3] 2025-01-23
Fixed
- Fixed toggling between shared layout animations multiple times.
Added
- Added private
anchorXprop toAnimatePresence.
Changed
- Simplified
useSpringfor smaller bundlesize.
[12.0.1] 2025-01-21
Fixed
- Prevent relative animations from restarting layout animations unnecessarily.
[12.0.0] 2025-01-20
Changed
press,hoverandinViewnow pass the target element as the first argument to the gesture start callback.
[11.18.2] 2025-01-20
Fixed
- Animations with
transformTemplatenot hardware accelerated.
[11.18.1] 2025-01-17
Fixed
AnimatePresencetypes in React 19.- SVG with
transformnot always setting styles correctly on mount.
[11.18.0] 2025-01-14
Added
- Adding
animateSequenceto perform animation sequences via WAAPI for a tiny bundlesize.
Fixed
- Missing
AnimationControlstype export.
[11.17.1] 2025-01-13
Fixed
- Remeasure SVG when size/position changes to ensure correct
transform-origin.
[11.17.0] 2025-01-10
Added
- Added
propagatetoAnimatePresence. This prop allows parent exit animations to be propagated to children.
Removed
- Removed
exitBeforeEnterfromAnimatePresence.
[11.16.7] 2025-01-10
Fixed
- Fixing timelines where a string label is used as the first segment.
[11.16.6] 2025-01-10
Changed
- More movement values like
heightandtopare now blocked by reduced motion.
[11.16.5] 2025-01-09
Fixed
- Fixed
scrollprogress being stuck at1when atargetis100vh.
[11.16.4] 2025-01-09
Fixed
- Fix type of
attachTimelinewhenskipLibCheckis disabled.
[11.16.3] 2025-01-09
Fixed
- Checking return of
press,hover, andinViewcallbacks before calling.
[11.16.2] 2025-01-09
Fixed
- Restoring missing type exports.
[11.16.1] 2025-01-08
Fixed
- Adding
displayNametomotioncomponents. - Ensure
pressdoesn't overridetabindexwhen explicitly set.
[11.16.0] 2025-01-06
Added
- Added
view()alpha to early access.
[11.15.0] 2024-12-13
Added
- Add support for
repeatin animation sequences.
Fixed
- Clearing scheduled jobs at the end of an animation frame to ensure memory is released should the animation loop settle.
[11.14.4] 2024-12-13
Fixed
- Exporting
AnimationSequencevia"motion"entrypoint. - Adding support for passing normal components to
motion.create()in React 19.
[11.14.3] 2024-12-13
Fixed
- Fixing
motion-domandmotion-utilsentrypoints.
[11.14.2] 2024-12-13
Fixed
- Exporting
timefor internal use. - Making
MotionValue.updatedAtpublic for internal use.
[11.14.1] 2024-12-12
Fixed
- Fixing missing license in
motion-domandmotion-utilspackages.
[11.14.0] 2024-12-12
Added
- Added
pressgesture in Motion+ early access.
[11.13.6] 2024-12-10
Fixed
- Adding React 19 to optional peer dependencies in
"motion"package also.
[11.13.5] 2024-12-10
Fixed
- Adding React 19 to optional peer dependencies in
"framer-motion"packages.
[11.13.4] 2024-12-10
Fixed
- Fixing types for React 19.
[11.13.3] 2024-12-09
Fixed
- Attempting to update types to be compatible with both React 18 and 19.
[11.13.2] 2024-12-04
Fixed
- Hover gesture now always
passive: true.
[11.13.1] 2024-12-03
Fixed
- SVG elements (like
motion.text) now update when given aMotionValueas children, matching HTML element behavior. - Exporting
DynamicAnimationOptionstype.
[11.13.0] 2024-12-03
Added
- Vanilla
hovergesture in Motion+ early access.
[11.12.0] 2024-11-27
Added
- New
visualDurationoption forspringanimations. - New
spring(visualDuration, bounce)syntax.
[11.11.16] 2024-11-14
Fixed
- Fixing
staggerwith minianimate.
[11.11.16] 2024-11-14
Fixed
- Ensuring animations passed to
scrollare scrubbed linearly. - Fixing
minitypes entrypoint. - Exporting easing types from
"motion".
[11.11.15] 2024-11-13
Fixed
- Fixing
miniandreact-minientrypoints.
[11.11.14] 2024-11-12
Fixed
- Fixing fallback entry points for
"motion/react"etc.
[11.11.13] 2024-11-12
Fixed
- Fixing build and entry points for
"motion".
[11.11.12] 2024-11-12
Changed
- Adding
"motion"package. - Replaced Motion One (see upgrade guide).
[11.11.11] 2024-10-31
Fixed
- Fixing double
update()call on mount.
[11.11.10] 2024-10-25
Fixed
- Removing
will-changefrom SSR.
[11.11.9] 2024-10-15
Changed
will-changeis now no longer automatically managed withoutuseWillChange.
[11.11.8] 2024-10-11
Fixed
- Fixing fallback
package.jsonfor 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
stylewithout casting, as this was conflicting with ReactCSSProperties.
[11.11.4] 2024-10-08
Fixed
- Memoize
AnimatePresencesafeToRemove. - Remove duplicate
layout="size"annotation.
[11.11.3] 2024-10-08
Fixed
- Remove
as anyrequirement for CSS variables.
[11.11.2] 2024-10-08
Fixed
- Make
BezierDefinitionreadonlyfor easier definition outside aTransition.
[11.11.1] 2024-10-04
Fix
- Fixed optimised appear effects in granular Suspense environments.
[11.11.0] 2024-10-03
Added
animatecan now animate any object.
[11.10.0] 2024-10-02
Added
delaywith seconds now exported from"framer-motion/dom".
Fixed
- Only
transformis added towill-changewhen a potentially layerising value is animated asopacityandfilterwill prematurely flattenpreserve-3d.
[11.9.0] 2024-09-27
Added
- Mini
animateanduseAnimatefunctions.
[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
infoand element tracking toscroll. - Added
stepseasing.
Changed
- Values added to
will-changenow 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
renderdoesn'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
Reordercomponents now importmotionproxy.
[11.5.2] 2024-09-04
Added
- Changing
motion()deprecation warning towarnOnce.
[11.5.1] 2024-09-04
Added
- Exporting
findSpringfor internal use.
[11.5.0] 2024-09-04
Added
motion.create()andm.create().
Deprecrated
motion()andm().
[11.4.0] 2024-09-03
Added
- Support for React Server Components, including new entrypoints for
motionandmcomponents.
[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-providedMotionValues.
[11.3.29] 2024-08-21
Fixed
- Selective cancellation of optimised appear animations.
[11.3.28] 2024-08-15
Fixed
- Use
startTimeinstead ofelapsedto sync optimised animations.
[11.3.27] 2024-08-14
Changed
- Allow manual setting of
startTimevia animation options (currently for internal use only).
[11.3.26] 2024-08-14
Fixed
- Improving synchronisation between DOM animations on externally-provided
MotionValues and internalMotionValues. - Fixing unit conversion on DOM animations with externally-provided
MotionValues.
[11.3.25] 2024-08-14
Changed
- Improve calculation of
startTimeto 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-idto 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
transformstring provided totransformTemplate.
[11.3.20] 2024-07-27
Changed
- Improved performance of
transformby up to 30% when providing many default transforms asMotionValues.
[11.3.19] 2024-07-27
Fixed
- Fixed problem with
AnimatePresencenot rerendering children unless their presence had changed.
[11.3.18] 2024-07-26
Fixed
- Improved correctness of
AnimatePresenceand made safe to use with concurrent rendering.
[11.3.17] 2024-07-24
Added
domMinfeature bundle.
[11.3.16] 2024-07-24
Changed
- Exporting
UseScrollOptionstype.
[11.3.15] 2024-07-24
Changed
- Improved types for
inView()'smarginproperty.
[11.3.14] 2024-07-24
Fixed
- Wrapping
usePresence'ssafeToRemovecallback inuseCallbackleading to fewer re-renders.
[11.3.13] 2024-07-24
Fixed
- Fixing
position: fixedlayout animations while scrolling.
[11.3.12] 2024-07-23
Fixed
- Improving
useSpringtypes so it acceptsMotionValue<string>orMotionValue<number>but always returnsMotionValue<number>.
[11.3.11] 2024-07-23
Fixed
- Removing
"react"import from DOM-only bundle.
[11.3.10] 2024-07-23
Fixed
- Changing
isBrowsercheck fromdocumenttowindow.
[11.3.9] 2024-07-23
Changed
- Improve performance of
window.MotionDebugcheck.
[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
Setlookups.
[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
reactandreact-domas dependencies.
[11.3.4] 2024-07-16
Changed
- Check for
display: contentselements now against component props instead ofElement.style.
[11.3.3] 2024-07-16
Changed
- Frameloop now uses a single
SetvsSetandArray, leading to smaller bundlesize and better performance under heavy load.
[11.3.2] 2024-07-11
Fixed
- No longer adding
background-colortowill-change.
[11.3.1] 2024-07-11
Updated
- Externally-provided
MotionValues are no longer permanently added towill-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
nullbefore 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
motionroot within portal withdata-framer-portal-idattribute.
[11.2.4] 2024-05-16
Fixed
- Batching triggering animations with
useSpring.
[11.2.3] 2024-05-16
Fixed
MotionValues created withundefinedcan 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
MotionValuestate.
[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
0and the other is an explicitly defined keyframe, e.gy: ["100%", 0].
[11.1.7] 2024-04-19
Changed
- Updating types for
motion.div.
[11.1.6] 2024-04-19
Changed
- Binding
stoptoMainThreadAnimation
[11.1.5] 2024-04-18
Changed
- Exporting
DOMMotionComponents.
[11.1.4] 2024-04-18
Fixed
- Fixing types of
motion.divin 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
useTransformto 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
styleare visible once a value is no longer present in animation props.
[11.0.23] 2024-03-28
Fixed
- Fixed layout animations when combined with
ztransforms.
[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
rotateorskewtransforms.
[11.0.19] 2024-03-21
Fixed
- Fixed layout animations when combined with
skewtransforms.
[11.0.18] 2024-03-20
Fixed
- Default
durationdoesn't overrideduration: 0WAAPI 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
backgroundPositionXandbackgroundPositionY.
Fixed
- Fixed
height: autoanimations.
[11.0.12] 2024-03-12
Fixed
- Updated
@emotion/is-valid-propas 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
transformValuesprop.
[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
globalTapTargetfor use in Framer.
[10.17.12] 2024-01-09
Fixed
- Fixed
animatesequencing forMotionValues.
[10.17.11] 2024-01-09
Fixed
- Fixed
layoutprop crashing 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
nullsafeguard foruseAnimationControls.
[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
containerisposition: static. - Move more scroll measurements to
readframe lifecycle. - Adding
amounttouseInViewdependencies.
[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
dragSnapToOriginnot continuing animation when interrupted.
[10.17.0] 2024-01-01
Added
- Adding
MotionGlobalConfig.skipAnimationsto globally disable animations when testing.
[10.16.16] 2023-12-08
Fixed
circInOuteasing fixed.- Improved optimised animation handoff.
[10.16.15] 2023-12-07
Fixed
- Ensure
animateChangesonly runs in layout effect in initial render.
[10.16.13] 2023-12-05
Fixed
- Ensure animations don't attempt to fire when
initialequalsanimate.
[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
disableInstantAnimationprivate 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
Reordercomponent types. - Fixing
Reorder.Itemorder calculation. - Fixing broken
dragConstraintsif component re-renders during resize.
[10.16.5] 2023-11-14
Fixed
- Fixing
AnimatePresencefast rerender bug.
[10.16.4] 2023-09-05
Fixed
- Changed handoff
startTimesource fromperformance.now()todocument.timeline.currentTime.
[10.16.3] 2023-09-04
Fixed
- Improved compatibility of custom
RefObjectandMutableRefObjecttypes. - Fixing
useScrolldependencies 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
requestAnimationFrametimestamp withperformance.now()to avoid timestamp bug in Chrome.
[10.15.0] 2023-07-28
Added
- Updated types for public
inViewAPI.
[10.14.0] 2023-07-27
Added
scroll()now accepts animations fromanimate()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 viaScrollTimeline.
[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
useInstantTransitionwhen 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
layoutprop andanimate(). - Removing errant log from
resolveConstraints.
[10.12.14] 2023-05-23
Fixed
- Ensure new
layoutcomponents 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
AnimatePresencechild 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: falseandtype: "tween", duration: 0.
[10.12.5] 2023-05-01
Changed
- Exporting
visualElementStorefor internal use.
[10.12.4] 2023-04-18
Fixed
- Fixing types for
attrX,attrYandattrScalevalues.
[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 thescaleSVG attribute.
[10.12.1] 2023-04-14
Added
- Creating
syncandcancelSyncas legacy APIs for use within Framer.
[10.12.0] 2023-04-14
Added
- Exporting
frameandcancelFrameas 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
.durationtoanimate(). 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
fromoption instagger().
[10.8.3] 2023-03-21
Changed
- Fixing
duration: 0animations 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()andspeedtoanimate().
Changed
"easeIn","easeOut"and"easeInOut"easing functions are now WAAPI spec-compliant.
Fixed
.stop()stops animations permanently.useSpringtiming.animate()withrepeat: 1andrepeatType"reverse"or"mirror"correctly applies final keyframe.
[10.5.0] 2023-03-16
Added
useAnimate()provides a composable way to useanimate().
[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
timePromiseon instant animation.
[10.3.0] 2023-03-14
Added
time,play(),pause()andthen()to animations created withanimate().
[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
animateto resolve fortimeinstead oftimeDelta.
Fixed
delaywill now apply to"inertia"animations.
[10.2.3] 2023-03-07
Fixed
- Unifying
AnimationPlaybackControlstypes. - Changing
Featuretype to fix Next build errors.
[10.2.2] 2023-03-07
Fixed
- Restoring
DeprecatedLayoutGroupContextfor legacy Smart Components in Framer.
[10.2.1] 2023-03-07
Fixed
- Passing low
restSpeedandrestDeltatouseSpring().
[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-coloranimations are now hardware accelerated.
Removed
- Removing fallback for
IntersectionObserver. Use a polyfill for support in older browsers. - Removed
DeprecatedLayoutGroupContext.
Changed
- Using
exitBeforeEnterwithAnimatePresencenow throws an error. - Using
value.onChangewill now throw a warning with instructions to change tovalue.on("change", callback). - Using
AnimateSharedLayoutnow throws an error.
Fixed
repeat: Infinityno longer de-opts from pre-generated WAAPI animations.
[9.1.7] 2023-02-24
Fixed
- Switching
const enumfor types.
[9.1.6] 2023-02-23
Added
- Exporting
scrollfor internal use inside Framer.
[9.1.5] 2023-02-23
Fixed
- Changing
Feature<any>toFeature<unknown>.
[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 enumwithconst enumfor smaller bundlesize.
[9.1.1] 2023-02-23
Updated
- Removing external dependencies.
[9.1.0] 2023-02-23
Added
- Hardware acceleration of
clipPath,filterandtransformstyles.
[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
motioncomponent features to load without React components. - Deprecated fallback behavior for missing
IntersectionObserver.
[9.0.2] 2023-02-07
Changed
Reorder.Itemno longer throws an error withinMotionConfig strict.
[9.0.1] 2023-02-02
Removed
- Tap events no longer suspend
tabindexattribute for the duration of the gesture.
[9.0.0] 2023-02-01
Added
- Tap events are now keyboard accessible.
Changed
whileFocusonly triggers according tofocus-visiblerules.
[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
startTimeto fix inaccuracies of Firefox'sAnimation.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
restSpeedandrestDeltadefaults for granular spring animations.
[8.5.0] 2023-01-18
Added
layoutRootprop. When component haslayoutandlayoutRootprops, 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
animateChangesin auseLayoutEffectwhen 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
valuesprop.
[8.4.3] 2023-01-13
Fixed
- When in Reduced Motion mode,
transitionno longer overrides instant transitions.
[8.4.2] 2023-01-11
Fixed
- Events sourced from
pointercancelno longer being added to pan gesture history.
[8.4.1] 2023-01-11
Fixed
delayno longer getting doubled with pregenerated WAAPI keyframes.
[8.4.0] 2023-01-10
Added
- Exporting
frameDataandsyncfor 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
penhover events.
[8.3.2] 2023-01-09
Fixed
- Allow
useMotionTemplateto accept static values.
[8.3.1] 2023-01-09
Fixed
- Memoisation of tap callbacks.
[8.3.0] 2023-01-09
Added
motioncomponents can accept aMotionValueaschildren.
[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
transitionfixed in 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
stylevalue betweenMotionValueand 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
onAnimationStartwhen an animation is triggered by a parent.
[8.1.3] 2023-01-02
Fixed
- Fixed
times.
[8.1.2] 2023-01-02
Fixed
- Fixed
extendserror inLayoutCameraandLayoutOrthographicCameracomponents.
[8.1.1] 2023-01-02
Fixed
- Fixing error when
Transition.typeis invalid.
[8.1.0] 2023-01-02
Added
MotionValue.jumpcan be used to "jump" aMotionValueto a new value, bypassing active springs, ending current animations and resetting tovelocityto0.
[8.0.4] 2023-01-02
Fixed
- Cleaning up animations when a
MotionValuehas no active"change"subscribers. - Changing
useMotionValueEventsubscription touseInsertionEffect.
[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
<select />elements.
Changed
DragControls.startnow acceptsPointerEventonly.
[7.10.3] 2022-12-20
Changed
- Firing
animateChangesinuseLayoutEffectrather thanuseEffectto ensure optimised appear animations are handed off before paint.
[7.10.2] 2022-12-16
Fixed
- Adding support for all easing functions with WAAPI.
[7.10.1] 2022-12-16
Fixed
- Fixed type inference of
useMotionValueEvent.
[7.10.0] 2022-12-15
Added
.on()event method toMotionValue."animationStart","animationComplete","animationCancel"and"change"events forMotionValue.useMotionValueEventhelper method for adding events.
[7.9.1] 2022-12-14
Fixed
- Fixing mapping Motion easing names to WAAPI.
[7.9.0] 2022-12-14
Added
- Hardware-accelerated
opacityanimations.
[7.8.1] 2022-12-14
Changed
- Refactored animation pipeline to better accomodate WAAPI.
[7.9.0] 2022-12-14
Added
- Hardware-accelerated
opacityanimations.
[7.8.1] 2022-12-14
Changed
- Refactored animation pipeline to better accommodate WAAPI.
[7.8.0] 2022-12-13
Added
- Added private APIs for starting initial animations before React hydration and handing off to the component after hydration.
[7.7.3] 2022-12-13
Fixed
- Fixed spring effect of
useSpring.
[7.7.2] 2022-12-12
Removed
- Reduced
??operators to reduce bundlesize.
[7.7.1] 2022-12-12
Changed
- Removed
style-value-typesandframesyncas external dependencies.
[7.7.0] 2022-12-12
Added
- Added support for
"startOffset","textLength"and"lengthAdjust"SVG attributes.
Removed
- Removed ability to define
"inertia"animation as"decay"(officially removed in3.0.0).
Removed
- Removed legacy repeat options (officially removed in
3.0.0).
[7.6.19] 2022-12-05
Fixed
- Animation of
viewBoxfor SVG elements.
[7.6.18] 2022-12-02
Changed
- Removed
popmotionas external dependency.
[7.6.17] 2022-12-01
Fixed
- Manually firing callback with latest callback when
useOnChangeis provided new motion value (affectsuseSpring).
[7.6.16] 2022-12-01
Fixed
- Fixing
useOnChangeto resubscribe when provided a new motion value (affectsuseSpring).
[7.6.15] 2022-11-28
Fixed
- Rounding tree scale to
1to prevent unnecessaryscaletransforms.
[7.6.14] 2022-11-28
Fixed
- Nothing to see here.
[7.6.12] 2022-11-24
Fixed
isTransformDirtynode skipping logic.
[7.6.11] 2022-11-24
Fixed
- Treat
<motion.svg />components as HTML.
Updated
- Further layout animation performance enhancements.
[7.6.10] 2022-11-24
Updated
- Removing read of (currently unused)
positionstyle as it's erroneously breaking a test in Framer.
[7.6.9] 2022-11-22
Updated
- Only updating projection calculations for dirty nodes.
[7.6.8] 2022-11-22
Updated
- Reducing number of scroll reads during layout animations.
[7.6.7] 2022-11-15
Fixed
- Removed instantiation of externally-provided motion values.
[7.6.6] 2022-11-11
Fixed
- Minor layout animation refactors.
[7.6.5] 2022-11-07
Fixed
VisualElementchanged toclassimplementation.- Fixed issue with relative layout animations when switching relative parents.
[7.6.4] 2022-11-01
Fixed
- Updated
buildTransformtypes to only expect required arguments.
[7.6.3] 2022-11-01
Added
- Exposing
buildTransformfor internal use.
[7.6.2] 2022-10-27
Added
- Internal option for
useScrollto useuseEffectinstead ofuseLayoutEffect.
[7.6.1] 2022-10-18
Fixed
- Exporting
CycleStateandCycletypes.
[7.6.0] 2022-10-18
Added
delay(): An alternative towindow.setTimeout()that is locked to the animation framerate.
[7.5.4] 2022-10-17
Fixed
- Fixed bug relative layout animations within rotated layers.
- Fixed bug with
layout="preserve-aspect"where layers that do change size but aren't moved are reprojected to the old size and stay there.
[7.5.3] 2022-10-04
Fixed
- If the initial style was derived from the
initialprop, and that style is removed fromanimate, while also being removed frominitial, it won't animate back to the originally-defined value.
[7.5.2] 2022-10-04
Fixed
- Gracefully handle
undefinedvalues invaluesprop.
[7.5.1] 2022-09-30
Fixed
useTransformcorrectly cleans up any scheduled animation frames when it unmounts.
[7.5.0] 2022-09-27
Added
useAnimationFramenow passesdeltato provided callbacks as the second argument.
[7.4.0] 2022-09-26
Added
- Added internal
valuesprop that allows the provision of motion values to use exclusively for performing animations on.
[7.3.6] 2022-09-20
Fixed
- Increasing threshold for what's considered a similar aspect ratio in
"preserve-ratio"layout animations.
[7.3.5] 2022-09-14
Fixed
isMotionValueno longer crashing when providednull.
[7.3.4] 2022-09-13
Fixed
- Run feature detection based on rendered props.
[7.3.3] 2022-09-13
Fixed
- Ensuring children dynamic components re-render when context changes.
[7.3.2] 2022-09-07
Added
isMotionComponentreturns true if the provided component is amotioncomponent.unwrapMotionComponentreturns the rendered component.
[7.3.1] 2022-09-07
Fixed
- Fixing application of
rotateZ.
[7.3.0] 2022-09-06
Added
layout="preserve-ratio"performs a position-only transition if the aspect ratio has changed.
Fixed
layout="position"now works with shared element transitions.
[7.2.1] 2022-08-23
Added
- Various filesize reductions.
[7.2.0] 2022-08-14
Added
AnimatePresence's newmode="popLayout"prop will "pop" exiting elements from the document layout flow, allowing siblinglayoutelements to animate to their new layout as soon as exiting starts.
Deprecated
exitBeforeEnter- replace withmode="wait".
[7.1.2] 2022-08-16
Fixed
- Fixing
useWillChangeexport.
[7.1.1] 2022-08-15
Changed
- Upping TypeScript output
targetto"ES6".
Updated
typescript@4.7
[7.1.0] 2022-08-11
Added
useWillChangefor automatically managing thewill-changestyle.
[7.0.3] 2022-08-11
Fixed
- Trimming CSS vars.
[7.0.2] 2022-08-11
Fixed
- Correctly parsing slash-delimited opacities within colors.
- Exporting types correctly for Typescript 4.7.
[7.0.1] 2022-08-10
Changed
- Replacing internal
useIdwith React 18'suseId.
[7.0.0] 2022-08-04
Updated
react@18react-three-fiber@8
Fixed
- Drag to reorder items no longer jumping in React 18.
[6.5.2] 2022-07-27
Fixed
- Fix types for
mixeroption inuseTransform.
Update
style-value-types@5.1.0
[6.5.1] 2022-07-14
Fixed
- Adding
onChangehandlers inuseTransformonuseLayoutEffect.
[6.5.0] 2022-07-13
Added
useScrollfor creating scroll-linked animations.
Deprecated
useViewportScrollanduseElementScroll.
[6.4.3] 2022-07-08
Fixed
- Split module to improve ability to code-split and tree-shake
<m>anddomMax.
[6.4.2] 2022-07-06
Added
useInViewnow automatically respectsrootMarginwithin an iframe.
[6.4.1] 2022-07-05
Added
- Renaming
useAnimationtouseAnimationControls.useAnimationwill stay as backwards compatible alias.
[6.4.0] 2022-07-05
Added
useInView.
[6.3.16] 2022-06-27
Fixed
- Fixing layout animations within
position: fixedelements. Provideposition: fixedelements thelayoutScrollprop to fix.
[6.3.15] 2022-06-24
Fixed
- Explicitly declaring
childrenprop for components.
[6.3.14] 2022-06-24
Fixed
- Exposing more internal types.
[6.3.13] 2022-06-22
Fixed
- Fix some missing types by replacing
@internalRemarkscomment with@privateRemarks.
[6.3.12] 2022-06-21
Changed
- Rolling up published type definitions.
[6.3.11] 2022-06-08
Fixed
- Fixed scale correction during rotation & layout animations.
[6.3.10] 2022-06-03
Fixed
- Fixing version mismatch warning.
[6.3.9] 2022-06-03
Fixed
- Providing path to types via
package.json'sexportsfield to fix types in TypeScript 4.7. - Safer
process.env.NODE_ENVcheck.
[6.3.8] 2022-06-03
Fixed
- Restore scroll position after measuring
heightwhen doing unit conversion animation.
[6.3.7] 2022-06-03
Fixed
- Will display a warning if different versions of Motion are mixed.
[6.3.6] 2022-05-31
Fixed
- All events are now passive unless a user provides an explicit event listener.
[6.3.5] 2022-05-30
Fixed
- Added
initialprop to Motion 3D types.
[6.3.4] 2022-05-25
Fixed
- Updating
reducedMotionprop inMotionConfignow correctly updates throughout the tree.
[6.3.3] 2022-04-28
Fixed
- Re-enabling layout animations on
svgelements.
[6.3.2] 2022-04-26
Fixed
- Fixing internal type errors in React 18.
- Adding deprecation notice to
AnimateSharedLayout.
[6.3.1] 2022-04-22
Fixed
- SSR in Deno.
[6.3.0] 2022-04-14
Added
- Adding
layoutprop toReorder.Item. onLayoutAnimationStart.
Fixed
- Ensure
cycleis properly memoised.
[6.2.10] 2022-04-12
Fixed
- Fixed
useSpringdependencies if properties change between renders. - Fixed
childrentypes ofAnimatePresenceandLayoutGroup.
[6.2.9] 2022-04-06
Fixed
- Fixing
processin ESM environments.
[6.2.8] 2022-02-23
Changed
- Fixing race conditions for variants changed by state vs by gesture.
[6.2.7] 2022-02-21
Changed
- Replaced undocumented
LayoutGrouppropinheritIdwithinherit.
[6.2.6] 2022-02-10
Fixed
- Remove
useIdfrom React 18.
[6.2.5] 2022-02-08
Fixed
- Improving compatibility with React 18.
[6.2.4] 2022-02-03
Fixed
- Fixed layout animations with Framer's
Stackgap Safari polyfill.
[6.2.3] 2022-01-25
Added
- Adding
useReducedMotionConfigfor internal Framer use.
[6.2.2] 2022-01-21
Fixed
- Fixing
onBeforeLayoutMeasure.
[6.2.1] 2022-01-21
Added
- Ensure
useReducedMotiondetects reduced motion on load.
[6.2.0] 2022-01-21
Added
reducedMotionoption toMotionConfig.
[6.1.0] 2022-01-20
Added
- Added
viewport.fallbackoption to disableIntersectionObserverpolyfill.
[6.0.0] 2022-01-19
Changed
framer-motion/threeis nowframer-motion-3d.
[5.6.0] 2022-01-12
Added
isValidPropprop toMotionConfigthat allows the injection of custom detection of valid React props.
[5.5.8] 2022-01-12
Fixed
- Removing
transformTemplateprop correctly rerenders element.
[5.5.7] 2022-01-11
Fixed
- Fixing crossfade for % or px unit border radius. Issue
[5.5.6] 2022-01-07
Fixed
MotionConfigpropagates changes to transition.
[5.5.5] 2021-12-17
Fixed
- Using
dprprop in layout animation calculations.
[5.5.4] 2021-12-16
Fixed
- Improving performance of
LayoutCamera. - Removing
data-projection-idin static mode.
[5.5.3] 2021-12-15
Fixed
- Improving performance of
LayoutCameraand fixing final flash.
[5.5.2] 2021-12-15
Fixed
- Reimplemented dynamic resolution scaling for
LayoutCamera.
[5.5.1] 2021-12-14
Fixed
- Removed dynamic resolution scaling from
LayoutCamerato fix crash in iOS.
[5.5.0] 2021-12-14
Added
LayoutCameraandLayoutOrthographicCamera.
[5.4.5] 2021-12-09
Fixed
- Passing
MotionConfigContextthrough from DOM into 3D.
[5.4.4] 2021-12-08
Fixed
- Fixing variant animations across DOM and 3D boundaries via
MotionCanvas.
[5.4.3] 2021-12-07
Fixed
- Fixing export paths. PR by @edoardolincetto.
[5.4.2] 2021-12-07
Fixed
- Sharing
MotionContextacross Motion and Motion 3D environments in CommonJS environments.
[5.4.1] 2021-12-06
Fixed
- 3D entry point overwriting ES modules with dropped exports.
[5.4.0] 2021-12-06
Added
useAnimationFrame
[5.3.3] 2021-11-24
Fixed
- Fixing animating to CSS variables with
SVGElement. Issue - Unsetting
z-indexfor restingReorder.Itemcomponents. Issue - Forward native drag listeners to
draggableelements. Issue - Authors can now support browsers without
Proxyby usingmotion("div")syntax. Issue
[5.3.2] 2021-11-23
Fixed
- Ensuring forced renders are batched so sibling
AnimatePresencerenders are triggered together. Issue - Viewport enter/leave event handlers are passed
IntersectionObserverEntryornullifIntersectionObserveris not supported on the device. Issue - No longer applying touch scroll-disabling styles if
dragListeneris set tofalse. Issue
[5.3.1] 2021-11-19
Added
useInstantTransitionhook for internal use.
Fixed
- Removing
layoutDependencyfrom forwarded props. Issue Reorder.Itemcorrectly firesonDrag. Issue- Fires
onPressStartandonHoverStartafter triggering animations. - Replay keyframes when variant changes. Issue
- Correctly SSR final keyframe when
initialisfalse.
[5.3.0] 2021-11-11
Added
whileInView,onViewportEnterandonViewportLeaveprops.
[5.2.1] 2021-11-05
Fixed
- Fixing unit conversion for
xandystyles. Issue
[5.2.0] 2021-11-04
Added
- Enable animation between hsla and rgba/hex.
Fixed
- Fixing HSLA color interpolation. Issue
[5.1.0] 2021-11-02
Added
- Adding path drawing support for
circle,ellipse,line,path,polygon,polylineandrectcomponents. - Add SSR support for
pathLength.
Fixed
- Fixed SSR for
pathLength. - Downgrading
whileFocusto lowest gesture priority. Issue - Fixed path length for elements with
vectorEffect="non-scaling-stroke"Issue - Stripping
dragSnapToOriginfrom DOM output. PR by @Evalon
[5.0.2] 2021-11-02
Fixed
- Convert x/y from percent to pixels before drag. Issue
- Dynamic functions passed to
controls.start()can now return variant names. Issue - Factors in padding when measuring elements for
width/heightunit conversion. Issue
[5.0.1] 2021-11-01
Added
onAnimationStartis now called with the definition of the triggering animation.
Fixed
- Removing context memoisation to ensure removed values are correctly animated to.
- Adding unmount check to
AnimatePresencebefore updating state. PR by @ctrlplusb - Fixing types for multi-input
useTransform. PR by @kena0ki - Fixing
staggerChildrenfor value-specific transitions. Issue - Fixes animation between
0and non-number/pixel keyframe array. Issue
[5.0.0] 2021-10-27
Added
Reordercomponents to create drag-to-reorder interfaces.LayoutGroupallows namespacinglayoutIdand group elements that may affect each-other's layout on re-render.layoutDependencyprop to restrict when components are measured.layoutScrollprop to hint to layout animations when a element is scrollable.- Layout animations are auto-completed when the viewport resizes.
layout="size"for size-only animations PR by @bhollis.
Fixed
- Various layout projection improvements.
Changed
AnimateSharedLayoutis deprecated.
[4.1.17] 2021-05-17
Fixed
- Fixing SVG
gradientTransform. - Removing hover event suspension during layout measurements.
[4.1.16] 2021-05-12
Fixed
- Use with changing external refs.
[4.1.15] 2021-05-11
Fixed
- Correctly firing
onAnimationCompletewhen a spring animation defined bybounceand nodurationis completed.
[4.1.14] 2021-05-11
Fixed
- Narrowing the edge cases within which drag could lock the projection viewport box.
- Comparing prev scale to correct axis.
[4.1.13] 2021-05-07
Fixed
- Call function ref if it changes between renders.
[4.1.12] 2021-05-07
Fixed
- Layout measurements for drag gesture don't happen until the gesture is confirmed to start.
- Prevent occasional flash when projection hasn't yet been hydrated.
- Unifying layout batcher between drag and layout animations.
- Suspending hover events globally during layout measurements.
[4.1.11] 2021-04-28
Fixed
- Layout projection fix.
[4.1.10] 2021-04-26
Fixed
- Allow a component to have
transformreset before measuring child layout.
[4.1.9] 2021-04-23
Fixed
- Further nested drag improvements for external motion values.
[4.1.8] 2021-04-22
Fixed
- Nested drag improvements for external motion values.
[4.1.7] 2021-04-21
Fixed
- Nested drag improvements.
[4.1.6] 2021-04-20
Fixed
- Nested drag improvements.
[4.1.5] 2021-04-19
Fixed
- Layout projection improvements.
[4.1.4] 2021-04-19
Fixed
- Disabling hover events when a drag is active.
[4.1.3] 2021-04-07
Fixed
- Animating to/between
0remand other non-specifically handled unit types.
[4.1.2] 2021-04-01
Fixed
- Clamping
borderRadiusto0and above during crossfade.
[4.1.1] 2021-04-01
Fixed
- Animating from
undefinedto number (including units) now animates from0.
[4.1.0] 2021-03-31
Added
- Relative layout animations
- Adding
transition.crossfadeandtransition.layoutfor crossfade and layout-specific transitions.
Fixed
- Various layout projection improvements.
[4.0.3] 2021-03-24
Fixed
- Replaced layout animation tree traversal with flat array traversal of just projecting elements.
[4.0.2] 2021-03-19
Fixed
- Various layout animation bugfixes.
Upgraded
- Upgraded
popmotion,framesync,style-value-typesandtslibtolatest.
[4.0.1] 2021-03-23
Fixed
- Adding
package.jsontoexportsso it can be imported by Node.
[4.0.0] 2021-03-18
Added
- Added the new
LazyMotioncomponent to defer the loading of animations and gestures.
Removed
- The deprecated
motion.custom(). Usemotion()instead.
[3.10.6] 2021-03-18
Fixed
- Various variant bugs.
[3.10.5] 2021-03-15
Fixed
- Added specific
defaultandrequirefields to theexportsfield for CJS compatibility.
[3.10.4] 2021-03-15
Added
exportsfield topackage.json.
Fixed
useMotionValuenow forces re-render on the Framer canvas when the underlyingMotionValueupdates.
[3.10.3] 2021-03-10
Fixed
- Reduced memory consumption in static mode by not loading
VisualElement.
[3.10.2] 2021-03-09
Fixed
- Improved memory consumption of
SubscriptionManager.
[3.10.1] 2021-03-09
Fixed
- New layout animations now only trigger when the target viewport box has changed.
[3.10.0] 2021-03-03
Added
useVelocity.
[3.9.3] 2021-03-03
Fixed
- Exporting
AnimationPlaybackControlsandAnimationOptionsforanimate(). - Fixed passing dynamic function to
controls.start().
[3.9.2] 2021-03-02
Fixed
- Crossfader now only returns values for the lead and follow components.
[3.9.1] 2021-03-02
Fixed
- Drag now passing velocity to
useSpringcorrectly.
[3.9.0] 2021-03-02
Added
dragElasticnow accepts per-axis elastic settings.
[3.8.2] 2021-03-01
Fixed
perspectivenow correctly set as its ownstyle.transformPerspectivestill builds intotransform.
[3.8.1] 2021-03-01
Changed
- Refactoring
AnimationTypeis improve bundle-splitting.
[3.8.0] 2021-03-01
Fixed
- Code-splitting for Webpack.
[3.7.0] 2021-02-23
Added
motion()creates custommotioncomponents.forwardMotionPropsboolean to optionally forwardMotionPropsto custom components.
Changed
- Custom
motioncomponents no longer forwardMotionPropsby default.
Deprecated
motion.custom
Fixed
- Listing React 17 as a
peerDependency.
[3.6.7] 2021-02-22
Fixed
- More permissive check for previously-unencountered values.
[3.6.6] 2021-02-22
Fixed
- Safer
hasOwnPropertycheck fornullvalues.
[3.6.5] 2021-02-22
Fixed
- Only fire
onPanEndifonPanStarthas triggered.
[3.6.4] 2021-02-22
Fixed
- Adding polyfill
performance.nowinframesync.
[3.6.3] 2021-02-22
Fixed
- Only crossfading defined
borderRadiusborders during shared element transitions.
[3.6.2] 2021-02-20
Fixed
AnimatePresencenow correctly unmounts children if it contains nomotioncomponents.
[3.6.1] 2021-02-19
Fixed
onAnimationCompleteon child variant components now fire as expected.
[3.6.0] 2021-02-19
Added
onAnimationCompletenow provides the definition of the triggering animation.
[3.5.3] 2021-02-19
Fixed
- Fixing bug with
afterChildrenandexitanimations.
[3.5.2] 2021-02-18
Added
- Setting
sideEffects: falseinpackage.jsonto help code splitting in Webpack.
[3.5.1] 2021-02-18
Fixed
onTapCancelis now being correctly cleaned up.
[3.5.0] 2021-02-18
Added
- Adding
transitionprop toMotionConfigto set a defaulttransitionfor an entire tree.
[3.4.2] 2021-02-18
Added
onBeforeLayoutMeasureprop, currently a Framer internal.
[3.4.1] 2021-02-18
Fixed
- De-duplicating features in nested
MotionConfigs to avoid key error.
[3.4.0] 2021-02-18
Changed
- Main
motioncomponent concurrent-safe.
Fixed
- Crossfading elements can now never fall out of positional/style sync due to mismatched animations or framelag.
- Fixing SVG double translation transform (props + transform style).
animateonCompletenow firing correctly.- Only firing keyframe animation when all values have changed.
- Removing forced re-renders for variant trees.
- Variant stagger order now determined by DOM APIs.
- Fixed default spring for
scale,opacityetc from being overdamped to being critically damped when animating to0.
[3.3.0] 2020-02-03
- Fixing errant publish.
[3.2.1] 2020-01-11
Added
- Exporting
useVariantContextfor internal Framer use.
[3.2.0] 2020-01-08
Added
- Support for hex
alpha, ie#FFF0and#FFFFFF00. - Support for default
filtervalues. For example, when animating frombrightness(50%), the animation will start frombrightness(100%)rather thanbrightness(0%).
[3.1.5] 2020-01-08
Fixed
- Hover events are now blocked while layout is being measured.
[3.1.4] 2020-01-05
Fixed
- Blocking layout animations to/from zero bounding boxes.
onTapCancelnow fires correctly on touch screens.createDomMotionComponenttypes.
[3.1.3] 2020-01-04
Fixed
- Fixed types for
pathSpacingandpathOffset.
[3.1.2] 2020-01-04
Fixed
snapToCursorrespects drag axis.
[3.1.1] 2020-12-18
Updated
- Updated dependencies.
[3.1.0] 2020-12-18
Added
whileFocus
[3.0.1] 2020-12-18
Fixed
- Error when mixing
initial={false}andanimate={controls}.
[3.0.0] 2020-12-16
Added
whileDrag- Adding Safari-prefixed
userSelectcss to draggable elements. whileHover,whileTapandexitall now accept variant lists.
Changed
- New behaviour for when values are removed from animation props (
animate,whileHover,exitetc). The value will be searched for in active props of a lower priority running (style<-animate<-whileHover<-whileTap<-whileDrag<-exit). This may introduce subtle behavioural changes, hence the major.
Removed
- The deprecated
useInvertedScalehook. Use thelayoutprop instead. - The deprecated
yoyo,flipandloopoptions. UserepeatandrepeatTypeoptions instead.
Fixed
- Correctly applying
transformon SVG elements. - Lazy-initialising viewport scroll, VisualElement.axisProgress, and reduced motion
MotionValues, for increased startup performance. - Improved measurement scheduling for
dragcomponents and nestedAnimateSharedLayouttrees. - Robust calculation of
treeScale.
[2.9.5] 2020-11-16
Added
- Updating
package.jsonto be compatible with React 17.
[2.9.4] 2020-10-21
Added
- Exporting internal API
startVisualElementAnimationfor use in Framer.
[2.9.3] 2020-10-19
Added
- Exporting
Targettype.
[2.9.2] 2020-10-19
Fixed
- Over-eager variant propagation.
[2.9.1] 2020-10-12
Fixed
- Reverting
matchMedialistener to legacyaddListenerto fix in Safari.
[2.9.0] 2020-10-12
Added
- Refactor has reduced complete bundle size to 27kb and
mcomponent bundle size to 12.5kb.
Fixed
- Removing whitespace from resolved CSS variables.
[2.8.0] 2020-10-09
Added
animatefunction for low-level singleMotionValueor arbitrary value animations.
[2.7.8] 2020-10-07
Changed
- Reverting previous behaviour to allow manual triggering of updating drag constraints via
useDragControls.
[2.7.8] 2020-10-07
Changed
- If
dragConstraintsis set to a ref on a non-draggable component, we resolve the constraints on mount in order to pass them toonMeasureDragConstraints.
[2.7.7] 2020-10-01
Fixed
durationandbounceare now overridden bydamping,stiffness, andmass. This fixes an issue in Framer where legacy transitions were breaking.
[2.7.6] 2020-09-29
Fixed
- When a
transformis provided tostyleas aMotionValueand then replaced with a number on a subsequent render, we create a newMotionValuefor it.
[2.7.5] 2020-09-26
Fixed
- Manually setting a
fromintransition.
[2.7.4] 2020-09-26
Fixed
- Blocks propagation of variants from parent if a component's
animateprop is set toAnimationControls.inheritcan be used to force inheritencetrueorfalse.
[2.7.3] 2020-09-25
Fixed
- Blocks touch viewport scrolling from draggable components on a per-axis basis.
- Reinstating
sideEffects: falsenow that theblockViewportScrollmethod has been removed.
[2.7.2] 2020-09-24
Added
createDomMotionComponentfor legacy browser support.
[2.7.1] 2020-09-23
Fixed
- Reverting
sideEffects: false, as viewport touch scroll blocking is a side effect.
[2.7.0] 2020-09-23
Added
- Duration-based springs.
[2.6.15] 2020-09-18
Fix
- Fixing dynamic type imports in generated types.
[2.6.14] 2020-09-18
Fix
- No longer unsetting transform motion values from
styleif their current value is0. - Correct
useDomEventtypes to allow anyEventTarget. - Fix memory leak error in
AnimatePresence.
Change
- Added
sideEffects: falsetopackage.json. - Added
bundlesizebundle budgeting.
[2.6.13] 2020-09-12
Fix
drag+layoutcomponents no longer reset position to center.
[2.6.12] 2020-09-11
Change
- Reduced full bundle size by 0.8kb by replacing
import * from "popmotion"with a named map of specifically just the easing functions.
[2.6.11] 2020-09-11
Fixed
- Reinstating default keyframes duration of
0.8seconds.
[2.6.10] 2020-09-10
Fixed
dragElastic={0}gesture end animations now work correctly.
[2.6.9] 2020-09-09
Fixed
- Ensure
AnimatePresencechildren re-render when children exit.
[2.6.8] 2020-09-08
Fixed
- Ensure useTransform uses the latest handler.
[2.6.7] 2020-09-08
Added
- Scale correction for
borderRadiusandboxShadowfound instyle. - Fixed conflict between
initialandstyle.initialwill now take precedence on initial render. - Support for CSS variables in scale-corrected
boxShadowstyles.
[2.6.6] 2020-09-03
Fixed
- Correctly mapping
timesoption to Popmotion'soffset.
[2.6.5] 2020-08-28
Changed
- Tweaked
restSpeeddefaults for smoother halting of physical (px) springs.
Fixed
- Critical-damped spring equations in Popmotion.
[2.6.4] 2020-08-28
Fixed
- Forcing array targets to use keyframes animations.
[2.6.3] 2020-08-27
Fixed
- Coercion to type
auto.
[2.6.2] 2020-08-26
Fixed
- Fixing detection of transition definitions and application of default transitions.
- When animating to/from
0and a unit type,0will be coerced to that unit type rather than needing unit conversion via DOM measurement.
[2.6.1] 2020-08-26
Fixed
- Updating
useDragControlsdocumentation to reflect that triggering events should beusePointerDown, as mouse events work differently on touch screens. AnimatePresence.customis passed throughout the tree for all exit variants.- Animating the
viewBoxattribute ofsvgelements now correctly sets theviewBoxattribute instead ofview-box.
Upgrade
- Typescript 4.
[2.6.0] 2020-08-24
Fixed
- Reverting relative
dragConstraintsresolution that was erroneously changed in2.1.3.
[2.5.5] 2020-08-20
Fixed
- Tweaked
restDeltainpopmotion@9.0.0-rc.7for smootheropacitytransitions.
[2.5.4] 2020-08-20
Fixed
- Fixed jumpy drag transitions resulting from existing animations not being correctly stopped.
[2.5.3] 2020-08-20
Fixed
- Improved velocity check for underdamped springs.
[2.5.2] 2020-08-20
Fixed
- Drag transitionEnd conflicting with layout animations.
[2.5.1] 2020-08-18
Fixed
- Occasional glitchy movement with
type: "spring"andrepeatType: "mirror"
[2.5.0] 2020-08-18
Added
- New repeat syntax
- Support for repeated springs
Fixed
- Fixed support for
nullin keyframes animations. - Fixed
delaypropagation.
[2.4.3] 2020-08-18
Changed
- Upgrading to Popmotion 9 RC.
[2.4.1] 2020-08-12
Fixed
- Adding defensive check for
visualElement.boxinMeasureLayout.
[2.4.0] 2020-08-12
Added
- Upgraded
useTransformto accept multipleMotionValues. - Support for
transformPerspectivestyle. - Internal:
_dragXand_dragYexternalMotionValuetargets for drag gesture. - Internal: Support for rotate in
AnimateSharedLayoutwithin Framer. - Internal:
onViewportBoxUpdate,onLayoutMeasureandonLayoutUpdateevent handlers added toHTMLVisualElement.
Fixed
- Fixed
AnimateSharedLayoutwithin React17.0.0-rc.0. - Drag now works directly on
xandytransforms unlesslayoutorlayoutIdare also set.
Changed
- Marked
useInvertedScaleas deprecated.
[2.3.0] 2020-07-28
Added
useMotionTemplate, a hook for combining MotionValues using a string template literal.
[2.2.0] 2020-07-27
Added
mcomponent is a lightweight, featureless version of themotioncomponent.MotionConfigis used to dynamically provide features tomcomponents via context.
[2.1.4] 2020-07-24
Added
- Drag Cypress test suite.
Fixed
- Application of relative drag constraints.
- User-set transforms were only updating when layout transforms updated.
- Fixing drag on SVG components.
[2.1.3] 2020-07-23
Fixed
- HSLA interpolation when either HSLA contains a decimal.
- Whitespace-syntax color support.
onLayoutAnimationCompletenow firing correctly.
[2.1.2] 2020-07-22
Fixed
- Respecting
transformTemplatefor layout animations. - Fixed
this.box is undefinederrors.
Changed
- Internal refactoring to improve tree-shaking and allow for dynamic feature injection.
[2.1.1] 2020-07-20
Fixed
- Performance improvements to layout delta calculations.
[2.1.0] 2020-07-17
Added
layout="position"for position-only layout animations.
[2.0.1] 2020-07-16
Fixed
- Fixed issue with draggable components staying stuck when they're getting render-thrashed.
[2.0.0] 2020-07-15
Added
layoutprop for automatic layout animations.AnimateSharedLayoutandlayoutIdfor shared layout animations.onMeasureDragConstraintsprop that fires whendragConstraintsare measured.useIsPresent, a read-only version ofusePresence.- Allow
dragConstraintsto be a ref that is smaller than the draggable element.
Removed
positionTransitionandlayoutTransitionprops (uselayout={true}instead).Pointtype in favour ofPoint2D.useAnimatedState: Moved to Framer library.dragOriginX,dragOriginYprops.stylefireas a dependency.
Fixed
- Removing a
MotionValuefromstylenow correctly unsets it from the element.
Changed
- Using
Proxyto generatemotioncomponents. This saves ~0.5kb from the bundle size and ensures compatibility with all DOM elements and Web Components. xandytransform values won't change as a result of a drag gesture as this now works via layout projection.- Drag events now report
pointas the pointer relative to the viewport, in line with other pointer events. - Changed build process and using Terser for uglification. Reduces bundle size by ~1.2kb. (@stokesman in #596)
[1.11.1] 2020-06-16
Fixed
- Using
useIsomorphicEffectforuseElementScrollanduseViewportScroll.(@thebuilder in #592)
[1.11.0] 2020-05-15
Added
- Added a
useElementScrollhook that allows the creation of scroll motion values for HTML elements. (@souporserious in #195)
[1.10.3] 2020-03-23
Fix
- Replacing the functionality of
DragControlse.preventDefault()with CSS and HTML attributes. (@inventingwithmonster in #495)
[1.10.2] 2020-03-23
Fix
- Fixing
PresenceChildlosing correct count of exiting children if it re-renders. (@inventingwithmonster in #490)
Changed
- Removed developer warning when using
usePresenceoutside of anAnimatePresenceblock.
[1.10.1] 2020-03-23
Fix
- Fixing
AnimatePresencechildren not re-rendering when their exiting siblings have been removed from the tree (which broke siblingspositionTransitionandlayoutTransition). (@inventingwithmonster in #489) - Adding
nullcheck forgetTranslateFromMatrix(@JoyalJoyMadeckal in #482)
[1.10.0] 2020-03-19
Added
AnimatePresencenow supports multipleusePresencechildren within a given sub-tree.
[1.9.1] 2020-03-06
Fixed
- Ensuring drag momentum animations happen on
_dragValueXand_dragValueYif provided. (@inventingwithmonster in #473)
[1.9.0] 2020-03-02
Added
usePresencehook. (@inventingwithmonster in #473)repositoryfield inpackage.json. (@iamstarkov in #469)
[1.8.4] 2020-02-05
Added
dragListenerprop to disable drag event listeners.
[1.8.3] 2020-01-28
Added
- Updated documentation for
DragControls.start.
[1.8.2] 2020-01-28
Downgrade
- Downgraded
api-extractorto@7.3as7.7.7brokeMethodname indexing.
[1.8.1] 2020-01-28
Added
- Updated documentation for
useDragControls.
[1.8.0] 2020-01-27
Added
useDragControlsallows imperative initiation of a drag gesture.
[1.7.3] 2020-01-24
Fixed
- Updated
transformTemplateto provide an empty string if all transform values are default.
[1.7.2] 2020-01-20
Fixed
- Changed definition of
staggerDirectionfrom1 | -1tonumberto reduce the need for casting externally-defined types.
[1.7.1] 2020-01-20
Added
- Added support for
TargetResolverinexittypes.
Fixed
- Filtering
onAnimationStartfrom forwarded props.
[1.7.0] 2019-12-12
Added
- Support for
prefers-reduced-motionvia theuseReducedMotionhook.
[1.6.18] 2019-12-10
Fixed
- Various
StrictMode-related bugs includinglayoutTransitionorigin calculation. - Only applying drag constraints during a
useEffectto allow render-triggered animations a chance to start (thereby blocking the application of constraints).
[1.6.17] 2019-11-21
Added
controls.setcan now accept a function that will resolve once for each child.
[1.6.16] 2019-11-21
Fixes
- Fixing
refhydration inuseLayoutEffect. (Note: This release effectively reverts1.6.10. Each child ofAnimatePresencewith a uniquekeyshould be given a uniqueref). - Moving callback ref mutation in
use-draganduse-pan-gestureto auseEffect.
[1.6.15] 2019-10-24
Added
- Quick start section to README.
[1.6.14] 2019-10-14
Fix
- Making position change detection more intelligent.
[1.6.13] 2019-10-14
Fix
- Fixing undefined
this.propserror forAnimatePresence.exitBeforeEnter.
[1.6.12] 2019-10-10
Fix
- Support strings in
motion.customfor Web Component support.
[1.6.11] 2019-10-09
Fix
- Inconsistency in handling
x/ybetween SVG and HTML. Now always a shorthand fortranslateXandtranslateY.
[1.6.10] 2019-10-09
Fix
- Fixing the use of externally-provided
refs with single-childAnimatePresencecomponents.
[1.6.9] 2019-10-08
Fix
- Exit variant propagation.
- Cancelling exit animations.
[1.6.8] 2019-10-02
Fix
- Fixed exit animation when
animate={useAnimation()}. - Fixed exit animations when another animation is playing concurrently and finishes first.
- Upgrade
stylefire@6.0.11to fixclipPathin Webkit. - Allow
motion.customto accept custom prop types. - Support clicks within draggable components on iOS Safari.
- Making
inheritpublic API.
[1.6.7] 2019-08-30
Fix
- Restoring React-style behaviour for transform
styleproperties when a componentisStatic.
[1.6.6] 2019-08-29
Fix
- Adding
@emotion/is-prop-validas an optional dependency to ensure we filter out arbitrary props passed along by Emotion and Styled Components.
[1.6.5] 2019-08-27
Fix
- Value-specific
delay.
[1.6.4] 2019-08-27
Upgrade
stylefire@6.0.10
[1.6.3] 2019-08-19
Fixed
- Ensuring
onDragEndalways fires after ifonDragStartfired.
[1.6.2] 2019-08-14
Fixed
- Invalid property in SVGs.
[1.6.1] 2019-08-12
Fixed
- Making
useInvertedScalepublic and changing const to function.
[1.6.0] 2019-08-12
Added
layoutTransitionEventInfonow passed as second argument toonHoverStartandonHoverEnd.useDomEventhook for attaching events directly to anElement.
Fixed
- Simplifying event system.
- Applying values in
animate.transitionEndif not initial animation. - Made drag constraints only apply if a value isn't animating.
- Don't throw error if
useInvertedScaleis provided arguments.
[1.5.0] 2019-08-02
Added
useInvertedScalefor inverting parent scales.
[1.4.2] 2019-07-31
Fixed
positionTransitionon exiting components withinAnimatePresence.
[1.4.1] 2019-07-30
Fixed
- Pan and drag gestures with
PointerEvent.
[1.4.0] 2019-07-29
Added
AnimatePresence.exitBeforeEnter.- Added explicit support for custom components as children of
AnimatePresence.
Fixed
- Fixing issue with drag constraints (ref-based) being reset, while dragging, on unrelated parent component updates.
- Updated rollup config to list
tslibas an external dependency. - Ensuring unmounting components don't call
onAnimationComplete. - Adding error message when no initial value is set, or can be read or inferred.
- Ensuring color alpha is always within bounds.
- Ensuring variants propagate on unmount.
[1.3.0] 2019-07-24
- Added
onAnimationStart.
Fixed
[1.2.6] 2019-07-23
Fixed
- Make sure
select,input,textarealoose focus when blocking default behaviour in a draggable element.
[1.2.5] 2019-07-23
Fixed
- Value type conversion for currently-hidden elements.
- Fixing unit type conversions when non-positional transforms are applied.
- Fixing variant propagation via
useAnimation()when the parent component has novariantsprop set. - Fixing unsetting
whileHoverandwhileTapif they containtransitionEndvalues. - Child components within variant trees now animate to
animateas set by their parent. - Checking animation props for array variants as well as strings.
- If unencountered value is animated, first attempt to extract an initial value from keyframes definition. Also upgrading
stylefireto gracefully handle transform requests.
[1.2.4] 2019-07-15
Added
isValidMotionPropfunction.
Fixed
- Improving types for
SVGTextElementcomponents.
[1.2.3] 2019-07-11
Fixed
- Don't load
positionTransitionfunctionality component server-side. - In development mode, ensuring all child keys are unique.
[1.2.2] 2019-07-11
Upgrade
- Typescript to
3.5.
[1.2.1] 2019-07-10
Fixed
- Removing re-entering children from exiting list in
AnimatePresence.
[1.2.0] 2019-07-09
Added
- Supporting
positionTransitionas a function that resolves when the component has moved. - Adding
dragOriginXanddragOriginYprops.
Fixed
- Excluding
positionTransitionfrom SVG type.
[1.1.4] 2019-07-08
Updated
- Exporting
AnimatePresenceProps.
[1.1.3] 2019-07-08
Fixed
- Fixing
positionTransitionon server-side.
[1.1.2] 2019-07-08
Fixed
- Upgrade to
AnimatePresencealgo.
[1.1.1] 2019-07-05
Changed
- Moving UMD global from
FramerMotiontoMotion. - Removed
@emotion/is-valid-prop, saving ~1.9kb from bundle. - Using a slimmed-down version of Popmotion, saving ~3kb from bundle.
- Removing
asyncmarkers, saving ~0.7kb from bundle.
Fixed
- Cancelling
dragandpangestures on component unmount. - Previously unseen props in
animateanimate correctly. - Fixing reading SVG attributes from DOM.
- Fixed unit type conversion not working with previously-undefined values.
- Calling
onAnimationCompletewhenwhileoverrides are unset. - Preventing initial animation if
animateis a map of props andinitial={false}. This went previously unseen as both values were equivalent, butonAnimationCompletewould fire on mount.
[1.1.0] 2019-07-03
Added
AnimatePresencecomponent for controlling mount/unmount animations.positionTransitionprop for animating when the layout of a component changes.
[1.0.5] 2019-07-02
Fixed
- Fixing SVG path props.
[1.0.4] 2019-07-01
Fixed
- Moving SVG path props to
MotionStyletype. - Changing
MakeMotionto accept eitherMotionValue<string>ORMotionValue<number>.
[1.0.3] 2019-07-01
Fixed
- Moving
dragConstraintsto a ref if a component re-renders mid gesture. - Only applying
dragConstraintson render if component isn't currently dragging.
[1.0.2] 2019-06-28
Fixed
- Making
whentype more permissive for passing in implicitly typed, pre-definedvariants. - Not blocking default browser behaviour when dragging is initiated on draggable element's
select,input,textareaelements.
[1.0.1] 2019-06-27
Fixed
- Fixing
useSpringunsubscriptions.
[1.0.0] 2019-06-26
Added
- Improved SVG support.
[0.20.2] 2019-06-20
Fixed
- Ensuring each
MotionValuereceives oneMotionValuesMapupdate subscriber.
[0.20.1] 2019-06-20
Fixed
- Adding
x/yMotionValues to theuseDragdependency list. - Ensure hover events only fire as a result of mouse interactions.
[0.20.0] 2019-06-18
Feature
- Allowing SVG
motioncomponents to acceptMotionValues via attributes. - Adding SVG attribute types to
Target.
[0.19.2] 2019-06-13
Fixed
- Detecting
originZas atransform-originvalue.
[0.19.1] 2019-06-13
Added
initial={false}to shadow contents ofanimatethereby disabling on mount animation.AnimationControls.setfor imperative setting of values.
Fixed
- Resolve animations only after a defined
delayto ensurevelocityis only resolved as an animation begins on a value.
[0.19.0] 2019-06-13
Upgraded
stylefire@5.0.0- ChangesoriginX/Ydefault to"50%".
[0.18.6] 2019-06-13
Added
- Production and prototype environment-specific tsdocs.
[0.18.5] 2019-06-07
Fixed
- Properly cleaning up event listeners in tap gesture.
- Only starting pan gesture when pointer has moved more than one point.
- Applying
transformPagePointtodragConstraintswhen it's aRefObject<Element>to ensure it works in scaled environments. - Fixing
dragElasticbehaviour whendragMomentum={false}.
[0.18.4] 2019-05-30
Fixed
- Preventing default browser behaviours on draggable elements.
[0.18.3] 2019-05-30
Fixed
- Fixing drag when a multitouch gesture starts.
[0.18.2] 2019-05-22
Fixed
- Application of
delay.
[0.18.1] 2019-05-21
Fixed
- Fixed regex detection for fallbacks containing a decimal.
[0.18.0] 2019-05-21
Added
dragConstraintscan now be set as aReact.RefObject.
Fixed
- Support CSS variables with metadata
- Fixing circular CSS dependencies
[0.17.2] 2019-05-15
Fixed
- Even if a
motioncomponent wasn't inheriting variant changes, it'd still register with its parent, meaning it'd be considered during stagger duration calculations. - Only firing
onDragEndif dragging has actually happened.
[0.17.1] 2019-05-13
Fixed
dragTransitionnow listed as auseDraggabledependency.
[0.17.0] 2019-05-09
Added
- Experimental
useAnimatedStateHook for animating arbitrary values.
[0.16.11] 2019-05-08
Fixed
- Disabling the animation of
zIndex. - Making components without variants or animation-controlling props invisible to
staggerChildren.
[0.16.10] 2019-05-07
Updated
- API
Fixed
- Variant propagation when rerendering children
[0.16.9] 2019-05-07
Fixed
- Using
transitionandtransitionEndas direct values on theanimateprop on subsequent renders. - Rounding
zIndex. AnimationControls.startnow accepts the sameAnimationDefinitionasValueAnimationControls.start.
[0.16.8] 2019-05-06
Fixed
- Cancelling pan gesture when the move events have no mouse button.
[0.16.7] 2019-05-06
Fixed
- Fixing propagation of unsetting variant overrides.
- Making variant inheritance more permissive.
[0.16.6] 2019-05-02
Fixed
- Improved handling of attempting to animate between non-animatable and animatable values.
[0.16.5] 2019-05-01
Added
- Adds array and object support to
transform.
Fixed
- Makes boxShadow and other complex value type support more robust.
- Fixing overwriting
transform.
[0.16.4] 2019-04-30
- Updating deps.
[0.16.3] 2019-04-30
Added
shadowtoCustomValueTypes.
[0.16.2] 2019-04-30
Fixed
- Fixed propagation of
initialinstaticmode. - Fixing animations from values that are read as "none".
[0.16.1] 2019-04-25
Fixed
- Filtering pointer events not from the primary pointer (ie non-left clicks for mouse).
- Fixing drag in Android devices by adding aggressive viewport scroll blocking. This will need dialling back down when it comes to open sourcing Motion so, for instance, a horizontal carousel doesn't block vertical scrolling.
[0.16.0] 2019-04-19
Added
customprop for dynamic variants.
Removed
useAnimationno longer takesvariantsordefaultTransitionarguments (provide these to the component).
Fixed
- Improving comparison for
animateprop to account for keyframe arrays. - Adding drag point in
onDragStartandonDragEndcallbacks.
[0.15.2] 2019-04-17
Added
- Support for CSS variables.
Fixed
onDragEndnot returning transformed point.- Fixing use of
variantsprop withuseAnimation.
[0.15.1] 2019-04-16
Added
HTMLMotionPropsandSVGMotionProps.
[0.15.0] 2019-04-16
Added
onPanSessionStartevent handler.
Changed
useViewportScrollValues=>useViewportScroll.
Added
easecan now be an array for keyframes animations.
Removed
easingsprop.
[0.14.3] 2019-04-12
Fixed
- Only firing
value.onChangewhen value actually changes.
[0.14.2] 2019-04-11
Fixed
- Updating
hey-listen.
[0.14.1] 2019-04-11
Added
- Explicit support for the
radiusvalue.
[0.14.0] 2019-04-10
Changed
- Making special value support configurable
[0.13.0] 2019-04-08
Changed
useTransformedValue=>useTransform
Added
transform(value, input, output, options)overload.
[0.12.2] 2019-04-08
Changed
- Added new methods to
safeWindowSSR window mocking.
Fixed
- Deleting unused props from
styleobject rather than setting toundefined. #99
[0.12.1] 2019-04-03
Fixed
sizeworks withwhilegestures.
[0.12.0] 2019-04-03
Changed
useCycle([...args])->useCycle(...args)
Added
staticcomponents reflect changes ininitial.
Fixed
- Dragging doesn't break during re-renders.
useCyclesetter is independent from render cycle.
Removed
useCycleno longer has the ability to start at a different index.
[0.11.1] 2019-04-02
Added
onDragTransitionEnd
Upgraded
- Popmotion libraries.
[0.11.0] 2019-04-01
Changed
value.addUpdateSubscription=>value.onChangevalue.addRenderSubscription=>value.onRenderRequest(and made internal)
Upgraded
popmotion@8.6.5
Fixed
- Variants propagate to children even if not present on parent.
[0.10.2] 2019-03-27
Changed
- Updating docs to avoid single-letter
eventvars.
[0.10.1] 2019-03-27
Fixed
- Fixing
TargetAndTransformtype to omit CSS-nativerotateproperty.
[0.10.0] 2019-03-26
Changed
press->whileTaphover->whileHover
[0.9.4] 2019-03-26
Fixed
- Fixing HTML types.
[0.9.3] 2019-03-25
Added
- Exporting
MotionTransformtype.
[0.9.2] 2019-03-22
Added
- Added support for
CustomValueTypeinunwrapMotionValue.
[0.9.0] 2019-03-22
Added
- Added
dragDirectionLockprop.
Removed
"lockDirection"fromdragEnabled.
Changed
- Renamed
dragEnabledtodrag.
[0.8.8] 2019-03-20
[0.8.7] 2019-03-20
Added
- Adding
transitionargument toanimation.start().
Fixed
- No longer fire tap gesture if parent is dragging.
- Adjusting default
inertiasettings to more naturally incorporate velocity. - Killing drag momentum on subsequent
pressDown. - Preventing pan velocity from adjusting draggable parents that have not received
dragPropagation. - Updating of
dragConstraintsrepositions the draggable element to adhere to the new values
[0.8.6] 2019-03-19
Added
Point.relativeTotransform
Fixed
- Statefull style bug.
- Fixing
Promiseresolution withanimate.start()when fired pre-mount.
[0.8.5] 2019-03-15
Fix
- Blocking extra gesture props from being passed to DOM.
- Upgrading
@popmotion/popcornto fix Jest bug.
[0.8.4] 2019-03-15
Fix
- Fixing
styleset asnull.
[0.8.3] 2019-03-14
Update
- Adding support for custom values.
[0.8.2] 2019-03-14
Update
- Updating tsdocs for
MotionValue.
[0.8.1] 2019-03-12
Update
- Updating dependencies.
[0.8.0] 2019-03-12
Changed
originX,originY,pathLength,pathOffsetchanged from percent to progress value types.
[0.7.5] 2019-03-11
Added
- Exporting
AnimationControls.
[0.7.4] 2019-03-11
Added
- Exporting
animationControlsandmotionValuefor internal use.
[0.7.3] 2019-03-08
Added
- Passing
panInfothrough toonDragStartandonDragEnd.
[0.7.2] 2019-03-07
Fixed
easingsproperty onkeyframesnow maps correctly to easing functions.
[0.7.1] 2019-03-07
Fixed
- Enforcing keyframes animation if target is array.
- Orchestration props in
transitionprop weren't being respected by variants with notransitionof their own.
[0.7.0] 2019-03-07
Added
- Animation targets can be set as
keyframes.
[0.6.8] 2019-03-05
Fixed
- Updating
dragConstraintswhen they change.
[0.6.7] 2019-03-04
Updated
- Removing GPU-acceleration for
staticcomponents. - Adding
customStylesplugin.
[0.6.6] 2019-02-29
Updated
stylefire@2.4.3
[0.6.4] 2019-02-22
Added
- Exporting
MotionContext.
Update
- Updated
popmotion@8.6.3to improve synchronisation across tweens when yoyoing.
[0.6.3] 2019-02-21
Fixed
- If
transformPagePointis present, transforming initial point.
[0.6.2] 2019-02-21
Fixed
- Recognising
presswhen it's the lone gesture.
[0.6.1] 2019-02-20
Fixed
- Fixed an issue where values set to
stylewould overwriteanimatevalues even if they hadn't changed.
[0.6.0] 2019-02-20
Added
staticprop. Setstaticon a motion component to prevent animation and interaction.
Removed
render
[0.5.2] 2019-02-20
Fixed
- Animating unit-converting values on mount.
[0.5.1] 2019-02-19
Added
- Exporting
MotionComponents,CustomMotionComponent,HTMLMotionComponentsandSVGMotionComponentstypes. - Exporting
safeWindow.
[0.5.0] 2019-02-19
Added
onDragevent listener- Exporting
MotionStylestype.
Changed
tap->press
[0.4.5] 2019-02-15
Fixed
- Fixing
originXandoriginYSSR. - Updating
styleprops to overwrite CSSrotate,scaleandperspective.
[0.4.3] 2019-02-14
Fixed
- Rendering
initialproperties via Stylefire when component mounts to ensure its in-sync with all transform values set ininitialthat might not later be rendered. - Exporting
htmlElements,svgElementsandcreateMotionComponentas their exclusion was causing errors with the output declaration file.
[0.4.2] 2019-02-14
Changed
- Exporting
useExternalRef.
[0.4.1] 2019-02-13
Changed
- Simplifying inline tsdocs.
[0.4.0] 2019-02-12
Changed
- Standardizing
(event, pointInfo)as signature for gesture callbacks.
Fixed
- Gesture priority bugs
[0.3.2] 2019-02-08
Changed
- Added TSDocs for
useCycle
[0.3.0] 2019-02-05
Changed
durationanddelayare now defined as seconds.tapActive->taphoverActive->hoverdrag->dragEnabled