Skip to content

Cut v2.3.2 release on 9 June 2026 #78

@adamwg

Description

@adamwg

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.3.2 is being cut.

  • Determine whether a Crossplane Runtime patch is needed by checking if the release-2.3 branch of crossplane-runtime has commits ahead of its latest tag.
    • One way to check this is git log $(git describe --tags --abbrev=0 upstream/release-2.3)..upstream/release-2.3 --oneline, if it shows any commits then a patch release is needed.
    • If a Crossplane Runtime patch is needed, 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.3 branch
        • Run the Tag workflow on the release-2.3 branch with the proper release version, v2.3.2. Message suggested, but not required: Release v2.3.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.3.1, so the previous patch release for the same minor (or v2.3.0 for the first patch).
      • [In Core Crossplane]: (On the Release Branch) Open and merge a PR updating the Crossplane Runtime dependency to v2.3.2.
  • Confirm that all security/critical dependency update PRs from Renovate are merged into the release-2.3 branch
  • Run the Tag workflow on the release-2.3 branch with the proper release version, v2.3.2. Message suggested, but not required: Release v2.3.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.3/v2.3.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.3 branch and verified that the tagged build version exists on the releases.crossplane.io stable channel at stable/v2.3.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.3.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

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