This release introduces support for dark mode in Bottom Tabs on Android, new search bar placements and search bar integration with the toolbar on iOS 26.
Caution
In this release, library installation steps for Android have been modified - please refer to the "Installation" section of README
and this PR for more details.
Important
In order to align our library with native iOS 26 behavior, we've decided to change default placement
value in RNSSearchBar
to 'automatic'
. This change will make it easier for users to adopt the new integrated search bar on iOS 26.
Additionally, we've fixed the default value for hideWhenScrolling
prop in new architecture to match the old architecture and native UIKit behavior.
What's Changed
🟢 Improvements
- feat(iOS, Tabs): add shadow color to appearance by @Ubax in #3180
- feat(iOS, Stack v4): bring back view recycling for ContentWrapper by @kligarski in #3187
- feat(Android): Support dark mode in android BottomTabs by @kmichalikk in #3167
- feat(iOS 26, Stack v4): support for new search bar placements, integration with toolbar by @kligarski in #3168
- feat!(iOS, Stack v4): change search bar related prop defaults by @kligarski in #3186
🐞 Bug fixes
- fix(Android): add custom fragment factory & modify library installation steps to prevent on-restoration crashes by @Skalakid in #3089
🔢 Misc
- chore(FabricExample): bump react-native-safe-area-context by @kmichalikk in #3175
- refactor: review of #3073 - rename few methods, move update logic to shadow state proxy by @kkafar in #3176
- chore(deps): bump RN to 0.81.1 in lib & apps by @kkafar in #3185
- chore(iOS): add RNS_IPHONE_OS_VERSION_AVAILABLE macro by @kligarski in #3171
New Contributors
Full Changelog: 4.15.4...4.16.0