NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #3220 most downloaded on pub.dev
A state management library for Dart and Flutter. Inspired by Riverpod and async_redux.
Last release 27 days ago
11 Sep 2026
Release timing varies
gaps range from 8 days to 7 months
Nearly every release is documented
notes for 46 of 46 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
48 releases · first in 2023
One column per quarter.
feat: deprecate anyNotifier in favor of baseNotifier
FlutterValueNotifierProvider to refena_flutter to expose a plain Flutter ValueNotifieranyNotifier in favor of baseNotifierViewProvider.family<Test?, String>)feat: container.set now returns Future instead of FutureOr
container.set now returns Future<void> instead of FutureOr<void>pushReplacement and pushAndRemoveUntil to navigationProvider addontransition parameter to push methods of the navigationProvider addon (NavigationTransition.material, cupertino, none, fade)defaultTransition to NavigationService to change the transition globallyfeat: add popUntilRoot and popUntil
popUntilRoot and popUntilfeat: allow overriding describeResult in actions
describeResult in actionsdescribeState by default only returns byte length for Uint8Listdocs: add unit test section to redux documentation
chore: migrate from Github to Codeberg: https://codeberg.org/Tienisto/refena
feat: add pushRoot to navigationProvider addon to replace the whole navigation stack
pushRoot to navigationProvider addon to replace the whole navigation stackfeat: allow use of ref.watch(reduxNotifier.provider!) (access provider via notifier)
ref.watch(reduxNotifier.provider!) (access provider via notifier)- style: format issues
feat: add global to ReduxNotifier to dispatch global actions within the notifier
global to ReduxNotifier to dispatch global actions within the notifierViewModelBuilder constructor to accept provider as a builderfix: disable false positive warning when using watch in a LayoutBuilder
watch in a LayoutBuilderfeat: MessageEvent and ActionDispatchedEvent now also refer to ChangeEvent or RebuildEvent as origin
MessageEvent and ActionDispatchedEvent now also refer to ChangeEvent or RebuildEvent as originImproving the API for a safer, and more consistent usage.
Improving the API for a safer, and more consistent usage.
BuildContext or Ref, use context.global.dispatch or ref.global.dispatch instead of context.dispatch or ref.dispatchdebugLabel from notifier constructors, override customDebugLabel insteadViewModelBuilder: change parameters of init and initBuild from (context, ref) to (context)ViewModelBuilder: change placeholder to loadingBuilder, error to errorBuilderViewModelBuilder: split initBuild into onFirstFrame and onFirstLoadingFrameNothing published for this version
Nothing published for this version
docs: update redux documentation and readme
feat: add ViewBuildContext mixin to access BuildContext inside a notifier
ViewBuildContext mixin to access BuildContext inside a notifierid to refenaId inside notifiers and redux actions to avoid collisions with business logic- docs: update documentation
feat: add debugVisibleInGraph parameter to family shorthand constructors
debugVisibleInGraph parameter to family shorthand constructorsref.rebuildfeat: make FutureProvider and StreamProvider rebuildable ( ref.watch is allowed)
FutureProvider and StreamProvider rebuildable (ref.watch is allowed)StreamProviderRef.rebuild to manually rebuild a rebuildable providerref.stream and ref.future work with family providersfeat: add context.dispatch and context.dispatchAsync shorthands to dispatch global actions
Ref.accessorcontext.dispatch and context.dispatchAsync shorthands to dispatch global actionsfeat: add initialBuild to mixin as an alternative to ensureRef that is called before the first build
initialBuild to mixin as an alternative to ensureRef that is called before the first buildinitBuild to ViewModelBuilder to access the ref before the first builddebugVisibleInGraph parameter to providers to hide them in the dependency graphfeat: add onChanged parameter to all providers
onChanged parameter to all providersViewProvider or in a WatchActionfix: should not print "watch-outside-build" warning in release mode
feat: do not depend on collection package anymore
collection package anymoreViewModelBuilder with family providers (use ViewModelBuilder.family instead)feat: add ViewProvider.family and ViewModelBuilder.family as a replacement for provider.family of Riverpod
ViewProvider.family and ViewModelBuilder.family as a replacement for provider.family of Riverpodref.read should support family providers and selectfeat: add container.exists, container.getActiveProviders
container.exists, container.getActiveProvidersdescribeState method to notifiers for customized state descriptionsWatchAction has trackOrigin disabled by defaultStreamController.dispose when ref.dispose is calledfeat: print error message when the same provider is watched multiple times in a build method
build methodWatchAction should not update the dependencies of the notifier anymorefeat: add context.watch, context.read, context.notifier, context.redux shorthands
context.watch, context.read, context.notifier, context.redux shorthandstrackOrigin property to ReduxAction to allow disabling origin trackingbuildfeat: add dispose to WatchAction
StreamProviderdispose to WatchActionfix: missing export of ViewModelBuilder
ViewModelBuilder- fix: dependency constraints
- docs: fix documentation
feat: add redux and external() to ReduxNotifier to dispatch actions inside init
redux and external() to ReduxNotifier to dispatch actions inside initViewModelBuilder to watch exactly one provider with auto disposeDispatcher.ofNotifier constructorfeat: add WatchAction, a new class of action that can watch other providers to rebuild the state
WatchAction, a new class of action that can watch other providers to rebuild the statefeat: AsyncValue.maybeWhen should also use the previous value during loading to match the behavior of AsyncValue.when
AsyncValue.maybeWhen should also use the previous value during loading to match the behavior of AsyncValue.whenglobalReduxProvider.overrideWithGlobalReducer to override the global reducerdispatchedActions to RefenaHistoryObserver to access dispatched actionsoverrides parameter of ReduxProvider.overrideWithReducer to reducerTestableNotifier to NotifierTester (the same for TestableAsyncNotifier and TestableReduxNotifier)feat: add RefenaScope.withContainer constructor to use an existing RefenaContainer
RefenaScope.withContainer constructor to use an existing RefenaContainerWatchableRef instead of WatchableRefImpl in the Refena mixinAnnouncing refena_riverpod_extension: a new package to ease migration from Riverpod. See refena_riverpod_extension for more details.
Announcing refena_riverpod_extension: a new package to ease migration from Riverpod. See refena_riverpod_extension for more details.
ChangeEventsfeat: add RefreshAction, a new class of action that reduces the boilerplate when refreshing ReduxNotifiers with data type AsyncValue
RefreshAction, a new class of action that reduces the boilerplate when refreshing ReduxNotifiers with data type AsyncValueAsyncValue.map to map the data type of AsyncValue while keeping the error / loading state(AsyncValue<T1>, ..., AsyncValue<TN>).join to join multiple AsyncValues into oneref.watchWithPrev, AsyncValue already contains the previous valueAsyncValue constructors to AsyncValue.data and AsyncValue.errorfix(inspector): should use filtered events from RefenaTracingObserver
RefenaTracingObserverfix(graph): should not change defaultRef
feat(graph): highlight and move around nodes
fix(tracing): should format maps with custom types correctly
feat: add debugOrigin to ProviderDisposeEvent and trace it in RefenaTracingPage
debugOrigin to ProviderDisposeEvent and trace it in RefenaTracingPageProviderDisposeEvent do not have a notifier attribute anymorefix(tracing): correctly assign the parent action of an action
defaultNotifyStrategy is now NotifyStrategy.equality instead of NotifyStrategy.identityAnnouncing refena_inspector: a new package to visualize the dependency graph and events in real-time. See refena_inspector for more details.
Announcing refena_inspector: a new package to visualize the dependency graph and events in real-time. See refena_inspector for more details.
RefenaScope or RefenaContainer now have an observers parameter instead of observer, which is a list of observers instead of a single observerinit is not called- BREAKING: rebranding to Refena
feat: add RiverpieGraphPage to visualize the dependency graph of notifiers
RiverpieGraphPage to visualize the dependency graph of notifiersprovider getter to access the corresponding providerref.dispose should also dispose dependenciesReduxAction.external to keep the state typeYour coding agent can read these notes before it upgrades. Set up the MCP server →