chore(deps): update dependency react-native-reanimated to v4.5.3 - autoclosed - #306
Closed
renovate[bot] wants to merge 1 commit into
Closed
chore(deps): update dependency react-native-reanimated to v4.5.3 - autoclosed#306renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/react-native-reanimated-4.x
branch
3 times, most recently
from
July 28, 2026 17:49
e30a034 to
ad9a3db
Compare
GSTJ
added a commit
that referenced
this pull request
Jul 28, 2026
react and react-dom were open to bumps the SDK does not sanction. The workspace is hoisted, so #305's react 19.2.8 for apps/docs alone won the root node_modules and ran under jest beside the SDK's react-test-renderer 19.2.0, failing three of four suites on the peer assert. react-native-reanimated, react-native-worklets and react-native-screens were only held on the example app side. #306 took reanimated 4.5.3 in packages/modal, which installed a second copy beside the example app's 4.2.3 and asserted on its worklets 0.10.x - 0.11.x peer against the SDK's 0.7.4. Moving worklets up to match fails expo-doctor instead.
renovate
Bot
force-pushed
the
renovate/react-native-reanimated-4.x
branch
from
July 28, 2026 22:17
ad9a3db to
9cfb385
Compare
GSTJ
added a commit
that referenced
this pull request
Jul 28, 2026
…ine (#311) Two Renovate PRs are red on `react-native-magic-modal#test` for the same reason: each moves a version the Expo SDK picks. This adds the rules that stop them being re-proposed. #305 and #306 get closed against it. ## react and react-dom `renovate.json` already holds react-native, and the shared preset already disables react-test-renderer on the grounds that react's version is the SDK's to pick. The preset's Expo rule never lists react or react-dom though, so they stayed open. The workspace is hoisted, so whichever react wins the root `node_modules` is the one packages/modal tests against, whatever any single package.json says. #305 only edits `apps/docs/package.json`: ``` root node_modules/react 19.2.8 <- docs won the root root node_modules/react-test-renderer 19.2.0 <- SDK's, unchanged examples/kitchen-sink/.../react 19.2.0 <- nested, doctor stays quiet ``` @testing-library/react-native asserts the two match, so three of four suites died before running: ``` Incorrect version of "react-test-renderer" detected. Expected "19.2.8", but found "19.2.0". ``` react-test-renderer can't follow it up, since the preset disables it. Holding react costs nothing here. apps/docs is a static export (`next build`, then `serve out`), and 19.2.1 through 19.2.8 are all Server Components and Server Actions changes. ## reanimated, worklets and screens The example-app file rule only reaches `examples/kitchen-sink/package.json`, so Renovate kept proposing these on the packages/modal side alone. #306 took reanimated 4.5.3 there, which installed a second copy beside the example app's 4.2.3 and then asserted on its own peer: ``` reanimated 4.5.3 peers: react-native-worklets 0.10.x - 0.11.x expo 55.0.28 ships: react-native-worklets 0.7.4 [Reanimated] Your installed version of Worklets (0.7.4) is not compatible with installed version of Reanimated (4.5.3). ``` Moving worklets up to 0.10.3 to satisfy it turns the suites green, 36/36. expo-doctor then fails: ``` X Check that packages match versions required by installed Expo SDK package expected found react-native-worklets 0.7.4 0.10.3 ``` Worklets is a native module and isn't on the example app's `expo.install.exclude` list, only reanimated and gesture-handler are. So 4.5.3 cannot land while the repo is on SDK 55. react-native-screens sits in the same position and is held for the same reason. ## Verification Clean `node_modules`, rebased on main: - oxlint straight from `node_modules/.bin` in all three workspaces, exit 0. Planted an unused var first to confirm it exits 1. - format, typecheck, build, doctor 19/19, changelog:check all exit 0 - 36 tests across 4 suites - `renovate-config-validator` accepts the file Config only, so no E2E and no release. Proof, including both reproductions and the worklets experiment: [magic-modal/305-306](https://github.com/GSTJ/pr-assets-dump/tree/magic-modal-305-306-sdk-pins/magic-modal/305-306) | | | |---|---| | [#305 reproduced](https://github.com/GSTJ/pr-assets-dump/blob/magic-modal-305-306-sdk-pins/magic-modal/305-306/305.png) | [#306 reproduced](https://github.com/GSTJ/pr-assets-dump/blob/magic-modal-305-306-sdk-pins/magic-modal/305-306/306.png) | | [worklets aligned, doctor fails](https://github.com/GSTJ/pr-assets-dump/blob/magic-modal-305-306-sdk-pins/magic-modal/305-306/306-worklets.png) | [chain green here](https://github.com/GSTJ/pr-assets-dump/blob/magic-modal-305-306-sdk-pins/magic-modal/305-306/green.png) |
auto-merge was automatically disabled
July 28, 2026 23:07
Pull request was closed
Owner
|
Closing. #311 holds reanimated to the Expo SDK line. 4.5.3 in |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
4.2.3→4.5.3Release Notes
software-mansion/react-native-reanimated (react-native-reanimated)
v4.5.3: Reanimated - 4.5.3Compare Source
What's Changed
Full Changelog: software-mansion/react-native-reanimated@4.5.2...4.5.3
v4.5.2: Reanimated - 4.5.2Compare Source
What's Changed
Reanimated version supporting Worklets 0.11.
Full Changelog: software-mansion/react-native-reanimated@4.5.1...4.5.2
v4.5.1: Reanimated - 4.5.1Compare Source
What's Changed
useAnimatedKeyboardcrash "Can't change insets on an animation that is cancelled" (#9670) by @MatiPl01 in #9842Full Changelog: software-mansion/react-native-reanimated@4.5.0...4.5.1
v4.5.0: Reanimated - 4.5.0Compare Source
Key changes
More props supported by CSS Core Animation
Shadow (
shadowColor,shadowOpacity,shadowRadius,shadowOffset), background, and border (backgroundColor,borderColor,borderWidth,borderRadius) CSS transitions now run on iOS Core Animation.Using CSS Core Animation required enabling IOS_CSS_CORE_ANIMATION feature flag.
CSS Animations Pseudoselectors
CSS animations now support pseudo-selectors such as
:hover,:active, and:focus, with native Apple and Android backends alongside a web implementation.CSS Animations web support for SVG
Animating
react-native-svgcomponents is now available on web.SharedTransitionBoundary component
Introducing the
<SharedTransitionBoundary>component, which scopes shared element transitions to a subtree so only matching elements within the boundary animate together. Useful for isolating shared transitions between screens that would otherwise interfere.Other changes
react-native/../react-nativeresolution for aliases by @kitten in #9592_viewConfigin animated host lookup for RN < 0.86 by @MatiPl01 in #9680useHandlercontext lazily by @j-piasecki in #9334New Contributors
Full Changelog: software-mansion/react-native-reanimated@4.4.1...4.5.0
v4.4.3: Reanimated - 4.4.3Compare Source
What's Changed
Full Changelog: software-mansion/react-native-reanimated@4.4.2...4.4.3
v4.4.2: Reanimated - 4.4.2Compare Source
What's Changed
Android
useAnimatedKeyboardcrash "Can't change insets on an animation that is cancelled" by @piaskowyk in #9670strokeDasharrayby @MatiPl01 in #9719strokeDasharrayfrom the default keyframe endpoint by @MatiPl01 in #9845preserveMountedTagsagainstresolveViewthrowing by @audrius-savickas in #9649iOS
All platforms
jsPropsnot animating on native by @MatiPl01 in #9707perspectiveinterpolation NaN from the infinity default by @MatiPl01 in #9712_viewConfigin animated host lookup for RN < 0.86 by @MatiPl01 in #9680onStartinvalueSetteranimation detection by @tomekzaw in #9526Platform.OSto prevent crash in Bundle Mode by @MelloB1989 in #9525Types and build
build.gradle.ktsnot falling back to default ABIs by @tjzel in #9611-fno-pch-timestampso ccache can reuse the Android PCH by @lukmccall in #9749react-native-worklets0.10.x by @tjzel in #9699Full Changelog: software-mansion/react-native-reanimated@4.4.1...4.4.2
v4.4.1: Reanimated - 4.4.1Compare Source
What's Changed
Full Changelog: software-mansion/react-native-reanimated@4.4.0...4.4.1
v4.4.0: Reanimated - 4.4.0Compare Source
Key changes
iOS CSS Core Animation
Reanimated 4.4.0 introduces a new platform-backed CSS animation engine on iOS that runs animations
directly on Core Animation layers instead of going through the JS-driven update loop. It is hidden
behind the
IOS_CSS_CORE_ANIMATIONstatic feature flag.CSSPlatformTransitionwith iOS platform implementation by @MatiPl01 in #9325Animation Backend
A new Animation Backend has been integrated behind a feature flag, which will help greatly with the flow of updating the Shadow Tree in animations.
New useTimestamp hook
A new
useTimestamphook exposes the current frame timestamp as a Shared Value that updates everyframe with the time elapsed since the first frame, with an
isActiveflag to pause and resume updates.Precompiled headers on Android
Reanimated's native build on Android now uses precompiled headers (
ReanimatedPCH.h), significantlyreducing C++ compile times for both fresh and incremental builds.
Other changes
placeholderTextColorin synchronous props by @tomekzaw in #9409shadowColorin synchronous props by @tomekzaw in #9411shadowOffsetin synchronous props by @tomekzaw in #9412outlineColor,outlineOffsetandoutlineWidthin synchronous props by @tomekzaw in #9417borderBlockColor,borderBlockStartColorandborderBlockEndColorin synchronous props by @tomekzaw in #9418CSSPlatformAnimationabstraction by @MatiPl01 in #9278CSSPlatformTransitionabstraction by @MatiPl01 in #9324EXPERIMENTAL_PLATFORM_CSS_ANIMATIONStoIOS_CSS_CORE_ANIMATIONby @MatiPl01 in #9506ShadowNodeFamilyinstead ofShadowNodeinUpdatesRegistryby @tomekzaw in #9156ShadowNodeFamily::Sharedinstead ofShadowNodeFamily *inPropsMapandChildrenMapby @tomekzaw in #9184useInterpolateConfigfunction andInterpolateConfigandColorSpacetypes by @tomekzaw in #91500.85.0stable by @MatiPl01 in #9233StaticPropsRegistrymethods and props by @MatiPl01 in #9226withInitialValuesmethod by @MatiPl01 in #9232NativeEventsManagerby @j-piasecki in #8655withTargetValuesmodifier to default layout animations by @PiotrWszolek in #8848withInitialValuesfor layout transitions by @MatiPl01 in #9258withInitialValuesandwithTargetValuesfrom layout transitions by @MatiPl01 in #9259withTargetValuesto Layout Animations docs by @PiotrWszolek in #91684.3.0by @MatiPl01 in #9284scheduleOnUIcalled from the UI thread on Android by @MatiPl01 in #9343LoopOperationinterface and operation-based scheduling primitives by @MatiPl01 in #9346REACT_NATIVE_VERSION_MINORprovided by React Native instead of custom definition by @tomekzaw in #8412EXC_BAD_ACCESSinReanimatedModuleProxy::performOperationsduringAnimationFrameBatchinator::flushby @MatiPl01 in #9308HermesExecutorRuntimeAdapterby @tomekzaw in #9356ReactAndroid::hermestoolingprefab by @tomekzaw in #9360MessageQueueThreadby @tomekzaw in #9329_IS_FABRICvariable by @tomekzaw in #9375@DoNotStripannotations by @tomekzaw in #9372SynchronousPropsBufferSerializerinto#ifdef ANDROIDby @tomekzaw in #9395pushIntandpushDoublehelper functions in synchronous props serializer by @tomekzaw in #9397AnimatedStyletypes by @MatiPl01 in #9400animatedPropsin SVG not passed in initial render by @MatiPl01 in #9419animatedPropsshould take precedence over inline props by @MatiPl01 in #9422std::stofwithstd::stodin synchronous props logic by @tomekzaw in #9424LayoutAnimationsManager::transferSharedConfigby @tomekzaw in #9429constexprin feature flag check in synchronous props buffer preallocation on Android by @tomekzaw in #9440AnimationStyleInterpolatorFactoryallowing interpolated properties subset modification by @MatiPl01 in #9276CSSLoopAnimationabstraction for reanimated-loop updated CSS animation properties by @MatiPl01 in #9277CSSLoopTransitionabstraction for reanimated-loop updated CSS animation properties by @MatiPl01 in #9316CSSTransitionimplementation cleanup by @MatiPl01 in #9320EXPERIMENTAL_CSS_ANIMATIONS_FOR_SVG_COMPONENTSfeature flag by @MatiPl01 in #9501beginTimeto layer-local clock by @MatiPl01 in #9507EXPERIMENTAL_CSS_ANIMATIONS_FOR_SVG_COMPONENTSwith default true by @MatiPl01 in #9510IOS_CSS_CORE_ANIMATIONfeature flag to docs by @MatiPl01 in #9505New Contributors
Full Changelog: software-mansion/react-native-reanimated@4.3.1...4.4.0
v4.3.3: Reanimated - 4.3.3Compare Source
What's Changed
Full Changelog: software-mansion/react-native-reanimated@4.3.2...4.3.3
v4.3.2: Reanimated - 4.3.2Compare Source
What's Changed
Android
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.