Release checklist

For the process of building and releasing binaries of a C++ Vamp plugin.

Tick
Code hygiene
Run the Vamp Plugin Tester on the plugin, under valgrind --leak-check=full (see valgrind), and fix everything it reports
Versioning and tagging
Check that copyright dates are correct and up-to-date
If this is a new release of a previously-released plugin, increment the plugin's getPluginVersion() value
Tag the repository (when you have confirmed that the plugin builds successfully on all target platforms)
Create the source package using hg archive or equivalent to archive directly from your tagged version
Categories and RDF
Make sure you have a sensible category file (.cat)
Generate an RDF template using the vamp-rdf-template-generator program found in rdf/generator in the Vamp plugin SDK, and edit it to contain correct metadata
Win32 OS/X Linux32 Linux64
Platform build checks
Make sure release build is built in release mode ! i.e. with optimization turned on
Test on the oldest and newest releases you intend to support -- e.g. Windows XP and Windows 8; OS/X 10.6 and 10.10
Test on an installation of the platform that does not have any developer tools installed
Make sure package contains...
The plugin library!
README describing the plugin and how to install and use it, identifying the authors, with a link to a site about it
COPYING containing the licence for the plugin
CITATION containing BibTeX of any paper to cite when using the plugin in academic work

Publicity

Send details of your plugin's download location and the RDF metadata file to for inclusion in the download page

Platform targets

Top priority build targets:
  • 32-bit Windows
  • 64-bit OS/X Intel
  • 64-bit Linux, if you are not providing source
Second-tier build targets:
  • 32-bit Linux
  • 64-bit Linux
  • 32-bit OS/X Intel (or universal binary)
Third-tier build targets:
  • 64-bit Windows (may become higher-priority in future though)

(Re. 32 or 64-bit Linux, I had thought that 64-bit was pretty universal these days, but I recently got an email from a composer: "I see a 64-bit version of the new release for Linux but no 32-bit...? 64 bit audio on Linux is still wonky for most people - I know very few people working professionally in 64-bit Linux audio" -- So clearly I was wrong, at least about the importance of 32-bit to active practitioners if not its uptake across the broader population.)