Library Versions (was: PQnotifies() in 7.3 broken?) - Mailing list pgsql-hackers

From Lee Kindness
Subject Library Versions (was: PQnotifies() in 7.3 broken?)
Date
Msg-id 15865.47335.564842.373775@kelvin.csl.co.uk
Whole thread Raw
In response to Re: PQnotifies() in 7.3 broken?  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Library Versions (was: PQnotifies() in 7.3 broken?)
Re: Library Versions (was: PQnotifies() in 7.3 broken?)
List pgsql-hackers
Guys, can I take this chance to summarise the thread and when the
major and minor versions should be updated, perhaps could be added to
the developers FAQ if everyone is in agreement?

Major Version
=============

The major version number should be updated whenever the source of the
library changes to make it binary incompatible. Such changes include,
but limited to:

1. Removing a public function or structure (or typedef, enum, ...)

2. Modifying a public functions arguments.

3. Removing a field from a public structure.

3. Adding a field to a public structure, unless steps have been
previously taken to shield users from such a change, for example by
such structures only ever being allocated/instantiated by a library
function which would give the new field a suitable default value.

Adding a new function would NOT force an increase in the major version
number. When the major version is increased all applications which
link to the library MUST be recompiled - this is not desirable. When
the major version is updated the minor version gets reset.

Minor Version
=============

The minor version number should be updated whenever the functionality
of the library has changed, typically and change in source code
between releases would mean an increase in the minor version number so
long as it does not require a major version increase.

Thanks, Lee.


pgsql-hackers by date:

Previous
From: Hannu Krosing
Date:
Subject: Re: FW: Duplicate oids!
Next
From: Lee Kindness
Date:
Subject: Library Versions (was: PQnotifies() in 7.3 broken?)