yarn react-native-screens 4.27.0

8 hours ago

What's changed

This release adds support for React Native 0.87, fixing a runtime crash on iOS in the process. It also introduces the experimental ScrollToTopGuard component and fully migrates the Split component implementation from Swift to Objective-C.

✅ Improvements

  • feat(Android, Stack v5): support sending multiple updates via view command (#4243)
  • refactor(test): Add scenario for Stack v5 preventNativeDismiss with nested stack (#4279)
  • feat(Stack v5, iOS): Implement basic view commands for iOS header menu (#4339)
  • feat(experimental, iOS): add experimental ScrollToTopGuard component (#4454)
  • refactor: change default value of backTitleVisible to true instead of 'true' (#4457)
  • chore(iOS, Split): Migrate ReactMountingTransactionObserving to obj-c (#4458)
  • chore(iOS, Split): Migrate Appearance-related logic to obj-c (#4459)
  • chore: add support for react-native@0.87.0-rc.3 (#4461)
  • chore(iOS, Split): Migrate RNSSplitNavigationController to obj-c (#4462)
  • chore(iOS, Split): Migrate RNSSplitScreenController to obj-c (#4463)
  • chore(iOS, Split): Migrate RNSSplitHostController to Obj-C with all associated classes (#4465)
  • chore(iOS): Post Swift-removal cleanup (#4466)
  • feat(ios, Stack v4): add subtitle support for UIMenu header button submenus (#4469)

🐞 Bugfixes

  • fix(Android): defensively guard against an unexpected menuItem Id (#4450)
  • fix(Android, Stack): don't add top inset to measured header height when it's disabled (#4452)
  • fix(iOS, Stack v4): fall back to inheriting orientation if it's not defined on the screen (#4455)
  • fix(iOS): Don't swap view controller's view during transition (#4456)
  • fix(iOS, Tabs): re-layout tab bar after async icon load to prevent label truncation on iOS 26 (#4460)
  • fix(Android): Fix crash when header gets update during screen removal (#4468)
  • fix(Android, FormSheet v4): Cleanup inset and layout listener (#4470)
  • fix(JS): Prevent using ViewInstance type (#4471)
  • fix(iOS, Stack v5): use framework-style imports for React core headers (#4472)

Misc

  • chore(examples): allow explicit undefined for defaultRouteName in TabsContainerStateInitArg (#4353)
  • chore: block the possibility to create plain-text issues and update agents instructions (#4366)
  • chore: Update workflows to include v4-main (#4396)
  • chore: Remove nightly publishing flows from v4 and bump npm-package-publish (#4401)
  • chore: bump react-navigation submodule version (#4451)
  • chore: format RNSScreenShadowNode.cpp after #4357 (#4453)
  • chore(Android): Fix incremental compilation in FabricExample broken by Kotlin 2.2 symlink issue (#4467)

Don't miss a new react-native-screens release

NewReleases is sending notifications on new releases.