diff --git a/Versioning.md b/Versioning.md new file mode 100644 index 0000000..d14c196 --- /dev/null +++ b/Versioning.md @@ -0,0 +1,29 @@ +# Versioning Style + +**footnotes** uses [Semantic Versioning 2.0.0](https://semver.org/). + +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` +- `p`, indicating a pre-release + - e.g., ‘2.5.2p’ + - This should only be found on the SVN repo. + - The version number should **always** be one higher than the version number listed in the ‘Stable Tag’ field in `readme.txt` + +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 `main` branch on the Git repo. should be tagged as 3.0.0d, 2.6.0d or 2.5.2d; +- the codebase in `trunk/` on the SVN repo. should be 2.5.1 and identical to the release in `tags/2.5.1/`; OR +- the codebase in `trunk/` should be tagged as 3.0.0p, 2.6.0p or 2.5.2p, with the pre-release copied to `tags/3.0.0p/`, `tags/2.6.0p/` or `tags/2.5.2p/`; and +- the ‘Stable Tag’ field in `trunk/readme.txt` should continue to point to `tags/2.5.1`. + +When a pre-release version is confirmed to be stable, rename the folder in `tags/` to remove the `p` flag and update the ‘Stable Tag’ field in `trunk/readme.txt`. \ No newline at end of file