stacked 3.1.0-beta.1 
stacked: ^3.1.0-beta.1 copied to clipboard
An architecture and widgets for an MVVM inspired architecture in Flutter. It provides common functionalities required to build a large application in a understandable manner.
3.1.0-beta.1 #
- Make setFormStatus as NOT required override
 - Adds a better named 
rebuildUifunction to replacenotifyListeners 
3.1.0-beta.0 [BREAKING CHANGES] #
- Rename ViewModelBuilderWidget to StackedView
 - Use model on all occurrences of the ViewModel at StackedView for better readability and consistency
 - Update BuilderWidgetExampleView
 
Migrate from 3.0.1 -> 3.1.0-beta.0 #
In our mission to make Stacked a standalone framework we want to formalise some ideas. This showed us that some of our widgets are not named appropriately. In addition to that there are also places where we use viewModel and others where we use model. To fix that we made the following breaking changes all within the ViewModelBuilderWidget
ViewModelBuilderWidget→StackedViewviewModel→modelviewModelBuilder→modelBuilderdisposeViewModel→disposeModelinitialiseSpecialViewModelsOnce→initialiseSpecialModelsOnceonViewModelReady→onModelReady
3.0.1 #
- Add onDispose method to ViewModelBuilderWidget
 
3.0.0+1 #
- Replace the old 
ReactiveValuesapproach withnotifyListeners()when using theReactiveServiceMixinin readme 
3.0.0 #
- Passes generic argument to 
DataStateHelper - Uses 
FormStateHelperfor theFormViewModel - Adds 
BusyAndErrorStateHelperto theBaseViewModel - Refactor 
BaseViewModelby extracting the different functionalities to mixins. - Remove the inconsistency between the 
BaseViewModelandFutureViewModel,StreamViewModelwhen setting the error, data values. - Now we have three mixins that can be mix with any viewmodel and they are:
FutureRunnerHelperthat hasrunBusyFutureandrunErrorFuturefunctions.MessageStateHelperthat adds message property to the viewmodel.DataStateHelperthat adds data property to the viewmodel.FormStateHelperthat gives the flexibility to mixin the form functionality with the any other view model.IndexTrackingStateHelperthat give the flexibility to mixin the index tracking in a bottom navigation bar any other view model.
 
2.3.15 #
- Rename 
SelectorViewModelBuilderWidgetandSelectorViewModelWidgetsimilar toViewModelWidget 
2.3.14 #
- Adds 
SelectorViewModelBuilderandSelectorViewModelBuilderWidget 
2.3.13 #
- Adds Message state functionality for view models
 
2.3.10 #
- Fixes issues on navigation
 
2.3.9 #
- Pump stacked_core version
 - Update example app
 
2.3.8 #
- Remove duplicate code and Clean up
 
2.3.7 #
2.3.6 #
- Reverts 2.3.4
 
2.3.5 #
- Use the stacked_core package to expose the stacked_annotation
 
2.3.4 #
- Updates MultipleStreamViewModel to take generic type for key
 
2.3.3+1 #
- Updates Example's kotlin version to 1.4.10
 - Updates Example's Android Embedding to Version 2
 - Updates Example's CompileSdk to 31
 
2.3.3 #
- Returns a null value for catchError handler when using FutureViewModel
 
2.3.2 #
- Reverts 2.3.1
 
2.3.1 #
- Handles the futureToRun viewmodels with try/catch and not catchError function
 
2.3.0 #
New Feature: Adds per field validation #
- 
A setValidationMessage will now be generated for each field for you to set and use similar to the global validation message that was used before
 - 
Breaking changes on
FormViewModelshowValidation→showValidationMessage
 
2.2.8 #
- Adds 
disableReleaseConsoleOutputto the logger annotation to disable console output in release mode 
2.2.7+1 #
- Upgraded the dependency on 
providerto 6.0.0 
2.2.7 #
- Fixes non-reactive 
ViewModelBuilderWidget 
2.2.6 #
- Optimized skeleton loader to be dynamic
 
2.2.5 #
- Added IgnorePointer to Skeleton Loader Widget
 
2.2.4 #
- Added Skeleton Loader Widget to show a shimmer when data is loading
 - Added skeletonData on viewmodels for busy data values
 
2.2.3 #
- Added ability to pass parameter to factories
Add service to 
FactoryWithParaminStackedAppand annotate paramaters with@factoryParamwhich needed to be passed in the Factory constructor - Improved error setting base functionality
 
2.2.2 #
- Added view model argument to 
ViewModelBuilderon methodonDisposecallback 
2.2.1 #
- Replaced 
dart:iowithuniversal_io 
2.2.0 #
- Fixes nullable type generation issue on 
@PathParamand@QueryParam 
2.1.9 #
- Added ability to pass custom logger outputs to MultiLoggerOutput
 
2.1.8 #
- Fixes 
ReactiveServiceMixinin Services to handleChangeNotifierupdates 
2.1.7 #
- updates 
get_itto the latest 
2.1.6 #
Environmentsnow will be automatically registered which eliminates the need to callregisterEnvironmentmanually if generatedsetupLocatorwasn't used
2.1.5 #
- Added functionality to supply custom 
locatorandsetupLocatornames. 
2.1.4 #
- Removes forced nullable type
 
2.1.3 #
- Added 
Environmenton Dependency Injection 
2.1.2 #
- Added return type for 
runBusyFutureandrunErrorFuture 
2.1.1 #
- Exports Transition builders
 
2.1.0 #
- Adds annotations to allow the user to generate a logger for their app
 
2.0.4 #
- Updates the extended router functionality to use non null routes
 
2.0.3+1 #
- Exposed 
buildAdaptivePageRoute,misTypedArgsRouteanddefaultUnknownRoutePagefunctions to outer world - Changed 
OutlineButtontoOutlinedButton(removed deprecated code) 
2.0.3 #
- Fixed where anyObjectsBusy was always true in MultipleFutureViewModel.
 
2.0.2 #
- Made ViewModel variable naming scheme consistent. 
ViewModel viewModelis now preferred. 
2.0.1 #
- Adds ReactiveValue and ReactiveList for reactive functionality
 
2.0.0 #
- Null safety migration complete and ready to be used!
 
2.0.0-nullsafety.3 #
- Fixes annotation to allow for date selection
 
2.0.0-nullsafety.2 #
- Adds back 
resolveUsingfunction to the annotations 
2.0.0-nullsafety.1 #
- Migrate to null-safety. We will remove null safety when we iron out all the issues
 
1.9.8 #
- Exposes 
RouteGuardthrough stacked as well 
1.9.7 #
- Adds 
resolveUsingfunction that can be used for singleton type dependency registrations. 
1.9.6 #
- Exports the 
ExtendedNavigatorfor nested navigation - Update provider in stacked to 5.0.0
 - Revert nonReactive update update for stacked
 - Update get_it to 6.0.0
 - Will revert fix for issue that came with disposing a nonReactive Viewmodel.
 
1.9.5 #
- Adds the asType property into the locator types
 
1.9.4 #
- Adds fix for issue #171
 
1.9.3 #
- Adds onDispose functionality
 
1.9.2 #
MAJOR UPDATE: FORMS!!! #
- Adds brand new form first party support and form generation functionality
 
1.9.1+2 #
- Fix null error from locator
 
1.9.1+1 #
- Adds export for 
StackedLocator 
1.9.1 #
- Adds 
StackedLocatorto remove the apps dependency from GetIt. It's a thin wrapper around theGetItobject implementation 
1.9.0 #
Big Update! This version of stacked aims to reduce the boiler plate required to setup a stacked application. We introduce the annotation that are used by the stacked_generator to generate the router and locator setup functionality.
1.7.7 #
1.7.6 #
- Adds 
fireOnceproperties to theViewModelBuilderWidget 
1.7.5 #
- Adds rethrow capability to the 
FutureViewModel 
1.7.4 #
- Makes index tracking viewmodel a reactive viewmodel so it can react to services
 
1.7.3+2 #
- REVERT: Use hascode for hasErrorForObject function instead of value directly
 
1.7.3+1 #
- Use hascode for hasErrorForObject function instead of value directly
 
1.7.3 #
- Removes old error handling code for specialty viewmodels
 
1.7.2 #
- Adds 
RxSetto the reactive list of functionalities. 
1.7.1+1 #
- Adds 
initialiseSpecialViewModelsOnceto the readme. 
1.7.1 #
- Adds 
initialiseSpecialViewModelsOnceproperty to set initialise function call to only fire once. 
1.7.0+1 #
- Adds more migration notes
 
1.7.0 [BREAKING CHANGES] #
Migrate from 1.6.1 -> 1.7 #
- 
hasError(key) -> error(key) for multiple ViewModel
 - 
Adds
IndexTrackingViewModelfor help with BottomNavBar - 
Adds better error handling for
BaseViewModel 
1.6.1+1 #
- Adds 
fireOnModelReadyOnceto readme 
1.6.1 #
- Adds 
fireOnModelReadyOnceto be used together withdisposeViewModelto ensure a viewmodel that's already been constructed doesn't call onModelReady every time it's shown on screen. 
1.6.0+1 #
- Adds onCancel call for the MultiStreamViewModel
 
1.6.0 #
- Adds dispose protection when calling notifyListeners.
 
1.5.8 #
- Adds 
anyObjectsBusytoFutureViewModelsto report if there are any futures's that are still running 
1.5.7+1 #
- fixed busy state hash code problem
 
1.5.7 #
- Exposes notifyListeners to the service for rebuilding ViewModels that are listening
 
1.5.6+1 #
- added back busy to false state when busy future is complete without an error
 
1.5.6 #
- runBusyFuture now sets itself to not busy when exception is thrown
 - runBusyFuture has parameter throwException which will rethrow the caught exception to the caller
 
1.5.5+1 #
- Reverted commit below
 
1.5.5 #
- Added fix to set busy back to false when the future throws an exception
 
1.5.4+1 #
- Added 
MultipleStreamViewModelexample into the readme 
1.5.4 #
- Made specialty viewmodels reactive as well so you can supply reactive services as an override
 
1.5.3 #
- Expose subscription for single stream viewmodel and getSubscriptionForKey for multiple stream viewmodel.
 
1.5.2 #
- Added 
onDatafunction intoFutureViewModelthat can be overridden 
1.5.1 #
- Ensure model is busy as soon as runFuture notifyListeners for the first time
 
1.5.0 #
- Adds functionality to support 
RxList 
1.4.3 #
- Added functionality to save the error thrown by the calling future
 
1.4.2 #
- Added 
getParentViewModelfunctionality for accessing a provided ViewModel above in the widget tree 
1.4.1+2 #
- Busy for Object bug fix in base viewmodel
 
1.4.1+1 #
- Change log styling updates
 
1.4.1 #
- Added the 
constkeyword to the following widget constructors:ViewModelBuilder.nonReactive,ViewModelBuilder.reactive, andViewModelWidget
 
1.4.0+1 #
- [Breaking] Moved private files into src folder
 
1.4.0 #
- Breaking Moved private files into src folder
 - Fix imports, import visibility and changed file names.
 
1.3.4 #
- Added DynamicDataSource funtionality to swap streams at runtime
 
1.3.3 #
- Removed the hooks dependency and moved code to stacked_hooks package
 
1.3.2 #
- Fixed StreamViewModel functionality
 
1.3.1 #
- Added the HookViewModelWidget to use the ViewModelWidget with flutter_hooks
 
1.3.0+3 #
- Pass type to the base models of ViewModel
 
1.3.0+2 #
- ReadMe updates
 
1.3.0+1 #
- onModelReady taken out of post frame callback
 
1.3.0 #
- Adds Mulitple streams ViewModel Builder
 
1.2.4 #
- 
onModelReady updates
 - 
onModelReadyis not called every time the model is constructed - 
onModelReadyis called after the current frame is rendered by usingpostFrameCallbackinternally. 
1.2.3 #
- Added BuildContext to ViewModelBuilder for WidgetBuilder
 
1.2.2+1 #
- Updated ChangeLog order
 
1.2.2 #
- Moved stream subscription to after ViewModel construction
 
1.2.1+2 #
- Description Update 2
 
1.2.1+1 #
- Description Update
 
1.2.1 #
- Added ViewModelBuilderWidget
 - The 
ViewModelBuilderWidgetremoves boiler plate code for using aViewModelBuilderto provide the View->ViewModel rebuild functionality. 
1.2.0 #
- Added FutureViewmodel
 - The 
FutureViewModelremoves boiler plate code for a ViewModel that depends on data returned from a Future. 
1.1.0 #
- Added StreamViewModel
 - The 
StreamViewModelremoves boiler plate code for listening to a Stream and notifying listeners as the data comes in. 
1.0.3+3 #
- Added isBusy to BaseViewModel
 
1.0.3+2 #
- Added Migration from provider_architecture to stacked
 
1.0.3+1 #
- Updated Readme
 
1.0.3 #
- Adds back setBusy call to BaseViewModel
 
1.0.2 #
- Reactive Viewmodel updates
 - Instead of depending on the user to call set reactive services we require an override to provide a list of services
 
1.0.1 #
- Readme instruction updates
 
1.0.0 #
- First release of the architecture containing all the initial required parts to build a full application.