PackageTrack
Sign in Get early access

riverpod_generator

A code generator for Riverpod. This both simplifies the syntax empowers it, such as allowing stateful hot-reload.

4.0.8 890K downloads/mo #376 most downloaded on pub.dev rrousselGit/riverpod

What this package is like to depend on

Last release 26 days ago

28 Jul 2026

Ships fairly regularly

a new release about every 5 weeks

Nearly every release is documented

notes for 57 of 58 stable releases

5 versions withdrawn

withdrawn after publishing

4 years old

82 releases · first in 2022

17 releases in the last 12 months

see the full history below

Release timeline

82 releases · Sep 2022 to Jul 2026
2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 60 of 82
  1. 4.0.8 28 Jul 2026
    Release notes

    riverpod_annotation : 4.0.5 -> 4.0.6
    riverpod_sqflite : 0.4.5 -> 0.4.6
    riverpod_generator : 4.0.7 -> 4.0.8
    flutter_riverpod : 3.4.1 -> 3.4.2
    riverpod_lint : 3.1.7 -> 3.1.8
    hooks_riverpod : 3.4.1 -> 3.4.2

    Open source →
    Release notes

    Dependency changes

    • riverpod_annotation upgraded to 4.0.6
    Open source →
  2. 4.0.7 27 Jul 2026
    Release notes

    riverpod_generator : 4.0.6 -> 4.0.7
    riverpod_lint : 3.1.6 -> 3.1.7

    Open source →
    Release notes

    Dependency changes

    • riverpod_analyzer_utils upgraded to 1.0.0-dev.11
    Open source →
  3. 4.0.6 26 Jul 2026
    Release notes

    Dependency changes

    • riverpod_annotation upgraded to 4.0.5
    Open source →
  4. 4.0.4 10 Jun 2026
    Release notes
    • Fix AsyncNotifierProvider/StreamNotifierProvider disposing dependencies watched after an asynchronous gap during rebuild. (thanks to @a1573595)

    Dependency changes

    • riverpod_annotation upgraded to 4.0.3
    Open source →
  5. 4.0.4-dev.3 06 May 2026 pre-release
    Release notes

    Dependency changes

    • riverpod_annotation upgraded to 4.0.3-dev.2
    Open source →
  6. 4.0.4-dev.2 03 May 2026 pre-release
    Release notes

    Upgrade riverpod

    Dependency changes

    • riverpod_annotation upgraded to 4.0.3-dev.1
    Open source →
  7. 4.0.4-dev.1 23 Apr 2026 pre-release
    Release notes

    Support analyzer 12

    Dependency changes

    • riverpod_analyzer_utils upgraded to 1.0.0-dev.10
    Open source →
  8. 4.0.3 03 Feb 2026
    Release notes

    Dependency changes

    • riverpod_annotation upgraded to 4.0.2
    Open source →
  9. 4.0.2 17 Jan 2026
    Release notes

    Dependency changes

    • riverpod_analyzer_utils upgraded to 1.0.0-dev.9
    Open source →
  10. 4.0.1 17 Jan 2026
    Release notes

    Dependency changes

    • riverpod_annotation upgraded to 4.0.1
    Open source →
  11. 4.0.0 26 Dec 2025 withdrawn
    Release notes
    • Generated providers are no-longer constant
    • Fix a bug when using Class.staticVariable as parameter to @Riverpod(retry: ...)
    • Fix Notifiers returning a Future<void>
    • Fix providers from part files not being generated (thanks to @tguerin)
    Open source →
  12. 4.0.0+1 28 Dec 2025
    Release notes

    Fixed dependency issue

    Open source →
  13. 3.0.3 09 Oct 2025
    Release notes
    • riverpod upgraded to 3.0.3
    • riverpod_annotation upgraded to 3.0.3
    Open source →
  14. 3.0.2 07 Oct 2025
    Release notes
    • riverpod upgraded to 3.0.2
    • riverpod_annotation upgraded to 3.0.2
    Open source →
  15. 3.0.1 30 Sep 2025
    Release notes
    • Now supports Dart 3.7.0
    Open source →
  16. 3.0.0 10 Sep 2025
    Release notes

    Finally, a stable release for Riverpod 3.0!

    For the full changelog, check out https://riverpod.dev/docs/whats_new

    Open source →
  17. 3.0.0-dev.18 09 Sep 2025 pre-release
    Release notes
    • Fix invalid generated code when a Notifier uses static const as default value for some of its build parameters.
    • Support records with a single value.
    • Set the default for provider_name_strip_pattern to Notifier$.
    Open source →
  18. 3.0.0-dev.17 01 Aug 2025 pre-release
    Release notes
    • Fixed a conflict between public and private providers of the same name
    • Allow passing persist(key: ...)
    • Bump minimum meta version
    • Support @Riverpod(name: ...)
    • Add provider_name_strip_pattern build option
    • Bump minimum meta version
    • Support @Riverpod(name: ...)
    • Added MutationState.isPending/isIdle/hasError/isSuccess
    • fixes various "pause" issues
    • Bump minimum meta version
    • Added AsyncValue.retrying, to check when a retry is scheduled or pending
    • Exposed the default retry implementation (ProviderContainer.defaultRetry)
    • Offline's Storage now is base and requires overriding deleteOutOfDate
    • Make AsyncValue.copyWithPrevious @internal. This API was not meant to be public.
    Open source →
  19. 3.0.0-dev.16 20 Jun 2025 pre-release
    Release notes

    Reworked Mutations to be independent from code-generation

    Open source →
  20. 3.0.0-dev.15 04 May 2025 pre-release
    Release notes
    • riverpod upgraded to 3.0.0-dev.15
    Open source →
  21. 3.0.0-dev.14 02 May 2025 pre-release
    Release notes
    • riverpod upgraded to 3.0.0-dev.14
    • riverpod_annotation upgraded to 3.0.0-dev.14
    Open source →
  22. 3.0.0-dev.13 01 May 2025 pre-release
    Release notes
    • riverpod upgraded to 3.0.0-dev.13
    • riverpod_annotation upgraded to 3.0.0-dev.13
    Open source →
  23. 3.0.0-dev.12 30 Apr 2025 pre-release
    Release notes
    • Breaking Removed support for @riverpod external int fn();.

    • Breaking Family arguments are no-longer available on the Ref object. The various override methods now take two parameters:

      @riverpod
      String example(Ref ref, int arg, {required int anotherArg}) {...}
      // ...
      exampleProvider.overrideWith(
        (ref, ({int arg, int anotherArg}) args) {
      
        }
      )
      
    • Added support for mutations. See also @mutation for further information.

    • Added support for @Riverpod(retry: ...)

    Open source →
  24. 3.0.0-dev.11 27 Nov 2023 pre-release
    Release notes
    • riverpod_annotation upgraded to 3.0.0-dev.3
    • riverpod upgraded to 3.0.0-dev.3
    Open source →
  25. 3.0.0-dev.10 20 Nov 2023 pre-release
    Release notes
    • riverpod_annotation upgraded to 3.0.0-dev.2
    • riverpod upgraded to 3.0.0-dev.2
    Open source →
  26. 3.0.0-dev.9 20 Nov 2023 pre-release
    Release notes
    • Fix crash when encountering classes with a ProviderBase field.
    Open source →
  27. 3.0.0-dev.8 30 Oct 2023 pre-release
    Release notes
    • riverpod_analyzer_utils upgraded to 1.0.0-dev.0
    Open source →
  28. 3.0.0-dev.7 29 Oct 2023 pre-release
    Release notes
    • Providers can now be generic:

      @riverpod
      List<T> example<T extends num>(ExampleRef<T> ref) {
        return <T>[];
      }
      
      @riverpod
      class ClassExample<T> extends _$ClassExample<T> {
        @override
        List<T> build() => <T>[];
      }
      

      Specifying type parameters works the same as specifying arguments, and make the generated provider a "function":

      ref.watch(example<int>());
      
    • Upgraded to use Riverpod 3.0

    • Fixed family.overrideWith missing

    Open source →
  29. 3.0.0-dev.6 28 Oct 2023 pre-release

    Nothing published for this version

  30. 3.0.0-dev.5 21 Oct 2023 pre-release
    Release notes
    • riverpod_analyzer_utils upgraded to 0.4.2
    Open source →
  31. 3.0.0-dev.4 15 Oct 2023 pre-release withdrawn
    Release notes
    • Annotating a provider with @deprecated and a few other annotations also annotate the generated code accordingly (thanks to @SunlightBro)
    • provider.argument is now a record of all arguments in a provider.
    Open source →
  32. 3.0.0-dev.3 05 Oct 2023 pre-release
    Release notes
    • riverpod_analyzer_utils upgraded to 0.4.1
    • riverpod_annotation upgraded to 2.2.0
    Open source →
  33. 3.0.0-dev.2 02 Oct 2023 pre-release
    Release notes
    • riverpod_analyzer_utils upgraded to 0.4.0
    Open source →
  34. 3.0.0-dev.1 02 Oct 2023 pre-release withdrawn
    Release notes

    The code generator now supports import aliases, generated types and typedefs as input of providers!.

    This comes with a few minor restrictions:

    • Breaking: Returning a Typedef or type Future/FutureOr/Stream is no-longer supported:

      typedef Example = Future<int>;
      
      @riverpod
      Example foo(FooRef ref) async => 0;
      
    • Breaking: Arguments of the form fn(void myParameter()) are no-longer supported. Instead use fn(void Function() myParameter).

    Open source →
  35. 2.6.5 28 Feb 2025
    Release notes
    • riverpod_analyzer_utils upgraded to 0.5.10
    Open source →
  36. 2.6.4 08 Jan 2025
    Release notes

    Support latest analyzer

    Open source →
  37. 2.6.3 18 Nov 2024
    Release notes
    • riverpod_analyzer_utils upgraded to 0.5.8
    Open source →
  38. 2.6.2 27 Oct 2024
    Release notes
    • riverpod_analyzer_utils upgraded to 0.5.7
    Open source →
  39. 2.6.1 22 Oct 2024
    Release notes
    • Support analyzer >=6.7.0 <7.0.0 This should make it compatible with Flutter's stable channel.
    Open source →
  40. 2.6.0 20 Oct 2024
    Release notes
    • Deprecated the generated Ref subclasses. Instead of:
      @riverpod
      Model foo(FooRef ref) => ..
      
      Do:
      @riverpod
      Model foo(Ref ref) => ..
      
    Open source →
  41. 2.4.4 12 Oct 2024
    Release notes
    • @Riverpod(dependencies: [...]) now respects build.yaml options
    Open source →
  42. 2.4.3 18 Aug 2024
    Release notes
    • riverpod_analyzer_utils upgraded to 0.5.4
    Open source →
  43. 2.4.2 14 May 2024
    Release notes
    • Correctly set minimum support analyzer version to 6.5.0
    Open source →
  44. 2.4.1 14 May 2024 withdrawn
    Release notes
    • Support analyzer 6.5.0
    Open source →
  45. 2.4.0 10 Mar 2024
    Release notes
    • Adds provider_name_prefix and provider_family_name_prefix to build.yaml. (thanks to @ValentinVignal)
    • Generated providers are now always const.
    • Added support for abstract build method on Notifiers:
      @riverpod
      class Example extends _$Example {
        @override
        int build();
      }
      
      This is equivalent to writing:
      @Riverpod(dependencies: [])
      class Example extends _$Example {
        @override
        int build() => throw UnimplementedError();
      }
      
    • Added support for documentation and annotations on providers/parameters. Comments on providers and family parameters will be injected in the generated code, for IDE documentation in the relevant places. Annotations will be pasted over, such as to mark parameters as @deprecated everywhere.
    • Updated to support latest riverpod_analyzer_utils
    Open source →
  46. 2.3.11 04 Feb 2024
    Release notes
    • riverpod_analyzer_utils upgraded to 0.5.1
    Open source →
  47. 2.3.10 03 Feb 2024
    Release notes
    • Improved error handling if:
      • a Notifier has no default constructor
      • a Notifier has has a default constructor but with required parameters
      • a Notifier is abstract
    Open source →
  48. 2.3.9 26 Nov 2023
    Release notes
    • riverpod_annotation upgraded to 2.3.3
    • riverpod upgraded to 2.4.9
    Open source →
  49. 2.3.8 20 Nov 2023
    Release notes
    • riverpod_annotation upgraded to 2.3.2
    • riverpod upgraded to 2.4.8
    Open source →
  50. 2.3.7 20 Nov 2023
    Release notes
    • Fix crash when encountering classes with a ProviderBase field.
    Open source →
  51. 2.3.6 13 Nov 2023
    Release notes

    Fix typos and internal changes

    Open source →
  52. 2.3.5 21 Oct 2023
    Release notes
    • riverpod_analyzer_utils upgraded to 0.4.1
    Open source →
  53. 2.3.4 19 Oct 2023 withdrawn
    Release notes
    • riverpod_analyzer_utils upgraded to 0.4.1
    Open source →
  54. 2.3.3 27 Sep 2023
    Release notes
    • riverpod_analyzer_utils upgraded to 0.3.4
    • riverpod_annotation upgraded to 2.1.6
    Open source →
  55. 2.3.2 04 Sep 2023
    Release notes
    • Disable invalid_use_of_visible_for_testing_member in generated files
    Open source →
  56. 2.3.1 28 Aug 2023
    Release notes
    • riverpod_annotation upgraded to 2.1.4
    Open source →
  57. 2.3.0 28 Aug 2023
    Release notes
    • The "ref" object now contains the provider parameters too. This enabled provider.overrideWith to use the provider arguments:
      @riverpod
      int example(ExampleRef ref, {int? id}) { /* */ }
      // ...
      exampleProvider.overrideWith(
        (ref) {
          print(ref.id);
        }
      )
      
    • Fix all provider.overrideWith causing a cast error if the notifier receives arguments.
    Open source →
  58. 2.2.6 16 Aug 2023
    Release notes
    • Support both analyzer 5.12.0 and analyzer 6.0.0
    Open source →
  59. 2.2.5 03 Aug 2023
    Release notes

    Support analyzer 6.0.0

    Open source →
  60. 2.2.4 25 Jul 2023
    Release notes

    Disable all lints in generated files.

    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