@@ -13,7 +13,7 @@ Notes on how to release a new version of Darshan
1313 4) update the Changelog, if needed (browse git log since last release)
1414 - commit
1515 5) update version number in top-level darshan.version file
16- - See below for the guide line of setting the version number.
16+ - See below for the guideline of setting the version number.
1717 - commit
1818 6) follow checklist for corresponding release of PyDarshan
1919 - found at darshan-util/pydarshan/RELEASE-CHECKLIST-PyDarshan.txt
@@ -54,39 +54,14 @@ Notes on how to release a new version of Darshan
5454----
5555## Setting the release version number
5656
57- There are two versions that must be set when making a new release:
58- software semantic version and libtool ABI version .
57+ Follow the guideline provided by [Semantic Versioning](https://semver.org)
58+ when setting the version number for new releases .
5959
6060* Software Semantic Versioning
61- + https://semver.org
6261 + A version number is in a form of MAJOR.MINOR.PATCH
6362 1. MAJOR version when you make incompatible API changes
6463 2. MINOR version when you add functionality in a backward compatible manner
6564 3. PATCH version when you make backward compatible bug fixes
6665 + A pre-release version MAY be denoted by appending a hyphen, for example,
6766 1.0.0-alpha.
6867
69- * GNU Libtool's ABI versioning
70- + http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info
71- + A version number is in a form of current.revision.age
72- 1. "current (c)" is the most recent interface number that this library
73- implements. A change in this number typically indicates a
74- backward-incompatible ABI change.
75- 2. "revision (r)" is the implementation number of the current interface.
76- Tracks changes in the library's source code without affecting the ABI.
77- 3. "age (a)" is the difference between the newest and oldest interfaces that
78- this library implements. It indicates the number of interfaces added
79- since the last current increment.
80- + Rules for Updating Version Information:
81- * Initial State: Begin with 0:0:0 for new libraries.
82- * Release-based Updates: Update versions only before a public release.
83- * Source Code Changes: Increment "revision" if the source code has changed
84- since the last update, even without interface changes.
85- (c:r:a becomes c:r+1:a)
86- * Interface Changes (Addition/Removal/Modification): Increment "current" and
87- reset "revision" to 0 if any interfaces have been added, removed, or changed.
88- * Interface Additions: Increment "age" if new interfaces have been added since
89- the last public release.
90- * Interface Removals: Reset "age" to 0 if any interfaces have been removed
91- since the last public release.
92-
0 commit comments