v1.1.0
🚀 New Features & Enhancements
Introduced @Router Property Wrapper:
- Simplifies navigation state management by persisting the navigation stack in
UserDefaultsvia@AppStorage. - Provides a
Bindingto the route array, making it easy to driveNavigationStack. - Centralizes navigation logic and enables dynamic stack management.
Added Convenience View Extensions:
navigationDestination(for: RouteType.self): Automatically sets up navigation destinations for anyRoutabletype, streamlining the connection between your routes and their views.sheet(item:onDismiss:): Presents a sheet using aRoutable&Identifiableitem, simplifying modal presentations.navigationDestination(item:)(iOS 17.0+): Offers a modern way to present views modally or in alternative navigation flows based on an optionalRoutableitem.
✅ Testing
Migrated to Swift Testing:
- Updated the project’s unit tests to use the new Swift Testing framework (
import Testing). - This modernizes the test suite, potentially offering improved test organization, performance, and new testing capabilities.
📚 Documentation
Comprehensive README Update:
- Added a dedicated "View Extensions" section detailing the new helper modifiers.
- Improved the "Under the hood" explanation to clarify the role of
RoutingViewand its use of view extensions. - Updated the Table of Contents for better navigation.