NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #172 most downloaded on pub.dev
A declarative router for Flutter based on Navigation 2 supporting deep linking, data-driven routes and more
Last release 9 days ago
28 Sep 2026
Ships fairly regularly
a new release about every 4 weeks
Nearly every release is documented
notes for 59 of the last 60 stable releases
6 versions withdrawn
withdrawn after publishing
5 years old
254 releases · first in 2021
One column per quarter.
This PR was created automatically to batch release the go_router .
This PR was created automatically to batch release the go_router.
ShellRoute/StatefulShellRoute shell chrome (e.g. a side rail or app bar painted before the routed child) being dropped from the semantics tree by the active route's ModalBarrier.
Fixes pushed routes nested within a shell being lost when a dynamic routing configuration changes.This PR was created automatically to batch release the go_router .
This PR was created automatically to batch release the go_router.
Clarifies onEnter documentation regarding evaluation order relative to redirect: chains.
Migrates to material_ui and cupertino_ui.
Adds route metadata support, including inheritance and override behavior with exposure on GoRouterState.
metadata support, including inheritance and override behavior with exposure on GoRouterState.Fixes onExit ignored for GoRoute nested inside ShellRoute
BlockedInitialNavigationException (a GoException subtype), raised when the initial navigation is blocked by onEnter with no prior route to restore, so apps can distinguish this case in onException without string matching.Updates minimum supported SDK version to Flutter 3.38/Dart 3.10.
hasOverriddenOnExit parameter to GoRouteData.$route and RelativeGoRouteData.$route helper methods for type-safe routes. When set to true, enables custom onExit callback invocation from route data classes extending GoRouteData or RelativeGoRouteData when the route is removed from the navigation stack.Fixes an assertion failure when navigating to URLs with hash fragments missing a leading slash.
Fixes pop() restoring stale configuration when route has onExit, which could cause the popped route to reappear with async redirects.
pop() restoring stale configuration when route has onExit, which could cause the popped route to reappear with async redirects.Fixes chained top-level redirects not being fully resolved (e.g. / → /a → /b stopping at /a).
/ → /a → /b stopping at /a).Fixes Block.then() and Allow.then() navigation callbacks being silently lost when triggered by refreshListenable due to re-entrant route processing.
Block.then() and Allow.then() navigation callbacks being silently lost when triggered by refreshListenable due to re-entrant route processing.encoder, decoder and compare parameters to TypedQueryParameter annotation for custom encoding, decoding and comparison of query parameters in TypedGoRoute constructors.Adds TypedQueryParameter annotation to override parameter names in TypedGoRoute constructors.
TypedQueryParameter annotation to override parameter names in TypedGoRoute constructors.Fixes an issue where onEnter blocking causes navigation stack loss (stale state restoration).
onEnter blocking causes navigation stack loss (stale state restoration).ShellRoute's navigating changes notify GoRouter's observers by default.
ShellRoute's navigating changes notify GoRouter's observers by default.notifyRootObserver to ShellRouteBase, ShellRoute, StatefulShellRoute, ShellRouteData.$route, TypedShellRoute, TypedStatefulShellRoute.Adds a top-level onEnter callback with access to current and next route states.
onEnter callback with access to current and next route states.Fixes GoRouter.of(context) access inside redirect callbacks by providing router access through Zone-based context tracking.
GoRouter.of(context) access inside redirect callbacks by providing router access through Zone-based context tracking.context.namedLocation(), context.go()) within redirect callbacks.Fix Android Cold Start deep link with empty path losing scheme and authority.
Fixes an issue where iOS back gesture pops entire ShellRoute instead of the active sub-route.
- Fixes broken links in readme.
Adds state restoration topic to documentation.
Adds RelativeGoRouteData and TypedRelativeGoRoute.
RelativeGoRouteData and TypedRelativeGoRoute.Adds annotation for go_router_builder that enable custom string encoder/decoder #110781. Requires go_router_builder >= 3.1.0.
Bump major version for GoRouteData breaking changes.
GoRouteData breaking changes./Home vs /home) as distinct routes.go_router_builder 3.0.0.PopScope.onPopInvokedWithResult in branch routes.GoRouteData now defines .location, .go(context), .push(context), .pushReplacement(context), and replace(context) to be used for Type-safe routing. Requires go_router_builder >= 3.0.0.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Updates minimum supported SDK version to Flutter 3.27/Dart 3.6.
Fixes focus request propagation from GoRouter to Navigator by properly handling the requestFocus parameter.
GoRouter to Navigator by properly handling the requestFocus parameter.Adds missing caseSensitive to GoRouteData.$route.
caseSensitive to GoRouteData.$route.Adds caseSensitive to TypedGoRoute.
caseSensitive to TypedGoRoute.Adds caseSensitive parameter to GoRouter (default to true).
caseSensitive parameter to GoRouter (default to true).Secured canPop method for the lack of matches in routerDelegate's configuration.
Adds preload parameter to StatefulShellBranchData.$branch.
preload parameter to StatefulShellBranchData.$branch.Add missing await keyword to onTap callback in navigation.md.
await keyword to onTap callback in navigation.md.Fixes return type of current state getter on GoRouter and GoRouterDelegate to be non-nullable.
GoRouter and GoRouterDelegate to be non-nullable.Adds fragment support to GoRouter, enabling direct specification and automatic handling of fragments in routes.
Updates minimum supported SDK version to Flutter 3.22/Dart 3.4.
Replaces deprecated collection method usage.
Fixed PopScope, and WillPopScop was not handled properly in the Root routes.
PopScope, and WillPopScop was not handled properly in the Root routes.Allows going to a path relatively by prefixing ./
./Adds preload support to StatefulShellRoute, configurable via preload parameter on StatefulShellBranch.
preload parameter on StatefulShellBranch.Adds missing_code_block_language_in_doc_comment lint.
missing_code_block_language_in_doc_comment lint.Adds current state getter on GoRouter that returns the current GoRouterState.
GoRouter that returns the current GoRouterState.Adds missing implementation for the routerNeglect parameter in GoRouter.
Relaxes route path requirements. Both root and child routes can now start with or without '/'.
Updated custom_stateful_shell_route example to better support swiping in TabView as well as demonstration of the use of PageView.
Fixes issue so that the parseRouteInformationWithContext can handle non-http Uris.
Fixes replace and pushReplacement uri when only one route match in current route match list.
Fixes an issue where android back button pops pages in the wrong order.
Fixes redirect example's signature in route.dart.
route.dart.Adds section for "Stateful nested navigation" to configuration.md.
Makes GoRouterState lookup more robust.
Added proper redirect handling for ShellRoute.$route and StatefulShellRoute.$route for proper redirection handling in case of code generation.
redirect handling for ShellRoute.$route and StatefulShellRoute.$route for proper redirection handling in case of code generation.- Fixes a URL in navigation.md.
navigation.md.Improves the logging of routes when debugLogDiagnostics is enabled or `debugKnownRoutes() is called. Explains the position of shell routes in the rout
debugLogDiagnostics is enabled or `debugKnownRoutes() is called. Explains the position of shell routes in the route tree. Prints the widget name of the routes it is building.Fixes issue that path parameters are not set when using the goBranch.
goBranch.Fixes correctness of the state provided in the onExit.
onExit.Adds route redirect to ShellRoutes
Fixes unwanted logs when hierarchicalLoggingEnabled was set to true.
hierarchicalLoggingEnabled was set to true.Your coding agent can read these notes before it upgrades. Set up the MCP server →