Releases: react/react-native
Release list
0.88.0-rc.0
Breaking
- Touchable: The
Touchableroot export (undocumented) is removed. If you are extendingTouchableas a type, please useViewPropsinstead. (0015d1e4f9 by @huntie)
iOS specific
- TurboModules: Add
RCTArrayBuffer, the ObjC representation of a JSArrayBufferfor TurboModules, with an explicit byte-ownership contract (11f9a7f449 by Kamil Paradowski)
Added
- C++: Add
<React/FeatureFlags.h>umbrella header as the public entry point forreact/featureflags(f970054a8a by @j-piasecki) - C++: Add
<React/RendererBridging.h>umbrella header as the public entry point forreact/renderer/bridging(5b680c5f9f by @j-piasecki) - C++: Add
<React/Timing.h>umbrella header as the public entry point forreact/timing(70f172d29f by @j-piasecki) - C++: Added missing mutex include in HostTarget.h (3f8f5c216a by @etodanik)
- Feature Flags: Add
enableImageTransparentTintColorfeature 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.captureScreenshotis added to theEXPERIMENTALchannel (4be68ef785 by @huntie) - React Native DevTools: Support for inspecting WebSocket events in the Network panel is added to the
CANARYchannel (713ae6b1b9 by @huntie) - React Native DevTools: Users and agents can now capture app screenshots via the
Page.captureScreenshotcommand (00efc0a440 by @huntie) - Text: Add object syntax for
fontVariationSettings(376b99ff14 by @evankatz14) - TypeScript: Add
isInstalled()andclearAllLogs()to theLogBoxTypeScript declarations (a69badd468 by @Abbondanzo) - TypeScript: Add missing strictMode prop to FlatList TypeScript types (3e2403327c by @drhops)
- TypeScript: Add TypeScript declarations for
requestIdleCallbackandcancelIdleCallback(c086431a4b by @Critteros) - VirtualizedList: Add missing ListItemComponent type to VirtualizedList props (5306e9229c by @aravi365)
Android specific
- Feature Flags: Add
enableMountingCoordinatorPullModelAndroidfeature 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-Agentheader 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
fontVariationSettingssupport for<Text>(19f7d144b9 by @evankatz14) - TextInput: Add
fontVariationSettingssupport forTextInput(a688608090 by @evankatz14) - TurboModules: 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)
iOS specific
- Assets: Use asset catalog for ios images (26769a00b2 by @janicduplessis)
- CocoaPods: Add a
React-cxxstableapidependency 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_INTEROPandRCT_REMOVE_LEGACY_COMPONENT_INTEROPfrom 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 spmcommand + SwiftPM package-generation tooling (opt-in; CocoaPods stays supported) (47fad096a4 by @chrfalch) - TurboModules: Reject
ArrayBufferas a TurboModuleEventEmitterpayload on all platforms (ab2ea649e6 by @christophpurrer)
Changed
- Accessibility: Automatically set
accessibleprop whenroleprop is set (exceptnone/presentation) (4043e818f1 by @mdjastrzebski) - Babel:
Platform.OSandPlatform.select(...)inlining inreact-native/babel-presetnow requires theinlinePlatformoption in addition toplatform(f63b2a1cb5 by @robhogan) - Babel: Inline
Platform.OSandPlatform.select(...)for React NativePlatformimports 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 legacyRCT-prefixed names in their view configs ([9048120]...
0.87.1
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
- Hermes: Bump hermes-v1 to 250829098.0.17 (861e2d0bde by @cipolleschi)
Fixed
- Animated:
Animated.Value.addListener()types its callback payload as{value: number}rather thanany(3eab03df4c by @huntie) - Animated:
Animated.event()is typed as an event handler rather thanany(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.
0.86.3
- 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/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) - 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.
0.87.0
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.
0.87.0-rc.4
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.
0.87.0-rc.3
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.
0.86.2
Fixed
- Layout: Fixed
display: contentsnodes havinghasNewLayoutset incorrectly (36f69eff0d by j-piasecki)
Android
- Runtime: Use explicit
ReactInstanceManager.mHasStartedDestroyingLockinstead of usingReactInstanceManager.mHasStartedDestroying(cdfba520fa by jingjing2222) - Runtime: Do not synchronize on
java.lang.Boolean. (821045a24f by Yqwed)
Changed
- Hermes: Bump Hermes V1 to 250829098.0.16 (95538111bf by @gabrieldonadel)
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.
0.87.0-rc.2
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.
0.87.0-rc.1
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.
0.87.0-rc.0
Warning
This is a release candidate. It is not intended for production use.
Changelog
Install:
npm install react-native@0.87.0-rc.0Report issues: https://github.com/react/react-native/issues