PackageTrack
Sign in Get early access

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 2026
2024 2025 2026
Release Pre-release

Releases

latest 47
  1. 3.5.0 17 Aug 2026
    Release notes
    • feat: container.set now returns Future<void> instead of FutureOr<void>
    • feat: add pushReplacement and pushAndRemoveUntil to navigationProvider addon
    • feat: add transition parameter to push methods of the navigationProvider addon (NavigationTransition.material, cupertino, none, fade)
    • feat: add defaultTransition to NavigationService to change the transition globally
    Open source →
  2. 3.4.0 03 Aug 2026
    Release notes
    • feat: add popUntilRoot and popUntil
    • BREAKING: Requires Flutter 3.41 (Dart 3.11)
    Open source →
    Release notes
    • feat: add popUntilRoot and popUntil
    • BREAKING: Requires Flutter 3.41 (Dart 3.11)
    Open source →
  3. 3.3.0 20 Jul 2026
    Release notes
    • feat: allow overriding describeResult in actions
    • feat: describeState by default only returns byte length for Uint8List
    Open source →
    Release notes
    • feat: allow overriding describeResult in actions
    • feat: describeState by default only returns byte length for Uint8List
    Open source →
  4. 3.2.2 06 Jul 2026
    Release notes
    • docs: add unit test section to redux documentation
    Open source →
  5. 3.2.1 26 Jan 2026
    Release notes
    Open source →
    Release notes
    • chore: migrate from Github to Codeberg: https://codeberg.org/Tienisto/refena
    Open source →
  6. 3.2.0 12 Sep 2025
    Release notes
    • feat: add pushRoot to navigationProvider addon to replace the whole navigation stack
    Open source →
    Release notes
    • feat: add pushRoot to navigationProvider addon to replace the whole navigation stack
    Open source →
  7. 3.1.0 07 Feb 2025
    Release notes
    • feat: allow use of ref.watch(reduxNotifier.provider!) (access provider via notifier)
    Open source →
    Release notes
    • feat: allow use of ref.watch(reduxNotifier.provider!) (access provider via notifier)
    Open source →
  8. 3.0.1 29 Jan 2025
    Release notes
    • style: format issues
    Open source →
  9. 3.0.0 29 Jan 2025
    Release notes
    • feat: add global to ReduxNotifier to dispatch global actions within the notifier
    • BREAKING: update ViewModelBuilder constructor to accept provider as a builder
    Open source →
    Release notes
    • feat: add global to ReduxNotifier to dispatch global actions within the notifier
    • BREAKING: update ViewModelBuilder constructor to accept provider as a builder
    Open source →
  10. 2.1.1 28 Jun 2024
    Release notes
    • fix: disable false positive warning when using watch in a LayoutBuilder
    Open source →
  11. 2.1.0 23 Jun 2024
    Release notes
    • feat: MessageEvent and ActionDispatchedEvent now also refer to ChangeEvent or RebuildEvent as origin
    Open source →
    Release notes
    • feat: MessageEvent and ActionDispatchedEvent now also refer to ChangeEvent or RebuildEvent as origin
    Open source →
  12. 2.0.0 24 May 2024
    Release notes

    Improving the API for a safer, and more consistent usage.

    • BREAKING: To dispatch global actions using BuildContext or Ref, use context.global.dispatch or ref.global.dispatch instead of context.dispatch or ref.dispatch
    • BREAKING: Remove debugLabel from notifier constructors, override customDebugLabel instead
    • BREAKING: ViewModelBuilder: change parameters of init and initBuild from (context, ref) to (context)
    • BREAKING: ViewModelBuilder: change placeholder to loadingBuilder, error to errorBuilder
    • BREAKING: ViewModelBuilder: split initBuild into onFirstFrame and onFirstLoadingFrame
    Open source →
    Release notes
    • BREAKING: To dispatch global actions using BuildContext or Ref, use context.global.dispatch or ref.global.dispatch instead of context.dispatch or ref.dispatch
    • BREAKING: Remove debugLabel from notifier constructors, override customDebugLabel instead
    • BREAKING: ViewModelBuilder: change parameters of init and initBuild from (context, ref) to (context)
    • BREAKING: ViewModelBuilder: change placeholder to loadingBuilder, error to errorBuilder
    • BREAKING: ViewModelBuilder: split initBuild into onFirstFrame and onFirstLoadingFrame
    Open source →
  13. 2.0.0-dev.1 15 May 2024 pre-release

    Nothing published for this version

  14. 2.0.0-dev.0 24 Apr 2024 pre-release

    Nothing published for this version

  15. 1.6.1 22 Jan 2024
    Release notes
    • docs: update redux documentation and readme
    Open source →
  16. 1.6.0 17 Dec 2023
    Release notes
    • feat: add ViewBuildContext mixin to access BuildContext inside a notifier
    • feat: change id to refenaId inside notifiers and redux actions to avoid collisions with business logic
    Open source →
    Release notes
    • feat: add ViewBuildContext mixin to access BuildContext inside a notifier
    • feat: change id to refenaId inside notifiers and redux actions to avoid collisions with business logic
    Open source →
  17. 1.5.1 14 Dec 2023
    Release notes
    • docs: update documentation
    Open source →
  18. 1.5.0 26 Nov 2023
    Release notes
    • feat: add debugVisibleInGraph parameter to family shorthand constructors
    • feat: allow passing the whole family to ref.rebuild
    • feat(inspector): add redux page
    Open source →
    Release notes
    • feat: add debugVisibleInGraph parameter to family shorthand constructors
    • feat: allow passing the whole family to ref.rebuild
    • feat(inspector): add redux page
    Open source →
  19. 1.4.0 21 Nov 2023
    Release notes
    • feat: make FutureProvider and StreamProvider rebuildable (ref.watch is allowed)
    • feat: add a family version of StreamProvider
    • feat: add Ref.rebuild to manually rebuild a rebuildable provider
    • feat: ref.stream and ref.future work with family providers
    Open source →
    Release notes
    • feat: make FutureProvider and StreamProvider rebuildable (ref.watch is allowed)
    • feat: add a family version of StreamProvider
    • feat: add Ref.rebuild to manually rebuild a rebuildable provider
    • feat: ref.stream and ref.future work with family providers
    Open source →
  20. 1.3.0 20 Nov 2023
    Release notes
    • feat: add Ref.accessor
    • feat: add context.dispatch and context.dispatchAsync shorthands to dispatch global actions
    • feat(tracing): show GlobalAction icon
    Open source →
    Release notes
    • feat: add Ref.accessor
    • feat: add context.dispatch and context.dispatchAsync shorthands to dispatch global actions
    • feat(tracing): show GlobalAction icon
    Open source →
  21. 1.2.0 13 Nov 2023
    Release notes
    • feat: add initialBuild to mixin as an alternative to ensureRef that is called before the first build
    • feat: add initBuild to ViewModelBuilder to access the ref before the first build
    • feat: add debugVisibleInGraph parameter to providers to hide them in the dependency graph
    • fix: possible NPE when disposing a widget while triggering a rebuild
    Open source →
  22. 1.1.0 12 Nov 2023
    Release notes
    • feat: add onChanged parameter to all providers
    • feat(debug): print warning if a provider is watched multiple times in a ViewProvider or in a WatchAction
    • fix: initialize provider overrides synchronously on Flutter Web
    Open source →
  23. 1.0.1 08 Nov 2023
    Release notes
    • fix: should not print "watch-outside-build" warning in release mode
    • docs: update Riverpod topic and README
    Open source →
    Release notes
    • fix: should not print "watch-outside-build" warning in release mode
    • docs: update Riverpod topic and README
    Open source →
  24. 1.0.0 07 Nov 2023
    Release notes
    • Marking Refena as stable
    • feat: do not depend on collection package anymore
    • fix: disable warning print (of watching the same provider multiple times) due to false positives
    • BREAKING: disallow using ViewModelBuilder with family providers (use ViewModelBuilder.family instead)
    Open source →
    Release notes
    • Marking Refena as stable
    • feat: do not depend on collection package anymore
    • fix: disable warning print (of watching the same provider multiple times) due to false positives
    • BREAKING: disallow using ViewModelBuilder with family providers (use ViewModelBuilder.family instead)
    Open source →
  25. 0.45.0 06 Nov 2023
    Release notes
    • feat: add ViewProvider.family and ViewModelBuilder.family as a replacement for provider.family of Riverpod
    • feat: ref.read should support family providers and select
    Open source →
  26. 0.44.0 05 Nov 2023
    Release notes
    • feat: add container.exists, container.getActiveProviders
    • feat: add describeState method to notifiers for customized state descriptions
    • feat: WatchAction has trackOrigin disabled by default
    • fix: missing StreamController.dispose when ref.dispose is called
    Open source →
  27. 0.43.0 04 Nov 2023
    Release notes
    • feat: print error message when the same provider is watched multiple times in a build method
    • BREAKING: WatchAction should not update the dependencies of the notifier anymore
    Open source →
  28. 0.42.0 04 Nov 2023
    Release notes
    • feat: add context.watch, context.read, context.notifier, context.redux shorthands
    • feat: add trackOrigin property to ReduxAction to allow disabling origin tracking
    • feat(graph): update node colors
    • fix: should unwatch old providers when not watched during build
    Open source →
  29. 0.41.0 03 Nov 2023
    Release notes
    • feat: add StreamProvider
    • feat: add dispose to WatchAction
    Open source →
  30. 0.40.4 03 Nov 2023
    Release notes
    • fix: missing export of ViewModelBuilder
    Open source →
  31. 0.40.3 03 Nov 2023
    Release notes
    • fix: dependency constraints
    Open source →
  32. 0.40.2 03 Nov 2023
    Release notes
    • docs: fix documentation
    Open source →
  33. 0.40.1 03 Nov 2023
    Release notes
    • feat: add redux and external() to ReduxNotifier to dispatch actions inside init
    • feat: add ViewModelBuilder to watch exactly one provider with auto dispose
    • feat: add Dispatcher.ofNotifier constructor
    Open source →
  34. 0.40.0 02 Nov 2023
    Release notes
    • feat: add WatchAction, a new class of action that can watch other providers to rebuild the state
    Open source →
  35. 0.39.0 31 Oct 2023
    Release notes
    • feat: AsyncValue.maybeWhen should also use the previous value during loading to match the behavior of AsyncValue.when
    • feat: add globalReduxProvider.overrideWithGlobalReducer to override the global reducer
    • feat: add dispatchedActions to RefenaHistoryObserver to access dispatched actions
    • BREAKING: change overrides parameter of ReduxProvider.overrideWithReducer to reducer
    • BREAKING: change TestableNotifier to NotifierTester (the same for TestableAsyncNotifier and TestableReduxNotifier)
    Open source →
  36. 0.38.0 26 Oct 2023
    Release notes
    • feat: add RefenaScope.withContainer constructor to use an existing RefenaContainer
    • fix: should expose WatchableRef instead of WatchableRefImpl in the Refena mixin
    Open source →
  37. 0.37.0 19 Oct 2023
    Release notes

    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
    Open source →
  38. 0.36.0 15 Oct 2023
    Release notes
    • feat: add RefreshAction, a new class of action that reduces the boilerplate when refreshing ReduxNotifiers with data type AsyncValue
    • feat: add AsyncValue.map to map the data type of AsyncValue while keeping the error / loading state
    • feat: add (AsyncValue<T1>, ..., AsyncValue<TN>).join to join multiple AsyncValues into one
    • BREAKING: remove ref.watchWithPrev, AsyncValue already contains the previous value
    • BREAKING: shorten AsyncValue constructors to AsyncValue.data and AsyncValue.error
    Open source →
  39. 0.35.0 12 Oct 2023
    Release notes
    • fix(inspector): should use filtered events from RefenaTracingObserver
    • fix(graph): dragging nodes on Android buggy
    Open source →
  40. 0.34.0 10 Oct 2023
    Release notes
    • fix(graph): should not change defaultRef
    Open source →
  41. 0.33.0 10 Oct 2023
    Release notes
    • feat(graph): highlight and move around nodes
    Open source →
  42. 0.32.1 09 Oct 2023
    Release notes
    • fix(tracing): should format maps with custom types correctly
    Open source →
  43. 0.32.0 09 Oct 2023
    Release notes
    • feat: add debugOrigin to ProviderDisposeEvent and trace it in RefenaTracingPage
    • BREAKING: ProviderDisposeEvent do not have a notifier attribute anymore
    Open source →
  44. 0.31.0 07 Oct 2023
    Release notes
    • feat(graph): add animation
    • fix(tracing): correctly assign the parent action of an action
    • BREAKING: defaultNotifyStrategy is now NotifyStrategy.equality instead of NotifyStrategy.identity
    Open source →
  45. 0.30.0 05 Oct 2023
    Release notes

    Announcing refena_inspector: a new package to visualize the dependency graph and events in real-time. See refena_inspector for more details.

    • BREAKING: RefenaScope or RefenaContainer now have an observers parameter instead of observer, which is a list of observers instead of a single observer
    • fix: observers should not receive events if init is not called
    Open source →
  46. 0.29.0 02 Oct 2023
    Release notes
    • BREAKING: rebranding to Refena
    Open source →
  47. 0.28.0 02 Oct 2023
    Release notes
    • feat: add RiverpieGraphPage to visualize the dependency graph of notifiers
    • feat: notifiers expose a provider getter to access the corresponding provider
    • fix: ref.dispose should also dispose dependencies
    • fix: change method signature generics of ReduxAction.external to keep the state type
    • fix: handle case when action is finished after the notifier is disposed
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive