Skip to content

[WIP] Add documentation for the release cycle - #93

Draft
AThousandShips wants to merge 1 commit into
godotengine:mainfrom
AThousandShips:release_cycle_overview
Draft

[WIP] Add documentation for the release cycle#93
AThousandShips wants to merge 1 commit into
godotengine:mainfrom
AThousandShips:release_cycle_overview

Conversation

@AThousandShips

Copy link
Copy Markdown
Member

Checklists for the release process

Still very much in progress but rough outlines for feedback and for the relevant teams to provide the steps for their areas

@AThousandShips AThousandShips added enhancement New feature or request content:new page Issues and PRs related to creation of new documentation pages for new or undocumented features labels Jul 1, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@akien-mga Would appreciate some help on this section

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rough process dump for editor strings: https://gist.github.com/akien-mga/9357c5886e06fdff70f0499970cd4115

I'll add the process for the docs/manual later.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Transferred and integrated these steps partially and will do some proofreading of them tomorrow! Thank you!

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mhilbrunner @skyace65 Would appreciate some help outlining these processes here

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is going to be a mhilbrunner thing. I haven't done release day changes (making the new branch) before.

@mhilbrunner mhilbrunner Jul 2, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hai. I can indeed provide at least some of these (especially the docs; translations are the big one where I lack the practical experience, although I've tried to follow along when Akien patiently explained the process to me :P)

I'm pretty swamped currently, but I'll try to find a minute to contribute in whatever form works best... maybe a PR to this PR?

Also thanks for taking the initiative and working on this, its been sorely needed for a long while.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you! And we can work out how to best provide the details, perhaps a gist? Or if someone else who is familiar with the details can help as well

But this PR will take a while to get through my own tuning and adding sections so no rush!


* Steam release

* Sync ``godot-headers``

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This step revolves around the godot-headers repo, where the master branch is updated to include the stable release's extension_api.json and gdextension_interface.h output. Thereafter, a new branch should be made and pushed upstream named after the stable release version, which is where future maintenance releases for that minor version will be pushed (if necessary). Because GHA relies on this, it should be performed before syncing the godot stable branch upstream

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will adjust tomorrow!


* In the ``godot`` repository:

.. TODO: Add more details here

@Repiteo Repiteo Jul 1, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Off the top of my head:

  • Ensure that CHANGELOG.md is updated with content from the interactive changelog.1 It can be mostly copied 1-1, but still necessitates a pass in each section to make sure it's properly alphabetized (though this should be fixed in the changelog repo, now that I say it out loud) & any reversion/reverted PR pairs are stripped (if and only if they occurred within the same cycle)
  • Dedicated commit bumping version.py to stable (status = "dev" and docs = "<minor release version>")2. The commit's content should look like this:
Bump version to 4.x-stable \o/

<maintainer writeup from the release page's blogpost for major/minor releases>

See the release page for details: https://godotengine.org/releases/4.x/
  • Immediately after syncing the stable branch upstream: create a lightweight Git tag pointing to the release commit SHA & push it upstream. This MUST be done before running the stable publishing steps, as uploading the builds to the main repo relies on the tag existing. MAKE SURE you don't have a branch name that overlaps with the prospective tag, or this step will fail! It'll look like this (4.7 as an example):
git tag -f 4.7-stable 5b4e0cb0fd279832bbdd69fed5354d4e5ad26f88
git push upstream 4.7-stable
  • Before any other commits/PRs are merged, standalone commit should be pushed that bumps version.py and other related files targeting the just-released version.3

Footnotes

  1. godotengine/godot@3660beb

  2. godotengine/godot@5b4e0cb

  3. godotengine/godot@d0b80d5

@AThousandShips
AThousandShips force-pushed the release_cycle_overview branch from 359938a to 4000c81 Compare July 3, 2026 14:46
@AThousandShips

Copy link
Copy Markdown
Member Author

Updated from the outlines above, will look at adding the translation content next week and tuning some of the other sections, thank you @Repiteo!

@AThousandShips
AThousandShips force-pushed the release_cycle_overview branch from 4000c81 to a7a0b58 Compare July 7, 2026 15:27
Checklists for the release process
@AThousandShips
AThousandShips force-pushed the release_cycle_overview branch from a7a0b58 to 0cb5fc9 Compare July 9, 2026 13:52
@AThousandShips

Copy link
Copy Markdown
Member Author

CC @dsnopek @BastiaanOlij any steps critical for the extension/godot-cpp side that would be good to document here?

@dsnopek

dsnopek commented Jul 29, 2026

Copy link
Copy Markdown

any steps critical for the extension/godot-cpp side that would be good to document here?

It could make sense to add some notes to the release_cycle_checklists.rst for godot-cpp:

  • On every -beta, -rc and 4.x.0-stable release, we update the extension_api.json and gdextension_interface.json for that Godot minor version
    • We don't do this for 4.x.1, 4.x.2, etc patch releases, because that would lock godot-cpp to requiring that specific patch release or above
    • This is has traditionally been done via a commit directly to master, without a PR (although, a handful of times it was done via a PR, usually when some other part of it needed review)
    • Here's an example.

I think that's all that would fit in with what's in the PR so far. It may be worth nothing somewhere that we don't allow changes to gdextension_interface.json in patch releases, but that doesn't seem to fit in here

@AThousandShips

AThousandShips commented Jul 29, 2026

Copy link
Copy Markdown
Member Author

Thank you will look at integrating that and doing some restructuring today!

Edit: Will get back to this on Monday

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

content:new page Issues and PRs related to creation of new documentation pages for new or undocumented features enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants