OpenSCAD Release Checklist
--------------------------

o Pre-release preparations
  - Update translations:
    - Send emails to translation managers, see .po files:
      https://github.com/openscad/openscad/tree/master/locale
  - Update src/AboutDialog.html with new contributors etc.
  - Merge MCAD
    o In MCAD clone:
      $ git fetch upstream
      $ git merge upstream/master
      $ git push
    o In OpenSCAD:
      $ cd libraries/MCAD
      $ git pull
      $ cd ../..
      $ git commit -m "Updated MCAD" libraries/MCAD
      $ git push

(See bottom of this file for how to build release binaries)

o Update manpage: doc/openscad.1
o Update releases/$VERSION.md
o scripts/makereleasenotes.sh

o Update version number in doc/openscad.1
o Update copyright year in AboutDialog.html and mainwin.cc
o Add VERSION and VERSIONDATE in openscad.pro, scripts/publish-macosx.sh, scripts/release-common.sh tests/CMakeLists.txt
o Add VERSION in tests/CMakeLists.txt, scripts/publish-mingw-x.sh

o Tag release
  git tag "openscad-$VERSION"

o Revert VERSION and VERSIONDATE in openscad.pro scripts/publish-macosx.sh scripts/release-common.sh scripts/publish-mingw-x.sh tests/CMakeLists.txt

o build source package
  scripts/git-archive-all.py --prefix=openscad-$VERSION/ openscad-$VERSION.src.tar.gz

o Sanity check; build a binary or two and manually run some tests

o git push --tags master

o Upload Source package
  $ scp openscad-$VERSION.src.tar.gz openscad@files.openscad.org:www

o Build binaries for all platforms and wait for upload

o Announce:
o ./scripts/github-release.sh $VERSION
o Write release email/blog entry
o Update web page
  - news.html
  - inc/src_release_links.js
o Update external resources:
  - https://en.wikipedia.org/wiki/OpenSCAD
o Write to mailing list
o Tweet as OpenSCAD
o Notify package managers
  - Debian/Ubuntu: https://launchpad.net/~chrysn
  - Ubuntu PPA: https://github.com/hyperair
  - Fedora: Miro Hrončok <miro@hroncok.cz> or <mhroncok@redhat.com>
  - OpenSUSE: Pavol Rusnak <prusnak@opensuse.org>
  - Arch Linux: Kyle Keen <keenerd@gmail.com>
  - MacPorts: https://svn.macports.org/repository/macports/trunk/dports/science/openscad/Portfile
  - Homebrew: https://github.com/caskroom/homebrew-cask/blob/master/Casks/openscad.rb
o Update dev version to release version in documentation
  - https://en.wikibooks.org/wiki/OpenSCAD_User_Manual

Build and Upload Release Binaries
---------------------------------

$ tar xzf openscad-$VERSION.src.tar.gz
$ cd openscad-$VERSION

Mac OS X:

    $ ./scripts/publish-macosx.sh -> OpenSCAD-$VERSION.dmg

Linux:
    32-bit: run on a 32-bit machine or VM
    64-bit: run on a 64-bit machine or VM

    $ ./scripts/release-common.sh -> openscad-$VERSION.x86-ARCH.tar.gz
    (where ARCH will be detected and set to 32 or 64)
    $ scp openscad-$VERSION.x86-ARCH.tar.gz openscad@files.openscad.org:www
    o Update web page with download links

Windows mingw cross-build:

FIXME: Adapt scripts/builder.sh to build release binaries
