Subject: PSA: New symbol versioning scheme

From: Christopher James Halse Rogers <[email-masked]>
Date: Tue, 06 Oct 2015 14:59:07 +1100

tl;dr: Whenever you need to add a new symbol, add it to a 
MIR_*_unreleased stanza (or create that stanza if it does not exist).

So, 
https://code.launchpad.net/~raof/mir/new-dso-versioning-policy/+merge/273186 
has just landed, with the new symbol versioning scheme documentation.

 From a developer perspective, the relevant change is that we stick any 
new symbols in a MIR_*_unreleased stanza (eg: MIR_CLIENT_unreleased). 
There's no exceptions you need to remember for this; if you need to add 
a symbol, add it to MIR_FOO_unreleased.

 From a release-manager perspective, this adds a little bit more work - 
as a part of the release, you need to go into the various symbols.map 
files and replace _unreleased with the new version (eg: 
MIR_CLIENT_unreleased → MIR_CLIENT_0.17). There's a new “make 
release-checks” target that will fail - and tell you which libraries 
you've missed - if you forget to do this, but it's not run by default. 
Add that to the checklist until we have separate a release CI process 
:).