Wrote up versioning info

Ben Goldsworthy 2021-03-15 13:09:50 +00:00
parent 6c3909f5ec
commit 9f70dd5682

29
Versioning.md Normal file

@ -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`.