Skip to content


Choose a tag to compare
@hasheddan hasheddan released this 27 Apr 23:40
· 91 commits to release-1.2 since this release

Major Themes

The v1.2.0 release introduces a number of small improvements to Crossplane's deployment model, while also adding some key new features, such as a CLI command to update installed package versions, and shifting CRD management from Helm to dedicated initContainers. Crossplane documentation has also been expanded to include a guide on documentation around running Crossplane in multi-tenant environments.

Notable Updates

  • #2271 updates the default imagePullPolicy for Crossplane and the RBAC Manager to IfNotPresent to guard against constantly pulling new images on a default Helm chart install that becomes unhealthy.
  • #2269 makes it optional to create aggregated RBAC roles when deploying Crossplane, allowing users to have more control of Crossplane's permission footprint at the expense of more management overhead.
  • #2254 adds a --config flag to kubectl crossplane install provider to allow specifying a ControllerConfig to reference on a newly installed Provider.
  • #2239 adds the ability to specify additional environment variables that should be set in the Crossplane and RBAC Manager deployments.
  • #2245 swiches from using distroless/static:nonroot base image to distroless/static to address a breaking change in runc v1.0.0-rc93.
  • #2240 makes the Helm deployments use runAsUser: 65532 to be consistent with the uid in the base image.
  • #2230 pins the provider-aws dependency in the image so that it remains compatible with the existing "Getting Started" guide.
  • #2222 passes context to all OCI image registry requests such that deadlines will be respected.
  • #2108 removes cloud provider keychains from the OCI image registry authentication flow, which had not been formally supported. In some environments, a bug in the upstream authentication flows could cause controllers to hang forever.
  • #2203 add support for int64 transforms, which fixes a bug that prevented from any integer transforms being performed in the composition engine. This is described in further detail here.
  • #2200 fixes a bug in claim deletion that prevented a claim from being cleaned up after its composite resource has been deleted.
  • #2167 sets the default maximum concurrent reconciles for all composition controllers to be the same (5).
  • #2111 added kubectl crossplane provider update and kubectl crossplane configuration update commands to support upgrading an installed package to a different version.


Crossplane now manages its own CRDs, making running helm upgrade the only step required for upgrading to v1.2.0. See the Upgrading Guide for more information.