riverpod_devtools v1.1.1
Patch release: two crash/correctness fixes plus documentation improvements. No API changes.
-
Fix: non-finite numbers no longer crash the observer. A provider value containing
double.infinity,double.negativeInfinity, ordouble.nancould throw an uncaughtConverting object to an encodable object failed: Infinityfromdeveloper.postEvent, because those are validnums that Dart'sjson.encode(with notoEncodablefallback) rejects. Both routes that let a non-finite number reach the payload are now sealed: thetoJson()sanitizer (_jsonSafe) rewrites non-finite doubles to their string form ("Infinity"/"-Infinity"/"NaN"), and thetoString()parser no longer turnsnum.tryParse('Infinity')into a live non-finite double (it keeps the original string). Finite numbers are unaffected. (#111) -
Fix:
dart run riverpod_devtools:analyzenow detects@riverpodcode-generated providers. The analyzer previously only recognized hand-writtenfinal xProvider = SomeProvider(...)top-level declarations. Apps usingriverpod_generator(@riverpodfunctions/classes) got zero matching static metadata for those providers — even thoughriverpod_dependencies.jsonloaded successfully, every runtime event for them reporteddependenciesSource: 'name_mismatch', since the generated provider variable (in the excluded.g.dartfile) never appeared in the analyzer's output.@riverpod/@Riverpod(...)-annotated functions and classes are now recognized in the source file, and named usingriverpod_generator's own convention (<lowerCamelCase(name)>Provider), so their static dependencies attach correctly at runtime. (#105) -
Docs: MCP setup for monorepo / subdirectory / FVM Flutter apps.
MCP.mdnow documents the shell-wrapper.mcp.jsonconfig needed when the Flutter package (the one depending onriverpod_devtools) lives below the directory.mcp.jsonis read from — a common monorepo layout — including an FVM example (fvm dart run ...). (#106) -
Docs: MCP connection diagnostics.
TROUBLESHOOTING.md's MCP Issues section now leads with a quick diagnostic checklist (debug mode, observer registered,curl .../pinghealth check with the expected response shape, running from the right package directory, MCP client restarted after.mcp.jsonchanges) so a broken setup can be isolated to app-side vs. MCP-client-side without guesswork.MCP.mdnow calls out that most MCP clients only read.mcp.jsonat startup, so tools added mid-session need a client restart/reload. (#107)
Published to pub.dev: https://pub.dev/packages/riverpod_devtools/versions/1.1.1