• v0.3.13 b7dc3df041

    v0.3.13 Stable

    pipeline-bot released this 2026-07-28 15:18:46 +00:00 | 12 commits to trunk since this release

    • Sort ILM filter tag keys so the lifecycle document stops churning. buildILMFilter's <And> branch built an ordered []lifecycle.Tag by ranging spec.filter.tags, a map[string]string — and Go randomizes map iteration, so the <And><Tag> children came out in a different order on nearly every call. The ILM apply path has no drift-skip gate (unlike MinioServiceAccount, which short-circuits on Status.AppliedPolicyHash), so it calls SetBucketLifecycle unconditionally on every reconcile including the 5-minute resync: a multi-tag filter therefore PUT a different XML document to MinIO every pass and emitted a spurious Updated event claiming a change that never happened — endlessly, with zero spec edits. Keys are now sorted before the slice is built (matching the existing buildOpenIDKV discipline). Regression tests (F97) pin both the built slice and the marshaled wire bytes as byte-identical across 100 builds.

    Included changes (v0.3.12 -> v0.3.13)

    • 3f7175c24dca fix(ilm): sort filter tag keys so the lifecycle document stops churning
    Downloads