riverpod_devtools v1.0.0
riverpod_devtools 1.0.0
First stable release. This milestone makes the bundled MCP server a first-class, token-efficient interface for AI coding tools — reading live provider state and driving it — and rounds out the DevTools extension with an interactive dependency graph and a per-provider performance dashboard. The public API (RiverpodDevToolsObserver, the analyzer CLI, the MCP server) is now stable and follows semantic versioning.
Published to pub.dev: https://pub.dev/packages/riverpod_devtools/versions/1.0.0
MCP: a first-class AI interface
set_provider_value— set a provider's state to a specific primitive value (int/double/bool/String/null) for providers with a writable notifier (StateProvider,NotifierProvider); unsupported providers are rejected withsupported: false. Complementsinvalidate_provider(reset tobuild()).- Token-efficient responses — logs/state/graph/stats are compact by default (a realistic log payload is ~¼ the raw size), with a
viewparameter (compact/summary/full),since/untilwindowing on logs, and tool descriptions tightened ~50% (fixed per-session saving). - Robust provider identity — every provider gets a stable, session-unique
instanceIdand anameIsUniqueflag, so same-named providers no longer collide; commands accept a name or an exactinstanceIdand reject ambiguous names with the candidate ids. - In-band uncertainty — cyclic / depth-truncated serialized values now carry
lossy: true, so an AI can tell a placeholder from an accurate reading. - Health stats over MCP —
get_provider_stats(andGET /stats) returns per-provider update rate, async load duration, and dispose→re-create churn. - Multi-app support — the in-app HTTP server binds the first free port in
8788–8797;list_riverpod_appsreports each running app so tools can target one withport.
DevTools extension
- Interactive dependency graph — layered DAG with
watch/read/listenedge styling, status coloring, cycle highlighting, click-to-focus, and pan/zoom. - Performance Stats tab — per-provider update rate (with sparkline), load duration, and churn, flagging hot/slow providers.
- Invalidate / Refresh from the Provider Details panel (and a service extension so it works on any platform).
- Unified selection across Inspector / Graph / Stats, family-instance grouping, session export/import, and event value diffs, plus a batch of click-reliability and layout fixes.
Compatibility
- Supports Riverpod 2.x and 3.x (CI matrix tests both).
- Requires Dart
^3.7.0and Flutter>=3.32.0.
Full changelog: https://github.com/yutsuki3/riverpod_devtools/blob/main/packages/riverpod_devtools/CHANGELOG.md
Full diff: v0.6.1...v1.0.0