mirror of
https://github.com/rrousselGit/riverpod.git
synced 2025-08-16 11:20:55 +08:00

## Related Issues Mutations are reworked to be independent from notifiers and do not require code-gen. ## Checklist Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes (`[x]`). - [x] I have updated the `CHANGELOG.md` of the relevant packages. Changelog files must be edited under the form: ```md ## Unreleased fix/major/minor - Description of your change. (thanks to @yourGithubId) ``` - [x] If this contains new features or behavior changes, I have updated the documentation to match those changes. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a new mutation system that no longer requires code generation, enabling UI to react to side-effects with loading, success, and error states. - Added experimental mutation APIs to Riverpod, Flutter Riverpod, and Hooks Riverpod packages for enhanced state management. - Included new mixins and interfaces to simplify creating custom provider listenables. - Added widget test helpers and improved mutation state matchers for testing. - **Bug Fixes** - Enhanced error handling and reporting during mutation lifecycle events. - Fixed issues with Notifier lifecycle and provider observer context related to mutations. - **Refactor** - Removed legacy mutation annotation logic and related code from analyzer, generator, and annotation packages. - Simplified generated provider classes by removing explicit element creation overrides. - Updated internal APIs to replace `MutationContext` with direct `Mutation` usage and adjusted related observer interfaces. - **Documentation** - Revised mutation feature documentation to reflect new API design without code generation. - Corrected migration guide links and updated changelogs to reflect annotation and mutation system changes. - **Tests** - Added extensive mutation tests covering state transitions, concurrency, reset behavior, and observer notifications. - Improved test utilities with new matchers for mutation states and context. - **Chores** - Removed obsolete mutation-related test files, templates, and internal annotation handling to maintain codebase clarity. <!-- end of auto-generated comment: release notes by coderabbit.ai -->