NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #391 most downloaded on pub.dev
A code generator for Riverpod. This both simplifies the syntax empowers it, such as allowing stateful hot-reload.
Last release 1 months ago
03 Sep 2026
Ships fairly regularly
a new release about every 5 weeks
Nearly every release is documented
notes for 58 of 59 stable releases
5 versions withdrawn
withdrawn after publishing
4 years old
83 releases · first in 2022
One column per quarter.
riverpod_analyzer_utils : 1.0.0-dev.11 -> 1.0.0-dev.12 riverpod : 3.4.2 -> 3.4.3 riverpod_annotation : 4.0.6 -> 4.0.7 riverpod_sqflite : 0.4.6 -> 0.4.
riverpod_analyzer_utils : 1.0.0-dev.11 -> 1.0.0-dev.12
riverpod : 3.4.2 -> 3.4.3
riverpod_annotation : 4.0.6 -> 4.0.7
riverpod_sqflite : 0.4.6 -> 0.4.7
riverpod_generator : 4.0.8 -> 4.0.9
flutter_riverpod : 3.4.2 -> 3.4.3
riverpod_lint : 3.1.8 -> 3.1.9
hooks_riverpod : 3.4.2 -> 3.4.3
analyzer to <15.0.0riverpod_analyzer_utils upgraded to 1.0.0-dev.12riverpod_annotation upgraded to 4.0.7riverpod_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_
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
riverpod_generator : 4.0.6 -> 4.0.7 riverpod_lint : 3.1.6 -> 3.1.7
riverpod_generator : 4.0.6 -> 4.0.7
riverpod_lint : 3.1.6 -> 3.1.7
riverpod_annotation upgraded to 4.0.5
riverpod_annotation upgraded to 4.0.5Fix AsyncNotifierProvider/StreamNotifierProvider disposing dependencies watched after an asynchronous gap during rebuild. (thanks to @a1573595)
AsyncNotifierProvider/StreamNotifierProvider disposing dependencies
watched after an asynchronous gap during rebuild. (thanks to @a1573595)riverpod_annotation upgraded to 4.0.3riverpod_annotation upgraded to 4.0.3-dev.2
riverpod_annotation upgraded to 4.0.3-dev.2riverpod_annotation upgraded to 4.0.3-dev.1
Upgrade riverpod
riverpod_annotation upgraded to 4.0.3-dev.1riverpod_analyzer_utils upgraded to 1.0.0-dev.10
Support analyzer 12
riverpod_analyzer_utils upgraded to 1.0.0-dev.10riverpod_annotation upgraded to 4.0.2
riverpod_annotation upgraded to 4.0.2riverpod_analyzer_utils upgraded to 1.0.0-dev.9
riverpod_analyzer_utils upgraded to 1.0.0-dev.9riverpod_annotation upgraded to 4.0.1
riverpod_annotation upgraded to 4.0.1Generated providers are no-longer constant
Class.staticVariable as parameter to @Riverpod(retry: ...)Future<void>Fixed dependency issue
Fixed dependency issue
riverpod_annotation upgraded to 3.0.3
riverpod upgraded to 3.0.3riverpod_annotation upgraded to 3.0.3riverpod_annotation upgraded to 3.0.2
riverpod upgraded to 3.0.2riverpod_annotation upgraded to 3.0.2- Now supports Dart 3.7.0
Finally, a stable release for Riverpod 3.0!
Finally, a stable release for Riverpod 3.0!
For the full changelog, check out https://riverpod.dev/docs/whats_new
Fix invalid generated code when a Notifier uses static const as default value for some of its build parameters.
Notifier uses static const as default value for some of its build parameters.provider_name_strip_pattern to Notifier$.Fixed a conflict between public and private providers of the same name
persist(key: ...)meta version@Riverpod(name: ...)provider_name_strip_pattern build optionmeta version@Riverpod(name: ...)MutationState.isPending/isIdle/hasError/isSuccessmeta versionAsyncValue.retrying, to check when a retry is scheduled or pendingProviderContainer.defaultRetry)base and requires overriding deleteOutOfDate@internal.
This API was not meant to be public.Reworked Mutations to be independent from code-generation
Reworked Mutations to be independent from code-generation
riverpod upgraded to 3.0.0-dev.15
riverpod upgraded to 3.0.0-dev.15riverpod upgraded to 3.0.0-dev.14
riverpod upgraded to 3.0.0-dev.14riverpod_annotation upgraded to 3.0.0-dev.14riverpod upgraded to 3.0.0-dev.13
riverpod upgraded to 3.0.0-dev.13riverpod_annotation upgraded to 3.0.0-dev.13Breaking Removed support for @riverpod external int fn();.
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: ...)
riverpod_annotation upgraded to 3.0.0-dev.3
riverpod_annotation upgraded to 3.0.0-dev.3riverpod upgraded to 3.0.0-dev.3riverpod_annotation upgraded to 3.0.0-dev.2
riverpod_annotation upgraded to 3.0.0-dev.2riverpod upgraded to 3.0.0-dev.2Fix crash when encountering classes with a ProviderBase field.
ProviderBase field.riverpod_analyzer_utils upgraded to 1.0.0-dev.0
riverpod_analyzer_utils upgraded to 1.0.0-dev.0```dart @riverpod List example (ExampleRef ref) { return []; }
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
Nothing published for this version
riverpod_analyzer_utils upgraded to 0.4.2
riverpod_analyzer_utils upgraded to 0.4.2Annotating a provider with @deprecated and a few other annotations also annotate the generated code accordingly (thanks to @SunlightBro)
@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.riverpod_analyzer_utils upgraded to 0.4.1
riverpod_analyzer_utils upgraded to 0.4.1riverpod_annotation upgraded to 2.2.0riverpod_analyzer_utils upgraded to 0.4.0
riverpod_analyzer_utils upgraded to 0.4.0The code generator now supports import aliases, generated types and typedefs as input of providers!.
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).
riverpod_analyzer_utils upgraded to 0.5.10
riverpod_analyzer_utils upgraded to 0.5.10Support latest analyzer
Support latest analyzer
riverpod_analyzer_utils upgraded to 0.5.8
riverpod_analyzer_utils upgraded to 0.5.8riverpod_analyzer_utils upgraded to 0.5.7
riverpod_analyzer_utils upgraded to 0.5.7Support analyzer >=6.7.0 <7.0.0 This should make it compatible with Flutter's stable channel.
Deprecated the generated Ref subclasses. Instead of: `dart @riverpod Model foo(FooRef ref) => .. Do: dart @riverpod Model foo(Ref ref) => .. `
Ref subclasses.
Instead of:@riverpod
Model foo(FooRef ref) => ..
Do:@riverpod
Model foo(Ref ref) => ..
@Riverpod(dependencies: [...]) now respects build.yaml options
@Riverpod(dependencies: [...]) now respects build.yaml optionsriverpod_analyzer_utils upgraded to 0.5.4
riverpod_analyzer_utils upgraded to 0.5.4Correctly set minimum support analyzer version to 6.5.0
- Support analyzer 6.5.0
Annotations will be pasted over, such as to mark parameters as @deprecated everywhere.
provider_name_prefix and provider_family_name_prefix to build.yaml. (thanks to @ValentinVignal)const.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();
}
@deprecated everywhere.riverpod_analyzer_utilsriverpod_analyzer_utils upgraded to 0.5.1
riverpod_analyzer_utils upgraded to 0.5.1a Notifier has no default constructor
riverpod_annotation upgraded to 2.3.3
riverpod_annotation upgraded to 2.3.3riverpod upgraded to 2.4.9riverpod_annotation upgraded to 2.3.2
riverpod_annotation upgraded to 2.3.2riverpod upgraded to 2.4.8Fix crash when encountering classes with a ProviderBase field.
ProviderBase field.Fix typos and internal changes
Fix typos and internal changes
riverpod_analyzer_utils upgraded to 0.4.1
riverpod_analyzer_utils upgraded to 0.4.1riverpod_analyzer_utils upgraded to 0.4.1
riverpod_analyzer_utils upgraded to 0.4.1riverpod_analyzer_utils upgraded to 0.3.4
riverpod_analyzer_utils upgraded to 0.3.4riverpod_annotation upgraded to 2.1.6Disable invalid_use_of_visible_for_testing_member in generated files
invalid_use_of_visible_for_testing_member in generated filesriverpod_annotation upgraded to 2.1.4
riverpod_annotation upgraded to 2.1.4The "ref" object now contains the provider parameters too. This enabled provider.overrideWith to use the provider arguments: `dart @riverpod int examp
provider.overrideWith to use the provider arguments:@riverpod
int example(ExampleRef ref, {int? id}) { /* */ }
// ...
exampleProvider.overrideWith(
(ref) {
print(ref.id);
}
)
provider.overrideWith causing a cast error if the notifier
receives arguments.Support both analyzer 5.12.0 and analyzer 6.0.0
Support analyzer 6.0.0
Support analyzer 6.0.0
Your coding agent can read these notes before it upgrades. Set up the MCP server →