1. The latest archive from Crowdin should already be in the repository, if not make sure to merge any automated Pull Request from Crowdin (e.g. https://github.com/rizinorg/cutter-translations/pull/9)
2. Merge the current state of dev into stable. This can happen even earlier in order to feature-freeze the release while keeping development on dev alive. The rizin submodule on stable should point to a commit of stable in rizin and dev to a commit in dev.
9. If any major problems are found, open an issue and fix them in dev and cherry pick into release branch. If the amount of changes is sufficiently large repeat from step 3. increasing rc number by one.
* Fill the release notes in the Release description. Preparing release notes can begin earlier. Compare current dev branch against previous release to find all the changes. Choose the most important ones. Don't duplicate the commit log. Release notes should be a summary for people who don't want to read whole commit log. Group related changes together under titles such as "New features", "Bug Fixes", "Decompiler", "Rizin" and similar.
* Increase the third version number x.y.n into x.y.(n+1) .
Basic testing procedure
-----------------------
This isn't intended as exhaustive testing process, just some simple steps to make sure nothing is badly broken.
If it makes sense repeat the step multiple times at different offsets and click around increase the chance of noticing common problems that doesn't happen 100% of time.
* Open a simple executable like ``/bin/ls`` or ``calc.exe``
* Make sure that the upgraded layout isn't completely broken
* The Disassembly widget shows proper disassembly.
* Bundled plugins work
* Open decompiler and select ghidra, it shows some C code at least for some functions
* Go to main using function widget, make sure relocation was done correctly and you see code instead of unmapped memory and breakpoint is where you placed
* Click continue until you hit breakpoint in main
* Delete cutter settings file, and test that clean start works and layout isn't broken