@react-native/assets-registry
0.88.0 · 15 Oct 2026MIT7.9M / weekRepositoryHomepagenpmAtom feed
88 stable releases, newest first, by release line. Notes are quoted as the maintainers published them.
- 0.88.x · latest line
0.88.0
15 Oct 2026- deprecated
JavaScript API: Deprecate
'react-native/Libraries/Core/InitializeCore'. Use'react-native/setup-env'instead. (554baba159 - deprecated
New Architecture: Deprecate fabricEnabled on ReactFragment (c7d62a125c
- deprecated
InputAccessoryView: Deprecate
InputAccessoryView(102fde7b6b
Added
C++: Add
<React/FeatureFlags.h>umbrella header as the public entry point forreact/featureflags(f970054a8aC++: Add
<React/RendererBridging.h>umbrella header as the public entry point forreact/renderer/bridging(5b680c5f9fC++: Add
<React/Timing.h>umbrella header as the public entry point forreact/timing(70f172d29fC++: Added missing mutex include in HostTarget.h (3f8f5c216a
EventTarget: Enable the imperative EventTarget API (
addEventListener,removeEventListener,dispatchEvent) on native view refs in canary (8480b86820Feature Flags: Add
enableImageTransparentTintColorfeature flag (c5bd054983- deprecated
JavaScript API: Deprecate
'react-native/Libraries/Core/InitializeCore'. Use'react-native/setup-env'instead. (554baba159 PlatformColor: Support a lazy raw color fallback for PlatformColor when native tokens fail to resolve (65008fcdd0
React Native DevTools: Experimental performance screenshots support and
Page.captureScreenshotis added to theEXPERIMENTALchannel (4be68ef785React Native DevTools: Support for inspecting WebSocket events in the Network panel is added to the
CANARYchannel (713ae6b1b9React Native DevTools: Users and agents can now capture app screenshots via the
Page.captureScreenshotcommand (00efc0a440Text: Add object syntax for
fontVariationSettings(376b99ff14TypeScript: Add
isInstalled()andclearAllLogs()to theLogBoxTypeScript declarations (a69badd468TypeScript: Add missing strictMode prop to FlatList TypeScript types (3e2403327c
TypeScript: Add TypeScript declarations for
requestIdleCallbackandcancelIdleCallback(c086431a4bVirtualizedList: Add missing ListItemComponent type to VirtualizedList props (5306e9229c
Android specific
Feature Flags: Add
enableMountingCoordinatorPullModelAndroidfeature flag (ece0efe837Network Inspection: Expose network event reporting to third-party networking stacks as an unstable API (83d0be8958
Networking: Send app name and version as the default
User-Agentheader for network requests, matching iOS (04e50d540d by Calvin Liu)Renderer: Add inert Java plumbing (
PullTransactionMountItem,FabricUIManager.onTransactionAvailable) for the pull model (6515647d94Renderer: Wire the pull-model mounting path in C++ behind
enableMountingCoordinatorPullModelAndroid(9da1a01153Text: Add
fontVariationSettingssupport for<Text>(19f7d144b9TextInput: Add
fontVariationSettingssupport forTextInput(a688608090TurboModules: Add
ArrayBuffer, the Java representation of a JSArrayBufferfor TurboModules, with an explicit byte-ownership contract (5bb9639594 by Kamil Paradowski)TurboModules: Add ArrayBuffer support to Java TurboModules (5fb3ebce1a by Kamil Paradowski)
TurboModules: Borrowed
ArrayBufferbytes are scoped to the synchronous call that received them.ArrayBuffer.bytesandArrayBuffer.sizethrowIllegalStateExceptionafterwards, and aByteBufferalready obtained frombytesis unchecked and reads freed memory, so copy withArrayBuffer.arrayBufferWithCopiedBytesto keep them (d84c13d511
iOS specific
Text: Add
fontVariationSettingssupport on iOS (8415753e21Assets: Use asset catalog for ios images (26769a00b2
CocoaPods: Add a
React-cxxstableapidependency to third-party New Architecture pods so they can resolve React Native's C++ API guard headers (d3daf111e0Legacy Architecture: Allow consumers to opt into
RCT_REMOVE_LEGACY_MODULE_INTEROPandRCT_REMOVE_LEGACY_COMPONENT_INTEROPfrom CocoaPods and SwiftPM. Both default to off and will become the default in a future release (b933d18177SceneDelegate: Add SceneDelegate lifecycle support (7bfe32fd33
Styles: Print warning advice when using
shadow*styles without providing a solid background color (eb4d3892ab
Changed
Babel:
Platform.OSandPlatform.select(...)inlining inreact-native/babel-presetnow requires theinlinePlatformoption in addition toplatform(f63b2a1cb5Babel: Inline
Platform.OSandPlatform.select(...)for React NativePlatformimports during the Babel preset, covering some cases that were previously left un-inlined. (40c06121a1Build: Add React Native Maven pull-through cache fallback for prebuilt artifacts. (3bfb277fec
Events: Enabled Web-based event dispatching refactor (31d33ce91b
Hermes: Bump Hermes to 260318099.0.3 (79024f7c59
Hermes: Bump Hermes to 260318099.0.4 (993be7d6c6
Hermes: Bump hermes-v1 to 260318099.0.1 (b113cf5864
Legacy Architecture: Core components (
ActivityIndicatorView,ModalHostView,PullToRefreshView,SafeAreaView,Switch) no longer report legacyRCT-prefixed names in their view configs (904812016fMetro: Bump Metro to 0.87.0 (fe511aba7c
Metro: Bump the minimum Metro version to 0.87.1, so upgrading projects resolve the same Metro as freshly created ones (f2439a83cf
React Native DevTools: When using the fallback flow for launching DevTools (desktop app fails to launch), Microsoft Edge will not be attempted. DevTools will open as a standard window in the default browser. (9efcdfc2b4
React: Sync React 19.3.0 into React Native (b0b71421c1
Runtime:
RuntimeSchedulernow clears pending tasks and rendering updates when a task throws (14184ec643Runtime: Async
CallInvokerwork is now buffered alongside callable module calls, so it no longer runs before the JS bundle has finished evaluating (3ca6ea3ecaStyles: Remove
experimental_prefix frombackgroundSize,backgroundPositionandbackgroundRepeat(7844386bbdTypeScript: Allow module augmentation to extend generated props and style types (447ccd1ddb
UIManager:
UIManager::startSurfaceandUIManager::setSurfacePropsnow takemoduleNameandpropsby value (85a81818c6
Android specific
Dev Server: Removed FileIoHandler packager message handlers (e3598fac12
Image: ImageProps make
tintColoranstd::optionalto support colortransparent(0) with props 2.0 (f535c97904- deprecated
New Architecture: Deprecate fabricEnabled on ReactFragment (c7d62a125c
iOS specific
Build: Prebuilt artifacts: ReactNativeHeaders is pure-RN; third-party deps headers ship in the new ReactNativeDependenciesHeaders.xcframework sidecar (and the ReactNativeDependencies pod), published standalone to Maven (6aa147f6c9
CocoaPods: Cache Maven repository requests (artifact existence probes, nightly metadata) during pod install to avoid re-issuing identical requests on every podspec evaluation (88feed55c0
Dev Server: Declare
RCTBundleURLProviderAllowPackagerServerAccessunconditionally (no-op when packager support is compiled out) (54656471a5Dev Server: Make iOS preserve dev bundle as a temp file on par with Android implementation (e2a4c68449
Legacy Architecture: Compile out
RCTGetModuleClasses/RCTRegisterModuleand skip static module registration when bothRCT_REMOVE_LEGACY_MODULE_INTEROPandRCT_REMOVE_LEGACY_COMPONENT_INTEROPare defined (5d62ca4296RNTester: Update RNTester and HelloWorld for SceneDelegate lifecycle behavior (609bdddabf
StatusBar: Downgrade RCTStatusBarManager error to a warning when UIViewControllerBasedStatusBarAppearance is YES (9e71c443ac
SwiftPM: Download SwiftPM prebuilt artifacts from the React Native Maven mirror first, with Maven Central as fallback (c2dac6abcc
TextInput: Adds localization for Text Input default return key types (507023622b
Deprecated
Android specific
- deprecated
InputAccessoryView: Deprecate
InputAccessoryView(102fde7b6b
Fixed
Accessibility: Fix accessibility list role conversion in C++. (aa96fa64d1
Animated:
addListenerfires again for natively drivenAnimatedvalues derived withadd/subtract/multiply/divide/modulo/diffClamp/interpolate(ce621bbd5bAnimated: Add
ReactRevisionMergesource to the AnimationBackendCommitHook (ca53751780 by Bartlomiej Bloniarz)Animated: Perform AnimationEndSync commits on the React revision (7d855222cd
Babel: Apply normal preset defaults when invoked without a Babel API or options object. (9ad8c830bd
Babel: Detect trivia-separated React.createClass calls in optimized preset configuration. (619c8aed24
Babel: Inline the last duplicate key from static Platform.select object literals. (bbdeb7dc1d
Babel: Keep private class transforms enabled for profiles that lower classes. (0c0e9f0840
Blob: Retain Blob reference in FileReader during pending native reads to prevent premature deallocation by BlobCollector (568eaa6b69 by heecheolman)
C++: Fixed MSVC compilation of NativeDOM.cpp by removing backticks (e979b0ef8d
Codegen: Codegen no longer hangs on type aliases that shadow CodegenTypes member names (42be7452d5
Codegen: pass the target platform when generating schemas so platform-specific sources (e.g.
NativeModule.ios.ts) resolve correctly (f46ace878aCodegen: React-native-codegen build.sh on AppleVirtIOFS volumes (27b5f761b1
Codegen: Run native component codegen when Flow type arguments are separated by trivia. (0d64c9a13a
DeviceInfo: Refresh
DeviceInfoconstants on each read (9d10e39d32DOM API: Resolve native EventTarget names that overlap Object prototype properties. (621ced78e9
EventEmitter: Support EventEmitter event names that overlap Object prototype properties. (790289c1d6
FileReader: Fire
loadstart, throwInvalidStateErroron overlapping reads, and exposeFileReader.erroras aDOMException. (544141efabFileReader: Keep
FileReaderin the correct state after aborting a read. (e92816c5a5Gradients: Fix radial-gradient
at <position>being ignored (and corrupting the size) when it follows an explicit size (66f27eb93eGradients: Reject percentage radii for circle radial gradients, matching web behavior (5821fcaf5d
Image: Preserve Image source headers when using crossOrigin or referrerPolicy (08c7781e5a
IntersectionObserver: Sort IntersectionObserver threshold arrays numerically. (ee32dfc8b9
JavaScript API: Additional Props/Style types are now defined as
interface, fixing compatibility with certain DefinitelyTyped packages (593ae0258dJavaScript API: Fix requestIdleCallback timeout option being ignored (0a1a06c5ea
Networking: Fix XMLHttpRequest.setRequestHeader to append duplicate headers per spec (58bf844967
Networking: Preserve buffered and empty Cxx WebSocket frames and serialize writes. (92cd588a5c
Performance: Round instead of truncate when converting a
DOMHighResTimeStampback to nanoseconds, soHighResTimeStampandHighResDurationround trips are exact (c467843ed0ScrollView: Fix maintainVisibleContentPosition with rapid data updates (#53542) (5cb65244dc
Styles: Fix
transformOriginstring parsing for decimal percentage and pixel values. (0a60ec9deaStyles: Preserve negative values in
transformOriginstrings. (4501979c1aStyleSheet: Use cached results for already normalised colors (092734772a
Text: Fix Text truncation when string contains NULL character \u0000 (#24129) (5906cfb060
Text: Prevent Text from mutating the accessibilityState prop (c300f84f2c
TextInput: blur focused input before unregistering it on unmount, fixing the Android soft keyboard staying open after navigating away from a focused input (d13d2b0a5f
TurboModules: Revert the
RCTArrayBuffercodegen change, restoringNSMutableData *for ObjC TurboModule methods that take or return anArrayBuffer. 0.88 is a non-breaking release, and the change stopped modules that adopted ObjCArrayBuffersupport in 0.87 from compiling (639cdedb50, 19a3184981TurboModules: Revert the rejection of
ArrayBufferas a TurboModuleEventEmitterpayload. C++ TurboModules could declareEventEmitter<ArrayBuffer>in 0.87 and it generated working code, so rejecting it at codegen time broke those builds (070af03ab3TurboModules: TurboModule event emitters no longer throw when an event is emitted before the emitter callback is installed (4bf5575490
TypeScript: Add missing types for the public
AssetRegistryAPI (b8ec87e457TypeScript: Fix TS2883 when building declaration files for libraries that use
codegenNativeComponentdue to unreachableNativeComponentType<T>(391723e869TypeScript: Restore the
.jsfallback for legacy deep imports of untyped modules, soreact-native/Libraries/*specifiers resolve again under thereact-native-legacy-deep-importscondition (579212e15cVirtualizedList: Fix the Metro package-exports warning caused by
react-native/virtualized-listsimporting an unexported React Native subpath (a506ed66ccVirtualizedList: Ignore stale viewability updates while enforcing minimum view time (1c4a46f4e3
VirtualizedList: Invalidate list content length when orientation changes. (e59a1d252c
VirtualizedList: Prevent zero-sized lists from reporting viewable items (c057b1fa01
Android specific
Accessibility: Fix crash when
accessibilityRole="tabbar"is used on Android (a4733b1ca1Accessibility: Properly re-enable a view after
accessibilityState.disabledresets fromtrue, which leftPressablepartly untappable (357b6998c4Build: Export
jserrorhandlerheaders in thereactnativeprefab so external consumers of cxxreact/ErrorUtils.h can build. (f2a6db9fceDev Menu: Persist Change Bundle Location debug server host changes (d2ac190411
Dev Server: Stop dev server WebSockets from throttling bundle downloads and other dev server requests (cc5dd59742
Gradle: Use the JVM temp dir instead of a hardcoded
/tmpfor the build-from-source container project dirs, fixing Gradle configuration on Windows (908872a68ei18n: Detect RTL from the active locale instead of an arbitrary installed one (e46189e1e1
- deprecated
Image: Deprecate the
String?overloads ofReactImageManager#setDefaultSourceandReactImageManager#setLoadingIndicatorSource(3a95e0e93c Image: Fix
Image.getSize()andImage.getSizeWithHeaders()rejectingdata:URIs (8cfde6d083 by Cole Huntley)Image: Fix crash when setting a percentage borderRadius on Image (f2a250ad89
Renderer: Bump androidx.collection to 1.4.4 to fix view registry entries getting lost in
SurfaceMountingManager(d6a5f159c6Renderer: Fix IllegalStateException in SurfaceMountingManager.removeViewAt (3f553d76bc
Renderer: Pull model mounting is now deferred until the root attaches (2f5a8332cf by Bartlomiej Bloniarz)
Runtime: Prevent a startup crash when the WindowMetrics API is missing on an inconsistent Android runtime (3f9cc72309
Runtime: Report a fatal JS error instead of aborting the process when reading the error's extra data fails (41b375eb04 by generatedunixname1608173377072046)
Styles: Fix crashes when
outlineColoris provided as a numeric color value (53b933feca by HURRAEY)Text: Fix Text with adjustsFontSizeToFit being clipped when container height decreases dynamically (63064687e2
Text: Keep inline views inside Text from shrinking with Android system font scale (551d12a787
TextInput: Ellipsize long single-line TextInput placeholders to match iOS (7f18ad0f84
TextInput: Show the soft keyboard when a long-press starts text selection in TextInput (9195e52706
View: Resetting border widths no longer clips children in rounded overflow-hidden views. (146aaac7ee
ViewManagers: Fix
Doubleprop defaults being rounded to float precision in generatedViewManagerdelegates (2c4278d83bViewManagers: Fix
RuntimeException: Unrecognized type: class com.facebook.yoga.YogaValuewhen aViewManagerimplements aDimensionValueprop withReactProp(091ac613ceViewManagers: Fix
RuntimeException: Unrecognized type: class java.lang.Floatwhen aViewManagerimplements a nullable float prop (WithDefault<Float, null>) withReactProp(8d23b14da6VirtualizedList: Fix ListMetricsAggregator cell metrics not clearing on orientation change and guard against divide-by-zero (3b90423076
iOS specific
Accessibility: Views with checkbox, radio, combobox, dropdownlist, menuitem, spinbutton, tab, option, searchbox, slider and treeitem roles are now reachable via Full Keyboard Access (05b97de823
Accessibility: VoiceOver text readout when changing elements asynchronously (082d787a1e
Appearance: RCTAppearance.setColorScheme() no longer crashes CarPlay apps when connectedScenes contains a non-UIWindowScene (00a5aa9223
Assets: Asset catalog imagesets paired wrong files for assets with non-standard scales (74b984729b
Blob: Fix intermittent native crash (CoreServices/UTType XPC) in RCTBlobManager when deriving blob names for network responses (671705dfb1
Codegen: Codegen now discovers third-party component libraries without an iOS configuration. (917d97eb12
Codegen: Fixed intermittent "Cycle in dependencies between targets 'ReactCodegen' and ..." Xcode build error that occurred on incremental iOS builds when an app's
codegenConfig.jsSrcsDircontained noNative*/*NativeComponentspec files. (0b0eb8d012Codegen: No longer crawls
node_modulesor follows symlinks when discovering components (39751d864dDev Server: Create the RCTDevSettings packager connection in initWithDataSource so instances built that way also receive packager commands (e71fc4e32f
DeviceInfo: Refresh
DeviceInfoconstants after interface dimension changes (b743a8a35bHermes: Set
always_out_of_dateon hermes-engine'sReplace Hermesscript phase (d89c432659i18n: Align text to the right by default in RTL when
textAlignis not set, matching Android (1b92b02f99Image: aria-* state props are no longer ignored when accessibilityState is also present (c3caea9b5e
LogBox: Prevent RedBox auto-retry from reloading while backgrounded (b587763f40
PushNotificationIOS: Fix main-thread watchdog hang in PushNotificationIOS.setApplicationIconBadgeNumber (6f6efed3e7
ReactHost: Forward
host:didInitializeRuntime:callback to user delegate inRCTReactNativeFactory(98dc7d6423Renderer: Log missing native component registrations on iOS and Android (ef28a2c9d5
Renderer: Report a
RCTViewComponentViewchild-index mismatch instead of raisingNSRangeExceptionwhile formatting the assert message (1291d7ce8eRenderer: Reset EmptyLayoutMetrics in RCTViewComponentView prepareForRecycle so recycled views clear UIView.hidden (711a9a5e07
Runtime: Avoid an unhandled exception in bridgeless
ReactInstance::registerSegmentwhen an on-demand JS segment file is missing from the cache at lazy-load time (fff4994af8 by generatedunixname1608173377072046)ScrollView: Prevent recycled ScrollViews from retaining automatic keyboard inset behavior. (e0aa7a8b0a
ScrollView: Programmatic (non-user-initiated) scrolls no longer cancel active touches in enclosing scroll views (06eb1fefab
Styles: Render
outlineStyle: 'dotted'and'dashed'on views without border radii (9f31d5ae9fSwiftPM: Generated manifests derive their iOS platform floor from the app's
IPHONEOS_DEPLOYMENT_TARGETinstead of hardcoding iOS 15, so dependencies with a higher minimum (e.g. Expo, 16.4) can be autolinked (92564f33fdSwiftPM: Read the SwiftPM name from the podspec and store it in package.json when scaffolding (1cfc5f29a0
SwiftPM: Run generated build scripts under bash instead of /bin/sh, so they don't break on a host where /bin/sh isn't bash (25f48bd72f
SwiftPM: Stop autolinking from recreating library package roots on every sync, which broke Xcode builds of apps using libraries that ship their own
Package.swift(97cc934dc7SwiftPM: stop baking an absolute, machine-specific HERMES_CLI_PATH into the app's pbxproj; resolve hermesc at build time instead (fcbeda1109
Switch: Restore
paperComponentName: 'RCTSwitch'to fixtesting-library/react-nativequeries (38fd9d57dfText: Correctly classify extralight fonts as
UIFontWeightUltraLightinRCTGetFontWeight(3b5d0a6526Text: Prevent the final line or trailing glyph of text from being clipped due to pixel-grid rounding precision loss (5e40a1771e
TextInput: Preserve TextInput selection color when changing multiline. (56c284e152
TextInput: update the keyboard when
keyboardType/returnKeyTypechange while the input is focused (new architecture parity with the legacy architecture) (0f1bdddfb3Touch Handling: Fix debug-only crash in RCTSurfaceTouchHandler from UITextView text-selection gestures on iOS 17+ (433e79d2f4
TurboModules: Include the module and method name in exceptions rethrown from async and void TurboModule calls (253a84c8d1
TurboModules: Pass a top-level JS
nullTurboModule argument to Objective-C asnilinstead ofNSNullwhenenableModuleArgumentNSNullConversionIOSis enabled (ea291d7422
Security
- security
Dependencies: Fix: upgrade shell-quote to 1.8.4 (CVE-2026-9277) (fea5e11d9c
- 0.87.x
0.87.1
26 Aug 2026SwiftPM: Added hard fail and clear error message when an autolinking plugin host is referenced as a dependency (90a539c92d
Hermes: Bump hermes-v1 to 250829098.0.17 (861e2d0bde
Animated:
Animated.Value.addListener()types its callback payload as{value: number}rather thanany(3eab03df4c
Added
iOS specific
SwiftPM: Added hard fail and clear error message when an autolinking plugin host is referenced as a dependency (90a539c92d
Changed
Hermes: Bump hermes-v1 to 250829098.0.17 (861e2d0bde
Fixed
Animated:
Animated.Value.addListener()types its callback payload as{value: number}rather thanany(3eab03df4cAnimated:
Animated.event()is typed as an event handler rather thanany(3eb330a365
iOS specific
Cocoapods: Keep the quotes on header search paths containing spaces in
add_rn_third_party_dependencies(71c6bfbfdcSwiftPM: Reject colliding or invalid spm.modules names instead of silently dropping a module from the build (39cd1dfc4c
SwiftPM: Resolve Swift manifest naming collisions (962aeec5e5
SwiftPM: Fixed not reading spm.name from react-native.config.js when scaffolding the Swift manifest (482acee824
SwiftPM: Removed unused field spm.modules.publicHeaderFiles from react-native.config.js's spm section (5168f5f831 by Christian Falch)
SwiftPM: SwiftPM pipeline now reads react-native.config.js with default exports correctly (ed76640ba6
SwiftPM: Created constants for internal SwiftPM packages so that we can create guards to avoid collisions (d36aa4961d
SwiftPM: Set SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG when injecting SPM (4433cdbe62
SwiftPM: Recover React-Core-prebuilt configuration swaps that were interrupted before the marker was updated (a772a7ca16
SwiftPM: Fix Hermes runtime/compiler version mismatch causing "Wrong bytecode version" crashes in SwiftPM Release builds (ead93778a1
0.87.0
11 Aug 2026- breaking
Appearance: Fix return type of
useColorScheme()hook (nowColorSchemeName | null) (ef6463c25d - breaking
Appearance:
useColorScheme()no longer returns'unspecified'(this was always the case, but is a breaking type change) (8ac88f481a - breaking
CLI: The
react-native/core-cli-utilspackage is no longer published. It remains available in the React Native repo as a reference implementation. (9c3fddf9cd
Breaking
- breaking
Appearance: Fix return type of
useColorScheme()hook (nowColorSchemeName | null) (ef6463c25d - breaking
Appearance:
useColorScheme()no longer returns'unspecified'(this was always the case, but is a breaking type change) (8ac88f481a - breaking
CLI: The
react-native/core-cli-utilspackage is no longer published. It remains available in the React Native repo as a reference implementation. (9c3fddf9cd - breaking
Hermes: Remove Legacy Hermes from C++ code (f9476256bd
- breaking
JavaScript API: Deep imports to
'react-native/src/private/...'have been restricted, and are no longer visible to TypeScript. These subpaths still exist, but do not have type coverage. (142b6172a9 - breaking
JavaScript API: The
NativeDialogManagerAndroidexport is removed. (a793d21a7e - breaking
JavaScript API: The
Touchableroot export (undocumented) is removed. If you are extendingTouchableas a type, please useViewPropsinstead. (6fbf3062f9 - breaking
JavaScript API:
react-native/rn-get-polyfillsis removed — please usereact-native/js-polyfills(package) (b6a535afee - breaking
Jest:
react-native/jest-presetis removed — all projects must now migrate toreact-native/jest-preset(package) (9ee21ddd9b - breaking
Legacy Architecture: Compile out RuntimeScheduler_Legacy under RCT_REMOVE_LEGACY_ARCH (d205267a5f
- breaking
LogBox: Set max font scaling in
LogBoxto avoid layout breaking (4aef2b0126 - breaking
Node: Require Node.js >= 22.13.0 (a0d39e7a9c
- breaking
React Native DevTools: Remove support for connecting to the standalone
react-devtoolspackage via WebSocket. Use React Native DevTools instead. (f1971caa44 - breaking
Renderer: Remove RawPropsKey prefix and suffix (67381e157f
- breaking
Runtime: Remove the
SceneTrackermodule fromLibraries/Utilities, stop setting the active scene fromAppRegistry.runApplication, and pass the app key as an optional second argument toWrapperComponentProvider(bbb5be9b41 - breaking
ScrollView: Remove deprecated boolean values support for
ScrollViewkeyboardShouldPersistTaps(5bf3e38db2 - breaking
StatusBar: Remove deprecated
StatusBarbackgroundColor/translucent/networkActivityIndicatorVisibleprops andsetBackgroundColor/setTranslucent/setNetworkActivityIndicatorVisiblemethods (6b45e579d6 - breaking
Strict TypeScript API: Remove legacy
NativeMethodsandNativeMethodsMixintypes (b724611aec - breaking
Strict TypeScript API: React Native's default JavaScript API is now the Strict TypeScript API. Use
customConditions: ["react-native-legacy-deep-imports"]to opt out. (c948b61c05
Android specific
- breaking
AGP: Adopt AGP v9 (abb071b135
iOS specific
- breaking
Build: [0.87] Pick SwiftPM support chain (#57442, #57332, #57564) (486df8d410
- breaking
Build: Ship a version-stamped ReactNativeVersion.h in the prebuilt iOS core artifacts instead of the 1000.0.0 dev sentinel (95df50034b
- breaking
Legacy Architecture: Remove depracted legacy architecture protocol APIs (ad9936faf6
- breaking
Legacy Architecture: Remove unused legacy architecture RCTAppSetupUtils methods (40b16dca9f
- breaking
Legacy Architecture: Remove RCTBridge Functions from RCTReactNativeFactory Header (75eaff4c03
- breaking
Legacy Architecture: Remove unused bridge-based RCTTurboModuleManager initializer (cb74b82309
- breaking
Legacy Architecture: RNTester / RCTReactNativeFactory remove unused new architecture flags and RCTArchConfiguratorProtocol (2148f15db5
- breaking
Legacy Architecture: Remove 6 empty Objective-C stub headers (23ce90bd3b
- breaking
Legacy Architecture: Remove legacy architecture code guarded by RCT_REMOVE_LEGACY_ARCH from RN iOS (86350ab988
- breaking
Legacy Architecture: Removing further legacy arch symbols such as RCTCxxBridge (c65281581d
Added
Animated: Support native driven AnimatedValue interpolation easing (57ce6bc585
Animated: Remove
useNativeDriverunder featureflag animatedForceNativeDriver (9cf30b6e4bAnimated: Remove
useNativeDriverunder featureflag animatedForceNativeDriver (cffe14ff57Animated: Add
optimizedAnimatedPropUpdatesfeature flag (ed96b22af2 by Bartlomiej Bloniarz)Assets: Introduce
react-native/asset-utilspackage (relocates Android path utils for libraries/frameworks) (41d52189e2- deprecated
JavaScript API: Deprecate
'react-native/Libraries/Core/InitializeCore'. Use'react-native/setup-env'instead. (bfa679f0ea Legacy Architecture: Gate shared C++ and Android Java/Kotlin legacy view manager interop behind
RCT_REMOVE_LEGACY_COMPONENT_INTEROP(9885fe95efLegacy Architecture: Gate legacy view manager interop behind
RCT_REMOVE_LEGACY_COMPONENT_INTEROP(8b959b46eaLegacy Architecture: Gate legacy TurboModule interop behind
RCT_REMOVE_LEGACY_MODULE_INTEROP(3278f309e2MapBuffer: Add
IntBufferandDoubleBufferentry types to MapBuffer for compact homogeneous int/double arrays (e7cadaf9f3Performance: Add
Systrace.tracehelper that wraps a function with begin/end events using try/finally (e6c7a269d2React Native DevTools: Implement the
Page.addScriptToEvaluateOnNewDocumentandPage.removeScriptToEvaluateOnNewDocumentCDP methods in the modern inspector (bc20ec88ebRNTester: Add All Animated Props example to the rn-tester Animation Backend section (e2e655385c by Bartlomiej Bloniarz)
RNTester: Add Performance Test example to the rn-tester Animation Backend section (09e55cb7c6 by Bartlomiej Bloniarz)
StatusBar: Support
barStyle="auto"to follow the current color scheme (61c8b040bfStrict TypeScript API: Component and API doc comment coverage has been significantly improved (701de4ec3d
Strict TypeScript API: Export
Animated.Numeric(6206b0b01fStrict TypeScript API: Add
*Instanceref types for all built-in components (a3827f32f4Text: Add support for
textAlign: 'start'andtextAlign: 'end'. (ca29d38537Text: Text decorations honor
textDecorationStyle(solid,double,dotted,dashed,wavy) (87184c8fbaTurboModules: Add
ArrayBuffersupport to C++ TurboModules (226ef2e7c5TypeScript: Add
selectiontoTextInputChangeEventDatain TypeScript types (e745c41a6bTypeScript: Export
AccessibilityActionInfo,ImageResizeMode,EdgeInsetsProp, andTextInputBlurEventtypes (ee36c67a27TypeScript: Add
Promise.try+Promise.withResolverstypescript types (b99ddaf606TypeScript: Add TypeScript support for Error
causeproperty (abcb7821b1Yoga: Add CSS Flexbox §4.5 automatic minimum sizing. Opt in by clearing the new
YGErrataMinSizeUndefinedInsteadOfAutoerrata bit onYGConfig. (b766986387Yoga: Add CSS Flexbox §4.5 automatic minimum sizing. Opt in by clearing the new
YGErrataMinSizeUndefinedInsteadOfAutoerrata bit onYGConfig. AddsYGNodeSetMinContentWidth/Heightfor static contributions andYGMinContentMeasureFuncfor dynamic ones.' (7f396d1116
Android specific
Android SDK: Update
compileSdkandbuildToolsto 37 (3e8dfb1e64MapBuffer: Add a dedicated
MapBufferListtype toMapBufferfor ordered lists of nestedMapBuffers (6a957746f6Permissions: Add
ACCESS_LOCAL_NETWORKtoPermissionsAndroidand request it so the dev server stays reachable on Android 17 (SDK 37) (2bc2c8d7e6Runtime: Add
ReactContext.getRuntimeExecutor()(dc9043e940ScrollView: Added an entry point that allows changing whether the scrollable React Native containers should delay pressed state in children views (91b2537f8a
View: Use software snapshot capture unless featureflag (ba204faa75
iOS specific
Build: Fail closed with an actionable error when the SwiftPM autolinking config command fails, instead of silently emitting an empty Autolinked package (a7ba4ce522
i18n: Added comment to clarify why i18nManager.isRTL may not return the expected value (e4a5ed3c6d
Native Modules: Export
RCTDidInitializeModuleNotificationModuleKeyconstant forRCTDidInitializeModuleNotificationuserInfo (217ee52d4f by Eapen George)Text: Add
enableIOSCompressedTextFrameAdjustmentfeature flag forTextrendering adjustments. (b933d45276Text:
textDecorationStyle: 'dotted'and'dashed'for<Text>render with custom CoreGraphics paths instead of UIKit pattern bits, matching browser geometry more closely (9d037509bfTurboModules: Add ArrayBuffer support to ObjC TurboModules (54b88d9dea
Changed
Animated: Enable Animated flush-queue debouncing (
animatedShouldDebounceQueueFlush) by default (5c197fb303Animated: Flip cxxNativeAnimatedEnabled featureflag default to true (fc7dc741d2
Animated: Xplat/js/react-native-github/packages/react-native/ReactCommon/react/renderer/animated/drivers/DecayAnimationDriver.cpp (69b58f308e by generatedunixname1563563004708334)
Build: Fix missing VERSION_NATIVE_FB in commit artifacts (c6f29a2173
C++: Xplat/js/react-native-github/packages/react-native/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp (ce057d6554 by generatedunixname1563563004708334)
Dependencies: Replace
abort-controllerwith fork version from react-native (6f3375a140Documentation: Clarify Android AppState background API documentation. (b09fce6db5
DOM API: Make
EventTargetmethods enumerable by spec (25c25b3c7cFlow: Turn on
experimental.instance_t_objkit_fixacross fbsource roots (71fee907fbFlow: Transform readonly in xplatjs (5fce2de800
Flow: Fix a few readonly 10/n (09fc0432d1
Flow: Codemod
in/out(9f558a4d6aHermes: Change default transform profile to 'hermes-stable' (a2cd37f828
Hermes: Simplified build JS Hermes infrastructure for the Release (d49aac6b65
Hermes: Bump Hermes V1 to 250829098.0.13 (0175449606
IntersectionObserver: Expose
IntersectionObserverEntryas a global (4deb32a507Metro: Metro to 0.86.0 (2b0107e0aa
Metro: Bump Metro to 0.87.0 (0565bcdbab
React Native DevTools: Expose new options in the app menu (24e370096e
React Native DevTools: Add macOS 26/27 app icon (fa371d156d
Runtime: Make the
windowglobal non-writable and non-configurable, and thenavigatorglobal non-writable (347f8d081eStrict TypeScript API: Additional component props types are now
interfacedeclarations, enabling module augmentation by libraries like Uniwind (preserve compatibility) (2574863642Strict TypeScript API: Select component props types are now
interfacedeclarations, enabling module augmentation by libraries like NativeWind and Expo (preserve compatibility) (db89600b56StyleSheet: Make
flattenStyleavoid extra intermediate objects when flattening nested style arrays. (d26f7b338dStyleSheet: Remove
experimental_prefix frombackgroundImage(58688bf176TurboModules: The default value of the
useTurboModulesReactNativeFeatureFlags flag is nowtrue(db4c6ee3b6VirtualizedList: Speed up VirtualizedList render-mask creation for large lists by avoiding the old backward sticky-header scan when sticky headers are missing or sparse. (fe53279889
Yoga: Mark parent dirty when child is freed (4adca58f4c
Android specific
Android SDK: Set minCompileSdk to 34, libraries will have to specify a compileSdk of >= 34 in order to work with React Native (29e5f954c7
Build: Add license header to ProGuard files (b3c0f3ce30
Gradle: Gradle to 9.4.1 (c0ee408c16
i18n: Translation auto-update for batch 3/64 on master (9299204523 by Intl Scheduler)
i18n: Translation auto-update for batch 3/64 on master (10ec4ad01a by Intl Scheduler)
i18n: Translation auto-update for batch 2/64 on master (a902d7402c by Intl Scheduler)
Kotlin: Convert
ReactHorizontalScrollViewfrom Java to Kotlin (5c680995bdKotlin: Convert
ReactScrollViewandReactNestedScrollViewfrom Java to Kotlin (9d65e6c497Kotlin: Migrate
ReactShadowNodeinterface from Java to Kotlin (f07c7cceeeKotlin: Migrate
UIManagerModulefrom Java to Kotlin (21dfc2a855Kotlin: Migrate
UIViewOperationQueuefrom Java to Kotlin (7a8344c037Kotlin: Migrate
BridgeReactContextfrom Java to Kotlin (6720760fafKotlin: Migrate
ReactNativeHostfrom Java to Kotlin (no behavioral changes) (7eb11331b6Kotlin: Bumped min Kotlin version to 2.0+ (ec1e1ae054
Kotlin: Bump Kotlin to 2.2.0 (cb04956cde
Kotlin: Daily
arc lint --take KTFMT(f9ba09d60e by generatedunixname1430061942044674)Kotlin: Make CustomEventNamesResolver a fun interface for SAM conversion (df4cadc126
Kotlin: Migrate YogaWrap enum to Kotlin (6e262624fc
Kotlin: Migrate YogaUnit enum to Kotlin (97cf21dd41
Kotlin: Migrate YogaPositionType enum to Kotlin (d181829b9c
Kotlin: Migrate YogaOverflow enum to Kotlin (14c1d164d5
Kotlin: Migrate YogaNodeType enum to Kotlin (bb137aa028
Kotlin: Migrate YogaMeasureMode enum to Kotlin (b7801f29c5
Kotlin: Migrate YogaLogLevel enum to Kotlin (5d5350b1e4
Kotlin: Migrate YogaJustify enum to Kotlin (084a77631f
Kotlin: Migrate YogaGutter enum to Kotlin (26862a0251
Kotlin: Migrate YogaGridTrackType enum to Kotlin (f1b488f5da
Kotlin: Migrate YogaFlexDirection enum to Kotlin (984621b212
Kotlin: Migrate YogaExperimentalFeature enum to Kotlin (70ebd43a1a
Kotlin: Migrate YogaErrata enum to Kotlin (d695a5cff4
Kotlin: Migrate YogaEdge enum to Kotlin (2be96e8d92
Kotlin: Migrate YogaDisplay enum to Kotlin (9580a54273
Kotlin: Migrate YogaDimension enum to Kotlin (2d2b9924e3
Kotlin: Migrate YogaBoxSizing enum to Kotlin (fe154568e5
ViewManagers: Corrected nullability of
ViewManager#measure(63683f091c
iOS specific
Build: Prebuilt-deps mode: serve third-party headers from the ReactNativeDependencies pod itself and resolve community
s.dependencyon RCT-Folly/glog/boost/etc. via dependency-only facade pods (a8156acf8bBuild: Remove the Clang VFS overlay from prebuilt React Native Core; resolve headers via React.xcframework + a new headers-only ReactNativeHeaders.xcframework (376bd0e464
Native Modules: Native modules listed in
unstableModulesRequiringMainQueueSetupare now always initialized eagerly on the main queue during React Native init; the previousenableEagerMainQueueModulesOnIOSopt-in flag has been removed. (36bec56b0bRenderer: Drain React-revision merges from a
BeforeWaitingmain run loop observer instead of dispatching each merge as a separate main-queue block (d80377cd60Runtime:
RCTUnsafeExecuteOnMainQueueSyncand bridgeless sync runtime-thread calls now always use the coordinator implementation that pumps UI tasks while waiting for JS, eliminating a class of deadlocks. The previous opt-in flag has been removed. (eaf770433a
Deprecated
- deprecated
Appearance:
Appearance.setColorScheme('unspecified')is deprecated, use'auto'instead. (91702e50fe - deprecated
Assets: Deprecate
react-native/assets-registry. UseAssetRegistryfromreact-nativeandreact-native/asset-utilsinstead. (715eeaad69 - deprecated
Image: Deprecate
ImageBackground, use aViewwith an absolutely positionedImageinstead (2361189716 - deprecated
JavaScript API: Mark undocumented
UTFSequencemodule as deprecated (549e4e2d8d - deprecated
JavaScript API: Mark undocumented
UTFSequencemodule as deprecated (fd49bf2e2c - deprecated
TypeScript: The
NativeMethodsinterface is deprecated. UseHostInstanceinstead. (19f5691e39 - deprecated
Yoga: Fix CQS signal modernize-deprecated-headers in xplat/yoga/yoga [B] [A] (61db78db0b by generatedunixname1587093422349604)
Android specific
- deprecated
APIs: Deprecate
DrawerLayoutAndroid, usereact-native-drawer-layoutinstead (5c5e6cd8ce - deprecated
New Architecture: DefaultReactActivityDelegate's constructor taking new arch flags are deprecated (935f8e5b7d
- deprecated
UIManager: Deprecate
UIBlockinterface andUIManagerModule.addUIBlock/prependUIBlockmethods. UseUIManagerListeneror View Commands instead. (29a76918a9
Removed
- breaking
C++: Removed RCTDefaultCxxLogFunction (2b6f605b3c
- breaking
Feature Flags: Remove unused
enableVirtualViewDebugFeaturesfeature flag and the associatedFlingItemOverlay/FlingDebugItemOverlaydebug surfaces. (083fd99ba4 - breaking
Feature Flags: Remove the experimental native View prop transformation feature flag. (2c2cd9ef54
- breaking
Feature Flags: Removed the unused
disableMaintainVisibleContentPositionfeature flag from ReactNativeFeatureFlags (661ce06e02 by generatedunixname1608173377072046) - breaking
Feature Flags: Remove unused
useLISAlgorithmInDifferentiatorfeature flag and LIS algorithm code from the Differentiator (9f4513c751 - breaking
InteractionManager: Remove deprecated
InteractionManager(userequestIdleCallbackinstead) (ed893f7d98 - breaking
Modal: Remove deprecated
Modalanimatedprop (fd10410d51 - breaking
Strict TypeScript API: Remove deprecated
PublicScrollViewInstanceandPublicModalInstancetypes. UseScrollViewInstanceandModalInstanceinstead. (74fdfd1eab - breaking
TurboModules: Remove the
useTurboModulesfeature flag. TurboModules are now always enabled. (b4a715ca1f
Android specific
- breaking
Dev Server: Remove unused
DevServerHelper.websocketProxyURLproperty (legacy remote JS debugger) (9cb2e63c87 - breaking
DeviceInfo: Remove
DisplayMetricsHolder.getWindowDisplayMetrics,setWindowDisplayMetrics, andgetDisplayMetricsWritableMap(82536f230f - breaking
Hermes: Remove hermesV1Enabled and simplify the code (0a5c8c6b4b
- breaking
Legacy Architecture: Remove legacy architecture stub
UIImplementation. This class was already non-functional (all methods were empty stubs). (cf28e6b73c - breaking
Legacy Architecture: Remove legacy architecture stub
UIImplementation. This class was already non-functional (all methods were empty stubs). (0825f21171 - breaking
Performance: Deprecate
logMarkerBridgelessandlogTaggedMarkerBridgelessin favor oflogMarkerandlogTaggedMarker(319610d328
iOS specific
- breaking
Hermes: Remove the RCT_HERMES_V1_ENABLED from Cocoapods (940ee8ae0d
- breaking
Legacy Architecture: Legacy arch removal: RCTCxxMethod and DispatchMessageQueueThread (3b764745c4
- breaking
Native Modules: Deprecate
TimingModule; will be removed in a future React Native release (b0a6386995
Fixed
Animated: Fix a surface-stop race in the C++ Animated shared backend that could permanently leak per-surface animated state (d9d2502b61 by Bartlomiej Bloniarz)
Animated: Fix a race in the C++ Animated render-callback lifecycle that could leave stale callbacks running on every frame (e442c496b7 by Bartlomiej Bloniarz)
Animated: Sync JS-side
Animated.Valuewith the post-animation value before invokingAnimated.timing(...).start({finished})callbacks so reads from inside the callback (or from React re-renders it triggers) observe the post-animation value rather than the pre-animation value. Gated behind a new JS-only feature flag,animatedShouldSyncValueBeforeStartCallback, defaulting totrue(set tofalseto opt out). (ee6958a9f4Assets:
react-native/Libraries/Image/AssetRegistryis removed. Please use theAssetRegistryAPI (apps/library code) and/or thereact-native/asset-registryentrypoint (Metro/build configs). (6cfde8f296Blob: Fix
Blob.slice()for negative start offsets and inverted ranges (b29dc966a4Documentation: Removed wrong changelog entry in 0.83.2 (ef38ba4050
DOM API: Make
AbortSignal.any()process its input signals in multiple passes to match the DOM specification (1136e41bd8DOM API: Fix
parentNode/parentElementreturning the document instead of the containing element for<Modal>and other nested root host views, which severed capture/bubble event propagation to ancestors rendered above them (e410ff5471Events: Fix use-after-free data race in EventEmitter.cpp (5dea3b5e6c by generatedunixname1383054420177565)
FileReader: Set
FileReaderreadyStatetoLOADINGduring a read soabort()correctly emitsabort/loadend(c00813c6eeImage: Parse Image srcSet density descriptors consistently (e4cf0a1cc3
JavaScript API: Extensionless
react-native/scripts/*imports are now mandated; explicit.jsimport specifiers are rejected. (97727ba67fMapBuffer: Avoid
memcpy(_, nullptr, 0)UB inMapBufferBuilder::buildfor empty / scalar-only MapBuffers (34ccf4f331Networking: Base64-encode binary (arraybuffer/blob) response bodies in the C++ NetworkingModule so they are not corrupted when delivered to JS (1127e54d53
Pressable: Fix hover out timeout stored in wrong variable in Pressability (74b1a4d026
React Native DevTools: React Native DevTools will no longer briefly flash in the system dock/taskbar when starting Metro (6aa7e35ec3
React Native DevTools: Add null check on JNI return value in
JCxxInspectorPackagerConnectionDelegateImpl::connectWebSocketto prevent null dereference (fa05b8c88bReactHost: Fixed a regression that causes crashes on reload for
ReactCxxPlatform'sReactHost(ac81869f05Renderer: Fixed potential revision drop during merge (c65845cde2
Renderer: Several view, text, scrollview, and accessibility props that the iterator-setter path silently dropped now propagate correctly through
setProp:automaticallyAdjustKeyboardInsets,dynamicTypeRamp,writingDirection,experimental_accessibilityOrder,transformOrigin, and the fullborderCurvescascaded set. (15b1f5529aRuntime: Fix missing format specifier in renderApplication invariant (bc1a31fb16
Runtime: Fix apps failing to boot ("... not registered as callable") caused by core init not running. (08c323346b
Runtime: Fix app failing to initialize (
HMRClient.setup()redbox) because the environment setup module was dropped from the bundle (eb987ef550Strict TypeScript API: Add missing
textAlignVerticalprop on<TextInput>(e04ff69ab3Strict TypeScript API: Add missing
pointerEventsprop toTextcomponent (a2e042f76aStrict TypeScript API: Update
getNativeScrollRefreturn type across ScrollView, FlatList, and SectionList (535b844680Strict TypeScript API: Optional property types are now widened to explicitly include
| undefinedforexactOptionalPropertyTypescompatibility (0fc76bb527Testing: Fix asyncArrayBufferBorrowNativeBackedTest unconditional skip on Hermes (9d54391814
Testing: Re-enabled VirtualizedList "retains batch render region when an item is appended" tes (c0bf1549c2
Text: Fix text measurements being incorrectly reused across pixel density changes (d53c7b52a6
Touch Handling: Suppress
React.Fragmentstyle warning when used as a child ofTouchableHighlight(d7b5314bd8TypeScript: Preserve doc comments on root API symbols in the generated TypeScript types (642273788b
TypeScript: Add eventCount to TextInputKeyPressEventData type (886faee2d1
TypeScript: Add missing pointer event handler types (
onPointerOver,onPointerOut,onGotPointerCapture,onLostPointerCapture, and their*Capturevariants) to the TypeScript types (20931fe975TypeScript: Update ImageSource.d.ts see reference URL to reflect current repository structure (6eb07a813d
TypeScript: Expose Modal native ref prop in TypeScript declarations (7cc8c76e83
TypeScript: Align TypeScript accessibility role definitions with supported React Native accessibility roles (75e1f06b66
TypeScript: Change
FlatList.getNativeScrollRefreturn type definition to allow accessing the underlyingHostInstance. (5162816e03TypeScript: Fix missing and incorrect types in
AccessibilityInfoTypeScript definitions (4255f9bd89Yoga: Include a node's padding and border in its automatic minimum size when it has a measure function (91886f7c88
Yoga: Crash: YogaLayoutableShadowNode.cpp: function layout: assertion failed (YGNodeGetOwner(childYogaNode) == &yogaNode_) #52349 (6fa330693f
Android specific
Accessibility: Issue when clearing accessibilityLabelledBy (63dec777d9
Accessibility: Screen reader behavior for accessibilityState expanded (fafcfcd5f6
Animated: Prevent "Mapped property node does not exist" crash in
PropsAnimatedNode.updateViewwhen a mapped node is removed during an in-flight native animation (53369ed321Animated: Fix deadlock between the UI and JS threads when native animations start while a synchronous VirtualView mode-change event is dispatched (b96b626297
Build: Guard missing autolinked JNI directories in generated CMake during native clean/model configuration. (948835d944
Dev Menu: Fix Dev Menu Settings crash in debugOptimized builds (2fb4f13fbf
Dev Server: Reduced memory usage during JS bundle downloads by eliminating intermediate buffer copies (57eb56fbf5
Gradients: Fix incorrect color stop positions in gradients when a positioned stop is immediately followed by an unpositioned stop (cb63782554
Image: Fix
Image.getSize()failing for local drawable resource URIs including VectorDrawables (aea8785d66Image: Source props in image headers in Android (eeb17badf6
PointerEvents: Register pointer capture event handlers in the Android base view config (74382cacd8
React Native DevTools: Show request body preview for FormData and file uploads in DevTools Network tab (48fe6df3d2
Renderer: Avoid crash in SurfaceMountingManager when sendAccessibilityEvent or setJSResponder is called for a missing or deleted view state. (8eb4240d36
Renderer: Fix crash in Scheduler::animationTick when uiManager_ is null. (e73592ba51
Renderer: Fix commit branching dropping updates when
enableAccumulatedUpdatesInRawPropsAndroidis not enabled. (bcadedaba4Runtime: Use explicit
ReactInstanceManager.mHasStartedDestroyingLockinstead of usingReactInstanceManager.mHasStartedDestroying(f500f4239cRuntime: JSModule method without args are correctly dispatched (949b8049df
ScrollView: Catch IllegalArgumentException in ScrollView.onTouchEvent to prevent crashes from a known Android framework multi-touch bug (d672c96445
StatusBar: Prevent
IllegalArgumentExceptioncrash instatusBarShow/statusBarHidewhen the window decorView is detached (a54b04e94bStatusBar: Prevent
IllegalArgumentExceptioncrash inStatusBarModulewhen activity is destroyed before the UI thread runnable executes (732b848a8eStyleSheet: Correct logical border radius mapping for
borderEndStartRadiusandborderStartEndRadius. (ad2cf4d1d7StyleSheet: Fix crash in SkewMatrixHelper (9e3a0df61e
StyleSheet: SkewX / skewY transforms now render correctly on Android Q+. (62903bc3e2
Text: Prevent descenders from being clipped when Android text lineHeight matches fontSize (bb3c121073
Text: Account for Android Bold text font weight adjustment when measuring Text. (d833014948
Text: Fix text decoration line thickness regression on Android (9f20cde724
Text: Fix text decoration color not matching foreground color when
textDecorationColoris not set (2da0244c16TextInput: Fix ClassCastException crash on Android 9 and below when an IME submit action races the unmount of a TextInput (97aa7ad272
TextInput: Fix
TextInputplaceholder staying on multiple lines aftermultilineis toggled fromtrueback tofalse(df6de4f758TextInput: Preserve secure TextInput password character reveal timing when JS state echoes the same text. (08731165f5
Touch Handling: Prevent React Native containers from delaying native touches (d8f71837f8
TurboModules: Fix pure C++ turbo modules not working without
includesGeneratedCode: true(c789880517ViewManagers: Fix NullPointerException in
ReactProgressBarViewManager.measure()when invoked with nulllocalDataorstate(for example, from the upcoming CSS Flexbox §4.5 auto-min-size probe in Yoga). (ef683f7010
iOS specific
Build: Fix React-RCTAnimatedModuleProvider build by adding the missing Yoga dependency and a missing space between compiler flags (08ef7b18d2
Build: Fix "redefinition of 'HighResDuration'" / "could not build module 'React'" when building Swift pods with C++ interop against the prebuilt React-Core artifact (9847238e3f
Build: Fix "The project 'Pods' is damaged and cannot be opened" when a library uses
spm_dependencyand the generated UUID collides with an existing Pods project object (1cdf784a06Build: Ship React-Core's privacy manifest and localized strings (RCTI18nStrings) inside the prebuilt React.xcframework, so CocoaPods-prebuilt and SwiftPM apps include them (77b75122ef
Build: Fix "redefinition of module" build failure on Xcode 26.3 for pods using
spm_dependencywith prebuilt React Native core (4a6620703cBuild: Fix Swift C++-interop build failure (implicit copy constructor of TraceRecordingState/HostTracingProfile) for libraries using cxx interop with prebuilt React Native core (38611186f5
Build: Keep the prebuilt
Headers/in place on a Debug/Release configuration switch so the React explicit module still resolves its module map (df5e6f6a42Build: Write the prebuilt module-map flag to
OTHER_CPLUSPLUSFLAGSso C++/ObjC++ sources resolve the relocated namespaces modularly (14fe96ab51Build: Prebuilt
ReactNativeHeaders.xcframeworknow ships the Hermes public headers so consumers resolve<hermes/...>out of the box (43b44ed7c3Codegen: Fix codegen script phase error logging in
script_phases.sh(f14207f9bdDev Menu: Allow iOS apps with the dev menu enabled (
RCT_DEV_MENU) to connect to Metro via "Change Bundle Location" (94380cb4adHermes: Fix debug Hermes being silently embedded in Release builds after the hermes-engine pod is re-installed (62a2b386c9
Image: Fix a data race in
RCTImageLoaderloader and decoder lazy initialization that could crash withEXC_BAD_ACCESS(7ed17c9d09 by Miklós Fazekas)Legacy Architecture: Add missing
RCT_REMOVE_LEGACY_COMPONENT_INTEROPguard toLegacyViewManagerInteropComponentDescriptor(510cc0c5ecLogBox: Remove unsafe window manipulation in RCTLogBoxView dealloc to prevent crash with SceneDelegate (4f825d3469
Modal: Prevent Alert and Modal from rendering in the top-left corner (859bdb89e5
Performance: Expose the bridgeless performance logger via
RCTBridgeProxyand postRCTJavaScriptDidLoadNotification, so native startup-perf consumers work in bridgeless (9568de5a2dRenderer: Add an explicit wake up call to the main loop hen scheduling a React revision merge (0cdb59f1b4
StyleSheet: Fixed percentage-based border radius (b4966128af
Touch Handling: Fix TypeError crash in ResponderTouchHistoryStore when changedTouches is undefined (2c6cb27f88 by generatedunixname1608173377072046)
TurboModules: Always return true in RCTTurboModuleEnabled (aee4a2586e
- deprecated
TurboModules: Deprecate RCTTurboModuleEnabled() and RCTEnableTurboModule() (feede1422b
Security
- security
Dependencies: Fix security vulnerabilities in
xmldom/xmldom,fast-xml-parser,yaml,fast-uri, andaddressabletransitive dependencies (284035b21d
- 0.86.x
0.86.3
24 Aug 2026Hermes: Bump hermes-v1 to 250829098.0.17 (3fd71f07c3
EventEmitter: Fix use-after-free data race in EventEmitter.cpp
Modal: Fix
parentNode/parentElementreturning the document instead of the containing element for<Modal>and other nested root host views, which severed capture/bubble event propagation to ancestors rendered above them (6e3f0e8f9f by rubennorte)
Changed
Hermes: Bump hermes-v1 to 250829098.0.17 (3fd71f07c3
Fixed
EventEmitter: Fix use-after-free data race in EventEmitter.cpp
Modal: Fix
parentNode/parentElementreturning the document instead of the containing element for<Modal>and other nested root host views, which severed capture/bubble event propagation to ancestors rendered above them (6e3f0e8f9f by rubennorte)
iOS
Cocoapods: Make Podfile.lock SPEC CHECKSUMS deterministic across machines by sorting Dir.glob results in Yoga.podspec and using a dynamically computed Pods-relative path in hermes-engine.podspec (6e3f0e8f9f by IsaacIsrael)
Android specific
Runtime: Fix ConcurrentModificationException when getInitialURL re-enters during onHostResume (20d04aefa1
iOS specific
Font: Custom fonts with an explicit fontWeight no longer render at the heaviest weight on the New Architecture (918fb15bfe
0.86.2
27 Jul 2026Layout: Fixed
display: contentsnodes havinghasNewLayoutset incorrectly (36f69eff0dRuntime: Use explicit
ReactInstanceManager.mHasStartedDestroyingLockinstead of usingReactInstanceManager.mHasStartedDestroying(cdfba520faRuntime: Do not synchronize on
java.lang.Boolean. (@821045a24f by Yqwed)
Fixed
Layout: Fixed
display: contentsnodes havinghasNewLayoutset incorrectly (36f69eff0d
Android
Runtime: Use explicit
ReactInstanceManager.mHasStartedDestroyingLockinstead of usingReactInstanceManager.mHasStartedDestroying(cdfba520faRuntime: Do not synchronize on
java.lang.Boolean. (@821045a24f by Yqwed)
Changed
Hermes: Bump Hermes V1 to 250829098.0.16 (95538111bf
0.86.1
24 Jul 2026This release got burned because of an issue with Maven
0.86.0
9 Jun 2026Reading the note…
- 0.85.x
0.85.3
5 May 2026Reading the note…
0.85.2
20 Apr 2026Reading the note…
0.85.1
13 Apr 2026Reading the note…
0.85.0
7 Apr 2026Reading the note…
- 0.84.x
0.84.1
27 Feb 2026Reading the note…
0.84.0
11 Feb 2026Reading the note…
- 0.83.x
0.83.10
25 Jun 2026Reading the note…
0.83.9
27 Apr 2026Reading the note…
0.83.8
24 Apr 2026Reading the note…
0.83.7
24 Apr 2026Reading the note…
0.83.6
16 Apr 2026Reading the note…
0.83.5
13 Apr 2026Reading the note…
0.83.4
6 Mar 2026Reading the note…
0.83.3
5 Mar 2026Reading the note…
0.83.2
5 Feb 2026Reading the note…
0.83.1
18 Dec 2025Reading the note…
0.83.0
10 Dec 2025Reading the note…
- 0.82.x
0.82.1
20 Oct 2025Reading the note…
0.82.0
7 Oct 2025Reading the note…
- 0.81.x
0.81.6
5 Feb 2026Reading the note…
0.81.5
21 Oct 2025Reading the note…
0.81.4
10 Sep 2025Reading the note…
0.81.3
10 Sep 2025Reading the note…
0.81.2
9 Sep 2025Reading the note…
0.81.1
27 Aug 2025Reading the note…
0.81.0
12 Aug 2025Reading the note…
- 0.80.x
0.80.3
26 Jan 2026Reading the note…
0.80.2
24 Jul 2025Reading the note…
0.80.1
30 Jun 2025Reading the note…
0.80.0
12 Jun 2025Reading the note…
- 0.79.x
0.79.7
21 Oct 2025Reading the note…
0.79.6
14 Aug 2025Reading the note…
0.79.5
1 Jul 2025Reading the note…
0.79.4
17 Jun 2025Reading the note…
0.79.3
4 Jun 2025Reading the note…
0.79.2
1 May 2025Reading the note…
0.79.1
15 Apr 2025Reading the note…
0.79.0
8 Apr 2025Reading the note…
- 0.78.x
0.78.3
9 Jul 2025Reading the note…
0.78.2
1 Apr 2025Reading the note…
0.78.1
19 Mar 2025Reading the note…
0.78.0
19 Feb 2025Reading the note…
- 0.77.x
0.77.3
21 Jul 2025Reading the note…