Skip to content

Releases: erikdrobne/SwiftUICoordinator

Version 2.2.0

11 Oct 09:01
456ec43
Compare
Choose a tag to compare

New features

RootCoordinator

#23 Added RootCoordinator class which serves as the top-level coordinator in the application's coordinator hierarchy. It initializes the main window and navigation controller, manages child coordinators, and registers transitions.

WeakCoordinator & WeakTransition

#23 Use weak reference objects when storing child coordinators and transitions into a collection to avoid runtime errors such as dangling pointers.

Changes

  • Improved Example project (AppCoordinator, DependencyContainer, CoordinatorFactory,...)
  • Updated docs
  • Updated unit tests

Full changelog: 2.1.1...2.2.0

Version 2.1.1

23 Sep 15:43
af8a69c
Compare
Choose a tag to compare

New features

NavigationController

  • #22 Add the isNavigationBarHidden parameter to the NavigationController initializer that indicates whether the navigation bar should be hidden on the created instance.

Changes

  • Updated code docs
  • New unit tests

Full changelog: 2.1.0...2.1.1

Version 2.1.0

21 Sep 14:48
ff280ca
Compare
Choose a tag to compare

New features

NavigationRoute

#19

  • Added attachCoordinator property
/// A property that indicates whether the Coordinator should be attached to the View as an EnvironmentObject.
var attachCoordinator: Bool { get }

#18

  • Added appearance property
/// A property that provides the info about the appearance and styling of a route in the navigation system.
var appearance: RouteAppearance? { get }

DeepLinkHandling

#17

  • Added DeepLinkHandling protocol
  • Added func handle(_ deepLink: DeepLink, with params: [String: String]) to the Coordinator

Changes

  • Updated code documentation #20
  • Improved logging #20
  • New unit tests
  • Minor changes #16
  • Updated Readme

Full changelog: 2.0.0...2.1.0

Version 2.0.0

24 Jul 20:00
8cfc205
Compare
Choose a tag to compare

New features

  • Added CoordinatorAction type which should define all the available actions for the coordinator.
  • There are two basic actions for either canceling or finishing the flow:
/// Essential actions.
public enum Action: CoordinatorAction {
    case done(Any)
    case cancel(Any)
}
  • Added func handle(_ action: CoordinatorAction) to the Coordinator protocol.
    It takes an action parameter and handles the specific CoordinatorAction.

  • Added func remove(coordinator: Coordinator) to the Coordinator protocol with the default implementation.
    It takes a Coordinator as a parameter and removes it from the child's list.

Changes

  • Removed func navigate(to route: NavigationRoute) from the Coordinator protocol.
  • Removed func finish() from the Coordinator protocol.
  • Coordinator is not conforming to NSObject anymore.
  • Updated documentation.
  • Updated unit tests.

Version 1.3.0

05 Jun 12:07
e56b2ff
Compare
Choose a tag to compare

Changes:

  • Added support for custom view transitions ✨
  • Improved error handling
  • Added unit tests
  • Updated Readme

Version 1.2.1

04 May 15:15
56a0651
Compare
Choose a tag to compare
  • Updated Example project
  • Updated Readme

Version 1.2.0

01 May 13:08
Compare
Choose a tag to compare
  • Added NavigatorError that defines possible navigation errors that might happen.
  • The start() and show(route: Route) methods are now throwing, enabling improved error handling.

Version 1.1.1

18 Apr 09:46
59f062f
Compare
Choose a tag to compare
  • Removed completion handler from dismiss(animated: Bool) method body
  • Minor bug fixes

Version 1.1.0

12 Apr 13:59
10b1983
Compare
Choose a tag to compare
  • Added navigate(to route: NavigationRoute) method to Coordinator
  • Removed the CoordinatorNavigation protocol
  • Added Github Actions workflow
  • Updated Example app
  • Updated README

Version 1.0.0

28 Mar 09:05
Compare
Choose a tag to compare

Initial release.