zenrouter 0.4.17
zenrouter: ^0.4.17 copied to clipboard
A powerful Flutter router with deep linking, web support, type-safe routing, guards, redirects, and zero boilerplate.
0.4.17 #
- ZenRouter officially achieved 100% test coverage 🚀
- Docs: Added migration guides from other packages (go_router, auto_route, and Navigator 1.0/2.0)
- Docs: Added recipes for common use cases
- Docs: Added quick links section to make the docs easier to navigate
0.4.16 #
- Fix: Future already completed bug when pushing the same route with
pushOrMoveToTop.
0.4.15 #
- Feat: Add
onUpdatemethod toRouteTargetfor handling in-place route updates when navigating to the same route with different state. - Feat: Add
bindLayoutmethod toStackPathas a convenient alternative for layout registration. (See RouteLayout Guide)
0.4.14 #
- Breaking Change: Don't allow
redirectto return null anymore since it doesn't do anything. - Feat: Add
mustCallSupertopathsgetter (Thanks @mrgnhnt96) - Feat: Add
discardparameter toremovemethod for controlling discarding behavior. - Fix: Memory leak when pushing
RouteQueryParametersinIndexedStackPath. - Fix: Memory leak when discard route in
RouteRedirect.
0.4.13 #
- Fix: Ensure
navigatemethod is compatible withRouteRedirect.
0.4.12 #
- Feat: Introduce new
StackNavigatablemixin forStackPathto handle custom logic when receiving anavigatecommand. (Back/Forward button on the browser) - Fix:
navigateclear all history that occurred when pushing a custom layout.
0.4.11 #
- Feat: Expose
stackPathinRouteTargetand exposeprotectedmethod for developer create customstackPath. - Feat: Add
onDiscardto handle discarding phase inRouteTarget.
0.4.10 #
- Chore: Fix analyzer warnings
0.4.9 #
- Chore: Standardize
serializeanddeserializefor supportedRouteTargettype
0.4.8 #
- Feat: Introduce new state restoration with
RouteRestorationmixin. Support state restoration by default ifrestorationScopeIdis provided inMaterialApp.routerand usingCoordinatorpattern. - Fix: Resolve bug in
recovermethod whereRouteRedirectwas ignored.
0.4.7 #
- Docs: Update README
0.4.6 #
- Docs: Update README and add screenshots
0.4.5 #
- Feat: Add
RouteQueryParametersmixin for targeted query parameter updates usingValueNotifier. - Fix: Ensure
pathis set forRouteTargetwhen initialIndexedStackPath. - Fix: Ensure
layoutis resolve correct if they under deeper stack. - Refactor: Refactor folder structure and test folder structure to be more organized.
0.4.4 #
- Feat: New ZenRoute Logo!
- Docs: Improve document and update outdate example
0.4.3 #
- Feat: Add
CoordinatorNavigatorObservermixin to provide a list of observers for the coordinator's navigator. - Breaking Change: Complete redesign [RouteLayout] builder to be more flexible and powerful.
- Deprecate static method
RouteLayout.buildPrimitivePathand usebuildPathfunction instead. - Add ability to define new [StackPath] using
RouteLayout.definePath. You can create custom behavior path builder. (Eg: RecoverableHistoryStack like unrouter)
- Deprecate static method
0.4.2 #
- Feat: Add
transitionStrategytoCoordinatorfor default stack transition setup - Fix: Ensure when [Navigator.pop] called sync new stack with [NavigationPath]
0.4.1 #
- Fix: Ensure [Coordinator.routeDelegate] initialize once
- Improvement: Add [IndexedStackPathBuilder] for improve performance for rendering [IndexedStackPath]
0.4.0 #
- Breaking Change: Deprecated default constructors for
NavigationPathandIndexedStackPath. UseNavigationPath.create/createWithandIndexedStackPath.create/createWithinstead. - Breaking Change: Introduced
internalPropstoRouteTargetfor better deep equality and hash code generation. - Feat: Added
popGuardWithtoRouteGuardandredirectWithtoRouteRedirectfor coordinator-aware mixin logic. - Feat: Added strict path-coordinator binding support via
createWithfactories. - Docs: Added comprehensive Migration Guide.
- Feat: Added
routerDelegateWithInitalRoutetoCoordinator. - Feat: Enhanced
setInitialRoutePathto correctly handle initial routes vs deep links.
0.3.2 #
- Add
navigatefunction: A smarter alternative topushthat handles browser history restoration by popping to existing routes instead of duplicating them.
0.3.1 #
- Allow
parseRouteFromUrito returnFuturefor implementing deferred import/async route parsing
0.3.0 #
- Breaking change: Change return of
Coordinator.push()fromFuture<dynamic>toFuture<T?> - Fix
NavigationStackrerender page everytimepathupdated. Resolve #10. - Feat: Add
recoverfunction
0.2.3 #
- Update
activePathIndextoactiveIndexinIndexedStackPath - Update document for detailed, hand-written example of Coordinator pattern
0.2.2 #
- Expose pop result in Coordinator
- Fix memory leak: Complete route result futures when routes are removed via
pushOrMoveToTop - Fix memory leak: Complete intermediate route futures during
RouteRedirect.resolvechain
0.2.1 #
- Standardize how to access primitive path layout builder
- Define using
definePrimitivePath - Build using
buildPrimitivePath
- Define using
0.2.0 #
- BREAKING: Rename
activeHostPathstoactiveLayoutPathsto reflect correct concept.
0.1.2 #
- Update homepage link
0.1.0 #
- Initial release of ZenRouter.
- Unified Navigator 1.0 and 2.0 support.
- Coordinator pattern for centralized navigation logic.
- Support for both Declarative and Imperative navigation paradigms.
- Route mixins:
RouteGuard,RouteRedirect,RouteDeepLink. - Optimized Myers diff algorithm for efficient stack updates.
- Type-safe routing with
RouteUnique.
