NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #171 most downloaded on pub.dev
A declarative router for Flutter based on Navigation 2 supporting deep linking, data-driven routes and more
Last release 3 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.
Supports returning values on pop.
Adds initialExtra to GoRouter to pass extra data alongside initialRoute.
initialExtra to GoRouter to pass extra data alongside initialRoute.Adds replace method to that replaces the current route with a new one and keeps the same page key. This is useful for when you want to update the quer
replace method to that replaces the current route with a new one and keeps the same page key. This is useful for when you want to update the query params without changing the page key (#115902).Aligns Dart and Flutter SDK constraints.
navigatorKey to TypedShellRouteparentNavigatorKey to TypedGoRouteExports supertypes in route_data.dart library.
Adds GoRouter.maybeOf to get the closest GoRouter from the context, if there is any.
GoRouter.maybeOf to get the closest GoRouter from the context, if there is any.Adds helpers for go_router_builder for ShellRoute support
Fixes deprecation message for GoRouterState.namedLocation
GoRouterState.namedLocationAdds support for Iterables, Lists and Sets in query params for TypedGoRoute. #108437.
Add observers parameter to the ShellRoute that will be passed to the nested Navigator.
HeroControllerScope for nested Navigator that fixes Hero Widgets not animating in Nested Navigator.Adds reverseTransitionDuration to CustomTransitionPage
reverseTransitionDuration to CustomTransitionPageFixes unnecessary_null_comparison lint warnings.
- Fixes redirection info log.
Makes CustomTransitionPage.barrierDismissible work
CustomTransitionPage.barrierDismissible workFixes missing result on pop in go_router extension.
Fixes crashes when popping navigators manually.
GoRouteData's redirect now takes 2 parameters BuildContext context, GoRouterState state.
GoRouteData's redirect now takes 2 parameters BuildContext context, GoRouterState state.GoRouteData's build now takes 2 parameters BuildContext context, GoRouterState state.GoRouteData's buildPageWithState has been removed and replaced by buildPage with now takes 2 parameters BuildContext context, GoRouterState state.replace from GoRouter, GoRouterDelegate and GoRouterHelper has been renamed into pushReplacement.replaceNamed from GoRouter, GoRouterDelegate and GoRouterHelper has been renamed into pushReplacementNamed.Fixes crashes when using async redirect.
Fixes link for router configuration and sub-routes
Fixes pop and push to update urls correctly.
pop and push to update urls correctly.Refactors GoRouter.pop to be able to pop individual pageless route with result.
GoRouter.pop to be able to pop individual pageless route with result.Fixes GoRouterState.location and GoRouterState.param to return correct value.
GoRouterState.location and GoRouterState.param to return correct value.RouteMatch and RouteMatchList API.Fixes link of ShellRoute in README.
Fixes broken links in documentation.
Fixes a bug with replace where it was not generated a new pageKey.
replace where it was not generated a new pageKey.Adds documentation using dartdoc topics.
Fixes crashes when multiple GoRoutes use the same parentNavigatorKey in a route subtree.
GoRoutes use the same parentNavigatorKey in a route subtree.Adds migration guide for 5.1.2 to readme.
Fixes the documentation by removing the ShellRoute's non-existing path parameter from it.
ShellRoute's non-existing path parameter from it.Allows redirection to return same location.
Removes dynamic calls in examples.
Removes DebugGoRouteInformation.
Removes urlPathStrategy completely, which should have been done in v5.0.0 but some code remained mistakenly.
Fixes issue where asserts in popRoute were preventing the app from exiting on Android.
Fixes a bug in ShellRoute example where NavigationBar might lose current index in a nested routes.
Changes examples to use the routerConfig API
Fixes missing code example in ShellRoute documentation.
Allows ShellRoute to have child ShellRoutes (flutter/flutter#111981)
Fixes a bug where intermediate route redirect methods are not called.
Fixes an issue where GoRoutes with only a redirect were disallowed (flutter/flutter#111763)
Adds ShellRoute for nested navigation support (flutter/flutter#99126)
parentNavigatorKey to GoRoute, which specifies the Navigator to place that
route's Page onto.Fix an issue where disabling logging clears the root logger's listeners
Allows Map maps as queryParams of goNamed, replacedName, pushNamed and namedLocation.
Map<String, dynamic> maps as queryParams of goNamed, replacedName, pushNamed and namedLocation.Updates text theme parameters to avoid deprecation issues.
Fixes namedLocation to return URIs without trailing question marks if there are no query parameters.
- Updates README.
Fixes rendering issues in the README.
Fixes a bug where calling extra parameter is always null in route level redirect callback
- Rewrites Readme and examples.
Fixes a bug where the ValueKey to be the same when a page was pushed multiple times.
Fixes a bug where go_router_builder wasn't detecting annotations.
Refactors internal classes and methods
Adds void replace() and replaceNamed to GoRouterDelegate, GoRouter and GoRouterHelper.
void replace() and replaceNamed to GoRouterDelegate, GoRouter and GoRouterHelper.Fixes a bug where calling namedLocation does not support case-insensitive way.
Adds bool canPop() to GoRouterDelegate, GoRouter and GoRouterHelper.
bool canPop() to GoRouterDelegate, GoRouter and GoRouterHelper.- Adds missed popping log.
Fixes a bug where initialLocation took precedence over deep-links
Fixes a bug where calling setLogging(false) does not clear listeners.
Refactors go_router and introduces GoRouteInformationProvider. Migration Doc
GoRouteInformationProvider. Migration DocUses first match if there are more than one route to match. [#99833
Your coding agent can read these notes before it upgrades. Set up the MCP server →