better_effect_analyzer 0.3.0
better_effect_analyzer 0.3.0
- The graph checker now recognizes Modules passed directly to
Runtime.runWith,runExitWith, andexecuteWithas execution overlays. - Execution Modules may declare requirements supplied by the root Runtime while
retaining duplicate, compatibility, cycle, and local resource-order checks. - Added explicit
Module.completeroot discovery while retaining inferred roots
and CLI--moduleselection for existing projects. - Complete-root missing-service diagnostics now point to the composition root and
include the dependency path that reaches the missing service. - Added default lifecycle warnings for locally unowned Runtimes and discarded
EffectExecutionhandles. - Added opt-in lints for unowned Flutter Commands, local Runtime use after close,
and visible application roots not yet marked withModule.complete. - Added safe quick fixes for complete-root migration, observing or returning an
execution Exit, local Runtime try/finally ownership, and local Command
ownership. - The graph CLI now emits the same lifecycle codes and messages as the IDE plugin,
including standard local and file-level suppression support. - Added the immutable, versioned
BetterEffectGraphpublic model with stable
Module, provider, service, dependency, diagnostic, root, lifetime, key, and
source-location projections. - Added graph export in text, JSON, DOT, and Mermaid, plus SARIF diagnostics for
CI code-scanning integrations. - Added
--explain,--why,--unused,--schema-version, and file-output
support to the graph CLI while preserving existing diagnostic output shapes. - Added conservative complete-root reachability queries, deterministic renderers,
embedded Dart APIs, schema negotiation, documentation, and CLI/API tests.
Full changelog: better_effect_analyzer-v0.2.0...better_effect_analyzer-v0.3.0