unstale

npm / react-native-reanimated

react-native-reanimated

What changed in react-native-reanimated 3 to 4, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.

13 breaking1 security1 deprecations32 new APIs and options1 performance14 behavior and defaults2 tooling126 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.1.1 on npm

react-native-reanimated 4169 changes

Breaking changes 11

  • AnimatedRefOnJS is now named AnimatedRefOnRN.

    4.7.0release notes

  • AnimatedRefOnUI is now a Shareable read with .value instead of a function to call.

    4.7.0release notes

  • Fixes cover transition cancellation and restoration, removed transition properties, slow-animation handling, and several CSS parsing and animation edge cases.

    4.7.0release notes

  • Reanimated 4.7 supports React Native 0.86–0.88, pairs with Worklets 0.13.x, and no longer supports React Native 0.83–0.85.

    4.7.0release notes

  • The feature flag is gone because mutables always use Synchronizable state.

    4.7.0release notes

  • JSC runtime support is removed.

    4.4.0release notes

  • React Native compatibility is bumped to 0.86.

    4.4.0release notes

  • The TypeScript type now prevents Animated Styles from being passed to non-animated components, replacing a runtime check that could produce false positives.

    4.3.0release notes

  • The minimum supported React Native version is now 0.81.

    4.3.0release notes

  • On web, entering animations are no longer triggered when a view is exiting.

    4.2.1release notes

  • Compatibility support is added for React Native 0.82, and compatibility for React Native 0.78 is dropped.

    4.2.0release notes

Security 1

  • Makes obtaining the logger configuration safer.

    4.1.4release notes

Deprecations 1

New APIs and options 31

  • useAnimatedStyle now supports linear and radial gradients provided as objects or CSS strings, processed on the UI thread.

    4.7.0release notes

  • Adds a custom callback to the logger.

    4.7.0release notes

  • Enables experimental Android platform-driven CSS opacity transitions using ObjectAnimator, off the animation loop; the feature is disabled by default.

    4.6.0release notes

  • Adds a worklet utility that returns white or black, whichever has the higher WCAG contrast ratio against a given color; it also works on the JS thread.

    4.6.0release notes

  • On Android, opacity CSS transitions can run on the platform with ObjectAnimator, off the animation loop, when the feature flag is enabled.

    4.6.0release notes

  • CSS animations now support pseudo-selectors such as :hover, :active, and :focus on native Apple, Android, and web backends.

    4.5.0release notes

  • Pseudo-selectors can now enable a default prop value.

    4.5.0release notes

  • Shadow, background, and border CSS transitions now run on iOS Core Animation when the IOS_CSS_CORE_ANIMATION feature flag is enabled.

    4.5.0release notes

  • Animating react-native-svg components with CSS animations is now available on web.

    4.5.0release notes

  • Scopes shared element transitions to a subtree so only matching elements within the boundary animate together.

    4.5.0release notes

  • A new Animation Backend is integrated behind a feature flag to improve the flow of updating the Shadow Tree in animations.

    4.4.0release notes

  • Synchronous props now support borderBlockColor.

    4.4.0release notes

  • Synchronous props now support borderBlockEndColor.

    4.4.0release notes

  • Synchronous props now support borderBlockStartColor.

    4.4.0release notes

  • A feature flag enables iOS CSS animations to run directly on Core Animation layers instead of through the JS-driven update loop.

    4.4.0release notes

  • NativeEventsManager is exported for use by developers.

    4.4.0release notes

  • Synchronous props now support outlineColor.

    4.4.0release notes

  • Synchronous props now support outlineOffset.

    4.4.0release notes

  • Synchronous props now support outlineWidth.

    4.4.0release notes

  • Synchronous props now support placeholderTextColor.

    4.4.0release notes

  • Synchronous props now support shadowColor.

    4.4.0release notes

  • Synchronous props now support shadowOffset.

    4.4.0release notes

  • A hook exposes the current frame timestamp as a Shared Value, updated each frame with elapsed time since the first frame, and provides an isActive flag to pause or resume updates.

    4.4.0release notes

  • CSS animations now support SVG components and properties, including Path, Image, LinearGradient, RadialGradient, Pattern, Text, Polyline and Polygon; Path d supports special handling for path morphing.

    4.3.0release notes

  • Web layout animations now support originX and originY.

    4.2.1, 4.3.0release notesrelease notes

  • CSS transforms gain 2D and 3D transform matrix integration.

    4.2.0release notes

  • DynamicColorIOS values are supported.

    4.2.0release notes

  • The filter property is supported for animations, including CSS.

    4.2.0release notes

  • A getDynamicFeatureFlag function is added.

    4.2.0release notes

  • Static PlatformColor values are supported.

    4.2.0release notes

  • Shared Element Transition is available on the New Architecture behind a feature flag.

    4.2.0release notes

Performance 1

  • On Android, scheduleOnUI now short-circuits when called from the UI thread.

    4.4.0release notes

Behavior and default changes 14

  • Layout animations now use the new light-tree-based engine by default; apps with regressions can opt back into the previous engine with a feature flag.

    4.7.0release notes

  • Mutables always use Synchronizable state.

    4.7.0release notes

  • Improves touch-device hover handling, including SVG elements, opacity-zero views, hit testing, scrolling, and clearing hover in Android Modals.

    4.6.0release notes

  • CSS animation lifecycle callbacks now fire on iOS and Android, including cancellation when a view unmounts.

    4.6.0release notes

  • CSS animation lifecycle callbacks now fire on iOS and Android.

    4.6.0release notes

  • Reanimated stops taking over UIManagerAnimationDelegate.

    4.5.4release notes

  • SVG animations use CSS on web in minified builds.

    4.5.1release notes

  • Shared Values can now be used from Worklet Runtimes other than the UI Runtime.

    4.3.0release notes

  • The Synchronizable in Mutable optimization feature flag is now enabled by default.

    4.3.0release notes

  • Callbacks from the Gesture Handler hooks API are automatically workletized.

    4.2.0release notes

  • Transform strings can now be animated.

    4.2.0release notes

  • Transform origin processing now uses the native processTransformOrigin instead of the web version.

    4.2.0release notesrelease notes

  • Reanimated accepts Worklets 0.7.x as compatible, allowing developers to use that version with Reanimated.

    4.1.6release notes

  • Uses hermesvm instead of libhermes on React Native 0.82 and later.

    4.1.4release notes

Tooling 2

Fixes and other changes 108

  • Fixes exiting view removals not being flushed and exiting Layout Animations leaking views on Android with the mounting coordinator pull model.

    4.7.1release notes

  • Fixes crashes and memory corruption when a view flattens in the same commit in which its parent unflattens.

    4.7.1release notes

  • Fixes an Android crash if the React host is torn down while a CSS or layout animation runs in the background.

    4.7.1release notes

  • Fixes an Android crash with react-native-screens before 4.27 when removing a native stack screen containing a nested stack with header buttons.

    4.7.1release notes

  • Fixes Android shared element transitions casting props of a nested Text with a sharedTransitionTag to view props.

    4.7.1release notes

  • Skips synchronous prop updates for unmounted views to avoid throwing and logging mounting-layer exceptions on the UI thread.

    4.7.1release notes

  • Synchronous prop updates no longer reset to old values when a commit moves a view within its parent, or show an older value for one frame over a newer synchronous write.

    4.7.1release notes

  • Fixes a native Android crash caused by reading opacity from a nested Text's props as if they were view props.

    4.7.1release notes

  • Fixes an iOS crash when the app delegate does not declare window, as in apps using the UIScene lifecycle.

    4.7.1release notes

  • Fixes an Android crash when sensor events are labeled with a sensor type other than the registered one.

    4.7.1release notes

  • Prevents easing extrapolation when the first frame timestamp predates the animation start time, which could send the animated value orders of magnitude out of range for one frame.

    4.7.1release notes

  • Enables the JavaScript fallback on Windows.

    4.7.0release notes

  • Restores Jest support in consumer projects.

    4.7.0release notes

  • Calling measure on an unmounted ref now returns null and shows a warning.

    4.7.0release notes

  • This release fixes shared element transition bugs, including Android gestures inside SharedTransitionBoundary, touch blocking, stale restored colors, and percent translation resolution.

    4.7.0release notes

  • Prevents sticky headers from freezing animated styles.

    4.7.0release notes

  • Touch :active is dismissed once a press moves past the tap slop; support is also added for SVG elements.

    4.6.0release notes

  • Fixes transition timing, value persistence and routing, interpolation context, and Android text rendering during transitions.

    4.6.0release notes

  • Fixes Android entering-animation flashes, sticky headers during scroll, stale values after pauses, and other layout-animation update issues.

    4.6.0release notes

  • Stops throwing when LayoutAnimationConfig has non-element children.

    4.6.0release notes

  • CSS animation lifecycle callbacks now fire on iOS and Android.

    4.6.0release notes

  • CSS animation lifecycle callbacks now fire on iOS and Android.

    4.6.0release notes

  • CSS transition lifecycle callbacks now fire on iOS and Android.

    4.6.0release notes

  • CSS transition lifecycle callbacks now fire on iOS and Android.

    4.6.0release notes

  • CSS transition lifecycle callbacks now fire on iOS and Android.

    4.6.0release notes

  • CSS transition lifecycle callbacks now fire on iOS and Android.

    4.6.0release notes

  • Reanimated 4.6 supports React Native 0.83–0.87 and pairs with Worklets 0.12.x.

    4.6.0release notes

  • Fixes CSS animation of react-native-svg in minified web builds and adds pseudo-selector support and hit testing for SVG elements.

    4.6.0release notes

  • Allows narrow SharedValues in optional props.

    4.6.0release notes

  • Accepts the text prop in animated TextInput types.

    4.6.0release notes

  • Fixes an Android crash involving insets when an animation is cancelled.

    4.3.2 … 4.6.0release notesrelease notesrelease notesrelease notes

  • Fixes a crash caused by withheld exiting layout animations in the experimental proxy.

    4.3.4, 4.5.4release notesrelease notes

  • Fixes a crash when handleRawEvent receives a stale EventTarget with a null InstanceHandle.

    4.3.4, 4.5.4release notesrelease notes

  • Guards against a nil _performOperations block in REANodesManager.

    4.5.4release notes

  • Fixes jumping sticky headers on Android during scrolling.

    4.3.4, 4.5.4release notesrelease notes

  • Prevents animated views from reverting to stale values after an app pause or re-animation.

    4.3.3, 4.4.3, 4.5.3release notesrelease notesrelease notes

  • Fixes a crash involving withheld exiting layout animations in the legacy proxy.

    4.3.3, 4.4.3, 4.5.3release notesrelease notesrelease notes

  • Reanimated 4.5.2 supports Worklets 0.11.

    4.5.2release notes

  • Setting values in callbacks no longer causes recursive loops.

    4.4.2, 4.5.1release notesrelease notes

  • Empty-object style values are rejected only for supported props.

    4.5.1release notes

  • Opacity is restored for flaky entering animations under Reduce Motion on iOS.

    4.4.2, 4.5.1release notesrelease notes

  • Pseudo selectors are re-registered after a component remount.

    4.5.1release notes

  • Prevents an Android crash on empty CSS strokeDasharray from the default keyframe endpoint.

    4.3.2, 4.4.2, 4.5.1release notesrelease notesrelease notes

  • Fixes an Android ANR deadlock between the CSS updates-registry lock and Fabric commit.

    4.3.2, 4.4.2, 4.5.0release notesrelease notesrelease notes

  • Fixes animations freezing after upgrading to React Native 0.86.0-rc.3.

    4.5.0release notes

  • Prevents flashing to the default style when a CSS transition detaches on Android.

    4.3.2, 4.4.2, 4.5.0release notesrelease notesrelease notes

  • Prevents exiting views from getting stuck under heavy load on Android.

    4.4.2, 4.5.0release notesrelease notes

  • Android CSS :hover remains active while the pointer is over descendant views.

    4.5.0release notes

  • Fixes jsProps not animating on native.

    4.3.2, 4.4.2, 4.5.0release notesrelease notesrelease notes

  • Prevents layout animations cancelled before their start lambda ran from being resurrected.

    4.3.2, 4.4.2, 4.5.0release notesrelease notesrelease notes

  • Fixes layout animations running at 30fps in iOS release builds.

    4.4.2, 4.5.0release notesrelease notes

  • Re-runs mappers dirtied during a mapper run.

    4.4.2, 4.5.0release notesrelease notes

  • Fixes CSS perspective interpolation producing NaN from the infinity default.

    4.3.2, 4.4.2, 4.5.0release notesrelease notesrelease notes

  • Prevents an Android crash when CSS strokeDasharray has an odd length.

    4.3.2, 4.4.2, 4.5.0release notesrelease notesrelease notes

  • Fixes a memory leak when unmounting views mid-animation.

    4.3.2, 4.4.2, 4.5.0release notesrelease notesrelease notes

  • Prefers the resolved component ref for host lookup.

    4.3.2, 4.4.2release notesrelease notes

  • Fixes animations freezing after upgrading to RN 0.86.

    4.4.2release notes

  • Fixes the Gradle build script not falling back to default ABIs.

    4.4.2release notes

  • Prevents a crash on iOS double reload when the surface presenter has no scheduler.

    4.3.2, 4.4.2release notesrelease notes

  • Fixes cleanup of layout animation configs.

    4.4.2release notes

  • Re-adds LightNode before starting an exiting animation.

    4.3.2, 4.4.2release notesrelease notes

  • Uses optional chaining on Platform.OS to prevent a crash in Bundle Mode.

    4.3.2, 4.4.2release notesrelease notes

  • Guards preserveMountedTags against resolveView throwing.

    4.3.2, 4.4.2release notesrelease notes

  • Preserves the builder subclass type through static animation modifiers.

    4.4.2release notes

  • Fixes delay handling when cancelling an animation from a synchronous event.

    4.4.2release notes

  • Requires onStart in animation detection.

    4.3.2, 4.4.2release notesrelease notes

  • Supports legacy _viewConfig in animated host lookup for React Native versions below 0.86.

    4.3.2, 4.4.2release notesrelease notes

  • Fixed a mapperRun race condition.

    4.4.1release notes

  • Animated.FlatList now forwards refs correctly under React 19.

    4.4.0release notes

  • Fixes spring jitter.

    4.3.4release notes

  • Commits CSS backwards fill during a positive animationDelay.

    4.3.2release notes

  • Fixes Jest environment detection.

    4.3.2release notes

  • Guards StaticPropsRegistry against cross-thread access.

    4.3.2release notes

  • Fixes a race condition in animation cancellation.

    4.3.1release notes

  • Fixes CSS props reverting when a CSS transition detaches.

    4.3.1release notes

  • Fixes race conditions in registries.

    4.3.1release notes

  • Fixes a Unistyles flattening regression introduced in 4.3.0.

    4.3.1release notes

  • Fixes useScrollOffset with renderScrollComponent.

    4.3.1release notes

  • Nested animatedProps objects are now supported correctly and cleaned up correctly.

    4.2.1, 4.3.0release notesrelease notes

  • CSS transitions now work when a prop is added or removed, and no longer flicker when transitionProperty changes.

    4.3.0release notes

  • Passing negative values to filter no longer crashes on iOS.

    4.3.0release notes

  • A fix addresses errors thrown by Next.js during hydration.

    4.2.2, 4.3.0release notesrelease notes

  • The strict type definition for SharedValue.modify is fixed.

    4.3.0release notes

  • useHandler now works on web without the Babel plugin.

    4.2.2, 4.3.0release notesrelease notes

  • Web entering animations are no longer triggered when a view is exiting.

    3.19.5, 4.3.0release notesrelease notes

  • Fixes commits during the Android draw pass.

    4.1.7, 4.2.3release notesrelease notes

  • Fixed incorrect color alphas and crashes when this feature flag is enabled.

    4.2.2release notes

  • Added support for React Native 0.84.

    4.2.2release notes

  • The animation names array order now updates when the keyframes order changes.

    4.2.1release notes

  • Missing style props in the config no longer cause the TypeScript compatibility check to fail.

    4.2.1release notes

  • Settled animations force a render so animated styles synchronize back to React.

    4.2.0release notes

  • CSS animations no longer finish early when animationIterationCount is fractional.

    4.2.0release notes

  • CSS boxShadow interpolation is corrected, and Android supports animating only one boxShadow property.

    4.2.0release notes

  • Fixes invalid default transform values, perspective interpolation near zero, and crashes caused by incorrectly thrown errors.

    4.2.0release notes

  • Fixes web layout animation parsing and views disappearing with StrictMode, and ensures callbacks run when ReducedMotion is on.

    4.2.0release notes

  • Spring Animation user configuration is merged safely.

    4.1.4, 4.2.0release notesrelease notes

  • Passing the string none for the SVG fill property no longer crashes.

    4.2.0release notes

  • Transparent color interpolation and CSS transition behavior are corrected, including an Android crash fix.

    4.2.0release notes

  • Fixes useAnimatedRef breaking on SectionList.

    3.19.4, 4.1.4, 4.2.0release notesrelease notesrelease notes

  • Fixes web crashes when there is no DOM element, along with other issues.

    4.1.5release notes

  • Removes the warning about a missing animationName CSS prop.

    4.1.4release notes

  • Exports the correct createAnimatedComponent, so developers can import and use the intended API.

    4.1.4release notes

  • Fixes CSS animations restarting when navigating between screens on web.

    4.1.4release notes

  • Uses the correct color processor in CSS animations and transitions.

    4.1.4release notes

  • Fixed disappearing views when exiting layout animations are used on web with strict mode.

    3.19.4, 4.1.4release notesrelease notes

  • Fixes inline props processing.

    4.1.4release notes

  • Fixes parsing of layout animations on web.

    4.1.4release notes

  • Implements correct interpolation for transparent colors.

    4.1.4release notes

react-native-reanimated 321 changes

Breaking changes 2

New APIs and options 1

  • Added CellRendererComponentStyle support to Animated.FlatList.

    3.18.1release notes

Fixes and other changes 18

  • Fixes an issue involving multiple surfaces.

    3.19.5release notes

  • Web layout animations now support originX.

    3.19.5release notes

  • Web layout animations now support originY.

    3.19.5release notes

  • Fixed entering layout animations not working on Android.

    3.19.4release notes

  • Fixed the Keyframe mock.

    3.19.4release notes

  • Fixed web crashes when there is no DOM element.

    3.19.4release notes

  • Fixed precision errors that could keep an animation running forever.

    3.18.1release notes

  • Fixed layout animations on Android.

    3.18.1release notes

  • Fixed dynamic updates of layout animations.

    3.18.1release notes

  • Added package support for React Native 0.81.

    3.18.1release notes

  • Fixed reparenting.

    3.18.1release notes

  • Fixed sticky headers.

    3.18.1release notes

  • The warning no longer appears on unmount.

    3.18.1release notes

  • Fixed updates on every render when dependencies have not changed.

    3.18.1release notes

  • Fixed crashes when animatedRef is uninitialized and failures after delayed ref initialization.

    3.18.1release notes

  • The hook now works after delayed ref initialization.

    3.18.1release notes

  • Fixed layout animations that depend on window size not working.

    3.18.1release notes

  • Fixed zombie views when a parent is moved.

    3.18.1release notes