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.