Skip to content

Releases: software-mansion/react-native-screens

4.3.0

21 Nov 18:25
e9f5df0
Compare
Choose a tag to compare

What's Changed

Bug fixes

  • fix(Android): prevent crash with InsetsObserverProxy already registered by @kkafar in #2526
  • fix(Android): prevent crash when we can not insert any subviews into child by @kkafar in #2531

Misc

  • chore: update lockfiles after release by @kkafar in #2517
  • chore: make formsheet work in Example app by @kkafar in #2528

Full Changelog: 4.2.0...4.3.0

4.2.0

19 Nov 13:22
f7dc51e
Compare
Choose a tag to compare

What's Changed

👍 Improvements

  • feat: add support for transparent large header on iOS by @EvanBacon in #2501

🐛 Bug fixes

  • fix: get imageLoader from contextContainer by @WoLewicki in #2487
  • fix: remove unnecessary checks for creating snapshot by @WoLewicki in #2485
  • fix: make unstable_sheetFooter usable with react-navigation v7 by @kkafar in #2504
  • fix(Android): prevent sheet footer from flickering on sheet sliding by @kkafar in #2505
  • fix(Android): fix formSheet-keyboard interaction by @kkafar in #2511
  • fix(Android): going back on fabric with removeClippedSubviews by @alduzy in #2495

🔢 Miscellaneous

Full Changelog: 4.1.0...4.2.0

4.1.0

14 Nov 10:17
555f3de
Compare
Choose a tag to compare

What's Changed

Minor release with initial fixes after 4.0.0 release. Most importantly we've fixed regression on old architecture, where there was no animation when hiding modal programatically on iOS. Additionally some build time warning have been fixed to unblocks builds using
-Werror compiler option.

🐛 Bug fixes

  • fix(iOS,Paper): fix broken modal go-back animation by @kkafar in #2496
  • fix: Remove dangling global reference to ScreenModule by @lukmccall in #2494
  • fix(iOS): fix build issues when building with -Werror -Wreturn-path by @kkafar in #2497
  • fix(iOS): add missing largeTitleBackgroundColor prop by @EvanBacon in #2500

🔢 Miscellaneous

Full Changelog: 4.0.0...4.1.0

4.0.0

06 Nov 17:06
b38c590
Compare
Choose a tag to compare

What's Changed

Stable 4.0.0 🎉 Huge thanks & shoutout to all the contributors, issue reporters & the team of react-native-screens.

While these release notes might be daunting, we have a blog incoming that should lay out all the changes nicely, in more digestive form.

Cheers!

Important

Highlights

  • Refactor of formSheet API for Android (atm. it comes with few limitations, see very bottom of these notes 👇🏻 )
  • react-native-screens/native-stack (native stack v5) is now marked for removal
  • Few props changed names & default values, e.g. simple_push transition uses now shadow by default
  • Raw native components are no longer part of public API
  • Preload support for native-stack in react-navigation
  • native header now uses flexbox model (in VDOM) - long story short - long titles are now truncated properly
  • Tons of fixes dedicated for Fabric support
  • Support for react-navigation v7 (limited to! older versions of react-navigation are no longer supported on 4.x line)
  • iOS custom animations got refactored and should look a lot more like the native defaults (especially simple_push)
  • few more things.... 👇🏻

Caution

presentation: 'formSheet is now supported on Android & has extended capabilities on iOS. Due to architectural problems (lack of support of synchronous layout on UI thread by RN) we made tradeoff when implementing the sheets: limit support for flex: 1 and prevent "sheet flickering".
What this means for you is that you should avoid using flex: 1 on top level content container you pass to the sheet. (if you really need this you might build content basing on synchronous measure). When there is less content that max screen height you might end up with "truncated" sheet - just set backgroundColor of contentStyle of given screen and you should be good to go.
We're aware that this limitation might be a pain and we're actively working on it.

EDIT(@kkafar): On Android formSheet might also require a patch to RN to get nested scollviews to work properly - see here

👍 Improvements / API changes

  • feat!: iOS custom detents & Android form sheets by @kkafar in #2045
  • refactor!: remove deprecated ios stack animation by @maciekstosio in #2361
  • refactor!: add "index" suffix to selected sheet props & add better error handling by @kkafar in #2380
  • fix(Android)!: overflowing text in native header by @kkafar in #2325
  • feat: allow preload using activityState by @maciekstosio in #2389
  • feat!: expose library compatibilityFlags with new flag regarding header implementation by @kkafar in #2411
  • feat!: remove shouldUseActivityState flag by @kkafar in #2414
  • docs: Add landing page for React Native Screens by @patrycjakalinska in #2240
  • feat!: remove native components from public API by @maciekstosio in #2412
  • refactor!: drop support for native-stack v5 by @kkafar in #2373
  • feat(iOS)!: change default of fullScreenSwipeShadowEnabled to true by @kkafar in #2481
  • feat(iOS)!: change default animation curve & duration by @kkafar in #2477
  • feat(iOS): Implement blurEffect for new architecture by @janicduplessis in #2207
  • feat: add support for dynamic frameworks by @WoLewicki in #2315
  • feat(Android): add ios like ios_from_left slide animation by @chrispader in #2328
  • feat: add basic React Server Component support by @EvanBacon in #2170
  • feat: add monorepo support for Android builds by @kkafar in #2352
  • feat: add compat mode for previously removed formSheet prop values by @kkafar in #2356
  • feat: expose none & largest values for sheetLargestUndimmedDetent prop by @kkafar in #2359
  • feat: add stub implementations for ScreenFooter for web by @kkafar in #2369
  • feat: add stub implementations for ScreenContentWrapper for web by @kkafar in #2368
  • feat(iOS): sheetInitialDetent support by @alduzy in #2367
  • chore: add support for 0.76-rc.6 by @maciekstosio in #2407
  • feat: add a ScreenStackItem component by @satya164 in #2433

🐛 Bug fixes

  • fix!: always set Zindex to undefined for InnerScreen by @adrianryt in #2351
  • fix(iOS): onNativeDismissCancelled called too early during modal dismissal by @zetavg in #2129
  • fix(android): disappearing search icon on opening transparent modal by @alduzy in #2274
  • fix(Android,Fabric): add missing DoNotStrip annotation to JNI-accessed methods by @kkafar in #2290
  • fix(Android,Fabric,bridgeless): crash on RN hot reload in dev mode when redbox in presentation by @kkafar in #2289
  • fix(Android): incorrect childCount in removeViewAt when using flatlist on fabric by @alduzy in #2307
  • fix(iOS): Change import of RectUtil.h file to react/renderer/components by @tboba in #2319
  • fix(Android,Fabric): pressable on Screen loses focus on pointer movement by @kkafar in #2292
  • fix: do not force set translucent nav bar (until it's explicitly specified) by @kirillzyusko in #2301
  • fix(Android): getChildDrawingOrder when using refreshcontrol by @BenIrving in #2330
  • fix(Android): Request layout manually for CustomToolbar below Android API 29 by @tboba in #2332
  • fix(iOS): modal not presenting when deep in stack by @maksg in #2335
  • fix(Android): minSdkVersion fallback to default 21 but RN 0.74 require minSdkVersion 23 by @adrianryt in #2346
  • fix(iOS): right header incorrect position by @alduzy in #2316
  • fix: bring back headers when using "modal" presentation on Android by @kkafar in #2372
  • fix: prevent crash when there is no appearance model built by @kkafar in #2375
  • fix: align units of sheet corner radius in different callsites by @kkafar in #2378
  • feat: assert that detents array is sorted in dev mode by @kkafar in #2381
  • fix(iOS): full screen modal crash on paper by @maksg in #2336
  • fix: check for surplus values in sheet detents array not only in dev mode by @kkafar in #2387
  • fix(Android): do not crash in case background can not be casted to MaterialShapeDrawable by @kkafar in #2388
  • fix(iOS): header subviews layout on tab change by @alduzy in #2385
  • fix(Android): going back on fabric with nested list by @alduzy in #2383
  • fix: HeaderConfig impacts layout of Screen's contents by @alduzy in #2395
  • fix(Android): modal insets not applying by @alduzy in #2371
  • fix(Android,Fabric): invalid behaviour of fitToContents sheet detent by @kkafar in #2398
  • fix(iOS,Fabric): prevent memory leak by calling invalidate on deleted screens by @kkafar in #2402
  • fix(Android): going back on fabric with horizontal list crash by @alduzy in #2403
  • fix(iOS): header sna...
Read more

4.0.0-beta.16

28 Oct 16:45
3aa1b52
Compare
Choose a tag to compare
4.0.0-beta.16 Pre-release
Pre-release

What's Changed

👍 Improvements / API changes

🐛 Bug fixes

  • fix: header config missing ref by @alduzy in #2434
  • fix(Android): center headerTitleAlign below Android API 29 by @alduzy in #2439
  • fix(Android): title invisible with searchbar enabled by @alduzy in #2456
  • fix(Paper,iOS): dismiss all attached view controllers correctly on reload by @hirbod in #2175

🔢 Miscellaneous

Full Changelog: 4.0.0-beta.14...4.0.0-beta.16

3.35.0

25 Oct 12:27
c67e2b2
Compare
Choose a tag to compare

What's Changed

Minor release supporting RN 0.76 with a lot of fixes and improvements cherry picked from 4.0.0 line.

Most notably, the formSheet presentation is not in its best shape on 3.x line of this library, we highly recommend using latest beta of 4.0.0.

👍 Improvements

🐛 Bug fixes

  • fix(iOS): onNativeDismissCancelled called too early during modal dismissal by @zetavg in #2129
  • fix(android): disappearing search icon on opening transparent modal by @alduzy in #2274
  • fix(Android,Fabric): add missing DoNotStrip annotation to JNI-accessed methods by @kkafar in #2290
  • fix(Android,Fabric,bridgeless): crash on RN hot reload in dev mode when redbox in presentation by @kkafar in #2289
  • fix(iOS): FullWindowOverlay layout height (#2430) (5359e4e) by @alduzy
  • fix(iOS): extraLight blur not working (#2338) (da70a27) by @maksg
  • fix(iOS): header snapshots not working (#2393) (bb86f5b) by @alduzy
  • fix(Android): going back on fabric with horizontal list crash (#2403) (5a9afbb) by @alduzy
  • fix(iOS,Fabric): prevent memory leak by calling invalidate on deleted screens (#2402) (71db286) by @kkafar
  • fix(iOS): header subviews layout on tab change (#2385) (652dbcf) by @alduzy
  • fix(Android): going back on fabric with nested list (#2383) (d83d4b7) by @alduzy
  • fix(iOS): full screen modal crash on paper (#2336) (173110d) by @maksg
  • fix(iOS): right header incorrect position (#2316) (29d3c2c) by @alduzy
  • fix!: always set Zindex to undefined for InnerScreen (#2351) (746eff8) - This looks like a breaking change, however you should never be able to set the styles directly on the Screen component, if you were doing it, you have been already doing something wrong by @adrianryt
  • fix(iOS): modal not presenting when deep in stack (#2335) (77d0562) by @maksg
  • fix(Android): getChildDrawingOrder when using refreshcontrol (#2330) (ee967a5) by @BenIrving
  • fix: do not force set translucent nav bar (until it's explicitly specified) (#2301) (eed1cb0) by @kirillzyusko
  • fix(Android,Fabric): pressable on Screen loses focus on pointer movement (#2292) (5a3b31a) by @kkafar
  • fix(iOS): Change import of RectUtil.h file to react/renderer/components (#2319) (eac554e) by @tboba
  • fix(Android): incorrect childCount in removeViewAt when using flatlist on fabric (#2307) (10bda7d) by @alduzy

🔢 Miscellaneous

Full Changelog: 3.34.0...3.35.0

4.0.0-beta.14

22 Oct 15:16
df26107
Compare
Choose a tag to compare
4.0.0-beta.14 Pre-release
Pre-release

What's Changed

Another beta, this time with promised deprecation of react-native-screens/native-stack, removal of raw native components from public API.

👍 Improvements / API changes

🐛 Bug fixes

  • fix(Android): crash on tab change with open form sheet by @kkafar in #2416
  • fix(iOS): FullWindowOverlay layout height by @alduzy in #2430

Full Changelog: 4.0.0-beta.13...4.0.0-beta.14

4.0.0-beta.13

21 Oct 10:47
ef7cf9a
Compare
Choose a tag to compare
4.0.0-beta.13 Pre-release
Pre-release

What's Changed

👍 Improvements / API changes

  • feat!: expose library compatibilityFlags with new flag regarding header implementation by @kkafar in #2411
  • feat!: remove shouldUseActivityState flag by @kkafar in #2414
  • chore: add support for 0.76-rc.6 by @maciekstosio in #2407

🐛 Bug fixes

  • fix(iOS): do not force API user to set activityState by @kkafar in #2406
  • fix: prevent Require cycles warning by @alduzy in #2410
  • fix(iOS): extraLight blur not working by @maksg in #2338

🔢 Miscellaneous

  • refactor(Android): cleanup sheet behavior configuration by @kkafar in #2420

Full Changelog: 4.0.0-beta.11...4.0.0-beta.13

4.0.0-beta.11

15 Oct 10:40
b8eb9e9
Compare
Choose a tag to compare
4.0.0-beta.11 Pre-release
Pre-release

What's Changed

👍 Improvements

🐛 Bug fixes

  • fix(Android): going back on fabric with nested list by @alduzy in #2383
  • fix: HeaderConfig impacts layout of Screen's contents by @alduzy in #2395
  • fix(Android): modal insets not applying by @alduzy in #2371
  • fix(Android,Fabric): invalid behaviour of fitToContents sheet detent by @kkafar in #2398
  • fix(iOS,Fabric): prevent memory leak by calling invalidate on deleted screens by @kkafar in #2402
  • fix(Android): going back on fabric with horizontal list crash by @alduzy in #2403
  • fix(iOS): header snapshots not working by @alduzy in #2393
  • fix(iOS): activityState regression check false-positive by @kkafar in #2404

🔢 Miscellaneous

Full Changelog: 4.0.0-beta.7...4.0.0-beta.11

4.0.0-beta.7

08 Oct 11:21
8d25f4c
Compare
Choose a tag to compare
4.0.0-beta.7 Pre-release
Pre-release

What's Changed

Another beta, most notably featuring native header refactor, that breaks with native-stack v5 and v6 and will continue to work only with native-stack v7.

Important

Hinting here that we plan to drop support for native-stack v5 completely with release of screens v4. Most likely the native-stack v5 will be shipped with few more versions of the 4.x line of screens, but it will be marked for removal with the stable release. Screens v4 intents to support react-navigation v7.

🐛 Bug fixes

  • fix(iOS): full screen modal crash on paper by @maksg in #2336
  • fix(Android): do not crash in case background can not be casted to MaterialShapeDrawable by @kkafar in #2388
  • fix(iOS): header subviews layout on tab change by @alduzy in #2385
  • fix(Android)!: overflowing text in native header by @kkafar in #2325
  • fix: check for surplus values in sheet detents array not only in dev mode by @kkafar in #2387

🔢 Miscellaneous

  • chore: bump react-navigation to current main by @kkafar in #2386

Full Changelog: 4.0.0-beta.5...4.0.0-beta.7