go_router
A declarative router for Flutter based on Navigation 2 supporting deep linking, data-driven routes and more
17.5.0
3.8M downloads/mo
#167 most downloaded on pub.dev
flutter/packages
What this package is like to depend on
Last release 13 days ago
10 Aug 2026
Ships fairly regularly
a new release about every 4 weeks
Nearly every release is documented
notes for 243 of 245 stable releases
6 versions withdrawn
withdrawn after publishing
5 years old
251 releases · first in 2021
16 releases in the last 12 months
see the full history below
Release timeline
251 releases · May 2021 to Aug 2026Releases
latest 60 of 251-
17.5.010 Aug 2026Release notes
Open source →- Adds route
metadatasupport, including inheritance and override behavior with exposure onGoRouterState. - Documents support for regular expression constraints in GoRoute path parameters.
- Adds route
-
17.4.004 Aug 2026Release notes
Open source →- Fixes onExit ignored for GoRoute nested inside ShellRoute
- Adds
BlockedInitialNavigationException(aGoExceptionsubtype), raised when the initial navigation is blocked byonEnterwith no prior route to restore, so apps can distinguish this case inonExceptionwithout string matching.
-
17.3.002 Jun 2026Release notes
Open source →- Updates minimum supported SDK version to Flutter 3.38/Dart 3.10.
- Adds
hasOverriddenOnExitparameter toGoRouteData.$routeandRelativeGoRouteData.$routehelper methods for type-safe routes. When set totrue, enables customonExitcallback invocation from route data classes extendingGoRouteDataorRelativeGoRouteDatawhen the route is removed from the navigation stack.
-
17.2.301 May 2026Release notes
Open source →- Fixes an assertion failure when navigating to URLs with hash fragments missing a leading slash.
-
17.2.220 Apr 2026Release notes
Open source →- Fixes
pop()restoring stale configuration when route hasonExit, which could cause the popped route to reappear with async redirects.
- Fixes
-
17.2.113 Apr 2026Release notes
Open source →- Fixes chained top-level redirects not being fully resolved (e.g.
/ → /a → /bstopping at/a). - Fixes route-level redirects not triggering top-level redirect re-evaluation on the new location.
- Fixes chained top-level redirects not being fully resolved (e.g.
-
17.2.002 Apr 2026Release notes
Open source →- Fixes
Block.then()andAllow.then()navigation callbacks being silently lost when triggered byrefreshListenabledue to re-entrant route processing. - Adds
encoder,decoderandcompareparameters toTypedQueryParameterannotation for custom encoding, decoding and comparison of query parameters inTypedGoRouteconstructors.
- Fixes
-
17.1.003 Feb 2026Release notes
Open source →- Adds
TypedQueryParameterannotation to override parameter names inTypedGoRouteconstructors.
- Adds
-
17.0.110 Dec 2025Release notes
Open source →- Fixes an issue where
onEnterblocking causes navigation stack loss (stale state restoration). - Updates minimum supported SDK version to Flutter 3.32/Dart 3.8.
- Fixes an issue where
-
17.0.006 Nov 2025Release notes
Open source →- BREAKING CHANGE
ShellRoute's navigating changes notifyGoRouter's observers by default.- Adds
notifyRootObservertoShellRouteBase,ShellRoute,StatefulShellRoute,ShellRouteData.$route,TypedShellRoute,TypedStatefulShellRoute.
- BREAKING CHANGE
-
16.3.022 Oct 2025Release notes
Open source →- Adds a top-level
onEntercallback with access to current and next route states.
- Adds a top-level
-
16.2.515 Oct 2025Release notes
Open source →- Fixes
GoRouter.of(context)access inside redirect callbacks by providing router access through Zone-based context tracking. - Adds support for using context extension methods (e.g.,
context.namedLocation(),context.go()) within redirect callbacks.
- Fixes
-
16.2.423 Sep 2025Release notes
Open source →- Fix Android Cold Start deep link with empty path losing scheme and authority.
-
16.2.323 Sep 2025Release notes
Open source →- Fixes an issue where iOS back gesture pops entire ShellRoute instead of the active sub-route.
-
16.2.220 Sep 2025 -
16.2.129 Aug 2025 -
16.2.018 Aug 2025Release notes
Open source →- Adds
RelativeGoRouteDataandTypedRelativeGoRoute. - Updates minimum supported SDK version to Flutter 3.29/Dart 3.7.
- Adds
-
16.1.004 Aug 2025Release notes
Open source →- Adds annotation for go_router_builder that enable custom string encoder/decoder #110781. Requires go_router_builder >= 3.1.0.
-
16.0.001 Jul 2025Release notes
Open source →- BREAKING CHANGE
- Bump major version for
GoRouteDatabreaking changes. - (Previously 15.2.4) Fixes routing to treat URLs with different cases (e.g.,
/Homevs/home) as distinct routes. - (Previously 15.2.3) Updates Type-safe routes topic documentation to use the mixin from
go_router_builder3.0.0. - (Previously 15.2.2) Fixes calling
PopScope.onPopInvokedWithResultin branch routes. - (Previously 15.2.1) Fixes Popping state and re-rendering scaffold at the same time doesn't update the URL on web.
- (Previously 15.2.0)
GoRouteDatanow defines.location,.go(context),.push(context),.pushReplacement(context), andreplace(context)to be used for Type-safe routing. Requires go_router_builder >= 3.0.0.
- Bump major version for
- BREAKING CHANGE
-
15.2.424 Jun 2025 withdrawnNothing published for this version
-
15.2.319 Jun 2025 withdrawnNothing published for this version
-
15.2.219 Jun 2025 withdrawnNothing published for this version
-
15.2.118 Jun 2025 withdrawnNothing published for this version
-
15.2.012 Jun 2025 withdrawnNothing published for this version
-
15.1.306 Jun 2025Release notes
Open source →- Updates minimum supported SDK version to Flutter 3.27/Dart 3.6.
- Fixes typo in API docs.
-
15.1.208 May 2025Release notes
Open source →- Fixes focus request propagation from
GoRoutertoNavigatorby properly handling therequestFocusparameter.
- Fixes focus request propagation from
-
15.1.122 Apr 2025 -
15.1.021 Apr 2025 -
15.0.016 Apr 2025Release notes
Open source →- BREAKING CHANGE
- URLs are now case sensitive.
- Adds
caseSensitiveparameter toGoRouter(default totrue). - See Migrating to 15.0.0
- BREAKING CHANGE
-
14.8.126 Feb 2025Release notes
Open source →- Secured canPop method for the lack of matches in routerDelegate's configuration.
-
14.8.007 Feb 2025 -
14.7.228 Jan 2025 -
14.7.124 Jan 2025Release notes
Open source →- Fixes return type of current state getter on
GoRouterandGoRouterDelegateto be non-nullable.
- Fixes return type of current state getter on
-
14.7.025 Jan 2025Release notes
Open source →- Adds fragment support to GoRouter, enabling direct specification and automatic handling of fragments in routes.
-
14.6.306 Jan 2025Release notes
Open source →- Updates minimum supported SDK version to Flutter 3.22/Dart 3.4.
- Updates readme.
-
14.6.203 Dec 2024 -
14.6.121 Nov 2024Release notes
Open source →- Fixed
PopScope, andWillPopScopwas not handled properly in the Root routes.
- Fixed
-
14.6.013 Nov 2024 -
14.5.012 Nov 2024Release notes
Open source →- Adds preload support to StatefulShellRoute, configurable via
preloadparameter on StatefulShellBranch.
- Adds preload support to StatefulShellRoute, configurable via
-
14.4.104 Nov 2024 -
14.4.004 Nov 2024Release notes
Open source →- Adds current state getter on
GoRouterthat returns the currentGoRouterState.
- Adds current state getter on
-
14.3.004 Oct 2024Release notes
Open source →- Adds missing implementation for the routerNeglect parameter in GoRouter.
-
14.2.903 Oct 2024Release notes
Open source →- Relaxes route path requirements. Both root and child routes can now start with or without '/'.
-
14.2.824 Sep 2024Release notes
Open source →- Updated custom_stateful_shell_route example to better support swiping in TabView as well as demonstration of the use of PageView.
-
14.2.723 Aug 2024Release notes
Open source →- Fixes issue so that the parseRouteInformationWithContext can handle non-http Uris.
-
14.2.620 Aug 2024Release notes
Open source →- Fixes replace and pushReplacement uri when only one route match in current route match list.
-
14.2.520 Aug 2024 -
14.2.305 Aug 2024 -
14.2.201 Aug 2024 -
14.2.111 Jul 2024 -
14.2.013 Jun 2024Release notes
Open source →- Added proper
redirecthandling forShellRoute.$routeandStatefulShellRoute.$routefor proper redirection handling in case of code generation.
- Added proper
-
14.1.428 May 2024 -
14.1.321 May 2024Release notes
Open source →- Improves the logging of routes when
debugLogDiagnosticsis 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.
- Improves the logging of routes when
-
14.1.217 May 2024 -
14.1.114 May 2024 -
14.1.009 May 2024 -
14.0.229 Apr 2024 -
14.0.125 Apr 2024 -
14.0.024 Apr 2024Release notes
Open source →- BREAKING CHANGE
GoRouteData'sonExitnow takes 2 parametersBuildContext context, GoRouterState state.
- BREAKING CHANGE
-
13.2.524 Apr 2024Nothing published for this version