A framework for building native applications using React
4
React Native v0.86.0
Release date:
June 9, 2026
Previous version:
v0.86.0-rc.3
(released June 2, 2026)
Magnitude:
27
Diff Delta
Contributors:
1 total committer
Commits:
2 Commits in this Release
Ordered by the degree to which they evolved the repo in this version.
Authored June 9, 2026
Authored June 2, 2026
Browse Other Releases
Latest Pending
Unreleased π
v0.86.0
Released June 9, 2026
27 Ξ
v0.86.0-rc.3
Released June 2, 2026
21 Ξ
v0.86.0-rc.2
Released May 25, 2026
18 Ξ
v0.86.0-rc.1
Released May 18, 2026
150 Ξ
v0.86.0-rc.0
Released June 9, 2026
11,707 Ξ
v0.85.3
Released May 5, 2026
1,304 Ξ
v0.85.2
Released April 20, 2026
25 Ξ
v0.85.1
Released April 13, 2026
21 Ξ
v0.85.0
Released April 7, 2026
22 Ξ
v0.85.0-rc.7
Released April 10, 2026
26 Ξ
Top Contributors in v0.86.0
react-native-bot
Directory Browser for v0.86.0
All files are compared to previous version, v0.86.0-rc.3. Click here to browse diffs between other versions.
Loading File Browser...
Release Notes Published
Added
- Accessibility: AccessibilityInfo: added missing tests for Promise based methods, align null checks and error message code style (8fc503d780 by @chicio)
- Animated: Suspense tests for the Animation Backend (8101fc776d by Bartlomiej Bloniarz)
- Animated: Use weak_ptr when calling pullAnimationMutations in a callback scheduled with the Animation Backend (42d98b5830 by Bartlomiej Bloniarz)
- Dev Server: Call methods on
global.__BUNDLE_LOADER_REPORTER__, if given, during dev-mode bundler loads from Metro (1e0c1f886b by @robhogan) - React Native DevTools: Add new custom track for React Native Renderer operations in React Native DevTools performance traces (0b1def9ce5, 29bc8f1acb, 9130df6773, c26a4875ea by @rubennorte)
- React Native DevTools: Add support for light/dark mode emulation via
Emulation.setEmulatedMedia(11a5432cb2 by @huntie) - Runtime: Add
unstable_getViewTransitionInstanceto UIManagerBinding (d8820a403b by @zeyap) - Runtime: Add UIManagerViewTransitionDelegate interface and View Transition APIs (cdad57d8f1 by @zeyap)
- Runtime: Add viewport size to
LayoutContext(d38c756529 by @paradowstack) - Runtime: ViewTransitionModule for React Native View Transitions (f81f73e5a0 by @zeyap)
- Text: Add E2E tests for Text
boxShadowand textWithLinkRole (b172f46f0d by @NickGerleman) - View: Add E2E tests for Filter blur-with-overflow, drop-shadow, and animated-blur (66975aa3d5 by @NickGerleman)
- View: Add
mixBlendModeplus-lighter (aaa0684045 by @bigcupcoffee)
Android specific
- Events: Channel play/pause hardware events. (5087aa0dba by Nishil Shah)
- Events: Pass event object to
BackHandlerhardwareBackPressevents to access timeStamp from native event. (bf277cb6d4 by @rubennorte) - LogBox: Allow LogBox notification toasts and inspector overlay to be dismissed via Android back button (6530092162 by @Abbondanzo)
- Pressable:
android_ripplenow acceptsPlatformColor(60d8b282ea by @adrcotfas) - Runtime: Add
ExtraWindowEventListenerinterface to allow native modules to react to window creation / destruction (e.g. Modal dialogs) (58fec1fa8d by @zoontek) - Runtime: Add test for synchronous mount props override behavior (a25e0fdddf by @zeyap)
- Text: Add E2E tests for Text visual examples (batch 1) (b53b228673 by @NickGerleman)
- Text: Add E2E tests for Text visual examples (batch 2) (d5a271dd05 by @NickGerleman)
- TextInput: Add extended Android
TextInputautoCompleteautofill hint support and bumpandroidx.autofillto1.3.0. (ac598aff2b by @radko93) - View: Add E2E tests for Filter static visual examples (d18d9a4046 by @NickGerleman)
iOS specific
- Build: Add privacy manifest to declare the use of
mach_absolute_time()API in the React-timing module (2ae6c8940d by @rubennorte) - Dev Server: Introduce
isPackagerRunningAsyncthat does not block the UI thread waiting on the request to DevServer ("Packager") validating that it is running (dd056d9b4c by @vzaidman) - Image: Add E2E tests for Image visual examples (48b6f2dcc9 by @NickGerleman)
- Networking: Add
RCTSetCustomMultipartDataTaskRequestInterceptorAPI to allow custom modification of multipart data task requests before they are sent (59b8886bb8 by @cipolleschi)
Changed
- Build: Update Metro to ^0.84.2 (57d4b6b350 by @robhogan)
- Dev Server: LoadBundleFromServer test: remove legacy Jest timers, increased coverage and improved assertions (a19d98e542 by @chicio)
- Hermes: Bump hermes-compiler dependency (031168013e by @robhogan)
- Hermes: Bump hermes version (89a2a20739 by @robhogan)
- LogBox: Migrated
LogBoxDatatests to Jest modern timers (dea2136a49 by @chicio) - React: Make React Native consume 250829098.0.11 (26953d8343 by @alanleedev)
- React Native DevTools: Derive WebSocket scheme and port from dev server URL for React DevTools connections, supporting HTTPS dev servers (ca4173701d by @cipolleschi)
- Runtime: Measure node instance during
applyViewTransitionName(d17ecca3c9 by @zeyap) - Runtime: Move ViewTransition APIs not for react reconciler to its own TurboModule (0e65df9152 by @zeyap)
- Runtime: Setting
reportErrorsAsExceptionsto anything other thanfalseno longer does anything. (Previously, setting it to a falsey value would be similar to setting it tofalse.) (f0748a6387 by @yungsters) - Runtime: Use
getNullableViewStateinSurfaceMountingManager::updatePropsand log a soft exception instead (bbf7004935 by Bartlomiej Bloniarz) - TurboModules: Move
DefaultTurboModules::getto end ofTurboModuleManager(6b32971f46 by @zeyap)
Android specific
- Animated:
AnimationBackendChoreographerdoesn't guard theReactChoreographerpost/remove withsynchronized(paused)(22d327595d by Bartlomiej Bloniarz) - Build: Changed foojay-resolver-convention version to 1.0.0 (664acaf441 by @TheNerdGuyLulu)
- NavigationBar: Respect theme
enforceNavigationBarContrastattribute (dfddcc9796 by @zoontek)
iOS specific
- Build: Cache prebuilt iOS binaries (9a0b05b8d0 by @cipolleschi)
- Networking: Add
RCTHTTPRequestInterceptorfor selective HTTP request modification (0c7d780aa0 by @cipolleschi) - Networking: Add
SRWebSocketProviderfor selective WebSocket header injection (f3aa8c21d1 by @cipolleschi) - React Native DevTools: Derive inspector and debugger URL scheme from bundle URL to support HTTPS dev servers (36dfcef023 by @cipolleschi)
Deprecated
- JavaScript API: Deprecated second argument for hook function passed to
AppRegistry.setComponentProviderInstrumentationHookas it's not usable by apps. Passed stub that warns when used. (64116117c0 by @rubennorte)
Fixed
- Accessibility: Fix
AccessibilityInfo.isDarkerSystemColorsEnabledunresolved (never ending) promise (8fbf2fab47 by @chicio) - Accessibility: Fix
AccessibilityInfo.isHighTextContrastEnabledunresolved (never ending) promise (5c9a5717c1 by @chicio) - Accessibility: Fix
AccessibilityInfo.prefersCrossFadeTransitionsunresolved (never ending) promise (57c073f0d7 by @chicio) - Animated: Fix 1-frame latency in C++
NativeAnimatedNodesManagerfor event-driven animations by processing the animation graph synchronously on every scroll event, matching the Java implementation behavior (0517fb552d by Mark Verlingieri) - Animated: Fix typo "interpolation" to "interpolate" and add missing space in
AnimatedInterpolationerror messages (a8b39a237c by @Nedunchezhiyan-M) - Babel: Prevent errors by handling contexts where the Babel API object is not provided (63796a9160 by On Saint Tiong)
- Build: Fix incorrect package name and output filename in
scripts/js-api/README.md(d823f5b1cc by @Nedunchezhiyan-M) - Codegen: Respect enum values for TurboModule c++ codegen (56129fedcb by @akawrykow)
- Documentation: Correct the v0.85.0 changelog entry for the removal of
StyleSheet.absoluteFillObject. (fdbe0d0b63 by @jingjing2222) - Modal: Forward
styleprop to Modal's inner container View with correct precedence so consumer styles are applied without overridingtransparentorbackdropColor(f8fa76f94c by @AnuMessi10) - React Native DevTools: Add exponential backoff and exception handling to
InspectorPackagerConnectionreconnect loop to prevent heap fragmentation crashes (32d3eafdc4 by @shubhamksavita) - React Native DevTools: Bump Hermes V1 to 250829098.0.14 to fix missing JavaScript samples in the Performance panel timeline on Apple platforms (cd5b3b5fa5 by @fabriziocucci)
- Runtime: Add missing
VIEW_EVENT_CASEentries inBaseViewProps::setPropfor Click, PointerDown, PointerUp, GotPointerCapture, LostPointerCapture and their Capture variants (offsets 30-37) (8d5482dd94 by Harini Malothu) - Runtime: Fix crash in Performance API when sorting entries (81c99682a4 by @Abbondanzo)
- Runtime: Fix event timestamp injection overriding native timestamps with lowercase property name (68debb27ff by @fkgozali)
- Runtime: Fix event timestamp propagation from host platforms to JS (aa51746b87 by @rubennorte)
- Runtime: Link VirtualView component (de78906391 by @j-piasecki)
- Runtime:
PerformanceObserver:observe({type: 'event'})now correctly defaultsdurationThresholdto 104ms per the W3C Event Timing spec instead of reporting all events. (65c561e195 by @rubennorte) - Runtime: Prevent Scheduler use-after-free crash when surfaces tear down with pending rendering updates (aadbe96579 by @fkgozali)
- Runtime: Prevent updates to mounted flag on the React revision (7ee893d3be by @j-piasecki)
- Runtime: Support multiple old pseudo elements for same name but different source node (370606dc5b by @zeyap)
- Runtime: Use relevant revision as base for mounted flag updates (4b954e14c8 by @j-piasecki)
- Runtime: Views with a non-invertible transform (e.g.
scaleX: 0orscaleY: 0) no longer receive touches on Android or iOS. (1e8e182410 by @qflen) - TurboModules: Bring back C++ Turbo Module example in RN Tester (1c2cddad1a by @christophpurrer)
- VirtualizedList: Improve render area change with initialScrollIndex non zero test in VirtualizedList to avoid magic numbers timers (9b966d1d8f by @chicio)
- Yoga: Fixed Yoga node ownership when
display: contentsis used in absolutely positioned subtrees (f2f92098dd by @j-piasecki)
Android specific
- Accessibility: Guard
ReactViewGroup.addChildrenForAccessibilityagainst transient non-descendant accessibility traversal crashes. (e681736e18 by @erickreutz) - Build: Fix build regression by using
rootProject.file(8a8f1b801c by @etodanik) - Hermes: Fix
HermesSamplingProfiler.disable()JNI registration callingenable()instead ofdisable()(7f2a58e46c by @elirangoshen) - Hermes: Use Hermes V1 stable release instead of legacy nightly to fix startup crash caused by JSI ABI mismatch (45ceacc08f by @cipolleschi)
- Image: Fix image content disappearing on API 24 (Nougat) when antialiased border radius clipping is applied (fdd6ca5bb1 by @Abbondanzo)
- Image:
Image.getSizeandImage.getSizeWithHeadersnow return the true source dimensions instead of Fresco's downsampled values (8823a8009b by @zoontek) - Image: Make sure view width and height are non 0 before calling
createBitmap()(c20a58ab6b by @zeyap) - Legacy Architecture: Fix
onHostPausecrash inReactInstanceManagerwithout feature flag (3aa8a043de by @shubhamksavita) - LogBox: Fixed activity context memory leak in
LogBoxDialogSurfaceDelegatewhen using bridgeless mode (f10cded1f8 by Ilya Kovalyov) - Networking: Blob content provider did not work in new arch (05ea94c441 by @javache)
- Networking: Catch
OutOfMemoryErrorinNetworkingModuleresponse processing to prevent app crashes (0c153e2971 by @shubhamksavita) - Networking: WebSocketModule no longer strips a
Cookieheader passed via the WebSocket constructor'sheadersoption (24b51db75b by @psjostrom) - Runtime: Fix
Dimensionswindowvalues on Android < 15 when edge-to-edge is enabled (44a4b1ba5d by @zoontek) - Runtime: Fix
KeyboardAvoidingViewon Android 15+ / withedgeToEdgeEnabled(4a6c933cce by @zoontek) - Runtime: Fix
measureInWindowreturning incorrect coordinates when edge-to-edge is enabled (9d183675e9 by @zoontek) - Runtime: Fix crash from stale preallocated view registry after concurrent render cancellation (97cf2202ee by @javache)
- Runtime: Gate diagnostic
printMountItemcalls inMountItemDispatchererror handlers behindenableFabricLogs()to prevent OOM crash (7a546f98a7 by @JakobFelixJulius) - Runtime: Handle edge-to-edge when it's not enabled by the
edgeToEdgeEnabledgradle property but enforced by the OS (Android 15+) (c2280e3201 by @zoontek) - Runtime: Register
HeadlessJsTaskSupportModuleinCoreReactPackage(2d78a39b3e by θ΄Ύε€ͺ滨) - Runtime: Schedule React revision merge to happen on
DISPATCH_UIchoreographer queue, before dispatching events (b63efbfc6b by @j-piasecki) - ScrollView: Dispatch FPS performance events for mouse wheel and trackpad scroll interactions in ScrollView (e0a453c603 by @Abbondanzo)
- ScrollView: Fix FPS performance listener being cleared on ScrollView recycle (59ac1db76e by @Abbondanzo)
- StatusBar: StatusBar configuration now applies to Modal windows, fixing visual inconsistencies (6614fe7f2b by @zoontek)
- Text: Fix 1px text wrapping in absolutely positioned elements caused by fractional Yoga widths (90c2c595da by @clocksarestupid)
- Text: Fix BoringLayout crash when
isBoring()returns negative width (d527f2d663 by @NickGerleman) - Text: Fix crash when measuring text in a stopped surface (f71ec1a24e by @NickGerleman)
- TextInput: Fix
setAutoCapitalizestripping numericTextInputflags (TYPE_NUMBER_FLAG_SIGNED/DECIMAL), affecting minus sign input on Samsung keyboards (863f76bd49 by @lukeharvey) - TextInput: KeyboardAvoidingView and TextInput auto-scroll not responding to IME height changes (e.g., when toggling emoji panel or predictive bar) (ee1d067692 by @alanleedev)
- View: Fixed a crash when clearing
zIndexwith props 2.0 enabled (93b37350af by @hannojg) - View: Fixed crash when enabling props 2.0 and setting
borderStyletoundefined(9e058db4c8 by @hannojg) - View: Unsupported background size value leading to crash (fe046dc782 by @intergalacticspacehighway)
iOS specific
- Build: Addressed -Wunreachable-code-return violations (9172bfe647 by @ingridwang)
- Build: Addressing -Wunreachable-code-return issues. (722623aaeb by @ingridwang)
- Build: Fixed escaping local file URIs for unicode paths in ruby scripts (9563cb5b5a by @chrfalch)
- Build: Fixing unreachable-code-break (795d902270 by @ingridwang)
- Build: Made
ReactInternalcompatible with Swift (fc5cc2821f by @rmaz) - Build: Persist
PODFILE_DIRas$(SRCROOT)-relative soproject.pbxprojis portable across machines (44bb83bd84 by @zoontek) - Build: Removing unused ivars (3d2d14df16 by @ingridwang)
- CocoaPods: Fix Pod install checksum drifting (814ebb12b6 by @chrfalch)
- CocoaPods: Fix
REACT_NATIVE_PATHresolution whenPods/is a symlink (ea383822b7 by @huntie) - CocoaPods: Fix React-CoreModules failing to compile with
use_frameworks!due to missing React-featureflags header path (fb0d28c6fd by @radko93) - CocoaPods: Load
RCTDefines.hfirst in the prebuilt React umbrella and drop themodule *submodule wildcard so RCT_* macros propagate to consumer pods underuse_frameworks!. (90c303fafb by @wneel) - CocoaPods: Preserve Expo-generated
React-use-frameworks.modulemapacrossreplace-rncore-version.jsruns (ada39220a0 by @Insik-Han) - Dev Server: Fix iOS dev-support IPv6 handling for packager and inspector connections. (4a59f90c22 by @hannojg)
- Hermes: Fix compilation error in
createJSRuntimeFactoryand skip Hermes pods whenUSE_THIRD_PARTY_JSCis enabled (2d8143794d by @tux2nicolae) - Networking: Fix crash in
RCTWebSocketModulewhen delegate callbacks fire after module invalidation (587ef059a2 by @lukeharvey) - React Native DevTools: Fix inspector server host resolution for HTTPS bundle URLs by omitting default port (3582a8b2b5 by @cipolleschi)
- TextInput: Fix
NSRangeExceptioncrash inRCTBackedTextInputDelegateAdapterwhen text range is out of bounds (19350b1c8c by @lukeharvey) - View: Fixes crash when changing the value of
removeClippedSubviews(91e3f773b7 by @javache)
Security
- Dependencies: Bumped
fast-xml-parserfrom 4.5.0 to 4.5.4 to fix CVE-2026-25896 (56908a74c7 by @balajacatherin) - Dependencies: Bumped
minimatchto fix CVE-2026-27903, CVE-2026-27904 (c019a50a4c by @balajacatherin)
Hermes dSYMS: - Debug - Release
Hermes V1 dSYMS: - Debug - Release
ReactNativeDependencies dSYMs: - Debug - Release
ReactNative Core dSYMs: - Debug - Release
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.
