Added
- JSI: Forward createValueFromJsonUtf8 in RuntimeDecorator (b5eec4e4f3 by @mrousavy)
- JSI: Run the With hooks around WithRuntimeDecorator::createArrayBuffer (82def6ea4c by @mrousavy)
- JSI: Forward String::length in RuntimeDecorator and WithRuntimeDecorator (be567d270c by @mrousavy)
- Yoga: Fix flex shrink explosion when the shrink total is a positive float residual (24a3be5f99 by @intergalacticspacehighway)
iOS specific
- SwiftPM: the build stops with a clear error when precompiled plugin frameworks and the Xcode project disagree, and the error says what to run. (a920e5db46 by @chrfalch)
Changed
- JSI: Use createError in JSError and forward it in RuntimeDecorator (0cca3a1f77 by @mrousavy)
iOS specific
- Build: Compile React Native's C/C++/Objective-C code with
-O2instead of-Osin Release, and Yoga and glog with-O2in all builds, to match Android (60c817e925 by @chrfalch) - SwiftPM:
spm addandspm updatewrite React Native's build settings toReactNativeSPM/ReactNativeSPM.xcconfigand its build scripts toReactNativeSPM/Scripts/, so a version bump no longer changesproject.pbxproj. A configuration that uses its own xcconfig must now#includethe generated file, and a target setting that hides React Native's value must add$(inherited).spmprints the exact fix in both cases. (cd89e98949 by @chrfalch) - Text: Text without a background color no longer draws a transparent background (0bd33261d1 by @hryhoriiK97)
Fixed
- LogBox: Fix bottom notification appearance/touch targets on iPhone Duo (88a8bd23e8 by @huntie)
- Yoga: Keep the measured pixel size of text nodes when rounding to the pixel grid (fd5392494f by @intergalacticspacehighway)
Android specific
- Text: Fix text measured with the wrong width when
fontVariationSettingsare re-applied to a reusedPaint(96518a8fb9 by @jkadamczyk) - Text: Skip empty and fully hidden text decoration ranges (dbd5b3b770 by @Abbondanzo)
- Text: Fix crash drawing text decoration (underline/strikethrough) when a nested Text's span extends past a numberOfLines-truncated layout (ca8504b1ca by @lazerg)
iOS specific
- Image: Image no longer shows the image of a previous source after its native view is recycled (53bf98bf40 by @mattijsf)
- SafeArea: Fix views with a filter having their content offset by the safe area insets (fea820fa9b by @intergalacticspacehighway)
- StatusBar:
StatusBarstyle and visibility work on iOS 27 for apps built with the iOS 27 SDK whenUIViewControllerBasedStatusBarAppearanceisYES. Custom root view controllers must return theRCTStatusBarAppearancevalues. (bd08dafc98 by @alanjhughes) - SwiftPM: a project set up with skipped codegen no longer fails package resolution on
ReactAppHeaders(e3aa9a1e19 by @chrfalch) - SwiftPM: the build-time sync now runs again when a watched path that did not exist at the last sync appears. (c89f4120ac by @chrfalch)
- SwiftPM: keep line breaks in the scheme pre-action script so that the "Sync SPM Autolinking" pre-action runs. Run
npx react-native spm updateonce to rewrite an existing scheme. (b8df948fd4 by @chrfalch)
Hermes V1 dSYMS:
ReactNativeDependencies dSYMs:
ReactNative Core dSYMs:
You can file issues or pick requests against this release here.
To help you upgrade to this version, you can use the Upgrade Helper ⚛️.
View the whole changelog in the CHANGELOG.md file.