PackageTrack
Sign in Get early access

beamer

A routing package built on top of Router and Navigator's pages API, supporting arbitrary nested navigation, guards and more.

1.7.0 67K downloads/mo #1300 most downloaded on pub.dev slovnicki/beamer

What this package is like to depend on

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 69 of 69 stable releases

Nothing withdrawn

no release was ever pulled

6 years old

91 releases · first in 2021

0 releases in the last 12 months

see the full history below

Release timeline

91 releases · Jan 2021 to Oct 2024
2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 91
  1. 2.0.0-dev.1 09 Mar 2024 pre-release

    Nothing published for this version

  2. 2.0.0-dev.0 29 Jun 2023 pre-release
    Release notes

    DISCLAIMER

    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...


    • BREAKING: bump lower SDK constraint to 2.14
    • BREAKING: BeamPage.key is now required (#443)
    • BREAKING: BeamGuard function now have 1 additional parameter which is a persistent deep link set by the platform or developer (#567)
    • Fixed: rebuild of nested Beamer upon deep link (MarkRunWu, #557)
    • Fixed: BeamParameters 1-off in history (themartorana, #562)

    Examples

    Open source →
  3. 1.7.0 08 Oct 2024
    Release notes
    • Added: Optional path to BeamPage to offer more natural pop control than popToNamed. This will most likely become required in v2
    Open source →
    Release notes
    • Added: Optional path to BeamPage to offer more natural pop control than popToNamed. This will most likely become required in v2
    Open source →
  4. 1.6.2 18 Sep 2024
    Release notes
    • Fixed: Transition durations for BeamPageType.noTransition (busslina: #676)
    Open source →
    Release notes
    • Fixed: Transition durations for BeamPageType.noTransition (busslina: #676)
    Open source →
  5. 1.6.1 09 Mar 2024
    Release notes
    Open source →
    Release notes
    Open source →
  6. 1.6.0 06 Jan 2024
    Release notes
    • Fixed: Usage of deprecated RouteInformation.location
    • Improved: Package metadata
    Open source →
    Release notes
    • Fixed: Usage of deprecated RouteInformation.location
    • Improved: Package metadata
    Open source →
  7. 1.5.6 29 Jun 2023
    Release notes
    • Fixed: copying of route state when relative beaming is used (Panz99, #624, #623)
    Open source →
    Release notes
    • Fixed: copying of route state when relative beaming is used (Panz99, #624, #623)
    Open source →
  8. 1.5.5 22 May 2023
    Release notes
    • Increase SDK upper bound to <4.0.0
    Open source →
    Release notes
    • Increase SDK upper bound to <4.0.0
    Open source →
  9. 1.5.4 16 May 2023
    Release notes
    • Fixed: Usage of Object.hash
    Open source →
    Release notes
    • Fixed: Usage of Object.hash
    Open source →
  10. 1.5.3 05 Sep 2022
    Release notes
    • Fixed: Warning for usage of deprecated hashValues
    Open source →
  11. 1.5.2 16 Aug 2022
    Release notes
    Open source →
    Release notes
    Open source →
  12. 1.5.1 14 Aug 2022
    Release notes
    • Fixed: Lagging BeamGuard check when using BeamerLocationBuilder (#532)
    Open source →
    Release notes
    • Fixed: Lagging BeamGuard check when using BeamerLocationBuilder (#532)
    Open source →
  13. 1.5.0 11 Jun 2022
    Release notes
    • Added: onUpdate method to BeamLocation which is called after initState and on every update. (#507, #88c8537). See this example that demonstrates its possible usage.
    • Added: isEqualTo extension method to RouteInformation (intentionally not overriding the equality operator)
    • Fixed: Possible wrong URL after global rebuild with multiple child Beamers (#523)
    • Fixed: Consistency of calls to BeamLocation.updateState (#484)
    • Fixed: Resetting popConfiguration after popToNamed parameter has been used in a beamToNamed call (#521)

    Documentation

    Examples

    Ecosystem

    Open source →
  14. 1.4.1 11 Apr 2022
    Release notes

    Documentation

    • Added website app; a starting point for extensive, self-explanatory Beamer documentation at beamer.dev
    • Fixed typos and added doc comment for accessing root Beamer (gazialankus)
    Open source →
  15. 1.4.1+1 13 Apr 2022
    Release notes
    • Fixed: formatting of beamer.dart file
    Open source →
  16. 1.4.0 24 Feb 2022
    Release notes
    • Added: Relative beaming, i.e. being able to call 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.
    • Added: New BeamPageTypes; slideRightTransition, slideLeftTransition and slideTopTransition (Shiba-Kar, #477)
    • Improved: Interactions between nested and sibling Beamers by having children automatically take priority and more carefully handle locally not found cases
    • Fixed: Unnecessary update of ChangeNotifier custom state (jmysliv, #475)
    • Fixed:: Target BeamLocation initialization during beamBack
    • Fixed: Insufficiently detailed automatic BeamPage.key in some RoutesLocationBuilder.routes usage of *

    Examples

    Open source →
  17. 1.4.0+1 26 Feb 2022
    Release notes

    Documentation

    • Various README improvements and tweaks
    Open source →
  18. 1.3.0 06 Feb 2022
    Release notes
    • Added: strictPathPatterns to BeamLocation which will do only exact matches of URI and path pattern (5810c9c)
    • Added: updateListenable to BeamerDelegate which will trigger update when it notifies (f0ccfd7)
    • Added: Support for replacing the browser history entry when using beamToReplacement* or specifying replaceRouteInformation: true
    • Added: Support for setting opaque property on BeamPage (ggirotto, #446)
    • Added: initializeFromParent property to BeamerDelegate to overcome the limitation of updateFromParent and give finer control over parent interaction (340b474)
    • Fixed: Browser back/forward buttons behavior, i.e. browser history
    • Fixed: Initialization of target BeamLocation when beaming back (#463)
    • Updated: Return values for beamBack and popBeamLocation context extensions (marcguilera, #461, 1045ab3)
    • Updated: The entire guarding flow (thanks mat100payette for important feedback and contribution)

    Examples

    Open source →
  19. 1.2.0 05 Jan 2022
    Release notes
    • Fixed: Using the initialPath instead of parent's path on nested BeamerDelegate during initialization from parent when the updateFromParent is set to false (samdogg7)

    Documentation

    • Added a section about Page Keys to README (Goddchen)
    • Added a sentence about browser's back button to README
    • Fixed and improved grammar in doc comments (ggirotto)

    Examples

    Open source →
  20. 1.1.0 13 Dec 2021
    Release notes

    Most of this release is matuella's directly and indirectly contributions. Many thanks!

    • Add: a link to Medium article for "Migrating" section in README
    • Add: lint rules prefer_single_quotes, always_use_package_imports, omit_local_variable_types, prefer_final_locals and comment_references.
    • Fix: disposing histories on beamBack (#417)
    • Fix: updating history when setting state manually (#420)
    • Deprecate: unused BeamerDelegate.preferUpdate
    • Improve: tests setup (Thanks cedvdb)
    Open source →
  21. 1.0.0 03 Dec 2021
    Release notes
    • BREAKING: "top-level state", the one in BeamerDelegate is now RouteInformation instead of BeamState
      • BeamerDelegate.state doesn't exist anymore and is replaced with BeamerDelegate.configuration which is RouteInformation and not BeamState
      • locationBuilder now works with RouteInformation and BeamConfiguration instead of BeamState
      • super() constructor on BeamLocation now takes optional RouteInformation instead of BeamState
      • in order to continue using custom BeamLocations with BeamState state, generic type has to be specified; class MyBeamLocation extends BeamLocation<BeamState>
    • BREAKING: pathBlueprints is renamed to pathPatterns
      • BeamLocation.pathPatterns is List<Pattern>
      • BeamState.pathBlueprintSegments renamed to BeamState.pathPatternSegments
      • BeamGuard.pathBlueprints renamed to BeamGuard.pathPatterns
    • BREAKING: SimpleLocationBuilder is renamed to RoutesLocationBuilder
      • also the SimpleBeamLocation is renamed to RoutesBeamLocation
      • routes values now additionally receive data
    • BREAKING: beamStateHistory 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.
    • BREAKING: BeamerDelegate.listener has been renamed to BeamerDelegate.routeListener.
    • BREAKING: The property pageRouteBuilder in BeamPage is replaced with a new property routeBuilder which works with any RouteBuilder not just PageRouteBuilder.
    • BREAKING: BeamGuard beamTo receives the origin and target BeamLocations alongside BuildContext.
      • replaceCurrent was removed in favor of beamToReplacement.
    • BREAKING: BeamGuard beamToNamed is now a function that receives the origin and target BeamLocations and returns a String.
      • replaceCurrent was removed in favor of beamToNamedReplacement.
    • Add: guard_riverpod example
    • Add: firebase_core example
    • Add: firebase_auth example
    • Add: change_notifier_custom_state example
    • Add: BeamerBackButtonDispatcher.alwaysBeamBack to make Android back button always go to previous route, even if it can pop.
    • Add: BeamPage.routePop that can be used for onPopPage instead of default pathsegmentPop
    • Add: BeamerDelegate.buildListener, which is called after the pages are built.
    • Add: fullScreenDialog property to BeamPage
    • Add: flutter_lints
    • Add: a presentation resource about beamer
    • Fix: clearing history range when using popToNamed
    • Fix: passing BeamPage.title to CupertinoPageRoutes
    Open source →
  22. 1.0.0-pre.15.0 18 Oct 2021 pre-release

    Nothing published for this version

  23. 1.0.0-pre.5.0 18 Jul 2021 pre-release

    Nothing published for this version

  24. 1.0.0-pre.4.0 06 Jun 2021 pre-release

    Nothing published for this version

  25. 1.0.0-pre.3.0 16 May 2021 pre-release

    Nothing published for this version

  26. 1.0.0-pre.2.1 14 Apr 2021 pre-release

    Nothing published for this version

  27. 1.0.0-pre.2.0 11 Apr 2021 pre-release

    Nothing published for this version

  28. 1.0.0-pre.1.0 09 Apr 2021 pre-release

    Nothing published for this version

  29. 1.0.0-nullsafety.9 25 Mar 2021 pre-release

    Nothing published for this version

  30. 1.0.0-nullsafety.8 24 Mar 2021 pre-release

    Nothing published for this version

  31. 1.0.0-nullsafety.7 24 Mar 2021 pre-release

    Nothing published for this version

  32. 1.0.0-nullsafety.6 22 Mar 2021 pre-release

    Nothing published for this version

  33. 1.0.0-nullsafety.5 21 Mar 2021 pre-release

    Nothing published for this version

  34. 1.0.0-nullsafety.4 21 Mar 2021 pre-release

    Nothing published for this version

  35. 1.0.0-nullsafety.3 16 Mar 2021 pre-release

    Nothing published for this version

  36. 1.0.0-nullsafety.2 10 Mar 2021 pre-release

    Nothing published for this version

  37. 1.0.0-nullsafety.1 09 Mar 2021 pre-release

    Nothing published for this version

  38. 1.0.0-nullsafety.0 27 Feb 2021 pre-release

    Nothing published for this version

  39. 1.0.0-dev.10 06 Apr 2021 pre-release

    Nothing published for this version

  40. 1.0.0-dev.0 06 Apr 2021 pre-release

    Nothing published for this version

  41. 1.0.0-1.0.pre 09 Apr 2021 pre-release

    Nothing published for this version

  42. 0.14.1 21 Jun 2021
    Release notes
    • Add: updateParent (default true) to BeamerDelegate
    • Fix: ignoring query on initial path
    Open source →
  43. 0.14.0 08 Jun 2021
    Release notes
    • BREAKING: routes in SimpleLocationBuilder now also bring the state
    • Add: support for RegExp in pathBlueprints (in both BeamGuards and BeamLocations)
    • Add: updating nested Beamers on parent navigation
    • Add: onBack to BeamerbackButtonDispatcher
    • Add: navigator getter to BeamerDelegate
    • Add: beamStateHistory and BeamLocationHistory to context extension methods
    • Add: data parameter to beamBack
    • Change: BeamPage.pageRouteBuilder return type to be a superclass
    • Fix: removing last BeamState from history on default pop
    • Fix: BeamGuard behavior on query parameters
    • Fix: ignoring trailing / in URIs
    • Fix: keeping data as long as possible when beaming
    • Improved Android back button behavior
    • Improved bottom navigation examples
    • Improved README
    Open source →
  44. 0.13.3 22 May 2021
    Release notes
    • Add: authentication_riverpod example
    • Add: "Tips and Common Issues" to README
    • Fix: Drawer pop
    • Fix: beamBackOnPop:true while beaming
    • Make beamStateHistory and beamLocationHistory public
    Open source →
  45. 0.13.2 18 May 2021
    Release notes
    • Add: BeamerDelegate.notFoundRedirectNamed
    • Add: public static BeamPage.defaultOnPopPage
    • Fix: top-level guard updating URL
    • Improved guards example
    • Improved README Quick Start
    Open source →
  46. 0.13.1 17 May 2021
    Release notes
    • Fix: correctly updating delegate after applying guards
    Open source →
  47. 0.13.0 16 May 2021
    Release notes
    • BREAKING: renamed BeamerRouterDelegate to BeamerDelegate
    • BREAKING: renamed BeamerRouteInformationParser to BeamerParser
    • BREAKING: renamed pagesBuilder to buildPages
    • BREAKING: renamed Beamer.of(context).currentLocation to Beamer.of(context).currentBeamLocation
    • Add: BeamPage.popToNamed and BeamPage.onPopPage for fine control of popping
    • Add: BeamPage.title for setting the browser tab title
    • Add: SimpleLocationBuilder can now mix BeamPages and Widgets
    • Add: BeamerParser.onParse for intercepting the parsed state on app load
    • Add: encoding the data into browser history
    • Add: blocking capability to BeamGuards
    • Add: slide and scale transitions to BeamPageType
    • Add: optional transitionDelegate for beaming
    • Fix: cascade guarding
    • Fix: delegate listener not being called always
    • All examples improved and migrated to null-safety
    • Improved documentation
    Open source →
  48. 0.12.4 27 Apr 2021
    Release notes
    • Add Beamer.setPathUrlStrategy() for removing # from URL
    • Add persistent auth state on browser refresh in authentication_bloc example
    • Fix detection of NotFound when using SimpleLocationBuilder
    • Fix updating route on guard actions
    • Fix not pushing BeamState in history if it's on top
    • Fix taking currentLocation on setting initial path
    Open source →
  49. 0.12.3 24 Apr 2021
    Release notes
    Open source →
  50. 0.12.2 23 Apr 2021
    Release notes
    • Add listener attribute to BeamerRouterDelegate
    • Add root attribute to BeamerRouterDelegate and {bool root = false} attribute to Beamer.of
    • Add canHandle(Uri uri) method to BeamLocation
    • Fix Updating parent on nested navigation
    • Fix README typos
    Open source →
  51. 0.12.1 19 Apr 2021
    Release notes
    • Fix updating browser history
    Open source →
  52. 0.12.0 18 Apr 2021
    Release notes
    • BREAKING: There's no RootRouterDelegate any more. Just rename it to BeamerRouterDelegate. If you were using its homeBuilder, use SimpleLocationBuilder and then routes: {'/': (context) => HomeScreen()}
    • BREAKING: Behavior of 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()
    • Fix: Important bug while using multiple sibling Beamers
    Open source →
  53. 0.11.4 14 Apr 2021
    Release notes
    • Fix currentLocation without listener after guard beam
    Open source →
  54. 0.11.3 11 Apr 2021
    Release notes
    • Add beamBackTransitionDelegate to BeamerRouterDelegate
    • Add transition_delegates.dart with some useful transition delegates
    • Tweak deep_location example to show this more clearly
    Open source →
  55. 0.11.2 07 Apr 2021
    Release notes
    • Fix lost navigationNotifier on rebuilds with nested Beamers
    Open source →
  56. 0.11.1 06 Apr 2021
    Release notes
    • Fix possibly null _currentLocation
    Open source →
  57. 0.11.0 05 Apr 2021
    Release notes
    • migrated to null safety
    • BREAKING: Beamer now takes routerDelegate, not beamLocations directly
    • BREAKING: BeamerRouterDelegate.beamLocations is now locationBuilder
    • BREAKING: pagesBuilder now also brings state
    • Add beamToNamed to BeamGuard
    • Add various LocationBuilders
    • Add transitionDelegate to BeamLocation and BeamerRouterDelegate
    • Add type and pageRouteBuilder to BeamPage, for transition control
    • Add initialPath to BeamerRouterDelegate
    • Add popTo/popToNamed options for beaming
    • Add onPopPage to BeamLocation
    Open source →
  58. 0.11.0+1 05 Apr 2021
    Release notes
    • add missing ToC titles
    Open source →
  59. 0.10.5 25 Mar 2021
    Release notes
    • Remove NavigationNotifier.currentLocation (not needed)
    Open source →
  60. 0.10.4 25 Mar 2021
    Release notes
    • Add BeamGuard.beamToNamed
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive