NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #4654 most downloaded on npm
Experimental debugger shell for React Native for use with @react-native/debugger-frontend
Last release today
04 Oct 2026
Ships on a steady schedule
a new release about every 8 days
Nearly every release is documented
notes for 32 of 32 stable releases
Nothing withdrawn
no release was ever pulled
1 years old
500 releases · first in 2025
One column per month.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Hermes : Bump to 260318099.0.4 , which avoids a quadratic reserve() in ConsecutiveStringStorage during lazy compilation ( 993be7d6c6 by @fabriziocucci
260318099.0.4, which avoids a quadratic reserve() in ConsecutiveStringStorage during lazy compilation (993be7d6c6 by @fabriziocucci)react-native/virtualized-lists importing an unexported React Native subpath (a506ed66cc by @giaBaoJS)androidx.collection to 1.4.4 to fix view registry entries getting lost (d6a5f159c6 by @pawicao)Package.swift (97cc934dc7 by @chrfalch)Hermes V1 dSYMS:
ReactNativeDependencies dSYMs:
ReactNative Core dSYMs:
You can file issues or pick requests against this release here.
To help you upgrade to this version, you can use the Upgrade Helper ⚛️.
View the whole changelog in the CHANGELOG.md file.
react-native/virtualized-lists importing an unexported React Native subpath (a506ed66cc by @giaBaoJS)SurfaceMountingManager (d6a5f159c6 by @pawicao)Package.swift (97cc934dc7 by @chrfalch)Metro : Bump the minimum Metro version to 0.87.1, so upgrading projects resolve the same Metro as freshly created ones ( f2439a83cf by @robhogan )
RCTArrayBuffer codegen change, restoring NSMutableData * for ObjC TurboModule methods that take or return an ArrayBuffer. 0.88 is a non-breaking release, and the change stopped modules that adopted ObjC ArrayBuffer support in 0.87 from compiling (639cdedb50, 19a3184981 by @fabriziocucci)ArrayBuffer as a TurboModule EventEmitter payload. C++ TurboModules could declare EventEmitter<ArrayBuffer> in 0.87 and it generated working code, so rejecting it at codegen time broke those builds (070af03ab3 by @fabriziocucci).js fallback for legacy deep imports of untyped modules, so react-native/Libraries/* specifiers resolve again under the react-native-legacy-deep-imports condition (579212e15c by @fabriziocucci)Hermes V1 dSYMS:
ReactNativeDependencies dSYMs:
ReactNative Core dSYMs:
You can file issues or pick requests against this release here.
To help you upgrade to this version, you can use the Upgrade Helper ⚛️.
View the whole changelog in the CHANGELOG.md file.
EventTarget : Enable the imperative EventTarget API ( addEventListener , removeEventListener , dispatchEvent ) on native view refs in canary ( 8480b86
addEventListener, removeEventListener, dispatchEvent) on native view refs in canary (8480b86820 by @rubennorte)node_modules or follows symlinks when discovering components (39751d864d by @gabrieldonadel)IPHONEOS_DEPLOYMENT_TARGET instead of hardcoding iOS 15, so dependencies with a higher minimum (e.g. Expo, 16.4) can be autolinked (92564f33fd by @chrfalch)Hermes V1 dSYMS:
ReactNativeDependencies dSYMs:
ReactNative Core dSYMs:
You can file issues or pick requests against this release here.
To help you upgrade to this version, you can use the Upgrade Helper ⚛️.
View the whole changelog in the CHANGELOG.md file.
Dependencies : Fix: upgrade shell-quote to 1.8.4 ( CVE-2026-9277 ) ( fea5e11d9c by @anupamme )
Touchable root export (undocumented) is removed. If you are extending Touchable as a type, please use ViewProps instead. (0015d1e4f9 by @huntie)RCTArrayBuffer, the ObjC representation of a JS ArrayBuffer for TurboModules, with an explicit byte-ownership contract (11f9a7f449 by Kamil Paradowski)<React/FeatureFlags.h> umbrella header as the public entry point for react/featureflags (f970054a8a by @j-piasecki)<React/RendererBridging.h> umbrella header as the public entry point for react/renderer/bridging (5b680c5f9f by @j-piasecki)<React/Timing.h> umbrella header as the public entry point for react/timing (70f172d29f by @j-piasecki)enableImageTransparentTintColor feature flag (c5bd054983 by @coado)'react-native/Libraries/Core/InitializeCore'. Use 'react-native/setup-env' instead. (554baba159 by @huntie)Page.captureScreenshot is added to the EXPERIMENTAL channel (4be68ef785 by @huntie)CANARY channel (713ae6b1b9 by @huntie)Page.captureScreenshot command (00efc0a440 by @huntie)fontVariationSettings (376b99ff14 by @evankatz14)isInstalled() and clearAllLogs() to the LogBox TypeScript declarations (a69badd468 by @Abbondanzo)requestIdleCallback and cancelIdleCallback (c086431a4b by @Critteros)enableMountingCoordinatorPullModelAndroid feature flag (ece0efe837 by @coado)User-Agent header for network requests, matching iOS (04e50d540d by Calvin Liu)PullTransactionMountItem, FabricUIManager.onTransactionAvailable) for the pull model (6515647d94 by @coado)enableMountingCoordinatorPullModelAndroid (9da1a01153 by @coado)fontVariationSettings support for <Text> (19f7d144b9 by @evankatz14)fontVariationSettings support for TextInput (a688608090 by @evankatz14)ArrayBuffer, the Java representation of a JS ArrayBuffer for TurboModules, with an explicit byte-ownership contract (5bb9639594 by Kamil Paradowski)React-cxxstableapi dependency to third-party New Architecture pods so they can resolve React Native's C++ API guard headers (d3daf111e0 by @coado)RCT_REMOVE_LEGACY_MODULE_INTEROP and RCT_REMOVE_LEGACY_COMPONENT_INTEROP from CocoaPods and SwiftPM. Both default to off and will become the default in a future release (b933d18177 by @christophpurrer)shadow* styles without providing a solid background color (eb4d3892ab by @hannojg)npx react-native spm command + SwiftPM package-generation tooling (opt-in; CocoaPods stays supported) (47fad096a4 by @chrfalch)ArrayBuffer as a TurboModule EventEmitter payload on all platforms (ab2ea649e6 by @christophpurrer)accessible prop when role prop is set (except none/presentation) (4043e818f1 by @mdjastrzebski)Platform.OS and Platform.select(...) inlining in react-native/babel-preset now requires the inlinePlatform option in addition to platform (f63b2a1cb5 by @robhogan)Platform.OS and Platform.select(...) for React Native Platform imports during the Babel preset, covering some cases that were previously left un-inlined. (40c06121a1 by @robhogan)ActivityIndicatorView, ModalHostView, PullToRefreshView, SafeAreaView, Switch) no longer report legacy RCT-prefixed names in their view configs (904812016f by @christophpurrer)RuntimeScheduler now clears pending tasks and rendering updates when a task throws (14184ec643 by @javache)CallInvoker work is now buffered alongside callable module calls, so it no longer runs before the JS bundle has finished evaluating (3ca6ea3eca by @javache)experimental_ prefix from backgroundSize, backgroundPosition and backgroundRepeat (7844386bbd by @intergalacticspacehighway)UIManager::startSurface and UIManager::setSurfaceProps now take moduleName and props by value (85a81818c6 by @javache)tintColor an std::optional to support color transparent (0) with props 2.0 (f535c97904 by @hannojg)RCTBundleURLProviderAllowPackagerServerAccess unconditionally (no-op when packager support is compiled out) (54656471a5 by @ramonclaudio)RCTGetModuleClasses/RCTRegisterModule and skip static module registration when both RCT_REMOVE_LEGACY_MODULE_INTEROP and RCT_REMOVE_LEGACY_COMPONENT_INTEROP are defined (5d62ca4296 by @christophpurrer)InputAccessoryView (102fde7b6b by @zoontek)addListener fires again for natively driven Animated values derived with add/subtract/multiply/divide/modulo/diffClamp/interpolate (ce621bbd5b by @dennytosp)ReactRevisionMerge source to the AnimationBackendCommitHook (ca53751780 by Bartlomiej Bloniarz)NativeModule.ios.ts) resolve correctly (f46ace878a by @Gregoirevda)DeviceInfo constants on each read (9d10e39d32 by @artus9033)loadstart, throw InvalidStateError on overlapping reads, and expose FileReader.error as a DOMException. (544141efab by @Abbondanzo)FileReader in the correct state after aborting a read. (e92816c5a5 by @fallintoplace)at <position> being ignored (and corrupting the size) when it follows an explicit size (66f27eb93e by @Titozzz)interface, fixing compatibility with certain DefinitelyTyped packages (593ae0258d by @huntie)DOMHighResTimeStamp back to nanoseconds, so HighResTimeStamp and HighResDuration round trips are exact (c467843ed0 by @GijsWeterings)transformOrigin string parsing for decimal percentage and pixel values. (0a60ec9dea by @MayankSharma-2812)transformOrigin strings. (4501979c1a by @fallintoplace)codegenNativeComponent due to unreachable NativeComponentType<T> (391723e869 by @artus9033)accessibilityRole="tabbar" is used on Android (a4733b1ca1 by @aravi365)jserrorhandler headers in the reactnative prefab so external consumers of cxxreact/ErrorUtils.h can build. (f2a6db9fce by @alanjhughes)/tmp for the build-from-source container project dirs, fixing Gradle configuration on Windows (908872a68e by @kraenhansen)String? overloads of ReactImageManager#setDefaultSource and ReactImageManager#setLoadingIndicatorSource (3a95e0e93c by @hannojg)Image.getSize() and Image.getSizeWithHeaders() rejecting data: URIs (8cfde6d083 by Cole Huntley)outlineColor is provided as a numeric color value (53b933feca by HURRAEY)ArrayBuffer (d84c13d511 by @christophpurrer)Double prop defaults being rounded to float precision in generated ViewManager delegates (2c4278d83b by @dennytosp)RuntimeException: Unrecognized type: class com.facebook.yoga.YogaValue when a ViewManager implements a DimensionValue prop with ReactProp (091ac613ce by @dennytosp)RuntimeException: Unrecognized type: class java.lang.Float when a ViewManager implements a nullable float prop (WithDefault<Float, null>) with ReactProp (8d23b14da6 by @dennytosp)codegenConfig.jsSrcsDir contained no Native*/*NativeComponent spec files. (0b0eb8d012 by @Levin-nik)DeviceInfo constants after interface dimension changes (b743a8a35b by @artus9033)always_out_of_date on hermes-engine's Replace Hermes script phase (d89c432659 by @ramonclaudio)textAlign is not set, matching Android (1b92b02f99 by @zoontek)host:didInitializeRuntime: callback to user delegate in RCTReactNativeFactory (98dc7d6423 by @zhongwuzw)RCTViewComponentView child-index mismatch instead of raising NSRangeException while formatting the assert message (1291d7ce8e by @dongdongbh)ReactInstance::registerSegment when an on-demand JS segment file is missing from the cache at lazy-load time (fff4994af8 by generatedunixname1608173377072046)outlineStyle: 'dotted' and 'dashed' on views without border radii (9f31d5ae9f by @neutronm)paperComponentName: 'RCTSwitch' to fix testing-library/react-native queries (38fd9d57df by @christophpurrer)UIFontWeightUltraLight in RCTGetFontWeight (3b5d0a6526 by @vonovak)keyboardType/returnKeyType change while the input is focused (new architecture parity with the legacy architecture) (0f1bdddfb3 by @NoahDorfman00)null TurboModule argument to Objective-C as nil instead of NSNull when enableModuleArgumentNSNullConversionIOS is enabled (ea291d7422 by @christophpurrer)Hermes V1 dSYMS:
ReactNativeDependencies dSYMs:
ReactNative Core dSYMs:
You can file issues or pick requests against this release here.
To help you upgrade to this version, you can use the Upgrade Helper ⚛️.
View the whole changelog in the CHANGELOG.md file.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →