Version v0.5.4 of the documentation is no longer actively maintained. The site that you are currently viewing is an archived snapshot. For up-to-date documentation, see the latest version.
Backport to a release branch
Every change lands on main first; a patch ships it through a cherry-pick to
release-X.Y (ADR 0062).
Usually the maintainer does this step.
Branch from the release branch, not from
main:git fetch origin release-X.Y git switch -c cp/<pr-number>-<slug> origin/release-X.Y git cherry-pick -x <merge-sha-on-main>The
-xline(cherry picked from commit ...)is whatscripts/release-gap.shmatches; a pick without it counts as missing.Keep migration order. Picks that carry migrations go in the order they merged on
main, so the release branch keeps the same numbers.Open the PR against
release-X.Y, titled[release-X.Y] <original title>, linking the original PR, with its changelog fragment, and copying itsskip-changelogandskip-docslabels and itsSkip-docs:line; the guards run on release branches too. Keep the fragment’s file name and text exactly as onmain: after the patch ships, the changelog sync finds the copy onmainby that name and text and deletes it, so the next minor does not publish it again (what happens to the fragment).Do not stack picks. A PR whose base is another
cp/*branch runs no CI, and retargeting it later does not start one. Open each pick againstrelease-X.Y; when one depends on another, wait for the first to merge.Check the gap before asking for a cut:
scripts/release-gap.sh X.Y.Zlists whatmainhas that the release branch lacks. A change that will never ship in the minor goes in.github/release-skip.txton the release branch, with its reason.