<!> Mark completed items using the (./) symbol

Packaging Team

Name
Email
Responsibility
Built?
Uploaded
Tim Sutton tim at linfiniti.com Release Manager
J├╝rgen E. Fischer jef at norbit.de Ubuntu Packages
Marco Pasetti marco.pasetti at alice.it Windows packaging
Otto Dassau otto.dassau at gmx.de openSUSE Packaging
William kyngchaos at kyngchaos.com OSX Frameworks Build
Niccolo Rigacci qgis at rigacci.org Debian Lenny
Douglas E. Warner silfreed at silfreed.net Fedora 8
Tom Elwertowski telwertowski at comcast.net OSX All in one bundle
Antonio Chay antonio.chay at gmail.com CentOS 5.x
Jeremy Spykerman jeremy.spykerman at gmail.com
Tim Sutton tim at linfiniti.com Source http://download.osgeo.org/qgis/src/

|

Release Team

The following table provides a key for release responsibilities, as the release document that follows will be colour coded according to this key:

style="background-color:#e4e5ae;" Marco Hugentobler
style="background-color:#ff5339;" Otto Dassau
style="background-color:#bebdbf;" Anne Ghisla
style="background-color:#ffe74b;" Agustin Lobo
style="background-color:#e5aebf;" Richard Duivenvoorde
style="background-color:#aed0e5;" Maning Sambale
style="background-color:#95ff39;" Paolo Cavallini
style="background-color:#f4a100;" Release team all

|

Two Month Release Timeline for QGIS

Item
Date / Completed?
Checked?
Small enhancements and bug fixes can continue in trunk
Set date for next release about two months into the future style="background-color:#bee5ae;" 4 Feb 2008
Discuss with PSC & Developers which features should be merged into release (in future this will be trunk) style="background-color:#bee5ae;"
Update the splash screen (minor and major releases!) style="background-color:#bee5ae;"
Update top level CMakeLists.txt with release name and version style="background-color:#bee5ae;"

|

Three weeks before - feature freeze [10 Jan 2008 ]

Item
Date / Completed?
Checked?
Only bug fixes go into trunk from here forward, no new features
Complete merge of new features style="background-color:#e4e5ae;"
Optional: create preview build and make available for bug reports - see packaging helpers list above style="background-color:#bee5ae;"
Call for document managers to update docs based on new features in SVN style="background-color:#ff5339;"
Check for changes in project file structure that needs to be handled style="background-color:#e4e5ae;"
Release team start writing press releases, making screenshots etc ["VisualChangeLogX.X.X"] style="background-color:#e5aebf;"

|

One week before - feature freeze [27 Jan 2008]

Item
Date / Completed?
Checked?
Bug fixes can continue in trunk but no more strings can be changed
Ensure any new contributors have been added to AUTHORS along with their mugshot if available (reserved for SVN committers) style="background-color:#bee5ae;"
Ensure any new contributors have been added to CONTRIBUTORS (reserved for non SVN committers) style="background-color:#bee5ae;"
Ensure any new sponsors have been added to SPONSORS style="background-color:#bee5ae;"
Update the ChangeLog with a list of changes implemented in this release (complete changelog section below) style="background-color:#bee5ae;"
Update index.html to reflect what's new, requirements, and documentation (see current index.html in ./doc of the source tree) style="background-color:#bee5ae;"
Update the whatsNew string in qgisapp.cpp to reflect changes (used to display in about box) style="background-color:#bee5ae;"
Check that INSTALL.t2t install docs are up to date style="background-color:#bee5ae;"
Update index.html to reflect GRASS and related lib versions in the win build (see current index.html in ./doc of the source tree) style="background-color:#bee5ae;"
Check that cmake is deploying all headers required to build apps using libqgis_* style="background-color:#bee5ae;"
Apply any pending patches or mark them for a future release in the tracker (see bug tracker section below) style="background-color:#e4e5ae;"
Apply fixes for any pending bugs or mark them against a future milestone (see bug tracker section below) style="background-color:#bee5ae;"
String freeze announcement for UI style="background-color:#bee5ae;"
Update and commit ts files using scripts/update_ts_files.sh (GUI Translation Team Lead) after announcement above style="background-color:#ff5339;"
Call for translators to update translations and submit their ts files (see pro-forma email below) GUI Translation Team Lead style="background-color:#ff5339;"

|

One week before - branch & call for packaging [27 Jan 2008]

Item
Date / Completed?
Checked?
No bug fixes, string changes etc. allowed in branch, only packaging related changes
Ensure all submitted translation updates have been applied (GUI Translation Team Lead) style="background-color:#ff5339;"
Branch SVN and call for packaging (see branching notes below) and record revision here: 10639 style="background-color:#bee5ae;"
Edit build_debian_package.sh and set dch -v X.X.X to the apropriate version number style="background-color:#bee5ae;"
Update the NSIS installer (win_build/qgis.nsis) to reflect the correct version style="background-color:#bee5ae;"
Release team prepare press releases in various formats in anticipation of release (dont publish yet) style="background-color:#bebdbf;"

|

Day of release [3 Feb 2008]

Item
Date / Completed?
Checked?
Close off release branch and announce release to the world
Tag the branch as final release (see tag section below) style="background-color:#bee5ae;"
Make tag and branch read only (see notes below) style="background-color:#bee5ae;"
Note the svn revision number for the tagged release here: style="background-color:#bee5ae;"
Generate API documentation and upload to download area (using doxygen) style="background-color:#bee5ae;"
Export the source code to a source tarball style="background-color:#bee5ae;"
Upload release packages to download area (see checklist at the top of this page) style="background-color:#bee5ae;"
Release team announce to press and make packages available style="background-color:#f4a100;"

|

Branching and Tagging Details

Branch the release using syntax below (update this with the actual commands you used to tag).


svn cp https://svn.qgis.org/repos/qgis/trunk/qgis \


Example of how to tag final release:


svn cp https://svn.qgis.org/repos/qgis/branches/Release-X_X_X \

Pre-release

Generic (all platforms)
Completed?
Check that the .ts files have been generated and call for translators to update them
/)
Ensure any new contributors have been added to CONTRIBUTORS, along with their mugshot if available
/)
Ensure any new sponsors have been added to SPONSORS
/)
Update the splash screen (minor and major relases!)
/)
Update the ChangeLog with a list of changes implemented in this release
/)
Update index.html to reflect what's new, requirements, and documentation (see current index.html in ./doc of the source tree)
/)
Update index.html to reflect GRASS and related lib versions in the win build (see current index.html in ./doc of the source tree)
/)
Update the whatsNew string in qgisapp.cpp to reflect changes (used to display in about box)
/)
Edit qgsconfig.h.in_cmake in the top level directory of the QGIS sources and set the version e.g. #define VERSION "0.8.1-Titan". Make sure the version has no spaces in it as it will cause the build to fail on MacOSX.
/)
Check that cmake is deploying all headers required to build apps using libqgis_*
/)
Apply any updated translations
/)
Apply any pending patches or mark them for a future release in the tracker (see bug tracker section below)
/)
Apply fixes for any pending bugs or mark them against a future milestone (see bug tracker section below)
/)

|

Linux Specific
Completed?
Edit build_debian_package.sh and set dch -v 0.8.1 to the apropriate version number
/)

|

Windows Specific
Completed?
Update the NSIS installer (win_build/qgis.nsis) to reflect the correct version !define PRODUCT_VERSION "0.9.1 Ganymed"
/)
Check the NSIS installer is including any newly added headers, libraries etc.
/)
Use cmakesetup to set the install prefix to c:\program files\qgis<version> e.g. qgis0.8.1
/)

|

Tag and export
Completed?
Tag the release (see tag section below)
/)
Note the svn revision number for the tagged release here: r7730
Generate the change log for the release (see below)
/)
Export the source code to a source tarball
/)

|

Call for packaging
Completed?
Write to the developers list and ask packagers to create their packages. Point them to PackagingHelpers and ask them to update the table once they are done.
/)

|

Bug Tracker System

All bugs that are intended to have been fixed in this release should have been marked as closed. All other bugs on the release branch should be marked for a future release. To do this, create a new milestone e.g. we are releasing 0.8.1 now so create a new milestone in trac for 0.8.2. The version should only be added once the release has gone out.

 cd /var/www
 trac-admin ./qgis-trac
 milestone list
 milestone add "Version 0.9.2rc1" 
 version list
 version add X.X.X
 quit

Now you need to visit each open bug on the branch and reset its milestone. This can be done automatically but it requires direct access to the trac server (i.e. contact Tim of Gary). To do the update do:

 cd /var/www/qgis-trac/db
 sudo cp trac.db trac_nov_01_07.db
 sudo sqlite3 trac.db
 update ticket set milestone = 'Version 0.9.1' where milestone = 'Version 0.9' and status <> 'closed';
 .q

After this, add a link on the front of the Trac wiki which links to the current milestone. You can visit https://svn.qgis.org/trac/report/3 to get a report of bugs by milestone.

Tagging Details

Tag the release using syntax below (update this with the actual commands you used to tag).

 svn cp https://svn.qgis.org/repos/qgis/trunk/qgis \
          https://svn.qgis.org/repos/qgis/branches/Release-X_X_X


Create the source tarball using:
 cd /tmp
 svn export https://svn.qgis.org/repos/qgis/branches/Release-X_X_X \
          qgis-X_X_X

Then use your favourite compression tool to create zip and .tar.bz2 archives.

Generate the changelog (first no is svn revision of previous release, second is svn revision of this release:

 svn log -r6350:7033 > /tmp/log.txt

Edit your .vimrc file and add this key mapping with a macro to help you tidy up the log:

 :map <F2> :map <F2> ddg|f|d$gJgJ/---^M

Now edit the file with vim and press F2 repeatedly to reformat it (e.g. 100F2 will automatically do 100 F2 presses for you. If the macro approach above does not work for you, just record a new macro using the same keystrokes. Now get rid of all blank lines using this command:

 gg
 :g/^$/d


Another way /additional way to generate a changelog is to use trac to get a list of all closed bugs e.g.
 https://svn.qgis.org/trac/query?status=closed&milestone=Version+0.9.1&order=priority

Pro-forma call for packaging annoucnement:

Dear QGIS devs & packagers
Today I have branched 0.9.2rc1. It would be great if you can assist by making packages for your preferred platform. The branch can be checked out at:
svn co https://svn.qgis.org/repos/qgis/branches/Release-0.9.2rc1 qgis-0.9.2rc1
Please do not commit anything to the branch except packaging related tweaks.
The release checklist at :
http://wiki.qgis.org/qgiswiki/ReleaseChecklist0.9.2rc1
Has a list of people who have previously made packages. If you make a package for 0.9.1rc1 please be so kind as to add the url to that wiki page in the section provided so that we can gather all the url packages in a systematic way. If you are able to make packages for unlisted platforms / distros please let me know so that we can avoid duplication of effort.
I would like to make the release announcement within the next week or so, so it will be great to have all packages ready by then.
SVN Trunk is open again for general commits but please not that we are aiming to do the 0.9.2 final release within a month or so (timetable to be determined) and you should not make any major feature changes without prior discussion with PSC and Dev list.
Many thanks to all the developers, testers, bug fixers, bug reporters, document writers, translators and users that help to make QGIS a reality.
Best regards

Post Release

Wiki Updates
Completed?
Update Release Checklists to mark the release as completed.

|

qgis.org Updates
Completed?
Up date the 'Current Release' link on the main menu
(./)
Update the 'Download' link on the top menu bar
(./)
Add release newsflash
(./)
Current version page to be updated
(./)
svn download of tagged release updated
(./)
download page updated
(./)
screenshots updated not required

|

Publicising (see announcing the release section below)
Completed?
http://freshmeat.net
http://kde-apps.org
http://qt-apps.org
http://freegis.org
http://apple.com
http://slashgeo.org/submit.pl
http://lxer.com/module/newswire/stories/add.php
http://www.freemacware.com/let-us-know
http://www.osnews.com/submit.php
http://directory.fsf.org/project/QGIS/

|

Announcing the release

Create an announcement template

An annoucement templace will save you retypping the same text at the various places of announcement. The following text can be used as a basis:

A Generic release subject

Announcing the release of Quantum GIS version 0.9.2rc1

A generic 20 word summary

Quantum GIS is a user friendly Open Source Geographic Information System that runs on Linux, Unix, Mac OSX, and Windows.

A mailing list announcement

It is our great pleasure to announce the immediate availability of Quantum GIS (QGIS) Version 0.9.2rc1. See below for press release:
Quantum GIS (QGIS) is a user friendly Open Source Geographic Information System (GIS) that runs on Linux, Unix, Mac OSX, and Windows. QGIS supports vector, raster, and database formats. QGIS is licensed under the GNU General Public License. QGIS lets you browse and create map data on your computer. It supports many common spatial data formats (e.g. ESRI ShapeFile, geotiff). QGIS supports plugins to do things like display tracks from your GPS. QGIS is Open Source software and its free of cost (download here). We welcome contributions from our user community in the form of code contributions, bug fixes, bug reports, contributed documentation, advocacy and supporting other users on our mailing lists and forums. Financial contributions are also welcome. This release introduces several new features including python support and many new GRASS modules. The release also includes numerous bug fixes and stability improvements. QGIS is available is source form, and as binary executables for Microsoft Windows, Mac OS X, and GNU/Linux. All versions can be obtained from our download page at http://download.qgis.org . As an open source project, we provide support for using QGIS via our mailing lists and bug tracker:
  • For general inquiries subscribe to our users mailing list at http://lists.qgis.org/cgi-bin/mailman/listinfo/qgis-user
  • For developer related inquiries subscribe to our separate developers list at http://lists.qgis.org/cgi-bin/mailman/listinfo/qgis-developer
  • If you think you have found a bug, please report it using our bug tracker. When reporting bugs, please include some contact information in case we need help with replicating your issue at https://svn.qgis.org/trac
    Major changes in this release are:
  • item 1
  • item 2
  • etc
    QGIS is a completely volunteer driven project, and is the work of a dedicated team of developers, documenters and supporters. We extend our thanks and gratitude for the many, many hours people have contributed to make this release happen.

A generic short html announcement

It is our great pleasure to announce the immediate availability of Quantum GIS (QGIS) Version 0.9.2rc1. Quantum GIS (QGIS) is a user friendly Open Source Geographic Information System (<a href="http://en.wikipedia.org/wiki/GIS">GIS</a>) that runs on Linux, Unix, Mac OSX, and Windows. QGIS supports vector, raster, and database formats. QGIS is licensed under the GNU General Public License. QGIS lets you <a href="http://qgis.org/flash/flashwrapper.php?filename=qgisdemo1.swf" title="QGIS demo">browse</a> and create map data on your computer. It supports many common spatial data formats (e.g. ESRI ShapeFile, geotiff). QGIS supports plugins to do things like <a href="http://qgis.org/flash/flashwrapper.php?filename=gpx_demo.swf"
title="GPS demo">display tracks</a> from your GPS. QGIS is Open Source software and its free of cost (<a href="http://download.qgis.org/">download here</a>). We welcome contributions from our user community in the form of
<a href = "http://wiki.qgis.org/qgiswiki/DevelopersCorner" title="Developers Corner">code contributions</a>, <a href="https://qgis.org/trac">bug fixes</a>, <a href="https://qgis.org/trac/newticket">bug reports</a>, <a href="http://wiki.qgis.org/qgiswiki/DocumentationWritersCorner">contributed documentation</a>, advocacy and supporting other users on our <a href="http://qgis.org/content/view/115/96">mailing lists</a> and <a href="http://forum.qgis.org/">forums</a>.
<a href = "http://qgis.org/content/view/97/73/" title = "Contribute">
Financial contributions
</a>

 are also welcome.

This release introduces several new features including python bindings and many additional GRASS modules. The release also includes bug fixes and stability improvements. QGIS is available is source form, and as binary executables for Microsoft Windows, Mac OS X, and GNU/Linux. All versions can be obtained from our <a href="http://download.qgis.org">download page</a>.
As an open source project, we provide support for using QGIS via our mailing lists and bug tracker:
<ul>
<li>For general enquiries <a href="http://lists.qgis.org/cgi-bin/mailman/listinfo/qgis-user">subscribe</a> to our users mailing list.</li>
<li>For developer related enquiries <a href="http://lists.qgis.org/cgi-bin/mailman/listinfo/qgis-developer">subscribe</a> to our separate developers list.</li>
<li>If you think you have found a bug, please report it using our <a href="https://svn.qgis.org/trac">bug tracker</a>. When reporting bugs, please include some contact information in case we need help with replicating your issue.</li>
</ul>

A generic short plain text announcement

It is our great pleasure to announce the immediate availability of Quantum GIS (QGIS) Version 0.9.2rc1 Quantum GIS (QGIS) is a user friendly Open Source Geographic Information System (GIS) that runs on Linux, Unix, Mac OSX, and Windows. QGIS supports vector, raster, and database formats. QGIS is licensed under the GNU General Public License. QGIS lets you browse and create map data on your computer. It supports many common spatial data formats (e.g. ESRI ShapeFile, geotiff). QGIS supports plugins to do things like display tracks from your GPS. QGIS is Open Source software and its free of cost (download here). We welcome contributions from our user community in the form of code contributions, bug fixes, bug reports, contributed documentation, advocacy and supporting other users on our mailing lists and forums. Financial contributions are also welcome. This release introduces several new features including python support and many new GRASS modules. The release also includes numerous bug fixes and stability improvements. QGIS is available is source form, and as binary executables for Microsoft Windows, Mac OS X, and GNU/Linux. All versions can be obtained from our download page. As an open source project, we provide support for using QGIS via our mailing lists and bug tracker:

For a longer annoucement, include the changelog text and a screenshot of some shiny new feature.

A generic product description

Quantum GIS (QGIS) is a user friendly Open Source Geographic Information System (GIS) that runs on Linux, Unix, Mac OSX, and Windows. QGIS supports vector, raster, and database formats. QGIS is licensed under the GNU General Public License. QGIS lets you browse and create map data on your computer. It supports many common spatial data formats (e.g. ESRI ShapeFile, geotiff). QGIS supports plugins to do things like display tracks from your GPS. QGIS is Open Source software and its free of cost.

A generic features list

  • Support for spatially enabled PostGIS tables
  • Support for shapefiles, ArcInfo coverages, Mapinfo, and other formats supported by OGR
  • Raster support for a large number of formats
  • Identify/select/label features
  • OGC Support (WMS, WFS)
  • Digitizing OGR/Shape and GRASS files
  • Edit/View/Search attribute tables
  • Export to Mapserver map file
  • GRASS integration including view, edit and analysis
  • Python bindings
  • On the fly projection
  • Georeferencing
  • Print Composer
  • Extensible plugin architecture