Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Nov 6, 2025

This PR contains the following updates:

Package Change Age Confidence
github.com/crossplane/crossplane/v2 v2.1.0-rc.1 -> v2.1.0 age confidence

Release Notes

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

v2.1.0

Compare Source

The v2.1.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. After the major v2.0 release, we spent time focusing on polishing and hardening the experience with the goal of enhancing core reliability.

⚠️ Upgrade from v2.0

It is strongly advised to upgrade to v2.1 from the previous minor version, which is v2.0. Upon upgrade for each minor release, Crossplane performs any necessary migrations of its CRDs to ensure the latest versions are stored in the Kubernetes API server. Therefore, it is important to upgrade sequentially through one minor version at a time as described in the upgrade docs.

🎉 Highlights

  • XR circuit breaker: A circuit breaker was added to all Composite Resource (XR) controllers in #​6777 to prevent reconciliation thrashing when controllers fight over composed resource state. This addresses a common cause of excessive resource (CPU) usage.
    • Each circuit breaker monitors reconciliation rates for their XR and opens ("breaks the circuit") when thresholds are exceeded (50 burst, 1 every 2s sustained). While open, it blocks most reconcile requests but allows one through every 30 seconds. The circuit stays open for 5 minutes, then automatically closes and returns to normal operation. If thrashing resumes, the circuit will open again.
  • Realtime compositions for namespaced XRs: #​6780 fixes an issue where namespaced XRs were not being reconciled in response to changes in their composed resources.
  • crossplane render for remote Docker daemons: #​6799 fixes an issue that prevented crossplane render from establishing a connection to the remote Docker host.
    • crossplane render now allows function annotations to be passed on the command line with -a/--function-annotations flags. Two new function annotations are now supported:
      • render.crossplane.io/runtime-docker-publish-address controls the host address Docker publishes the container port to (defaults to 127.0.0.1 for security)
      • render.crossplane.io/runtime-docker-target controls the address the CLI connects to (defaults to the publish address)
  • XRD change detection: In previous versions of Crossplane, XRD spec fields could change without the XR controller being restarted automatically. With #​6806, users no longer need to manually restart the Crossplane deployment for some XRD changes to take effect.

🚨 Warnings and breaking changes

  • Crossplane's custom rate limiting implementation as well as client-side rate limiting has been removed in #​6851 as proposed and described in detail in #​6790.
    • Crossplane's reconcilers will rely on a combination of the Kubernetes API Priority and Fairness, the circuit breaker described in the highlights below, and worker pool size configuration to appropriately manage reconciliation load and retries in the control plane.
    • --max-concurrent-reconciles can be set to influence the maximum number of concurrent reconcile operations (worker pool size) that Crossplane will perform.
      • The --max-reconcile-rate flag has been renamed to this new --max-concurrent-reconciles flag to better represent what this flag controls
      • The old --max-reconcile-rate flag is now an alias for the new flag name
    • Providers are unaffected by this change, only core Crossplane reconcilers are affected.

🏅 Release MVP

@​binarycode is the v2.1 release MVP! They discovered a critical issue preventing realtime compositions from functioning correctly for namespaced XRs. Their fix in #​6780 now properly configures an index for each namespaced XR so that events generated from changes in their composed resources correctly result in the XR being enqueued for reconciliation.

Thank you very much to @​binarycode, our latest release MVP! 🙇‍♂️

What's Changed

New Contributors

Full Changelog: crossplane/crossplane@v2.0.0...v2.1.0


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 becomes conflicted, 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 renovate bot added the automated label Nov 6, 2025
@renovate renovate bot force-pushed the renovate/github.com-crossplane-crossplane-v2-2.x branch from 5903fc3 to b1392f7 Compare November 7, 2025 16:41
@renovate renovate bot force-pushed the renovate/github.com-crossplane-crossplane-v2-2.x branch from b1392f7 to a8ceec2 Compare November 7, 2025 16:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant