react-native

Frameworks & LibrariesMIT

react-native release notes.

Latest v0.87.1 · by MetaWritten in C++Websitereact/react-nativeRSS

Branches

0.88
v0.88.0-rc.0Pre-release
0.87
v0.87.1
0.86
v0.86.3
0.83
v0.83.10

Release activity

Release activity — 15 releases across 13 days since May 18, 2026. Each cell is one day; darker means more releases that day. Nothing is recorded before May 18, 2026. Older weeks are hidden at this screen width.
JunJulAugSep
SundayNo releases on May 24, 2026No releases on May 31, 2026No releases on Jun 7, 2026No releases on Jun 14, 2026No releases on Jun 21, 2026No releases on Jun 28, 2026No releases on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026No releases on Aug 9, 2026No releases on Aug 16, 2026No releases on Aug 23, 2026No releases on Aug 30, 2026No releases on Sep 6, 2026
Monday1 release on May 25, 2026No releases on Jun 1, 2026No releases on Jun 8, 2026No releases on Jun 15, 2026No releases on Jun 22, 2026No releases on Jun 29, 2026No releases on Jul 6, 2026No releases on Jul 13, 2026No releases on Jul 20, 20262 releases on Jul 27, 2026No releases on Aug 3, 2026No releases on Aug 10, 2026No releases on Aug 17, 20261 release on Aug 24, 2026No releases on Aug 31, 2026No releases on Sep 7, 2026
TuesdayNo releases on May 26, 2026No releases on Jun 2, 2026No releases on Jun 9, 2026No releases on Jun 16, 2026No releases on Jun 23, 2026No releases on Jun 30, 2026No releases on Jul 7, 2026No releases on Jul 14, 20262 releases on Jul 21, 2026No releases on Jul 28, 2026No releases on Aug 4, 20261 release on Aug 11, 2026No releases on Aug 18, 2026No releases on Aug 25, 2026No releases on Sep 1, 20261 release on Sep 8, 2026
WednesdayNo releases on May 27, 20261 release on Jun 3, 2026No releases on Jun 10, 2026No releases on Jun 17, 2026No releases on Jun 24, 2026No releases on Jul 1, 20261 release on Jul 8, 2026No releases on Jul 15, 2026No releases on Jul 22, 2026No releases on Jul 29, 20261 release on Aug 5, 2026No releases on Aug 12, 2026No releases on Aug 19, 20261 release on Aug 26, 2026No releases on Sep 2, 2026No releases on Sep 9, 2026
ThursdayNo releases on May 28, 2026No releases on Jun 4, 20261 release on Jun 11, 2026No releases on Jun 18, 2026No releases on Jun 25, 2026No releases on Jul 2, 2026No releases on Jul 9, 2026No releases on Jul 16, 2026No releases on Jul 23, 2026No releases on Jul 30, 2026No releases on Aug 6, 2026No releases on Aug 13, 2026No releases on Aug 20, 2026No releases on Aug 27, 2026No releases on Sep 3, 2026No releases on Sep 10, 2026
FridayNo releases on May 29, 2026No releases on Jun 5, 2026No releases on Jun 12, 2026No releases on Jun 19, 20261 release on Jun 26, 2026No releases on Jul 3, 2026No releases on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 2026No releases on Aug 14, 2026No releases on Aug 21, 2026No releases on Aug 28, 2026No releases on Sep 4, 2026No releases on Sep 11, 2026
SaturdayNo releases on May 30, 2026No releases on Jun 6, 2026No releases on Jun 13, 2026No releases on Jun 20, 2026No releases on Jun 27, 2026No releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 2026No releases on Aug 8, 2026No releases on Aug 15, 2026No releases on Aug 22, 2026No releases on Aug 29, 2026No releases on Sep 5, 2026

15 releases since May 18, 2026, busiest day 2

Changelog

Filter releases by branch
15 of 15 releases
v0.88.0-rc.0Pre-release

0.88.0-rc.0

Added 18
  • Add <React/FeatureFlags.h> umbrella header as the public entry point for react/featureflags
  • Add <React/RendererBridging.h> umbrella header as the public entry point for react/renderer/bridging
  • Add <React/Timing.h> umbrella header as the public entry point for react/timing
  • Add missing mutex include in HostTarget.h
  • Add enableImageTransparentTintColor feature flag
  • Support a lazy raw color fallback for PlatformColor when native tokens fail to resolve
Removed 1
  • Remove the undocumented Touchable root export; use ViewProps instead if extending Touchable as a type
Deprecated 1
  • Deprecate 'react-native/Libraries/Core/InitializeCore'; use 'react-native/setup-env' instead

From react-native

Breaking
  • Touchable: The Touchable root export (undocumented) is removed. If you are extending Touchable as a type, please use ViewProps instead. (0015d1e4f9 by @huntie)
iOS specific
  • TurboModules: Add RCTArrayBuffer, the ObjC representation of a JS ArrayBuffer for TurboModules, with an explicit byte-ownership contract (11f9a7f449 by Kamil Paradowski)
Added
  • C++: Add <React/FeatureFlags.h> umbrella header as the public entry point for react/featureflags (f970054a8a by @j-piasecki)
  • C++: Add <React/RendererBridging.h> umbrella header as the public entry point for react/renderer/bridging (5b680c5f9f by @j-piasecki)
  • C++: Add <React/Timing.h> umbrella header as the public entry point for react/timing (70f172d29f by @j-piasecki)
  • C++: Added missing mutex include in HostTarget.h (3f8f5c216a by @etodanik)
  • Feature Flags: Add enableImageTransparentTintColor feature flag (c5bd054983 by @coado)
  • JavaScript API: Deprecate 'react-native/Libraries/Core/InitializeCore'. Use 'react-native/setup-env' instead. (554baba159 by @huntie)
  • PlatformColor: Support a lazy raw color fallback for PlatformColor when native tokens fail to resolve (65008fcdd0 by @Abbondanzo)
  • React Native DevTools: Experimental performance screenshots support and Page.captureScreenshot is added to the EXPERIMENTAL channel (4be68ef785 by @huntie)
  • React Native DevTools: Support for inspecting WebSocket events in the Network panel is added to the CANARY channel (713ae6b1b9 by @huntie)
  • React Native DevTools: Users and agents can now capture app screenshots via the Page.captureScreenshot command (00efc0a440 by @huntie)
  • Text: Add object syntax for fontVariationSettings (376b99ff14 by @evankatz14)
  • TypeScript: Add isInstalled() and clearAllLogs() to the LogBox TypeScript declarations (a69badd468 by @Abbondanzo)
  • TypeScript: Add missing strictMode prop to FlatList TypeScript types (3e2403327c by @drhops)
  • TypeScript: Add TypeScript declarations for requestIdleCallback and cancelIdleCallback (c086431a4b by @Critteros)
  • VirtualizedList: Add missing ListItemComponent type to VirtualizedList props (5306e9229c by @aravi365)
Android specific
  • Feature Flags: Add enableMountingCoordinatorPullModelAndroid feature flag (ece0efe837 by @coado)
  • Network Inspection: Expose network event reporting to third-party networking stacks as an unstable API (83d0be8958 by @huntie)
  • Networking: Send app name and version as the default User-Agent header for network requests, matching iOS (04e50d540d by Calvin Liu)
  • Renderer: Add inert Java plumbing (PullTransactionMountItem, FabricUIManager.onTransactionAvailable) for the pull model (6515647d94 by @coado)
  • Renderer: Wire the pull-model mounting path in C++ behind enableMountingCoordinatorPullModelAndroid (9da1a01153 by @coado)
  • Text: Add fontVariationSettings support for <Text> (19f7d144b9 by @evankatz14)
  • TextInput: Add fontVariationSettings support for TextInput (a688608090 by @evankatz14)
  • TurboModules: Add ArrayBuffer, the Java representation of a JS ArrayBuffer for TurboModules, with an explicit byte-ownership contract (5bb9639594 by Kamil Paradowski)
  • TurboModules: Add ArrayBuffer support to Java TurboModules (5fb3ebce1a by Kamil Paradowski)
iOS specific
  • Assets: Use asset catalog for ios images (26769a00b2 by @janicduplessis)
  • CocoaPods: Add a React-cxxstableapi dependency to third-party New Architecture pods so they can resolve React Native's C++ API guard headers (d3daf111e0 by @coado)
  • Legacy Architecture: Allow consumers to opt into 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)
  • SceneDelegate: Add SceneDelegate lifecycle support (7bfe32fd33 by @artus9033)
  • Styles: Print warning advice when using shadow* styles without providing a solid background color (eb4d3892ab by @hannojg)
  • SwiftPM: npx react-native spm command + SwiftPM package-generation tooling (opt-in; CocoaPods stays supported) (47fad096a4 by @chrfalch)
  • TurboModules: Reject ArrayBuffer as a TurboModule EventEmitter payload on all platforms (ab2ea649e6 by @christophpurrer)
Changed
  • Accessibility: Automatically set accessible prop when role prop is set (except none/presentation) (4043e818f1 by @mdjastrzebski)
  • Babel: Platform.OS and Platform.select(...) inlining in react-native/babel-preset now requires the inlinePlatform option in addition to platform (f63b2a1cb5 by @robhogan)
  • Babel: Inline 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)
  • Build: Add React Native Maven pull-through cache fallback for prebuilt artifacts. (3bfb277fec by @coado)
  • Hermes: Bump hermes-v1 to 260318099.0.1 (b113cf5864 by @fabriziocucci)
  • Legacy Architecture: Core components (ActivityIndicatorView, ModalHostView, PullToRefreshView, SafeAreaView, Switch) no longer report legacy RCT-prefixed names in their view configs (904812016f by @christophpurrer)
  • Metro: Bump Metro to 0.87.0 (fe511aba7c by @robhogan)
  • 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 by @huntie)
  • Runtime: RuntimeScheduler now clears pending tasks and rendering updates when a task throws (14184ec643 by @javache)
  • Runtime: Async CallInvoker work is now buffered alongside callable module calls, so it no longer runs before the JS bundle has finished evaluating (3ca6ea3eca by @javache)
  • Styles: Remove experimental_ prefix from backgroundSize, backgroundPosition and backgroundRepeat (7844386bbd by @intergalacticspacehighway)
  • UIManager: UIManager::startSurface and UIManager::setSurfaceProps now take moduleName and props by value (85a81818c6 by @javache)
Android specific
  • Dev Server: Removed FileIoHandler packager message handlers (e3598fac12 by @javache)
  • Image: ImageProps make tintColor an std::optional to support color transparent (0) with props 2.0 (f535c97904 by @hannojg)
  • New Architecture: Deprecate fabricEnabled on ReactFragment (c7d62a125c by @javache)
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 by @chrfalch)
  • CocoaPods: Cache Maven repository requests (artifact existence probes, nightly metadata) during pod install to avoid re-issuing identical requests on every podspec evaluation (88feed55c0 by @coado)
  • Dev Server: Declare RCTBundleURLProviderAllowPackagerServerAccess unconditionally (no-op when packager support is compiled out) (54656471a5 by @ramonclaudio)
  • Dev Server: Make iOS preserve dev bundle as a temp file on par with Android implementation (e2a4c68449 by @tjzel)
  • Legacy Architecture: Compile out 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)
  • RNTester: Update RNTester and HelloWorld for SceneDelegate lifecycle behavior (609bdddabf by @artus9033)
  • StatusBar: Downgrade RCTStatusBarManager error to a warning when UIViewControllerBasedStatusBarAppearance is YES (9e71c443ac by @shwanton)
  • SwiftPM: Download SwiftPM prebuilt artifacts from the React Native Maven mirror first, with Maven Central as fallback (c2dac6abcc by @coado)
  • TextInput: Adds localization for Text Input default return key types (507023622b by @cipolleschi)
Deprecated
Android specific
Fixed
  • Accessibility: Fix accessibility list role conversion in C++. (aa96fa64d1 by @Abbondanzo)
  • Animated: addListener fires again for natively driven Animated values derived with add/subtract/multiply/divide/modulo/diffClamp/interpolate (ce621bbd5b by @dennytosp)
  • Animated: Add ReactRevisionMerge source to the AnimationBackendCommitHook (ca53751780 by Bartlomiej Bloniarz)
  • Animated: Perform AnimationEndSync commits on the React revision (7d855222cd by @j-piasecki)
  • Babel: Apply normal preset defaults when invoked without a Babel API or options object. (9ad8c830bd by @OskarEichler)
  • Babel: Detect trivia-separated React.createClass calls in optimized preset configuration. (619c8aed24 by @OskarEichler)
  • Babel: Inline the last duplicate key from static Platform.select object literals. (bbdeb7dc1d by @OskarEichler)
  • Babel: Keep private class transforms enabled for profiles that lower classes. (0c0e9f0840 by @OskarEichler)
  • 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 by @etodanik)
  • Codegen: Codegen no longer hangs on type aliases that shadow CodegenTypes member names (42be7452d5 by @sbaiahmed1)
  • Codegen: pass the target platform when generating schemas so platform-specific sources (e.g. NativeModule.ios.ts) resolve correctly (f46ace878a by @Gregoirevda)
  • Codegen: React-native-codegen build.sh on AppleVirtIOFS volumes (27b5f761b1 by @etodanik)
  • Codegen: Run native component codegen when Flow type arguments are separated by trivia. (0d64c9a13a by @OskarEichler)
  • DeviceInfo: Refresh DeviceInfo constants on each read (9d10e39d32 by @artus9033)
  • DOM API: Resolve native EventTarget names that overlap Object prototype properties. (621ced78e9 by @OskarEichler)
  • EventEmitter: Support EventEmitter event names that overlap Object prototype properties. (790289c1d6 by @OskarEichler)
  • FileReader: Fire loadstart, throw InvalidStateError on overlapping reads, and expose FileReader.error as a DOMException. (544141efab by @Abbondanzo)
  • FileReader: Keep FileReader in the correct state after aborting a read. (e92816c5a5 by @fallintoplace)
  • Gradients: Fix radial-gradient at <position> being ignored (and corrupting the size) when it follows an explicit size (66f27eb93e by @Titozzz)
  • Gradients: Reject percentage radii for circle radial gradients, matching web behavior (5821fcaf5d by @Titozzz)
  • Image: Preserve Image source headers when using crossOrigin or referrerPolicy (08c7781e5a by @mfkrause)
  • IntersectionObserver: Sort IntersectionObserver threshold arrays numerically. (ee32dfc8b9 by @OskarEichler)
  • JavaScript API: Additional Props/Style types are now defined as interface, fixing compatibility with certain DefinitelyTyped packages (593ae0258d by @huntie)
  • JavaScript API: Fix requestIdleCallback timeout option being ignored (0a1a06c5ea by @pakerwreah)
  • Networking: Fix XMLHttpRequest.setRequestHeader to append duplicate headers per spec (58bf844967 by @zmunm)
  • Networking: Preserve buffered and empty Cxx WebSocket frames and serialize writes. (92cd588a5c by @OskarEichler)
  • Performance: Round instead of truncate when converting a DOMHighResTimeStamp back to nanoseconds, so HighResTimeStamp and HighResDuration round trips are exact (c467843ed0 by @GijsWeterings)
  • ScrollView: Fix maintainVisibleContentPosition with rapid data updates (https://github.com/react/react-native/issues/53542) (5cb65244dc by @kulkarni-rohan)
  • Styles: Fix transformOrigin string parsing for decimal percentage and pixel values. (0a60ec9dea by @MayankSharma-2812)
  • Styles: Preserve negative values in transformOrigin strings. (4501979c1a by @fallintoplace)
  • StyleSheet: Use cached results for already normalised colors (092734772a by @riteshshukla04)
  • Text: Fix Text truncation when string contains NULL character \u0000 (https://github.com/react/react-native/issues/24129) (5906cfb060 by @kulkarni-rohan)
  • Text: Prevent Text from mutating the accessibilityState prop (c300f84f2c by @mfkrause)
  • TextInput: blur focused input before unregistering it on unmount, fixing the Android soft keyboard staying open after navigating away from a focused input (d13d2b0a5f by @sidorchukandrew)
  • TurboModules: TurboModule event emitters no longer throw when an event is emitted before the emitter callback is installed (4bf5575490 by @christophpurrer)
  • TypeScript: Fix TS2883 when building declaration files for libraries that use codegenNativeComponent due to unreachable NativeComponentType<T> (391723e869 by @artus9033)
  • VirtualizedList: Ignore stale viewability updates while enforcing minimum view time (1c4a46f4e3 by @cipolleschi)
  • VirtualizedList: Invalidate list content length when orientation changes. (e59a1d252c by @fallintoplace)
  • VirtualizedList: Prevent zero-sized lists from reporting viewable items (c057b1fa01 by @Abbondanzo)
Android specific
  • Accessibility: Fix crash when accessibilityRole="tabbar" is used on Android (a4733b1ca1 by @aravi365)
  • Build: Export jserrorhandler headers in the reactnative prefab so external consumers of cxxreact/ErrorUtils.h can build. (f2a6db9fce by @alanjhughes)
  • Dev Menu: Persist Change Bundle Location debug server host changes (d2ac190411 by @Phecda)
  • Dev Server: Stop dev server WebSockets from throttling bundle downloads and other dev server requests (cc5dd59742 by @javache)
  • Gradle: Use the JVM temp dir instead of a hardcoded /tmp for the build-from-source container project dirs, fixing Gradle configuration on Windows (908872a68e by @kraenhansen)
  • i18n: Detect RTL from the active locale instead of an arbitrary installed one (e46189e1e1 by @zoontek)
  • Image: Deprecate the String? overloads of ReactImageManager#setDefaultSource and ReactImageManager#setLoadingIndicatorSource (3a95e0e93c by @hannojg)
  • Image: Fix Image.getSize() and Image.getSizeWithHeaders() rejecting data: URIs (8cfde6d083 by Cole Huntley)
  • Image: Fix crash when setting a percentage borderRadius on Image (f2a250ad89 by @sbaiahmed1)
  • Renderer: Fix IllegalStateException in SurfaceMountingManager.removeViewAt (3f553d76bc by @cortinico)
  • 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 by @gooddev97)
  • 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 outlineColor is provided as a numeric color value (53b933feca by HURRAEY)
  • Text: Fix Text with adjustsFontSizeToFit being clipped when container height decreases dynamically (63064687e2 by @imsankalp)
  • Text: Keep inline views inside Text from shrinking with Android system font scale (551d12a787 by @TorinAsakura)
  • TextInput: Ellipsize long single-line TextInput placeholders to match iOS (7f18ad0f84 by @kosmydel)
  • TextInput: Show the soft keyboard when a long-press starts text selection in TextInput (9195e52706 by @idoyana)
  • TurboModules: TurboModule methods taking or returning an ArrayBuffer (d84c13d511 by @christophpurrer)
  • View: Resetting border widths no longer clips children in rounded overflow-hidden views. (146aaac7ee by @RealBhupesh)
  • ViewManagers: Fix Double prop defaults being rounded to float precision in generated ViewManager delegates (2c4278d83b by @dennytosp)
  • ViewManagers: Fix RuntimeException: Unrecognized type: class com.facebook.yoga.YogaValue when a ViewManager implements a DimensionValue prop with ReactProp (091ac613ce by @dennytosp)
  • ViewManagers: Fix RuntimeException: Unrecognized type: class java.lang.Float when a ViewManager implements a nullable float prop (WithDefault<Float, null>) with ReactProp (8d23b14da6 by @dennytosp)
  • VirtualizedList: Fix ListMetricsAggregator cell metrics not clearing on orientation change and guard against divide-by-zero (3b90423076 by @aarononeal)
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 by @fkgozali)
  • Accessibility: VoiceOver text readout when changing elements asynchronously (082d787a1e by @coolsoftwaretyler)
  • Appearance: RCTAppearance.setColorScheme() no longer crashes CarPlay apps when connectedScenes contains a non-UIWindowScene (00a5aa9223 by @SnowingFox)
  • Assets: Asset catalog imagesets paired wrong files for assets with non-standard scales (74b984729b by @janicduplessis)
  • Blob: Fix intermittent native crash (CoreServices/UTType XPC) in RCTBlobManager when deriving blob names for network responses (671705dfb1 by @1337mus)
  • Codegen: Codegen now discovers third-party component libraries without an iOS configuration. (917d97eb12 by @RealBhupesh)
  • Codegen: Fixed intermittent "Cycle in dependencies between targets 'ReactCodegen' and ..." Xcode build error that occurred on incremental iOS builds when an app's codegenConfig.jsSrcsDir contained no Native*/*NativeComponent spec files. (0b0eb8d012 by @Levin-nik)
  • Dev Server: Create the RCTDevSettings packager connection in initWithDataSource so instances built that way also receive packager commands (e71fc4e32f by @alanjhughes)
  • DeviceInfo: Refresh DeviceInfo constants after interface dimension changes (b743a8a35b by @artus9033)
  • Hermes: Set always_out_of_date on hermes-engine's Replace Hermes script phase (d89c432659 by @ramonclaudio)
  • i18n: Align text to the right by default in RTL when textAlign is not set, matching Android (1b92b02f99 by @zoontek)
  • Image: aria-* state props are no longer ignored when accessibilityState is also present (c3caea9b5e by @mdjastrzebski)
  • LogBox: Prevent RedBox auto-retry from reloading while backgrounded (b587763f40 by @Abbondanzo)
  • PushNotificationIOS: Fix main-thread watchdog hang in PushNotificationIOS.setApplicationIconBadgeNumber (6f6efed3e7 by @christophpurrer)
  • ReactHost: Forward host:didInitializeRuntime: callback to user delegate in RCTReactNativeFactory (98dc7d6423 by @zhongwuzw)
  • Renderer: Log missing native component registrations on iOS and Android (ef28a2c9d5 by @alanleedev)
  • Renderer: Report a RCTViewComponentView child-index mismatch instead of raising NSRangeException while formatting the assert message (1291d7ce8e by @dongdongbh)
  • Renderer: Reset EmptyLayoutMetrics in RCTViewComponentView prepareForRecycle so recycled views clear UIView.hidden (711a9a5e07 by @kosmydel)
  • Runtime: Avoid an unhandled exception in bridgeless ReactInstance::registerSegment when 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 by @stareezy-1)
  • ScrollView: Programmatic (non-user-initiated) scrolls no longer cancel active touches in enclosing scroll views (06eb1fefab by @tjzel)
  • Styles: Render outlineStyle: 'dotted' and 'dashed' on views without border radii (9f31d5ae9f by @neutronm)
  • SwiftPM: stop baking an absolute, machine-specific HERMES_CLI_PATH into the app's pbxproj; resolve hermesc at build time instead (fcbeda1109 by @chrfalch)
  • Switch: Restore paperComponentName: 'RCTSwitch' to fix testing-library/react-native queries (38fd9d57df by @christophpurrer)
  • Text: Correctly classify extralight fonts as UIFontWeightUltraLight in RCTGetFontWeight (3b5d0a6526 by @vonovak)
  • Text: Prevent the final line or trailing glyph of text from being clipped due to pixel-grid rounding precision loss (5e40a1771e by @fabriziocucci)
  • TextInput: Preserve TextInput selection color when changing multiline. (56c284e152 by @fallintoplace)
  • TextInput: update the keyboard when keyboardType/returnKeyType change while the input is focused (new architecture parity with the legacy architecture) (0f1bdddfb3 by @NoahDorfman00)
  • Touch Handling: Fix debug-only crash in RCTSurfaceTouchHandler from UITextView text-selection gestures on iOS 17+ (433e79d2f4 by @hryhoriiK97)
  • TurboModules: Include the module and method name in exceptions rethrown from async and void TurboModule calls (253a84c8d1 by @christophpurrer)
  • TurboModules: Pass a top-level JS null TurboModule argument to Objective-C as nil instead of NSNull when enableModuleArgumentNSNullConversionIOS is enabled (ea291d7422 by @christophpurrer)
Security

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.

View originalPermalink
How v0.88.0-rc.0 went
v0.87.1Latest

0.87.1

Added 1
  • Add hard fail and clear error message when an autolinking plugin host is referenced as a dependency in SwiftPM
Changed 1
  • Bump Hermes to version 250829098.0.17
Fixed 11
  • Type Animated.Value.addListener() callback payload as {value: number} instead of any
  • Type Animated.event() as an event handler instead of any
  • Keep quotes on header search paths containing spaces in Cocoapods add_rn_third_party_dependencies
  • Reject colliding or invalid spm.modules names instead of silently dropping a module from the build in SwiftPM
  • Resolve Swift manifest naming collisions in SwiftPM
  • Read spm.name from react-native.config.js when scaffolding the Swift manifest in SwiftPM
Removed 1
  • Remove unused field spm.modules.publicHeaderFiles from react-native.config.js's spm section

From react-native

Added
iOS specific
  • SwiftPM: Added hard fail and clear error message when an autolinking plugin host is referenced as a dependency (90a539c92d by @chrfalch)
Changed
Fixed
  • Animated: Animated.Value.addListener() types its callback payload as {value: number} rather than any (3eab03df4c by @huntie)
  • Animated: Animated.event() is typed as an event handler rather than any (3eb330a365 by @huntie)
iOS specific
  • Cocoapods: Keep the quotes on header search paths containing spaces in add_rn_third_party_dependencies (71c6bfbfdc by @Kudo)
  • SwiftPM: Reject colliding or invalid spm.modules names instead of silently dropping a module from the build (39cd1dfc4c by @chrfalch)
  • SwiftPM: Resolve Swift manifest naming collisions (962aeec5e5 by @chrfalch)
  • SwiftPM: Fixed not reading spm.name from react-native.config.js when scaffolding the Swift manifest (482acee824 by @chrfalch)
  • 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 by @chrfalch)
  • SwiftPM: Created constants for internal SwiftPM packages so that we can create guards to avoid collisions (d36aa4961d by @chrfalch)
  • SwiftPM: Set SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG when injecting SPM (4433cdbe62 by @radoslawrolka)
  • SwiftPM: Recover React-Core-prebuilt configuration swaps that were interrupted before the marker was updated (a772a7ca16 by @adityasingh2400)
  • SwiftPM: Fix Hermes runtime/compiler version mismatch causing "Wrong bytecode version" crashes in SwiftPM Release builds (ead93778a1 by @nduaarte)

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.

View originalPermalink
How v0.87.1 went
v0.86.3

0.86.3

Changed 1
  • Bump hermes-v1 to 250829098.0.17
Fixed 5
  • Fix use-after-free data race in EventEmitter.cpp
  • Fix parentNode/parentElement returning 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
  • 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
  • Fix ConcurrentModificationException when getInitialURL re-enters during onHostResume
  • Custom fonts with an explicit fontWeight no longer render at the heaviest weight on the New Architecture

From react-native

  • Hermes: Bump hermes-v1 to 250829098.0.17 (3fd71f07c3 by @cipolleschi)
  • EventEmitter: Fix use-after-free data race in EventEmitter.cpp (fdb26edfe7)
  • Modal: Fix parentNode/parentElement returning 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)
  • 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)
  • Runtime: Fix ConcurrentModificationException when getInitialURL re-enters during onHostResume (20d04aefa1 by @nickcernera)
  • Font: Custom fonts with an explicit fontWeight no longer render at the heaviest weight on the New Architecture (918fb15bfe by @jensdev)

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.

View originalPermalink
How v0.86.3 went
v0.86.2

0.86.2

Changed 1
  • Bump Hermes V1 to 250829098.0.16
Fixed 3
  • Fixed display: contents nodes having hasNewLayout set incorrectly
  • Use explicit ReactInstanceManager.mHasStartedDestroyingLock instead of using ReactInstanceManager.mHasStartedDestroying
  • Do not synchronize on java.lang.Boolean

From react-native

⚠️ React Native 0.86.1 has not been published because of an issue with Maven. ⚠️

Fixed
  • Layout: Fixed display: contents nodes having hasNewLayout set incorrectly (36f69eff0d by j-piasecki)
Android
  • Runtime: Use explicit ReactInstanceManager.mHasStartedDestroyingLock instead of using ReactInstanceManager.mHasStartedDestroying (cdfba520fa by jingjing2222)
  • Runtime: Do not synchronize on java.lang.Boolean. (821045a24f by Yqwed)
Changed

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.

View originalPermalink
How v0.86.2 went
v0.83.10

0.83.10

Added 1
  • Cache prebuilt iOS binaries in ~/Library/Caches/ReactNative so Hermes, ReactNativeDependencies and ReactNativeCore tarballs are reused across clean installs and projects instead of being re-downloaded from Maven
Fixed 7
  • Fixed Yoga node ownership when display: contents is used in absolutely positioned subtrees
  • Fixed display: contents nodes having hasNewLayout set incorrectly
  • Fixed a bug where React Native DevTools would incorrectly flag apps using additional Hermes runtimes as being multi-host
  • fetch() response URL is now correct after a redirect
  • Limited WebSocket queue size for the packager connection to prevent the Android inspector from being force-disconnected on large payloads
  • Made 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
  • Fixed crash when changing the value of removeClippedSubviews

From react-native

v0.83.10
Added
iOS specific
  • Cache prebuilt iOS binaries in ~/Library/Caches/ReactNative so Hermes, ReactNativeDependencies and ReactNativeCore tarballs are reused across clean installs and projects instead of being re-downloaded from Maven (9a0b05b8d0 by @cipolleschi)
Fixed
  • Fixed Yoga node ownership when display: contents is used in absolutely positioned subtrees (f2f92098dd by @j-piasecki)
  • Fixed display: contents nodes having hasNewLayout set incorrectly (2546ce4d82 by @j-piasecki)
  • React Native DevTools: Fix a bug where we would incorrectly flag apps using additional Hermes runtimes (e.g. Reanimated) as being multi-host (c800503214 by @huntie)
Android specific
  • fetch() response URL is now correct after a redirect (fbe6a686e6 by @MarkCSmith)
  • Limit WebSocket queue size for the packager connection to prevent the Android inspector from being force-disconnected on large payloads (7164f96d58 by @huntie)
iOS specific
  • 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 (64c9663152 by @IsaacIsrael)
  • Fixes crash when changing the value of removeClippedSubviews (91e3f773b7 by @javache)

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.

View originalPermalink
How v0.83.10 went
v0.86.0

0.86.0

Added 14
  • Added missing tests for AccessibilityInfo Promise based methods and align null checks and error message code style
  • Added Suspense tests for the Animation Backend
  • Call methods on global.__BUNDLE_LOADER_REPORTER__ during dev-mode bundler loads from Metro
  • Add new custom track for React Native Renderer operations in React Native DevTools performance traces
  • Add support for light/dark mode emulation via Emulation.setEmulatedMedia in React Native DevTools
  • Add unstable_getViewTransitionInstance to UIManagerBinding
Changed 3
  • Use weak_ptr when calling pullAnimationMutations in a callback scheduled with the Animation Backend
  • Pass event object to BackHandler hardwareBackPress events to access timeStamp from native event
  • android_ripple now accepts PlatformColor

From react-native

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_getViewTransitionInstance to 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 boxShadow and textWithLinkRole (b172f46f0d by @NickGerleman)
  • View: Add E2E tests for Filter blur-with-overflow, drop-shadow, and animated-blur (66975aa3d5 by @NickGerleman)
  • View: Add mixBlendMode plus-lighter (aaa0684045 by @bigcupcoffee)
Android specific
  • Events: Channel play/pause hardware events. (5087aa0dba by Nishil Shah)
  • Events: Pass event object to BackHandler hardwareBackPress events 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_ripple now accepts PlatformColor (60d8b282ea by @adrcotfas)
  • Runtime: Add ExtraWindowEventListener interface 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 TextInput autoComplete autofill hint support and bump androidx.autofill to 1.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 isPackagerRunningAsync that 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 RCTSetCustomMultipartDataTaskRequestInterceptor API 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 LogBoxData tests 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 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)
  • Runtime: Use getNullableViewState in SurfaceMountingManager::updateProps and log a soft exception instead (bbf7004935 by Bartlomiej Bloniarz)
  • TurboModules: Move DefaultTurboModules::get to end of TurboModuleManager (6b32971f46 by @zeyap)
Android specific
  • Animated: AnimationBackendChoreographer doesn't guard the ReactChoreographer post/remove with synchronized(paused) (22d327595d by Bartlomiej Bloniarz)
  • Build: Changed foojay-resolver-convention version to 1.0.0 (664acaf441 by @TheNerdGuyLulu)
  • NavigationBar: Respect theme enforceNavigationBarContrast attribute (dfddcc9796 by @zoontek)
iOS specific
Deprecated
  • JavaScript API: Deprecated second argument for hook function passed to AppRegistry.setComponentProviderInstrumentationHook as it's not usable by apps. Passed stub that warns when used. (64116117c0 by @rubennorte)
Fixed
  • Accessibility: Fix AccessibilityInfo.isDarkerSystemColorsEnabled unresolved (never ending) promise (8fbf2fab47 by @chicio)
  • Accessibility: Fix AccessibilityInfo.isHighTextContrastEnabled unresolved (never ending) promise (5c9a5717c1 by @chicio)
  • Accessibility: Fix AccessibilityInfo.prefersCrossFadeTransitions unresolved (never ending) promise (57c073f0d7 by @chicio)
  • Animated: Fix 1-frame latency in C++ NativeAnimatedNodesManager for event-driven animations by processing the animation graph synchronously on every scroll event, matching the Java implementation behavior (0517fb552d by Mark Verlingieri)
  • Animated: Fix typo "interpolation" to "interpolate" and add missing space in AnimatedInterpolation error 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 style prop to Modal's inner container View with correct precedence so consumer styles are applied without overriding transparent or backdropColor (f8fa76f94c by @AnuMessi10)
  • React Native DevTools: Add exponential backoff and exception handling to InspectorPackagerConnection reconnect 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_CASE entries in BaseViewProps::setProp for 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 defaults durationThreshold to 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: 0 or scaleY: 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: contents is used in absolutely positioned subtrees (f2f92098dd by @j-piasecki)
Android specific
  • Accessibility: Guard ReactViewGroup.addChildrenForAccessibility against 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 calling enable() instead of disable() (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.getSize and Image.getSizeWithHeaders now 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 onHostPause crash in ReactInstanceManager without feature flag (3aa8a043de by @shubhamksavita)
  • LogBox: Fixed activity context memory leak in LogBoxDialogSurfaceDelegate when using bridgeless mode (f10cded1f8 by Ilya Kovalyov)
  • Networking: Blob content provider did not work in new arch (05ea94c441 by @javache)
  • Networking: Catch OutOfMemoryError in NetworkingModule response processing to prevent app crashes (0c153e2971 by @shubhamksavita)
  • Networking: WebSocketModule no longer strips a Cookie header passed via the WebSocket constructor's headers option (24b51db75b by @psjostrom)
  • Runtime: Fix Dimensions window values on Android < 15 when edge-to-edge is enabled (44a4b1ba5d by @zoontek)
  • Runtime: Fix KeyboardAvoidingView on Android 15+ / with edgeToEdgeEnabled (4a6c933cce by @zoontek)
  • Runtime: Fix measureInWindow returning 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 printMountItem calls in MountItemDispatcher error handlers behind enableFabricLogs() to prevent OOM crash (7a546f98a7 by @JakobFelixJulius)
  • Runtime: Handle edge-to-edge when it's not enabled by the edgeToEdgeEnabled gradle property but enforced by the OS (Android 15+) (c2280e3201 by @zoontek)
  • Runtime: Register HeadlessJsTaskSupportModule in CoreReactPackage (2d78a39b3e by 贾太滨)
  • Runtime: Schedule React revision merge to happen on DISPATCH_UI choreographer 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 setAutoCapitalize stripping numeric TextInput flags (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 zIndex with props 2.0 enabled (93b37350af by @hannojg)
  • View: Fixed crash when enabling props 2.0 and setting borderStyle to undefined (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 ReactInternal compatible with Swift (fc5cc2821f by @rmaz)
  • Build: Persist PODFILE_DIR as $(SRCROOT)-relative so project.pbxproj is 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_PATH resolution when Pods/ 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.h first in the prebuilt React umbrella and drop the module * submodule wildcard so RCT_* macros propagate to consumer pods under use_frameworks!. (90c303fafb by @wneel)
  • CocoaPods: Preserve Expo-generated React-use-frameworks.modulemap across replace-rncore-version.js runs (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 createJSRuntimeFactory and skip Hermes pods when USE_THIRD_PARTY_JSC is enabled (2d8143794d by @tux2nicolae)
  • Networking: Fix crash in RCTWebSocketModule when 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 NSRangeException crash in RCTBackedTextInputDelegateAdapter when text range is out of bounds (19350b1c8c by @lukeharvey)
  • View: Fixes crash when changing the value of removeClippedSubviews (91e3f773b7 by @javache)
Security

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.

View originalPermalink
How v0.86.0 went
v0.86.0-rc.3Pre-release

0.86.0-rc.3

Fixed 1
  • Bump Hermes V1 to 250829098.0.14 to fix missing JavaScript samples in the Performance panel timeline on Apple platforms

From react-native

Fixed
  • 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)

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.

View originalPermalink
How v0.86.0-rc.3 went
v0.86.0-rc.2Pre-release

0.86.0-rc.2

Added 1
  • Pressable android_ripple now accepts PlatformColor
Changed 1
  • Cache prebuilt iOS binaries
Fixed 3
  • Fixed escaping local file URIs for unicode paths in ruby scripts
  • Fix Pod install checksum drifting
  • Load RCTDefines.h first in the prebuilt React umbrella and drop the module * submodule wildcard so RCT_* macros propagate to consumer pods under use_frameworks!

From react-native

Added
Android specific
Changed
iOS specific
Fixed
iOS specific
  • Build: Fixed escaping local file URIs for unicode paths in ruby scripts (9563cb5b5a by @chrfalch)
  • CocoaPods: Fix Pod install checksum drifting (814ebb12b6 by @chrfalch)
  • CocoaPods: Load RCTDefines.h first in the prebuilt React umbrella and drop the module * submodule wildcard so RCT_* macros propagate to consumer pods under use_frameworks!. (90c303fafb by @wneel)

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.

View originalPermalink
How v0.86.0-rc.2 went
v0.86.0-rc.1Pre-release

0.86.0-rc.1

Fixed 2
  • Image.getSize and Image.getSizeWithHeaders now return the true source dimensions instead of Fresco's downsampled values on Android
  • Persist PODFILE_DIR as $(SRCROOT)-relative so project.pbxproj is portable across machines on iOS

From react-native

Fixed
Android specific
  • Image: Image.getSize and Image.getSizeWithHeaders now return the true source dimensions instead of Fresco's downsampled values (8823a8009b by @zoontek)
iOS specific
  • Build: Persist PODFILE_DIR as $(SRCROOT)-relative so project.pbxproj is portable across machines (44bb83bd84 by @zoontek)

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.

View originalPermalink
How v0.86.0-rc.1 went
View all

Discussion

If you publish react-native, you can claim this product by proving you administer its repository.