Crossplane 2.4.1: Fixing the Control Plane Hand-off
Sources
Crossplane v2.4.1 is a patch release, but it addresses a critical failure mode in the provider lifecycle: the "cannot establish control of object" error during package revision transitions.
Technical Breakdown: The Hand-off Failure
In previous versions, when a new package revision attempted to replace an old one, the outgoing revision occasionally failed to relinquish control of the package's CRDs. This left the incoming revision in a permanent unhealthy state. Because the provider pod would not be created until control was established, the system entered a deadlock that required manual intervention—either deleting the stale revision or manually editing the CRD's owner reference.
The Fix: Direct Control Acquisition
The fix implements a more aggressive hand-off mechanism where the incoming package revision directly takes control of established objects from the revision it replaces. By removing the dependency on the outgoing revision to "give up" control, Crossplane eliminates the deadlock risk. This is a classic example of moving from a cooperative hand-off to a preemptive one to ensure system availability.
Who Should Skip?
Nobody. This is a stability fix for any team using Package Revisions for provider updates. If you've seen "cannot establish control" in your logs, this is your mandatory update.