News
Release notes and updates from the Snow-White project.
Release 2.3.0: a JDK 27 runtime, still built for Java 25
The JVM service images move to Temurin 27. The bytecode target does not move — the published artifacts are still compiled for Java 25, so consumers still only need a JDK 25. No Java source changed in this release, which is the point: if something looks wrong on it, 2.2.0 is the release to compare against.
Release 2.2.0: a waived pass never reads like a covered one
2.0.0 accepted waivers and deliberately changed nothing — it said so in writing. 2.1.0 made them resolve against the findings a calculation emitted, and 2.2.0 makes a waived pass impossible to mistake for a covered one. The increment behind #2009 is closed.
Release 2.0.0: the gate stops grading on a curve
A quality gate used to pass when enough of its criteria passed. Six criteria at 80% tolerated one outright failure, and `basic-coverage` had quietly stopped measuring whether your tests reached your paths at all. 2.0.0 makes the bar a floor under every criterion, puts path coverage back, and publishes the threshold each report was actually scored against.
Release 1.13.0: evidence you can see — and keep
1.12.0 put findings underneath every coverage ratio but gave you no way to look at them. 1.13.0 adds the drilldown that does, plus two ways to take the whole report with you: a download button in the UI and `--report-output` in the CLI.
Release 1.12.0: coverage that proves what it measured
Every coverage ratio Snow-White reports is now backed by findings — the exact spec locations it checked, whether each was covered, and the traces (and, if you want, the tests) that covered them. The UI to browse them is next; the data is already there.
Release 1.11.0: retracing requirements with clew, and Tempo queries that stop scaling with trace count
We used @ariadne-thread/clew to retrace requirements against the actual implementation across our most important microservices, turning up real spec drift and a handful of user-facing bugs along the way — and while we were in there, Tempo's per-trace fetch became a single request, independent of how many traces match.
Release 1.10.0: agentic CLI mode, the skill as an APM package, and Tempo v2
Snow-White now speaks a language coding agents can parse directly, the Claude Code skill installs as a proper APM package, and Grafana Tempo queries move to the v2 trace API for compatibility with newer backends.
Release 1.9.0: bring your own tracing backend, cut Kubernetes costs
Already running your own OpenTelemetry pipeline or Grafana Tempo? 1.9.0 lets you disable Snow-White's bundled ingestion stack entirely and point openapi-coverage-stream straight at your existing backend.