riverpod_generator 3.0.0-dev.18
riverpod_generator: ^3.0.0-dev.18 copied to clipboard
A code generator for Riverpod. This both simplifies the syntax empowers it, such as allowing stateful hot-reload.
3.0.0-dev.18 - 2025-09-09 #
- Handle analyzer 8.0
- Fix invalid generated code when a
Notifierusesstatic constas default value for some of itsbuildparameters. - Support records with a single value.
- Set the default for
provider_name_strip_patterntoNotifier$.
3.0.0-dev.17 - 2025-08-01 #
- Fixed a conflict between public and private providers of the same name
- Allow passing
persist(key: ...) - Bump minimum
metaversion - Support
@Riverpod(name: ...) - Add
provider_name_strip_patternbuild option - Bump minimum
metaversion - Support
@Riverpod(name: ...) - Added
MutationState.isPending/isIdle/hasError/isSuccess - fixes various "pause" issues
- Bump minimum
metaversion - Added
AsyncValue.retrying, to check when a retry is scheduled or pending - Exposed the default retry implementation (
ProviderContainer.defaultRetry) - Offline's Storage now is
baseand requires overridingdeleteOutOfDate - Make AsyncValue.copyWithPrevious
@internal. This API was not meant to be public.
3.0.0-dev.16 - 2025-06-20 #
Reworked Mutations to be independent from code-generation
3.0.0-dev.15 - 2025-05-04 #
riverpodupgraded to3.0.0-dev.15
3.0.0-dev.14 - 2025-05-02 #
riverpodupgraded to3.0.0-dev.14riverpod_annotationupgraded to3.0.0-dev.14
3.0.0-dev.13 - 2025-05-01 #
riverpodupgraded to3.0.0-dev.13riverpod_annotationupgraded to3.0.0-dev.13
3.0.0-dev.12 - 2025-04-30 #
-
Breaking Removed support for
@riverpod external int fn();. -
Breaking Family arguments are no-longer available on the
Refobject. 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
@mutationfor further information. -
Added support for
@Riverpod(retry: ...)
2.6.5 - 2025-02-28 #
riverpod_analyzer_utilsupgraded to0.5.10
2.6.4 - 2025-01-08 #
Support latest analyzer
2.6.3 - 2024-11-18 #
riverpod_analyzer_utilsupgraded to0.5.8
2.6.2 - 2024-10-27 #
riverpod_analyzer_utilsupgraded to0.5.7
2.6.1 - 2024-10-22 #
- Support analyzer >=6.7.0 <7.0.0 This should make it compatible with Flutter's stable channel.
2.6.0 - 2024-10-20 #
- Deprecated the generated
Refsubclasses. Instead of:
Do:@riverpod Model foo(FooRef ref) => ..@riverpod Model foo(Ref ref) => ..
2.4.4 - 2024-10-12 #
@Riverpod(dependencies: [...])now respectsbuild.yamloptions
2.4.3 - 2024-08-15 #
riverpod_analyzer_utilsupgraded to0.5.4
2.4.2 - 2024-05-14 #
- Correctly set minimum support analyzer version to 6.5.0
2.4.1 - 2024-05-14 (retracted) #
- Support analyzer 6.5.0
2.4.0 - 2024-03-10 #
- Adds
provider_name_prefixandprovider_family_name_prefixtobuild.yaml. (thanks to @ValentinVignal) - Generated providers are now always
const. - Added support for abstract
buildmethod on Notifiers:
This is equivalent to writing:@riverpod class Example extends _$Example { @override int build(); }@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
@deprecatedeverywhere. - Updated to support latest
riverpod_analyzer_utils
3.0.0-dev.11 - 2023-11-27 #
riverpod_annotationupgraded to3.0.0-dev.3riverpodupgraded to3.0.0-dev.3
3.0.0-dev.10 - 2023-11-20 #
riverpod_annotationupgraded to3.0.0-dev.2riverpodupgraded to3.0.0-dev.2
3.0.0-dev.9 - 2023-11-20 #
- Fix crash when encountering classes with a
ProviderBasefield.
3.0.0-dev.8 - 2023-10-30 #
riverpod_analyzer_utilsupgraded to1.0.0-dev.0
3.0.0-dev.7 - 2023-10-29 #
-
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.overrideWithmissing
3.0.0-dev.5 - 2023-10-21 #
riverpod_analyzer_utilsupgraded to0.4.2
3.0.0-dev.4 - 2023-10-15 #
- Annotating a provider with
@deprecatedand a few other annotations also annotate the generated code accordingly (thanks to @SunlightBro) provider.argumentis now a record of all arguments in a provider.
3.0.0-dev.3 - 2023-10-06 #
riverpod_analyzer_utilsupgraded to0.4.1riverpod_annotationupgraded to2.2.0
3.0.0-dev.2 - 2023-10-02 #
riverpod_analyzer_utilsupgraded to0.4.0
3.0.0-dev.1 - 2023-10-02 #
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 usefn(void Function() myParameter).
2.3.11 - 2024-02-04 #
riverpod_analyzer_utilsupgraded to0.5.1
2.3.10 - 2024-02-03 #
- 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
2.3.9 - 2023-11-27 #
riverpod_annotationupgraded to2.3.3riverpodupgraded to2.4.9
2.3.8 - 2023-11-20 #
riverpod_annotationupgraded to2.3.2riverpodupgraded to2.4.8
2.3.7 - 2023-11-20 #
- Fix crash when encountering classes with a
ProviderBasefield.
2.3.6 - 2023-11-13 #
Fix typos and internal changes
2.3.5 - 2023-10-21 #
riverpod_analyzer_utilsupgraded to0.4.1
2.3.4 - 2023-10-19 (retracted) #
riverpod_analyzer_utilsupgraded to0.4.1
2.3.3 - 2023-09-27 #
riverpod_analyzer_utilsupgraded to0.3.4riverpod_annotationupgraded to2.1.6
2.3.2 - 2023-09-04 #
- Disable
invalid_use_of_visible_for_testing_memberin generated files
2.3.1 - 2023-08-28 #
riverpod_annotationupgraded to2.1.4
2.3.0 - 2023-08-28 #
- The "ref" object now contains the provider parameters too.
This enabled
provider.overrideWithto use the provider arguments:@riverpod int example(ExampleRef ref, {int? id}) { /* */ } // ... exampleProvider.overrideWith( (ref) { print(ref.id); } ) - Fix all
provider.overrideWithcausing a cast error if the notifier receives arguments.
2.2.6 - 2023-08-16 #
- Support both analyzer 5.12.0 and analyzer 6.0.0
2.2.5 - 2023-08-03 #
Support analyzer 6.0.0
2.2.4 - 2023-07-25 #
Disable all lints in generated files.
2.2.3 - 2023-05-12 #
riverpod_analyzer_utilsupgraded to0.3.1
2.2.2 - 2023-05-12 #
- Fix an issue where specifying a dependency on a provider declared in a different file could cause a missing import.
2.2.1 - 2023-04-24 #
riverpod_annotationupgraded to2.1.1
2.2.0 - 2023-04-18 #
- Added support for
Rawtypedef in the return value of providers. This can be used to disable the conversion of Futures/Streams into AsyncValues@riverpod Raw<Future<int>> myProvider(...) async => ...; ... // returns a Future<int> instead of AsyncValue<int> Future<int> value = ref.watch(myProvider);
2.1.6 - 2023-04-07 #
- If a provider has an empty list of dependencies, the generated list is now
const(thanks to @K9i-0)
2.1.5 - 2023-04-06 #
riverpod_annotationupgraded to2.0.3
2.1.4 - 2023-03-13 #
riverpod_analyzer_utilsupgraded to0.2.0riverpod_annotationupgraded to2.0.2
2.1.3 - 2023-03-10 #
- Fixed InconsistentAnalysisException
- Fixed an
Unsupported operation: Unknown type SimpleIdentifierImplcrash
2.1.2 - 2023-03-09 #
riverpod_analyzer_utilsupgraded to0.1.3
2.1.1 - 2023-03-09 #
riverpod_analyzer_utilsupgraded to0.1.2
2.1.0 - 2023-03-09 #
-
Added support for configuring the name of providers with parameters ("families") (thanks to @K9i-0)
-
Deprecate the (new) shorthand syntax for scoping provider using the
externalkeyword. That syntax unfortunately does not work on web and therefore will be removed.
2.0.0 #
- Add support for returning a
Streaminside providers. This is equivalent to creating aStreamProviderusing the "old" syntax. - Bump minimum riverpod_analyzer_utils version
- Fix exception thrown when the analyzed file has some syntax errors.
1.2.0 #
- It is now possible to specify
@Riverpod(dependencies: [...])to scope providers - Marked
@Riverpodas@sealed
1.1.1 #
Upgrade Riverpod to latest
1.1.0 #
- The generated hash function of providers is now correctly private (thanks to @westito)
- Allow customizing the name of the generated providers (thanks to @trejdych)
- Update dependencies.
1.0.6 #
Upgrade Riverpod to latest
1.0.5 #
- Upgrade Riverpod and annotation package to latest
1.0.2 #
- Update a dependency to the latest release.
1.0.1 #
Fix version conflict with Riverpod
1.0.0 #
Initial release