name: riverpod-migration description: Migrate Riverpod from StateNotifier to Notifier/AsyncNotifier, from ChangeNotifier to AsyncNotifier, or upgrade from 0.13/0.14/1.0; ref.onDispose, family, lifecycle, riverpod migrate CLI. Use when the user asks about migrating from StateNotifier, from ChangeNotifier, upgrading Riverpod 0.13 to 0.14, 0.14 to 1.0, or Riverpod migration guides.
Riverpod — Migration guides
Instructions
This skill points to detailed migration guides for different scenarios. Use the reference file that matches your case.
When to use which guide
| Scenario | Reference |
|---|---|
| From StateNotifier to Notifier / AsyncNotifier | migration_from_state_notifier.md |
| From ChangeNotifier to AsyncNotifier | migration_from_change_notifier.md |
| Upgrade 0.13.x → 0.14.x (StateNotifierProvider syntax, watch(provider) vs provider.state) | migration_0_13_0_14.md |
| Upgrade 0.14.x → 1.0 (ScopedReader → WidgetRef, useProvider → ref.watch, StateProvider) | migration_0_14_1_0.md |
For Riverpod 2.0 → 3.0 see the riverpod-3-0-migration skill.
Common themes
- StateNotifier → Notifier/AsyncNotifier: Put init logic in
build; useref.onDisposeinstead of overloadingdispose; nomounted—use cancellation (e.g. Completer or HTTP cancel token). Consumers stay the same (ref.watch, methods on notifier). - ChangeNotifier → AsyncNotifier: Replace
isLoading/hasError/manual try-catch withAsyncValue; singlestate; mutations by reassigningstate. - CLI: For 0.14 and 1.0 upgrades you can run
dart pub global activate riverpod_clithenriverpod migratein the project (do not upgrade Riverpod manually first; the tool will suggest version and changes).
Open the relevant reference file for step-by-step instructions and code examples.