github crossplane/crossplane v0.14.0

latest releases: v1.15.2, v1.14.8, v1.15.1...
pre-release3 years ago

Major Themes

The v0.14.0 release brings us one step closer to v1.0. With minimal breaking changes, more mature APIs, and refinements in performance and UX, this release demonstrates a commitment to stability and production readiness.

Notable Updates

  • #1850 (along with the respective PRs for each provider) update the entire Crossplane ecosystem to use v1 CRDs.
  • #1854 makes it possible to restrict the Crossplane versions with which a package is compatible. A package that is installed into a Crossplane cluster with a version that it is not compatible with will be rejected by the package manager.
  • #1857 (along with the respecitve PRs for each provider) enables leader election for all Crossplane controllers. The newly introduced ControllerConfig (see below) allows users to activate this functionality at provider installation. Thanks to @khos2ow for the work to make this possible.
  • #1865 moved all Crossplane projects to using Github Actions for CI and artifact publishing. This makes machinery much more accessible for community members, and greatly reduces bottlenecks that were slowing down the old CI pipelines in Jenkins. A huge thank you to @negz for driving this effort.
  • #1884 allows users to define multiple identical schema versions of an XRD.
  • #1891 separates the behavior of packagePullPolicy: IfNotPresent and packagePullPolicy: Always. The former will only check that the current package digest matches a tag if the tag has changed, while the latter will continuously check if there is new content for the supplied tag. Policy defaults to IfNotPresent, and it is not recommended to use Always unless you understand all implications.
  • #1904 modifies the package manager to make a HEAD request when it is fetching a digest for a given tag rather than a full GET, which counts against pull limits on some OCI image registries.
  • #1905 introduces the ControllerConfig type, which can be referenced by a Provider to customize its packaged controller Deployment. Creating a ControllerConfig is considered a highly privileged action and thus is not included in the RBAC for any roles managed by the Crossplane RBAC manager (see #1933 / #1939).
  • #1937 / #1942 bump all core API types (except for meta package types and the newly introduced ControllerConfig) to v1beta1. The new versions have the same schemas as their v1alpha counterparts, and either version will be accepted for the time being.
  • crossplane/provider-aws#416 represents the first API types introduced by utilizing a cloud-provider's code generation pipeline. This effort will greatly accelerate the coverage of resources in the Crossplane ecosystem.

Breaking Changes

  • #1855 removes support for KubernetesApplication, KubernetesTarget, and the Kubernetes Provider types, all of which were marked as deprecated in v0.13.
  • #1861 updates all controllers to use v1 CRDs. This is only a breaking change due to the fact that the schema for additionalPrinterColumns changes slightly in v1 CRDs. See the upgrade documentation below for more information.
  • #1854 introduces Crossplane version constraints in packages, and, in doing so, makes the schema for types in the meta.pkg.crossplane.io group that previously used the spec.crossplane field (though it was not honored by the package manager) invalid. See the upgrade documentation below for more information.
  • #1884 requires that version information be supplied in all XRDs that are created.
  • #1936 modifies CLI behavior to not append the package digest when a cutom name is provided during package build. If an extension is provided as part of the --name flag it will be replaced with the .xpkg extension.

Some manual changes are required to update from v0.13. They are detailed in the Upgrading to v0.14 guide in the Crossplane documentation.

Don't miss a new crossplane release

NewReleases is sending notifications on new releases.