Skip to content

WireDoctor 1.2.0 β€” Architectural Boundaries & Dev Feedback

Latest

Choose a tag to compare

@ddsha441981 ddsha441981 released this 10 Oct 18:46
· 10 commits to main since this release
86e50ea

WireDoctor 1.2.0 β€” Architectural Boundaries & Dev Feedback

✨ New

  • Module Boundaries (opt-in). Declare your modules by package prefix and WireDoctor flags every edge that reaches from one module into another module's internal (non-API) package β€” hidden coupling that compiles fine but quietly erodes modularity. Read from the resolved bean graph; surfaced in the console, in wiredoctor-report.json (boundaryViolations), and a new Boundaries tab in the HTML report. Zero overhead when off.
  • boundary-violation CI gate. wiredoctor.fail-on=boundary-violation fails the build on a cross-module violation β€” no baseline needed, it trips on the current graph the first time one appears. The verdict is also written to wiredoctor-gate.status, so CI can gate even where the JVM exit code is unreliable (e.g. spring-boot:run).
  • DevTools restart diff. With spring-boot-devtools on the classpath, each restart logs a one-line diff vs the previous run β€” new/resolved cycles, new slow beans, startup-time delta, bean-count change β€” architectural drift caught as you type. Console-only, dev-only.

πŸ”§ Fixed

  • Deterministic boundaryViolations ordering β€” stable order (by module, then bean), so committed reports and build logs no longer reshuffle between runs.
  • Publisher metadata β€” the POM now declares <organization>, so the artifact carries a proper Implementation-Vendor instead of "unknown".

πŸ“– Docs

βœ… Compatibility

Spring Boot 2.7.18 β†’ 4.1.1 Γ— Java 17 / 21 / 25 β€” 294 tests green.

Maven: io.github.ddsha441981:wiredoctor-autoconfigure:1.2.0 Β· Docs β†’ https://ddsha441981.github.io/wiredoctor/