NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #3294 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 9 days to 7 months
Some releases are documented
notes for 16 of 40 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
41 releases · first in 2023
One column per quarter.
Checkout Refena Changelog for concrete changes.
Checkout Refena Changelog for concrete changes.
feat: add popUntilRoot and popUntil
popUntilRoot and popUntilfeat: allow overriding describeResult in actions
describeResult in actionsdescribeState by default only returns byte length for Uint8Listchore: 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)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 builderNothing published for this version
feat: 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
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 logicfeat: 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 actionsNothing published for this version
Nothing published for this version
fix: 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)Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →