A framework for building native applications using React
3
React Native v0.78.0
Release date:
February 19, 2025
Previous version:
v0.78.0-rc.5
(released February 13, 2025)
Magnitude:
5
Diff Delta
Contributors:
2 total committers
Commits:
2 Commits in this Release
Ordered by the degree to which they evolved the repo in this version.
Authored February 19, 2025
Authored February 13, 2025
Browse Other Releases
Latest Pending
Unreleased π
v0.79.0-rc.3
Released March 24, 2025
22 Ξ
v0.79.0-rc.2
Released March 17, 2025
166 Ξ
v0.79.0-rc.1
Released March 11, 2025
2 Ξ
v0.79.0-rc.0
Released March 4, 2025
513 Ξ
v0.78.1
Released March 19, 2025
142 Ξ
v0.78.0
Released February 19, 2025
5 Ξ
v0.78.0-rc.5
Released February 13, 2025
99 Ξ
v0.78.0-rc.4
Released February 11, 2025
13 Ξ
v0.78.0-rc.3
Released February 3, 2025
0 Ξ
v0.78.0-rc.2
Released January 28, 2025
2 Ξ
Top Contributors in v0.78.0
react-native-bot
fabriziocucci
Directory Browser for v0.78.0
All files are compared to previous version, v0.78.0-rc.5. Click here to browse diffs between other versions.
Loading File Browser...
Release Notes Published
Breaking
- Codegen: Separate component array types and command array types (825492b199 by @elicwhite)
- React Native devTools: The
FuseboxClient.setClientMetadata
CDP method is removed. Instead, useReactNativeApplication.enable
. (1a9780f0e3 by @huntie)
Android specific
- APIs: Changed visibility of
FrescoBasedReactTextInlineImageViewManager
to internal (d5f33c19cb by @alanleedev) - APIs: Migrating pointerEvents API breaks compatibility for kotlin usages of this api as a val (45e4a3afce by @mdvacca)
- APIs: Convert
RootView
to Kotlin (21c9491926 by @fabriziocucci) - APIs: Delete unused abstract class
GuardedResultAsyncTask
(67bff8734f by @mdvacca) - APIs: Delete deprecated class
FabricViewStateManager
(b25b65ba19 by @mdvacca) - APIs: Removed
ComponentNameResolver
from public API (a4849cb3d6 by @mdvacca)
iOS specific
- Image: Change Image load event size info from logical size to pixel (09995fc874 by @zhongwuzw)
Added
- C++: Added
RawValue(Runtime*, jsi::Value&)
constructor to make aRawValue
from ajsi::Value
. (03d2186ace by @hannojg) - Codegen: Include cxx modules in codegen schema (cf5ab03d43 by @elicwhite)
- Deps: Add
jest-diff v29.7.0
to devDependencies (b27bd00a38 by @andrewdacenko) - Logging: Add support for the second parameter of
console.table
to specify a list of columns to print in the table. (fd0894b1c7 by @rubennorte) - Logging: Add "jsEngine: hermes" to JS runtime Error prototype (85bdd75828 by Maddie Lord)
- Metro: Add opt in for legacy Metro log streaming via
--client-logs
flag (86db4fa90b by @huntie) - Text: Added
pointerEvents
toTextProps
type. (3efbe33ce0 by @hyochan)
Android specific
- ActivityIndicator: setting
resource-id
from thetestID
prop (87b1bad45e by @mateoguzmana) - Codegen: Fixing schema types for component command params of Arrays (25c673e357 by @elicwhite)
- Gradle: Make the addition of JitPack repository configurable (a98528e609 by @cortinico)
- Logging: SoftException categories (c832f94cf7 by Thomas Nardone)
- Logging: Add logging in ReactInstanceManager.onHostPause when activity is incorrectly null (c2fd35a442 by Maddie Lord)
- Runtime: Added
getState
method forStateWrapperImpl
(ed36e896ac by @hannojg)
iOS specific
- Codegen: Add the
source
parameter to generate-codegen-artifacts to avoid generating files not needed by libraries. (98b8f17811 by @cipolleschi) - Initialization: Implement ReactNativeFactory (081be01a5d by @okwasniewski)
- Text: Support system font families (system-ui, ui-sans-serif, ui-serif, ui-monospace, and ui-rounded) on iOS (1763321c89 by @cxa)
- TextInput: Integrate a new property -
disableKeyboardShortcuts
. It can disable the keyboard shortcuts on iPads. (0154372b93 by @rezkiy37)
Changed
- Deps: Bump Hermes (0c8e15e8bb by @cipolleschi)
- Flow: Improved types in
BoxInspector
and refactored a code (f832c450a5 by @coado) - Flow: Improved types in StyleInspector and refactored a code (49e5c58c59 by @coado)
- Flow: Improved types in ElementBox and refactored a code (2959d49e8d by @coado)
- Flow: Improve types on BorderBox (48a7840919 by @coado)
- Flow: Improve types on DrawerLayoutAndroid (b5155fba89 by @huntie)
- Logging: Improved formatting of values logged via
console.table
(including Markdown format). (7154c62afb by @rubennorte) - Runtime: Mark
intersectionRect
required inNativeIntersectionObserverEntry
to reflect native logic. (8681fc2ab2 by @lunaleaps) - Runtime: (9aa21b5e87 by @lunaleaps)
- TypeScript: Upgrading
typescript-config
module version toesnext
(5370347f54 by @mateoguzmana) - VirtualizedList: Fix item disappearing with scroll in VirtualizedList (df7b6ae092 by @Tom910)
- Yoga: Update YGNodeStyleGetGap to return YGValue (331d99a941 by @heoblitz)
Android specific
- APIs: Introduce new public API
ViewManagerInterface
(40a0cdbc99 by @mdvacca) - Deps: Bumped Android Gradle Plugin (AGP) to 8.8.0 (4c7c836ebf by @cortinico)
- Deps: Bump Gradle to 8.12 (5e6478954c by @cortinico)
- Deps: Update Fresco to 3.6.0 (819b5c2c8d by @Abbondanzo)
- Deps: Migrate jsc-android to mavenCentral (e42a3a6b84 by @Kudo)
- Image: Replaced custom XML decoder with Fresco's built-in decoder (6feb90bb29 by @Abbondanzo)
- Kotlin: Migrate
ComponentNameResolver
to kotlin (385b9f4265 by @mdvacca) - Kotlin: Migrate
ReactSwitchManager
to Kotlin (b886bc4db9 by @krozniata)
iOS specific
- Accessibility: Reduce memory allocations when computing
accessibilityLabel
(74bdab8bd8 by @sparga) - CocoaPods: Properly inherit OTHER_CPLUSPLUSLAGS (fa03840e68 by @WoLewicki)
- CocoaPods: Pin 'concurrent-ruby' to a working version (198adb47af by @cipolleschi)
Removed
Android specific
- APIs: Made
ReactCookieJarContainer
internal. (18ebea533d by @javache) - Config: Remove as_const option (on by default) in fbsource (e5a526ff44 by @panagosg7)
- Flow: Remove comment syntax from ReactNativeTypes (a80baac58e by @hoxyq)
- Metro: Removed
JSCHeapCapture
module, deprecated PackagerCommandListener#onCaptureHeapCommand (e06fa5d102 by @javache)
Fixed
- Animations: Removed unnecessary state updates in React to reflect the current state of looping animations. (6059660c60 by @rubennorte)
- Animations: Animation.stop() executes when
animatedShouldUseSingleOp
is enabled. (746d584a23 by @javache) - Animations: Fix buttons becoming unresponsive when transform is animated (2204ec94d4 by @sammy-SC)
- C++:
JSBigFileString
fails for non-zero offset arguments (7d0338cb0b by @jwajgelt) - Config: Disable
react-in-jsx-scope
rule in eslint config (ea56c432b7 by @matinzd) - Deps: Fix peer dependencies on React types to React 19 (4368368ef5 by @cipolleschi)
- Deps: Add missing
invariant
dependency (ee8088b615 by @tido64) - Fantom: Fix a bug when fantom tests could not be run in parallel, e.g. in a stress-test. (8696b79f73 by @mijay)
- Logging: Modified
console.table
to avoid mutating the received argument. (caa77fbe2b by @rubennorte) - Text: Fixed
adjustsFontSizeToFit
not working for text with a single character (47822e9048 by @j-piasecki) - Text: Fix
maxFontSizeMultiplier
prop onText
andTextInput
components in Fabric / New Architecture (ea49d4d1b01107a5ecbbbd4904f1d935e51d6b32 by @RickardZrinski)
Android specific
- APIs Re-introduce the deprecated constructor on ReactModuleInfo (734730df75 by @cortinico)
- Dialog:
FLAG_SECURE
not respected in Modal dialog (7e029b0dcf by @mateoguzmana) - Events: Fix crash for
setEventEmitterCallback
NoSuchMethodError on API lvl 26 (7dcbc799eb by @cortinico) - Gradle: Fixed build issue when including mapbuffer jni headers in library code (ecf17666ad by @hannojg)
- InteropLayer: Fix execution of early InteropEvents (4ed2b35bf6 by @mdvacca)
- JSC: Fix JSC Debug instacrashing (b10491a3c4 by @cortinico)
- JSC:Fix JSC by avoiding use of unavailable
str.replaceAll()
(b5b9e032c2 by @robhogan) - Modal: Setting
resource-id
fromtestID
prop (52b6592559 by @mateoguzmana) - Networking: ReactOkHttpNetworkFetcher β cache control headers getting overwritten by the rest of the headers (81cb166d10 by @mateoguzmana)
- React Native DevTools: Pass the bundle URL protocol when setting up HMR client on Android (32fe244744 by @byCedric)
- Runtime: Fix BackHandle callback undefined cause crash issue (44705fe11b by @BleemIs42)
- Runtime: Support Long values in WritableMap and WritableArray (e7f943de2f by @WoLewicki)
- Runtime:
SetColorScheme
should be called on the UI thread (2aa79979d3 by lihaitao) - Style: Fix background getting clipped when border-radius is set (6d235853fb by @jorge-cab)
- Testing: Handling
testID
correctly for horizontal scroll view (81c74cd35f by @mateoguzmana) - TextInput: Fix incorrect height of single line TextInputs without definite size (9b646c8b7b by @NickGerleman)
iOS specific
- C++: Exclude Android HorizontalScrollContentView cxx component code (4adaacb4f7 by @zhongwuzw)
- Ccache: Fix ccache not found error exporting ccache binary path as Xcode user-defined setting to be used by ccache scripts (d31ac832c5 by @ste7en)
- CocoaPods: Resolve "Your project does not explicitly specify the CocoaPods master specs repo"
pod install
warning (2f2281718a by @noway) - Image: Load images even when the extension is implicit (b9f418e9bc by @cipolleschi)
- Initialization: Allow multiple RN instances to run at the same time (444c7d4eff by @cipolleschi)
- InteropLayer: Avoid crashing the app when the InteropLayer can't find some methods in the native implementation (3bd3f101b9 by @cipolleschi)
- InteropLayer: Properly handle
null
value in TurboModule Interop layer (ebfd7057af by @cipolleschi) - JSC: Fix Direct Debugging with JSC (b04d17afca by @Saadnajmi)
- Keyboard: Enable/disable keyboard shortcuts only on iOS (8b0af4542e by @okwasniewski)
- RefreshControl: Fix app becoming unresponsive when
RefreshControl
is used inside of <Modal /> (6cb2684b43 by @sammy-SC) - React Native DevTools: Restore "Paused in debugger" overlay icon (f30c46efbd by @robhogan)
- Runtime: Emit
didUpdateDimensions
correctly (920867d949 by TobiasH) - Runtime: Fix
applicationDidEnterBackground
not being called (adaceba546 by @alextoudic) - Runtime: Fixed problem with accessory view & 3rd party libs (5fc582783d by @kirillzyusko)
- Style: Dashed & dotted borders now work with overflow: hidden (1b88c5b429 by @joevilches)
- Style: Fixed
centerContent
losing taps and causing jitter (fe7e97a2fd by @gaearon) - Xcode: Properly escape paths in Xcode build script used when bundling an app. (2fee13094b by @kraenhansen)
Hermes dSYMS: - Debug - Release
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.