Release Process - dolphin-emu/dolphin GitHub Wiki
Creating a Dolphin Release does require some steps, but if you know what to do it's fairly straightforward.
Releases are versioned as follows: YYMM
, where YY
is the current year, and MM
is the current month. Hotfix releases are versioned as follows: YYMMp
, where p
is the hotfix letter. For example, 2407
would be a release made in July 2024, and 2407a
would be the first hotfix for that release.
Releases can only be created by core developers.
- Perform a translation sync with Transifex if creating a major release.
- Create a new branch:
git checkout -b <branch name> <base commit or tag>
- If creating a major release, name the branch
release-prep-YYMM
and specify the commit that the release should be based on. - If creating a hotfix release, name the branch
release-prep-YYMMp
and base it on the tag of the last release.
- If creating a major release, name the branch
- Cherry pick any necessary commits.
- Update the version constants in
CMake/ScmRevGen.cmake
, and commit the result.- Set
DOLPHIN_VERSION_MAJOR
toYYMM
. - Set
DOLPHIN_VERSION_MINOR
to the patch number. If creating a hotfix release, use the number corresponding to the patch letter (for example,a
is1
,b
is2
, etc). Otherwise, set to0
.- This field must be set to a number as CPack does not support non-numerical values in the minor or patch version fields.
- The version constants commit should be the last one in the branch.
- Set
- Push the branch to GitHub:
git push -u origin <branch name>
. - Smoke test the produced builds.
- The builds can be downloaded at
https://dolphin-emu.org/download/list/release-prep-YYMM/1/
. - Now is the time to fix any last-minute issues. Additional builds can be created by pushing new commits to GitHub. Remember that the version constants commit should be the last one in the branch, so the branch should be rebased or abandoned in favor of a fresh one.
- The builds can be downloaded at
- Create an annotated tag:
git tag -a <version> -m "Release for some date"
- Push the tag to GitHub:
git push origin <version>
. - The release builds will automatically show up on the normal download page.
- Publish the corresponding Progress Report, if any.
- After publishing, post the link to the Progress Report onto Twitter, Mastodon, Bluesky, etc.
- Push the new release to the
beta
update track through theUpdate Tracks
interface on the dolphin-emu.org admin panel. - If this is a regular release, merge the release branch back into
master
:git checkout master
,git merge --no-ff <branch name>
.-
--no-ff
is important, as we require a merge commit.
-
- If this is a hotfix release, cherry pick the version constants commit made in step 4 into
master
.