Skip to content

Releases: johnpatrickmorgan/FlowStacks

v0.7.0

12 Aug 22:52
Compare
Choose a tag to compare
  • Fixes some issues with nested coordinators (#76).
  • Allows multiple screens to be dismissed in one update on iOS 17.

v0.6.0

24 May 09:30
Compare
Choose a tag to compare

This is a major new release that includes a lot of breaking changes. This rewrite has been discussed here - #51.

Changes:

  • Rewrites APIs to match the latest NavigationStack APIs. This package now takes SwiftUI's familiar and powerful NavigationStack API and gives it superpowers. The new FlowStack is not just for push navigation, but also for presenting sheets and full-screen covers. And because it's implemented using the navigation APIs available in older SwiftUI versions, you can still use it on earlier versions of iOS, tvOS, watchOS and macOS.

Migration docs

v0.4.0

29 Jan 21:47
Compare
Choose a tag to compare
  • Refactors Node to a struct and breaks out its functionality into separate modifiers (addresses #64).

v0.3.8

02 Jan 23:05
Compare
Choose a tag to compare
  • No longer wraps screen in a ZStack (#68). This was breaking the behaviour of @Environment(\.dismiss). This means in some rare circumstances that the user should ensure the screen has a stable identity (e.g. wrapping a top-level if or switch in something like a ZStack).

v0.3.2

05 Jun 00:08
Compare
Choose a tag to compare
  • Adds a FlowNavigator environment object for easier navigation from deeply nested views.

v0.3.1

13 May 21:18
49a750b
Compare
Choose a tag to compare
  • Fix dismiss completion for iOS 14.4 and below (Thanks @BohdanDatskiv!)

V0.2.4

18 Aug 23:30
Compare
Choose a tag to compare

No longer asserts when calling goBackToRoot() when already at the root. (Thanks @Kondamon!)

V0.2.2

27 May 21:54
0c4c2c1
Compare
Choose a tag to compare
  • Ensures Binding.withDelaysIfUnsupported runs on the main thread. (Thanks @ConfusedVorlon)

V0.2.1

23 May 22:16
Compare
Choose a tag to compare
  • Checks count in goBack. (Thanks @DavidKmn)
  • Ensures RouteSteps. withDelaysIfUnsupported schedules all steps on main actor. (Thanks @DavidKmn)

V0.1.0

30 Dec 23:03
Compare
Choose a tag to compare
  • Presentation and navigation can now be combined into a single routes array, removing the need for separate PStack and NStack. The new Router can handle both.
  • Convenience methods are now extensions on Array, with no more need for NFlow or PFlow, simplifying state management.
  • Large-scale navigation updates can now be made within a withDelaysIfUnsupported call, and will be broken down into smaller updates that SwiftUI supports. This works around a limitation in SwiftUI that only allows one screen to be pushed, presented or dismissed at a time.
  • The view builder closure for creating screens can now provide a binding to the screen so that screens can mutate their state within the routes array.
  • A new showing function makes it easy to have a fixed root screen which shows zero or more routes.