-
Notifications
You must be signed in to change notification settings - Fork 6
Versioning
footnotes uses Semantic Versioning 2.0.0.
A version identifier consists of three integers, separated by dots:
- The first integer represents a Major Version.
- The second integer represents a Minor Version.
- The third integer represents a Bugfix Version.
On top of this, footnotes version identifiers can be appended with one of two flags:
-
d, indicating a development release- e.g., ‘2.5.2d’
- This should only be found on the Git repo.
- The version number should always be one higher than the version number listed in the ‘Stable Tag’ field in
readme.txt - There are no individually-numbered development releases
-
p, indicating a pre-release- e.g., ‘2.5.2p’
- This should only be found on the SVN repo. in
trunk/ - The version number should always be one higher than the version number listed in the ‘Stable Tag’ field in
readme.txt - There are no individually-numbered pre-releases
So, to summarise:
- if 2.5.1 is the latest stable release available on the SVN repo. (from
tags/2.5.1/); - the codebase in the
mainbranch on the Git repo. is 3.0.0d, 2.6.0d or 2.5.2d; - the codebase in
trunk/on the SVN repo. is either:- 2.5.1 and identical to the release found in
tags/2.5.1/; OR - 3.0.0p, 2.6.0p or 2.5.2p.
- 2.5.1 and identical to the release found in
- the ‘Stable Tag’ field in
trunk/readme.txtwill point totags/2.5.1/.
When a pre-release version is confirmed to be stable, remove the p flag, copy trunk/ to tags/<new-version>/ and update the ‘Stable Tag’ field in trunk/readme.txt to point to <new-version>.
IN SHORT: There is only ever one d and one p codebase. The d codebase continuously changes until it is ready to be frozen as a p codebase and pre-released to trunk/. The p codebase then continuously changes (but hopefully not much) until it ready to be frozen as a full release (i.e., the p codebase should receive no additional features or bugfixes, just whatever needs to be done to make the already-implemented ones work correctly if there are issues).
IN EVEN SHORTER: d codebases should live as long as they need to. p codebases should be short-lived.