mirror of
				https://github.com/dolphin-emu/dolphin.git
				synced 2025-11-03 13:16:15 +01:00 
			
		
		
		
	
						
							Page:
							Release Process
						
						
					
					
							Pages
							
							
								About Dolphin's CI Bot
							
								Auto Update Internals
							
								Buildbot Overview
							
								Building for Linux
							
								Building for OpenBSD
							
								Building for Windows
							
								Building for macOS
							
								FIFO Player Overview
							
								GameCube Action Replay Code Types (Simple Version)
							
								GameCube Action Replay Code Types
							
								Home
							
								IOS Overview
							
								Infrastructure Access
							
								Post Processing Shaders
							
								Release Process
							
								Running Unit Tests
							
								User and Data Folders
							
								Zelda Microcode
							
						
					 Clone
	
					24 
					
				
						Release Process
						
				
							
							Amphitryon0 edited this page 2025-08-06 17:58:41 -05:00 
						
					Table of Contents
Introduction
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.
Details
- 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-YYMMand base it on themasterbranch. - If creating a hotfix release, name the branch 
release-prep-YYMMpand base it on the tag of the last release. 
 - If creating a major release, name the branch 
 - Add any necessary commits.
- If creating a major release and the previous release was a hotfix, merge the hotfix branch into the new release branch. The tree should generally be the same here as before the merge with the exception of 
CMake/ScmRevGen.cmake. - If creating a hotfix release, cherry-pick the changes from 
master. 
 - If creating a major release and the previous release was a hotfix, merge the hotfix branch into the new release branch. The tree should generally be the same here as before the merge with the exception of 
 - Update the version constants in 
CMake/ScmRevGen.cmake, and commit the result.- Set 
DOLPHIN_VERSION_MAJORtoYYMM. - Set 
DOLPHIN_VERSION_MINORto the patch number. If creating a hotfix release, use the number corresponding to the patch letter (for example,ais1,bis2, 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 (using 
--force-with-lease). 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 
betaupdate track through theUpdate Tracksinterface 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-ffis important, as we require a merge commit.
 
- 
Building
 - 
Feature explanations
 - 
Dolphin Infrastructure
 - 
Reference
 
Homepage | Project Site | Forums | Wiki | Issue Tracker | Coding Style | Transifex Page