Breaking
- Bridgeless: Make NativeModules.foo load turbomodules (unset turboModuleProxy in bridgeless). (cc5f17d5a2 by @RSNara)
- dev-middleware: Frameworks should specify
serverBaseUrl
relative to the middleware host. (acf384a72e by @robhogan) position
of sticky headers onScrollView
will now be taken into account (cbab004eb9 by @joevilches)- Remove ReactFabricInternals module (0c21db360c by @huntie)
- Make ReactDebugOverlayTags, DebugOverlayTags, Printer, PrinterHolder, NoopPrinter internal (623d481991 by @cortinico)
- More spec compliant absolute positioning (0a2dec175e by @NickGerleman)
- Native looping animation will not send React state update every time it finishes. (4b035d820d by @dmytrorykun)
Android specific
- Removed ReactViewGroup.getBackgroundColor() (6a472c5cf2 by Thomas Nardone)
- ReadableArray non-primitive getters are now correctly typed as optional (145c72f816 by @javache)
- Remove jsBundleLoader from DefaultReactHost.getDefaultReactHost() (fbe4c0ed34 by @mdvacca)
- Reduce visibility of TaskCompletionSource class (4f55161132 by @mdvacca)
- Stable API - Make ImageStoreManager internal (846c4b1ea2 by @arushikesarwani94)
- Stable API - Make SwipeRefreshLayoutManager internal (d02da992a4 by Thomas Nardone)
- Undo breaking change of UiManager.eventDispatcher return type (7817ab5de2 by @cortinico)
- Stable API - Make classes inside
com.facebook.react.views.progressbar
internal (46526fc2fe by @cortinico) - Undo breaking change of UiManager.eventDispatcher return type (dbe509a23a by @cortinico)
- Stable API - Make OkHttpCallUtil internal (abd118a719 by @arushikesarwani94)
- Stable API - Make SimpleSettableFuture internal (3dec672398 by @arushikesarwani94)
- Stable API - Make
ClipboardModule
internal (10f6d5adb5 by @cortinico) - Reduce visibility of ReactVirtualTextShadowNode to internal (496b0a8729 by @mdvacca)
- Reduce visibility of ReactVirtualTextViewManager to internal (4a119c4c3a by @mdvacca)
- Stable API - Make classes in
com.facebook.react.views.safeareaview
internal (39dfbadd5d by @cortinico) - Stable API - Make ClipboardModule internal (a72c35f98c by @cortinico)
- Undo a breaking change on ReactViewGroup constructor (bbe714e487 by @cortinico)
- Stable API - Make NativeModulePerfLogger internal (d7d5de9f96 by @cortinico)
- Make
DevLoadingModule
internal (8c50bf0beb by @cortinico) - Stable API - Convert to Kotlin and make internal
NotThreadSafeViewHierarchyUpdateDebugListener
(287e200332 by @cortinico) - Rename DevSupportManagerBase.getCurrentContext() -> getCurrentReactContext() (0e7ba9094e by @RSNara)
- Make DevSupportManagerBase.getCurrentReactContext() public (5a6a42c7d0 by @RSNara)
- Reduce visibility of ReactUnimplementedViewManager to internal (fe656be26e by @mdvacca)
- Stable API - Make InteropModuleRegistry internal (cba1d4bae7 by @cortinico)
- Stable API - Make ReactDevToolsSettingsManagerModule and ReactDevToolsRuntimeSettingsModule internal (d7550293a2 by @cortinico)
- Added JSBundleLoader as parameter of DefaultReactHost (143b9d172c by @mdvacca)
- Deleting deprecated CompositeReactPackage (2cb5198f1b by @mdvacca)
- Make ReactHost.createSurface() method non nullable (70c7616535 by @mdvacca)
- Stable API - Make AppStateModule internal (dbf09fbe58 by @cortinico)
- Undo breaking change on UIManager eventDispatcher accessor (dc1a498d39 by @cortinico)
- Make
AccessibilityInfoModule
internal (7168a9d1a2 by @cortinico) - Undo breaking change on ViewManagerDelegate.kt String params (2d2bb9c588 by @cortinico)
- Add 3 methods to ReactInstanceDevHelper (c867aba2f3 by @cortinico)
- Add test case for set opacity in new arch examples (848471b69f by @poonamjain96)
- Add test for Console.log measure in new-arch-examples (8cf27e8b6f by @poonamjain96)
- Remove Deprecated DefaultDevSupportManagerFactory.create() (f25abe51ce by @cortinico)
- Remove BaseViewManagerInterface (7fb3d830be by @NickGerleman)
- Chore: test case added for Image (d0e5053528 by @sarthak-d11)
- Remove ReactNativeFlipper object, deprecated in 0.75 (d1a256f51a by @cortinico)
- Add test for background color and border width in text.yml (fa62b7e1ed by @muskan27797)
- Added Submit Application test to button.yml (699f73a6b0 by @shubhamguptadream11)
- Use BackgroundStyleApplicator when setting background color in BaseViewManager (309cdea337 by @NickGerleman)
- Delete useTurboModules, enableFabricRenderer and enableBridgelessArchitecture fields from ReactFeatureFlags class (10a33e0479 by @mdvacca)
- Remove ReactViewBackgroundManager and ReactViewBackgroundDrawable (51673e41ae by @NickGerleman)
iOS specific
- Use the RCTDependencyProvider in the RCTAppDelegate, breaking the dependency with Codegen (b91626af26 by @cipolleschi)
- Delete experimental API RCTConstants.RCTGetMemoryPressureUnloadLevel (d79dc48abd by @mdvacca)
- (6fc500ee99 by @philIip)
- (538bff710f by @philIip)
- Replace uses of
CGColorRef
with UIColor to avoid manual memory management (b70709dbc2 by @Saadnajmi) - Cocoapods decide the C++ version for iOS pods (bd50c4a460 by @cipolleschi)
- Delete partialBatchDidFlush (a777a8937e by @philIip)
- We deprecated RCTRuntimeExecutor in 0.76, so let's get rid of the code now. (cf8d09b279 by @philIip)
- Unbreak
RCTHermesInstance
constructor breaking change (aec6666bfa by @tido64)
Added
- Add FuseboxPerfettoDataSource to emit Fusebox traces using Perfetto (ef0ea4d834 by Benoit Girard)
- Add support for
rn_rootThreshold
in Intersection Observer (a77d8d9d50 by @lunaleaps) - Codegen: Support negative values in enums (177bf4d043 by @okwasniewski)
- Use the TypeScript key in syntax to restrict permissions and types of results (0244710c4b by @qnnp-me)
- Image
resizeMode
andobjectFit
support for'none'
. (d8cfd98070 by @mateoguzmana) - Add NumberLiteralTypeAnnotation support (dd472101b7 by @elicwhite)
- Eliminate usage of more than 1-arg
React.AbstractComponent
in React codebase (6205aad81e by @SamChou19815) - Added support for
display: contents
(e7a3f479fe by @j-piasecki) - Added the missing
announceForAccessibilityWithOptions
function mock in thepackages/react-native/jest/setup.js
file. (4ae999b90b by @ChrisMattew) - Add support for reload-to-profile in Fusebox (Part 2 of 2: JS) (4df224ca6d by @EdmondChuiHW)
- Add JS layer for new text content type cellular EID and cellular IMEI (118c1f7035 by @cipolleschi)
- Add support for reload-to-profile in Fusebox. (Part 1 of 2: native) (91a40a28de by @EdmondChuiHW)
- Add cli --help details to combine-js-toschema-cli.js (e4814b0d6d by @blakef)
- Codegen for Native Modules now supports string literals (d2f3f06826 by @elicwhite)
- Codegen now supports Union Types in NativeModules (3af126b562 by @elicwhite)
- Updated FlatList setNativeProps type (b0ac99b477 by @JDMathew)
- Added Jest mocks for
NativeAnimatedModule
(fd355308fa by @yungsters) - Added
HostInstance
type to represent the instance of aHostComponent<T>
. (e24f9917c2 by @yungsters) - Export
DevMenu
fromreact-native
(e12c0d9551 by @frankcalise) - Removed
experimental
prefix and fully releasedmixBlendMode
prop (d2c48f3b1a by @jorge-cab) - Add Playground to RNTester for testing out features & submitting reproducers. (256adcab7b by @shwanton)
- Add color formatting to codegen output (1747f57c67 by @okwasniewski)
- Added overlayColor prop to modal component for customisable background overlay (4e1d7015c1 by @shubhamguptadream11)
- Created an experimental optimization to improve memoization within
Animated
to improve product performance (dc84d00db6 by @yungsters) - Expose missing text content type to JS (d3d48cb357 by @cipolleschi)
- Created an experimental (unstable) method for allowlisting props when using
Animated
(f3f652daab by @yungsters) - Upgrade Flow to 0.245.2 (1f65bf9545 by @SamChou19815)
Android specific
- Image
force-cache
caching control option (a0be88fd72 by @mateoguzmana) - Add overlapping radii resolution logic preventing incorrect rendering (451ff70da4 by @jorge-cab)
- Marked ReactPackage#getModule as stable. (8fba7ebb5e by @javache)
- ReactDelegate and ReactActivityDelegate#getCurrentReactContext can be used to access the current context (fe8cc62824 by @javache)
- Add exceptionHandler as a parameter of DefaultReactHost.getDefaultReactHost() method (7a5a10c95c by @mdvacca)
- Logic to check for grayscale mode on android (e70202e606 by @oddlyspaced)
- TextTransform ktx (7794d7af43 by Thomas Nardone)
- Add navigationBarTranslucent prop to Modal component (7a6c7a462a by @zoontek)
- Trigger Java GC on app reload (de3c1ee097 by @mrousavy)
- Add cmake arguments to support 16KB page size for native libraries (65cdd5b82c by @alanleedev)
- Enabling basic
Image
cache control for Android (e5dd7d68bf by @mateoguzmana) - Add OnLayoutChange API for scroll views (d825a4d712 by Thomas Nardone)
- React Activity exposes ReactHost (d78cb78b15 by @shwanton)
- Added PixelUtil extensions for Int and Long (9406a09f87 by Thomas Nardone)
- Add boxShadow support to BaseViewManager (b69a92e2c9 by @NickGerleman)
- Test: pressable test cases (3102a58df3 by @deepanshushuklad11)
- Added showcase for Android
resizeMethod
options when applied to a large image (768a1d8664 by @Abbondanzo) - Adds a new
resizeMethod
,none
, which disables downsampling for an image (6202319ed5 by @Abbondanzo) - Add Modal Testing to modal.yml (1a2532b1fc by @ahmedbilal008)
- Add a new Fresco decoder for XML resource types (118b7c18a6 by @Abbondanzo)
- Added
isHighTextContrastEnabled()
toAccessibilityInfo
to readACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED
setting value (d4ea147b41 by Ariel Lin) - Outline properties
outline-width
,outline-color
,outline-style
&outline-offset
(17faac4170 by @jorge-cab) - Flag in ReactFragment to allow unmounting a surface without destroying ReactHost. (bb3ec4d6c3 by @rozele)
- ReactDelegate
unloadApp
methods for unmounting surfaces without destroying ReactHost (38593c440e by @rozele) - New feature flag for line height calculation (f338e7c0a1 by @mellyeliu)
- Adds support for importing XML assets as images (2e80f5acf1 by @Abbondanzo)
iOS specific
- Image
only-if-cached
cache control option (dc9db01665 by @mateoguzmana) - TextInput
inputAccessoryViewButtonLabel
prop (32931466ed by @mateoguzmana) - Fix: Correct Layout Behavior for Combined align-content and align-items (73a2be1243 by @phuccvx12)
- Extract RCTAppDependencyProvider in the ReactAppDependencyProvider pod (102062fbc7 by @cipolleschi)
- Pass the
RCTAppDependencyProvider
to theRCTAppDelegate
(95fc906930 by @cipolleschi) - Introduce the RCTAppDependencyProvider to minimize the changes required y the users (41c2502b36 by @cipolleschi)
- Add RCTDependencyProvider protocol (f2b3716426 by @cipolleschi)
- Added
disabledButtonTintColor
prop to ActionSheetIOS (089c87e22e by @henninghall) - Scroll the cursor into view when text input is focused (e021e50d53 by @dominictb)
- Introduce RCTArchConfiguratorProtocol (ec0dbb729d by @okwasniewski)
- Introduce RCTUIConfiguratorProtocol (8850736188 by @okwasniewski)
- TvOS support for Hermes artifacts (f673759c83 by @douglowder)
- Add
CallInvoker
toBindingsInstaller
(87bae7f734 by @mrousavy) - Added
isDarkerSystemColorsEnabled()
toAccessibilityInfo
to read "Increase Contrast" setting value (af3bee6511 by Ariel Lin) - Expose RCT_NEW_ARCH_ENABLED to Swift (d24507611d by @okwasniewski)
- Add
systemCyan
andsystemMint
colors on iOS (4caf548a9f by @EvanBacon) - Outline properties
outline-width
,outline-color
,outline-style
&outline-offset
(1288e38423 by @jorge-cab) - Declare supportedInterfaceOrientations only on iOS (40c5e6b64a by @okwasniewski)
- New text content type cellular EID and cellular IMEI (14e0d0dffb by @pasc0al)
- User-configurable BUNDLE_NAME when building bundles (f8287e25e1 by @fivecar)
- Line break mode for TextInput components. This includes JS APIs for the new mode. (ce2d34f194 by @shubhamguptadream11)
Changed
- Fixed a typo in the README file. (30e75a51f3 by @Aryan2727-debug)
- Fix unnececary rerenders of VirtualizedListCells with strictMode={true} (aafe696453 by @Tom910)
- The
AnimatedNode
graph will not occur during the insertion effect phase, which means animations can now be reliably started during layout effects. (316170ce8d by @yungsters) - AttributedString
appendFragment
andprependFragment
take an rval instead of a const ref; append/prependAttributedString have been removed (2c31fe99e1 by @javache) - Improved AttributedText generation for raw text nodes. (2f7957f2fd by @javache)
- Callbacks passed to
animation.start(<callback>)
will be scheduled for execution in a microtask. Previously, there were certain scenarios in which the callback could be synchronously executed bystart
. (090501d26d by @yungsters) - Optimized the performance of updating
Animated
components. (f0ffcd4f5d by @yungsters) - Bump serve-static to 1.16.2 to fix CVE-2024-43800 (50e38cc9f1 by @cortinico)
- Bump Folly to 2024.10.14.00 (37375d8aba by @alanleedev)
useMergeRefs
and components using it (e.g.Pressable
) now support ref cleanup functions. (01e210fd28 by @yungsters)- : Update Metro to 0.81.0 (0902b0af75 by @robhogan)
- Animations started with incompatible
useNativeDriver
andAnimatedValue
configurations will now synchronously fail. Previously, spring and timing animations with non-zero delays would throw the error asynchronously. (fd8cf19625 by @yungsters) - The
Animation
superclass no longer exposes__onEnd
as a property. Subclasses must instead invokesuper.start(…)
in theirstart()
implementation. (b3fe06b268 by @yungsters) - Simplified Flow types to use
HostInstance
(which changing nominal types). (177697f539 by @yungsters) - Upgrade React DevTools to 6.0.0. (ed4f6d6891 by @hoxyq)
- Fix: use public instance in Fiber renderer and expose it from getInspectorDataForViewAtPoint (#31068) (633ad4933e by @hoxyq)
- Get react-native package name from package.json in codegen script (65575e8399 by @okwasniewski)
- Bring back shouldSkipStateUpdatesForLoopingAnimations feature flag (6e0e712c2a by @dmytrorykun)
- AnimatedNode (and its subclasses) once again implement
toJSON()
. (7bd4a54968 by @yungsters) - Do not print Bridgeless Mode is enabled on console anymore (f3a969f38d by @cortinico)
- Bump main to 0.77-main (120558c0cd by @cipolleschi)
- Improved the performance of unmounting (and updating, when an enclosing Activity becomes hidden) Animated components (46abda55b9 by Royi Hagigi)
- AnimatedNode (and its subclasses) no longer implement
toJSON()
. (fe6228512e by @yungsters) - Animated now resolves
style
to the original prop value if it contains noAnimatedNode
instances. Previously, it would resolve to a flattened style object. (ca234ba10e by @yungsters) - Bump Metro dependencies to 0.81.0-alpha.0 (40f98b5eee by @robhogan)
Android specific
- Consolidated ReactViewGroup add/remove overrides (0b22b955f1 by Thomas Nardone)
- Migrated systeminfo module code from Java to Kotlin (8dc2c90ce5 by @oddlyspaced)
- Updating targetSdk to 35 (apps can still choose their own targetSdk regardless of RN version) (48ea6867a9 by @alanleedev)
- Invocations to JS will now invoke their callbacks immediately if the instance is ready. Surface starts will not wait for the main thread to become available to dispatch the work in JS. (9fa4845136 by @javache)
- TurboModules marked as requiring eager init will now be constructed on the mqt_native thread to increase concurrency in React Native init. (663b5f9d19 by @javache)
- Reduce visibility of Continuation to internal, although this interface wasn't being exposed in any public API (7b21b9e69c by @mdvacca)
- Update documentation for ReactHost.destroy() APIs (443bc32dc4 by @mdvacca)
- Deprecate CatalystInstance in old architecture (3e27ef1f6e by @mdvacca)
- Deprecate BridgelessCatalystInstance class (72bd840dd3 by @mdvacca)
- AGP to 8.7.2 (e1a1cead43 by @cortinico)
- Migrate ReactFeatureFlags to Kotlin (4076dbfc86 by @mdvacca)
- Android NDK to 27.1 (ba061a5d18 by @alanleedev)
- Migrate MainReactPackage to Kotlin (and make it final) (7bbac8ee27 by @cortinico)
- Bump fbjni to 0.7.0 (1c002c7b4e by @alanleedev)
- Fresco to 3.4.0 (091025e18b by @cortinico)
- Bump Kotlin 1.9.x to 2.0.x (972c2c864c by @cortinico)
- Fix: change opacity logic from random to decrement by -0.20 (af4907025e by @sarthak-d11)
- Bump Android Gradle Plugin (AGP) to 8.7.0 (cbc0978bb6 by @cortinico)
- Improve FpsDebugFrameCallback.getTotalTimeMS() accuracy (d54c25fdae by @aamagda)
- Update Fresco from 3.2.0 to 3.3.0 (86d92e41d2 by @Abbondanzo)
- Disabling
outline
props on Android to stay consistent with iOS (7ab0002799 by @jorge-cab) - Gradle to 8.10.1 (90f89a830a by @cortinico)
iOS specific
- Make
prefetchImageWithMetadata
'squeryRootName
nullable in the spec (4dd60acb7d by @TheRogue76) - Change how components automatically register (8becc2514d by @cipolleschi)
- Stop generating the RCTThirdPartyLibraryComponentProvider (60b9d3d89e by @cipolleschi)
RCTSurfaceHostingProxyRootView
no longer has different behavior (whether it callsstart
on the provided surface) depending on which initializer is used. Callstart
yourself on the surface instead. (13b93cfdda by Nolan O'Brien)- Use
newArchEnabled
flag in RCTAppDelegate and RCTRootViewFactory (7e1674fc59 by @okwasniewski) - Do not move to the main queue synchronously when starting a new surface (ab2c47be28 by @cipolleschi)
- Rename
RCTUIGraphicsImageRenderer
toRCTMakeUIGraphicsImageRenderer
(6a09fc09af by @Saadnajmi) - Refactor RCTDevLoadingView to use constraints (fbda60e657 by @okwasniewski)
Deprecated
Android specific
- Deprecated shadows for ReadableNative[Map|Array].[Readable|Writable] (d424bb9d7c by @javache)
- ReactContext.getFabricUIManager() method (fb737ca7d3 by @mdvacca)
iOS specific
- Deprecating RCTBridgeModule batchDidComplete and adding configuration to disable it (731bd95c43 by @philIip)
Removed
- Remove
BackHandler.removeEventListener
(44d619414c by @retyui) - Removed type for useConcurrentRoot from AppRegistry, as it was already ignored (2ec547ad28 by @javache)
- Remove "run on iOS" and "run on Android" from the dev server key commands (19b971ff94 by @huntie)
- Removed
refs
property fromNativeMethods
TypeScript definition. (223e98cc4b by @yungsters)
Android specific
- Removed hasConstants constructor from ReactModuleInfo (aec7a66ae8 by @javache)
- Removed TurboReactPackage, which was replaced by BaseReactPackage (bf5c98cf5e by @javache)
- DevToolsReactPerfLogger stats gathering now uses an internal API (f503fe3f10 by @javache)
- BindingImpl is no longer part of the public interface (18faf68b48 by @javache)
- FabricComponents is removed from public API (300db67b27 by @javache)
iOS specific
- Remove available for RCTKeyWindow check (e98c221e5e by @okwasniewski)
Fixed
- Hermes: revert Intl removal (4cffff35e0 by @robhogan)
- Fix the nodes' owners not being updated when
display: contents
is used (aa53bde21b by @j-piasecki) - dev-middleware: Rewrite URLs in the inspector proxy to cover all configurations, not just Android emulators. (74995bc90a by @robhogan)
- Fix C++ bridging template compatibility with MSVC (e6848ba5ba by @acoates-ms)
- Accessing KeyboardAvoidingEvent event in onLayout handler (68db74205a by @mhoran)
- dev-middleware: Fix URL rewriting where device and debugger reach the server on different ports/protocols. (5da7ebf99a by @robhogan)
- dev-middleware: Regex-escape IP addresses in urlRegex replacements (aae3e03e57 by @robhogan)
- Fixed jest error from Appearance.js (ce838a4bcf by @Kudo)
- When using Babel with plain JavaScript files, support for additional user syntax plugins should be fixed (now uses Babel's parser instead of hermes-parser). There is no change for JS files annotated with
flow
, where extended JS syntax remains unsupported. (3de9892353 by @huntie) - Fix
Appearance.setColorScheme(null)
not resetting color scheme value (7d63235086 by @sangonz193) - Fix text not taking full width (550b0c0ed1 by @s77rt)
- Linear gradient start and end point algorithm. (221d1eceda by @intergalacticspacehighway)
- Codegen: Support nested objects in arrays (13780126d3 by @tvanlaerhoven)
- RN DevTools: Don't assume 10.0.2.2 is an alias for localhost unless it's used to establish a connection to the server (69400be4fc by @robhogan)
- Do not discard props in the patch when they are not null while using
useNativeProps
(4c3112c8d8 by @cipolleschi) - : dev-middleware: Remove URL.canParse, restore compat with Node < 18.17 (99767d43b0 by @robhogan)
- RN DevTools: Fix fetching sources and source maps when the dev-server is remote and not tunnelled via the same port+protocol. (d1b0e9a30b by @robhogan)
- Fix npm react-native start when cli-server-api isn't installed (e0be2efe4e by @blakef)
- AnsiHighlight style in RTL layout (9a3958a619 by @hexboy)
- Fixes typo in ReactHostImpl (e3f03269c5 by @rozele)
- TextTransform: capitalize better reflects the web behaviour (dc2000c875 by @javache)
- Fix for nodes with
display: contents
not being cleaned in some cases (a88ddcecc9 by @j-piasecki) - Microtasks are now correctly executed after the code evaluation in Console panel of DevTools. (3dfe22bd27 by @hoxyq)
- Passed height and width as native props to support cases where source is an array. (45b177f50d by @shubhamguptadream11)
PerformanceEntryReporter::reportMark
andPerformanceEntryReporter::reportMeasaure
now return created performance entries. (32f7b3b4e0 by @robik)- Make Codegen work with local modules (7b6e8e7765 by @cipolleschi)
- Fix KeyboardAvoidingView not aware of the keyboard closing it is unmounted (08bd8ac47d by @QichenZhu)
- Fix onEndReached not being called when getItemLayout is present and we scroll past render window (3485e9ed87 by YunPeng Chong)
- Fix cast and control paths errors on windows (0794fa909b by @TatianaKapos)
- Plumbing to get boxSizing prop to Yoga round 2 (3ca796edc3 by @joevilches)
- Fix onEndReached not being called when getItemLayout is present and we scroll past render window (62b7396bf4 by @NickGerleman)
- TurboModule::get is now a final method, override
create
to customize property lookup (5b5e150eaf by @javache) - Improved types for AnimatedProps (390925ea39 by @javache)
- Upgrade Codegen dependency
jscodeshift@17.0.0
to resolve outdated dependencies (39c98fb8f8 by @byCedric) - Fixed issues with W3C PointerEvents testsx (1dcaf823f5 by @rozele)
- Fixed issue with W3C PointerEvents tests (68a6b69b27 by @rozele)
- Fix setImmediate/clearTimeout mismatch in NativeAnimatedHelper that could clear an unrelated setTimeout. (a5dd1be889 by Benoit Girard)
- Improved error message when no view config is found. (bca232ad90 by @javache)
- : Order of operations related to platformConfig propagation in NativeAnimated (a64183b0c6 by @rozele)
- Rename overlayColor prop in Modal to backdropColor (7aeff18970 by @alanleedev)
- Fix source mapping for codegenNativeCommands (8fba154b66 by @vzaidman)
- Fixed accuracy of FlatList estimations to determine what elements are visible in the rendering window. (40aaeb7181 by @rubennorte)
- Fix type conversion error in react native windows build. (13db1cb88b by @marlenecota)
- Correctly pass down isLooping in parallel animation (4014aa4528 by @zeyap)
Android specific
- Yoga: Fix YogaConfig getting garbage collected #1678 (7dcb10b6e7 by @michaeltroger)
- Enable mix-blend-mode on ReactRootView so blending works with app background (24b0ded3cf by @jorge-cab)
- RN DevTools: Fix source loading when using an Android emulator connecting to a dev server on the host. (ca9c56329f by @robhogan)
- Fixes some deadlocks when doing commits and state updates synchronously from the UI thread (e.g.: from reanimated). (3986eefed1 by @rubennorte)
- Ensure setSelection in onAttachedToWindow is within text range (08759121cd by @zeyap)
- Fixed crash in legacy ReactFontManager (3da23f7093 by @javache)
- Dispatch onMomentumScrollEnd after programmatic scrolling (c69e330324 by @Biki-das)
- RNGP - Do not attempt to substring to 1024 while logging (e64513bf4e by @cortinico)
- Missing isInvertColorsEnabled implementation for Android (cc1d2853fb by @oddlyspaced)
- Addressed race condition in surface start. (6ba7cb3102 by @javache)
- The definition of ts of resizeMethod attribute is none. (758892a7d8 by @nianxiongdi)
- Reimplement Android lineHeight positioning/determination (41265bac6b by @NickGerleman)
- Fix legacy arch RTL horizontal ScrollView regression (bfca7cfe7a by @NickGerleman)
- Fix RTL ScrollView position when content smaller than container (0df59d4f03 by @NickGerleman)
- Avoid null reference exception in bridgeless ReactDelegate (0d664100bb by @rozele)
- Fix generating empty line at the end of multiline text view when
textAlign
is set tojustify
(08e8f6adfd by @coado) - Fix Frame Callback not being called after Host Resume (e8f8ee3c0f by @s77rt)
- Fix crash in getViewState when using suspense fallbacks. (bd133b5dd5 by @javache)
- Text without explicit font styles was potentially cut-off. (95a5d1c628 by @javache)
- Merge Android ViewNativeComponent ViewConfig into BaseViewConfig (0ba00fc998 by @NickGerleman)
- Fixed styling on alert dialog titles to wrap two lines and retain bold appearance (c54b23ff9e by @Abbondanzo)
- Prevent ArrayIndexOutOfBoundsException in permission check (6aeca53b3e by @antFrancon)
- Account for items dynamically scaling with the container when using
maintainVisibleContentPosition
in virtualized lists (6c19996e10 by @fabriziocucci) - Apps will no longer fatally crash when trying to draw large images (483b928224 by @Abbondanzo)
- Add missing BaseViewManager props to BaseViewManagerDelegate (6741fd94ad by @NickGerleman)
- Fix TextInput caret moving to the beginning when attached to window (ca0abd1b9e by @QichenZhu)
- Fix issue where
onDropViewInstance
cleanup was not being handled afterReactRootView.unmountReactApplication
(0449630612 by @rozele) - Fix issues with Modals and lifecycle events in multi-surface apps (1ffef5669c by @rozele)
- Fix mising
ANTI_ALIAS_FLAG
when resetting Text Paint (276e3a7df7 by @NickGerleman) - Fix some cases where we override setBackgroundColor on View-level instead of VM level (0b0ac81fbe by @NickGerleman)
- Avoid blocking the main thread when decompressing drawable resources (420229d669 by @Abbondanzo)
- Reenable
setAndroidLayoutDirection
by default (6cf0cfb5a4 by @NickGerleman) - Properly fix measurement of trailing newlines (060c594457 by @NickGerleman)
- Fix crash for Modal not attached to window manager (eaa780de1c by @cipolleschi)
- Fix NPE on ReactTextInputManager.setTextDecorationLine (41c6ad5597 by @cortinico)
- BoxShadow now supports platformColor. (4ede9205a0 by @javache)
- MixBlendMode now properly does state updates (fae572d815 by @jorge-cab)
- Fix interactions between removeClippedSubviews and RTL (513e9669e7 by @NickGerleman)
- LayoutAnimations work on full new architecture (43af902693 by @javache)
- Fix: ReactDelegate/ReactFragment crashing on New Architecture apps (12dda31bc1 by @cortinico)
- ReactFragment should properly instantiate ReactDelegate on Bridgeless (7176d11ce4 by @cortinico)
- Fixed text being measured incorrectly when ending with an empty line on the new architecture (bd323929dc by @j-piasecki)
- Linear gradient with platform colors (6866968a79 by @intergalacticspacehighway)
- ARG_DISABLE_HOST_LIFECYCLE_EVENTS in ReactFragment to allow unmounting a surface without destroying ReactHost. (40c875deca by @vincenzovitale)
- Fixed incorrect scroll event/position for scroll views when doing a smooth scroll animation. (b4c41ec768 by @rubennorte)
- Use appropriate Nullable attribute for ReactRootView field in ReactDelegate (cbddcfc691 by @rozele)
- Hover events were dispatched incorrectly when multiple ReactRoots were layered. (533ef2ca37 by @javache)
- Improve text line height calculation (65d8f66b50 by @mellyeliu)
iOS specific
- Fix possible NSRangeException when updating typing attributes in response to new text content (6e06a810f0 by @NickGerleman)
- Ensure artifacts directory exists when building Hermes from local source (c3091ccfed by @kraenhansen)
- "Reconnect DevTools" button not working sometimes (8507204b53 by @EdmondChuiHW)
- Fixed use of view commands from layout effects (6f1c2a512e by @sammy-SC)
- Fix
r
&d
not working from Metro sometimes (9a60038a40 by @EdmondChuiHW) - Resolve deprecated function prototype warning in RCTAppearance.h (594c9d9a46 by @eli-front)
- Fixes rn-tester bundled images examples (8cbc7c3357 by @zhongwuzw)
- Fixed
onMomentumScrollBegin
event not firing on command-driven scroll events (5b609cca09 by @Abbondanzo) - Typo in spm.rb (5e18f7f788 by @okwasniewski)
- Add png extension only if file exist when load local image (44f2a08371 by @zhongwuzw)
- FIxes CornerRadiiAreEqualAndSymmetrical error when check topLeftHorizontal == topLeftVertical (af384a914a by @zhongwuzw)
- Fix numerous class interfaces having incorrect designated initializer patterns (b98846c2e3 by Nolan O'Brien)
- AutomaticallyAdjustKeyboardInsets not shifting scrollview content (2d9933e616 by @zhongwuzw)
- Fix launching App Clips with nullish URLs. (043e2fe14a by @EvanBacon)
- Fixes scrollIndicatorInsets not work in old arch (c1178ac208 by @zhongwuzw)
- Silenced 'set but unused variable' warning. (f7b28e86aa by @nlutsenko)
- Fixed crash on promise rejection handler in iOS 18. (26d8d490e4 by David Rickard)
- Fixed scroll view (ab8f3ff3e9 by @coado)
- Fixes missing char mode of linebreakmode (77889afa1c by @zhongwuzw)
- Removed usage of set but unused variable. (d386dfc804 by @nlutsenko)
- Cast the UIScene to UIWindowScene only if the scene respond to the selector (fdee0ebbcb by @cipolleschi)
- Move RCTNotifyEventDispatcherObserversOfEvent_DEPRECATED to const (a1ec345e2a by @okwasniewski)
- Fixes the exported synchronous method not being called on the method queue when it's the main queue (8bfd7e1039 by @zhongwuzw)
- Make sure that the Increment and Decrement accessibility actions works on iOS (303e0ed764 by @cipolleschi)
- Subscribe to orientation changes in RCTUIManager only on iOS (2f5adc3874 by @okwasniewski)
- Fix ActionSheetIOS crash
attempt to insert nil object from objects
(bebd6531b5 by @RodolfoGS) - Allow pods mixte type settings on post-install (1e59f2e3f8 by @MasGaNo)
- Fallback to old resolve mechanism when node require fails to resolve react native path (3cbaddbc16 by @okwasniewski)
- Fixed warnings when validating SVC (de39a204c3 by @cipolleschi)
- Solved SVC warnings for RNTester (fad4a0783b by @cipolleschi)
- Don't reference PrivacyInfo.xcprivacy twice for new projects (cadd41b1a2 by @okwasniewski)
Hermes 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.