All notable changes to this project will be documented in this file.
- New simple example with list and details.
- Description of using .navigation's modifiers.
- Added tests for iOS 18.1 on build server.
- New tests to Skip functions + Root message, Pop to back view.
- One point to func popTo.
- Broken tests after update to iOS 18.
- Default property of Strategy and deprecation of Strategy change from navigation's init.
- To UI tests option to change default Strategy.
- #1 Issue where application freezes when opening the second screen in MVVM+Coordinator example on iOS 17: Issue was with cyclic update of environment object from navigation item modifier.
- Unsynchronised updates of the Strategy using from init.
NavigationStorageStrategy
for chousing useNavigationView
orNavigationStack
on iOS 16.x.- Test of navigation with closing Application.
- Description about bugs of
NavigationView
andNavigationStack
.
- Apple bug with StateObject double creation on 16.4 with NavigationStack and YES, this is no joke again.
- Information about automatic test scripts.
- Automatisation: CI scripts for public release notes on GitHub.
- Automatisation: CI scripts for testing and release.
- Save section to
navigateUrlParams
modifier for making custom deeplink url. - The preferMode at snapshot tests for chousing the rendering type.
- Many tests of deeplinks.
- Detection of custom types at snapshot tests.
- The preferMode with other position from Unit tests.
- @Published to custom @NavigationPublished (higher performance).
- Logic of NavigationNodeRenderingAnalyser.
- Documentation of deeplinks.
- Apple Bug with dismissing view by trigger on iOS 16.0, iOS 16.1, iOS 16.2, iOS 16.3.
- Now on iOS 16.x you can see "NavigationLink presenting a value must appear inside a NavigationContent-based NavigationView. Link will be disabled.". Just ignore it. All works fine and fixed a problem of using of the NavigationStack on iOS 16.x.
- Example with Router SwiftUI pattern.
- Bug with dismissing view by triggering to nil state.
- UnitTests showing error. Extracted from
XCTestCase
. preferMode
removed as static propertyXCTestCase
and added to tests functions.
- Fatal error from unit and snapshot tests of the
SUINavigationTest
for Text view destination. - Add the
SUINavigationTest
documentation to a separate page. - Move the
Deeplinks
documentation to a separate page.
- Cleaning prints from SUINavigation.
- SUINavigationTest with static analysis of optional views
- View modifier
.navigationModifier
for increase performance. - Performance test to the example.
- Article with performance research in documentation
- The Performance degradation on iOS 15.5 with many
.navigation
invocation.
- View mock to
NavigationMockStore
fromSUINavigationTest
.
- Stable UI tests at iOS 17.2.
- Up to date the documentation.
- Extract snapshot tests from XCTestCase.
- Static unit tests without expectation (run faster).
- Snapshot tests with render/static analyser.
- Mock injection approach for snapshot tests.
- Hotfix unlimited recursion when using
.navigationStorageBinding
from parent NavigationStorage (when pushing modal FirstView screen). - Corrected 'storge' to 'storage' where possible.
- Hotfix stack overflow when using Environments from `navigation' modifiers with item trigger.
- Issue with UnitTests
- Multy-module supporting with coordinator and modifiers:
navigationStorageBinding
,navigation's
with value destination. - Update UI tests to support dual-mode: Standard (classic SwiftUI) and Modular (with coordinator).
- Added SUINavigationTest framework for UnitTests coverage.
- Deep links support for nested NavigationStorages.
- Updated docs, tests and code comments.
- Issue with async call in MainActor from deeplink methods
checkSubAction
andreplace
. This was reproduced only from iOS 16 (iOS 15, 17 don't).
- Many examples and tests for deep links using at custom Navigation.
- Deep links support for other custom navigation.
- Using the NavigationStack from iOS 16.
- Many examples for deep links using.
- Tests changed: Strong test case checking.
- Tests changed: Added tests with TabView at the root screen.
- Updated examples in code and descriptions.
- Internal interfaces of NavigationLinkWrapperView, NavigationItemModifier, NavigationModifier.
- Build: Removed artifact file with duplicates.
- Simple supporting the deep link with functions: append from url, replace with url.
- New modifiers for supporting the deep link: .navigationAction, .navigateUrlParams corresponding to ютфмшпфеу
- Changing the NavigationID type to protocol
- UI-tests, coverage all functions of navigation.
- NavigationStorage bug: introduced a unique id for navigation to correct duplicates in the stack.
- NavigationStorage bug: fixed pop to last View with duplicated id in the stack.
- NavigationStorage bug: fixed skip to root View.
- UI-tests, coverage common functions of standard navigation.
- Improve example features.
- The Description and the changelog of library.
- Apple bug: when using NavigationLink not in .stack style.
- Apple bug: return to the second screen in the stack when any screen changes in the stack.
- NavigationStorage bug: return to the root screen of the same type in the stack if you go to the last screen of this type when you press "Back".
- isRoot made public.
- Example of using the library.
- Access to getting isRoot via modifier.
- New modifiers .navigation as change of NavigationLink.
- NavigationStorage as ViewModel for storage the navigation stack, accessible from OptionalEnvironment.
- Functions: popTo, popToRoot, skip with supporting from iOS 14.
- Apple bug: missing transition when there are multiple .navigation on screen.