Branching and Release Management Policy

There are usually two active branches at any given time:

  • The stable branch
  • The development branch

Release packages from stable and development branches are linked on the home page.

Between releases, the latest code is always available from our Subversion repository

Stable branch policy

The stable branch should receive only the most important bug fixes, so that:

  1. The development resources are focused on development branch, avoiding porting efforts when possible.
  2. The stable branch is kept very stable and hence guarantee a safe upgrade path for everybody

For these reasons, we will fix on the stable branch the following kind of issues:

  • Bugs with category “security”
  • Critical bugs like deployment stoppers, blank screens, installation and upgrade issues
  • Bugs that are generating a lot of support requests

If unsure, feel free to ask on the mantisbt-dev mailing list

Development Branch Policy

The development branch (i.e. SVN trunk) is where all the “interesting” things happens; new features and bug fixes are usually applied here first, then tested and ported to the stable branch when deemed necessary.

Whenever the development branch reaches a state considered good enough for becoming the “stable” one, the following happens:

  • A new branch is created from SVN trunk
  • A release candidate (RC) is created off this new branch
  • The RC branch enters in a “feature freeze” mode (no new features added)
  • Testing and bug fixing continue on the RC branch until it can be declared stable

During feature freeze:

  • New features can still enter SVN trunk, but all developers are encouraged to help polishing the RC branch before focusing again on the development branch.
  • No official releases are composed from SVN trunk (that is, the soon-to-be development branch)
  • ONLY CRITICAL FIXES are applied to the stable branch

At release time:

  • The RC branch becomes the new stable branch
  • Support ends for the old stable branch
  • Normal development resumes on SVN trunk
 
Logged in as: anonymous
mantisbt/development_scheme.txt · Last modified: 2008/10/29 04:25