What's Changed
- CI: collapse PR matrix build to a single ubuntu-latest run by @ractive in #42
- iter-33: env-var fixture recording + per-domain layout by @ractive in #43
- iter-37: drift-tolerant CLI snapshots + refreshed fixtures by @ractive in #46
- iter-36: shape-first asserts in bunny-net-api wiremock tests by @ractive in #45
- iter-34: fixture-refresh tool for live-API drift by @ractive in #44
- iter-35: CLI discoverability — drill-down hints, version provenance, lean README by @ractive in #47
- iter-38: CDN log forwarding + dogfooding polish by @ractive in #48
- iter-39: dogfooding 2026-05-26 fixes by @ractive in #49
- iter-40: collapse nested JSON in get tables, unify shield --id, fix storage path by @ractive in #50
- iter-41: dogfooding 2026-05-28 polish by @ractive in #51
- iter-42: sub-resource arg help, --id unification, JSON-key truncation tips by @ractive in #52
- iter-43: OpenAPI gap analysis (read-only audit) by @ractive in #53
- iter-43b: deduplicate spec-coverage totals + preserve bucket commentary by @ractive in #54
- iter-44: pull-zone security/compliance toggles by @ractive in #55
- iter-45: pull-zone vary headers + caching toggles by @ractive in #56
- iter-46: pull-zone origin + routing toggles by @ractive in #57
- iter-47: pull-zone firewall + rate limiting by @ractive in #58
- iter-48: record-mode PII redaction by @ractive in #59
- iter-49: geo-zone serde casing fix + pull-zone field audit by @ractive in #60
- iter-50: surface Shield 202 error envelope by @ractive in #61
- iter-51: --format parity sweep across all subcommands by @ractive in #62
- iter-53: dns scan results by domain + next-command hint by @ractive in #63
- iter-52: expose Stream library ApiKey/ReadOnlyApiKey via --reveal by @ractive in #64
- iter-54: align shield metrics waf-rule on --id flag by @ractive in #65
- iter-55: deterministic chart key ordering in JSON by @ractive in #66
- iter-56: db config + db v2 list --format parity by @ractive in #67
- iter-57: define and enforce --quiet flag contract by @ractive in #68
- iter-58: fill Domain column for dns zone scan results by @ractive in #69
- iter-59: shield error envelope sweep (errorResponse-wrapped bodies) by @ractive in #70
- iter-60: dns zone export --format + non-empty empty-zone output by @ractive in #71
- iter-61: append delegation hint on dns issue-cert generic 500 by @ractive in #72
- iter-62: friendly hint when clap rejects '-1' as unknown arg by @ractive in #73
- iter-63: add --all auto-paginate flag across list commands by @ractive in #74
- iter-64: fill empty clap --help strings across CLI by @ractive in #75
- iter-65: planned-backlog burndown (hourly hint, last 4 toggles, live-test fixes) by @ractive in #76
- iter-66: spec refresh & drift fixes by @ractive in #77
- iter-67: credential rotation & storage safety by @ractive in #78
- iter-68: updates that update (shield, dns, db) by @ractive in #79
- iter-69: filters & pagination sweep across 8 command groups by @ractive in #80
- iter-70: log retrieval services (cdn-logging + origin-errors) by @ractive in #81
- iter-71: DNS completeness + new core-platform endpoints by @ractive in #82
- iter-72: shield new surface — bot categorization, custom pages, metrics by @ractive in #83
- iter-73: video library settings & stream odds-and-ends by @ractive in #84
- iter-74: pull-zone update body completeness + hostname cert flows by @ractive in #85
- iter-75: account & billing surface (apikey, billing, region, country, search, audit) by @ractive in #86
- iter-76: containers polish — volumes, runtime config, endpoint options by @ractive in #87
- iter-77: stream TUS resumable upload by @ractive in #88
- fix: close record-mode PII redaction gaps found by fixture sweep by @ractive in #89
- iter-78: read-only API drift radar (fixture-refresh --shape-report) by @ractive in #90
- feat(ci): migrate release pipeline to shared ractive/release-workflows by @ractive in #91
- docs(kb): iteration 80 plan — musl static targets + winget bootstrap by @ractive in #92
Full Changelog: v0.3.0...v0.5.0