React Native v0.75 released
React Native 0.75 brings significant improvements and bug fixes across Android and iOS platforms. Key updates include enhanced layout and styling capabilities, improved error handling, and better performance for Animated components. The release also introduces new features like support for color functions and percentage-based border radii. Several critical bugs were addressed, particularly in areas like ScrollView
, TextInput
, and the bridgeless architecture. Developer experience enhancements include updates to the CLI, debugger, and build processes.
v0.75 on GitHub (npm)
Release blog post
Changelog
v0.75.5
Added
- Hermes: Implement more missing methods on WithRuntimeDecorator (80f67ca03c by @neildhar)
Changed
Android specific
- Deps: Bump Kotlin to 1.9.25 to mitigate #49115 (25e76a2717 by @riteshshukla04)
iOS specific
- Deps: Pin Xcodeproj to < 1.26.0 (2922af2e7e by @cipolleschi)
- Deps: Pin concurrent-ruby to <= 1.3.4 (794bf34e60 by @cipolleschi)
Fixed
- FormData: fix: FormData filename in content-disposition (78ef1e2bc2 by @foyarash)
Android specific
- TextInput: Set TextInput selection correctly when attached to window in Android (1656394bae by @QichenZhu)
iOS specific
- Animation: Fabric: Fixes animations strict weak ordering sorted check failed (ea0bc54115 by @zhongwuzw)
- Hermes Exclude dSYM from the archive (fdb2631b5e by @cipolleschi)
- Image Fix images not displayed when extension is implicit (b6ed0d351e by @cipolleschi)
- Xcode: Fix the generation of .xcode.env.local (dbffbf72d7 by @cipolleschi)
v0.75.4
Fixed
Android specific
- Fix Headless Crash
Tried to finish non-existent task with id
(56a282c44d by @RodolfoGS) - TextInput's
contextMenuHidden
prop bug fix (366f1d0df3 by @alanleedev) - RNGP - Sanitize the output of the config command (0265ea0577 by @cortinico)
iOS specific
- Convert
NSNull
tonil
before checkingtype
inreadAsDataURL
(99ab845a5c by @haileyok) - Add back the BUNDLE_COMMAND (afd74ad89d by @Vin-Xi)
- Use CONFIG_CMD if set (a4ec49cbe6 by @krystofwoldrich)
- App crash happening when navigate to a new app screen with a displaying modal (8ec672204d by @zhouzh1)
v0.75.3
Changed
- Infra: Remove resolution and add commander as devDependency for the monorepo (cf7b9b9486 by @cipolleschi)
- CLI: Bump CLI to 14.1.0 (6a08c38263 by @cipolleschi)
Fixed
- TypeScript: Allow readonly array type for transform property (c16defaff2 by @tjzel)
Android specific
- Autolinking: Fix autolinking issues for Pure C++ TurboModules (833c3a2cf5 by @hsjoberg)
- Renderer: Don't use mGapBetweenPaths if not drawing a border (8501b6396b by @knappam)
- Image: Make getUri and isResource open (8c81ffa60a by @shubhamguptadream11)
- RGNP: Remove unnecessary dependency on
gradle-tooling-api-builders
- serviceOf failure (1067798a7e by @cortinico)
iOS specific
- Infra: Include x86_64 slice when building for visionOS simulator (05dec917f2 by @okwasniewski)
- Infra: Support bundle install from outside the ios folder using --project-directory (b22970e3cf by @blakef)
- Codegen: Codegen will start looking for codegen-enabled dependencies from the project root. (46d17efa62 by @dmytrorykun)
v0.75.2
Added
Android specific
- runtime: Add support for handling
com.facebook.react.bridge.Dynamic
as parameter for TurboModules (45cd81706d by @cortinico)
Changed
Android specific
- ReactRootView: Replaced
mLastHeight
withmVisibleViewArea.height()
since mLastHeight value is not getting updated. Forwidth
we are already usingmVisibleViewArea.width()
(603eb94dd9 by @shubhamguptadream11) - ImageSource:
open
for inheritance (02d9979c32 by @cortinico)
Removed
iOS specific
- RCTBaseTextInputView: UIReturnKeyDefault (26aff664c0 by @elencho)
Fixed
- codegen: scripts require
yargs
(0979921850 by @tido64)
v0.75.1
Changed
- hermes: Bump Hermes version (f202e80177 by @cortinico)
Removed
Android specific
- renderer: Gate off % border radii on Android Paper (bbd5b5e157 by @NickGerleman)
- renderer: Gate off % translate on Android Paper (0273123dde by @NickGerleman)
v0.75.0
Breaking
- codegen: Use hasteModuleName for C++ Turbo Module enums (b7fc5867f2 by @christophpurrer)
- codegen: Use hasteModuleName for C++ Turbo Module structs (07261d0408 by @christophpurrer)
- codegen: Don't support 'float' enums in Turbo Modules (536edf3726 by @christophpurrer)
- codegen: Native modules using the codegen now throw an error when called with
null
for optional but not nullable arguments. (67b9628af5 by @rubennorte) - typescript: Transform TouchableHighlight from JS
class
toForwardRef
component (401f2fbb14 by @retyui) - typescript: Transform
TouchableOpacity
from JSclass
toForwardRef
component (3d00549399 by @retyui) - eslint: RN ESLint config no longer runs Prettier during ESLint (727f30bd0b by @gaearon)
- c++: ScrollViewShadowNode.h - Make getContentOriginOffset to know info about if call-site want transform or not (ce588db63f by @realsoelynn)
- c++: RuntimeExecutor.h - Remove executeAsynchronously and executeSynchronously_CAN_DEADLOCK (8b1a01610c by @philIip)
- c++: JsErrorHandler.h - Rename JsErrorHandlingFunc to OnJsError (2e3f2268dc by @RSNara)
- c++: JsErrorHandler.h - Rename handleJsError to handleFatalError (c041b9f40f by @RSNara)
- c++: ReactPrimitives.h - Remove unused imports (folly/dynamic.h) (4fd95b6e02 by @christophpurrer)
- c++: LongLivedObjectCollection.h - Make
LongLivedObjectCollection::get
accept a Runtime reference as parameter. (86a52cc2dc by @fabriziocucci) - c++: LongLivedObject.h - Make
LongLivedObject
constructor accept aRuntime
reference. (3706bf077e by @fabriziocucci) - c++: Rename utils/jsi files (d0cac87c6e by @TatianaKapos)
- TextInput: Remove deprecated onTextInput callback (34a50ae8ef by @javache)
- Pressability: Removed deprecated methods from Pressability. (e4f3338069 by @javache)
- cli: Remove the ram-bundle command. (58b45e86a6 by @blakef)
Android specific
- ReactViewBackgroundDrawable: Deprecate
ReactViewBackgroundDrawable
in favor ofCSSBackgroundDrawable
(d7766fa927 by @NickGerleman) - ReactContext: Make ReactApplicationContext and ReactContext abstract. Please instantiate BridgeReactContext instead (bridge mode). Or BridgelessReactContext instead (bridgeless mode). (e69f6755c8 by @RSNara)
- layout: Enable flex gap percentage value for RN. (41a14962fc by @realsoelynn)
- layout:: Set and require
android:supportsRtl="true"
for RTL layout (82c6f8a580 by @NickGerleman) - turbomodule: JSIModule - Deleting this class as you should be using
TurboModule
instead (73b4d67a78 by @arushikesarwani94) - runtime: ReactHostImpl - Removing
ReactJsExceptionHandler
param from constructor and providing a default private implementation (fe7e7a015f by @alanleedev) - DevSupport: DevSupportManagerFactory - Method
.create()
changed to take an additional parameter of typePausedInDebuggerOverlayManager
(nullable) (1d26907ca4 by @motiz88) - runtime: OnLoad.cpp - Make the app responsible for returning core turbomodule if not using default app setup/template (7facb32f30 by @RSNara)
- measurement: Delete UIManagerModule.measureLayoutRelativeToParent() (958f8e2bb5 by @arushikesarwani94)
- PopUpMenu UIManager.showPopupMenu() and UIManager.dismissPopupMenu() have been removed (c631e93341 by @alanleedev)
- ReactContext: Delete ReactContext.initializeWithInstance(). ReactContext now no longer contains legacy react instance methods. Please use BridgeReactInstance instead. (fb23470483 by @RSNara), (05ef779c0b by @fabriziocucci), (14fb1cc335 by @RSNara), and (f99dc486cd by @RSNara)
- ReactContext Remove getJavaScriptContextHolder() from BridgelessReactContext since now it can be accessed through BridgelessCatalystInstance in Bridgeless mode (4595351310 by @arushikesarwani94)
- ReactContext Remove getRuntimeExecutor() from ReactContext since now it can be accessed through BridgelessCatalystInstance in Bridgeless mode (f7b9aafd10 by @arushikesarwani94)
iOS specific
- runtime: RCTHost.h - Remove
getSurfacePresenter
andgetModuleRegistry
(f19371f28d by @cipolleschi) - Image: Remove unused RCTImageLoadingPerfInstrumentationEnabled (f6b9a42985 by @realsoelynn)
- Error Handling: Remove
RCTRedBox
access throughRCTBridge
(b5db214d2a by @realsoelynn) - runtime EventPriority - Remove EventPriority class and always use the default EventPriority::AsynchronousBatched. This is potentially a breaking change if something in OSS sets a different priority. If a build fails because of this, simply remove the use of EventPriority. (55ed1c26ab by @sammy-SC)
- PushNotificationIOS: RCTPushNotificationManager - Deleting deprecated didReceiveLocalNotification & didReceiveRemoteNotification callbacks (7fffe692e7)
- PushNotificationIOS: PushNotificationIOS - Deleting deprecated alertAction and repeatInterval (410e3b5ebd)
- PushNotificationIOS: PushNotificationIOS - Deleting old push notification implementation (916dde4c60 by @philIip)
- cocoapods: Rename BUILD_FROM_SOURCE to RCT_BUILD_HERMES_FROM_SOURCE (6a1509f318 by @cipolleschi)
- cocoapods: Rename React-Codegen to ReactCodegen (6549216b76 by @dmytrorykun)
- TextInput: Remove deprecated onTextInput callback (24aece35b4 by @Saadnajmi)
Added
- Image:
Image.getSize/getSizeWithHeaders
method returns a promise if you don't pass asuccess
callback (2c1bcbac81 by @retyui) - SectionList: Fixes SectionList Unmounting issue with separatorComponent on data addition and removal. (6204ea36d3 by @Biki-das)
- cli: Move cli Android build into core (62acc29896 by @blakef)
- cli: Move cli iOS build into core (98f0893f39 by @blakef)
- cli: core-cli-utils now builds for Android (89f16da89e by @blakef)
- codegen: Add EventEmitter code-gen support for C++ Turbo Modules (fd618819c7 by @christophpurrer)
- codegen: Add function to only generate RNCore components (9a27c08fb9 by @cipolleschi)
- codegen: Skip generation of RNCore if the files have been already generated (03ba46f7e6 by @cipolleschi)
- debugger: Add
ReactNativeApplication.[enable,metadataUpdated]
CDP messages for reading host metadata (aced4072cf by @huntie) - debugger: Inspector proxy: Add ping/pong keepalive to debugger connections. (704756352c by @robhogan)
- debugger: Support opening React DevTools from both Chrome DevTools frontend (React Native DevTools) and
react-devtools
standalone app (430dd0be26 by @hoxyq) - runtime: Add ReactRootViewTagGenerator (7dec625eca by @christophpurrer)
- runtime: Added missing
remove
methods forLinking.addEventListener
andAccessibilityInfo.addEventListener
Jest mocks (2483c63017 by @levibuzolic) - runtime: Implement
requestIdleCallback
andcancelIdleCallback
in the new architecture (abfadc6083 by @robik) - style: Added
AppRegistry.setRootViewStyleProvider
(dbdd4da14f by @acoates-ms) - turbomodule: Add EventEmitter C++ bridging type (2a0a11256a by @christophpurrer)
- turbomodule: Turbo Module EventEmitters as functions (42f136d00d by @christophpurrer)
- typescript: Add missing
Header
methods (028615180b by @retyui) - typescript: Allow to pass empty string as style (1ea269f42c by @retyui)
Android specific
- Image: Adds a new
Image
propresizeMultiplier
to help increase quality of small images on low DPI devices (b6c3433537) - PopUpMenu: Add (optional) onPopupDismiss() callback for PopupMenuAndroid (bc3e3360d1 by @alanleedev)
- StatusBar: Added null checks, marked null safety in StatusBarModule (7349dabae2)
- StatusBar: Added suppression for deprecated getter/setter usage in StatusBarModule (ac51deeaf4)
- c++: Allow bridgeless apps to register cxx modules via cxxreactpackages (b9e52f0807 by @RSNara)
- c++: Introduce CallInvokerHolder stable API (69bb4fca44 by @philIip)
- colors Update ColorPropConverter to support color function values (4fb5573796 by @ryanlntn)
- colors: Add isWideColorGamutEnabled to ReactActivityDelegate (0a9891a2f2 by @ryanlntn)
- colors: Extend Property Processor to support long props (0a80270187 by @cipolleschi)
- colors: Update ColorPropConverter to support color function values (fa7dbd578d by @ryanlntn)
- colors: Update bridge to handle long values (0dc5c5f1f4 by @ryanlntn)
- error handling: Option to set a custom JSExceptionHandler instance (098454d425)
- gradle: Expose prefabs for newly added targets (c16761da83 by @WoLewicki)
- layout Percentage support in translate (c13790ff1d by @intergalacticspacehighway)
- layout: Added support for using percentages when defining border radius related properties. (181ed33ab0 by @jorge-cab)
- runtime: Add 64 bit integer (long) value support to MapBuffer (57ed0fb309 by @ryanlntn)
- runtime: Add the
ReactMarkerConstants.CONTENT_APPEARED
support on Android in bridgeless mode. (5da9fdf8f1 by @Kudo) - runtime: Added
onUserLeaveHint
support intoReactActivityDelegate
(3cf6c64a80 by @behenate) - runtime: Added
onUserLeaveHint
support intoReactActivityDelegate
(6450d08187 by @behenate) - runtime: Added featureflag to avoid additional background threads during execution (4324f08749 by @javache)
- runtime: Added getNativeModule(name) to ReactContext (fdb2427a86 by @javache)
- runtime: GetJavaScriptContextHolder() supported in BridgelessReactContext since it's supported in ReactContext[Bridge] (dfa6519749 by @arushikesarwani94)
- runtime: Introduce BridgeReactContext (6386988de1 by @RSNara)
- runtime: Introduced ReactContext.hasReactInstance() to replace .hasCatalystInstance() (3a3f3e6232 by @RSNara)
- turbomodule: Add BindingsInstaller for TurboModules (d999e9bf1e by @Kudo)
iOS specific
- Modal: RCTConvert to support UIModalPresentationStyle (2d547a3252 by @vonovak)
- TextInput: Add all supported ReturnKeyTypes (ed9978b8de by @elencho)
- bridgeless Expose host delegate methods (f500b47a95 by @zhongwuzw)
- c++: Introduce CallInvoker support in bridgeless native modules (8f9ff89093 by @philIip)
- cocoapods: Libraries can now declare Swift Package Manager dependencies in their .podspec with
ReactNativePodsUtils.spm_dependency
(f903f34837 by @mfazekas) - color: Add basic DisplayP3 color support (a40bd8e34a by @ryanlntn)
- fonts: Update font to handle system condensed variant (86dffb3f15 by @shidoro)
- layout: Added support for using percentages when defining border radius related properties. (9c4ee6df08 by @jorge-cab)
- layout: Percentage support in translate in new arch. (f997b81288 by @intergalacticspacehighway)
- runtime: Add Instruments signposts API for SystraceSection (840c31c3a4 by @lyahdav)
- runtime:: Optimize RCTKeyWindow() for iOS 15+ (b2fba371df by @okwasniewski)
- swift Set SWIFT_ACTIVE_COMPILATION_CONDITIONS to DEBUG (756f89aa59 by @okwasniewski)
- turbomodules Add BindingsInstaller for TurboModules (bed487e24b by @Kudo)
- xros: Prebuilt version of Hermes for visionOS (924fb3de9b by @okwasniewski)
Changed
- Animated: Improved performance of
Animated
components (452373b5bf by @yungsters) - BlobModule: Add info to invalid blob response error (489df722b3)
- BlobModule: Trim invalid blob response error message (30463fb007)
- Pressable: Improve performance of
Pressable
component. (cfa784c5ce by @Zahoq) - ScrollView: MaintainVisibleContentPosition property on ScrollView now selects the first partially visible view as the anchor, rather than the first fully visible view. (252ef19c8d)
- StyleSheet Optimized performance of
StyleSheet.compose
(34331af9ce by @yungsters) - c++: Allow invoking the AsyncCallback synchronously to allow for tight performance optimization. (765e542c8d by @nlutsenko)
- debugger: Inspector proxy: Rewrite 127.0.0.1 to localhost in source map URLs for better IPv4->IPv6 tunnelling support. (a52bd7dd08 by @robhogan)
- debugger: Update Chrome launch flags for
--experimental-debugger
launch flow (b1bb0bee41 by @motiz88) - deps: Bumped @react-native-community/cli to 14.0.0
- hermes: Enable regenerator transform for hermes-canary (a0237e96f1 by @avp)
- hermes: Disable Babel plugin for arrow functions for Hermes (cdc3b9cdfc by @yungsters)
- jest: Enables React global flag that causes Jest testing environment to require
act()
(5a8327857b by @yungsters) - js: Console polyfill now copies all properties from the existing
console
object (949296571b by @motiz88) - linter:
no-string-refs
is now a lint error (387250112e by @yungsters) - react-dev-tools: Upgrade[react-devtools-core]: ^5.3.1 (2617ec5570 by @hoxyq)
- react: Upgrade to
react@18.3.1
(abb7070a51 by @yungsters) - share Update
Share.share()
's argument types to be more explicit. (8b53d41a88) - template: Moved the template from react-native into react-native-community/template (07abfceae1 by @blakef)
- testing:
mockComponent
now also mocksname
(5062c5256e by @yungsters) - testing: Allow moving SyncCallback for advanced use-cases (43c55e98d4 by @javache)
- yoga: Reduce warning level of distributed Yoga builds (b696a7dc5e by @NickGerleman)
Android specific
- Alert: Migrated
AlertFragment
dialog builder to useandroidx.appcompat
(1/2) (297ded90aa) - Alert: Migrated
AlertFragment
dialog builder to useandroidx.appcompat
(2/2) (600d3f6ff1) - deps: Bump Fresco to 3.2.0 to fix CVE-2018-14498 (744024be7f by @cortinico)
- deps: AGP to 8.5.0 (19f6aec4a1 by @cortinico)
- deps: Kotlin to 1.9.24 (3f3abf5b40 by @cortinico)
- DevSupport Expose
openDebugger()
method onDevSupportManager
(b309af79e8 by @motiz88) - DevSupport In bridgeless,
useDevSupport
now is configurable by ReactNativeHost. (d195fd0c06 by @javache) - DevSupport: Decouple
DevInternalSettings
fromDevSupportManagerBase
(52cec1e798 by @Kudo) - DevSupport: Update constructor signature of
DevServerHelper
(a1e8118541 by @huntie) - gradle: Expose
mapbufferjni
via prefab. (c73e22142e by @tomekzaw) - runtime: Changed the
handleRemoveView
function inReactViewGroup.java
to ignore calls forViews
that are not children of thisViewGroup
(0d7a92b551 by @bartlomiejbloniarz) - runtime: Enforce Activities using ReactDelegate implement DefaultHardwareBackBtnHandler. (a2d277f740 by @javache)
- runtime: Simplified ReactActivityDelegate to expose a single createRootView method. (3283202248 by @javache)
- runtime: Throwing IllegalArgumentException from ReactPackage is no longer suppressed (2584bcb6c8 by @javache)
iOS specific
- Modal: Move the snapshotting code before the dismissal. (30d6251b78 by @cipolleschi)
- Networking: Fire
onprogress
event forXMLHttpRequest
even when theContent-Length
header is missing in the response headers (457d14bd1b) - RCTAppDelegate: Improve reusability for RCTRootViewFactory (23709f7c61 by @Kudo)
- RCTAppDelegate: Support
customizeRootView
fromRCTRootViewFactory
(8956869792 by @Kudo) - cocoapods: Add
DEFINES_MODULE
for React-jsinspector.podspec (4e6186555e by @Kudo) - ruby: Update Gemfile in template (06eea61c19 by @matinzd)
- runtime: Fallback to the first
foregroundInactive
window when there are noforegroundActive
windows in RCTKeyWindow (42ceacd281 by @cipolleschi) - runtime: Move
notifyObservers
straight toRCTEventDispatcher.mm
. (f5c888c2d7 by @WoLewicki)
Deprecated
- cli: npx react-native init is deprecated and will log a warning until 0.76 (47a3f52007 by @blakef)
- runtime: Deprecate RCTRuntimeExecutorModule (7ea84bd3eb by @philIip)
Removed
- Image: Remove non-existent methods from
<ImageBackground/>
component (09c903c439 by @retyui) - TextInput: Remove viewconfigs for onTextInput callbacks (910cde6134 by @javache)
- debugger:
launchId
query param for/debugger-frontend
is no longer generated automatically for each/open-debugger
call. Caller of/open-debugger
is now responsible for generating thelaunchId
, which will be passed along to/debugger-frontend
. (b7de916664 by @EdmondChuiHW) - dev-middleware:
react-native/dev-middleware
: Remove non-standardfaviconUrl
field from CDP/json
response (df19e597e3 by @huntie) - typescript: Remove
tvParallaxProperties
prop fromTouchableOpacity
& add missingfocusable
,rejectResponderTermination
props (0a0cd6517f by @retyui) - android - Animated: Removed
NativeAnimationsDebugModule
(already not Public API) (95f7a5c597 by @yungsters) - **ios - cocoapods: ** Delete deprecated Xcode version check (2b85a236a1 by @naxey)
Fixed
- Animated: Fix broken native animation in Paper (92540a618d by @sammy-SC)
- Animated: Fix sequence restart failure (a93a15aca3 by @asyler)
- Animated: Fixed memoization for components wrapped with createAnimatedComponent (be06fd4e22)
- Button: Adds forwardRef call to new functional component implementation of Button control. (8e7263a415 by @chiaramooney)
- FlatList: Fix clicking items on the inverted FlatList on the new architecture (3753b7a0e7 by @kosmydel)
- Networking Fix fetch memory leak (c647950e5e by @huzhanbo1996)
- TextInput Handle
fontWeight
normalization for TextInput component (15f27bc299 by @NickGerleman) - Touchable: Fixed inconsistency in TouchableX component disabled / focusable behavior (775713cef7 by @rozele)
- c++: Avoid ShadowTreeRegistry::mutex_ read lock reentrancy (1a164fae6a by @rozele)
- cli: Allow proxying commands from react-native to react-native-community/cli with explicit warning (9aed45a9d9 by @blakef)
- cli: Fix version checker not considering nightlies (489d9f6c62 by @tido64)
- codegen: Align CodegenSchema.d.ts with CodegenSchema.js (ea3a7143b9 by @christophpurrer)
- codegen: Don't break script phase and codegen when coreutils installed on macOS (e0799536ef by @blakef)
- codegen: Fixed
Props.h
created from codegen missing default initializers in C++struct
(639d890dff by @alanleedev) - codegen: Make sure that we can't include Codegen symbols multiple times (46b6453eb6 by @cipolleschi)
- codegen: Fixed crash when passing fewer arguments than expected in native modules using codegen (179b684e76 by @rubennorte)
- codegen: Fixed crash when passing non-numeric values where RootTag is expected to methods in native modules using codegen (abbc6eb022 by @rubennorte)
- codegen: Fixes enum codegen value cases (1a1795a537 by @zhongwuzw)
- debugger: LogBox and Chrome DevTools stack frame collapsing patterns are now compatible with Windows file paths. (8d0046a5e1 by @motiz88)
- debugger: Debugger frontend socket-termination countdown now begins after the ping message is actually sent (20462ca984 by @EdmondChuiHW)
- debugger: Fix breakpoints opening to incorrect location or disappearing from debugger frontend UI. (ac714b1c33 by @robhogan)
- debugger: Inspector proxy: prevent errors proxying a device message from blocking the handler queue or spamming logs. (e05319cc87 by @robhogan)
- error handling: Fixed LogBox not showing correctly on the New Architecture (db1043dfbf by @rubennorte)
- error handling: Remove accidental duplication in React warnings in Logbox (32c3cd3e8a by @gaearon)
- error handling: Fix logbox reporting for React errors (64e6721b23 by @yungsters)
- error handling: Support component stacks without source info. (1b53051b8c by @rickhanlonii)
- error handling: Support component stacks without source info. (e9e668f0ec by @rickhanlonii)
- error handling: Support hermes component stacks with missing source info. (82db330360 by @rickhanlonii)
- infra: Replace deprecated babel-plugin libraries to fix deprecation warnings on installation (6213b2a62a by @kaganece)
- jest: Fix jest setup for Image methods (resolveAssetSource, getSize, prefetch, queryCache) (d53cc2b46d)
- layout: Fix duplicate rotation operations (54f582f651 by @NickGerleman)
- layout: Fixed padding not being applied to inline views in text (12aef32b82 by @j-piasecki)
- layout: Fixup margin: auto and justification behavior for overflowed containers (f21d9afe0b by @NickGerleman)
- runtime: Add
collapsableChildren
prop (7b44c8d1d0 by @NickGerleman) - runtime: Add missing
NativeState
methods to theWithRuntimeDecorator
class. (218ea5d44c by @bartlomiejbloniarz) - runtime: Add option for multiple
mountingOverrideDelegates
(358fe46969 by @WoLewicki) - runtime: Fixed prioritization of idle priority tasks, which were incorrectly scheduled as immediate priority (0ca3ed87f3 by @rubennorte)
- runtime: New architecture timer methods now return integers instead of an opaque object. (a16f7dc547 by @javache)
Android specific
- Animated: Reduce maximum log spam from FrameBasedAnimationDriver (42299499d8)
- DevMenu: ShouldShowDevMenuOrReload() in RELEASE mode (63043b79be by @arushikesarwani94)
- DevSupport: OnKeyLongPress() in RELEASE mode (bdcc979bab by @arushikesarwani94)
- Modal: Fix a crash in Modal component (d116837da2 by @sammy-SC)
- PointerEvents: PointerEvents were not dispatching after a scroll event (766ece7b9b by @javache)
- PointerEvents: Views would still receive hover events when nested in a view with pointer-events: "none" (38cbc082db by @javache)
- ReactDelegate: Fixing exposing ReactDelegate through ReactActivity for reload() (e25860f07c by @arushikesarwani94)
- ScrollView: Add support for scrollEventThrottle for ScrollView on the New Architecture. (4d2262b8d2 by @dmytrorykun)
- ScrollView: Fix maintainVisibleContentPosition during momentum scroll (a9e6759bb5 by @janicduplessis)
- StatusBar: Fixed StatusBar.currentHeight calculations to honor all cutout sizes (0b8222a854)
- StatusBar: Fixed StatusBar.currentHeight calculations to honor all cutout sizes (cc485ccf7d)
- Text: Fixed
adjustFontSizeToFit
when used withoutnumberOfLines
(b236e154a1 by @j-piasecki) - Text: Fixed
adjustsFontSizeToFit
not working on Android when using the new architecture (747a96b7b3 by @j-piasecki) - autolinking: Fix autolink plugin for libraries that are platform-specific (20521cc908 by @gabrieldonadel)
- autolinking: Fix core autolinking not working on Windows (c8cb3d4a59 by @cortinico)
- autolinking: If
npx react-native-community/cli config
fails or timeouts proper error is shown and built is aborted, instead of leaving and empty autolinking.json (3782511350 by @mfazekas) - error handling: Android exceptions without a message would lead to unexpected crashes (48f48f8e67 by @javache)
- error handling: Fixed android native rejections should be instanceof Error (62cbdbbcc6 by @huzhanbo1996)
- error handling: Show RedBox after reloads fail (bridgeless) (2f8d4f0c25 by @RSNara)
- gradle: Fixed build from source failing due to a missing file (b2898540c9 by @j-piasecki)
- gradle: Make
rrc_textinput
on Android a shared library (ea8ad6457c by @j-piasecki) - kotlin: Fix crash due to missing JvmStatic to
convertToCase
(cef17ba14f by @cortinico) - kotlin: Use
JvmStatic
annotations for all methods fromAndroidUnicodeUtils.kt
(54dadd7bda by @WoLewicki) - layout Propagate layout direction to Android Views and Drawables (e16faca18c by @NickGerleman)
- layout: Better overflow support for ScrollView, Text, TextInput (bfb3b7008d by @NickGerleman)
- layout: Fix cached spannable measurement path (002396beae by @NickGerleman)
- layout: Fixed
textAlign
not being taken into account when positioning views inlined in text (1f08799560 by @j-piasecki) - layout: Resolved error "No virtual method setLeftTopRightBottom" (08ecdee71c by @mmmoussa)
- renderer: Cascading renders were not mounting correctly when
batchRenderingUpdatesInEventLoop
is enabled. (849da2146c by @javache) - runtime: Fix ClassCastException in
ReactModalHostView
(15ff82f811 by @cortinico) - runtime: Fix a case when view preallocation or props forwarding on Android lead to dropped props update (cf926a1329 by @sammy-SC)
- runtime: Fix crash in
getChildAtWithSubviewClippingEnabled
(d6a44e632a by @javache) - runtime: Fix dynamic_cast (RTTI) for ShadowNodeWrapper when accessed by third-party libraries again (ea958c69f6 by @tomekzaw)
- runtime: Fixed app reloading for
ReactActivity.getReactDelegate().reload()
. (539922339b by @Kudo) - runtime: Fixed error thrown during ReactInstance teardown (e67d5560cf by @javache)
- runtime: Improved resiliency of reloads when bundle loading fails (524e3eec3e by @javache)
- runtime: Local scheduler for thread-safe (7dd91d3437 by @Sunbreak)
- runtime: Surfaces no longer leak activity once stopped (af721084af)
- runtime: Tentative fix for NPE
JavaTimerManager$IdleCallbackRunnable.cancel
(e686b4330d by @cortinico) - runtime:: ViewManagers can pass context to their base class. (90663081de by @javache)
- runtime: Unmount React root when activity is destroyed on Bridgeless (33aa83a0e6 by @fabriziocucci)
- style: Border-Radius percentages are now correctly resolved. (082e29ed4e by @jorge-cab)
- style: Fix borderRadius incorrect overrides (8d5bbca1eb by @jorge-cab)
- turbomodule: Cover SingletonMap when parsing events exported by module (8a15e0d97a by @WoLewicki)
iOS specific
- Animated: Fixes animated frame timing (690df7a556 by @zhongwuzw)
- ContextMenu: Hide AutoFill from context menu when using
contextMenuHidden
(493dbb2190 by @jakex7) - DevMenu: Fix RCTPerfMonitor not showing up in scene based app (16775215d5 by @ouabing)
- InteropLayers: Make sure to pass the RCTBridgeProxy to ViewManagers (d6c90cf7ed by @cipolleschi)
- Networking: Fixed headers content type check for iOS bundle download (d9b0f15c84 by @jayshah123)
- PullToRefresh: Properly recycle the RCTPullToRefreshViewComponentView (18f0a90358 by @cipolleschi)
- RCTAppDelegate: Added space to $(inherited) string to avoid creation of wrong cpp flags in RCTAppDelegate podspec (be93092c1b by @nikhiltekwani09)
- RCTAppDelegate: Add missing forward blocks to RCTRootViewFactory (9d79f05e68 by @okwasniewski)
- RCTAppDelegate: Allow importing RCTAppDelegate in Swift (7c953698b4 by @okwasniewski)
- RCTAppDelegate: Allow usage of
RCTRootViewFactory
from Swift (5aea518d88 by @okwasniewski) - RCTAppDelegate: Fixed Method name in hint from customiseView to customizeRootView (46d4b837a5 by @svengiebel)
- RCTAppDelegate: Fixes customizeRootView migration comment (fbf9c4343a by @zhongwuzw)
- RCTAppDelegate: Remove loadSourceForBridge in RCTRootViewFactory (0c02b26c1e by @okwasniewski)
- SCrollView: Preserve content offset in ScrollView when the component is suspended (510d2906b2 by @sammy-SC)
- ScrollCiew: Remove usage of deprecated scrollIndicatorInsets in RCTScrollView (ce10ce4d98)
- ScrollView: Fixing scroll view breakage caused by #44789 (f4b921c1d5)
- Text: Fixed font size enlarging when
adjustFontSizeToFit
is set (ed7766cee9 by @j-piasecki) - Text: Fixed text highlighting in the New Architecture (eadcebbb3e)
- TextInput: Fix Multiline TextInput with a fixed height scrolls to the bottom when changing AttributedText (f6badca2f9 by @fabOnReact)
- Touchable: Fixed stale state on TouchableOpacity and TouchableBounce (00055f89a0 by @sammy-SC)
- UIActivityIndicatorViewStyles: Removed references to deprecated UIActivityIndicatorViewStyles (a23ae9c7f2)
- accessibility: Fix the accessibility label not being applied to text components on the new architecture (9922628032 by @j-piasecki)
- autolinking: Auto linking script of script phase (e320ab47cf)
- cocoapods: Exposes react_native_pods methods through autolinking.rb (6b56fb0d0b by @blakef)
- dark mode: Fix dark mode on initial load. (b957513cc6)
- error handling: Add missing call to
[super viewDidLoad]
inRCTRedBox.mm
. (d93788301c by @hakonk) - layout: Fix
InputAccessoryView
width on device orientation change (8597727c28 by @mauriciomeirelles) - objc: Fixed missing header imports (46f53e97f0)
- privacy manifest: Fix error on handling privacy manifest (c24929c5f4 by @cxa)
- privacy manifest: Fix privacy aggregation (00b366159d by @aleqsio)
- privacy manifest: Privacy Manifest aggregation failing due to missing nil check (47b42dc845 by @swrobel)
- runtime: Avoid calling abstract methods in RCTComposedViewRegistry (9bdd777fd7 by @cipolleschi)
- runtime: Extract the constants from ViewManagers in the UI Thread if needed. (94537c7beb by @cipolleschi)
- runtime: Fixed
HermesExecutorFactory.h
build error when importing its private header (2d46dbe6ce by @Kudo) - runtime: Fixes NSDataBigString length calculation (9d637e4622 by @zhongwuzw)
- runtime: Fixes race condition of m_batchHadNativeModuleOrTurboModuleCalls (3f74f69cf0 by @zhongwuzw)
- runtime: Implement shared atomic counters and replace static integers in
RCTImageLoader
andRCTNetworkTask
that were accessed concurrently, which in some cases lead to data races. (ffc16fc18b by @hakonk) - runtime: Let RCTHost be initialized with a function to provide the
bundleURL
so that it can connect to metro on Reload when the url changes. (8b8b85bb1f by @cipolleschi) - runtime: Missing
progress
inonProgress
native event arguments (78ab5f4b83 by @netmaxt3r) - style: Fixed border being drawn over children when no color was set (91c5a6d936 by @j-piasecki)
- style: Removed Legacy iOS 10 code messing with border radius (9204e44ef5 by @jorge-cab)
- turbomodule: Fixed race condition in native module invalidation. (b7812a8b6c by @dmytrorykun)
- xcode: Do not use temporary node when creating the .xcode.env.local (8408b8bc96 by @cipolleschi)