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. ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/users-lounge/docs/faq.html