====== 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 [[http://www.mantisbt.org|home page]]. Between releases, the latest code is always available from our [[http://sourceforge.net/svn/?group_id=14963|Subversion repository]] ===== Stable branch policy ===== The stable branch should receive only the most important bug fixes, so that: - The development resources are focused on development branch, avoiding porting efforts when possible. - 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