Skip to content

Cut v2.2.2 Release on May 19, 2026 #71

@jbw976

Description

@jbw976

This issue can be closed when we have completed the following steps (in order).
Please ensure all artifacts (PRs, workflow runs, Tweets, etc) are linked from
this issue for posterity. Refer to this prior release issue for
examples of each step, assuming v2.2.2 is being cut.

  • Determine whether a Crossplane Runtime patch is needed by checking if the release-2.2 branch of crossplane-runtime has commits ahead of its latest tag. If so, cut a Crossplane Runtime patch and consume it from Crossplane:
    • [In Crossplane Runtime]:
      • Confirm that all security/critical dependency update PRs from Renovate are merged into the release-2.2 branch
      • Run the Tag workflow on the release-2.2 branch with the proper release version, v2.2.2. Message suggested, but not required: Release v2.2.2.
      • Published a new release for the tagged version, with the same name as the version, taking care of generating the changes list selecting as "Previous tag" v2.2.1, so the previous patch release for the same minor (or v2.2.0 for the first patch).
    • [In Core Crossplane]: (On the Release Branch) Open and merge a PR updating the Crossplane Runtime dependency to v2.2.2.
  • Confirm that all security/critical dependency update PRs from Renovate are merged into the release-2.2 branch
  • Run the Tag workflow on the release-2.2 branch with the proper release version, v2.2.2. Message suggested, but not required: Release v2.2.2.
  • Run the CI workflow on the release branch and verified that the tagged build version exists on the releases.crossplane.io build channel, e.g. build/release-2.2/v2.2.2/... should contain all the relevant binaries.
  • Confirm the full set of patch versions that will be released and promote them from lowest to highest, so the highest version is the last to be promoted (e.g. v1.12.2 should be promoted after v1.11.3), in order to avoid the promote workflow overwriting the latest patch release.
    • NOTE: This ordering requirement can be avoided by checking the "pre-release" checkbox in the promote workflow for the older releases, as described in #5420.
  • Run the Promote workflow with channel stable on the release-2.2 branch and verified that the tagged build version exists on the releases.crossplane.io stable channel at stable/v2.2.2/....
  • Published a new release for the tagged version, with the same name as the version and descriptive release notes, taking care of generating the changes list selecting as "Previous tag" v2.2.1, so the previous patch release for the same minor. Before publishing the release notes, set them as Draft and ask the rest of the team to double check them.
  • Request @jbw976 to perform a CloudFront cache invalidation on https://charts.crossplane.io/stable/ and https://releases.crossplane.io/stable/
  • Ensured that users have been notified of the release on all communication channels:
    • Slack: #announcements channel on Crossplane's Slack workspace.
    • Twitter: reach out to a Crossplane maintainer or steering committee member, see OWNERS.md.
    • Bluesky: same as Twitter
    • LinkedIn: same as Twitter
  • Remove any extra permissions given to release team members for this release

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions