Developer Area/Release Instructions/Release Candidate

From Mahara Wiki

< Developer Area‎ | Release Instructions

1. Create the new branch

  • You should create a new "_STABLE" branch based off of master.
    • Obviously you only need to do this for the first' release candidate for each major version. If you need to do subsequent release candidates, just put them on the same branch.
git checkout master
git checkout -b 1.10_STABLE
git push gerrit 1.10_STABLE
  • If gerrit won't let you push your new branch, you can instead create it through Gerrit by going to, clicking on "Projects", then on the "mahara" project, and then on the "Branches" subtab.
  • In the Makefile of the new _STABLE branch, replace "master" with the name of the branch. Commit and make push.
  • Create an empty "Changelog" file. Commit and make push.
  • Update the release in htdocs/lib/version.php to be [whatever]rc1. Commit and make push.

2. Bump the version on master

  • Go to the master branch and bump the version to 1.5.0dev (if you just created the 1.4_STABLE branch)
    • htdocs/lib/version.php (update series, release and version - version should be today's date)
    • README
  • Commit and make push

3. Package the release

Now, on the new _STABLE branch, follow the usual release instructions up to and including step 5.

4. Creating the new language packs branch

You need to set up launchpad translations for the new branch. See the separate instructions on setting up a new translations branch.

5. Changelog and release notes

Do not paste the full changelog on Launchpad (that's for the actual release) and only put something like "First release candidate for 1.4" in the bullet point section of the release notes on Launchpad.

6. Do not update the bug tracker

The bug tracker does not need to be updated because no bugs should ever have an RC release as its milestone.

Furthermore, these bugs are not fixed until the release has happened, so they should be left as "Fix committed".

7. Announcements

The main purpose of an RC is to get people to test the release for any major bugs. Therefore, we do not consider the RC as a release and only announce it through:

  • Twitter
  • IRC
  • The news forum

(Note that Freshmeat is missing.)

Sample news forum post for first release candidate

Subject: First release candidate for Mahara 1.10 available

We have just published the first release candidate for Mahara 1.10.

This is a call for testing. If you want to make sure that Mahar 1.10 works well on your site, please help us out by testing this first release candidate:

New features for the release candidate are listed on Launchpad with the "nominatedfeature" tag.

We've also done lots of bug fixing is this release cycle. The full list of changes that have been made for 1.10 can be found by clicking here.

If any of the targeted bugs affect your users, this is an opportunity for you to make sure they are fixed properly.

If you find any bugs, please report them on Launchpad so they can be fixed before the 1.10.0 release:

If important bugs are found within the next week we may produce a second release candidate. Otherwise this release candidate will become the final 1.10.0 release.


The 1.10 Release Managers

Sample forum post for second and/or final release candidate

Subject: Second release candidate for Mahara 1.4 available

Based on the feedback we have received so far, this will most likely be the last release candidate before the final 1.4 release:

New Features for the Release Candidate are listed on Launchpad with the newfeature tag:

We've also done lots of bug fixing is this release cycle. The full list of changes that have been made for 1.4 can be found by clicking here.

If you haven't had a chance to test it out yet, please do so now and report any bugs on the tracker:

This is your last chance to make sure your upgrade to 1.4 will be smooth. If nothing major is reported in the next few days, we will be cutting the 1.4.0 release in about a week.


The 1.4 Release Managers

8. Do not update the demo site

The demo site should always be the last stable release. The RC is not a release yet.

9. Update

Updating however is useful for users who do not have somewhere to set up a test instance but would like to check out the changes.