refena 1.5.1
refena: ^1.5.1 copied to clipboard
A state management library for Dart and Flutter. Inspired by Riverpod and async_redux.
1.5.1 #
- docs: update documentation
1.5.0 #
- feat: add
debugVisibleInGraphparameter to family shorthand constructors - feat: allow passing the whole family to
ref.rebuild - feat(inspector): add redux page
1.4.0 #
- feat: make
FutureProviderandStreamProviderrebuildable (ref.watchis allowed) - feat: add a family version of
StreamProvider - feat: add
Ref.rebuildto manually rebuild a rebuildable provider - feat:
ref.streamandref.futurework with family providers
1.3.0 #
- feat: add
Ref.accessor - feat: add
context.dispatchandcontext.dispatchAsyncshorthands to dispatch global actions - feat(tracing): show GlobalAction icon
1.2.0 #
- feat: add
initialBuildto mixin as an alternative toensureRefthat is called before the first build - feat: add
initBuildtoViewModelBuilderto access therefbefore the first build - feat: add
debugVisibleInGraphparameter to providers to hide them in the dependency graph - fix: possible NPE when disposing a widget while triggering a rebuild
1.1.0 #
- feat: add
onChangedparameter to all providers - feat(debug): print warning if a provider is watched multiple times in a
ViewProvideror in aWatchAction - fix: initialize provider overrides synchronously on Flutter Web
1.0.1 #
- fix: should not print "watch-outside-build" warning in release mode
- docs: update Riverpod topic and README
1.0.0 #
- Marking Refena as stable
- feat: do not depend on
collectionpackage anymore - fix: disable warning print (of watching the same provider multiple times) due to false positives
- BREAKING: disallow using
ViewModelBuilderwith family providers (useViewModelBuilder.familyinstead)
0.45.0 #
- feat: add
ViewProvider.familyandViewModelBuilder.familyas a replacement forprovider.familyof Riverpod - feat:
ref.readshould support family providers andselect
0.44.0 #
- feat: add
container.exists,container.getActiveProviders - feat: add
describeStatemethod to notifiers for customized state descriptions - feat:
WatchActionhastrackOrigindisabled by default - fix: missing
StreamController.disposewhenref.disposeis called
0.43.0 #
- feat: print error message when the same provider is watched multiple times in a
buildmethod - BREAKING:
WatchActionshould not update the dependencies of the notifier anymore
0.42.0 #
- feat: add
context.watch,context.read,context.notifier,context.reduxshorthands - feat: add
trackOriginproperty toReduxActionto allow disabling origin tracking - feat(graph): update node colors
- fix: should unwatch old providers when not watched during
build
0.41.0 #
- feat: add
StreamProvider - feat: add
disposetoWatchAction
0.40.4 #
- fix: missing export of
ViewModelBuilder
0.40.3 #
- fix: dependency constraints
0.40.2 #
- docs: fix documentation
0.40.1 #
- feat: add
reduxandexternal()toReduxNotifierto dispatch actions insideinit - feat: add
ViewModelBuilderto watch exactly one provider with auto dispose - feat: add
Dispatcher.ofNotifierconstructor
0.40.0 #
- feat: add
WatchAction, a new class of action that can watch other providers to rebuild the state
0.39.0 #
- feat:
AsyncValue.maybeWhenshould also use the previous value during loading to match the behavior ofAsyncValue.when - feat: add
globalReduxProvider.overrideWithGlobalReducerto override the global reducer - feat: add
dispatchedActionstoRefenaHistoryObserverto access dispatched actions - BREAKING: change
overridesparameter ofReduxProvider.overrideWithReducertoreducer - BREAKING: change
TestableNotifiertoNotifierTester(the same forTestableAsyncNotifierandTestableReduxNotifier)
0.38.0 #
- feat: add
RefenaScope.withContainerconstructor to use an existingRefenaContainer - fix: should expose
WatchableRefinstead ofWatchableRefImplin theRefenamixin
0.37.0 #
Announcing refena_riverpod_extension: a new package to ease migration from Riverpod. See refena_riverpod_extension for more details.
- feat(tracing): improve label text of
ChangeEvents
0.36.0 #
- feat: add
RefreshAction, a new class of action that reduces the boilerplate when refreshingReduxNotifiers with data typeAsyncValue - feat: add
AsyncValue.mapto map the data type ofAsyncValuewhile keeping the error / loading state - feat: add
(AsyncValue<T1>, ..., AsyncValue<TN>).jointo join multipleAsyncValues into one - BREAKING: remove
ref.watchWithPrev,AsyncValuealready contains the previous value - BREAKING: shorten
AsyncValueconstructors toAsyncValue.dataandAsyncValue.error
0.35.0 #
- fix(inspector): should use filtered events from
RefenaTracingObserver - fix(graph): dragging nodes on Android buggy
0.34.0 #
- fix(graph): should not change defaultRef
0.33.0 #
- feat(graph): highlight and move around nodes
0.32.1 #
- fix(tracing): should format maps with custom types correctly
0.32.0 #
- feat: add
debugOrigintoProviderDisposeEventand trace it inRefenaTracingPage - BREAKING:
ProviderDisposeEventdo not have anotifierattribute anymore
0.31.0 #
- feat(graph): add animation
- fix(tracing): correctly assign the parent action of an action
- BREAKING:
defaultNotifyStrategyis nowNotifyStrategy.equalityinstead ofNotifyStrategy.identity
0.30.0 #
Announcing refena_inspector: a new package to visualize the dependency graph and events in real-time. See refena_inspector for more details.
- BREAKING:
RefenaScopeorRefenaContainernow have anobserversparameter instead ofobserver, which is a list of observers instead of a single observer - fix: observers should not receive events if
initis not called
0.29.0 #
- BREAKING: rebranding to Refena
0.28.0 #
- feat: add
RiverpieGraphPageto visualize the dependency graph of notifiers - feat: notifiers expose a
providergetter to access the corresponding provider - fix:
ref.disposeshould also dispose dependencies - fix: change method signature generics of
ReduxAction.externalto keep the state type - fix: handle case when action is finished after the notifier is disposed
0.27.0 #
- feat(ReduxProvider): allow to override
initialState - feat(TracingPage): hide time column by default (can be enabled via constructor)
- feat(TracingPage): add
exclude,includeandqueryconstructor parameters to filter events - feat(TracingPage): format action result as JSON if possible
0.26.0 #
- feat: add
ref.containerto access low-level APIs ofRiverpieContainer - feat: add
container.setto override providers even after initialization
0.25.0 #
- feat: add
disposeActiongetter toReduxNotifier - feat: small improvements for
RiverpieTracingPage - feat: improve
RiverpieDebugObserverlogging for dispatching actions - fix: correctly dispose
ViewProviderwhenref.disposeis called - BREAKING: remove listener added/removed events due to excessive logging with little value
0.24.0 #
- feat: add
GlobalAction, a family of actions that don't belong to any notifier - BREAKING: Change
with AddonActionstowith GlobalActions
0.23.0 #
- feat: throw full async stack trace when using
dispatchAsync - feat: add
postInitfor notifiers - BREAKING:
ReduxNotifiers should not dispatch actions directly anymore, override the getterinitialActioninstead
0.22.0 #
- feat: make add-on actions customizable
- feat: add
errorParsertoRiverpieTracingPageto better visualize errors - feat: add default parser for
DioException(without introducing a dependency todio) - fix: should emit events within
initof aReduxNotifier - BREAKING: events now have
millisSinceEpochinstead ofmicrosSinceEpoch
0.21.0 #
- feat: add
addontoReduxAction - feat: show execution time of
ReduxActioninRiverpieTracingPage - BREAKING: change
ref.emitMessagetoref.message
0.20.0 #
- feat: add
NavigationService, example usage:ref.read(navigationProvider).push(MyPage()) - feat: add
SnackBarService, example usage:ref.read(snackBarProvider).showSnackBar('Hello') - feat: add
ref.dispose(provider) - feat: add
ref.emitMessageto emit custom messages to the observer
0.19.0 #
- feat: add error handling for redux actions
- feat: access
refwithin observers - feat: add
defaultNotifyStrategyparameter forRiverpieScope - feat: improve
RiverpieTracingPageUI - feat: export
ProviderOverride
0.18.0 #
- feat: improve
RiverpieTracingPageUI
0.17.0 #
- feat: add
RiverpieTracingObserverandRiverpieTracingPage - BREAKING: distinguish between sync and async
ReduxAction(see updated documentation)
0.16.0 #
- fix: should update
ref.watchconfig - feat: add
Provider.overrideWithValue - BREAKING:
Provider.overrideWithValuetoProvider.overrideWithBuilder - BREAKING: renaming
setuptointernalSetupto avoid name clashes
0.15.1 #
- fix: missing
FutureFamilyProviderexport
0.15.0 #
- BREAKING:
ReduxActionis now action based instead of event based
0.14.0 #
- feat: add
ChangeNotifierProvider - feat: add
FutureFamilyProvider
0.13.0 #
- feat: add
provider.overrideWithFuturefor regular providers (should callscope.ensureOverrides) - fix: refer to non-override from override
0.12.0 #
- feat: add origin of event (widget or notifier) to
EventEmittedEvent - feat: add
Notifier.test,AsyncNotifier.testandReduxNotifier.test - BREAKING:
ReduxNotifierrequires aReduxProvidernow - BREAKING: recommended emit method is
ref.redux(myReduxProvider).emit(MyEvent())
0.11.0 #
- feat: add
ReduxNotifier - feat: add
ref.watch(provider.select(...))to only rebuild when a specific value changes - feat: add
toStringimplementation toAsyncValue - feat: add
toStringimplementation to providers - feat: add more options for
RiverpieHistoryObserver - fix: missing
refinAsyncNotifier - BREAKING: add
refparameter to provider overrides - BREAKING: rename
ChangeEvent.flagRebuildtoChangeEvent.rebuild
0.10.0 #
- BREAKING: use
riverpie_flutterfor Flutter projects - BREAKING: change
AsyncSnapshottoAsyncValueto decouple from Flutter
0.9.0 #
- feat: add
AsyncNotifierProviderand the correspondingAsyncNotifier - feat: add
ref.futureto access theFutureof anAsyncNotifierProvideror aFutureProvider - feat: add
ref.watchWithPrevto access the previous value of anAsyncNotifierProvider
0.8.0 #
- feat: add
context.refto also accessrefinsideStatelessWidget - feat: add
RiverpieMultiObserverto use multiple observers at once
0.7.0 #
- feat: add
ViewProvider, the only provider that can watch other providers - feat: add
initialProvidersparameter forRiverpieScope - feat: add
excludeparameter forRiverpieDebugObserver - BREAKING:
setStateofStateProvideraccepts a builder instead of a value
0.6.0 #
- feat: add
RiverpieObserverandRiverpieDebugObserver - feat: add
StateProviderfor simple use cases - BREAKING: add
refparameter forensureRefcallback
0.5.1 #
- fix: lint fixes
0.5.0 #
- feat:
RiverpieScope.defaultReffor global access toref - feat:
ref.streamfor manual stream access - feat:
ref.watch(myProvider, rebuildWhen: (prev, next) => ...)for more control over when to rebuild - feat: use
ensureRefwithininitStateforrefaccess within initialization logic - BREAKING: removed
ref.listen, useref.watch(myProvider, listener: (prev, next) => ...)instead
0.4.0 #
- BREAKING:
Consumerdoes not have achildanymore, useExpensiveConsumerinstead
0.3.0 #
- feat: add
FutureProvider
0.2.0 #
- feat: introduction of
PureNotifier, aNotifierwithout access toref - BREAKING: add
refas parameter to every provider - BREAKING: change
ref.notifytoref.notifier
0.1.1 #
- docs: update README.md
0.1.0 #
- Initial release