Actions

Developer Area/Release Instructions/Old Major Release

From Mahara Wiki

< Developer Area‎ | Release Instructions

Here are the things to do before running through the usual release instructions when preparing a new major release.

Major releases should be preceded by at least one release candidate.

Creating the new branch

  • Create a new branch in the admin section of Gerrit
  • Copy the changelog from the previous stable branch
  • Update the branch name in the "push" target of the Makefile

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)

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.

Bump the stable_version on mahara.org

(This is what sets the right download link in the header.)

Here's what I added in htdocs/local/upgrade.php for the 1.4 release:

if ($oldversion < 2011061501) {
    set_config('mahara_stable_version', '1.4');
}

Write the release notes

You can copy what you like from the 1.4 release notes.

Generate the git stats

The git stats go in the release announcment on the Mahara News forum. Grab our version of gitdm from the mahara-scripts repo:

git clone git://gitorious.org/mahara/mahara-scripts.git

and here is how to generate the stats at the end:

cd ~/code/mahara-scripts/gitdm/
GIT_DIR=~/code/mahara/.git git log -p -M --no-merges 1.3.0_RELEASE..1.4_STABLE | ./gitdm -c mahara.config -u -s -o results -h results.html

Have a look at the results text file to ensure that developers are only listed once (otherwise add them to the mahara.aliases file). Also make sure that there is no "(unknown)" company by making sure that all of the necessary mappings are in mahara.domain-map.

Launchpad series

When releasing 1.4, we did the following:

  • Changed the status of 1.5 to "Active development" and the description to "Future release of Mahara"
  • Changed the status of 1.4 to "Current stable release" and the description to "Stable release of Mahara"
  • Changed the status of 1.3 to "Supported" and the description to "Old stable release of Mahara"
  • Changed the status of 1.2 to "Obsolete" and the description to "Old stable release of Mahara (no longer supported)"

Make sure to update both the Mahara and Mahara-Lang projects.

User manual

When releasing a major version, the user manual also needs some attention

  • Change the boldness of the links in the sidebar to the latest release in all versions of the manual.
  • Change the sentence on the index page of the new release to include the release date.
  • Change the redirect in the maharadocs.postinst file in https://gitorious.org/mahara/manual-packaging to the latest version and ask a sysadmin at Catalyst to redo the package on the server.

Announcements

There are a few places where the release should be announced:

  • Release notes posted in the News forum.
  • Identi.ca post which will also immediately post to Twitter.
  • Any other places where you want to announce the release.