• v0.4.8 921ce217df

    v0.4.8 Stable

    pipeline-bot released this 2026-07-14 20:17:47 +00:00 | 20 commits to main since this release

    Fixed

    • reconcile: dry-run is now symmetric on delete — a dry-run CR no longer performs a
      real Resolve+Delete against the remote on deletion (which destroyed state it promised
      never to touch, or wedged undeletable under HoldUntilSuccess). The K8s-side Cleanup
      and finalizer removal still run, so the CR deletes cleanly. (+TestRunDeleteDryRun)
    • reconcile: the Degraded condition message is now bounded by truncateMessage (like
      Ready=False/SetCondition), so a splatted remote-error body can't exceed the etcd
      condition-message bound or over-disclose.
    • reconcile: a Degraded/failed object no longer retains a stale Progressing=True
      (self-contradictory Ready=False + Degraded=True + Progressing=True);
      markDegradedStyle clears it — covering the converge failPath and both delete-path
      failure calls.
    • reconcile: the converge dry-run gate now clears any stale Degraded/Progressing left
      by a prior non-dry-run reconcile, so a dry-run CR isn't reported Ready and Degraded
      at the same time.

    Included changes (v0.4.7 -> v0.4.8)

    • 530056d18615 docs(changelog): promote Unreleased to [0.4.8] (mid-flight release recovery)
    • df747dd747c9 docs(changelog): add Unreleased section for the harness fixes (v0.4.8)
    • 2ec43c5f29d7 fix(reconcile): 4 shared-harness bugs (dry-run delete, Degraded truncation, stale Progressing)
    • ed2fa525f665 fix(cicd): auto-resolve CHANGELOG land conflicts via .gitattributes merge=union
    • b040ae77b5d9 fix(ci): pin golang:1.25 builder base by digest
    • c3d82fe13b67 docs(readme): Recorder events are size-bounded, not sanitized
    • 7d62c566920c chore(staging): open v0.4.8-dev dev cycle
    Downloads