• v0.4.9 fc12440d11

    v0.4.9 Stable

    pipeline-bot released this 2026-07-15 14:48:19 +00:00 | 16 commits to main since this release

    Fixed

    • reconcile: a Ready=False condition with an empty caller-supplied reason is no longer emitted —
      ReadyFalse now defaults an empty reason to NotReady. The Kubernetes API rejects a condition with
      an empty Reason (422 FieldValueRequired), so an outcome that reached the failure path with no
      reason previously produced an unwritable condition (silent status-write failure). (ReadyTrue was
      already safe — it always uses a constant reason.) (+TestReadyFalse_DefaultsEmptyReason)
    • reconcile: the dry-run converge path now calls MirrorStatus before persisting, like every
      other status-writing path. A dry-run CR is Ready, but the legacy mirrored fields were left
      reflecting the prior phase — permanently inconsistent with Ready=True for operators that use a
      MirrorStatus hook. (No-op when MirrorStatus is nil, so operators without one are unaffected.)

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

    • 6d458960cddb fix(reconcile): default empty Ready=False reason (422 guard) + mirror on dry-run
    Downloads