Skip to content

Shipping a new release

Andres Riancho edited this page Feb 4, 2015 · 16 revisions

Building a new package

The steps for building a new distributable package change a lot depending on the target operating system. That's why we've split this document into the different platforms:

Common steps

Only core w3af developers and package maintainers (like Debian, Fedora, FreeBSD package maintainers) will find this section useful, these are the main steps that we'll go through:

  • Create the release branch
  • Set release version using semantic versioning
  • Update the CHANGELOG file
  • Create the source code documentation using Sphinx
  • Create distributable package
  • Upload the files to w3af.org
  • Run final git flow commands
  • Community tasks related to a release

Create the release branch

Choose a version number (according to semantic versioning) and then run the following command:

git flow release start <version-number>

Set release version

Setting the version for the next release is trivial, just change the w3af/core/data/constants/version.txt file to the required version.

Update the changelog

Each release is associated with a milestone, when updating the doc/CHANGELOG use the issues in the milestone as a source for the CHANGELOG.

(15 Feb 2013)    Version 1.5
============================
Github tag: https://github.com/andresriancho/w3af/tree/1.5
Github milestone: https://github.com/andresriancho/w3af/issues?milestone=2

* Change A
* Change B
...
* Change N

Run final git flow commands

Run these commands to merge the release branch into master and tag it.

git flow release publish <version-number> - "Tagging the 1.5 release of the w3af project."    
git flow release finish <version-number>
git push origin <version-number>

Community tasks related to a release

Let the community know about this new release!