orbital_router 0.5.0
orbital_router: ^0.5.0 copied to clipboard
Flutter router integration for Orbital modules, scopes and deep links.
0.5.0 #
- add experimental
OrbitalShellRoute: a persistent multi-branch shell for bottom navigation, with per-branch engines kept alive in anIndexedStack - add the public
OrbitalShellState,OrbitalShellBranchStackandOrbitalShellContextAPI - drop released stack entries when a stale/superseded navigation aborts, so a rebuild never reads a dead scope
- re-read module ref-counts at the disposal point so a concurrent acquire during a slow release is never overwritten
- serialize
updateRoutingConfigswaps so rapid swaps cannot release the same stack scopes concurrently - route system back through the delegate into the shell
- move the active shell branch only after a committed navigation and surface
blocked outcomes through
switchError - make the shell navigation queue reentrant
- refuse
updateRoutingConfigwhile a shell is mounted - stop queued shell tasks from running after dispose
- memoize engine dispose and expose
disposeAsync - escalate unmatched branch URIs to the host instead of a tab not-found
0.4.1 #
- fix an unsatisfiable dependency declaration: 0.4.0 calls
OrbitalDebugBridge.isEnabled, which only exists inorbital_core0.2.2, but declaredorbital_core: ^0.2.1. Resolving againstorbital_core0.2.1 succeeded and then failed to compile. The constraint is now^0.2.2.
0.4.0 #
- auto-enable the
OrbitalDebugBridgein debug builds as soon asOrbitalRouter/OrbitalRouterDelegateis created, soorbital_devtoolsworks with just adev_dependenciesentry and zero application code; passenableDevtoolsBridge: falseto opt out ordevtoolsAppIdto customize the app id — a bridge already enabled manually (or by another router) is left untouched, never overridden or duplicated
0.3.0 #
- add
OrbitalModule.onInit/onExitcallbacks, each receiving anOrbitalResolverscoped to the module:onInitruns once, after the module's own bindings finish initializing (not on persistent-scope reactivation);onExitruns once, right before the module's scope is actually disposed (not when a persistent scope is merely retained), including during a full router teardown
0.2.1 #
- add an
onNavigationErrorcallback to report navigation failures that happen mid-session, without disrupting the currently visible page - expose module and page retained-scope snapshots for debugging tools
- depend on
orbital_core^0.2.1 andorbital_injector^0.2.1 (dev)
0.2.0 #
- prevent stale navigation commits from overwriting newer router state after slow scope disposal
- delegate system back to pageless Navigator routes before popping Orbital pages, and handle back presses during in-flight navigation
- honor platform cold-start/default route names when
initialUriis omitted - contain pop/reactivation failures and failed dynamic routing-config replays without leaking async errors
- normalize trailing slash route input and avoid retaining blocked destination module scopes
- bump dependencies to the 0.2.0 Orbital package set and remove publish-time
dependency_overrides
0.1.1 #
- restore
OrbitalApp.router(...)as a deprecated compatibility shim whileOrbitalRouter(...)remains the preferred API - dispose partially constructed delegate state when root binding registration fails during router bootstrap
- prevent unrelated modules without
OrbitalModule.idfrom reusing each other's scope when they only share the same path - keep the current route mounted under async navigation overlays by default
- expand router documentation around retention, stack navigation and async page presentation
0.1.0 #
- align the router package with the pre-1.0 release train
- require an explicit
OrbitalScopeFactoryto keep the router decoupled from a concrete injector implementation - reexport the core types needed by the public routing API
- preserve the previous route when a navigation fails during module/page initialization or middleware execution
- isolate navigation state publication so cancelled operations cannot clear the winning navigation state
- replace the manual middleware
isAsyncflag with theOrbitalAsyncMiddlewaremarker contract - add stable module identity support through
OrbitalModule.id - add nullable router/scope accessors for safer widget integration
- expand regression coverage for redirect loops, failed navigations, documented imports and non-Orbital routers