Difference between revisions of "HOWTO-Release"

Jump to navigation Jump to search
→‎Tagging a version: Explained how to set default version in docportal
(Remove instruction for deleting release branches)
(→‎Tagging a version: Explained how to set default version in docportal)
 
(100 intermediate revisions by 12 users not shown)
Line 1: Line 1:
How to make a ScummVM release.
How to make a ScummVM release.
'''NOTE: This checklist simply works from top to bottom. No deviations, not jumping around, just follow it. And yes, I wrote this for myself (rootfather)'''


''This is work in progress and needs to be completed!''
''This is work in progress and needs to be completed!''


All examples are based on the 2.7 and 2.7.0 version. Don't forget to adapt with the adequate version number.
For "x.y.0" releases of ScummVM, we also release a new version of the ScummVM Tools set.
=== Definitions ===
* Major release: A major release marks the leap from e.g. ScummVM 2.6.x to 2.7.x
* Minor release: A minor release marks the exact version we release, e.g. ScummVM 2.6.0 or 2.6.1.


=== Preparations ===
=== Preparations ===
* Making the release plan
* Make the release plan, normally 1-2 weeks before branching, 3-4 weeks for bug fixing, 2 weeks after tagging before the release.
* Telling people about it, making sure everybody knows what is going on
** For reference, ScummVM 2.3.0 was built according to the following schedule:
<pre>August 14 (Sat): Release testing announced, feature freeze in master
August 28 (Sat): Release branch created, master unfrozen
September 17 (Fri): Release tagged, porters asked to submit their builds
September 27th (Mon): Release</pre>
* e-mail -devel with the proposed schedule, ask if someone would like to finish some functionality
* Look through all the open issues on the bugtracker and identify release blockers and nice-to-have-fixed bugs
* Update the lists of files below, adding new engine data files and such
* Update the lists of files below, adding new engine data files and such
* If some games must be fixed before the release, identify those and create a list at [[Release Testing]]
* Announce the testing period on the main website and copy to the forums and FB
=== During the release cycle ===
* Create a thread in the #team-talk channel on Discord: "X.Y.Z Release Preparations" for easier communication
*E-mail the scummvm-devel list at least weekly with the list of release blockers and nice-to-have-fixed bugs
*Share those e-mails in the release discussions thread on Discord
* Track daily testing progress and update Wiki if applicable. Normally, we collect playtests on the forums
* Watch for any potential blockers and pat developers who own the identified blockers
* Squash as many bugs as possible


=== Branching for 1.4.x ===
=== Branching for major release ===
* Create a branch for the 1.4.x releases from master, named branch-1-4
* Before creating the branch make sure there is no pending changes on weblate
** <code>git checkout -b branch-1-4 master</code>
** Go to [https://translations.scummvm.org/projects/scummvm/#repository repository maintenance] for the ScummVM/scummvm component on the translations website: https://translations.scummvm.org/projects/scummvm/scummvm/#repository
* Increase version on branch-1-4 to 1.4.0pre (using <code>devtools/update-version.pl</code>; see below), and commit
*** Click on the Lock the component button
** <code>devtools/update-version.pl 1 4 0 pre</code>
*** Commit pending changes, and push.
** <code>git commit -m "RELEASE: This is 1.4.0pre" -a</code>
* Create a branch for the 2.7.x releases from master, named branch-2-7
* Create annotated tag desc/1.4.0pre on that commit and push
** <code>git checkout -b branch-2-7 master</code>
** <code>git tag -m "Mark 1.4.0pre" desc/1.4.0pre</code>
* Increase version on branch-2-7 to 2.7.0pre (using <code>devtools/update-version.pl</code>; see below), and commit
** <code>git push origin tag desc/1.4.0pre branch-1-4:branch-1-4</code>
** <code>devtools/update-version.pl 2 7 0 pre</code>
* Increase version on master to 1.5.0git, and commit
** <code>git commit -m "RELEASE: This is 2.7.0pre" -a</code>
* Create annotated tag desc/2.7.0pre on that commit and push
** <code>git tag -a -m "Mark 2.7.0pre" desc/2.7.0pre</code>
** <code>git push origin tag desc/2.7.0pre branch-2-7:branch-2-7</code>
* Update doc/docportal/other_platforms/ios_build.rst to clone the new branch
** Change <code>git clone <nowiki>https://github.com/scummvm/scummvm.git</nowiki></code> to <code>git clone --depth 1 -b branch-2-7 <nowiki>https://github.com/scummvm/scummvm.git</nowiki></code>
** <code>git add doc/docportal/other_platforms/ios_build.rst</code>
** <code>git commit -m 'DOC: Update iOS clone command for 2.6 branch'</code>
** <code>git push</code>
* Increase version on master to 2.8.0git, and commit
** <code>git checkout master</code>
** <code>git checkout master</code>
** <code>devtools/update-version.pl 1 5 0 git</code>
** <code>devtools/update-version.pl 2 8 0 git</code>
** <code>git commit -m "RELEASE: This is 1.5.0git" -a</code>
** <code>git commit -m "RELEASE: This is 2.8.0git" -a</code>
* Create annotated tag desc/1.5.0git on that commit and push
* Create annotated tag desc/2.7.0git on that commit and push
** <code>git tag -m "Mark 1.5.0git" desc/1.5.0git</code>
** <code>git tag -a -m "Mark 2.8.0git" desc/2.8.0git</code>
** <code>git push origin tag desc/1.5.0git master</code>
** <code>git push origin tag desc/2.8.0git master</code>
* Switch Weblate to the new branch
** Go to the component Version control Settings: https://translations.scummvm.org/settings/scummvm/scummvm/#vcs
*** Change the Repository branch setting from master to the new branch
** Go to repository maintenance for the ScummVM/scummvm component on the translations website: https://translations.scummvm.org/projects/scummvm/scummvm/#repository
*** Unlock the component
** Go to the announcement settings for the ScummVM/scummvm component on the translations website: https://translations.scummvm.org/projects/scummvm/scummvm/#announcement
*** Post an announcement along the line of ''ScummVM 2.8.0 will be released soon. You have until Thursday December 14 to update your translations.'' Set the color to Warning, set the expiry date to the translation freeze date, and make sure the ''Notify users'' option is toggled on.
* Update buildbot
** Edit at the end of [https://github.com/scummvm/dockerized-bb/blob/master/buildbot-config/builds.py builds.py] the line starting with <code>builds.append(ScummVMStableBuild("stable",</code>.
** Remove the customizations in <code>class ScummVMStableBuild</code> if there were any to make the code inherit from ScummVMBuild without any difference.
** Edit the file [https://github.com/scummvm/dockerized-bb/blob/master/buildbot-config/platforms.py platforms.py] and remove all specific rules mentioning <code>ScummVMStableBuild</code>
** Update the code on the server and reload the buildbot as described [[Buildbot#Administration_on_server|here]]
** Remove the old snapshots: <code> rm /home/buildbot/dockerized-bb/buildbot-data/packages/snapshots/stable/*</code>
** Login on Buildbot, force a build of fetch-stable with cleaning and packaging to create packages for the new stable.
* Communication
** Update IRC and Discord channel description
** Write a mail to scummvm-devel
 
=== Semi-automated Checks ===
* Run <pre>make release-checks</pre> for performing several routine checks covered below:
** Icons and Shader packs
** ADGF_TESTING
** IDE Projects
** Translations
** Release Notes on FRS
** Engine data for MM and Ultima
 


=== Testing ===
=== Testing ===
* Ensure ADGF_TESTING/ADGF_UNSTABLE flags are correct for the release.
* Identify release critical (show stopper) bugs and get people to fix them.
* Identify release critical (show stopper) bugs and get people to fix them.
* Identify other important bugs and get people to fix them.
* Identify other important bugs and get people to fix them.
Line 34: Line 97:


=== Preparing the source ===
=== Preparing the source ===
* Browse 'git log' since the previous release and add all significant changes to the NEWS file
* For a major release, make sure the translations.dat file is up to date.
** Go to repository maintenance for the ScummVM/scummvm component on the translations website: https://translations.scummvm.org/projects/scummvm/scummvm/#repository
*** Lock the component
*** Commit and push pending changes
** Use ''make translations-dat'' to update the translations data file (and then commit it if it was changed).
** At this point Weblate can be switched back to master:
*** Copy all po/*po file from the release branch
*** In master branch run <code>make updatepot ; make po/*.po</code>
*** Commit and push: <code>git add po/scummvm.pot po/*.po ; git commit -m "I18N: Merge translations from branch-2-6" ; git push</code>
*** On https://translations.scummvm.org/settings/scummvm/scummvm/#vcs switch the repository branch setting back to master
*** On https://translations.scummvm.org/projects/scummvm/scummvm/#repository unlock the component
* At this point, create the minor release branch according to "Branching for minor releases"
* Note: Make sure that you update the version strings on _both_ the major and the minor branch accordingly!
* You have to update the versions in all relevant files. There is a script, <code>devtools/update-version.pl</code> meant to help you with this.  It will generate/update the following files:
* You have to update the versions in all relevant files. There is a script, <code>devtools/update-version.pl</code> meant to help you with this.  It will generate/update the following files:
** base/internal_version.h
** base/internal_version.h
Line 40: Line 117:
** dists/scummvm.rc
** dists/scummvm.rc
* Review the following documentation files for version and copyright year updates:
* Review the following documentation files for version and copyright year updates:
** README
** README(.md)
** NEWS
** NEWS(.md)
** COPYRIGHT
** COPYRIGHT
*Make sure ADGF_TESTING flag is cleared on all games.
* Review the following port specific files for version updates:
* Review the following port specific files for version updates:
** backends/platform/gp2x/build/README-GP2X
** backends/platform/gp2x/build/README-GP2X.html
** backends/platform/ps2/READ_PS2.TXT
** backends/platform/psp/README.PSP
** backends/platform/psp/README.PSP
** backends/platform/symbian/README
** backends/platform/symbian/README
** backends/platform/wince/README-WinCE.txt
** backends/platform/ds/arm9/dist/readme_ds.txt
* Review the release dates in the following port specific files:
* Review the release dates in the following port specific files:
** dists/win32/ScummVM.iss
** dists/win32/scummvm.gdf.xml
** dists/win32/scummvm.gdf.xml
* Make sure package descriptions are up-to-date:
* Make sure package descriptions are up-to-date:
** dists/redhat/scummvm.spec
** dists/redhat/scummvm.spec
* Create MSVC project files in the release branch (for example branch-1-4-0, where the tarballs are created from)
* Make sure there are no any significant pending GUI changes in the default icons set:
** Check [https://github.com/scummvm/scummvm-icons/tree/master/default scummvm-icons repo]
** Compare the creation date of the [https://github.com/scummvm/scummvm/blob/master/gui/themes/gui-icons.dat gui/themes/gui-icons.dat] with the directory above.
** If there are changes, run <code>zip -r9 gui-icons.dat *</code> and the commit it to the <code>gui/themes</code>
* Create MSVC project files in the release branch (for example branch-1-7-0, where the tarballs are created from)
** make ideprojects
** make ideprojects
** git commit -m "DISTS: Generated Code::Blocks and MSVC project files"
** git commit -m "DISTS: Generated Code::Blocks and MSVC project files"
** And last but not least don't forget to push the results to our github repo via "git push"
** And last but not least don't forget to push the results to our github repo via "git push"
* Make source tarballs, post them in the SF.net FRS.
* [[#Tagging_a_version|Tag version]]
** There is a script <code>devtools/dist-scummvm.sh</code>, which does this automatically.
* Make source tarballs, put them in the FRS directory.
** There is a script <code>devtools/dist-scummvm.sh</code>, which creates them automatically.
** Make sure that porters have write access to the release folder on FRS: <code>chmod 775 <folder></code>
** Make sure that porters have write access to the release folder on FRS: <code>chmod 775 <folder></code>
* Follow the instructions at [[HOWTO-Release#Signing binaries]] in order to enable updates via (Win)Sparkle


=== Branching for 1.4.0 ===
=== Branching for minor releases ===
* Create a branch for 1.4.0 from branch-1-4, named branch-1-4-0
* Create a branch for 1.7.0 from branch-1-7, named branch-1-7-0
** <code>git checkout -b branch-1-4-0 branch-1-4</code>
** <code>git checkout -b branch-1-7-0 branch-1-7</code>
* Increase version on branch-1-4-0 to 1.4.0 and commit, push
* Increase version on branch-1-7-0 to 1.7.0 and commit, push
** <code>devtools/update-version.pl 1 4 0</code>
** <code>devtools/update-version.pl 1 7 0</code>
** <code>git commit -m "RELEASE: This is 1.4.0" -a</code>
** Manually edit backends/platform/maemo/debian/changelog to reflect correct release date for 1.7.0 entry
** <code>git push origin branch-1-4-0:branch-1-4-0</code>
** <code>git commit -m "RELEASE: This is 1.7.0" -a</code>
** <code>git push origin branch-1-7-0:branch-1-7-0</code>


=== Binaries ===
=== Binaries ===
* Get porters to make binaries.
* Get porters to make binaries.
** Porter must follow our filename convention, which goes like this: "scummvm-VERSION-PORT.EXTENSION". For example: "scummvm-1.1.0-macosx.dmg". Do '''not''' use special names like "EScummVM" or "ScummVMDS". The only exclusion from this requirement is Debian.
** Porter must follow our filename convention, which goes like this: "scummvm-VERSION-PORT.EXTENSION". For example: "scummvm-1.1.0-macosx.dmg". Do '''not''' use special names like "EScummVM" or "ScummVMDS". The only exclusion from this requirement is Debian.
** Porters should pass "--enable-release" to configure in case their port is using the configure/make based build system. If their port is not using the configure/make based build system they should make sure they properly define RELEASE_BUILD when compiling their release binary.
** Porters should pass "--enable-release" to configure in case their port is using the configure/make based build system. If their port is not using the configure/make based build system they should make sure they properly define RELEASE_BUILD when compiling their release binary. It is also noteworthy that "--disable-debug" should be passed in order to remove debugging information from the binary.
** Here is a list of files porters should include in their release archives:
** Here is a list of files porters should include in their release archives:
*** AUTHORS
*** AUTHORS
*** COPYING
*** COPYING
*** COPYING.BSD
*** LICENSES/* (all additional licenses)
*** COPYING.LGPL
*** COPYRIGHT
*** COPYRIGHT
*** NEWS
*** NEWS(.md)
*** README (generic ScummVM one)
*** README(.md) (generic ScummVM one)
*** scummmodern.zip (from gui/themes directory) (if your port uses new GUI)
*** localized NEWS and README files (from doc/) (optional)
*** scummclassic.zip (from gui/themes directory) (if your port uses new GUI)
*** if your port uses new GUI:
**** scummmodern.zip (from gui/themes directory)
**** scummclassic.zip (from gui/themes directory)
**** scummremastered.zip (from gui/themes directory)
**** residualvm.zip (from gui/themes directory)
*** translations.dat (from gui/themes directory)
*** translations.dat (from gui/themes directory)
*** pred.dic (from dists directory)
*** engine data from dists/engine-data
*** kyra.dat (from dists/engine-data)
**** *.dat
*** queen.tbl (from dists/engine-data)
**** grim-patch.lab
*** sky.cpt (from dists/engine-data)
**** monkey4-patch.m4b
*** lure.dat (from dists/engine-data)
**** pred.dic
*** drascula.dat (from dists/engine-data)
**** queen.tbl
*** teenagent.dat (from dists/engine-data)
**** sky.cpt
*** hugo.dat (from dists/engine-data)
**** wintermute.zip
*** toon.dat (from dists/engine-data)
**** xeen.ccs
*** your build binary
*** your build binary
*** your build-specific README (optional)
*** your build-specific README (optional)
*** ...
*** ...
* Porters can upload binaries via SCP or SFTP: <code>scp FILENAME SFNET_USERNAME,scummvm@frs.sourceforge.net:/home/frs/project/s/sc/scummvm/scummvm/X.Y.Z/</code>
* Porters need to upload binaries. To do this, we will use our own Nextcloud instance, so porters don't have to rely on third-party services. To do this:
** More details on the upload process and the file release system in general: https://sourceforge.net/apps/trac/sourceforge/wiki/Release%20files%20for%20download
**Create a new shared folder with upload permissions in the Nextcloud (ask rootfather when in doubt)
* Update the website internally (i.e. update the version in the repository), but do not yet put these changes online.
**Set a new password for this shared folder
** Edit <code>include/config.inc.php</code> to update the global version.
**Mention this password in the mail to the mailing list asking for the porters to submit their builds
** Create a new XML file for the new version in <code>data/compatibility/</code>.
** Update <code>data/downloads.xml</code>.
** Add a news item.
** Update default platform packages on sf.net FRS
* Set the OS for the newly uploaded binaries (click on the (i) next to each binary).
** -win32.exe as Windows binary
** -macosx.dmg as Mac binary
** .tar.bz2 as Linux, FreeBSD and Other binary
** -solaris-x86.tar.gz as Solaris binary


=== Tagging 1.4.0 ===
=== Updating the Website ===
* When 1.4.0 is ready to be announced, make a permanent v1.4.0 tag in git to mark the release, and delete the 1.4.0 branch
Update the website internally (i.e. update the version in the repository), but do not yet put these changes online.
** <code>git checkout branch-1-4-0</code>
 
** <code>git tag -m "Tag v1.4.0" v1.4.0</code>
* Edit <code>include/Constants.phpq</code> to update the global version.
** <code>git push origin tag v1.4.0</code>
* Add a news item.
* Also increase the version number on the 1.4.x branch to 1.4.1pre
* Follow the instructions at [https://wiki.scummvm.org/index.php?title=HOWTO-Release#Signing_binaries HOWTO-Release#Signing binaries] in order to enable updates via (Win)Sparkle
** <code>git checkout branch-1-4</code>
* Copy over the release files to FRS
** <code>devtools/update-version.pl 1 4 1 pre</code>
** Set the OS for the newly uploaded binaries (click on the (i) next to each binary).
** <code>git commit -m "RELEASE: This is 1.4.1pre" -a</code>
*** -win32.exe as Windows binary
* Create annotated tag desc/1.4.1pre on that commit and push
*** -macosx.dmg as Mac binary
** <code>git tag -m "Mark 1.4.1pre" desc/1.4.1pre</code>
*** .tar.bz2 as Linux, FreeBSD and Other binary
** <code>git push origin tag desc/1.4.1pre branch-1-4:branch-1-4</code>
*** -solaris-x86.tar.gz as Solaris binary
* On [https://docs.google.com/spreadsheets/d/1QzwFleEKXOsE59cYMOcQB7C2f0Np48uAQOCG8kicX_s/edit#gid=854570757 the ScummVM Data spreadsheet]
** On the <code>versions</code> tab, add the new release to the bottom of the list
** On the <code>compatibility</code> tab, replace DEV with the release number for all newly added games
** On the <code>scummvm_downloads</code> tab, for any releases that have been uploaded to FRS, change the <code>version</code> column to match the latest version. Verify that all ports that don't have the new version (yet) are set to "old", so they appear in the right section of our website.
**'''WARNING:''' The website update script keeps track of the different sheets in the spreadsheet file based on an internal ID. You '''must''' use the exact same sheet for every release. This means that you have to temporarily duplicate the downloads sheet and constantly update it while the porters submit their builds - you don't want to all builds at once right before the release. As soon as the release is about to get published, '''copy over all content of the temporary scummvm_downloads sheet to the productive one.''' '''You must not rename the old sheet under any circumstances, it will break the website!'''
 
=== Tagging a version ===
* When 1.7.0 is ready to be announced, make a permanent v1.7.0 tag in git to mark the release
** <code>git checkout branch-1-7-0</code>
** <code>git tag -a -m "Tag v1.7.0" v1.7.0</code>
** <code>git push origin tag v1.7.0</code>
* Also increase the version number on the 1.7.x branch to 1.7.1pre
** <code>git checkout branch-1-7</code>
** <code>devtools/update-version.pl 1 7 1 pre</code>
** <code>git commit -m "RELEASE: This is 1.7.1pre" -a</code>
* Create annotated tag desc/1.7.1pre on that commit and push
** <code>git tag -a -m "Mark 1.7.1pre" desc/1.7.1pre</code>
** <code>git push origin tag desc/1.7.1pre branch-1-7:branch-1-7</code>
*Add this doc to the Read The Doc admin settings to generate the documentation for this version.
** Open [https://readthedocs.org/dashboard/ Read The Docs Portal]
**# Click on '''ScummVM'''
**# Click on '''Versions'''
**#* Find the relevant tag like 'v2.6.0'
**#* Press '''Activate'''
**# Click on '''⚙ Admin'''
**#* Click on '''Advanced Settings'''
**#* In '''Default version''' drop-down, select the new tag.
 
=== Creating source tarballs ===
Then you need to create and upload the tarballs.
 
<syntaxhighlight lang="bash">
devtools/dist-scummvm.sh scummvm 1.9.0
devtools/dist-scummvm.sh scummvm-tools 1.9.0
</syntaxhighlight>
 
Then upload the resulting scummvm-1.9.0.tar.gz, scummvm-1.9.0.tar.bz2, scummvm-1.9.0.tar.xz and scummvm-1.9.0.tar.zip to the FRS.
 
 
=== Signing binaries ===
Put tarballs into directory <tt>archives/</tt>, run:
<syntaxhighlight lang="bash">
bin/generate_appcast archives/
bin/old_dsa_scripts/sign_update archives/scummvm-2.1.1-win32.exe dsa_priv.pem
bin/old_dsa_scripts/sign_update archives/scummvm-2.1.1-macosx.dmg dsa_priv.pem
</syntaxhighlight>
 
The first line will generate file <tt>archives/release.xml</tt>. The following ones will just spit out DSA signatures.
 
Copy/paste signatures to <tt>dists/macosx/scummvm_appcast.xml</tt> in the main git repo.
 
Then run:
<syntaxhighlight lang="bash">
make publish-appcast
cd ../scummvm-web
git commit -m 'WEB: Sync appcast' -a
</syntaxhighlight>
 
=== Generating the Icons and Shader packs ===
* Run <code>https://github.com/scummvm/scummvm-icons/blob/master/gen-set.py</code> to generate icons pack
* Then upload the generated <code>LIST</code> and the <code>gui-icons-DDDDDDDD.dat</code> files to <code>/.0/frs/icons/</code> on <code>www.scummvm.org</code>
* Run. TODO,  to generate shaders pack
* Then upload the generated <code>LIST-SHADERS</code> and the <code>shaders-DDDDDDDD.dat</code> files to <code>/.0/frs/icons/</code> on <code>www.scummvm.org</code>


=== News & Notification ===
=== News & Notification ===
Write a news blurb (or rather multiple to be used in the following). Usually, you want a bit longer one for the website, a list for Versiontracker, something with proper english sentences for Freshmeat, etc....
Write a news blurb (or rather multiple to be used in the following). Usually, you want a bit longer one for the website, a list for Versiontracker, something with proper english sentences for Freshmeat, etc....


* Write a news item for our website (also to be used as template for news items on other sites).
* Write a news item for our website (also to be used as a template for news items on other sites).
* Update / notify various sites:
** Change version constants in <tt>include/Constants.php</tt>
** Create a SF.net news item
** Put Release Notes into two files in the release directory, one is plain text, named "ReleaseNotes", another one is HTML, use [https://markdowntohtml.com/ markdowntohtml.com] service but copy the HTML body tags from the previous release.
** [http://freecode.com/ Freecode]  
**Make sure to update the Release information in the datasheet
** Make sure Sparkle appcast is updated (see [[#Signing binaries]])
* Update / notify various sites:
** Post about the release on our forums
** Post about the release on our forums
** ... more ?
** Post about the release on Facebook
** Post link to the news item to Twitter
* Put the updated web site online
* Put the updated web site online
* Update IRC and Discord channel topics
=== GitHub release ===
Use https://github.com/scummvm/scummvm/releases/new for creating a new GitHub release:
* Use the current tag as "base" for the release
* Use the current version number as "Release title" (format: 1.2.3, no leading "v")
* Use the current ReleaseNotes in Markdown format for the "Describe this release" field
* GitHub automatically attaches the matching source tarball in .zip and .tar.gz format, so no need to upload it on your own


=== Updating the wiki ===
=== Updating the wiki ===
Line 142: Line 289:
* Add the first release field on the info box of the newly supported engines.
* Add the first release field on the info box of the newly supported engines.
* Update [[Platforms]] page if status changed for some of the platforms (e.g. no release for the latest stable version). For these platforms the latest stable version info will also need to be changed if it was using the StableVersion template.
* Update [[Platforms]] page if status changed for some of the platforms (e.g. no release for the latest stable version). For these platforms the latest stable version info will also need to be changed if it was using the StableVersion template.
* Set the ''First Official Version'' field for new platforms.
* Update the support field on the info box of the newly supported games. Also change these games from ''Unsupported Games'' category to ''Supported Games'' category.
* Update the support field on the info box of the newly supported games. Also change these games from ''Unsupported Games'' category to ''Supported Games'' category.

Navigation menu