nuvigator 2.0.1
nuvigator: ^2.0.1 copied to clipboard
A powerful routing abstraction over Flutter navigator, providing some new features and an easy way to define routers.
CHANGELOG #
2.0.1 #
- Add optional TransitionBuilder to Nuvigator to allow nesting additional Widgets on the tree
2.0.0 #
- Remove deprecated hash function to support Flutter 3.27
2.0.0-beta.6 #
- Make
analyzerbe a transitive dependency
2.0.0-beta.5 #
- [BREAKING] Update dart SDK to
>=2.17 < 4.0.0 - [BREAKING] Split the
Nuvigator.ofnullOk's logic in two methods:Nuvigator.ofandNuvigator.maybeOf - [BREAKING] Change Nuvigator's
initialArgumentstype toMap<String, dynamic>?
2.0.0-beta.4 #
- [FIX] Fix nullability check when there are no path parameters to be extracted
2.0.0-beta.3 #
- [BREAKING] Add support for Sound Null Safety
- [BREAKING] Remove Legacy API and Deprecated options related to it
1.8.0 #
- [FIX] Make Nuvigator compatible with Flutter 2.10.5
- [FIX] Make Nuvigator compatible with Flutter 3.0.2
- [FIX] [POSSIBLY BREAKING] Makes the default behavior of Nuvigator to not re-build itself and it's state when the NuRouter provided instance changes. This allows for fixing some state reloads/resets and navigation lost, specially on nested flows. If for some reason you were relying in the current behavior for some feature, you can provide a
shouldRebuildproperty to theNuvigatorthat should returntruewhen you wish to perform the rebuild.
1.8.0-beta.1 #
- [FIX] Make Nuvigator compatible with Flutter 3.0.2
1.8.0-beta.0 #
- [FIX] Make Nuvigator compatible with Flutter 2.10.5
1.7.0-beta.0 #
- [FIX] [POSSIBLY BREAKING] Makes the default behavior of Nuvigator to not re-build itself and it's state when the NuRouter provided instance changes. This allows for fixing some state reloads/resets and navigation lost, specially on nested flows. If for some reason you were relying in the current behavior for some feature, you can provide a
shouldRebuildproperty to theNuvigatorthat should returntruewhen you wish to perform the rebuild.
1.6.2 #
- [FIX] Revert changes from 1.6.1 due to some unexpected behaviors found
1.6.1 #
- [FIX] Fix re-renders due to other state changes when
Nuvigator.shouldRebuildreturns false
1.6.0 #
- [ENHANCEMENT] Add
Nuvigator.shouldRebuildproperty for controlling when a Nuvigator should be rebuild.
1.5.0 #
- [NEW] Add
NuRoute.metaDatato be used as a metadata dictionary for NuRoutes - [NEW] Add
NuRouter.buildWrapperthat can be used to wrap thebuilderfunction of the registered NuRoutes
1.4.1 #
- [FIX] Fix error when disposing a Nuvigator that was rendered in a Route that does not implement
NuvigatorPageRoute
1.4.0 #
- [NEW] Add
NuvigatorPageRoute.nestedNuvigatorproperty that is going to link to the nested Nuvigator instance that is being rendered by this Route - [NEW] Add
NuvigatorState.presenterRoutethat will link to the Parent Route that is rendering this Nested Nuvigator - [NEW] Add
NuvigatorPageRoute.of(context)to retrieve the closestNuvigatorPageRoutein the Context
1.3.0 #
- [ENHANCEMENT] Improvements to all
*Namedmethod in Nuvigator - [NEW] Add
NuRoute.withPathto be used as aRoutePredicatematcher - [NEW] Add new methods in Nuvigator:
replaceNamed,removeByPredicateandpopAndPush - [NEW] Adds key,
inheritableObservers,debug,observers,shouldPopRootarguments to theNuvigator.routesfactory - [NEW] Adds the optional result argument to the
Nuvigator.openmethod
1.2.2 #
- [FIX] Revert support for List Query Arguments in the legacy API, and preserve previous typings
1.2.1 #
- [FIX] Make
Nuvigator.openpropagate all options to parent when the route is not found at the current level - [FIX] Properly support List Query Arguments in DeepLinks, instead of picking a random one
1.2.0 #
- Improve error message when a NuRoute is registered twice
- Improve error handling on empty NuRouters
- Add option to get registered routes after NuRouter initialization when overriding the
lazyRouteRegisteroption in NuRouter - [BREAKING] Change the
NuRouter.onErrorto handle any thrown object (includingException)- Type of the
NuRouter.onErrorfunction changed fromExceptiontoObject
- Type of the
- Bump dependencies versions and make code adjustments to support usage on non nullable projects (does not include non-nullable in Nuvigator itself)
2.0.0-beta.2 #
- Improve error message when a NuRoute is registered twice
2.0.0-beta.1 #
- Add option to get registered routes after NuRouter initialization when overriding the
lazyRouteRegisteroption in NuRouter
2.0.0-beta.0 #
- Change the
NuRouter.onErrorto handle any thrown object (includingException)
1.2.0-beta.0 #
- Bump dependencies versions and make code adjustments to support non nullable
1.1.0 #
- Add the
ScreenTypeBuilderclass to allow the definition and creation ofScreenTypesin an ad-hoc manner - Add the
screenTypeparameter to theNuvigatorState.openmethod, allowing to override theScreenTypeof a defined Route to be opened
1.0.0 #
- First stable release with NEXT API (check past beta changelog entries for details)
1.0.0-beta.12 #
- Add option in NuRouter to retry the initialization of the Router when it fails
1.0.0-beta.11 #
- Add option in NuRouter to provide an error handling function when the Router initialization fails
1.0.0-beta.10 #
- Fix extra arguments passing on the [NuvigatorState.open] method
1.0.0-beta.9 #
- Fix open method in order to transport params through actions
1.0.0-beta.8 #
- Fix the NuRouteSettings copy and fallback methods that were not considering the settings property
1.0.0-beta.7 #
- Allow specifying which push method to use when calling [NuvigatorState.open]
1.0.0-beta.6 #
- Fix the
NuRouterLoaderto re-instantiate the nuvigator only if the router change
1.0.0-beta.5 #
- Fix to use the screenType when the fallback one is not provided
1.0.0-beta.4 #
- Improvements on next API typings
- Improvements to next generator
1.0.0-beta.3 #
- Add
awaitForInitoption in theNuRouterto configure if it should support async initialization - Fix router property name on
NuRoute - Make
loadingWidgeta getter method
1.0.0-beta.2 #
- Add support from Navigation coming from Native side on Next API
INuRouter.getRoutenow accepts an optionalisFromNativeoptionNuvigatorState.opennow accepts an optionalisFromNativeoption
- Remove default screenType from Nuvigator constructor
1.0.0-beta.1 #
- Fixed asserts on Nuvigator
- Add improved error message when a ScreenRoute is rendered without a ScreenType specified
1.0.0-beta.0+1 #
- Fix conflict between
NuvigatorandNuvigatorInnerkey
1.0.0-beta.0 #
- Introduction of a new dynamic API (aka:
next), more info can be found at it's own documentation- DeepLinks and RouteNames where unified under paths
- New dynamic approach to define Routes and Routers
- More info can be found at here
initialDeepLinkandinitialRoutehave better error reporting and a more precise behavior.- Just the explicitly provided initialRoute is going to be used to find the Route.
- Nuvigator now relies on a interface type
INuRouterinstead of a concrete specific implementation onScreenNotFoundmethod was removed- Introduction of
NuvigatorState.openin favor of.openDeepLink. This new method supports nested deepLink navigation. - Old API can be considered deprecated from now on. Prefer using the
nextAPI on new projects.
0.7.2 #
- Fix problems caused by bump in
analyzerdependency
0.7.1 #
- Update README
- Update pubspec.yaml to support analyzer up to version
0.41.0
0.7.0 #
- [BREAKING] Rename classes to avoid conflicts with Flutter 1.22 Router Widget
Routerwas renamed toNuRouter- The
NuRouterannotation was renamed tonuRouterconst orcustomNuRouterfunction
0.6.2 #
- Fix NPE exception when a old instance of router tries calling some methods on it's nuvigator
0.6.1 #
- Fix a
NavigationObservererror when the nuvigator is updated. Now we are reloading theinheritableObserversandStateTrackerwhen has an update.
0.6.0 #
- Add support for typed screen arguments on deep links. In addition to
String, we now supportint,double,bool, andDateTime.
0.5.1 #
- Update ReCase version support to '>= 2.0.0 <3.1.0'
0.5.0 #
- Updates the codebase to flutter 1.17 (stable) version
0.4.6 #
- Support query parameters with dashes by converting them to camelCase
0.4.5 #
- Downgrade the analyzer dependency to '>=0.38.5 <0.40.0'
0.4.3 #
- Fix an exception when the args are null because are passed by the constructor
0.4.2 #
- Fix the
Nuvigator.of(context)to start the search at the last state instead of root
0.4.1 #
- Make
initialDeepLinkwork passing arguments to destination route
0.4.0 #
- Allow to pass an
initialDeepLink - Add new option to pop SystemNavigator on last screen of the Root Router
0.3.0 #
- [BREAKING] API Simplifications/Changes.
- Removal of
ScreenWidgetand related generated classes. - Removal of
FlowRoute, now you can use the defaultScreenRouteand pass the Nuvigator to the builder function. - Removal of
GlobalRouter, everyRouterhad it's capabilities incorporated, you can override previousGlobalRouterproperties directly in your topmost Router class, and pass it directly to the Nuvigator. - Removal of Nuvigator
initialArgsauto-passing, now you should explicitly provide the arguments required to the nested nuvigator. The suggestion is to pass it to the Router constructor. - Removal of
FlowRouters. - Nested Nuvigators will not have it's router exposed by the parent anymore.
- Use extension methods to navigation methods in the Router. Instead of
ExampleNavigation.of(context).toRoute()useRouter.of<ExampleRouter>(context).toExampleRoute(). - Use of extension methods to
screensMapandroutersgenerator. Instead of passing this to the function, just call the private getter_$screensMapand_$routersin theRouterclass. - Unify
RouterandBaseRouter, instead of extendingBaseRouteryou should extendRouterdirectly. - Rename
getDeepLinkPrefixtodeepLinkPrefix. initialRouteis now a required argument to Nuvigator.
- Removal of
- [IMPORTANT] Router instances should be unique per Nuvigator. The same Router instance SHOULD NOT be shared by different Nuvigator (we advise to create new instances together with the Nuvigator).
- A bug was fixed were the
maybePopmethod was not consistent with the Android back button behavior. Now the expected behavior is to always pop the Route of the active Nuvigator. - Nuvigator now keeps track of it's Route stack.
- Added debug flag to Nuvigator to log all route transitions/changes.
- Observers management was moved into the state lifecycle to ensure that inheritableObservers are always going to be considered.
- [BUMP] Updates to Flutter 1.12.1, resolves some deprecation warnings.
- A
toMapgetter was added toArgs*classes to serialize them intoMap<String, Object>. - Added new mixin
NuvigatorRoutethat should be incorporated byPageRoutesused in customScreenTypes. While this mixin is optional, it will guarantee the correct behavior of Android's back button and also make nested Nuvigators Routes presentAppBarback buttons correctly based in the overall App state, and not only by the current Nuvigator. (The provided screensTypes Material and Cupertino have already been update to include this new Mixin). - Improvement of some error messages that could be misleading or produce unexpected error.
0.2.2 #
- Increase plugins version range
0.2.1 #
- Fix the bug when Android back button is pressed closing the app. Now, when the back button is pressed, the nuvigator will try to close the current page and will just close the app when doesn't have any pages to pop.
0.2.0 #
- Add
FlowRouterback, compatible with the new API of nested Nuvigators - Increase version constraint of
analyzer
0.1.1 #
- Fix a bug when trying to call onDeepLinkNotfound
0.1.0+2 #
- Update pubspec.yaml dependencies versions
0.1.0+1 #
- Improve pub description and update packages
0.1.0 #
- [BREAKING] Major refactor and API revamp
- Create
Nuvigatornavigator widget - Make
Heroanimations work Screenwas renamed toScreenRouteFlowRouteis aScreenRoutefor nested Nuvigators.- Make
ScreenRoutecary information about DeepLinks - Make
GlobalRouterable to be created with callbacks and a baseRouter - Add
cupertinoDialogScreenTypeScreenType - Provide access to the
GlobalRouterthroughInheritedWidgets - Remove the need to extend the
GlobalRouter - Removal of
NavigationServicein favor ofScreenRoute - Removal of
FlowRouterin favor of nestedNuvigators - Removal of
ScreenContextin favor ofBuildContext - Added code generation for creating code from a base Router defined
0.0.4 #
- Fix transition animation when coming from native
- Fix transition animation when popping from flow
0.0.3 #
FlowRoutertype now extendsObject- The
argumentsof push methods was changed fromMaptoObject ScreenWidgetnow is generic to set args type (default isObject)
0.0.2 #
- Add
popUntiltoNavigationService
0.0.1 #
- Initial version