release notes
release notes
Published 2 weeks ago
Pre-ReleasePre-release[!WARNING] This is a release candidate. It is not intended for production use.
✨ None ✨
global.__BUNDLE_LOADER_REPORTER__, if given, during dev-mode bundler loads from Metro (1e0c1f886b by @robhogan)Emulation.setEmulatedMedia (11a5432cb2 by @huntie)unstable_getViewTransitionInstance to UIManagerBinding (d8820a403b by @zeyap)LayoutContext (d38c756529 by @paradowstack)boxShadow and textWithLinkRole (b172f46f0d by @NickGerleman)mixBlendMode plus-lighter (aaa0684045 by @bigcupcoffee)BackHandler hardwareBackPress events to access timeStamp from native event. (bf277cb6d4 by @rubennorte)ExtraWindowEventListener interface to allow native modules to react to window creation / destruction (e.g. Modal dialogs) (58fec1fa8d by @zoontek)TextInput autoComplete autofill hint support and bump androidx.autofill to 1.3.0. (ac598aff2b by @radko93)mach_absolute_time() API in the React-timing module (2ae6c8940d by @rubennorte)isPackagerRunningAsync that does not block the UI thread waiting on the request to DevServer ("Packager") validating that it is running (dd056d9b4c by @vzaidman)RCTSetCustomMultipartDataTaskRequestInterceptor API to allow custom modification of multipart data task requests before they are sent (59b8886bb8 by @cipolleschi)LogBoxData tests to Jest modern timers (dea2136a49 by @chicio)applyViewTransitionName (d17ecca3c9 by @zeyap)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 by @yungsters)getNullableViewState in SurfaceMountingManager::updateProps and log a soft exception instead (bbf7004935 by Bartlomiej Bloniarz)DefaultTurboModules::get to end of TurboModuleManager (6b32971f46 by @zeyap)AnimationBackendChoreographer doesn't guard the ReactChoreographer post/remove with synchronized(paused) (22d327595d by Bartlomiej Bloniarz)enforceNavigationBarContrast attribute (dfddcc9796 by @zoontek)RCTHTTPRequestInterceptor for selective HTTP request modification (0c7d780aa0 by @cipolleschi)SRWebSocketProvider for selective WebSocket header injection (f3aa8c21d1 by @cipolleschi)AppRegistry.setComponentProviderInstrumentationHook as it's not usable by apps. Passed stub that warns when used. (64116117c0 by @rubennorte)AccessibilityInfo.isDarkerSystemColorsEnabled unresolved (never ending) promise (8fbf2fab47 by @chicio)AccessibilityInfo.isHighTextContrastEnabled unresolved (never ending) promise (5c9a5717c1 by @chicio)AccessibilityInfo.prefersCrossFadeTransitions unresolved (never ending) promise (57c073f0d7 by @chicio)NativeAnimatedNodesManager for event-driven animations by processing the animation graph synchronously on every scroll event, matching the Java implementation behavior (0517fb552d by Mark Verlingieri)AnimatedInterpolation error messages (a8b39a237c by @Nedunchezhiyan-M)scripts/js-api/README.md (d823f5b1cc by @Nedunchezhiyan-M)StyleSheet.absoluteFillObject. (fdbe0d0b63 by @jingjing2222)style prop to Modal's inner container View with correct precedence so consumer styles are applied without overriding transparent or backdropColor (f8fa76f94c by @AnuMessi10)InspectorPackagerConnection reconnect loop to prevent heap fragmentation crashes (32d3eafdc4 by @shubhamksavita)VIEW_EVENT_CASE entries in BaseViewProps::setProp for Click, PointerDown, PointerUp, GotPointerCapture, LostPointerCapture and their Capture variants (offsets 30-37) (8d5482dd94 by Harini Malothu)PerformanceObserver: observe({type: 'event'}) now correctly defaults durationThreshold to 104ms per the W3C Event Timing spec instead of reporting all events. (65c561e195 by @rubennorte)scaleX: 0 or scaleY: 0) no longer receive touches on Android or iOS. (1e8e182410 by @qflen)display: contents is used in absolutely positioned subtrees (f2f92098dd by @j-piasecki)ReactViewGroup.addChildrenForAccessibility against transient non-descendant accessibility traversal crashes. (e681736e18 by @erickreutz)rootProject.file (8a8f1b801c by @etodanik)HermesSamplingProfiler.disable() JNI registration calling enable() instead of disable() (7f2a58e46c by @elirangoshen)createBitmap() (c20a58ab6b by @zeyap)onHostPause crash in ReactInstanceManager without feature flag (3aa8a043de by @shubhamksavita)LogBoxDialogSurfaceDelegate when using bridgeless mode (f10cded1f8 by Ilya Kovalyov)OutOfMemoryError in NetworkingModule response processing to prevent app crashes (0c153e2971 by @shubhamksavita)Cookie header passed via the WebSocket constructor's headers option (24b51db75b by @psjostrom)Dimensions window values on Android < 15 when edge-to-edge is enabled (44a4b1ba5d by @zoontek)KeyboardAvoidingView on Android 15+ / with edgeToEdgeEnabled (4a6c933cce by @zoontek)measureInWindow returning incorrect coordinates when edge-to-edge is enabled (9d183675e9 by @zoontek)printMountItem calls in MountItemDispatcher error handlers behind enableFabricLogs() to prevent OOM crash (7a546f98a7 by @JakobFelixJulius)edgeToEdgeEnabled gradle property but enforced by the OS (Android 15+) (c2280e3201 by @zoontek)HeadlessJsTaskSupportModule in CoreReactPackage (2d78a39b3e by 贾太滨)DISPATCH_UI choreographer queue, before dispatching events (b63efbfc6b by @j-piasecki)isBoring() returns negative width (d527f2d663 by @NickGerleman)setAutoCapitalize stripping numeric TextInput flags (TYPE_NUMBER_FLAG_SIGNED/DECIMAL), affecting minus sign input on Samsung keyboards (863f76bd49 by @lukeharvey)zIndex with props 2.0 enabled (93b37350af by @hannojg)borderStyle to undefined (9e058db4c8 by @hannojg)ReactInternal compatible with Swift (fc5cc2821f by @rmaz)REACT_NATIVE_PATH resolution when Pods/ is a symlink (ea383822b7 by @huntie)use_frameworks! due to missing React-featureflags header path (fb0d28c6fd by @radko93)React-use-frameworks.modulemap across replace-rncore-version.js runs (ada39220a0 by @Insik-Han)createJSRuntimeFactory and skip Hermes pods when USE_THIRD_PARTY_JSC is enabled (2d8143794d by @tux2nicolae)RCTWebSocketModule when delegate callbacks fire after module invalidation (587ef059a2 by @lukeharvey)NSRangeException crash in RCTBackedTextInputDelegateAdapter when text range is out of bounds (19350b1c8c by @lukeharvey)removeClippedSubviews (91e3f773b7 by @javache)fast-xml-parser from 4.5.0 to 4.5.4 to fix CVE-2026-25896 (56908a74c7 by @balajacatherin)minimatch to fix CVE-2026-27903, CVE-2026-27904 (c019a50a4c by @balajacatherin)Hermes dSYMS:
Hermes V1 dSYMS:
ReactNativeDependencies dSYMs:
ReactNative Core dSYMs:
You can file issues or pick requests against this release here.
To help you upgrade to this version, you can use the Upgrade Helper ⚛️.
View the whole changelog in the CHANGELOG.md file.
release notes
Published 2 weeks ago
Pre-ReleasePre-release[!WARNING] This is a release candidate. It is not intended for production use.
✨ None ✨
global.__BUNDLE_LOADER_REPORTER__, if given, during dev-mode bundler loads from Metro (1e0c1f886b by @robhogan)Emulation.setEmulatedMedia (11a5432cb2 by @huntie)unstable_getViewTransitionInstance to UIManagerBinding (d8820a403b by @zeyap)LayoutContext (d38c756529 by @paradowstack)boxShadow and textWithLinkRole (b172f46f0d by @NickGerleman)mixBlendMode plus-lighter (aaa0684045 by @bigcupcoffee)BackHandler hardwareBackPress events to access timeStamp from native event. (bf277cb6d4 by @rubennorte)ExtraWindowEventListener interface to allow native modules to react to window creation / destruction (e.g. Modal dialogs) (58fec1fa8d by @zoontek)TextInput autoComplete autofill hint support and bump androidx.autofill to 1.3.0. (ac598aff2b by @radko93)mach_absolute_time() API in the React-timing module (2ae6c8940d by @rubennorte)isPackagerRunningAsync that does not block the UI thread waiting on the request to DevServer ("Packager") validating that it is running (dd056d9b4c by @vzaidman)RCTSetCustomMultipartDataTaskRequestInterceptor API to allow custom modification of multipart data task requests before they are sent (59b8886bb8 by @cipolleschi)LogBoxData tests to Jest modern timers (dea2136a49 by @chicio)applyViewTransitionName (d17ecca3c9 by @zeyap)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 by @yungsters)getNullableViewState in SurfaceMountingManager::updateProps and log a soft exception instead (bbf7004935 by Bartlomiej Bloniarz)DefaultTurboModules::get to end of TurboModuleManager (6b32971f46 by @zeyap)AnimationBackendChoreographer doesn't guard the ReactChoreographer post/remove with synchronized(paused) (22d327595d by Bartlomiej Bloniarz)enforceNavigationBarContrast attribute (dfddcc9796 by @zoontek)RCTHTTPRequestInterceptor for selective HTTP request modification (0c7d780aa0 by @cipolleschi)SRWebSocketProvider for selective WebSocket header injection (f3aa8c21d1 by @cipolleschi)AppRegistry.setComponentProviderInstrumentationHook as it's not usable by apps. Passed stub that warns when used. (64116117c0 by @rubennorte)AccessibilityInfo.isDarkerSystemColorsEnabled unresolved (never ending) promise (8fbf2fab47 by @chicio)AccessibilityInfo.isHighTextContrastEnabled unresolved (never ending) promise (5c9a5717c1 by @chicio)AccessibilityInfo.prefersCrossFadeTransitions unresolved (never ending) promise (57c073f0d7 by @chicio)NativeAnimatedNodesManager for event-driven animations by processing the animation graph synchronously on every scroll event, matching the Java implementation behavior (0517fb552d by Mark Verlingieri)AnimatedInterpolation error messages (a8b39a237c by @Nedunchezhiyan-M)scripts/js-api/README.md (d823f5b1cc by @Nedunchezhiyan-M)StyleSheet.absoluteFillObject. (fdbe0d0b63 by @jingjing2222)style prop to Modal's inner container View with correct precedence so consumer styles are applied without overriding transparent or backdropColor (f8fa76f94c by @AnuMessi10)InspectorPackagerConnection reconnect loop to prevent heap fragmentation crashes (32d3eafdc4 by @shubhamksavita)VIEW_EVENT_CASE entries in BaseViewProps::setProp for Click, PointerDown, PointerUp, GotPointerCapture, LostPointerCapture and their Capture variants (offsets 30-37) (8d5482dd94 by Harini Malothu)PerformanceObserver: observe({type: 'event'}) now correctly defaults durationThreshold to 104ms per the W3C Event Timing spec instead of reporting all events. (65c561e195 by @rubennorte)scaleX: 0 or scaleY: 0) no longer receive touches on Android or iOS. (1e8e182410 by @qflen)display: contents is used in absolutely positioned subtrees (f2f92098dd by @j-piasecki)ReactViewGroup.addChildrenForAccessibility against transient non-descendant accessibility traversal crashes. (e681736e18 by @erickreutz)rootProject.file (8a8f1b801c by @etodanik)HermesSamplingProfiler.disable() JNI registration calling enable() instead of disable() (7f2a58e46c by @elirangoshen)createBitmap() (c20a58ab6b by @zeyap)onHostPause crash in ReactInstanceManager without feature flag (3aa8a043de by @shubhamksavita)LogBoxDialogSurfaceDelegate when using bridgeless mode (f10cded1f8 by Ilya Kovalyov)OutOfMemoryError in NetworkingModule response processing to prevent app crashes (0c153e2971 by @shubhamksavita)Cookie header passed via the WebSocket constructor's headers option (24b51db75b by @psjostrom)Dimensions window values on Android < 15 when edge-to-edge is enabled (44a4b1ba5d by @zoontek)KeyboardAvoidingView on Android 15+ / with edgeToEdgeEnabled (4a6c933cce by @zoontek)measureInWindow returning incorrect coordinates when edge-to-edge is enabled (9d183675e9 by @zoontek)printMountItem calls in MountItemDispatcher error handlers behind enableFabricLogs() to prevent OOM crash (7a546f98a7 by @JakobFelixJulius)edgeToEdgeEnabled gradle property but enforced by the OS (Android 15+) (c2280e3201 by @zoontek)HeadlessJsTaskSupportModule in CoreReactPackage (2d78a39b3e by 贾太滨)DISPATCH_UI choreographer queue, before dispatching events (b63efbfc6b by @j-piasecki)isBoring() returns negative width (d527f2d663 by @NickGerleman)setAutoCapitalize stripping numeric TextInput flags (TYPE_NUMBER_FLAG_SIGNED/DECIMAL), affecting minus sign input on Samsung keyboards (863f76bd49 by @lukeharvey)zIndex with props 2.0 enabled (93b37350af by @hannojg)borderStyle to undefined (9e058db4c8 by @hannojg)ReactInternal compatible with Swift (fc5cc2821f by @rmaz)REACT_NATIVE_PATH resolution when Pods/ is a symlink (ea383822b7 by @huntie)use_frameworks! due to missing React-featureflags header path (fb0d28c6fd by @radko93)React-use-frameworks.modulemap across replace-rncore-version.js runs (ada39220a0 by @Insik-Han)createJSRuntimeFactory and skip Hermes pods when USE_THIRD_PARTY_JSC is enabled (2d8143794d by @tux2nicolae)RCTWebSocketModule when delegate callbacks fire after module invalidation (587ef059a2 by @lukeharvey)NSRangeException crash in RCTBackedTextInputDelegateAdapter when text range is out of bounds (19350b1c8c by @lukeharvey)removeClippedSubviews (91e3f773b7 by @javache)fast-xml-parser from 4.5.0 to 4.5.4 to fix CVE-2026-25896 (56908a74c7 by @balajacatherin)minimatch to fix CVE-2026-27903, CVE-2026-27904 (c019a50a4c by @balajacatherin)Hermes dSYMS:
Hermes V1 dSYMS:
ReactNativeDependencies dSYMs:
ReactNative Core dSYMs:
You can file issues or pick requests against this release here.
To help you upgrade to this version, you can use the Upgrade Helper ⚛️.
View the whole changelog in the CHANGELOG.md file.
A framework for building native applications using React