Table of Contents
This page lists all steps to release a new version of InDefero
This list is likely to change over time - nothing is set in stone here...
Pre Release
- Create a release branch
release-MAJOR.MINOR
for minor releases; work on an existingrelease-MAJOR.MINOR
branch for patch releases; push the created branch to projects.ceondo.com - Announce your release intents to indefero-users@googlegroups.com
- tell others the name of the created and pushed release branch
- announce the envisioned release date; let this date be at least 14 days in the future for anything else than patch releases
- set a date for a string freeze to allow translators to catch up
- Update regularily from Transifex to allow testers early feedback on the quality of the translations
- Ask for platform testers and let them check that Indefero is still running under all supported configurations (especially under MySQL and PostgreSQL!); ensure that database migrations work for all platforms
- Monitor / fix bugs that are targeted for the release or retarget issues that will not make it into it
- Ensure that the few regression tests we have are all green by running the
run-tests
script in the root directory - Start preparing the NEWS.mdtext file:
- add missing features, bug fixes and translation updates
- write important / compatibily-related changes on top
- order features by importance, bugs by number (oldest bugs first)
- check the issue tracker and add missing references to issues
- last, but not least: check spelling and grammar
- Ensure that all authors got credit in AUTHORS
Release
- Pull recent i18n updates from transifex
- Check
NEWS.mdtext
one last time for changes - Enter a release date in UTC format on top of
NEWS.mdtext
- Remove the
-dev
suffix fromsrc/IDF/version.php
's "indefero-release"
Now we're going serious... everything above doubled-checked?
- Create a tag object with
git tag -a vMAJOR.MINOR(.PATCH) REVISION
; if you want to create a signed tag, use-s
instead of-a
- Create a tarball release with
make vMAJOR.MINOR(.PATCH)-tarfile
, bzip2 the resulting file and rename it toindefero-MAJOR.MINOR(.PATCH).tar.bz2
- Add the NEWS section about the new release on top of the News wiki page
- Upload the created archive to InDefero's download site and write a short description of the release; deprecate the previous version and remove the
Featured
tag from it; add theFeatured
tag to the just created download - Announce the release on indefero-users@googlegroups.com
- Announce the release on http://freecode.com/projects/indefero
- Push the created tag with
git push origin vMAJOR.MINOR(.PATCH)
- Party!
Post Release
- Bump the version number in the
develop
branch insrc/IDF/version.php
tovMAJOR.(MINOR+1)-dev
- If you created a separate release branch, bump its version number to
vMAJOR.MINOR.(PATCH+1)-dev
- Prepare a new NEWS section in NEWS.mdtext for the next version
- Go to InDefero's project administration and edit the predefined issue labels:
- change the milestone that denotes the current (stable) version to old
- add a new "Next Patch Release" milestone with
Milestone:ReleaseMAJOR.MINOR.(PATCH+1)
for patch releases and additionally a new "Next Minor Release" withMilestone:ReleaseMAJOR.(MINOR+1)
milestone for minor releases