NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #1362 most downloaded on pub.dev
A routing package built on top of Router and Navigator's pages API, supporting arbitrary nested navigation, guards and more.
Last release 2 years ago
no release in 18 months
Release timing varies
gaps range from 2 weeks to 8 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
91 releases · first in 2021
One column per quarter.
Nothing published for this version
This is in no way a big fancy release, just a push of all the important and breaking changes that have been sitting in master for too long, hoping for…
This is in no way a big fancy release, just a push of all the important and breaking changes that have been sitting in master for too long, hoping for a major release that didn't come yet. Now we can continue towards v2...
BeamPage.key is now required (#443)BeamGuard function now have 1 additional parameter which is a persistent deep link set by the platform or developer (#567)Beamer upon deep link (MarkRunWu, #557)BeamParameters 1-off in history (themartorana, #562)Added: Optional path to BeamPage to offer more natural pop control than popToNamed . This will most likely become required in v2
path to BeamPage to offer more natural pop control than popToNamed. This will most likely become required in v2Fixed: Transition durations for BeamPageType.noTransition ( busslina : #676 )
Fixed: Usage of deprecated RouteInformation.location
RouteInformation.locationFixed: copying of route state when relative beaming is used ( Panz99 , #624 , #623 )
Increase SDK upper bound to <4.0.0
<4.0.0Fixed: Usage of Object.hash
Object.hashFixed: Warning for usage of deprecated hashValues
hashValuesFixed: Rebuilding of nested Beamer s upon deep-links ( #554 , #555 , #46ebf6b )
Fixed: Lagging BeamGuard check when using BeamerLocationBuilder
BeamGuard check when using BeamerLocationBuilder (#532)Added: onUpdate method to BeamLocation which is called after initState and on every update. (#507, #88c8537). See this example that demonstrates its p
onUpdate method to BeamLocation which is called after initState and on every update. (#507, #88c8537). See this example that demonstrates its possible usage.isEqualTo extension method to RouteInformation (intentionally not overriding the equality operator)BeamLocation.updateState (#484)popConfiguration after popToNamed parameter has been used in a beamToNamed call (#521)BeamLocation.onUpdateFixed: Initial guarding browser URL (#501, b2a9f0b)
popToNamed loop (Goddchen, #500)Fixed: formatting of beamer.dart file
beamer.dart fileAdded: Relative beaming, i.e. being able to call beamToNamed('path') instead of beamToNamed('/my/path') if we're already at /my. Important note: This
beamToNamed('path') instead of beamToNamed('/my/path') if we're already at /my. Important note: This will affect all beaming that is not using the leading /, i.e. it will treat it as relative and append it to current path.BeamPageTypes; slideRightTransition, slideLeftTransition and slideTopTransition (Shiba-Kar, #477)ChangeNotifier custom state (jmysliv, #475)BeamLocation initialization during beamBackBeamPage.key in some RoutesLocationBuilder.routes usage of *Various README improvements and tweaks
Added: strictPathPatterns to BeamLocation which will do only exact matches of URI and path pattern
strictPathPatterns to BeamLocation which will do only exact matches of URI and path pattern (5810c9c)updateListenable to BeamerDelegate which will trigger update when it notifies (f0ccfd7)beamToReplacement* or specifying replaceRouteInformation: trueopaque property on BeamPage (ggirotto, #446)initializeFromParent property to BeamerDelegate to overcome the limitation of updateFromParent and give finer control over parent interaction (340b474)BeamLocation when beaming back (#463)beamBack and popBeamLocation context extensions (marcguilera, #461, 1045ab3)Fixed: Using the initialPath instead of parent's path on nested BeamerDelegate during initialization from parent when the updateFromParent is set to f
initialPath instead of parent's path on nested BeamerDelegate during initialization from parent when the updateFromParent is set to false (samdogg7)Deprecate: unused BeamerDelegate.preferUpdate
Most of this release is matuella's directly and indirectly contributions. Many thanks!
prefer_single_quotes, always_use_package_imports, omit_local_variable_types, prefer_final_locals and comment_references.beamBack (#417)state manually (#420)BeamerDelegate.preferUpdateBREAKING: "top-level state", the one in BeamerDelegate is now RouteInformation instead of BeamState
BeamerDelegate is now RouteInformation instead of BeamState
BeamerDelegate.state doesn't exist anymore and is replaced with BeamerDelegate.configuration which is RouteInformation and not BeamStatelocationBuilder now works with RouteInformation and BeamConfiguration instead of BeamStatesuper() constructor on BeamLocation now takes optional RouteInformation instead of BeamStateBeamLocations with BeamState state, generic type has to be specified; class MyBeamLocation extends BeamLocation<BeamState>pathBlueprints is renamed to pathPatterns
BeamLocation.pathPatterns is List<Pattern>BeamState.pathBlueprintSegments renamed to BeamState.pathPatternSegmentsBeamGuard.pathBlueprints renamed to BeamGuard.pathPatternsSimpleLocationBuilder is renamed to RoutesLocationBuilder
SimpleBeamLocation is renamed to RoutesBeamLocationroutes values now additionally receive databeamStateHistory and beamLocationHistory have been replaced with beamingHistory that is a List<BeamLocation> and each BeamLocation has history that is List<HistoryElement> where HistoryElement holds RouteInformation and BeamParameters.
clearBeamStateHistory and clearBeamLocationHistory have been removed.BeamerDelegate.listener has been renamed to BeamerDelegate.routeListener.pageRouteBuilder in BeamPage is replaced with a new property routeBuilder which works with any RouteBuilder not just PageRouteBuilder.BeamGuard beamTo receives the origin and target BeamLocations alongside BuildContext.
replaceCurrent was removed in favor of beamToReplacement.BeamGuard beamToNamed is now a function that receives the origin and target BeamLocations and returns a String.
replaceCurrent was removed in favor of beamToNamedReplacement.BeamerBackButtonDispatcher.alwaysBeamBack to make Android back button always go to previous route, even if it can pop.BeamPage.routePop that can be used for onPopPage instead of default pathsegmentPopBeamerDelegate.buildListener, which is called after the pages are built.fullScreenDialog property to BeamPagepopToNamedBeamPage.title to CupertinoPageRoutesNothing published for this version
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
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
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
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Add: updateParent (default true) to BeamerDelegate
updateParent (default true) to BeamerDelegateBREAKING: routes in SimpleLocationBuilder now also bring the state
routes in SimpleLocationBuilder now also bring the stateRegExp in pathBlueprints (in both BeamGuards and BeamLocations)Beamers on parent navigationonBack to BeamerbackButtonDispatchernavigator getter to BeamerDelegatebeamStateHistory and BeamLocationHistory to context extension methodsdata parameter to beamBackBeamPage.pageRouteBuilder return type to be a superclassBeamState from history on default popBeamGuard behavior on query parameters/ in URIsdata as long as possible when beamingAdd: authentication_riverpod example
beamBackOnPop:true while beamingbeamStateHistory and beamLocationHistory publicAdd: BeamerDelegate.notFoundRedirectNamed
BeamerDelegate.notFoundRedirectNamedBeamPage.defaultOnPopPageFix: correctly updating delegate after applying guards
BREAKING: renamed BeamerRouterDelegate to BeamerDelegate
BeamerRouterDelegate to BeamerDelegateBeamerRouteInformationParser to BeamerParserpagesBuilder to buildPagesBeamer.of(context).currentLocation to Beamer.of(context).currentBeamLocationBeamPage.popToNamed and BeamPage.onPopPage for fine control of poppingBeamPage.title for setting the browser tab titleSimpleLocationBuilder can now mix BeamPages and WidgetsBeamerParser.onParse for intercepting the parsed state on app loaddata into browser historyBeamGuardsBeamPageTypetransitionDelegate for beamingAdd Beamer.setPathUrlStrategy() for removing # from URL
Beamer.setPathUrlStrategy() for removing # from URLNotFound when using SimpleLocationBuilderBeamState in history if it's on topcurrentLocation on setting initial pathAdd authentication_bloc example
SimpleBeamLocation ignoring queryAdd listener attribute to BeamerRouterDelegate
listener attribute to BeamerRouterDelegateroot attribute to BeamerRouterDelegate and {bool root = false} attribute to Beamer.ofcanHandle(Uri uri) method to BeamLocation- Fix updating browser history
BREAKING: There's no RootRouterDelegate any more. Just rename it to BeamerRouterDelegate. If you were using its homeBuilder, use SimpleLocationBuilder
RootRouterDelegate any more. Just rename it to BeamerRouterDelegate. If you were using its homeBuilder, use SimpleLocationBuilder and then routes: {'/': (context) => HomeScreen()}beamBack() was changed to go to previous BeamState, not BeamLocation. If this is not what you want, use popBeamLocation() that has the same behavior as old beamback()BeamersFix currentLocation without listener after guard beam
currentLocation without listener after guard beamAdd beamBackTransitionDelegate to BeamerRouterDelegate
beamBackTransitionDelegate to BeamerRouterDelegatetransition_delegates.dart with some useful transition delegatesFix lost navigationNotifier on rebuilds with nested Beamers
navigationNotifier on rebuilds with nested BeamersFix possibly null _currentLocation
_currentLocationBREAKING: Beamer now takes routerDelegate, not beamLocations directly
Beamer now takes routerDelegate, not beamLocations directlyBeamerRouterDelegate.beamLocations is now locationBuilderpagesBuilder now also brings statebeamToNamed to BeamGuardLocationBuilderstransitionDelegate to BeamLocation and BeamerRouterDelegatetype and pageRouteBuilder to BeamPage, for transition controlinitialPath to BeamerRouterDelegatepopTo/popToNamed options for beamingonPopPage to BeamLocation- add missing ToC titles
Remove NavigationNotifier.currentLocation (not needed)
NavigationNotifier.currentLocation (not needed)- Add BeamGuard.beamToNamed
BeamGuard.beamToNamedYour coding agent can read these notes before it upgrades. Set up the MCP server →