diff --git a/CHANGELOG.md b/CHANGELOG.md index 3bdee390e30..3eafffdfcb9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,159 @@ # Changelog +## v0.86.0-rc.0 + +### Added + +- **Accessibility**: AccessibilityInfo: added missing tests for Promise based methods, align null checks and error message code style ([8fc503d780](https://github.com/facebook/react-native/commit/8fc503d7806ff83c6001cc4e0fe7b8b85a804245) by [@chicio](https://github.com/chicio)) +- **Animated**: Suspense tests for the Animation Backend ([8101fc776d](https://github.com/facebook/react-native/commit/8101fc776d842b8b92a516f74831e2056bc34aa6) by Bartlomiej Bloniarz) +- **Animated**: Use weak_ptr when calling pullAnimationMutations in a callback scheduled with the Animation Backend ([42d98b5830](https://github.com/facebook/react-native/commit/42d98b58302dafb484a494ab4fc199f88f215c1d) by Bartlomiej Bloniarz) +- **Dev Server**: Call methods on `global.__BUNDLE_LOADER_REPORTER__`, if given, during dev-mode bundler loads from Metro ([1e0c1f886b](https://github.com/facebook/react-native/commit/1e0c1f886ba9de7541eeb753091715011c515c00) by [@robhogan](https://github.com/robhogan)) +- **React Native DevTools**: Add new custom track for React Native Renderer operations in React Native DevTools performance traces ([0b1def9ce5](https://github.com/facebook/react-native/commit/0b1def9ce5f6f3ea66d193fd254cfcb4c16d6e5a) by [@rubennorte](https://github.com/rubennorte)) +- **React Native DevTools**: Add new custom track for React Native Renderer operations in React Native DevTools performance traces ([29bc8f1acb](https://github.com/facebook/react-native/commit/29bc8f1acb2cc9a4016c4bdf032f5b53474558bf) by [@rubennorte](https://github.com/rubennorte)) +- **React Native DevTools**: Add new custom track for React Native Renderer operations in React Native DevTools performance traces ([9130df6773](https://github.com/facebook/react-native/commit/9130df67735f01c385296e155300dd8afebae6be) by [@rubennorte](https://github.com/rubennorte)) +- **React Native DevTools**: Add new custom track for React Native Renderer operations in React Native DevTools performance traces ([c26a4875ea](https://github.com/facebook/react-native/commit/c26a4875eaaf3dcf9a6f28ac87df0a07a1cf4b37) by [@rubennorte](https://github.com/rubennorte)) +- **React Native DevTools**: Add support for light/dark mode emulation via `Emulation.setEmulatedMedia` ([11a5432cb2](https://github.com/facebook/react-native/commit/11a5432cb283b6e7b59bf785602fff9082af5bff) by [@huntie](https://github.com/huntie)) +- **Runtime**: Add `unstable_getViewTransitionInstance` to UIManagerBinding ([d8820a403b](https://github.com/facebook/react-native/commit/d8820a403bb7241f4d2dd4b1006079af049d68e3) by [@zeyap](https://github.com/zeyap)) +- **Runtime**: Add UIManagerViewTransitionDelegate interface and View Transition APIs ([cdad57d8f1](https://github.com/facebook/react-native/commit/cdad57d8f1a326f2ce164161e1d28ff082fd68b4) by [@zeyap](https://github.com/zeyap)) +- **Runtime**: Add viewport size to `LayoutContext` ([d38c756529](https://github.com/facebook/react-native/commit/d38c756529d4c1076d0646dc75643b78ba2bcaaa) by [@paradowstack](https://github.com/paradowstack)) +- **Runtime**: ViewTransitionModule for React Native View Transitions ([f81f73e5a0](https://github.com/facebook/react-native/commit/f81f73e5a02e792cfaf2c010dea2ddfb20cb3e7f) by [@zeyap](https://github.com/zeyap)) +- **Text**: Add E2E tests for Text `boxShadow` and textWithLinkRole ([b172f46f0d](https://github.com/facebook/react-native/commit/b172f46f0d0413dcaedc8c901d79e3932cb26589) by [@NickGerleman](https://github.com/NickGerleman)) +- **View**: Add E2E tests for Filter blur-with-overflow, drop-shadow, and animated-blur ([66975aa3d5](https://github.com/facebook/react-native/commit/66975aa3d52a05189b07f8f22eec86dbbfab0240) by [@NickGerleman](https://github.com/NickGerleman)) +- **View**: Add `mixBlendMode` plus-lighter ([aaa0684045](https://github.com/facebook/react-native/commit/aaa068404504076155ec4d4f11a1d246aef763f5) by [@bigcupcoffee](https://github.com/bigcupcoffee)) + +#### Android specific + +- **Events**: Channel play/pause hardware events. ([5087aa0dba](https://github.com/facebook/react-native/commit/5087aa0dba4e06986b98007bc33ee16af11f9358) by Nishil Shah) +- **Events**: Pass event object to `BackHandler` `hardwareBackPress` events to access timeStamp from native event. ([bf277cb6d4](https://github.com/facebook/react-native/commit/bf277cb6d4b6f53227717e8888a4d9701d8a3449) by [@rubennorte](https://github.com/rubennorte)) +- **LogBox**: Allow LogBox notification toasts and inspector overlay to be dismissed via Android back button ([6530092162](https://github.com/facebook/react-native/commit/6530092162b9996b2c53cd5fd76b9c9a6520e57f) by [@Abbondanzo](https://github.com/Abbondanzo)) +- **Runtime**: Add `ExtraWindowEventListener` interface to allow native modules to react to window creation / destruction (e.g. Modal dialogs) ([58fec1fa8d](https://github.com/facebook/react-native/commit/58fec1fa8d351c40a68cb0da807c49c7c2c96a80) by [@zoontek](https://github.com/zoontek)) +- **Runtime**: Add test for synchronous mount props override behavior ([a25e0fdddf](https://github.com/facebook/react-native/commit/a25e0fdddf0ab77c798dd00f8c88e842ee72c955) by [@zeyap](https://github.com/zeyap)) +- **Text**: Add E2E tests for Text visual examples (batch 1) ([b53b228673](https://github.com/facebook/react-native/commit/b53b228673e0b833cae7718bbb778b2ecaec5d76) by [@NickGerleman](https://github.com/NickGerleman)) +- **Text**: Add E2E tests for Text visual examples (batch 2) ([d5a271dd05](https://github.com/facebook/react-native/commit/d5a271dd0599caff85652ce0581e3026da470065) by [@NickGerleman](https://github.com/NickGerleman)) +- **TextInput**: Add extended Android `TextInput` `autoComplete` autofill hint support and bump `androidx.autofill` to `1.3.0`. ([ac598aff2b](https://github.com/facebook/react-native/commit/ac598aff2b388d4fac9f42a2e2cef73542d2531d) by [@radko93](https://github.com/radko93)) +- **View**: Add E2E tests for Filter static visual examples ([d18d9a4046](https://github.com/facebook/react-native/commit/d18d9a4046e25b60a2054462d242663a8daa2589) by [@NickGerleman](https://github.com/NickGerleman)) + +#### iOS specific + +- **Build**: Add privacy manifest to declare the use of `mach_absolute_time()` API in the React-timing module ([2ae6c8940d](https://github.com/facebook/react-native/commit/2ae6c8940dda8e7523d5f7f6ffb6c1a3b361a19e) by [@rubennorte](https://github.com/rubennorte)) +- **Dev Server**: Introduce `isPackagerRunningAsync` that does not block the UI thread waiting on the request to DevServer ("Packager") validating that it is running ([dd056d9b4c](https://github.com/facebook/react-native/commit/dd056d9b4c007f7e67f5ac3ad2c537e635d4a509) by [@vzaidman](https://github.com/vzaidman)) +- **Image**: Add E2E tests for Image visual examples ([48b6f2dcc9](https://github.com/facebook/react-native/commit/48b6f2dcc93f28801338fc79dff8b527b15d5f92) by [@NickGerleman](https://github.com/NickGerleman)) +- **Networking**: Add `RCTSetCustomMultipartDataTaskRequestInterceptor` API to allow custom modification of multipart data task requests before they are sent ([59b8886bb8](https://github.com/facebook/react-native/commit/59b8886bb85f3c4c4b4ef55536d8ffeb4e5b3102) by [@cipolleschi](https://github.com/cipolleschi)) + +### Changed + +- **Build**: Update Metro to ^0.84.2 ([57d4b6b350](https://github.com/facebook/react-native/commit/57d4b6b350dc0e8f2a89e4f5f570ed3452551d85) by [@robhogan](https://github.com/robhogan)) +- **Dev Server**: LoadBundleFromServer test: remove legacy Jest timers, increased coverage and improved assertions ([a19d98e542](https://github.com/facebook/react-native/commit/a19d98e5428f710716486b064c3b0589355c5641) by [@chicio](https://github.com/chicio)) +- **Hermes**: Bump hermes-compiler dependency ([031168013e](https://github.com/facebook/react-native/commit/031168013e8faab6f08b822a69f39d2df3fc78ff) by [@robhogan](https://github.com/robhogan)) +- **Hermes**: Bump hermes version ([89a2a20739](https://github.com/facebook/react-native/commit/89a2a20739ceda065cdc605397bfe9c178403b4a) by [@robhogan](https://github.com/robhogan)) +- **LogBox**: Migrated `LogBoxData` tests to Jest modern timers ([dea2136a49](https://github.com/facebook/react-native/commit/dea2136a493453bcdc5e8c4b6950e9d6338f1445) by [@chicio](https://github.com/chicio)) +- **React**: Make React Native consume 250829098.0.11 ([26953d8343](https://github.com/facebook/react-native/commit/26953d8343abb2ea05fe86857c2016a4fadb48b7) by [@alanleedev](https://github.com/alanleedev)) +- **React Native DevTools**: Derive WebSocket scheme and port from dev server URL for React DevTools connections, supporting HTTPS dev servers ([ca4173701d](https://github.com/facebook/react-native/commit/ca4173701d4b398a3b43650d019ffc75fb1d21a7) by [@cipolleschi](https://github.com/cipolleschi)) +- **Runtime**: Measure node instance during `applyViewTransitionName` ([d17ecca3c9](https://github.com/facebook/react-native/commit/d17ecca3c90c4ddd3922e3661ece03ac2433fcff) by [@zeyap](https://github.com/zeyap)) +- **Runtime**: Move ViewTransition APIs not for react reconciler to its own TurboModule ([0e65df9152](https://github.com/facebook/react-native/commit/0e65df9152d940a52d6dc4704cb60b644e18fb23) by [@zeyap](https://github.com/zeyap)) +- **Runtime**: Setting `reportErrorsAsExceptions` to anything other than `false` no longer does anything. (Previously, setting it to a falsey value would be similar to setting it to `false`.) ([f0748a6387](https://github.com/facebook/react-native/commit/f0748a6387c9bb04eed38d03f00f36d2985b2031) by [@yungsters](https://github.com/yungsters)) +- **Runtime**: Use `getNullableViewState` in `SurfaceMountingManager::updateProps` and log a soft exception instead ([bbf7004935](https://github.com/facebook/react-native/commit/bbf7004935ec3ed25e0270c60889f118ba170495) by Bartlomiej Bloniarz) +- **TurboModules**: Move `DefaultTurboModules::get` to end of `TurboModuleManager` ([6b32971f46](https://github.com/facebook/react-native/commit/6b32971f46201b08004736dad9689d71eba0712f) by [@zeyap](https://github.com/zeyap)) + +#### Android specific + +- **Animated**: `AnimationBackendChoreographer` doesn't guard the `ReactChoreographer` post/remove with `synchronized(paused)` ([22d327595d](https://github.com/facebook/react-native/commit/22d327595dafe1913092a911c8f0ff78e7ee5b08) by Bartlomiej Bloniarz) +- **Build**: Changed foojay-resolver-convention version to 1.0.0 ([664acaf441](https://github.com/facebook/react-native/commit/664acaf44188eaac8dbcadf7686dba397ffc035e) by [@TheNerdGuyLulu](https://github.com/TheNerdGuyLulu)) +- **StatusBar**: Respect theme `enforceNavigationBarContrast` attribute ([dfddcc9796](https://github.com/facebook/react-native/commit/dfddcc97969fb4ea5728c2bcc965a8a6126d03ba) by [@zoontek](https://github.com/zoontek)) + +#### iOS specific + +- **Networking**: Add `RCTHTTPRequestInterceptor` for selective HTTP request modification ([0c7d780aa0](https://github.com/facebook/react-native/commit/0c7d780aa03e7a3fccd24553fdb59ce3219139b2) by [@cipolleschi](https://github.com/cipolleschi)) +- **Networking**: Add `SRWebSocketProvider` for selective WebSocket header injection ([f3aa8c21d1](https://github.com/facebook/react-native/commit/f3aa8c21d1349b3c968c601ef89850427dfdcf64) by [@cipolleschi](https://github.com/cipolleschi)) +- **React Native DevTools**: Derive inspector and debugger URL scheme from bundle URL to support HTTPS dev servers ([36dfcef023](https://github.com/facebook/react-native/commit/36dfcef023549ac2795fbd42467594f056f2630a) by [@cipolleschi](https://github.com/cipolleschi)) + +### Deprecated + +- **JavaScript API**: Deprecated second argument for hook function passed to `AppRegistry.setComponentProviderInstrumentationHook` as it's not usable by apps. Passed stub that warns when used. ([64116117c0](https://github.com/facebook/react-native/commit/64116117c02d3b3d8026ee2ac85d03fc8370fbcd) by [@rubennorte](https://github.com/rubennorte)) + +### Fixed + +- **Accessibility**: Fix `AccessibilityInfo.isDarkerSystemColorsEnabled` unresolved (never ending) promise ([8fbf2fab47](https://github.com/facebook/react-native/commit/8fbf2fab47b9675f99fed7ee881636da5333bf55) by [@chicio](https://github.com/chicio)) +- **Accessibility**: Fix `AccessibilityInfo.isHighTextContrastEnabled` unresolved (never ending) promise ([5c9a5717c1](https://github.com/facebook/react-native/commit/5c9a5717c1a4d035a5059c3b6d53beb2a2b95ad6) by [@chicio](https://github.com/chicio)) +- **Accessibility**: Fix `AccessibilityInfo.prefersCrossFadeTransitions` unresolved (never ending) promise ([57c073f0d7](https://github.com/facebook/react-native/commit/57c073f0d728575a43039e413ac5f0d6958e7e2f) by [@chicio](https://github.com/chicio)) +- **Animated**: Fix 1-frame latency in C++ `NativeAnimatedNodesManager` for event-driven animations by processing the animation graph synchronously on every scroll event, matching the Java implementation behavior ([0517fb552d](https://github.com/facebook/react-native/commit/0517fb552d58d1e652724798be4a963fb9918206) by Mark Verlingieri) +- **Animated**: Fix typo "interpolation" to "interpolate" and add missing space in `AnimatedInterpolation` error messages ([a8b39a237c](https://github.com/facebook/react-native/commit/a8b39a237c2459a774e4ad9f4a514d0941b03169) by [@Nedunchezhiyan-M](https://github.com/Nedunchezhiyan-M)) +- **Babel**: Prevent errors by handling contexts where the Babel API object is not provided ([63796a9160](https://github.com/facebook/react-native/commit/63796a9160f2da0cda438c52c6206c158adfc12a) by On Saint Tiong) +- **Build**: Fix incorrect package name and output filename in `scripts/js-api/README.md` ([d823f5b1cc](https://github.com/facebook/react-native/commit/d823f5b1cc4b26d1844058a7db01f3d7227f1afd) by [@Nedunchezhiyan-M](https://github.com/Nedunchezhiyan-M)) +- **Codegen**: Respect enum values for TurboModule c++ codegen ([56129fedcb](https://github.com/facebook/react-native/commit/56129fedcb88d3b9e9a0e987a0562142bedfcd91) by [@akawrykow](https://github.com/akawrykow)) +- **Documentation**: Correct the v0.85.0 changelog entry for the removal of `StyleSheet.absoluteFillObject`. ([fdbe0d0b63](https://github.com/facebook/react-native/commit/fdbe0d0b63e9c69b6375aafca6361107500a6311) by [@jingjing2222](https://github.com/jingjing2222)) +- **Modal**: Forward `style` prop to Modal's inner container View with correct precedence so consumer styles are applied without overriding `transparent` or `backdropColor` ([f8fa76f94c](https://github.com/facebook/react-native/commit/f8fa76f94c37a97e0479f55e9945e1dd111a5567) by [@AnuMessi10](https://github.com/AnuMessi10)) +- **React Native DevTools**: Add exponential backoff and exception handling to `InspectorPackagerConnection` reconnect loop to prevent heap fragmentation crashes ([32d3eafdc4](https://github.com/facebook/react-native/commit/32d3eafdc438eab517e84845ea9efe5165023c56) by [@shubhamksavita](https://github.com/shubhamksavita)) +- **Runtime**: Add missing `VIEW_EVENT_CASE` entries in `BaseViewProps::setProp` for Click, PointerDown, PointerUp, GotPointerCapture, LostPointerCapture and their Capture variants (offsets 30-37) ([8d5482dd94](https://github.com/facebook/react-native/commit/8d5482dd9452ee149b65c0ca5cffb1c96af29fc9) by Harini Malothu) +- **Runtime**: Fix crash in Performance API when sorting entries ([81c99682a4](https://github.com/facebook/react-native/commit/81c99682a49b57b90aa36db801ff578f53930a95) by [@Abbondanzo](https://github.com/Abbondanzo)) +- **Runtime**: Fix event timestamp injection overriding native timestamps with lowercase property name ([68debb27ff](https://github.com/facebook/react-native/commit/68debb27ff17ca3ca17404c5326afce888c444a2) by [@fkgozali](https://github.com/fkgozali)) +- **Runtime**: Fix event timestamp propagation from host platforms to JS ([aa51746b87](https://github.com/facebook/react-native/commit/aa51746b87e5e04924e3fcfaf459f9bb1c9ca38e) by [@rubennorte](https://github.com/rubennorte)) +- **Runtime**: Link VirtualView component ([de78906391](https://github.com/facebook/react-native/commit/de78906391935f46e84a198f5f5d64fc40826c44) by [@j-piasecki](https://github.com/j-piasecki)) +- **Runtime**: `PerformanceObserver`: `observe({type: 'event'})` now correctly defaults `durationThreshold` to 104ms per the W3C Event Timing spec instead of reporting all events. ([65c561e195](https://github.com/facebook/react-native/commit/65c561e195285e1f1ea59bec72899dabf08502a6) by [@rubennorte](https://github.com/rubennorte)) +- **Runtime**: Prevent Scheduler use-after-free crash when surfaces tear down with pending rendering updates ([aadbe96579](https://github.com/facebook/react-native/commit/aadbe965792bd900ca70412d6704b76e339d1aca) by [@fkgozali](https://github.com/fkgozali)) +- **Runtime**: Prevent updates to mounted flag on the React revision ([7ee893d3be](https://github.com/facebook/react-native/commit/7ee893d3beb45b507712744f46f29b4ebba237e7) by [@j-piasecki](https://github.com/j-piasecki)) +- **Runtime**: Support multiple old pseudo elements for same name but different source node ([370606dc5b](https://github.com/facebook/react-native/commit/370606dc5b6ea0fcfb119ac99c36008204154802) by [@zeyap](https://github.com/zeyap)) +- **Runtime**: Use relevant revision as base for mounted flag updates ([4b954e14c8](https://github.com/facebook/react-native/commit/4b954e14c85ec5e1a8bf74ccdf17a959d82496ac) by [@j-piasecki](https://github.com/j-piasecki)) +- **Runtime**: Views with a non-invertible transform (e.g. `scaleX: 0` or `scaleY: 0`) no longer receive touches on Android or iOS. ([1e8e182410](https://github.com/facebook/react-native/commit/1e8e1824106857864bf21cff422b691e763cb00e) by [@qflen](https://github.com/qflen)) +- **TurboModules**: Bring back C++ Turbo Module example in RN Tester ([1c2cddad1a](https://github.com/facebook/react-native/commit/1c2cddad1a1c8c85d525740c0586c023c714122c) by [@christophpurrer](https://github.com/christophpurrer)) +- **VirtualizedList**: Improve render area change with initialScrollIndex non zero test in VirtualizedList to avoid magic numbers timers ([9b966d1d8f](https://github.com/facebook/react-native/commit/9b966d1d8f705024dad39268c5f36ffd4042a227) by [@chicio](https://github.com/chicio)) +- **Yoga**: Fixed Yoga node ownership when `display: contents` is used in absolutely positioned subtrees ([f2f92098dd](https://github.com/facebook/react-native/commit/f2f92098ddf996d3f75cfbaa143d7151c29776f7) by [@j-piasecki](https://github.com/j-piasecki)) + +#### Android specific + +- **Accessibility**: Guard `ReactViewGroup.addChildrenForAccessibility` against transient non-descendant accessibility traversal crashes. ([e681736e18](https://github.com/facebook/react-native/commit/e681736e1838904155409e236c3c2fa630b71c9a) by [@erickreutz](https://github.com/erickreutz)) +- **Build**: Fix build regression by using `rootProject.file` ([8a8f1b801c](https://github.com/facebook/react-native/commit/8a8f1b801c253a2e582e0d7615b67efe88328ca3) by [@etodanik](https://github.com/etodanik)) +- **Hermes**: Fix `HermesSamplingProfiler.disable()` JNI registration calling `enable()` instead of `disable()` ([7f2a58e46c](https://github.com/facebook/react-native/commit/7f2a58e46cdf0fd797aa58c6b0c8035913d34402) by [@elirangoshen](https://github.com/elirangoshen)) +- **Hermes**: Use Hermes V1 stable release instead of legacy nightly to fix startup crash caused by JSI ABI mismatch ([45ceacc08f](https://github.com/facebook/react-native/commit/45ceacc08f5c1e69f8f517afc7cd4f527283ea15) by [@cipolleschi](https://github.com/cipolleschi)) +- **Image**: Fix image content disappearing on API 24 (Nougat) when antialiased border radius clipping is applied ([fdd6ca5bb1](https://github.com/facebook/react-native/commit/fdd6ca5bb11b105284c7ad977ff2208c2f2e66f2) by [@Abbondanzo](https://github.com/Abbondanzo)) +- **Image**: Make sure view width and height are non 0 before calling `createBitmap()` ([c20a58ab6b](https://github.com/facebook/react-native/commit/c20a58ab6b7fd21b0c61fc355b6cb629541c39e5) by [@zeyap](https://github.com/zeyap)) +- **Legacy Architecture**: Fix `onHostPause` crash in `ReactInstanceManager` without feature flag ([3aa8a043de](https://github.com/facebook/react-native/commit/3aa8a043de283f539cc907c7a5368e61cecb35b9) by [@shubhamksavita](https://github.com/shubhamksavita)) +- **LogBox**: Fixed activity context memory leak in `LogBoxDialogSurfaceDelegate` when using bridgeless mode ([f10cded1f8](https://github.com/facebook/react-native/commit/f10cded1f833bf0a143e736dfd364f5b405c648c) by Ilya Kovalyov) +- **Networking**: Blob content provider did not work in new arch ([05ea94c441](https://github.com/facebook/react-native/commit/05ea94c44106c8d4314edf2dcd5874f9eab6155d) by [@javache](https://github.com/javache)) +- **Networking**: Catch `OutOfMemoryError` in `NetworkingModule` response processing to prevent app crashes ([0c153e2971](https://github.com/facebook/react-native/commit/0c153e2971db6edc9cdf363c93072488131a4340) by [@shubhamksavita](https://github.com/shubhamksavita)) +- **Networking**: WebSocketModule no longer strips a `Cookie` header passed via the WebSocket constructor's `headers` option ([24b51db75b](https://github.com/facebook/react-native/commit/24b51db75b7f8eee666c9a3b6d13c6a29a7a759a) by [@psjostrom](https://github.com/psjostrom)) +- **Runtime**: Fix `Dimensions` `window` values on Android < 15 when edge-to-edge is enabled ([44a4b1ba5d](https://github.com/facebook/react-native/commit/44a4b1ba5d0af29d4ed7e73807677eb4e8525e9f) by [@zoontek](https://github.com/zoontek)) +- **Runtime**: Fix `KeyboardAvoidingView` on Android 15+ / with `edgeToEdgeEnabled` ([4a6c933cce](https://github.com/facebook/react-native/commit/4a6c933ccedd7efc8c21b71a101980a15c8525ce) by [@zoontek](https://github.com/zoontek)) +- **Runtime**: Fix `measureInWindow` returning incorrect coordinates when edge-to-edge is enabled ([9d183675e9](https://github.com/facebook/react-native/commit/9d183675e9552043dd2d768d4fbac1760cdc9a59) by [@zoontek](https://github.com/zoontek)) +- **Runtime**: Fix crash from stale preallocated view registry after concurrent render cancellation ([97cf2202ee](https://github.com/facebook/react-native/commit/97cf2202ee4b0f8c36716073509b50414e0f2c94) by [@javache](https://github.com/javache)) +- **Runtime**: Gate diagnostic `printMountItem` calls in `MountItemDispatcher` error handlers behind `enableFabricLogs()` to prevent OOM crash ([7a546f98a7](https://github.com/facebook/react-native/commit/7a546f98a794ece46e12cd2c2a38454b79b08e9e) by [@JakobFelixJulius](https://github.com/JakobFelixJulius)) +- **Runtime**: Handle edge-to-edge when it's not enabled by the `edgeToEdgeEnabled` gradle property but enforced by the OS (Android 15+) ([c2280e3201](https://github.com/facebook/react-native/commit/c2280e3201fdd468ae358cb577430b87949f05e5) by [@zoontek](https://github.com/zoontek)) +- **Runtime**: Register `HeadlessJsTaskSupportModule` in `CoreReactPackage` ([2d78a39b3e](https://github.com/facebook/react-native/commit/2d78a39b3e1199c301696fa22ae54c2b868cc3f1) by 贾太滨) +- **Runtime**: Schedule React revision merge to happen on `DISPATCH_UI` choreographer queue, before dispatching events ([b63efbfc6b](https://github.com/facebook/react-native/commit/b63efbfc6b61b120d69b55cd37a9a92664af6928) by [@j-piasecki](https://github.com/j-piasecki)) +- **ScrollView**: Dispatch FPS performance events for mouse wheel and trackpad scroll interactions in ScrollView ([e0a453c603](https://github.com/facebook/react-native/commit/e0a453c6037ceda3c739613a4a1609256db5e4e7) by [@Abbondanzo](https://github.com/Abbondanzo)) +- **ScrollView**: Fix FPS performance listener being cleared on ScrollView recycle ([59ac1db76e](https://github.com/facebook/react-native/commit/59ac1db76e02ad1d4d7da918e71eb7a8452afe72) by [@Abbondanzo](https://github.com/Abbondanzo)) +- **StatusBar**: StatusBar configuration now applies to Modal windows, fixing visual inconsistencies ([6614fe7f2b](https://github.com/facebook/react-native/commit/6614fe7f2b754a876bfce388895d9a538ce86135) by [@zoontek](https://github.com/zoontek)) +- **Text**: Fix 1px text wrapping in absolutely positioned elements caused by fractional Yoga widths ([90c2c595da](https://github.com/facebook/react-native/commit/90c2c595dacb0dccddf075f5c52224a6a298d995) by [@clocksarestupid](https://github.com/clocksarestupid)) +- **Text**: Fix BoringLayout crash when `isBoring()` returns negative width ([d527f2d663](https://github.com/facebook/react-native/commit/d527f2d663a514d5fe778022390c954e0b3e2588) by [@NickGerleman](https://github.com/NickGerleman)) +- **Text**: Fix crash when measuring text in a stopped surface ([f71ec1a24e](https://github.com/facebook/react-native/commit/f71ec1a24eff3a63fd223c24b01ce25eac1631e9) by [@NickGerleman](https://github.com/NickGerleman)) +- **TextInput**: Fix `setAutoCapitalize` stripping numeric `TextInput` flags (`TYPE_NUMBER_FLAG_SIGNED`/`DECIMAL`), affecting minus sign input on Samsung keyboards ([863f76bd49](https://github.com/facebook/react-native/commit/863f76bd490b2e7a9621f9a7c03d0b4295e32e60) by [@lukeharvey](https://github.com/lukeharvey)) +- **TextInput**: KeyboardAvoidingView and TextInput auto-scroll not responding to IME height changes (e.g., when toggling emoji panel or predictive bar) ([ee1d067692](https://github.com/facebook/react-native/commit/ee1d0676920d75bfaa68e78602b10477b8b2187e) by [@alanleedev](https://github.com/alanleedev)) +- **View**: Fixed a crash when clearing `zIndex` with props 2.0 enabled ([93b37350af](https://github.com/facebook/react-native/commit/93b37350afe8db7b4835ba59f40ea1e55e4a3045) by [@hannojg](https://github.com/hannojg)) +- **View**: Fixed crash when enabling props 2.0 and setting `borderStyle` to `undefined` ([9e058db4c8](https://github.com/facebook/react-native/commit/9e058db4c8f1d2aa7ab632606b565f43e6664adc) by [@hannojg](https://github.com/hannojg)) +- **View**: Unsupported background size value leading to crash ([fe046dc782](https://github.com/facebook/react-native/commit/fe046dc7822761322a2eea1bf0ba8a000a4ae8cc) by [@intergalacticspacehighway](https://github.com/intergalacticspacehighway)) + +#### iOS specific + +- **Build**: Addressed -Wunreachable-code-return violations ([9172bfe647](https://github.com/facebook/react-native/commit/9172bfe647d7489bc9e0067f85752e3e30e557e0) by [@ingridwang](https://github.com/ingridwang)) +- **Build**: Addressing -Wunreachable-code-return issues. ([722623aaeb](https://github.com/facebook/react-native/commit/722623aaebb10acb68b3de24449815c619722028) by [@ingridwang](https://github.com/ingridwang)) +- **Build**: Fixing unreachable-code-break ([795d902270](https://github.com/facebook/react-native/commit/795d9022707d543540217c72bf05d4e5893ecfe2) by [@ingridwang](https://github.com/ingridwang)) +- **Build**: Made `ReactInternal` compatible with Swift ([fc5cc2821f](https://github.com/facebook/react-native/commit/fc5cc2821f6e0117c0ea1bb4e6c5c45f58a2a167) by [@rmaz](https://github.com/rmaz)) +- **Build**: Removing unused ivars ([3d2d14df16](https://github.com/facebook/react-native/commit/3d2d14df1686590f701559319d4b46ad82fcab89) by [@ingridwang](https://github.com/ingridwang)) +- **CocoaPods**: Fix `REACT_NATIVE_PATH` resolution when `Pods/` is a symlink ([ea383822b7](https://github.com/facebook/react-native/commit/ea383822b73c3c4e154336f087205ee53db99115) by [@huntie](https://github.com/huntie)) +- **CocoaPods**: Fix React-CoreModules failing to compile with `use_frameworks!` due to missing React-featureflags header path ([fb0d28c6fd](https://github.com/facebook/react-native/commit/fb0d28c6fd7dd3ed961f7d96c7072cf37b2d228d) by [@radko93](https://github.com/radko93)) +- **CocoaPods**: Preserve Expo-generated `React-use-frameworks.modulemap` across `replace-rncore-version.js` runs ([ada39220a0](https://github.com/facebook/react-native/commit/ada39220a0b67179f729a59a862cc8c18fdc5631) by [@Insik-Han](https://github.com/Insik-Han)) +- **Dev Server**: Fix iOS dev-support IPv6 handling for packager and inspector connections. ([4a59f90c22](https://github.com/facebook/react-native/commit/4a59f90c22ea850946aba0326214e036a7a2019c) by [@hannojg](https://github.com/hannojg)) +- **Hermes**: Fix compilation error in `createJSRuntimeFactory` and skip Hermes pods when `USE_THIRD_PARTY_JSC` is enabled ([2d8143794d](https://github.com/facebook/react-native/commit/2d8143794d3896f2217dc42dbe92b7fb091d2b81) by [@tux2nicolae](https://github.com/tux2nicolae)) +- **Networking**: Fix crash in `RCTWebSocketModule` when delegate callbacks fire after module invalidation ([587ef059a2](https://github.com/facebook/react-native/commit/587ef059a2c26391cdd31d33fb610328906aea8c) by [@lukeharvey](https://github.com/lukeharvey)) +- **React Native DevTools**: Fix inspector server host resolution for HTTPS bundle URLs by omitting default port ([3582a8b2b5](https://github.com/facebook/react-native/commit/3582a8b2b5bf220013e5965bcbfa81bd0ade1b83) by [@cipolleschi](https://github.com/cipolleschi)) +- **TextInput**: Fix `NSRangeException` crash in `RCTBackedTextInputDelegateAdapter` when text range is out of bounds ([19350b1c8c](https://github.com/facebook/react-native/commit/19350b1c8c5c8390368f90dbc1f3ab78743bfe2e) by [@lukeharvey](https://github.com/lukeharvey)) +- **View**: Fixes crash when changing the value of `removeClippedSubviews` ([91e3f773b7](https://github.com/facebook/react-native/commit/91e3f773b7e571a503b57e09a1cb8a44ff26cd1e) by [@javache](https://github.com/javache)) + +### Security + +- **Dependencies**: Bumped `fast-xml-parser` from 4.5.0 to 4.5.4 to fix CVE-2026-25896 ([56908a74c7](https://github.com/facebook/react-native/commit/56908a74c7f79a45dae9c2f651e437399e7465fe) by [@balajacatherin](https://github.com/balajacatherin)) +- **Dependencies**: Bumped `minimatch` to fix CVE-2026-27903, CVE-2026-27904 ([c019a50a4c](https://github.com/facebook/react-native/commit/c019a50a4ce3c7331921fc849a0719a216bb30b8) by [@balajacatherin](https://github.com/balajacatherin)) + ## v0.85.3 ### Changed