React Native v0.73 released
React Native 0.73 brings significant improvements and bug fixes across platforms. Key updates include enhanced TypeScript support, improved performance for animations and scrolling, and better accessibility features. The release also addresses various issues on Android and iOS, such as UI freezing, memory management, and layout calculations. Developer tools and error reporting have been refined, and several deprecated APIs have been removed to streamline the codebase.
v0.73 on GitHub (npm)
Release blog post
Changelog
v0.73.11
Fixed
Android specific
- Suppress path adjustment when not actually drawing a border (c9cf6d4b60 by @tjzel)
iOS specific
- Stop generating dSYM path in Hermes for the framework (e992405e87 by @cipolleschi)
- Pin Xcodeproj to < 1.26.0 (dfcad7c678 by @cipolleschi)
v0.73.10
Removed
Android specific
- Stop emitting deprecated onTextInput events (e6ad652c6a by @javache)
- RGNP - Remove unnecessary dependency on gradle-tooling-api-builders - serviceOf failure (069d8fc249 by @cortinico)
Fixed
- fix(TypeScript): Allow readonly arrays in transform (b4015c1eaa by @tjzel)
Android specific
- Fix TextInput 'contextMenuHidden' prop (08eed9f093 by @alanleedev)
iOS specific
- Fix
<KeyboardAvoidingView>
with floating keyboard on iPadOS (3c54e1ee45 by @renchap) - Fix the generation of .xcode.env.local (88fb3daa7e by @cipolleschi)
- Fix iOS crash occurring when navigating to a new app screen with a displaying modal (33ca0204f5 by @zhouzh1)
- Fabric: Fixes animations strict weak ordering sorted check failed (f18ed7b6c7 by @zhongwuzw)
v0.73.9
Added
iOS specific
Changed
- Feat: update CLI to 12.3.7 (c7a1f2428f by @szymonrybczak)
Fixed
iOS specific
- Remove invalidate observer instead of re-adding observer in DeviceInfo module (9db3eb6 by @zhongwuzw)
- Fix privacy aggregation (6983a8b by @aleqsio)
- Privacy Manifest aggregation failing due to missing nil check (115331b by @swrobel)
- In privacy manifest post install script, handle the case where the file reference doesn't have a path (86cb45e by @robertying)
- Privacy Manifest aggregation failing due to no
NSPrivacyAccessedAPITypes
key (4bb94fe by @renchap)
v0.73.8
Added
iOS specific
- Added privacy manifest to template (520d120375 by @philIip) (fixed to include the file in the build)
Changed
- Update Hermes version (1d0cbfd01b by @Titozzz)
Fixed
iOS specific
- Add
HERMES_ENABLE_DEBUGGER=1
flag to React-RuntimeApple (794aaa52d3 by @cipolleschi) - Fix Symbol not found: (_JSGlobalContextSetInspectable) (224ac21568 by @cipolleschi)
- Add missing dependency to React-RuntimeHermes podspec (fd48b94319 by @cipolleschi)
v0.73.7
Fixed
Android specific
- Fix possible deadlock in dispatchViewUpdates (b741899f99)
- Fix crash in getChildDrawingOrder (342ce6115b)
- Fix Android HorizontalScrollView fling when content length less than ScrollView length (bd19d0ec6a)
iOS specific
- fix: build settings for custom build configuration (2bcf18812a)
- Fix archiving for Mac Catalyst (a8a2f1a578 by @cipolleschi)
- add privacy manifest to pod install (3ccbd9cd8c)
v0.73.6
Breaking
iOS specific
- Rename
BUILD_FROM_SOURCE
toRCT_BUILD_HERMES_FROM_SOURCE
(51b80477c7 by @cipolleschi)
Fixed
- Fix component stacks for tsx, ts, and jsx files (28f604a97d by @lunaleaps)
iOS specific
- Prevent unwanted border animation(d979491 by @sammy-SC)
- Fix flipper for Xcode 15.3 (9d22a7fd0e by @cipolleschi)
v0.73.5
Security
- Update CLI to 12.3.6 (ffcd8f5249 by @szymonrybczak)
Changed
- Hermes bump (3bdd54a51c by @lunaleaps)
Fixed
- Fix: fix codegen not finding all third-party libraries (67e2bb455f by @tido64)
- Fix compiler flags passed to libraries (929df582c8 by @cipolleschi)
v0.73.4
Fixed
- Fix: cannot find module
react-native-*/Libraries/Core/InitializeCore
(562447be47 by @tido64)
Android
- Ignore the one-time NullPointerException and print error log (ca9b6b5038)
iOS
- Fix warning when loading RCTUIManager and A11yManager (f56bf1fa0a by @cipolleschi)
v0.73.3
Added
iOS specific
- Handle TSAsExpression when looking for the codegen declaration (02957718d7 by @dmytrorykun)
Changed
- Bump CLI to 12.3.2 (bcb229e8f8 by @szymonrybczak)
Android specific
- Call super.onRequestPermissionsResult in ReactActivity's onRequestPermissionsResult() (96ed1190c6 by @LimAlbert)
iOS specific
- Remove ATS config patch from react_native_post_install (41c601e478 by @gabrieldonadel)
Fixed
- Declare missing dependency
chalk
(9155e2d182 by @tido64) - TouchableBounce, TouchableHighlight and TouchableNativeFeedback dropping touches with React 18. (e4708d661b by @sammy-SC)
- TouchableWithoutFeedback and TouchableOpacity dropping touches with React 18. (54166342f0 by @sammy-SC)
iOS specific
- Restrict Cocoapods versions < 1.15. (3869ae4d80 by @blakef)
- Make
RCTDeviceInfo
listen to invalidate events and unregister observers while invalidating the bridge (d46d80d2ef by @cipolleschi) - Fix support for SOURCEMAP_FILE path containing spaces (63e893d23d by @paulschreiber)
- Fix release build error due to a casing issue in hermes tarball path after download prebuilt tarball (2e2f8a6689 by @wfern)
- Fix race condition between A11yManager and UIManager (f39f34ed82 by @cipolleschi)
- Fix symbol not found _jump_fcontext with use_frameworks (a2771ce58a by @cipolleschi)
v0.73.2
Added
- Unhandled promise rejection - attach non-standard Error object stack info if possible (655b12dbfa by @ospfranco)
Changed
- Bump Metro to ^v0.80.3 (16dff523b0 by @huntie)
- Automatically reconnect to an existing debugger session on relaunching the app (0806ad7854 by @motiz88)
iOS specific
- Update ios pod post_install logic for detecting if hermes is enabled (d6163d7f43 by @gabrieldonadel)
Fixed
- Fix comment about adding packages in android template (ac9b87cd57 by @janicduplessis)
- Fix boost download url (7e721f09ad by @cipolleschi)
iOS specific
- Fix horizontal scrollview scrollTo coordinate space in RTL on oldarch (e809e0aca7 by @NickGerleman)
- enhance IP address retrieval for iOS devices in Metro bundler setup (9f28616650 by @Morritz)
This file contains all changelogs for latest releases, from 0.70.0 onward. Please check out the other CHANGELOG-*.md
files for previous versions.
v0.73.1
Added
- Add
enableNetworkInspector
experiment to enable Network panel and CDP handlers in inspector proxy (8ef807bfb2 by @byCedric)
Changed
- Chore: bump CLI to 12.3.0 (dff11ab993 by @szymonrybczak)
Fixed
- Fix last spacer constrain logic in VirtualizedList (3ed4bf9046 by @janicduplessis)
Android specific
- Fix type for unrecognisable field mBinding (31d8a93bf3 by @piaskowyk)
iOS specific
- Fix NSAppTransportSecurity being overwritten during pod install (a0b76d90b7 by @robertying)
v0.73.0
Breaking
- Bump minimum Node JS version to 18 (2eb25cbdbe)
- Require C++ 20 when including renderer headers (3b5bea01d0 by @NickGerleman)
- Remove included
flow-typed/
directory from thereact-native
package (4540668c15 by @huntie) - per-node
pointScaleFactor
(dce7242ab6 by @NickGerleman) - Remove "UseLegacyStretchBehaviour" functions (c35ff13a58 by @NickGerleman)
- Remove
YGConfigGetInstanceCount
(858173280f by @NickGerleman) - Remove
interpolateProps
functionality fromComponentDescriptor
to fix circular dependency betweenreact/renderer/core
andreact/renderer/components/view
(bae63d492f) - Migrate from native
CallInvoker
toNativeMethodCallInvoker
(b70f186b53 by @RSNara) - Change how we set cmake policy (2b932c3820 by @NickGerleman)
- Add
YGErrata
integration within C ABI (0fd0f56f20 by @NickGerleman) - Set
runtimeConfig
provider for theTemplate
(2de964cfd2 by @dmytrorykun)
Android specific
- Fix:
role="searchbox"
should assign"SearchField"
trait on iOS (2749fbca9a by @mdjastrzebski) - Renamed FabricMountItem.* files to MountItem.* to better match the name of the struct. (49f1237526)
- Deleting
warnOnLegacyNativeModuleSystemUse
(9859fbc2ec by @philIip) - Do not enable
excludeYogaFromRawProps
feature flag, if you need to pass layout props to Java view managers when using new architecture (88e19c0ce6 by @zeyap) - Default to ignoring cached Metro bundle when offline (2d6106055b by @motiz88)
- W3CPointerEvents: change click event from direct to bubbling (61eb9b4453)
- Fix
ReactTextView
setPadding
applying logic error (d8ced6f895 by @jcdhlzq) - Add
view
getter onRCTRootView
/ `RCTFabricSurfaceHostingProxyRootView (33e0521788 by @zoontek) - Remove support for Android API < 23 in ReactEditText (1904e8036a by @mdvacca)
iOS specific
- Metro will no longer be started when running builds via Xcode (dc6845739e by @huntie)
RCTTurboModuleRegistry
is unavailable inRCTRootView
andRCTSurfaceHostingProxyRootView
(268d9edad6 by @philIip)HasBridge
is removed fromRCTRootView
andRCTSurfaceHostingProxyRootView
(57b86f7a87 by @philIip)- Remove
sizeMeasureMode
argument fromRCTSurfaceHostingProxyRootView
constructor (0d83c1a668 by @philIip) - Deleting
RCTFabricSurfaceHostingProxyRootView
(676676c954 by @philIip) - Delete RCT_EXPORT_PRE_REGISTERED_MODULE (8cd5b2a57d by @philIip)
- Replace
RCTLocalAssetImageLoader
withRCTBundleAssetImageLoader
(b675667a47 by @hellohublot) - Add
React-FabricImage
pod. (44af6ca03c by @cipolleschi) - Make
getModuleInstanceFromClass
required (5a7799eead by @philIip) - Make
getModuleClassFromName
required (fbf196dd05 by @philIip) - Remove
openURL
method fromRCTInspectorDevServerHelper
(3ef7de848d by @huntie)
Added
- Enable animating skew in transforms with native driver (645b643f68, 4934cdb403 by @genkikondo)
- Support customization of underlying Touch event representation in out-of-tree platforms (4884322781)
- Support customization of underlying Color representation in out-of-tree platforms (2b688f6031)
- Support lazy bundling in development (799b0f4be8 by @motiz88)
- Fixup hack for flex line size calculation (598b7ed690 by @NickGerleman)
- Added a third parameter "contentType" to method
slice
of classBlob
. (e35ca71bca by @trashcoder) - Added plugins for private methods and properties to
@react-native/babel-preset
. (db4a253c1e by @yungsters) - Add
react-native/typescript-config
(cae52f6cf8 by @NickGerleman) - Better TypeScript support for
package.json
exports field (1b0e8b1de4 by @NickGerleman) - Add the new media permission to typescript (630cf3b21c)
- Added
contentType
parameter to Blob declaration (ff40138c76 by @trashcoder) - Remove
testID
fromTextStyle
types (3273d38d3b by @tobua) - Log a warning if
npx react-native
uses old cached version (bfca23a25d by @blakef) - Recognize dictionary type in codegen (4fd8f405be by @ZihanChen-MSFT)
- Generate events with arrays (b422375782 by @cipolleschi)
- Add generic support for Arrays in Events parsing (6168701887 by @cipolleschi)
- Remove config variant copy ctor from
YGNode
(72fb75d4d4 by @NickGerleman) - Define Flag operators for
YGPrintOptions
(fe6f70b913 by @NickGerleman) - Add YGErrata Enum (c7dcb42b8a by @NickGerleman)
- Cleanup YGNode for explicit per-node config (0e5d54a8ee by @NickGerleman)
- Added customizeStack hook to Metro's
/symbolicate
endpoint to allow custom frame skipping logic on a stack level. (03e78010ae by @GijsWeterings) - Enable TurboModule interop in Bridgeless mode (aa1ad5496c by @RSNara)
- Native view config interop layer enabled in bridgeless mode. (4fbe05577b by @dmytrorykun)
Android specific
- Add
performance.reactNativeStartupTiming.initializeRuntimeStart
andperformance.reactNativeStartupTiming.initializeRuntimeEnd
API (50638714f5, 10e8b3538f) - Transform origin (9e68599daf by @intergalacticspacehighway)
- Websocket Module setCustomClientBuilder (0cdb9e6a52 by @MO-Lewis)
- Remove JNI Binding usage of layoutContext (733c9289a1 by @NickGerleman)
- Added testing shadow helpers for robolectric (4890d50edd by @philIip)
- Android Events - setting default to true to use C++ event pipeline (b816fa7a65 by Jesse Watts-Russell)
iOS specific
- Added support for iOS 17+ text content types (216865cdb7 by @robwalkerco)
- Add support for building with Xcode 15 (10d55888cc by @AlexanderEggers)
- Fixed cursor height on multiline text input (987c6fd298, e1885853ac by @soumyajit4419)
- Added support for
transform-origin
on old arch (5f40f0800e by @jacobp100) - Now it is possible to build Hermes from local source directory. Just set REACT_NATIVE_OVERRIDE_HERMES_DIR to the path to that directory. (45f7e117ad by @dmytrorykun)
- Add all fontVariant values for font-variant-ligatures (f0893cf72f by @finnp)
- Support bridgeless with JSC and frameworks (3965158a2d)
- Add pods for bridgeless (b06c2d7050)
- Added override method with default implementation (abc6e1cbf4 by @Gregoirevda)
- Add
smartInsertDelete
prop toTextInput
component (6b62f12ce9 by @fabioh8010) - Add explicit dependencies for 3rd parties libraries (c027f0a41f by @cipolleschi)
- Added conversion helper for UIInterfaceOrientationMask to RCTConvert (2ab750f7bb)
Changed
- Use new Hermes CDP handler implementation for debugging (3e7a873f2d by @huntie)
- Add 'j' to debug key trigger from CLI (321f7dbcad by @huntie)
- Relax FlatList.onViewableItemsChanged validation (5cfa125b97)
- Don't use setState for disabled KeyboardAvoidingView to avoid re-renders (783150f37b by @adamgrzybowski)
- Add mock removeEventListener and currentState method for
AppState
(1bda78f2fa by @w3cay) - Default condition set for experimental Package Exports is now ['require', 'import', 'react-native'] (808b3c9716 by @huntie)
- Remove default 50ms Scroll Event Throttling in VirtualizedList (3eccc53629 by @NickGerleman)
- Sync AnimatedValue JS node value when animation completes (51cea49be7 by @genkikondo)
- Return animated values to JS for natively driven animations (4b54c0b1fa by @genkikondo)
- Fixed
source
inImage
type (83885f1d69 by @BrodaNoel) - Address errors in viewability thresholds on Virtualized list by Math.floor the top and bottom dimensions of a cell item when determining viewability. (824c1c6d07 by @lunaleaps)
- Change
_onLayout
to update bottom height when frame height is changed (5059ddc5ce by @lyqandy) - Renaming bridgeless to runtime (1547b81ec1)
- Update Metro to ^0.80.0, don't pin to exact version (aed4aed9d5 by @robhogan)
- Bump Jest version in the new project template from
^29.2.1
to^29.6.3
(3c323382fe by @robhogan) - ReactImagePropertyList.java => ReactImagePropertyList.kt (cb60e5c67b by @bufgix)
BaseViewManagerTest.java
=>BaseViewManagerTest.kt
(3660b7cf73 by @retyui)- React-native/babel-plugin-codegen to react-native/babel-preset (1c3b3a09b6 by @dmytrorykun)
- Replace
JSX.Element
withReact.JSX.Element
inApp.tsx
template (1383a59ed2 by @retyui) - Move react-native-babel-transformer and react-native-babel-preset from Metro to React Native repo. (d380bb8473 by @dmytrorykun)
- Stricter TS check for transform style (e414713e4c by @vonovak)
- Bump Flipper to 0.204.0 (d9c8cd3b40 by @szymonrybczak)
- Remove YGExperimentalFeatureFixAbsoluteTrailingColumnMargin (3f6412b934 by @NickGerleman)
- Pressable: prevent click bubbling in Pressable (a449291323)
- Dirty nodes when dynamically setting config (bde38d543e by @NickGerleman)
- Jest globals are now defined using
Object.defineProperties
instead of object property assignment (cf631ad59f by @yungsters) - Support mixed props for events in codegen (b68f53d44f by @genkikondo)
- React-native-codegen: Buck-only: renamed src_prefix kwarg (9193c4f50c by @fkgozali)
- Update CLI to v12.1.1 (3da0959291 by @szymonrybczak)
Android specific
- Convert the app template to Kotlin (c1c22ebacc by @cortinico)
- Upgrade target sdk version to 34 (a6b0984893)
- Bump NDK to 25 (28deaa3a71 by @szymonrybczak)
- Remove Flipper actions in Dev Menu, add new Open Debugger action (3bc402f612 by @huntie)
- Add
scrollEventThrottle
prop support for android (777934ec3a) - Don't display the PopupWindow when current activity is in a bad state (cee5dceac7)
- React trees will be unmounted when the application is reloaded (e133100721 by @javache)
- Fix crash "lateinit property initialProps has not been initialized" (188eceec98)
- Deprecating createNativeModules method from ReactPackage interface recommending using getModule instead in the new architecture of React Native (33181ef8af by @mdvacca)
- Introducing getModule method into ReactPackage interface, defaulting to null. This method will be used in the Stable API of React Native (da8616ec69 by @mdvacca)
- Update Java tests to Kotlin for the referenced file (3dbb759506 by @stewartsum)
- Deprecate JSCJavaScriptExecutorFactory and JSCJavaScriptExecutor, use com.facebook.react.jscexecutor instead (0cac88fa65 by @mdvacca)
- Throw ReactNoCrashSoftException when handle memeory pressure to avoid crash (fa9ea8326e)
- Throw Error in dispatchViewManagerCommand when non-numeric tag is passed for easier debugging (0519c11acd by @hsource)
- Moved ReactFontManager to a common package (7341f9abdc by @fkgozali)
- Throw Error in dispatchViewManagerCommand when non-numeric tag is passed for easier debugging (ff1972daba by @hsource)
- Fresco to 3.0.0 (823839bcc1 by @cortinico)
- Avoid duplicate destroy on same thread (43f7781c87)
- Use new
getCanonicalName
andgetMessage
methods exposed byfbjni
(6c729acd12 by @krystofwoldrich) - Changed the scope of
setJSEngineResolutionAlgorithm
to public from private. Brownfield apps should be able to setup the JSResolutionAlgorithm before hand. (cb376dd0d8 by @SparshaSaha) - Java to 17 and AGP to 8.0.2 (9f7dddf1ac by @cortinico)
- Use reference Yoga CMake Build (6764adafe4 by @NickGerleman)
- Enable Template with Bridgeless (8b2f324a9b)
- Kotlin to 1.8.0 and JDK Toolchain to 11 (74987b6fca by @cortinico)
- Deprecate APIs that are deprecate only on JavaDoc (1be65baf29 by @cortinico)
- Gradle to 8.1 (74f256b6f0 by @cortinico)
- "Open Debugger" is no longer available for remote JS debugging from the Dev Menu (non-Hermes). Please use
NativeDevSettings.setIsDebuggingRemotely()
. (361a944348 by @huntie)
iOS specific
- Remove Flipper actions in Dev Menu, add new Open Debugger action (5bfc507655 by @huntie)
- Moved the min iOS version to 13.4 (610b14e4f3 by @cipolleschi)
- TurboModules are now exposed to JS as the prototype of a plain JS object, so methods can be cached (20dba39dab by @javache)
- Restored
cancelable
option inPressability
configuration to not block native responder, and instead introduced a new optionalblockNativeResponder
boolean option to accomplish the same thing. (30e2345b26 by @yungsters) - Scroll
ScrollView
text fields into view withautomaticallyAdjustsScrollIndicatorInsets
(9ca16605e0 by @adamaveray) - Remove Xcode 15
_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION
workaround for boost (b9f0bdd12d by @Kudo) - Updated comment in RCTBundleURLProvider.h to instance correct jsBundleURLForBundleRoot:fallbackExtension method. (d208dc422c by @JulioCVaz)
- Set the new arch flag based on the React Native version. (a8d268593a by @cipolleschi)
- Add RCTPlatformName to RCTConstants.h (046ae12a6d by @Saadnajmi)
- Use the runtime scheduler in the old Architecture (2692f206a6 by @cipolleschi)
- Set DEFINES_MODULE xcconfig in React-RCTAppDelegate to generate a module map for this pod (7c79e3107f by @tsapeta)
- Move .m to .mm to make obj-c and C++ headers compatible (42d67452eb)
- Remove deprecated uses of UIActivityIndicatorViewStyle (62e9faefd5 by @Saadnajmi)
- Fix setRuntimeConfigProvider called multiple times error (637ffb175d)
- Set initial AppState status to "inactive" instead of "unknown" (54a5ff9745 by @louiszawadzki)
- Return animated values to JS for natively driven animations (b0485bed09 by @genkikondo)
- Disabled bitcode for Hermes prebuilts (de6bfec82a by @cipolleschi)
- Make RNTester use RCTAppDelegate (680cbe757b by @cipolleschi)
- Changed AppDelegate template to avoid retaining TurboModuleManager. (ec1ab73674 by @javache)
- Migrate RNTester to Bridgeless (d3c28d28a9)
- Re-organise BridgelessApple files to keep proper header file include structure (736dd5a3c0)
Deprecated
- Deprecate YGConfigSetUseLegacyStretchBehaviour (7f300cd755 by @NickGerleman)
Android specific
- Deprecate hasConstants from ReactModule annotation (ccfd4c080c by @philIip)
- ReactModuleInfo constructor with getConstants arg is deprecated (9f52378cc1 by @philIip)
- HasConstants in ReactModuleInfo is marked as deprecated (196d9f9520 by @philIip)
- Deprecating EventBeatManager constructor that receives a Context as a parameter. (363224ea62 by @mdvacca)
- Deprecate and mark for removal com.facebook.react.common.StandardCharsets, please use java.nio.charset.StandardCharsets instead (c0b4883058 by @mdvacca)
- (a4fe9b2b6d by @philIip)
- Deprecate TurboModuleManager.getLegacyCxxModule (7a08fbb088 by @RSNara)
- Deprecate TurboModuleRegistry.getModule(), getModules(), hasModule(), (3af66bf7fb by @RSNara)
iOS specific
- Deprecate
get_default_flags
in Ruby scripts (f60b9f695e by @cipolleschi) - Use -[RCTTurboModuleManager installJSBindings:] instead of -[RCTTurboModuleManager installJSBindingWithRuntimeExecutor:] (7fb9e4f46c by @javache)
Removed
- Remove remote debugging from the dev menu (28e1ca9873 by @gabrieldonadel)
- Remove experimental support for loading bytecode from Metro (6abc097bf3 by @motiz88)
- Remove internal DevSplitBundleLoader native module (6dcdb93ec0 by @motiz88)
Android specific
- Remove unused
canLoadFile
function from HermesExecutor.java (1b7e26cccb by @cortinico) - Polish DevServerHelper (remove unused Interfaces) (7dcaf00835 by @cortinico)
- DevServerHelper should not depend on internal ctor parameter (da358d0ec7 by @cortinico)
- Deprecate Java YogaConfig.setUseLegacyStretchBehaviour() (f635341461 by @NickGerleman)
- Remove TurboModuleManagerDelegate.getLegacyCxxModule (6f10110555 by @RSNara)
- Remove TurboModuleManager.getNativeModule,getNativeModules,hasNativeModule (ac2a4d8e6c by @RSNara)
- Delete hasConstants() method from BaseJavaModule (bbc3657ff4 by @mdvacca)
- Deleted obsolete native methods DevServerHelper.symbolicateStackTrace and DevServerHelper.openStackFrameCall (ad46bc6d77 by @GijsWeterings)
- Reduce visibility of DevInternalSettings class (1a9e444b61 by @cortinico)
iOS specific
- Remove redundant ifdefs for ArrayBuffer backwards compatibility (fb30fcaa2f by @Saadnajmi)
- Remove RCTSurfaceHostingComponent and RCTSurfaceBackedComponent, needed only for ComponentKit integration. (b8d60a834f by @constantine-fry)
- Remove PRODUCTION flag from iOS build logic (daa99fe5e7 by @cipolleschi)
- Delete bridge.loadAndExecuteSplitBundleURL (e2d512a1ee by @RSNara)
- delete RCTJSScriptLoaderModule (438f6cf591 by @philIip)
- Remove Xcode 12.5 post install workaround (0ab8b40fd6 by @Saadnajmi)
Fixed
- Fix virtualization logic with horizontal RTL lists (8b39bfadbb by @NickGerleman)
- Fix a potential bug in
EventEmitter
when used with certain Babel configurations that incorrectly polyfill the spread operator for iterables. (8b768f144a by @yungsters) - Remove need for platform overrides in SafeAreaView.js (80f531f9f4 by @christophpurrer)
- Hide Babel helpers and other core files from LogBox stack traces by default (af73a75c21 by @motiz88)
- Mitigate flickering on color animations (5f8bbf2bd2 by @genkikondo)
- Resolves Animated.Value.interpolate results in NaN when output is in radians (ae0d714bbd by @javache)
- Fix invariant violation when using viewability callbacks with horizontal RTL FlatList on Paper (a2fb46ec0d by @NickGerleman)
- Fix invariant violation when
maintainVisibleContentPosition
adjustment moves window before list start (c168a4f88b by @NickGerleman) - Fix backfaceVisibility after transform changes (242c835c42 by @javache)
- Add missing type for TextInput.readOnly in Typescript (deb81853f5 by @antliann)
- Do not render mocked
when visible=false
(468a13635a by @mdjastrzebski) - Fix a type issue of NativeEventEmitter (d4d323cbc2)
- Add support to archive Schemes names with backspaces (a384e076e0 by @yardenPhy)
- Updated TypeScript definitions to include userSelect style support. Refer to commit 2e4d8b6c145 for the specific changes. (30ab7a45ec by @MjMoshiri)
- Use right edge of ScrollView viewport for
scrollMetrics.offset
in RTL (0e69050612 by @NickGerleman) - AnimatedColor flickering on Android (ec97646fe4)
- Fixup contentLength invalidation logic (ace0a80dea by @NickGerleman)
- Right align scrollToIndex in RTL (5596f1c25b by @NickGerleman)
- Cache ScrollView content length before calling
scrollToIndex
(33d6da01ea by @NickGerleman) - Update
event-target-shim
import to support Metro resolvingmjs
modules beforejs
. (e37e53086a by @EvanBacon) - Avoids re-renders during text selection on desktop platforms by limiting native-only
isHighlighted
prop to iOS (3d2fd4bf22) - Fixed missing property
signal
for theRequest
interface (823b1f467b by @ljbc1994) - Remove need for platform overrides to Settings (3c15b68d56 by @christophpurrer)
- Remove need for each platform to implement ToastAndroid as UnimplementedView (800ea60393 by @christophpurrer)
- Remove need for each platform to implement DrawerLayoutAndroid as UnimplementedView (151f3900de by @christophpurrer)
- Remove need for each platform to implement ProgressBarAndroid as UnimplementedView (c02fcca187 by @christophpurrer)
- Correct the NativeSyntheticEvent type (fedad15a69 by @mmmulani)
- (4aa53d241d by @IslamRustamov)
- Fixed missing File declaration in Typescript global.d.ts (9c0441b8a1 by @trashcoder)
- Android does't crash when using remote debugger (0fe5ffd568 by @javache)
- Fix timestamps and grouped display of console messages within in a
console.group
(48791bcd98) - When animating using native driver, trigger rerender on animation completion in order to update Pressability responder regions (c870a529fe by @genkikondo)
- Specify float value in ParagraphLayoutManager (efc5f73f27 by @TatianaKapos)
- When animating using native driver, trigger rerender on animation completion in order to update Pressability responder regions (03f70bf995 by @genkikondo)
- Fixed computation of layout via
ref.measureRelative
andref.measureInWindow
for nodes with scale/rotate transforms in their parents. (64416d9503 by @rubennorte) - Remove duplicated code that resulted after a merge conflict. (8dcaa4cc3b by @cipolleschi)
- Fix[devtools]: fixed duplicated backend activation with multiple renderers (ada6c51943 by @hoxyq)
- Change FlatList
viewabilityConfig
prop typeany
toViewabilityConfig
(5dfa38a20e by @jeongshin) - Refactor:
substr()
is deprecated, usingslice()
instead across RN codebase (8a49754cda by @Pranav-yadav) - Fix VirtualizedList with
maintainVisibleContentPosition
(69b22c9799 by @janicduplessis) - Make sure initialScrollToIndex is bigger than 0 when adjusting cells (eb30a80c81 by @okwasniewski)
- Comment out unreferenced formal parameter (3c0ad81fef by @TatianaKapos)
- Resolved property name conflicts in event-emitter codegen (3759a26214 by @javache)
- Issue with TurboModule C++ codegen with optional return types (dd6d57eea1 by @javache)
- Issue with TurboModule C++ codegen with optional args (0a8164d993 by @javache)
- Fix podspecs building with C++ 14 (5ea0b449e2 by @NickGerleman)
- URLs parsed by RCTConvert should be encoded respecting RFC 3986, 1738/1808 (9841bd8185 by @philIip)
- Enhance/fix error reporting in reload and destroy (f437224042 by @RSNara)
- Create FeatureFlag to gate Stable API for Turbo Module (49197411d8 by @mdvacca)
- Do not render React DevTools overlays unless they are connected (39016889d0 by @hoxyq)
- Fix nullable-to-nonnull-conversion warnings (2856bef721 by @caodoan)
- Clear bundler banner messages after a certain delay during development. (6eeb81a86e by @jacdebug)
- Correctly invalidate NSTextStorage when non layout related props change (247da6ef7f by @sammy-SC)
- Ensure systrace events are always stopped (97b6829b83 by @javache)
- SafeAreaView shouldn't dirty layout on clone by default (ecf1b84795 by @javache)
- Terminate instead of throwing if TurboModule callback double-called (dfd445cbc6 by @NickGerleman)
- Reduce dynamic SchedulerFeatureFlags (2a58b06863 by @kassens)
- Enable -Wextra in C++ builds (99674b360a by @NickGerleman)
- Update
deprecated-react-native-prop-types
to remove fragile transitive*
dependencies. (f00594b262 by @robhogan) - Fix
createAnimatedStyle
when providing an undefined transform style (7e26e0270b by @gabrieldonadel) - Bail on hiPri render on missing layout data before checking priority (817fedb0e7 by @NickGerleman)
react-native/codegen
shouldn't be built unless it's in the repo — fixespod install
failures in pnpm setups (3dd6a83c0e by @tido64)- Correctly declare runtime dependencies (c32064c510 by @tido64)
Android specific
- Fix Text cut off issues when adjusting text size and font weight in system settings. (babbc3e43c)
- Set the accessibility role to
NONE
when anull
string is passed tofromValue
(0f48e86fed by @cipolleschi) - Fix default shadow radius in TextAttributeProps (05fd10d12f by @NickGerleman)
- UI freezing when using minimumFontScale (79e8474b14 by @g4rb4g3)
- Fixed ScrollView momentum not stopping when calling scrollToEnd programmatically (2f86aafdfd by @Almouro)
- Fixed an issue where calling
Accessibility.setAccessibilityFocus
on an unmounted component would crash (5323221d14 by @Abbondanzo) - Localize Talkback strings (a7e5c96a3d by @NickGerleman)
- Fix border clip check (7d1f7f3f5f by @gabrieldonadel)
- Improve threading in enableFabricPendingEventQueue experiment (318b4c0d4b by @javache)
- Change
connectTimeout
tocallTimeout
in OKHttp client (e00f2445d2 by @troZee) - Fix a race with FpsView on using FpsDebugFrameCallback. (a63b443e62)
- Fix crash in CompositeTurboModuleManagerDelegate (e716459d66 by @christophpurrer)
- Fix race condition with ReactMarker calls to its native module (6ab062dfec)
- Generalize RTL Scroll Correction Logic (30c7e9dfa4 by @NickGerleman)
- Fix letters duplication when using autoCapitalize (ab3c00de2c by @fknives)
- Fix ScrollView's onMomentumScrollEnd being called multiple times on Android (06668fcbac by @AntoineDoubovetzky)
- ANR when having an inverted
FlatList
on android API 33+ (90186cd9b7 by @hannojg) - Surfaces in the new architecture no longer leak views once stopped (c16e993bb8 by @javache)
- Support Android Transitions during Fragment navigation (187f16ddc6 by @grahammendick)
- Foreground ripple crashed on api < 23 (ca65d97d60 by @vonovak)
- Exclude trailing whitespace from newline character on measuring text line width (2674d9bf7c by @bernhardoj)
- W3CPointerEvents: include screen coordinates in pointer events (3460ff5d04)
- W3CPointerEvents: include modifier key properties in Android pointer events (2bd4429365)
- W3CPointerEvents: fix NPE due to null targetView (96fd107d61)
- W3CPointerEvents: fix a case where cancel can cause NPE (79ae710cc5)
- W3CPointerEvents: properly update hit path during native gestures (396cdac629)
- Fixing line truncation issue in Text containing /n when numberOfLines = {1} (0af806e96c)
- Fix ellipsis being cut on certain font sizes (6d24ee13a4 by @BeeMargarida)
- Fix links hidden via ellipsis crashing screen readers (d54f486fe6 by @dhleong)
- Fixed inconsistent styling for text nodes with many children (dcb4eb050a by @cubuspl42)
- Fix copy / paste menu and simplify controlled text selection on Android (d4f6cf1d80 by @janicduplessis)
- When applications reload, the previous react root will be correctly closed (3a7555fb18 by @javache)
- ViewManagers now receive an invalidate callback (c5e7cd4ad9 by @javache)
- Fixed nightly builds of Android no longer building due to a recent version format change (cceef57be1 by @tido64)
- Fix unreadable dev menu header on dark theme apps (88e3130218 by @cortinico)
- Modify ViewManager.receiveCommand to call into delegate (585057d746 by @genkikondo)
- Fix crash when Android requests permission with activity that does not implement
PermissionAwareActivity
(cff4bc8eea by @yungsters) - Fix issue downloading request body via remote URL (4b39f44a61 by @daisy1754)
- Fix textTransform not working in New Architecture (a2f3fa65bc by @tarunrajput)
- Fix projects being broken on dependencies starting with
a..
(5ec2c01697 by @cortinico) - Fix android root view group removal during instance re-creation (bb075d785d by @wschurman)
iOS specific
- Fix TextInput vertical alignment issue when using lineHeight prop on iOS (Paper - old arch) (35a1648d0c by @fabriziobertoglio1987)
- Announce checkbox and radio button roles on VoiceOver (12f4a19306 by @carmenvkrol)
- Localize Voiceover strings in Paper (0e99b19257 by @NickGerleman)
- Re-enable direct debugging with JSC on iOS 16.4+ (5cf8f43ab1 by @Saadnajmi)
- Fixed window.requestIdleCallback not firing on iOS (72abed2c96 by @matt-oakes)
- Adapt iOS16+ dictation judge condition (e8b4bb0684 by @hellohublot)
- Dimensions could be reported incorrectly when resizing iPad or macOS apps (61861d21ff by @jpdriver)
- Include
accessibilityValue
prop values inaccessibilityValue
(0c25f19d39 by @carmenvkrol) - Don't send the
RCTUserInterfaceStyleDidChangeNotification
when the app is in the background. (6118aff69d by @alanjhughes) - Rotation transforms are no longer clipped when zIndex is applied (850349b1d2 by @javache)
- Fix the default trait collection to always return the value of the window (94fea182d6 by @alanjhughes)
- Fix Alert userInterfaceStyle having no effect (0e150d071e by @zhongwuzw)
- Properly escape URLs (5e983d51d8 by @cipolleschi)
- Handle doulbe
#
and partially escaped urls (2b4e1f5ece by @cipolleschi) - RNTester's PROJECT_ROOT points to
packages/rn-tester
(cd30bc3888 by @dmytrorykun) - Fix inverted
contentOffset
in scroll events in RTL (4f8a8ce316 by @NickGerleman) - Fix bad comparison in RCTScrollViewComponentView RTL (65b7680720 by @NickGerleman)
- Use
addEntriesFromDictionary
properly in RCTBaseTextInputView. (e6dd22c628 by @cipolleschi) - Change the top of perf monitor component. (5ba8de05b5 by @zerosrat)
- Only modify EXCLUDED_ARCHS when needed for Hermes (ee1cd13db6 by @jpdriver)
- Fix
use_react_native
to support custom react native absolute paths (835f62c189 by @gabrieldonadel) - UIApplicationDidReceiveMemoryWarningNotification has not been obeyed on iOS since RN 0.69 (8f072b438a by @liamjones)
- Debug builds from cli disable idle to stop application going into background (41d5f4bce2 by @blakef)
- Fix RCTImageBlurUtils.m Greyscale Crash (d6c4f2786c by @OskarEichler)
- Logbox footer buttons respect safe area (6d6b1fdc75 by @philipheinser)
- Add support for Components with custom names in the interop layer. (daedbe6e3e by @cipolleschi)
- FP Tolerance in iOS Paper SafeAreaView debouncing (c9c5651108 by @NickGerleman)
- RNTester-ios / RCTAppDelegate > correctly check for USE_HERMES Flag (e364553492 by @christophpurrer)
- Exclude JSI headers when using hermes-engine prebuilt. (5029cef0a9 by @dmytrorykun)
- Purge children from view registry on
RCTUIManager
invalidation. (bc63e44b23 by @kkafar) - Fix React-ImageManager dependencies (830c2e7c57 by @cipolleschi)