Release checklist.

1. Keeping things up to date:
- make sure global library headers (libfoo.h) include all other public
  headers
- make sure modules/pygwy/Makefile.am includes all relevant header files in
  PYGWY_H_FILES
- run utils/update-api-indices.py to index the new symbols
- update user guide module map

2. Setting version number:
- update library versions, if something has changed
- update version in configure.ac
- update version in gwyddion-night-build
- update version and date in data/net.gwyddion.Gwyddion.appdata.xml by running
  ./utils/updateappdataversion.sh

3. Metadata sync and sanity:
- generate on-line module list (run ./make-module-list in utils, may need
  manual filtering of non-released modules)
- check translations, may require actually running Gwyddion in all locales
- check and update NEWS, set release date, generate the HTML version
  ./utils/gen-news.py <NEWS
- update contributors page using ./utils/gen-authors.py AUTHORS web
- update the list of supported file formats in the user guide (it has a
  make rule in data/)
- generate stable API docs for gwyddion.net (using gwyddion.net-doc-build SVN
  module) and upload them
  docbase=$HOME/Projects/Gwyddion/gwyddion/devel-docs ./gendoc.sh

4. Checking the tarballs:
- must build on Linux from svn and tarballs
- check full rebuild
  disabled=update_version ./utils/gwyddion-night-build
- must cross-build for MS Windows

5. Making and tagging the release:
- update translations (make update-po in po; remember to commit and tag the
  really final versions, making dists in general updates po again)
- tag SVN:
  svn copy svn+ssh://yeti-dn@svn.code.sf.net/p/gwyddion/code/trunk/gwyddion svn+ssh://yeti-dn@svn.code.sf.net/p/gwyddion/code/tags/gwyddion-2.60
- build and upload packages
- sign packages and upload signatures
  gpg2 -u yeti@gwyddion.net -b gwyddion-2.60.tar.gz
- publish files at SourceForge
  rsync --progress -e ssh gwyddion-2.60.tar.xz yeti-dn@frs.sourceforge.net:/home/frs/project/gwyddion/gwyddion/2.60/
- README.txt with release info should be uploaded from web browser; does not
  work well with rsync

6. Announcing the release:
- update gwyddion main page, version statistics, etc.
- publish project NEWS at Sourceforge in the ‘News’ blog
- publish project on Freshcode.club (note: there is no login; just fill the
  info)
- send e-mail to the mailing lists
