Skip to content

riverpod_devtools v1.0.0

Choose a tag to compare

@yutsuki3 yutsuki3 released this 14 Jul 04:24
· 47 commits to main since this release
2eb9790

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 with supported: false. Complements invalidate_provider (reset to build()).
  • Token-efficient responses — logs/state/graph/stats are compact by default (a realistic log payload is ~¼ the raw size), with a view parameter (compact/summary/full), since/until windowing on logs, and tool descriptions tightened ~50% (fixed per-session saving).
  • Robust provider identity — every provider gets a stable, session-unique instanceId and a nameIsUnique flag, so same-named providers no longer collide; commands accept a name or an exact instanceId and 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 MCPget_provider_stats (and GET /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 87888797; list_riverpod_apps reports each running app so tools can target one with port.

DevTools extension

  • Interactive dependency graph — layered DAG with watch/read/listen edge 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.0 and 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