On 16.01.2014 20:53, Holger Hans Peter Freyther wrote:
> On Mon, Jan 13, 2014 at 10:27:07AM +0100, Holger Hans Peter Freyther wrote:
> 
> Hi all,
> 
> 
> the current proposal is to introduce a process that will create a
> new file in the root of a project where we document the ABI changes.
> The content of the file will look like this:
> 
> #library       what            description / commit summary line
> 
> 

More precisely, the idea was to have a TODO-RELEASE file in the
project's top directory containing a single line per 'what' and commit
which is part of the commit itself. When this file is empty (except for
empty lines and comment lines starting with a '#'), a release can be
finished.

'what' is one of the following strings (more to come):
  'abi-change'     the ABI (structs, function parameters) has changed
                   e.g. due to modifications or removals.
                   When there is at least one such line, the LIBVERSION
                   'age' field must be reset and the 'current' field
                   must be incremented when doing a release. All lines
                   marked with 'abi-change' or 'abi-add' can be
                   removed then.
  'abi-add'        a function or struct has been added but the ABI has
                   not changed otherwise (so it remains compatible).
                   When there is at least one such line (and no
                   'abi-change' line'), the LIBVERSION
                   'age' and 'current' fields must be incremented when
                   doing a release. All such lines can be removed then.

The 'abi-add' variant is probably less important but I've included it
nevertheless for completeness.

Jacob

Reply via email to