Skip to content

Releases: SwiftfulThinking/SwiftfulRouting

6.1.3

01 Jun 21:08
d313444
Compare
Choose a tag to compare

Bug fix for #95

Details: #96

6.1.2

23 May 02:45
e08e050
Compare
Choose a tag to compare

Minor release - Bug fixes & performance improvements

Details: #94

6.1.0

26 Apr 18:45
Compare
Choose a tag to compare

Complete refactor of entire framework. Tons of new features. Major upgrade 🥳

Highlights:

  • Segue to multiple screens at once
  • Add option to segue without animation
  • Dismiss screens by screen id
  • Dismiss screens up to screen id
  • Dismiss screens by count
  • Remove "Screen Flows" and implement "Screen Queue" (easier API)
  • Additional configurations for resizable sheets (background color, corner radius, etc.)
  • Additional configurations for modals (background colors, blurred backgrounds, etc.)
  • Add Transition support!
    • Transitions replace the current screen without performing a segue
  • Add Transition Queue
  • Add Module support!
    • Modules replace the entire screen hierarchy
  • Add Logging and Analytics support!
  • Swift 6 support
  • Drop support for iOS 15

See Readme for updated documentation.

New Contributors

Full Changelog: 5.3.6...6.1.0

Beta 6.1

20 Apr 17:22
Compare
Choose a tag to compare
Beta 6.1 Pre-release
Pre-release

Complete refactor of entire framework. Tons of new features 🥳

Checkout "development" branch.

Highlights:

  • Segue to multiple screens at once
  • Add option to segue without animation
  • Dismiss screens by screen id
  • Dismiss screens up to screen id
  • Dismiss screens by count
  • Remove "Screen Flows" and implement "Screen Queue" (easier API)
  • Additional configurations for resizable sheets (background color, corner radius, etc.)
  • Additional configurations for modals (background colors, blurred backgrounds, etc.)
  • Add Transition support!
    • Transitions replace the current screen without performing a segue
  • Add Transition Queue
  • Add Module support!
    • Modules replace the entire screen hierarchy
  • Add Logging and Analytics support!
  • Swift 6 support
  • Drop support for iOS 15

See Readme for updated documentation.

Full Changelog: 5.3.6...beta-6.1

5.3.6

22 Aug 15:08
Compare
Choose a tag to compare

Fix a crash within TransitionSupportViewBuilder when dismissTransition is called multiple times in immediate succession

Full Changelog: 5.3.5...5.3.6

5.3.5

06 Jun 01:33
02a6e29
Compare
Choose a tag to compare
  • Fixing bug where calling dismissScreenStack multiple on an app's Root View didn't work.

What's Changed

Full Changelog: 5.3.4...5.3.5

5.3.4

12 May 21:26
Compare
Choose a tag to compare
  • Add dismissOnBackgroundTap to modal configuration, to disable taps on background layer. Default value remains TRUE.

5.3.3

12 May 19:56
0d8b953
Compare
Choose a tag to compare
  • Fix bug: dismissModal did not work when accessed through Environment variables
  • Fix bug: when displaying multiple modals with background layers, each background was behind all of the modals. Now they are stacked where the background of the top-most modal is above the 2nd-highest modal.
  • Update Readme: include code for adding swipe-back gesture support within Dismiss section

5.3.2

04 Mar 15:47
Compare
Choose a tag to compare

Fix bug from 5.3.1 where swipe-back gesture doesn't render on TransitionSupportViewBuilder

5.3.1

02 Mar 03:23
dc16487
Compare
Choose a tag to compare

Minor updates. Compiler breaking changes:

  • showModal no longer supports BackgroundEffect
  • showModal useDeviceBounds has been renamed ignoreSafeArea
  • AlertOption has been renamed DialogOption

Multiple Modals

Details (Click to expand)

You can now display multiple modals simultaneously (previously 1). Modals have an optional ID field, which can later be used to dismiss the modal.

router.showModal(id: "top1") {
     Text("Sample")
}

// Dismiss top-most modal
router.dismissModal()

// Dismiss modal by ID
router.dismissModal(id: "top1")

// Dismiss all modals
router.dismissAllModules()

Transition View Builder

Details (Click to expand)

Wrap your view in a TransitionViewBuilder to transition the current screen's context. This will change the content without changing the parent View hierarchy (ie. using transitions and not traditional segues).

Set allowsSwipeBack to FALSE disable swipe-back behavior on the transitioned screen.
Set allowSimultaneous to FALSE to render only one view at a time.

TransitionSupportViewBuilder(router: router, allowsSwipeBack: Bool, allowSimultaneous: Bool) { transitionRouter in
     Text("Hello, world!")
          .onTapGesture {
               transitionRouter.showTransition(transition: .trailing) { _ in
                    Rectangle()
               }
          }
}
// Dismiss current transition
transitionRouter.dismissTransition()