Key changes
This is the second alpha release of react-native-screens 5.0.0. A major part of it went into migrating the iOS Split Navigation implementation from Swift to Objective-C. Core components also pick up several enhancements, including the liftOnScroll prop for the small header on Android and titleMenu support on iOS for Stack v5. This release adds support for react-native 0.87.
Improvements
- Android (Stack v5): expose the
liftOnScrollprop for thesmallheader and integrate it with SVM in #4368 - iOS (Stack v5): add
titleMenuin #4349 - Android (FormSheet v5): add support for
preventNativeDismissin #4332 - iOS (Stack v4): add subtitle support for
UIMenuheader button submenus in #4107 - iOS: add the experimental
ScrollToTopGuardcomponent in #4363 - iOS (Split): migrate the implementation to Objective-C, covering
ReactMountingTransactionObserving(#4420), appearance-related logic (#4421),RNSSplitNavigationController(#4422),RNSSplitScreenController(#4424) andRNSSplitHostControllerwith all associated classes (#4425), followed by post Swift-removal cleanup (#4426) - Android (Stack v5): split large classes and reorganize the package structure in #4354
- Change the default value of
backTitleVisibleto booleantrueinstead of the string'true'in #4423
Bug fixes
- Android: fix a crash when the header is updated during screen removal in #4444
- Android (FormSheet v4): clean up the inset and layout listeners in #4449
- iOS: keep a view controller's view in place instead of swapping it during a transition in #4407
- iOS (Stack v4): fall back to inheriting the orientation when it is not defined on the screen in #4408
- iOS (Stack v5): use framework-style imports for React core headers in #4402
- JS: prevent use of the
ViewInstancetype in #4447 - iOS (Tabs): the tab bar re-layout after an async icon load, which prevented label truncation on iOS 26 (#4411), was reverted before this release in #4476
Tests and maintenance
- Android: add e2e coverage for the header back button in #4418
- Android: add an e2e test for Stack v5 toolbar menu commands in #4412
- Android: add an e2e test for stack toolbar menu title props in #4414
- iOS: add an e2e test for Stack header selective updates in #4383
- iOS: add an e2e test for Stack header subview
onPressin #4389 - iOS: add an e2e test for Stack v5 header menu options in #4350 and a test for the iOS stack header menu in #4362
- Stack v5: add a simple navigation e2e test in #4393 and an e2e test for stack lifecycle events in #4399
- Remove a duplicated native class name definition in the e2e setup in #4442
- Render the Toast above the system navigation bar in tests in #4334
Miscellaneous
- Add support for
react-native@0.87.0-rc.3in #4375 - Android: fix incremental compilation in FabricExample, broken by a Kotlin 2.2 symlink issue, in #4443
- Propose a file structure organization for the FormSheet component on Android in #4403
- Examples (Stack v5): erase
optionsas required fromStackRouteConfigin #4419 - Format
RNSScreenShadowNode.cppafter #4357 in #4405 - Aggregate dependabot updates in #4397
- Update the sponsors section in #4416
Source: 5.0.0-alpha.2 release notes on GitHub. Full changelog: 5.0.0-alpha.1...5.0.0-alpha.2.