orbital_router 0.5.0 copy "orbital_router: ^0.5.0" to clipboard
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 an IndexedStack
  • add the public OrbitalShellState, OrbitalShellBranchStack and OrbitalShellContext API
  • 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 updateRoutingConfig swaps 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 updateRoutingConfig while 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 in orbital_core 0.2.2, but declared orbital_core: ^0.2.1. Resolving against orbital_core 0.2.1 succeeded and then failed to compile. The constraint is now ^0.2.2.

0.4.0 #

  • auto-enable the OrbitalDebugBridge in debug builds as soon as OrbitalRouter/OrbitalRouterDelegate is created, so orbital_devtools works with just a dev_dependencies entry and zero application code; pass enableDevtoolsBridge: false to opt out or devtoolsAppId to 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/onExit callbacks, each receiving an OrbitalResolver scoped to the module: onInit runs once, after the module's own bindings finish initializing (not on persistent-scope reactivation); onExit runs 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 onNavigationError callback 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 and orbital_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 initialUri is 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 while OrbitalRouter(...) remains the preferred API
  • dispose partially constructed delegate state when root binding registration fails during router bootstrap
  • prevent unrelated modules without OrbitalModule.id from 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 OrbitalScopeFactory to 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 isAsync flag with the OrbitalAsyncMiddleware marker 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
0
likes
150
points
416
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Flutter router integration for Orbital modules, scopes and deep links.

Repository (GitHub)

License

MIT (license)

Dependencies

flutter, meta, orbital_core

More

Packages that depend on orbital_router