# Changelog ## 0.3.0 - 2026-09-28 First public release under MIT. - `slaReport()` computes availability over a half-open window, charges downtime per failing sample capped at one probe interval, and excludes scheduled maintenance. - Zero samples gives `uptime_pct: null`, never 100. No target gives `met: null`, never a pass or a failure. - `toReport()` and `formatSla()` produce an `@extant2000/evidence-record` report. Zero samples with a target is not assessed, not a missed SLA. - `describeAvailability()` and `describeTarget()` put the null cases into plain sentences.