refena
A state management library for Dart and Flutter. Inspired by Riverpod and async_redux.
3.5.0
11K downloads/mo
#2842 most downloaded on pub.dev
source
What this package is like to depend on
Last release 7 days ago
17 Aug 2026
Release timing varies
gaps range from 8 days to 7 months
Nearly every release is documented
notes for 45 of 45 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
47 releases · first in 2023
6 releases in the last 12 months
see the full history below
Release timeline
47 releases · Oct 2023 to Aug 2026Releases
latest 47-
3.5.017 Aug 2026Release notes
Open source →- feat:
container.setnow returnsFuture<void>instead ofFutureOr<void> - feat: add
pushReplacementandpushAndRemoveUntiltonavigationProvideraddon - feat: add
transitionparameter to push methods of thenavigationProvideraddon (NavigationTransition.material,cupertino,none,fade) - feat: add
defaultTransitiontoNavigationServiceto change the transition globally
- feat:
-
3.4.003 Aug 2026Release notes
Open source →- feat: add
popUntilRootandpopUntil - BREAKING: Requires Flutter 3.41 (Dart 3.11)
Release notes
Open source →- feat: add
popUntilRootandpopUntil - BREAKING: Requires Flutter 3.41 (Dart 3.11)
- feat: add
-
3.3.020 Jul 2026Release notes
Open source →- feat: allow overriding
describeResultin actions - feat:
describeStateby default only returns byte length forUint8List
Release notes
Open source →- feat: allow overriding
describeResultin actions - feat:
describeStateby default only returns byte length forUint8List
- feat: allow overriding
-
3.2.206 Jul 2026 -
3.2.126 Jan 2026Release notes
Open source →- chore: migrate from Github to Codeberg: https://codeberg.org/Tienisto/refena
Release notes
Open source →- chore: migrate from Github to Codeberg: https://codeberg.org/Tienisto/refena
-
3.2.012 Sep 2025Release notes
Open source →- feat: add
pushRoottonavigationProvideraddon to replace the whole navigation stack
Release notes
Open source →- feat: add
pushRoottonavigationProvideraddon to replace the whole navigation stack
- feat: add
-
3.1.007 Feb 2025Release notes
Open source →- feat: allow use of
ref.watch(reduxNotifier.provider!)(access provider via notifier)
Release notes
Open source →- feat: allow use of
ref.watch(reduxNotifier.provider!)(access provider via notifier)
- feat: allow use of
-
3.0.129 Jan 2025 -
3.0.029 Jan 2025Release notes
Open source →- feat: add
globaltoReduxNotifierto dispatch global actions within the notifier - BREAKING: update
ViewModelBuilderconstructor to acceptprovideras a builder
Release notes
Open source →- feat: add
globaltoReduxNotifierto dispatch global actions within the notifier - BREAKING: update
ViewModelBuilderconstructor to acceptprovideras a builder
- feat: add
-
2.1.128 Jun 2024 -
2.1.023 Jun 2024Release notes
Open source →- feat:
MessageEventandActionDispatchedEventnow also refer toChangeEventorRebuildEventas origin
Release notes
Open source →- feat:
MessageEventandActionDispatchedEventnow also refer toChangeEventorRebuildEventas origin
- feat:
-
2.0.024 May 2024Release notes
Open source →Improving the API for a safer, and more consistent usage.
- BREAKING: To dispatch global actions using
BuildContextorRef, usecontext.global.dispatchorref.global.dispatchinstead ofcontext.dispatchorref.dispatch - BREAKING: Remove
debugLabelfrom notifier constructors, overridecustomDebugLabelinstead - BREAKING:
ViewModelBuilder: change parameters ofinitandinitBuildfrom(context, ref)to(context) - BREAKING:
ViewModelBuilder: changeplaceholdertoloadingBuilder,errortoerrorBuilder - BREAKING:
ViewModelBuilder: splitinitBuildintoonFirstFrameandonFirstLoadingFrame
Release notes
Open source →- BREAKING: To dispatch global actions using
BuildContextorRef, usecontext.global.dispatchorref.global.dispatchinstead ofcontext.dispatchorref.dispatch - BREAKING: Remove
debugLabelfrom notifier constructors, overridecustomDebugLabelinstead - BREAKING:
ViewModelBuilder: change parameters ofinitandinitBuildfrom(context, ref)to(context) - BREAKING:
ViewModelBuilder: changeplaceholdertoloadingBuilder,errortoerrorBuilder - BREAKING:
ViewModelBuilder: splitinitBuildintoonFirstFrameandonFirstLoadingFrame
- BREAKING: To dispatch global actions using
-
2.0.0-dev.115 May 2024 pre-releaseNothing published for this version
-
2.0.0-dev.024 Apr 2024 pre-releaseNothing published for this version
-
1.6.122 Jan 2024 -
1.6.017 Dec 2023Release notes
Open source →- feat: add
ViewBuildContextmixin to accessBuildContextinside a notifier - feat: change
idtorefenaIdinside notifiers and redux actions to avoid collisions with business logic
Release notes
Open source →- feat: add
ViewBuildContextmixin to accessBuildContextinside a notifier - feat: change
idtorefenaIdinside notifiers and redux actions to avoid collisions with business logic
- feat: add
-
1.5.114 Dec 2023 -
1.5.026 Nov 2023Release notes
Open source →- feat: add
debugVisibleInGraphparameter to family shorthand constructors - feat: allow passing the whole family to
ref.rebuild - feat(inspector): add redux page
Release notes
Open source →- feat: add
debugVisibleInGraphparameter to family shorthand constructors - feat: allow passing the whole family to
ref.rebuild - feat(inspector): add redux page
- feat: add
-
1.4.021 Nov 2023Release notes
Open source →- 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
Release notes
Open source →- 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
- feat: make
-
1.3.020 Nov 2023Release notes
Open source →- feat: add
Ref.accessor - feat: add
context.dispatchandcontext.dispatchAsyncshorthands to dispatch global actions - feat(tracing): show GlobalAction icon
Release notes
Open source →- feat: add
Ref.accessor - feat: add
context.dispatchandcontext.dispatchAsyncshorthands to dispatch global actions - feat(tracing): show GlobalAction icon
- feat: add
-
1.2.013 Nov 2023Release notes
Open source →- 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
- feat: add
-
1.1.012 Nov 2023Release notes
Open source →- 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
- feat: add
-
1.0.108 Nov 2023Release notes
Open source →- fix: should not print "watch-outside-build" warning in release mode
- docs: update Riverpod topic and README
Release notes
Open source →- fix: should not print "watch-outside-build" warning in release mode
- docs: update Riverpod topic and README
-
1.0.007 Nov 2023Release notes
Open source →- 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)
Release notes
Open source →- 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.006 Nov 2023Release notes
Open source →- feat: add
ViewProvider.familyandViewModelBuilder.familyas a replacement forprovider.familyof Riverpod - feat:
ref.readshould support family providers andselect
- feat: add
-
0.44.005 Nov 2023Release notes
Open source →- 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
- feat: add
-
0.43.004 Nov 2023Release notes
Open source →- 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
- feat: print error message when the same provider is watched multiple times in a
-
0.42.004 Nov 2023Release notes
Open source →- 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
- feat: add
-
0.41.003 Nov 2023 -
0.40.403 Nov 2023 -
0.40.303 Nov 2023 -
0.40.203 Nov 2023 -
0.40.103 Nov 2023Release notes
Open source →- feat: add
reduxandexternal()toReduxNotifierto dispatch actions insideinit - feat: add
ViewModelBuilderto watch exactly one provider with auto dispose - feat: add
Dispatcher.ofNotifierconstructor
- feat: add
-
0.40.002 Nov 2023Release notes
Open source →- feat: add
WatchAction, a new class of action that can watch other providers to rebuild the state
- feat: add
-
0.39.031 Oct 2023Release notes
Open source →- 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)
- feat:
-
0.38.026 Oct 2023Release notes
Open source →- feat: add
RefenaScope.withContainerconstructor to use an existingRefenaContainer - fix: should expose
WatchableRefinstead ofWatchableRefImplin theRefenamixin
- feat: add
-
0.37.019 Oct 2023Release notes
Open source →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
- feat(tracing): improve label text of
-
0.36.015 Oct 2023Release notes
Open source →- 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
- feat: add
-
0.35.012 Oct 2023Release notes
Open source →- fix(inspector): should use filtered events from
RefenaTracingObserver - fix(graph): dragging nodes on Android buggy
- fix(inspector): should use filtered events from
-
0.34.010 Oct 2023 -
0.33.010 Oct 2023 -
0.32.109 Oct 2023 -
0.32.009 Oct 2023Release notes
Open source →- feat: add
debugOrigintoProviderDisposeEventand trace it inRefenaTracingPage - BREAKING:
ProviderDisposeEventdo not have anotifierattribute anymore
- feat: add
-
0.31.007 Oct 2023Release notes
Open source →- feat(graph): add animation
- fix(tracing): correctly assign the parent action of an action
- BREAKING:
defaultNotifyStrategyis nowNotifyStrategy.equalityinstead ofNotifyStrategy.identity
-
0.30.005 Oct 2023Release notes
Open source →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
- BREAKING:
-
0.29.002 Oct 2023 -
0.28.002 Oct 2023Release notes
Open source →- 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
- feat: add