v0.85.0-rc.0
Breaking
- : Removing deprecated type aliases. Use the type directly. (796a9a8922 by @sammy-SC)
- : Removing deprecated type aliases. Use the type directly. (1813df743d by @sammy-SC)
- Move Jest preset to new
react-native/jest-presetpackage (c4ae05534a by @kitten) - Remove deprecated
StyleSheet.absoluteFillAPI (5681db09b8 by @huntie) - Drop support for EOL Node.js lines and old minors. (c9c601d61a by @robhogan)
Android specific
- Re-added
receiveTouchestoRCTEventEmitterwith a default no-op implementation to avoid breaking ecosystem libraries (67db89d08a by @javache) - Deprecated UIManagerHelper.getEventDispatcherForReactTag and UIManagerHelper.getEventDispatcher(ReactContext, UIManagerType Int), use getEventDispatcher (4e5d45f4db by @javache)
- Stub UIImplementation class, this class is unused in the new architecture (fbe15f6605 by @mdvacca)
- Make ReactTextUpdate internal (faebee4338 by @NickGerleman)
iOS specific
Added
- Added missing tests for Standalone fusebox shell (e5d720d98d by @chicio)
- [TypeScript] Add missing
onPressMoveprop to<Pressable />(d07318226d by @retyui) - AnimationBackend now cleans-up the AnimatedPropsRegistry after the js sync when
updateRuntimeShadowNodeReferencesOnCommitThreadis enabled (b38428c9bc by Bartlomiej Bloniarz) - Animation Backend examples in RNTester (149a4b8dcd by Bartlomiej Bloniarz)
- Added a synchronization mechanism for the layout information between the React branch and the main branch of the ShadowTree (c8d498d62d by @j-piasecki)
- Upstream useAnimatedColor and useAnimatedValueXY (b92d37879e by @zeyap)
- Create featureflag viewTransitionEnabled (d7a1d080c2 by @zeyap)
- AnimationBackend docs (f3678f51d9 by Bartlomiej Bloniarz)
- Added tests for
PressabilityonHoverOutproperty (de5994817d by @chicio) - Added support for transform operations. (58b7b052c0 by @coado)
- Support multiple CDP connections to one React Native Host (diff 2 of 2) (f04659972c by @motiz88)
- Support multiple CDP connections to one React Native Host (diff 1 of 2) (534c06f3c8 by @motiz88)
- TextInput onChange event types now include optional selection data (c1f5445f4a by @alanleedev)
- Updated
AnimationBackendusages to useAnimationTimestamp(2a4a54ae6c by Bartlomiej Bloniarz) std::mutextoAnimationBackendto protectstart,stopandcallbacks. (4064b89867 by Bartlomiej Bloniarz)RCTAnimationChoreographertoRCTScheduler(019c9a7d8f by Bartlomiej Bloniarz)- Added
EventEmittertoreact-nativeexports. (f7cd8c4c1c by @yungsters) - Animated calls
AnimationBackend::triggerto push updates from. events to the mounting layer (ac06f3bdc7 by Bartlomiej Bloniarz) - Animated can now prompt the backend to push changes to the shadowTree on the JS thread, making RSNRU update the ShadowNode references held by the react renderer. (f9e94c0502 by Bartlomiej Bloniarz)
- Moved
shadowNodeFamily_from a map inNativeAnimatedNodesManagertoPropsAnimatedNode(af96497b54 by Bartlomiej Bloniarz) - TextInput onChange event now includes selection data (cursor location) on iOS and Android (162627af7c by @alanleedev)
Android specific
ReactFontManager.customFontFamiliesproperty to query registered custom font family names (c3acbc424d by @vonovak)- React Native DevTools: Restore request payload previews on Android (cc44e96e0b by @huntie)
- Make DevSupportHttpClient public for custom dev-support HTTP header registration (58d94863f8 by @cortinico)
- Public DevSupportRequestHeaders API for registering custom dev-support HTTP headers (e0d34b254a by @cortinico)
- Allow specifying dev server ip via gradle property (6f54846a08 by @amartinz)
- Add Unstable DrawCommandSpan Usable with PreparedLayoutTextView (ad8ac5e176 by @NickGerleman)
- Decouple ReactScrollViewHelper from kt NativeAnimated (0cde8ed0bb by @zeyap)
- Re-added prefabPublishing=true to make Android build from source work again (e8eb37414e by @chrfalch)
- Add
StateWrapperto C++ fbjni types (99b328bffa by @mrousavy) - Add
scrollsChildToFocusprop to ScrollView to control automatic scrolling when a child receives focus (d9ee4bb0aa by @johankasperi)
iOS specific
- Added support for clang virtual file system in React.XCFramework (f0422abd23 by @chrfalch)
Changed
- React Native DevTools: Page targets returned from
/json/listwill no longer setprefersFuseboxFrontend(421de23470 by @huntie) - Metro bump to ^0.84.0 (58ed78fec1 by @robhogan)
- Text outside the bounds of a borderRadius is now hidden by default (2111bec8d5 by @NickGerleman)
- Text Can Conditionally Use "RCTSelectableText" Native Component (a175bff10a by @NickGerleman)
- The JS revision merge now is scheduled on the main thread (47e5e6c394 by @j-piasecki)
- Changed how React changes are commited to the Shadow Tree (behind a feature flag) (45b4817414 by @j-piasecki)
- Refactor how shadow tree revisions are promoted as latest for JS consistency (4a7bc4c0e7 by @j-piasecki)
- Suppress LogBox warnings and errors during CDP performance tracing (a308014d87 by @emily8rown)
- Extracting shared logic for fuseboxSessionObserver into reusable components (b0013ea22a by @emily8rown)
- Migrated
Pressabilitytests to Jest modern timers (7dd2d255de by @chicio) - Rename workflow job IDs from kebab-case to snake_case (1ff071544e by @emily8rown)
createDevMiddlewarenow acceptsstring | URLforserverBaseUrl(10709f427d by @emily8rown)- Changed Flow type for
URLconstructor to acceptURLas first argument, matching the second argument type (678f7a9cfb by @emily8rown) - React Native DevTools: Enable native macOS window merging (34b3c108bc by @huntie)
- Enable -DRN_USE_ANIMATION_BACKEND by default (4cfb2ee468 by @zeyap)
AnimationChoreographerinterface with an implementation for fantom tests (f8564b47fd by Bartlomiej Bloniarz)cancelAnimationFrame,clearImmediate,clearTimeoutandclearIntervaldo nothing If there is no callback associated the given handle (9d3cc383ba by @retyui)- Logs created by
console.errorthat begin with "Warning: " will no longer be treated as warnings. These call sites should migrate to usingconsole.warninstead. (5ab418460b by @yungsters) - Make React Native consume 250829098.0.6 (4fb33022bc by @cipolleschi)
- Changed debugger proxy to only permit connections from localhost. (f34b8702db by @yungsters)
- Importing
hairlineWidthno longer eagerly initializes thePixelRatioTurboModule. (e11a2f07e8 by @yungsters) - Remove "JavaScript logs have moved!" notice from dev server CLI (4bd62a1d41 by @huntie)
Pressableno longer unmounts event listeners in a hiddenActivity. (c295ec2261 by @yungsters)
Android specific
- CDP: The
deviceNamefield in app metadata is now prefixed with the manufacturer (9b906753d9 by @huntie) - Gradle to 9.3.1 (319e589d3d by @cortinico)
- Add Sonatype Central repository for users of nightly builds only (47c3ebe23f by @sergeich)
- Log error when unsupported type is passed to interpolation outputRange (30fd0c4ac8 by @zeyap)
- Updated the
nestedScrollEnabledprop to default to true if the ScrollView defines arefreshControl(95bac85b5a by @Abbondanzo) - Updated documentation for GuardedFrameCallback class (dfcb56dfea by @mdvacca)
iOS specific
- Changed umbrella header template to use angled import syntax (2b66a9a622 by @chrfalch)
Deprecated
- Deprecated
AccessibilityInfo.setAccessibilityFocusin favor ofAccessibilityInfo.sendAccessibilityEvent(36a0d9ef63 by @Abbondanzo)
Android specific
- Deprecate NativeViewHierarchyOptimizer as part of Legacy Architecture cleanup (352d73bef0 by @mdvacca)
iOS specific
- Deprecate
RCTHostRuntimeDelegateand merge intoRCTHostDelegate(4626732f5b by @tsapeta)
Removed
- Stub UIViewOperationQueue and remove its usages (7de3dbe1c8 by @mdvacca)
AnimationBackendChoreographer,AndroidAnimationChoregrapher(bb7c0f7c5f by Bartlomiej Bloniarz)
Android specific
- Remove deprecated CatalystInstanceImpl (0889f7d774 by @mdvacca)
- Removed Paper-specific event dispatching methods. (05d64d9316 by @javache)
- Stub out NativeViewHierarchyManager (Legacy Architecture) (c2156a835f by @mdvacca)
- Remove Deprecated ReactTextInputShadowNode (d5399dd40d by @NickGerleman)
- Removed support for ReactZIndexedViewGroup (81acf78f81 by @javache)
iOS specific
Fixed
- Babel-preset: Don't override explicitly-passed
devconfig if obsoletewithDevToolsis missing (c5a38ab285 by @robhogan) - Fix memory leak in TextInput (5229e507e1 by @mobinni)
- Fixed isFocused false positive (42cd0f0414 by @chicio)
- Fix Babel transformer changing
BABEL_ENVas a side effect (88d40dcda3 by @robhogan) - Fixed crash in
cloneMultiplewhen families have no path to root (54b4cb5e89 by @coado) - When using Image with a
uri,widthandheightthe default dimensions were being lost (dd3c20057b by @javache) - Fixed TypeError when serializing arbitrary transform operation (8067f7b353 by @coado)
- Send network events to all CDP clients with the Network domain enabled (93a43c90ce by @motiz88)
- Reaching Metro from Debugger on urls other than localhost:8081 and 127.0.0.1:8081. (3c7b4881dd by @vzaidman)
- (animationbackend) add default in switch statements (66f6146f6f by @zeyap)
- Typo on maestro ios gh action for jdk step (0344c0c9cb by @gkartalis)
- Fix test build breaks after GoogleTest update (2a776b1f65 by Tal Benesh)
Android specific
- Prevent Native Animated tracking spring crash when tracked
toValuenode is detached. (45de7109fe by @kmsbernard) - Fix thread-safety crash in
DynamicFromArrayby usingThreadLocal<SimplePool>instead of a sharedSimplePool, matching the existing fix inDynamicFromMap(21fae86546 by @edwii-zhu) - Restore getUIImplementation() stub for backwards compatibility with third-party libraries (e5d2d951de by @sammy-SC)
- File:// URIs passed to fetch() or XMLHttpRequest no longer fail (#54626) (e76a6e2ef4 by @bhamiltoncx)
- Sync bundling progress between Metro cli and app hints (56e1710b73 by @vzaidman)
- Fix included-build
gradle.propertiesresolution for monorepos by reading from parent Gradle start parameters (projectDir/currentDir) before falling back to../../android/gradle.properties, sohermesV1Enabledcan be inherited correctly. (c5ae0c820a by @Titozzz) - Fix image content disappearing on API 24 (Nougat) when antialiased border radius clipping is applied (51ec52e806 by @Abbondanzo)
- Fix null pointer crash in FabricUIManagerBinding::driveCxxAnimations by adding null check for scheduler (349cf1595b by Dileep Siva Sai Nallabothu)
- Provide symbol fallbacks for
inspector-modern/chrome/Registration.hwhen HermesV1 is disabled. (5ee695ad8f by @tjzel) - Image fadeDuration=0 not working with props 2.0 enabled (3fb5c0bc02 by @hannojg)
- Validate module names in codegen (a748a405b6 by @RSNara)
- Fixed bug where joystick could still scroll when scrollEnabled is false (c51b9698c7 by William Khoe)
- ReactPlugin.kt always setting
hermesV1Enabledtotrue(45896674d1 by @tjzel) - Fixed so that all build types get the HERMES_V1_ENABLED flag (8d68b11005 by @chrfalch)
- Fix crash with setting certain
<Text>props back toundefinedwhen usingenablePropsUpdateReconciliationAndroidfeature flag (50289e3add by @hannojg) - FontVariants
stylistic-{num}not being propagated correctly (9353eb55b8 by @dragoncodes) - Set accessibilityRole to "link" for pressable Text components by default (68e5b4ee9f by @fabriziocucci)
- Properly set view.setEnabled() based on accessibilityState.disabled (fc66884d73 by @fabriziocucci)
- Reset OnClickListener to null when recycling views to avoid accessibility tools finding views with incorrect state (04bdebc585 by @fabriziocucci)
- Reset isClickable to false when recycling views to avoid accessibility tools finding views with incorrect state (07c0539cb8 by @fabriziocucci)
- Capture idle callback before running it (90e48d6031 by @mozzius)
iOS specific
- Fixed
transformOriginusing stale layout dimensions from recycled views, causing incorrect transform positioning (0eb5e652a2 by Mazin Zakaria) - Not crashing on network issues with connecting to DevServer (ec29c292e0 by @vzaidman)
- Sync bundling progress between Metro cli and app hints (e112934f2e by @vzaidman)
- Fixed replace script deleting the react-vfs.yaml file on iOS (11e257cec0 by @chrfalch)
- Fix expo-image-manipulator cropped image orientation (978d5a2d4f by @mlazari)
- Add
nkfandbase64as ruby dependencies (51c965883f by @kimchi-developer) - Fixed edge-case with animating non-layout props through the
commitUpdatespath. (31f215a421 by @coado) - Refactored header files generator for prebuilt React framework (3fad7dc13d by @chrfalch)
- Regression from #54948 preventing
pod install --project-directoryfrom working properly (9f686f2014 by @kitten) - Allow absolute react-native paths to be passed to
use_react_native!in project podfiles (33641f09fa by @kitten) - Resolves a rare race-condition that can trigger in RCTImageComponentView. (3b46755b3b by Ryan Frawley)
- Ensure accessibilityElementsHidden prop is respected in recursive accessibility label aggregation (b60f533acc by Max Polevy)
-
- [iOS] [Fixed] - Fix unused exception parameter compile error in RCTUIManager catch block in certain build mode (58bc6c3e38 by Yannick Loriot)
Security
- Bump to
chromium-edge-launcher@^0.3.0to droprimraf(1f2312687b by @kitten)
Android specific
iOS specific
Unknown
- Release 0.85.0-rc.0 (3e2367c58d by @react-native-bot)
- Do not use hermesNightly on the release branch (c35a22db2b by @cortinico)
- Introduce 'Determine Hermes build flag' step (111bd59db5 by @fabriziocucci)
- Bump hermes version (4379f21bd7 by @alanleedev)
- Fix CQS signal modernize-use-designated-initializers in xplat/yoga/yoga/algorithm (4ef7ac3136 by generatedunixname1587093422349604)
- Migrate
YogaNodeto Kotlin (cd27b7e1a8 by @mateoguzmana) - Transform all remaining utility types (cd3a9c55c1 by @marcoww6)
- Transform mixed to unknown (60f9bfd546 by @marcoww6)
- Transform $ReadOnlyArray to ReadonlyArray 18/n (92c32780f1 by @marcoww6)
- Transform $ReadOnlyArray to ReadonlyArray 17/n (7051a07c63 by @marcoww6)
- Transform
$ValuestoValues(94383613d8 by @marcoww6) - Transform $ReadOnly to Readonly 38/n (41efc3b588 by @marcoww6)
- Transform
mixedtounknownin xplat/js (625d702fec by @marcoww6)
Android Unknown
- Migrate
YogaConfigJNIBaseto Kotlin (9db85e7503 by @mateoguzmana) - Migrate
YogaPropsto Kotlin (2e12cbdfb3 by @mateoguzmana) - Translation auto-update for batch 0/61 on master (26da0fa509 by Intl Scheduler)
iOS Unknown
- Fix TypeError in LogBoxInspectorReactFrames on Windows/macOS (995879ca9b by @jisoo-hisoo)
Failed to parse
- Reset contentInset in scroll view prepareForRecycle (984dbe83d8 by @sandeee1928)
- Make metro accept tls server config (8915d81a5b by @vzaidman)
- (AI Generated) [RN][Android] Merge ReactTextAnchorViewManager into ReactTextViewManager (f67f6a2448 by @NickGerleman)
Hermes dSYMS:
Hermes V1 dSYMS:
ReactNativeDependencies dSYMs:
ReactNative Core dSYMs:
You can file issues or pick requests against this release here.
To help you upgrade to this version, you can use the Upgrade Helper ⚛️.
View the whole changelog in the CHANGELOG.md file.