Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Apr 6, 2025

This PR contains the following updates:

Package Type Update Change OpenSSF
github.com/crossplane/crossplane require minor v1.17.2 -> v1.20.0 OpenSSF Scorecard

Release Notes

crossplane/crossplane (github.com/crossplane/crossplane)

v1.20.0

Compare Source

The v1.20.0 release is a regular quarterly Crossplane release that is focused on maturing a number of key areas of functionality across the project, as Crossplane continues to become more capable, more reliable, and more performant for your production workloads. There are lots of exciting feature investments in this release that we are excited to share with the community, as well as important notes to consider when installing or upgrading to v1.20.0.

🚨 Warnings and breaking changes

Default registry is now xpkg.crossplane.io

The default registry that Crossplane installs packages from has changed to xpkg.crossplane.io from xpkg.upbound.io. This is a neutral community registry where community extension projects in https://github.com/crossplane-contrib must publish their release artifacts to.

  • For example, when installing a package, if the spec.package field is set to:
    • crossplane-contrib/provider-aws:v0.39.0, it will now be pulled from xpkg.crossplane.io.
    • index.docker.io/crossplane-contrib/provider-aws:v0.39.0, it will be pulled from index.docker.io (because an explicit registry is specified)
  • ⚠️ To preserve the previous behavior when upgrading to v1.20.0, set --set args='{"--registry=xpkg.upbound.io"}' during the Helm upgrade. More details can be found in the Crossplane documentation.

Realtime compositions are enabled by default

The realtime compositions feature has been matured to Beta and is now enabled/on by default. This feature in the composition engine actively watches for changes so it can respond immediately to run the composition pipeline in response to any changes.

This means that Crossplane no longer reconciles XRs on a regular poll interval. The --poll-interval flag now has no effect on XRs. Instead, Crossplane watches all resources and only reconciles XRs when something changes.

  • Crossplane also reconciles an XR when a composition function response's TTL expires.
  • In the case that a provider has a bug and cannot converge on stable values for a resource, which causes frequent reconciliation attempts, then realtime compositions can worsen this situation and cause even more reconciles and cloud provider API calls. A good example of a bug like this can be seen in https://github.com/crossplane/crossplane/issues/6461.
  • ⚠️ To preserve the previous behavior when upgrading to v1.20.0, set --set args='{"--enable-realtime-composition=false"}' during the Helm upgrade.

Flag name changes

A few flags for the core Crossplane binary have been renamed in this release:

Old flag name New flag name Notes
--webhook-enabled --enable-webhooks The old --webhook-enabled flag has been deprecated, but still functions in this release. If it is used, you will see a warning about its deprecation and removal in a future release.
--cache-dir --xpkg-cache-dir The old --cache-dir flag has been deprecated, but still functions in this release. If it is used, you will see a warning about its deprecation and removal in a future release.
--automatic-dependency-downgrade-enabled --enable-dependency-version-downgrades As this is an alpha feature, the old flag name has been removed entirely.

🎉 Highlights

  • Realtime compositions: Crossplane will compose resources faster than ever before now with realtime compositions matured to Beta and enabled by default. Crossplane automatically sets up watches so it will be aware of any relevant changes and execute the composition pipeline immediately in response. No more waiting minute(s) for changes related to your compositions to be reflected in your control plane!
  • Mirror packages to private repositories: Mirroring Crossplane packages to your private repos is now much easier than in previous releases. The ImageConfig API now allows package paths to be rewritten via prefix replacement. This allows packages and their dependencies to be mirrored to a different registry but installed using their original paths.
  • Change logs in providers: The change logs feature has been rolled out to some community providers, for example provider-kubernetes and provider-helm. This allows the providers to log every change they are making and the reason for doing so. Take a look at the change logs guide in the Crossplane docs to learn more.
  • Function response caching: A new Alpha feature, enabled with --enable-function-response-cache, allows the caching of responses in the function pipeline to the Crossplane pod filesystem. Using cached responses can reduce the amount of requests Crossplane sends to functions.
  • Crossplane CLI shell completions: Shell completions are now included for the crossplane CLI, enabling you to autocomplete crossplane commands with arguments and values. Try out crossplane beta trace and instead of typing or pasting the resource name, just let <tab> auto complete find it for you! Learn how to get started with shell completions in the CLI reference.

🏅 Release MVP

For the first time ever in Crossplane release history, we are recognizing two community members for their awesome contributions to the v1.20.0 release and naming them both release MVPs! Congratulations and thank you to our release MVPs @​chlunde and @​twobiers! 🎉

  • @​chlunde was a significant help during testing and validation of the v1.20.0 RC build. Carl took the time to install the RC on his lab test cluster (possibly one of the oldest known living Crossplane control planes 👴) and reported all of the potential issues along with helpful descriptions and reproduction steps. This type of participation by the community to validate the release candidates is so incredibly helpful to make each release high quality. Thank you @​chlunde!
  • @​twobiers took the initiative to contribute an awesome feature to the Crossplane CLI with shell completions, as noted in the release highlights section above. We're especially grateful that @​twobiers had the patience to work with the maintainer team through a long review cycle. The wait was worth it, as we are already loving the ease of use that comes when typing crossplane <tab> and having commands, resources, etc. auto completed for you. What a great feature to improve Crossplane user quality of life. Thank you @​twobiers!

What's Changed

New Contributors

Full Changelog: crossplane/crossplane@v1.19.0...v1.20.0

v1.19.2

Compare Source

What's Changed

Full Changelog: crossplane/crossplane@v1.19.1...v1.19.2

v1.19.1

Compare Source

This is a patch release scoped to fixing issues reported by users of Crossplane v1.19 and fixing security related issues in Crossplane's dependencies.

What's Changed

Full Changelog: crossplane/crossplane@v1.19.0...v1.19.1

v1.19.0

Compare Source

The v1.19.0 release is a regular quarterly Crossplane release that is focused on maturing a number of key areas of functionality across the project, as Crossplane continues to become more capable, more reliable, and more performant for your production workloads.

🚨 Notable Changes

  • The Usage API was promoted to Beta and is now enabled by default.
  • Claim server side apply has been promoted to Beta and is now enabled by default.
    • This fixes numerous issues associated with updating a claim and having the update propagate correctly to the corresponding composite resource. These issues can be summarized as:
      • Patches would never remove a field from an object; they were only additive.
      • Arrays were always replaced, not merged, so existing entries in arrays could be overwritten.
    • We expect the vast majority of users to benefit from this change, but there is a slight possibility of impact to users of claims if they were actually relying on this previous buggy/incorrect behavior.

🎉 Highlights

  • The Ports that Crossplane uses can now be customized, enabling Crossplane to run in HostNetwork scenarios, such as an AWS EKS cluster with the Calico CNI.
  • The Alpha automatic dependency management feature from v1.18 has been augmented with an optional ability to also automatically downgrade packages if needed to meet version constraints.
  • The Crossplane CLI commands such as render and validate that download Crossplane packages now work well with private repositories.
  • An API promotion policy is now defined and a contributor guide has been written to help Crossplane contributors always safely promote APIs in the project.

🏅 Release MVP

The "Release MVP" for this v1.19.0 release of Crossplane is @​Argannor! They contributed the "configurable ports" feature that is critical to get Crossplane and its providers working with managed Kubernetes instances where the control plane is on a separate network from the worker nodes. The community has been requesting this functionality for a long time and @​Argannor implemented a very thorough and diligent design, and had the patience to go through a number of iterations and reviews before landing on the final feature. Thank you very much for your patience, thoroughness, and contributing an awesome feature for the Crossplane community @​Argannor! 🙇‍♂️ 🙌

📖 Full Changelog

New Contributors

Full Changelog: crossplane/crossplane@v1.18.0...v1.19.0

v1.18.5

Compare Source

What's Changed

Full Changelog: crossplane/crossplane@v1.18.4...v1.18.5

v1.18.4

Compare Source

This is a patch release scoped to fixing issues reported by users of Crossplane v1.18 and fixing security related issues in Crossplane's dependencies.

What's Changed

Full Changelog: crossplane/crossplane@v1.18.3...v1.18.4

v1.18.3

Compare Source

This is a patch release scoped to fixing issues reported by users of Crossplane v1.18 and fixing security related issues in Crossplane's dependencies.

What's Changed

Full Changelog: crossplane/crossplane@v1.18.2...v1.18.3

v1.18.2

Compare Source

This is a patch release scoped to fixing issues reported by users of Crossplane v1.17 and fixing security related issues in Crossplane's dependencies.

Users of v1.18.x reported that they were no longer able to downgrade a Crossplane installation from v1.18.x to a previous v1.17.x version. This was fixed in https://github.com/crossplane/crossplane/pull/6157 and we expect downgrades from v1.18.2 to be working once again.

The way Usage objects are managed within a Composition has been updated in https://github.com/crossplane/crossplane/pull/6155 to prevent orphaned Usage objects from remaining in the control plane when a Composition that creates a Usage is updated. The change is described below:

  • When the Usage itself deleted, the usage controller will wait for using resource before removing the finalizer, only if the Usage is part of a composite (i.e has crossplane.io/composite label).
  • When a resource removed from a composition (i.e. decomposed), the composition controllers (both PT and function) will remove the composed resource labels before deleting the resource.
  • This behavior is visually summarized in https://github.com/crossplane/crossplane/issues/5880#issuecomment-2363433313

What's Changed

Full Changelog: crossplane/crossplane@v1.18.1...v1.18.2

v1.18.1

Compare Source

What's Changed


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
Copy link
Contributor Author

renovate bot commented Apr 6, 2025

ℹ Artifact update notice

File name: go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 7 additional dependencies were updated

Details:

Package Change
github.com/evanphx/json-patch v5.9.0+incompatible -> v5.9.11+incompatible
github.com/gobuffalo/flect v1.0.2 -> v1.0.3
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0 -> v0.60.0
go.opentelemetry.io/otel/sdk/metric v1.34.0 -> v1.35.0
google.golang.org/grpc v1.71.0 -> v1.71.1
sigs.k8s.io/controller-tools v0.14.0 -> v0.16.5
github.com/crossplane/crossplane-runtime v1.17.0 -> v1.20.0

@renovate renovate bot force-pushed the renovate/github.com-crossplane-crossplane-1.x branch from d0b1263 to ba202cf Compare April 26, 2025 07:56
@renovate renovate bot force-pushed the renovate/github.com-crossplane-crossplane-1.x branch 10 times, most recently from dbf6482 to 71b1c76 Compare May 16, 2025 12:33
@renovate renovate bot force-pushed the renovate/github.com-crossplane-crossplane-1.x branch 7 times, most recently from 17d2053 to b081175 Compare May 21, 2025 19:30
@renovate renovate bot changed the title fix(deps): update module github.com/crossplane/crossplane to v1.19.1 fix(deps): update module github.com/crossplane/crossplane to v1.19.2 May 21, 2025
@renovate renovate bot force-pushed the renovate/github.com-crossplane-crossplane-1.x branch 6 times, most recently from e0fc131 to 2598a93 Compare May 24, 2025 15:10
@renovate renovate bot changed the title fix(deps): update module github.com/crossplane/crossplane to v1.19.2 fix(deps): update module github.com/crossplane/crossplane to v1.20.0 May 24, 2025
@renovate renovate bot force-pushed the renovate/github.com-crossplane-crossplane-1.x branch from 2598a93 to cffdd08 Compare June 4, 2025 11:18
@renovate renovate bot force-pushed the renovate/github.com-crossplane-crossplane-1.x branch from cffdd08 to 7d2da12 Compare June 4, 2025 12:07
@reshnm reshnm merged commit d168d28 into main Jun 5, 2025
10 checks passed
@reshnm reshnm deleted the renovate/github.com-crossplane-crossplane-1.x branch June 5, 2025 12:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant