Key changes
This release adds support for React Native 0.87 (#4461), fixing a runtime crash on iOS in the process. It also introduces the experimental ScrollToTopGuard component (#4454) and completes the migration of the Split implementation from Swift to Objective-C.
Improvements
- Android (Stack v5): support sending multiple updates via a view command in #4243
- iOS (Stack v5): implement basic view commands for the header menu in #4339
- iOS: add the experimental
ScrollToTopGuardcomponent in #4454 - iOS (Stack v4): add subtitle support for
UIMenuheader button submenus in #4469 - Change the default value of
backTitleVisibleto booleantrueinstead of the string'true'in #4457 - Add support for
react-native@0.87.0-rc.3in #4461 - iOS (Split): migrate the implementation from Swift to Objective-C, covering
ReactMountingTransactionObserving(#4458), appearance-related logic (#4459),RNSSplitNavigationController(#4462),RNSSplitScreenController(#4463) andRNSSplitHostControllerwith all associated classes (#4465), followed by post Swift-removal cleanup (#4466) - Tests: add a scenario for Stack v5
preventNativeDismisswith a nested stack in #4279
Bug fixes
- Android: defensively guard against an unexpected menu item ID in #4450
- Android (Stack): stop adding the top inset to the measured header height when the header is disabled in #4452
- Android: fix a crash when the header is updated during screen removal in #4468
- Android (FormSheet v4): clean up the inset and layout listeners in #4470
- iOS (Stack v4): fall back to inheriting the orientation when it is not defined on the screen in #4455
- iOS: keep a view controller’s view in place instead of swapping it during a transition in #4456
- iOS (Tabs): re-layout the tab bar after an async icon load to prevent label truncation on iOS 26 in #4460
- iOS (Stack v5): use framework-style imports for React core headers in #4472
- JS: prevent use of the
ViewInstancetype in #4471
Miscellaneous
- Examples: allow explicit
undefinedfordefaultRouteNameinTabsContainerStateInitArgin #4353 - Android: fix incremental compilation in FabricExample, broken by a Kotlin 2.2 symlink issue, in #4467
- Bump the react-navigation submodule version in #4451
- Format
RNSScreenShadowNode.cppafter #4357 in #4453 - Update workflows to include
v4-mainin #4396 - Remove the nightly publishing flows from v4 and bump
npm-package-publishin #4401 - Block creating plain-text issues and update the agent instructions in #4366
This version supports React Native 0.84 and above.
Source: 4.27.0 release notes on GitHub. Full changelog: 4.26.2...4.27.0.