# Crossplane v2.2.4 - Product: Crossplane (https://whatsnew.fyi/product/crossplane) - Vendor: CNCF - Date: 2026-07-23 - Version: v2.2.4 - Original notes: https://github.com/crossplane/crossplane/releases/tag/v2.2.4 - Permalink: https://whatsnew.fyi/product/crossplane/releases/v2.2.4 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **fixed** — Usage controller now checks all owner references instead of only the first one to prevent repeated owner updates for composed Usages - **changed** — Container images are now built with buildGoModule instead of gomod2nix to support standard vulnerability scanning tools - **security** — Updated github.com/sigstore/rekor to v1.5.2 to pick up upstream CVE fixes - **security** — Updated github.com/sigstore/cosign/v3 to v3.0.6 to pick up upstream CVE fixes - **security** — Updated github.com/sigstore/timestamp-authority/v2 to v2.1.0 to pick up upstream CVE fixes - **security** — Updated github.com/sigstore/sigstore-go to v1.2.0 to pick up upstream CVE fixes - **security** — Updated grpc, golang.org/x/net, and golang.org/x/text to pick up upstream CVE fixes `v2.2.4` is a patch release scoped to fixing issues reported by users of Crossplane `v2.2` and fixing security related issues in Crossplane and its dependencies. #### 🎉 Highlights * **Fixed repeated owner updates for composed Usages (#7596, originally #7591):** The Usage controller only checked the *first* `ownerReference` when deciding whether the `spec.by` resource already owned the Usage. A Usage created by a Composition already has the composite as its first owner, so `spec.by` ended up as a later owner and the controller issued an unnecessary update on every reconciliation — repeatedly re-triggering composition reconciliation and eventually opening the XR circuit breaker. It now checks all owner references. * **Vulnerability-scannable images (#7575):** Container images are now built with `buildGoModule` (replacing `gomod2nix`), so published images can be scanned by standard vulnerability tooling. * **Dependency security updates:** Bumps `grpc` / `golang.org/x/net` / `golang.org/x/text` (#7619) and the sigstore stack — `cosign` (#7558), `rekor` (#7557), `timestamp-authority` (#7569), `sigstore-go` (#7582) — to pick up upstream CVE fixes. See `## What's Changed` for the full list. ##### What's Changed * chore(deps): update module github.com/sigstore/rekor to v1.5.2 [security] (release-2.2) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/7557 * fix(deps): update module github.com/sigstore/cosign/v3 to v3.0.6 [security] (release-2.2) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/7558 * chore(deps): update module github.com/sigstore/timestamp-authority/v2 to v2.1.0 [security] (release-2.2) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/7569 * [Backport release-2.2] build(nix): build with buildGoModule so images are vulnerability-scannable by @phisco in https://github.com/crossplane/crossplane/pull/7575 * chore(deps): update module github.com/sigstore/sigstore-go to v1.2.0 [security] (release-2.2) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/7582 * fix(deps): combined security bumps (grpc, x/net, x/text) (release-2.2) by @lsviben in https://github.com/crossplane/crossplane/pull/7619 * [Backport release-2.2] fix: avoid repeated owner updates for composed Usages by @github-actions[bot] in https://github.com/crossplane/crossplane/pull/7596 **Full Changelog**: https://github.com/crossplane/crossplane/compare/v2.2.3...v2.2.4