Upbound Crossplane Release Notes
v2.4.1-up.1
Release Date: 2026-09-15
What's Changed
Based on Crossplane v2.4.1.
- Package revisions now take control of established objects from the revision they replace. An outgoing package revision could fail to relinquish control of the package's CRDs, leaving the incoming revision permanently unhealthy with
cannot establish control of object. The provider's pod would never be created, so that provider could do no work without manual intervention by someone either deleting the stale revision or editing the CRD's owner reference by hand. Package revisions now directly take control from the revision they replace, so the hand-off succeeds without any intervention. This is most visible when upgrading, which replaces every revision. - Security:
google.golang.org/grpcupdated to v1.83.2 in both Crossplane and the Upbound Controller Manager (CVE-2026-84445). - Security: the
uxp-apollosubchart updated to 0.4.24, which carriesgolang.org/x/cryptov0.56.0 andgoogle.golang.org/grpcv1.83.2.
v2.3.6-up.1
Release Date: 2026-09-15
What's Changed
Based on Crossplane v2.3.6.
- Package revisions now take control of established objects from the revision they replace. An outgoing package revision could fail to relinquish control of the package's CRDs, leaving the incoming revision permanently unhealthy with
cannot establish control of object. The provider's pod would never be created, so that provider could do no work without manual intervention by someone either deleting the stale revision or editing the CRD's owner reference by hand. Package revisions now directly take control from the revision they replace, so the hand-off succeeds without any intervention. This is most visible when upgrading, which replaces every revision. - Security:
google.golang.org/grpcupdated to v1.83.2 in both Crossplane and the Upbound Controller Manager (CVE-2026-84445). - Security: the
uxp-apollosubchart updated to 0.4.24, which carriesgolang.org/x/cryptov0.56.0 andgoogle.golang.org/grpcv1.83.2.
v2.2.6-up.1
Release Date: 2026-09-15
What's Changed
Based on Crossplane v2.2.6.
- Package revisions now take control of established objects from the revision they replace. An outgoing package revision could fail to relinquish control of the package's CRDs, leaving the incoming revision permanently unhealthy with
cannot establish control of object. The provider's pod would never be created, so that provider could do no work without manual intervention by someone either deleting the stale revision or editing the CRD's owner reference by hand. Package revisions now directly take control from the revision they replace, so the hand-off succeeds without any intervention. This is most visible when upgrading, which replaces every revision. - Security:
google.golang.org/grpcupdated to v1.83.2 in both Crossplane and the Upbound Controller Manager (CVE-2026-84445). - Security: the
uxp-apollosubchart updated to 0.4.24, which carriesgolang.org/x/cryptov0.56.0 andgoogle.golang.org/grpcv1.83.2.
v2.1.8-up.5
Release Date: 2026-09-15
What's Changed
Based on Crossplane v2.1.8, plus Upbound security fixes that have no upstream equivalent — upstream Crossplane no longer publishes patches for the 2.1 line, so the Crossplane fixes below were made by Upbound in its Crossplane distribution.
- Package revisions now take control of established objects from the revision they replace. An outgoing package revision could fail to relinquish control of the package's CRDs, leaving the incoming revision permanently unhealthy with
cannot establish control of object. The provider's pod would never be created, so that provider could do no work without manual intervention by someone either deleting the stale revision or editing the CRD's owner reference by hand. Package revisions now directly take control from the revision they replace, so the hand-off succeeds without any intervention. This is most visible when upgrading, which replaces every revision. - Security:
google.golang.org/grpcupdated to v1.83.2 in both Crossplane and the Upbound Controller Manager (CVE-2026-84445). - Security: the
uxp-apollosubchart updated to 0.2.26, which carriesgolang.org/x/cryptov0.56.0 andgoogle.golang.org/grpcv1.83.2.
v2.0.8-up.10
Release Date: 2026-09-15
What's Changed
Based on Crossplane v2.0.8, plus Upbound security fixes that have no upstream equivalent — upstream Crossplane no longer publishes patches for the 2.0 line, so the Crossplane fixes below were made by Upbound in its Crossplane distribution.
- Package revisions now take control of established objects from the revision they replace. An outgoing package revision could fail to relinquish control of the package's CRDs, leaving the incoming revision permanently unhealthy with
cannot establish control of object. The provider's pod would never be created, so that provider could do no work without manual intervention by someone either deleting the stale revision or editing the CRD's owner reference by hand. Package revisions now directly take control from the revision they replace, so the hand-off succeeds without any intervention. This is most visible when upgrading, which replaces every revision. - Security:
google.golang.org/grpcupdated to v1.83.2 in both Crossplane and the Upbound Controller Manager (CVE-2026-84445). - Security: the
uxp-apollosubchart updated to 0.2.26, which carriesgolang.org/x/cryptov0.56.0 andgoogle.golang.org/grpcv1.83.2.
v1.20.13-up.1
Release Date: 2026-09-15
What's Changed
Based on Crossplane v1.20.13.
- Security:
google.golang.org/grpcupdated to v1.83.2 in Crossplane (CVE-2026-84445).
This line ships only the Crossplane image: no Upbound Controller Manager and no subcharts.
v2.4.0-up.1
Release Date: 2026-09-04
What's Changed
Based on Crossplane v2.4.0.
- Backups can now be scoped by namespace.
includedNamespacesandexcludedNamespaceswere added to the sharedControlPlaneBackupConfig, so bothBackupandBackupSchedulecan limit which namespaces a backup captures;excludedNamespacesmerges with the system namespaces that are always excluded. The fields are immutable onBackup, mirroringexcludedResources, and stay mutable onBackupScheduleso a schedule's scope can be adjusted over time. - Fixed restores that could never complete on larger control planes. A two-minute budget capped the whole import and truncated the importer's own longer per-step timeouts, so a restore needing more time restarted from scratch and never got further. The import is no longer bounded that way, failed attempts retry with backoff and keep retrying, and a failing import now reports the import error itself.
- Reduced Upbound Controller Manager memory usage when the secrets proxy webhook is enabled. Replicating the proxy's
Secretand CA bundleConfigMapmade the manager cache everyConfigMapandSecretin the cluster; both are now cached only for the source and injection namespaces. - Removed the
upbound.manager.metering.meteringStorage.enabledchart value. It was documented as a toggle for persistent metering storage but nothing referenced it, so the metering StatefulSet always claimed aPersistentVolume— and on a cluster with no defaultStorageClassthat claim never bound, leavinguxp-meteringstuckPending. Metering data can't be ephemeral, so the value is gone and the requirement documented instead: setstorageClasson clusters without a default. Rendered output is unchanged. - Security: the Go toolchain updated to 1.26.7 in both Crossplane and the Upbound Controller Manager.
- Security: Crossplane core dependency updates, including
golang.org/x/cryptov0.56.0 — which addresses two denial-of-service issues in its SSH implementation — andgoogle.golang.org/grpcv1.83.1. - Security: the same
golang.org/x/cryptov0.56.0 andgoogle.golang.org/grpcv1.83.1 updates in the Upbound Controller Manager, along withgolang.org/x/netv0.55.0,golang.org/x/textv0.39.0,golang.org/x/modv0.40.0,oras.land/oras-gov2.6.2, and thesigstoretoolchain —cosignv3.0.6,rekorv1.5.2,sigstore-gov1.2.1 andtimestamp-authorityv2.1.0. - Security: the bundled Helm library updated to v3.21.4, which removes
containerdfrom the Upbound Controller Manager image entirely. - Security: the
uxp-webuisubchart updated to 1.1.8, rebuilt against Alpinelibssl3andlibcrypto33.5.8-r0. - Security: the
uxp-apollosubchart updated to 0.4.23. - Security: refreshed the
gcr.io/distroless/staticbase image of the Upbound Controller Manager.
v2.3.5-up.2
Release Date: 2026-09-04
What's Changed
Based on Crossplane v2.3.5.
- Security: the Go toolchain updated to 1.26.7 in both Crossplane and the Upbound Controller Manager.
- Security:
google.golang.org/grpcv1.83.1 andgolang.org/x/cryptov0.56.0 in Crossplane and the Upbound Controller Manager. - Security: the bundled Helm library updated to v3.21.4, which removes
containerdfrom the Upbound Controller Manager image entirely. - Security: the
uxp-webuisubchart updated to 1.1.8, rebuilt against Alpinelibssl3andlibcrypto33.5.8-r0. - Security: the
uxp-apollosubchart updated to 0.4.23, which carriesgoogle.golang.org/grpcv1.83.1.
v2.2.5-up.2
Release Date: 2026-09-04
What's Changed
Based on Crossplane v2.2.5.
- Security: the Go toolchain updated to 1.26.7 in both Crossplane and the Upbound Controller Manager.
- Security:
google.golang.org/grpcv1.83.1 andgolang.org/x/cryptov0.56.0 in Crossplane and the Upbound Controller Manager. - Security: the bundled Helm library updated to v3.21.4, which removes
containerdfrom the Upbound Controller Manager image entirely. - Security: the
uxp-webuisubchart updated to 1.1.8, rebuilt against Alpinelibssl3andlibcrypto33.5.8-r0. - Security: the
uxp-apollosubchart updated to 0.4.23, which carriesgoogle.golang.org/grpcv1.83.1.
v2.1.8-up.4
Release Date: 2026-09-04
What's Changed
Based on Crossplane v2.1.8, plus Upbound security fixes that have no upstream equivalent — upstream Crossplane no longer publishes patches for the 2.1 line, so the Crossplane fixes below were made by Upbound in its Crossplane distribution.
- Security: the Go toolchain updated to 1.26.7 in both Crossplane and the Upbound Controller Manager.
- Security:
google.golang.org/grpcv1.83.1 andgolang.org/x/cryptov0.56.0 in Crossplane and the Upbound Controller Manager. - Security: the bundled Helm library updated to v3.21.4, which removes
containerdfrom the Upbound Controller Manager image entirely. - Security: the
uxp-webuisubchart updated to 1.0.7, rebuilt against Alpinelibssl3andlibcrypto33.5.8-r0. - Security: the
uxp-apollosubchart updated to 0.2.24, which carriesgoogle.golang.org/grpcv1.83.1.
v2.0.8-up.9
Release Date: 2026-09-04
What's Changed
Based on Crossplane v2.0.8, plus Upbound security fixes that have no upstream equivalent — upstream Crossplane no longer publishes patches for the 2.0 line, so the Crossplane fixes below were made by Upbound in its Crossplane distribution.
- Security: the Go toolchain updated to 1.26.7 in both Crossplane and the Upbound Controller Manager.
- Security:
google.golang.org/grpcv1.83.1 andgolang.org/x/cryptov0.56.0 in Crossplane and the Upbound Controller Manager. - Security: the bundled Helm library updated to v3.21.4, which removes
containerdfrom the Upbound Controller Manager image entirely. - Security: the
uxp-webuisubchart updated to 1.0.7, rebuilt against Alpinelibssl3andlibcrypto33.5.8-r0. - Security: the
uxp-apollosubchart updated to 0.2.24, which carriesgoogle.golang.org/grpcv1.83.1.
v1.20.12-up.2
Release Date: 2026-09-04
What's Changed
Based on Crossplane v1.20.12.
- Security: the Go toolchain updated to 1.26.7.
- Security: Crossplane core dependency updates —
google.golang.org/grpcv1.83.1 andgolang.org/x/cryptov0.56.0.
v2.3.5-up.1
Release Date: 2026-08-26
What's Changed
Based on Crossplane v2.3.5.
- Corrected the published
crankchecksums forlinux_amd64binaries. The.sha256files hadn't matched the binaries since v2.2.0, so any install script or Dockerfile that verified the amd64 checksum failed. - Fixed a deletion-protection false positive. The field index that maps a resource to the
Usageobjects protecting it built its key by joining group, kind, name, and namespace with., which is ambiguous because API groups and resource names can contain.themselves. Two distinct resources could collapse to the same key, so the webhook could refuse a deletion on the strength of an unrelated resource'sUsage. The separator is now/. - Fixed the metering pod ignoring a redirected image registry. The metering StatefulSet read
upbound.manager.metering.image, an independent value that only happened to default to the same reference as the Upbound Controller Manager Deployment. Pointingupbound.manager.imageat a private mirror moved the Deployment but left the metering pod pulling fromxpkg.upbound.io, and the only workaround was to repeat the override. Each field of the metering image now defaults to itsupbound.manager.imagecounterpart, andupbound.manager.metering.imagestill overrides it. - The bundled Prometheus
config-reloadsidecar image is now configurable throughupbound.manager.prometheus.reloaderImage.repositoryandupbound.manager.prometheus.reloaderImage.tag. Previously only the Prometheus server image could be redirected, so the sidecar kept its upstreamquay.iodefault. On clusters that enforce a registry allowlist the StatefulSet was rejected, and because Prometheus is installed beforeLicensestatus is written, the visible symptom was a valid enterprise license reportingUnknownorcommunitywith nothing pointing at Prometheus. Defaults are unchanged. - Fixed a valid
Licensereporting no status when component provisioning failed.Licensestatus was written last, after the metering apply and Prometheus sync, both of which stop on error — so a provisioning failure left theLicensewith no status and nothing naming the component that failed. Status is now written first on every path, and a provisioning failure records aProvisionComponentswarning event. - A
Licensenaming a plan the running build doesn't recognize no longer blocks provisioning. Version skew can produce an unknown plan, which previously stopped the reconcile before status was written. Licensed components read none of the plan's features, so they now install and the skew is reported through anUnknownPlanwarning event. - Security: Crossplane core dependency updates —
cel-go,golang.org/x/mod,sigstore-go, and a broader vulnerable-dependency sweep, pluscrossplane-runtimev2.3.4, which carries its own updates. - Security: the Go toolchain updated to 1.25.13, and
golang.org/x/modv0.40.0 in the Upbound Controller Manager. - Security: the
uxp-apollosubchart updated to v0.4.22. - Security: refreshed the
gcr.io/distroless/staticbase image of the Upbound Controller Manager.
v2.2.5-up.1
Release Date: 2026-08-26
What's Changed
Based on Crossplane v2.2.5.
- Corrected the published
crankchecksums forlinux_amd64binaries. The.sha256files hadn't matched the binaries since v2.2.0, so any install script or Dockerfile that verified the amd64 checksum failed. - Fixed a deletion-protection false positive. The field index that maps a resource to the
Usageobjects protecting it built its key by joining group, kind, name, and namespace with., which is ambiguous because API groups and resource names can contain.themselves. Two distinct resources could collapse to the same key, so the webhook could refuse a deletion on the strength of an unrelated resource'sUsage. The separator is now/. - Fixed the metering pod ignoring a redirected image registry. The metering StatefulSet read
upbound.manager.metering.image, an independent value that only happened to default to the same reference as the Upbound Controller Manager Deployment. Pointingupbound.manager.imageat a private mirror moved the Deployment but left the metering pod pulling fromxpkg.upbound.io, and the only workaround was to repeat the override. Each field of the metering image now defaults to itsupbound.manager.imagecounterpart, andupbound.manager.metering.imagestill overrides it. - The bundled Prometheus
config-reloadsidecar image is now configurable throughupbound.manager.prometheus.reloaderImage.repositoryandupbound.manager.prometheus.reloaderImage.tag. Previously only the Prometheus server image could be redirected, so the sidecar kept its upstreamquay.iodefault. On clusters that enforce a registry allowlist the StatefulSet was rejected, and because Prometheus is installed beforeLicensestatus is written, the visible symptom was a valid enterprise license reportingUnknownorcommunitywith nothing pointing at Prometheus. Defaults are unchanged. - Fixed a valid
Licensereporting no status when component provisioning failed.Licensestatus was written last, after the metering apply and Prometheus sync, both of which stop on error — so a provisioning failure left theLicensewith no status and nothing naming the component that failed. Status is now written first on every path, and a provisioning failure records aProvisionComponentswarning event. - A
Licensenaming a plan the running build doesn't recognize no longer blocks provisioning. Version skew can produce an unknown plan, which previously stopped the reconcile before status was written. Licensed components read none of the plan's features, so they now install and the skew is reported through anUnknownPlanwarning event. - Security: Crossplane core dependency updates —
cel-go,golang.org/x/mod,sigstore-go,go-git, and a broader vulnerable-dependency sweep, pluscrossplane-runtimev2.2.4, which carries its own updates. - Security: the Go toolchain updated to 1.25.13, and
golang.org/x/modv0.40.0 in the Upbound Controller Manager. - Security: the
uxp-apollosubchart updated to v0.4.22. - Security: refreshed the
gcr.io/distroless/staticbase image of the Upbound Controller Manager.
v2.1.8-up.3
Release Date: 2026-08-26
What's Changed
Based on Crossplane v2.1.8.
This is a security re-bundle. The upstream Crossplane release tag is unchanged, but the Upbound fork tracks upstream's release-2.1 branch, so this ships what upstream merged there after v2.1.8 together with Upbound's own dependency updates.
- Fixed the metering pod ignoring a redirected image registry. The metering StatefulSet read
upbound.manager.metering.image, an independent value that only happened to default to the same reference as the Upbound Controller Manager Deployment. Pointingupbound.manager.imageat a private mirror moved the Deployment but left the metering pod pulling fromxpkg.upbound.io, and the only workaround was to repeat the override. Each field of the metering image now defaults to itsupbound.manager.imagecounterpart, andupbound.manager.metering.imagestill overrides it. - Security: the Go toolchain updated to 1.25.13 in the Upbound Controller Manager.
- Security: the
uxp-apollosubchart updated to v0.2.23. - Security: refreshed the
gcr.io/distroless/staticbase image of the Upbound Controller Manager.
v2.0.8-up.8
Release Date: 2026-08-26
What's Changed
Based on Crossplane v2.0.8.
This is a security re-bundle. The upstream Crossplane release tag is unchanged, but the Upbound fork tracks upstream's release-2.0 branch, so this ships what upstream merged there after v2.0.8 together with Upbound's own dependency updates.
- Fixed the metering pod ignoring a redirected image registry. The metering StatefulSet read
upbound.manager.metering.image, an independent value that only happened to default to the same reference as the Upbound Controller Manager Deployment. Pointingupbound.manager.imageat a private mirror moved the Deployment but left the metering pod pulling fromxpkg.upbound.io, and the only workaround was to repeat the override. Each field of the metering image now defaults to itsupbound.manager.imagecounterpart, andupbound.manager.metering.imagestill overrides it. - Security: the Go toolchain updated to 1.25.13 in the Upbound Controller Manager.
- Security: the
uxp-apollosubchart updated to v0.2.23. - Security: refreshed the
gcr.io/distroless/staticbase image of the Upbound Controller Manager.
v1.20.12-up.1
Release Date: 2026-08-26
What's Changed
Based on Crossplane v1.20.12.
- Security: Crossplane core dependency updates — the Go toolchain to 1.25.13,
go-gitv5.19.2,golang.org/x/modv0.40.0, and two combined vulnerable-dependency sweeps, pluscrossplane-runtimev1.20.11, which carries its own updates. - Security:
golang.org/x/modv0.40.0 in the Upbound Controller Manager. - Security: refreshed the
gcr.io/distroless/staticbase image.
v2.3.4-up.2
Release Date: 2026-08-05
What's Changed
Based on Crossplane v2.3.4.
- Fixed a deletion-protection false positive. The field index that maps a resource to the
Usageobjects protecting it built its key by joining group, kind, name, and namespace with., which is ambiguous because API groups and resource names can contain.themselves. Two distinct resources could collapse to the same key, so the webhook could refuse a deletion on the strength of an unrelated resource'sUsage. The separator is now/. - Security: Crossplane core and Upbound Controller Manager dependency updates —
github.com/sigstore/sigstore-gov1.2.1 (CVE-2026-54787),github.com/klauspost/compressv1.18.7 (GHSA-259r-337f-4rfw), andcel-go(GHSA-gcjh-h69q-9w9g). - Security: the
uxp-apollosubchart updated to v0.4.20, bumpingchito v5.3.0 (GO-2026-5775, GO-2026-5777) andgolang.org/x/textto v0.39.0 (CVE-2026-56852). - Security: refreshed the
gcr.io/distroless/staticbase image of the Upbound Controller Manager.
v2.2.4-up.2
Release Date: 2026-08-05
What's Changed
Based on Crossplane v2.2.4.
- Fixed a deletion-protection false positive. The field index that maps a resource to the
Usageobjects protecting it built its key by joining group, kind, name, and namespace with., which is ambiguous because API groups and resource names can contain.themselves. Two distinct resources could collapse to the same key, so the webhook could refuse a deletion on the strength of an unrelated resource'sUsage. The separator is now/. - Security: Crossplane core and Upbound Controller Manager dependency updates —
github.com/sigstore/sigstore-gov1.2.1 (CVE-2026-54787),github.com/klauspost/compressv1.18.7 (GHSA-259r-337f-4rfw), andcel-go(GHSA-gcjh-h69q-9w9g). - Security: the
uxp-apollosubchart updated to v0.4.20, bumpingchito v5.3.0 (GO-2026-5775, GO-2026-5777) andgolang.org/x/textto v0.39.0 (CVE-2026-56852). - Security: refreshed the
gcr.io/distroless/staticbase image of the Upbound Controller Manager.
v2.1.8-up.2
Release Date: 2026-08-05
What's Changed
Based on Crossplane v2.1.8.
- Fixed a deletion-protection false positive. The field index that maps a resource to the
Usageobjects protecting it built its key by joining group, kind, name, and namespace with., which is ambiguous because API groups and resource names can contain.themselves. Two distinct resources could collapse to the same key, so the webhook could refuse a deletion on the strength of an unrelated resource'sUsage. The separator is now/. - Security: Crossplane core dependency updates —
github.com/sigstore/sigstore-gov1.2.1 (CVE-2026-54787), plus a broader sweep clearing CVE-2026-41178, GHSA-259r-337f-4rfw, GO-2026-5774, GO-2026-5775, GO-2026-5777, and GHSA-gcjh-h69q-9w9g. - Security: Upbound Controller Manager dependency updates —
github.com/klauspost/compressv1.18.7 (GHSA-259r-337f-4rfw). - Security: the
uxp-apollosubchart updated to v0.2.22, bumpingchito v5.3.0 (GO-2026-5775, GO-2026-5777) andgolang.org/x/textto v0.39.0 (CVE-2026-56852). - Security: refreshed the
gcr.io/distroless/staticbase image of the Upbound Controller Manager.
v2.0.8-up.7
Release Date: 2026-08-05
What's Changed
Based on Crossplane v2.0.8.
- Security: Crossplane core and Upbound Controller Manager dependency updates —
github.com/sigstore/sigstore-gov1.2.1 (CVE-2026-54787),github.com/klauspost/compressv1.18.7 (GHSA-259r-337f-4rfw), andcel-go(GHSA-gcjh-h69q-9w9g). - Security: the
uxp-apollosubchart updated to v0.2.22, bumpingchito v5.3.0 (GO-2026-5775, GO-2026-5777) andgolang.org/x/textto v0.39.0 (CVE-2026-56852). - Security: refreshed the
gcr.io/distroless/staticbase image of both the Crossplane core and Upbound Controller Manager images.
v1.20.11-up.2
Release Date: 2026-08-05
What's Changed
Based on Crossplane v1.20.11.
- Security: Crossplane core dependency updates clearing CVE-2026-54787, CVE-2026-41178, CVE-2026-23991, CVE-2026-23992, CVE-2026-24686, CVE-2026-39984, CVE-2026-49834, CVE-2026-49835, GHSA-259r-337f-4rfw, GO-2026-5774, GO-2026-5775, and GO-2026-5777.
- Security: refreshed the
gcr.io/distroless/staticbase image. - The chart's bundled
ControllerConfigandDeploymentRuntimeConfigCRDs were regenerated from the Crossplane commit this release bundles, so they now match the shipped image. The change is additive — new pod spec schema fields and reworded descriptions from anapimachineryupdate. No existing schema was removed.
v2.3.4-up.1
Release Date: 2026-07-24
What's Changed
Based on Crossplane v2.3.4.
- Added configurable resource requests and limits for the Upbound Controller Manager init containers, via
upbound.manager.initResourcesandupbound.secretsProxy.caInit.resources. - Security: the
uxp-apollosubchart updated to v0.4.19, bumpinggoogle.golang.org/grpcto v1.82.1 (GHSA-hrxh-6v49-42gf). - Security: Upbound Controller Manager dependency updates —
github.com/sigstore/sigstore-gov1.2.0 (CVE-2026-49834),google.golang.org/grpcv1.82.1 (GHSA-hrxh-6v49-42gf),oras.land/oras-go/v2v2.6.2 (CVE-2026-50163), andgolang.org/x/textv0.39.0 (CVE-2026-56852).
v2.2.4-up.1
Release Date: 2026-07-24
What's Changed
Based on Crossplane v2.2.4.
- Added configurable resource requests and limits for the Upbound Controller Manager init containers, via
upbound.manager.initResourcesandupbound.secretsProxy.caInit.resources. - Security: the
uxp-apollosubchart updated to v0.4.19, bumpinggoogle.golang.org/grpcto v1.82.1 (GHSA-hrxh-6v49-42gf). - Security: Upbound Controller Manager dependency updates —
github.com/sigstore/sigstore-gov1.2.0 (CVE-2026-49834),google.golang.org/grpcv1.82.1 (GHSA-hrxh-6v49-42gf),oras.land/oras-go/v2v2.6.2 (CVE-2026-50163),golang.org/x/netv0.56.0 (CVE-2026-46600), andgolang.org/x/textv0.39.0 (CVE-2026-56852).
v2.1.8-up.1
Release Date: 2026-07-24
What's Changed
Based on Crossplane v2.1.8.
- Added configurable resource requests and limits for the Upbound Controller Manager
initialize-crdsinit container, viaupbound.manager.initResources. - Security: the
uxp-apollosubchart updated to v0.2.21, bumpinggoogle.golang.org/grpcto v1.82.1 (GHSA-hrxh-6v49-42gf). - Security: Upbound Controller Manager dependency updates —
google.golang.org/grpcv1.82.1 (GHSA-hrxh-6v49-42gf),oras.land/oras-go/v2v2.6.2 (CVE-2026-50163), andgolang.org/x/textv0.39.0 (CVE-2026-56852).
v2.0.8-up.6
Release Date: 2026-07-24
What's Changed
Based on Crossplane v2.0.8.
- Added configurable resource requests and limits for the Upbound Controller Manager
initialize-crdsinit container, viaupbound.manager.initResources. - Security: the
uxp-apollosubchart updated to v0.2.21, bumpinggoogle.golang.org/grpcto v1.82.1 (GHSA-hrxh-6v49-42gf). - Security: Upbound Controller Manager dependency updates —
google.golang.org/grpcv1.82.1 (GHSA-hrxh-6v49-42gf),oras.land/oras-go/v2v2.6.2 (CVE-2026-50163),golang.org/x/netv0.56.0 (CVE-2026-46600), andgolang.org/x/textv0.39.0 (CVE-2026-56852).
v1.20.11-up.1
Release Date: 2026-07-24
What's Changed
Based on Crossplane v1.20.11.
- Security: dependency updates —
golang.org/x/netv0.56.0 (CVE-2026-46600) andgolang.org/x/textv0.39.0 (CVE-2026-56852).
v2.3.3-up.3
Release Date: 2026-07-14
What's Changed
Based on Crossplane v2.3.3. Security patch.
- Security: the
uxp-apollosubchart updated to v0.4.17, picking up the Go 1.25.12 standard-library fix (CVE-2026-39822) and an earlier CVE-2025-30204 fix in the apollo image. - Security: the Upbound Controller Manager rebuilt on Go 1.25.12 (CVE-2026-39822).
- Crossplane core container images are now built to expose their full Go dependency list to vulnerability scanners, improving third-party CVE detection.
v2.2.3-up.3
Release Date: 2026-07-14
What's Changed
Based on Crossplane v2.2.3. Security patch.
- Security: the
uxp-apollosubchart updated to v0.4.17, picking up the Go 1.25.12 standard-library fix (CVE-2026-39822) and an earlier CVE-2025-30204 fix in the apollo image. - Security: the Upbound Controller Manager rebuilt on Go 1.25.12 (CVE-2026-39822).
- Crossplane core container images are now built to expose their full Go dependency list to vulnerability scanners, improving third-party CVE detection.
v2.1.7-up.3
Release Date: 2026-07-14
What's Changed
Based on Crossplane v2.1.7. Security patch.
- Security: Crossplane core rebuilt on Go 1.25.12 (CVE-2026-39822).
- Security: the
uxp-apollosubchart updated to v0.2.20, picking up the Go 1.25.12 standard-library fix (CVE-2026-39822) and an earlier CVE-2025-30204 fix in the apollo image. - Security: the Upbound Controller Manager rebuilt on Go 1.25.12 (CVE-2026-39822).
v2.0.8-up.5
Release Date: 2026-07-14
What's Changed
UXP-only security patch — upstream Crossplane has ended support for the v2.0 line, but UXP continues to support it. Based on Crossplane v2.0.8.
- Security: Crossplane core rebuilt on Go 1.25.12 (CVE-2026-39822).
- Security: the
uxp-apollosubchart updated to v0.2.20, picking up the Go 1.25.12 standard-library fix (CVE-2026-39822) and an earlier CVE-2025-30204 fix in the apollo image. - Security: the Upbound Controller Manager rebuilt on Go 1.25.12 (CVE-2026-39822).
v1.20.10-up.3
Release Date: 2026-07-14
What's Changed
Based on Crossplane v1.20.10. Security patch.
- Security: bundled Crossplane updated to v1.20.10-up.3, rebuilt on Go 1.25.12 (CVE-2026-39822), synced from upstream's
release-1.20.
v2.3.3-up.2
Release Date: 2026-07-06
What's Changed
Based on Crossplane v2.3.3. Security patch.
- Security: Crossplane core updated to v2.3.3-up.2, picking up sigstore
rekorv1.5.2 (CVE-2026-48702),cosignv3.0.6 (CVE-2026-39395), andtimestamp-authorityv2.1.0 (CVE-2026-49835). - Security: updated
oras.land/oras-go/v2to v2.6.1 (CVE-2026-48978, CVE-2026-50151, CVE-2026-50162, CVE-2026-50163) in the Upbound Controller Manager.
v2.2.3-up.2
Release Date: 2026-07-06
What's Changed
Based on Crossplane v2.2.3. Security patch.
- Security: Crossplane core updated to v2.2.3-up.2, picking up sigstore
rekorv1.5.2 (CVE-2026-48702),cosignv3.0.6 (CVE-2026-39395), andtimestamp-authorityv2.1.0 (CVE-2026-49835). - Security: updated
oras.land/oras-go/v2to v2.6.1 (CVE-2026-48978, CVE-2026-50151, CVE-2026-50162, CVE-2026-50163) in the Upbound Controller Manager.
v2.1.7-up.2
Release Date: 2026-07-06
What's Changed
Based on Crossplane v2.1.7. Security patch.
- Security: Crossplane core updated to v2.1.7-up.2, picking up sigstore
rekorv1.5.2 (CVE-2026-48702),cosignv2.6.3 (CVE-2026-39395), andtimestamp-authorityv2.1.0 (CVE-2026-49835). - Security: updated
oras.land/oras-go/v2to v2.6.1 (CVE-2026-48978, CVE-2026-50151, CVE-2026-50162, CVE-2026-50163) in the Upbound Controller Manager.
v2.0.8-up.4
Release Date: 2026-07-06
What's Changed
UXP-only security patch — upstream Crossplane has ended support for the v2.0 line, but UXP continues to support it. Based on Crossplane v2.0.8.
- Security: Crossplane core updated to v2.0.8-up.4, picking up sigstore
rekorv1.5.2 (CVE-2026-48702),cosignv2.6.3 (CVE-2026-39395), andtimestamp-authorityv2.1.0 (CVE-2026-49835). - Security: updated
oras.land/oras-go/v2to v2.6.1 (CVE-2026-48978, CVE-2026-50151, CVE-2026-50162, CVE-2026-50163) in the Upbound Controller Manager.
v1.20.10-up.2
Release Date: 2026-07-06
What's Changed
Based on Crossplane v1.20.10. Security patch.
- Security: bundled Crossplane updated to v1.20.10-up.2, picking up sigstore
rekorv1.5.2 (CVE-2026-48702). - Security: updated
golang.org/x/netto v0.55.0 andgolang.org/x/systo v0.44.0 in the UXP bootstrapper.
v2.3.3-up.1
Release Date: 2026-06-24
What's Changed
Based on Crossplane v2.3.3.
- Fixed package signature verification TOCTOU (GHSA-mf7q-r4rv-jv94): A time-of-check-to-time-of-use flaw could let a malicious OCI registry pass signature verification with a signed image and then serve unsigned content for installation. Fixed via crossplane-runtime v2.3.3.
- Fixed
crossplane renderregressions: Render now honors input XR schema, returns requirements even on fatal errors, and sets the namespace only for cluster-scoped XRs. - Security dep bumps: Go 1.25.11,
golang.org/x/net,golang.org/x/sys,containerd→ v1.7.33
v2.2.3-up.1
Release Date: 2026-06-24
What's Changed
Based on Crossplane v2.2.3.
- Fixed package signature verification TOCTOU (GHSA-wfqx-gjrf-g28r): A time-of-check-to-time-of-use flaw could let a malicious OCI registry pass signature verification with a signed image and then serve unsigned content for installation.
- Security dep bumps: Go 1.25.11,
golang.org/x/net→ v0.55.0,crossplane-runtime→ v2.2.3,containerd→ v1.7.33
v2.1.7-up.1
Release Date: 2026-06-24
What's Changed
Based on Crossplane v2.1.7.
- Security dep bumps: Go 1.25.11,
golang.org/x/net→ v0.55.0,quic-go→ v0.59.1,crossplane-runtime→ v2.1.7,containerd→ v1.7.33 - Bumped
uxp-apolloto v0.2.18 for security fixes ingolang.org/x/crypto,x/net,x/sys,go-chi/chi
v2.0.8-up.3
Release Date: 2026-06-24
What's Changed
UXP-only security patch (upstream Crossplane has ended support for the v2.0 line, but UXP continues to support it).
- Bumped Go to 1.25.11 and
golang.org/x/crypto,x/netfor CVEs - Bumped
crossplane-runtimeto v2.0.9 for security fixes ingolang.org/x/net,x/sys,go.opentelemetry.io/otel - Bumped
uxp-apolloto v0.2.18 for security fixes ingolang.org/x/crypto,x/net,x/sys,go-chi/chi - Security: bumped
containerd→ v1.7.33
v1.20.10-up.1
Release Date: 2026-06-24
What's Changed
Based on Crossplane v1.20.10.
- Security dep bumps: Go 1.25.11,
golang.org/x/net→ v0.55.0,crossplane-runtime→ v1.20.10,mongo-driver→ v1.17.7 - Fixed UXP "-up.N" suffix being treated as semver prerelease in the binary's internal version
v2.3.1-up.1
Release Date: 2026-06-05
Action Required
If you are running Secrets Proxy with additional namespaces configured: after upgrading to v2.3.1-up.1, delete the existing secrets-proxy-ca Kubernetes Secret (containing the CA cert and key) from each additional namespace. The controller will replicate the corrected Secret automatically.
What's Changed
Based on Crossplane v2.3.1. This is the first UXP stable release on the v2.3 line — see upstream v2.3.0 and v2.3.1 release notes for the full set of Crossplane changes since the v2.2 line.
- Bumped
crossplane-runtimeto v2.3.1 - Security dep bump:
golang.org/x/crypto→ v0.52.0 - Synced upbound's Crossplane fork up to upstream v2.3.1, including upbound-specific patches
- Updated bundled Crossplane to v2.3.1-up.1
- Bumped
uxp-webuito v1.1.6 - Secrets Proxy: fixed copying the CA cert and key into additional namespaces
v2.2.2-up.1
Release Date: 2026-05-27
What's Changed
Based on Crossplane v2.2.2.
- Bumped
crossplane-runtimeto v2.2.2 - Security dep bumps:
golang.org/x/crypto→ v0.52.0,go-git/v5→ v5.19.1,go-billy/v5→ v5.9.0,in-toto-golang→ v0.11.0,golang.org/x/net→ v0.55.0,golang.org/x/sys→ v0.44.0,containerd→ v1.7.32 - Bumped
uxp-webuito 1.1.5 anduxp-apolloto 0.4.13
v2.1.6-up.1
Release Date: 2026-05-27
What's Changed
Based on Crossplane v2.1.6.
- Bumped
crossplane-runtimeto v2.1.6 - Security dep bumps:
golang.org/x/crypto→ v0.52.0,go-git/v5→ v5.19.1,go-billy/v5→ v5.9.0,golang.org/x/net→ v0.55.0,otel→ v1.41.0,containerd→ v1.7.32 - Bumped
uxp-webuito 1.0.4 anduxp-apolloto 0.2.17
v2.0.8-up.2
Release Date: 2026-05-27
What's Changed
Based on Crossplane v2.0.8.
- Synced security fixes from upstream release-2.0 branch:
in-toto-golang→ v0.11.0,go-git/v5→ v5.19.1 - Security dep bumps:
go-git/v5→ v5.19.1,go-billy/v5→ v5.9.0,golang.org/x/crypto→ v0.52.0,golang.org/x/net→ v0.55.0,containerd→ v1.7.32 - Bumped
uxp-webuito 1.0.4 anduxp-apolloto 0.2.17
v1.20.8-up.1
Release Date: 2026-05-27
What's Changed
Based on Crossplane v1.20.8.
- Bumped
crossplane-runtimeto v1.20.8 - Bumped Go to 1.25.10 to fix stdlib CVEs
- Security dep bumps:
golang.org/x/crypto→ v0.52.0,go-git/v5→ v5.19.1
v1.20.6-up.2
Release Date: 2026-04-22
What's Changed
Based on Crossplane v1.20.6.
- Bumped Go to 1.25.9 to cover stdlib CVEs
v2.2.1-up.1
Release Date: 2026-04-21
What's Changed
Based on Crossplane v2.2.1.
- Correctly handle dependency upgrades with
ImageConfigprefix rewriting — packages installed via a prefix rewrite are now upgraded when their dependencies change - Support
ResourceSelectorwith no match field — a selector with onlyapiVersionandkindset is now interpreted as "all resources of that kind" instead of being rejected - Bumped Go to 1.25.9 and a range of dependencies (grpc, go-jose, cosign, go-git, cert-manager, containerd, helm, docker/cli, cloudflare/circl, moby/spdystream, sigstore/timestamp-authority, otel) for CVE remediation
- Bumped
uxp-apolloto 0.4.9 anduxp-webuito 1.1.4
v2.0.8-up.1
Release Date: 2026-04-21
What's Changed
Based on Crossplane v2.0.8.
- Correctly handle dependency upgrades with
ImageConfigprefix rewriting — packages installed via a prefix rewrite are now upgraded when their dependencies change - Support
ResourceSelectorwith no match field — a selector with onlyapiVersionandkindset is now interpreted as "all resources of that kind" instead of being rejected - Bumped Go to 1.25.9 and a range of dependencies (grpc, go-jose, go-git, cert-manager, containerd, helm, docker/cli, cloudflare/circl, moby/spdystream, sigstore/timestamp-authority, otel) for CVE remediation
- Bumped
uxp-apolloto 0.2.16
v2.1.5-up.1
Release Date: 2026-04-20
What's Changed
Based on Crossplane v2.1.5.
- Reset circuit breaker state on XR deletion
- Correctly handle dependency upgrades with
ImageConfigprefix rewriting — packages installed via a prefix rewrite are now upgraded when their dependencies change - Support
ResourceSelectorwith no match field — a selector with onlyapiVersionandkindset is now interpreted as "all resources of that kind" instead of being rejected - Bumped Go to 1.25.9 and a range of dependencies (grpc, go-git, go-jose, cert-manager, containerd, helm, docker/cli, cloudflare/circl, sigstore/timestamp-authority, otel) for CVE remediation
- Bumped
uxp-apolloto 0.2.16 for a k8s.io/kubernetes CVE remediation
v2.2.0-up.5
Release Date: 2026-04-10
What's Changed
Based on Crossplane v2.2.0.
- Fixed internal version reporting that caused the
-up.xsuffix to be treated as a semver prerelease, which could cause package constraint checks (e.g.>=v1.15.2) to fail
v2.2.0-up.4
Release Date: 2026-04-08
What's Changed
Based on Crossplane v2.2.0.
- Added FunctionRunner payload size metrics
- Updated WebUI to v1.1.2
v2.1.4-up.3
Release Date: 2026-04-08
What's Changed
- Bumped Crossplane to v2.1.4-up.3
- Added FunctionRunner payload size metrics
v2.2.0-up.3
Breaking changes
UXP used to hardcode some crossplane core arguments in its helm chart. Now they are moved to helm values under args.
Those arguments were:
--enable-operations--package-runtime=External
For most users nothing will change. But if you are setting different args in your installation of UXP, you would be overwriting the default values. In that case, if you want Operations and Add-ons to be available, add the arguments above to your list of args.
Crossplane updates
- bumped Crossplane to v2.2.0
Features
- Added a new Observability View in the WebUI showing dashboards with the state of the UXP installation and managed resources.
- With a Standard license, a few more dashboards are being shown including initial metrics dashboards. Note that to support metrics, UXP installs (for Enterprise license only) a minimal Prometheus instance to collect needed metrics from UXP. This behavior can be controlled through Helm values under
upbound.prometheus. If you have your own Prometheus installed, you disable the built-in one and redirect the WebUI to get metrics from your own throughwebui.config.metricsApiEndpoint
- With a Standard license, a few more dashboards are being shown including initial metrics dashboards. Note that to support metrics, UXP installs (for Enterprise license only) a minimal Prometheus instance to collect needed metrics from UXP. This behavior can be controlled through Helm values under
- Added a new Secrets Proxy capability that allows applications to continue using the standard Kubernetes Secrets API without any modifications, while seamlessly routing secret requests to an external secret store behind the scenes. A mutating webhook automatically injects a sidecar proxy into pods matching the criteria defined in the webhook configuration and secret requests will be forwarded to the Secrets Proxy Add-on service. To use this feature, apply an Enterprise license and install the Secrets Proxy add-on from the Upbound Marketplace.