Release
v3.0.0
one pane of glassArgus 3.0 replaces four overlapping config blocks with two — libraries and couplings — so a library's whole policy lives in one place. The new schema compiles down to the same proven engine, so a v3 config produces identical remediations to its 2.x equivalent. The startup error carries the full field map.
Highlights
- 01
Unified configuration
offlimits, ceilings, complications and delegation become libraries: (per-coordinate policy) and couplings: (trigger-driven waves). Contradictions that 2.x tolerated silently are now load errors that name the offending entry.
- 02
Behaviour is unchanged
The 3.0 schema compiles down to the same internal structures the engine already used; a v3 config and its 2.x equivalent produce byte-identical planning output, proven by a compile-down parity test on a real project.
- 03
Guided migration
Configs using a 2.x policy block are refused at startup with an error carrying the 2.x-to-3.0 field map. Empty and registry-only configs are unaffected.
- 04
Bump + exclude no longer crashes
A dependency both version-bumped and carrying a transitive exclusion (the common commons-text to commons-lang3 shape) used to abort the whole run; co-located edits now compose sequentially. Pre-existing since 2.x.
Full notes
Changed
- Unified config.yml schema (libraries + couplings); 2.x policy blocks refused at startup with the field map inline (ADR-044).
Fixed
- Co-located POM edits (bump + exclusion on one dependency) compose sequentially instead of crashing the final pass.
- Patches preserve the source POM's line endings (no mixed CRLF/LF).