-
The
AggregationFormulaandCoalesceFormulatypes and theFormulatrait are replaced by a singleFormulastruct. The*_formulamethods all returnFormulanow; combine formulas with+,-, and theFormula::coalesce/min/maxmethods. -
Graph validation failures are now reported as
ErrorKind::ValidationErrors(Vec<ValidationError>)rather than flattened into a singleInvalidGrapherror. TheirDisplaychanged accordingly: each failure is listed on its own line under aGraph validation failed:header, without the old per-lineInvalidGraph:prefixes.
ErrorKindandValidationErrorare now public.Error::kind()exposes the kind, and eachValidationErrorreports itsmessage()and thecomponent_ids()it involves, so individual validation failures (including detected cycles) can be inspected programmatically instead of parsed from a string.
- Fixed double-counting of a component fed by multiple parallel meters (a diamond topology): it is now measured as a single diamond term instead of once per parent meter.