Release Cycles

= Release cycles =

The time for a new version of OpenMW to be released may vary depending on the progress made since the last release. This document explains the workflow used to manage OpenMW versions. The word &quot;issue&quot; refers to an item in the issue tracker. These items include tasks, features and bugs. Generally speaking, an issue is something that must be done to improve OpenMW's functionality. You can see which issues are planned for which OpenMW versions on the roadmap.

Normal development
The tasks on the roadmap are grouped by OpenMW versions. During normal development, they are two versions on the roadmap:


 * openmw-VERSION (VERSION is the version number of the upcoming release)


 * This version contains short term issues planned for the next version of OpenMW.


 * openmw-future


 * This version contains long-term issues. An issue is considered long-term if it depends on other major issues or otherwise involves big changes in the engine architecture. They are moved to a specific version when they become feasible.

During normal development, developers make pull requests on the  branch of the main repository (if you are not familiar with pull requests, see the help at GitHub).

Pre-release period
When the number of resolved features added and bugs fixed is considered sufficient for a new release, the next OpenMW version enters the Release Candidate (RC) phase. On the roadmap, unresolved issues are moved to a new OpenMW version.

At this point the roadmap shows issues for three versions:


 * openmw-VERSION (VERSION is the version number of the upcoming release)


 * During pre-release period, this category contains mostly closed issues, plus those in progress that are projected to be finished by release. No new issues are added unless they fix a major bug or a regression.


 * openmw-NEXT_VERSION (NEXT_VERSION is the version number of the release following the upcoming release)


 * The remaining issues that belonged to openmw-VERSION but have lesser priority are moved here. Some issues may be moved from openmw-future too.


 * openmw-future


 * Just as in normal development, this version contains issues that are considered long-term.

During pre-release period, the branch that developers make pull requests to depends on the roadmap. Only changes for issues under openmw-VERSION deserve a pull-request targeting the master branch. All other changes are merged to the  branch of the main repository.

Post-release period
The new version is released after all its issues on the roadmap are closed.

After the release, the corresponding version is removed from the roadmap. The  branch is merged into   and normal development resumes.