routemaster 1.0.1
routemaster: ^1.0.1 copied to clipboard
Easy-to-use Navigator 2.0 router for web, mobile and desktop. URL-based routing, simple navigation of tabs and nested routes.
1.0.1 #
- Fixes build warnings when using Flutter 3.0, thanks to @josephelliot-wk for the PR to fix this.
1.0.0 #
Important: this release has some major breaking changes with how Routemaster interacts with the system back button on Android and web from v0.9.
-
Minimum supported Flutter version is now 2.5.0.
-
Breaking change: by default, the Android system back button now navigates backwards chronologically, instead of just popping the navigation stack.
-
Breaking change: by default, tabs no longer add an entry to the web history stack. This means the browser back button will not navigate between tabs. To use the previous behavior, specify
backBehavior: TabBackBehavior.historyin the tab page's constructor. -
Added:
historyproperty onRoutemasterfor chronological history navigation, for exampleRoutemaster.of(context).history.back(). -
Added:
popUntilto pop multiple times with a predicate. -
Added:
TransitionPageandTransitionBuilderPageto make it much easier to customize page push and pop animations. -
Added: private routes - route segments that start with an underscore are not shown to the user. For example
/sign-up/_stepTwowill be displayed as/sign-upin the address bar, and the user can not navigate to it by URL. -
Added:
StackPagefor navigation stacks without indexed pages -
Added:
navigatorKeyproperty toRoutemasterDelegateandPageStackNavigator. Using aGlobalKey<NavigatorState>can provide access to navigator functionality and the current context. -
Added: length property to PageStack to find out how many pages the stack will generate.
-
Added:
PageStackNavigator.builderconstructor for advanced scenarios to filter which pages are shown in the navigator. -
Fixed: an issue with getting
RouteData.of(context)in some advanced circumstances. -
Fixed: when navigating to a relative route, uses the current context's path as the base, instead of the router's current path.
0.9.4 #
- Fixed: an issue where pages were incorrectly rebuilding, causing state such as the active tab to reset
- Fixed: you can now use the ternary operator in page builders without having to do extra casts
0.9.3 #
- Fixed: incorrect path reference in file (thanks to Thomas Frantz for PR)
0.9.2 #
- Fixed: navigating to an unknown page on startup could throw an exception
0.9.1 #
- Fixed: issue where
routesBuildercould be called outside the build phase.
0.9.0 #
- Breaking change:
PageStackNavigatorno longer automatically provides aHeroController- to use heroes, wrap the navigator in aHeroControllerScope - Breaking change: refactored
PageWrapperandStatefulPage(this is unlikely to affect you) - Added a new property to get the current route:
Routemaster.of(context).currentRoute - Added documentation to all classes, properties and methods
- Fixed:
RouteData.of(context)sometimes throwing when navigating away from a page - Fixed: issue with rebuilding routes when
RoutemasterDelegateis recreated - Fixed: widgets rebuilding when
RoutemasterDelegateis recreated
0.8.0 #
- Breaking change:
Guardproperties have been renamed:validateis nowcanNavigateandonValidationFailedis nowonNavigationFailed - Breaking change: removed abstract
RouteConfigclass; to create custom routing maps, inherit fromRouteMap - Deprecation:
StackNavigatorhas been renamedPageStackNavigator - Added
NotFoundreturn page type - Added ability to customise the top-level navigator with
RoutemasterDelegate.builder - Added ability to use tabs with a custom page type
- Fixed
replace()not working with hashes on web - Fixed path URL strategy not working when it's set outside Routemaster
- Fixed tabs creating a redirect loop on web
- Note: Use of
Guardis no longer recommended - use standardifstatements andNotFoundorRedirect
0.7.2 #
- Fixed
pathTemplateproperty onRouteData
0.7.1 #
- Fixed paths using backslashes on Windows
0.7.0 #
- Breaking change:
RouteData.pathno longer returns the full path with query string, to match Dart'sUriobject. UseRouteData.toString()orRouteData.fullPathfor the entire path including query string. - Breaking change:
Guardnow takes abuildermethod instead of achildproperty - Added support for return values via
pop('Result') - Added support for getting the
Routeobject when pushing a new path - Fixed an issue where subpages wouldn't push on top of a tab page
- Fixed an issue where query string values were lost after using the back button
0.6.2 #
- Support for absolute paths in tab child routes
0.6.1 #
- Fixed building against Flutter master branch
0.6.0 #
- Added
SafeAreato default 404 page - Fixed an issue navigating with relative paths and query strings
- Fixed an issue where the controller didn't update when tab length changed
0.5.0 #
- Fixed an issue where the root navigator would rebuild unnecessarily
- Added more useful assert errors
- Added default body for
RoutemasterObserver.didChangeRouteso you're not forced to override it
0.4.0 #
- Added support for
RoutemasterObserverinRoutemasterDelegate - Added support for
NavigatorObserverinStackNavigator - Renamed
tabControllertocontroller
0.3.1 #
- Bug fix for reusing stacks in multiple navigators
0.3.0 #
- Added
StackNavigatorto simplify API - Support for non-hash URLs on web -
Routemaster.setPathUrlStrategy() - Support for hero animations in nested navigators
0.2.0 #
- Re-work guards and redirects to make API simpler
0.1.0 #
- API hopefully becoming stable
- More flexible and customisable router config
- Support for "404" pages via
onUnknownRoute - Added Dashazon example, see
example/book_store/
0.0.2 #
- Hugely improved and totally refactored API
- Null safety
0.0.1 #
- Initial first version



