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 7 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.
Updates the redirection documentation for clarity
GoRouteData's onExit now takes 2 parameters BuildContext context, GoRouterState state.
GoRouteData's onExit now takes 2 parameters BuildContext context, GoRouterState state.Nothing published for this version
Updates examples to use uri.path instead of uri.toString() for accessing the current location.
Fixes an issue where deep links without path caused an exception
Fixes restoreRouteInformation issue when GoRouter.optionURLReflectsImperativeAPIs is true and the last match is ShellRouteMatch
Updates minimum supported SDK version to Flutter 3.16/Dart 3.2.
Exposes full Uri on GoRouterState in GoRouterRedirect
Uri on GoRouterState in GoRouterRedirectAdds lastOrNull to RouteMatchList
topRoute to GoRouterStatelastOrNull to RouteMatchList- Fixes new lint warnings.
Refactors RouteMatchList and imperative APIs.
RouteMatchList and imperative APIs.- Fixes a typo in navigation.md.
navigation.md.Retains query parameters during refresh and first redirect.
Adds an ability to add a custom codec for serializing/deserializing extra.
Fixes crashes when dynamically updates routing tables with named routes.
Fixes the problem that pathParameters is null in redirect when the Router is recreated.
Fixes deep-link with no path on cold start.
Adds ability to dynamically update routing table.
RouteConfiguration is updated.matchedPath named parameter to RouteMatch.match.Fixes missing parameters in the type-safe routes topic documentation.
Fixes missing state.extra in onException().
Fixes a bug where the known routes and initial route were logged even when debugLogDiagnostics was set to false.
debugLogDiagnostics was set to false.Fixes a missing {@end-tool} doc directive tag for GoRoute.name.
{@end-tool} doc directive tag for GoRoute.name.Adds optional parameter overridePlatformDefaultLocation to override initial route set by platform.
overridePlatformDefaultLocation to override initial route set by platform.Fixes the Android back button ignores top level route's onExit.
Fixes the GoRouter.goBranch so that it doesn't reset extra to null if extra is not serializable.
GoRouteInformationProvider.restore.NavigationType.restore to NavigationType enum.- Adds onExit to GoRoute.
onExit to GoRoute.Fixes RouteInformationParser that does not restore full RouteMatchList if the optionURLReflectsImperativeAPIs is set.
Fixes an issue in the documentation that was using state.queryParameters instead of state.uri.queryParameters.
state.queryParameters instead of state.uri.queryParameters.Adds pub topics to package metadata.
Fixes mapping from Page to RouteMatchs.
Page to RouteMatchs.- Supports setting requestFocus.
requestFocus.Replaces location, queryParameters, and queryParametersAll in GoRouterState with Uri.
dart fix --apply to fix the breakages.Fixes a link in error handling documentation.
Adds the parentNavigatorKey parameter to ShellRouteData and StatefulShellRouteData.
StatefulShellRoute.indexedStack(...).Adds helpers for go_router_builder for StatefulShellRoute support
Exposes package-level privates.
Allows redirect only GoRoute to be part of RouteMatchList.
Removes GoRouter.location. Use GoRouterState.of().location instead.
extends ChangeNotifier.Adds onException to GoRouter constructor.
Adds parent navigator key to ShellRoute and StatefulShellRoute.
Fixes a bug that GoRouterState in top level redirect doesn't contain complete data.
Updates documentations around GoRouter.of, GoRouter.maybeOf, and BuildContext extension.
GoRouter.of, GoRouter.maybeOf, and BuildContext extension.Makes namedLocation and route name related APIs case sensitive.
Fixes a bug in debugLogDiagnostics to support StatefulShellRoute.
debugLogDiagnostics to support StatefulShellRoute.Fixes a link for an example in path documentation. documentation.
path documentation.
documentation.Imperatively pushed GoRoute no longer change URL.
Removes obsolete null checks on non-nullable values.
Introduces StatefulShellRoute to support using separate navigators for child routes as well as preserving state in each navigation tree (flutter/flutt
StatefulShellRoute to support using separate navigators for child routes as well as preserving state in each navigation tree (flutter/flutter#99124).pageBuilder and builder fields of ShellRoute, to more correctly
describe the meaning of the child argument in the builder functions.Fixes BuildContext extension method replaceNamed to correctly pass pathParameters and queryParameters.
BuildContext extension method replaceNamed to correctly pass pathParameters and queryParameters.Adds a workaround for the dart fix --apply issue, .
dart fix --apply issue, https://github.com/dart-lang/sdk/issues/52233.For the below changes, run dart fix --apply to automatically migrate your code.
dart fix --apply to automatically migrate your code.
GoRouteState.subloc has been renamed to GoRouteState.matchedLocation.GoRouteState.params has been renamed to GoRouteState.pathParameters.GoRouteState.fullpath has been renamed to GoRouteState.fullPath.GoRouteState.queryParams has been renamed to GoRouteState.queryParameters.params and queryParams in GoRouteState.namedLocation have been renamed to pathParameters and queryParameters.params and queryParams in GoRouter's namedLocation, pushNamed, pushReplacementNamed
replaceNamed have been renamed to pathParameters and queryParameters.params and queryParams in BuildContext's namedLocation, pushNamed, pushReplacementNamed
replaceNamed have been renamed to pathParameters and queryParameters.Removes navigator keys from GoRouteData and ShellRouteData.
GoRouteData and ShellRouteData.Adds name parameter to TypedGoRoute
TypedGoRouteFixes a bug that go_router would crash if GoRoute.pageBuilder depends on InheritedWidgets.
GoRoute.pageBuilder depends on InheritedWidgets.Fixes an issue where ShellRoute routes were not logged when debugLogDiagnostic was enabled.
Fixes an issue when popping pageless route would accidentally complete imperative page.
Removes navigator keys from TypedGoRoute and TypedShellRoute.
TypedGoRoute and TypedShellRoute.Fixes redirect being called with an empty location for unknown routes.
NoTransitionPage now has an instant reverse transition.
Fixes an issue where the params are removed after popping.
Your coding agent can read these notes before it upgrades. Set up the MCP server →