zenrouter_core
The core routing engine and unified interfaces for the ZenRouter navigation system. Contains common models, types, and logic used across the zenrouter ecosystem.
2.3.0
11K downloads/mo
#2846 most downloaded on pub.dev
definev/zenrouter
What this package is like to depend on
Last release 4 days ago
20 Aug 2026
Ships fairly regularly
a new release about every 5 weeks
Most releases are documented
notes for 5 of 6 stable releases
Nothing withdrawn
no release was ever pulled
6 months old
7 releases · first in 2026
7 releases in the last 12 months
see the full history below
Release timeline
7 releases · Feb 2026 to Aug 2026Releases
latest 7-
3.0.0-beta.120 Aug 2026 pre-releaseNothing published for this version
-
2.3.017 Aug 2026Release notes
Open source →Breaking Changes
-
GuardRulecontract renamed for coordinator-optional use. The 2.1.0 methods are removed:Removed (2.2.0) Replacement canPop(route)canPopRule(route)/canPopRuleWith(coordinator, route)canPopListenable(route)canPopListenableRule(route)/canPopListenableRuleWith(coordinator, route)guard(coordinator, route)guardRule(route)/guardRuleWith(coordinator, route)Migration:
// Before (2.2.0) class UnsavedChangesRule extends GuardRule<AppRoute> { @override bool canPop(AppRoute route) => !route.hasUnsavedChanges; @override FutureOr<bool?> guard(CoordinatorCore c, AppRoute route) async { /* ... */ } } // After (2.3.0) — route-only class UnsavedChangesRule extends GuardRule<AppRoute> { @override bool canPopRule(AppRoute route) => !route.hasUnsavedChanges; @override FutureOr<bool?> guardRule(AppRoute route) async { /* ... */ } } // After (2.3.0) — needs coordinator (dialogs, app state) class UnsavedChangesRule extends GuardRule<AppRoute> { @override bool canPopRule(AppRoute route) => !route.hasUnsavedChanges; @override FutureOr<bool?> guardRuleWith(CoordinatorCore c, AppRoute route) async { /* ... */ } }Each
*Withmethod defaults to its non-Withcounterpart.guardRuledefaults tonull(continue chain).
New Features
RouteGuard.canPopWith/canPopListenableWith: Coordinator-aware PopScope hints (default tocanPop/canPopListenable).RouteGuardRule.popGuard: Now runs theguardRulechain (no coordinator), matchingpopGuardWith→guardRuleWith.
-
-
2.1.021 Jul 2026Nothing published for this version
-
2.0.304 Jun 2026 -
2.0.205 Mar 2026Release notes
Open source →- Fix
CoordinatorModular.getModulenow correctly resolves the coordinator itself by registeringruntimeType: thisin_allModules, enablinggetModule<MyCoordinator>()to work at any level of the hierarchy.
- Fix
-
2.0.102 Mar 2026Release notes
Open source →- Fix
CoordinatorModularedge case cascading dispose and prevent duplicate definitions.
- Fix
-
2.0.022 Feb 2026