We follow Semantic Versioning as defined on https://semver.org/.
The GNU social platform has a monthly release cycle. That is, we only increment the version number on day 1 of each month.
For GNU social plugins, we increment version number by commit. Plugins update have a propagation of the same type in the GNU social's monthly version bump.
If we have various patch type updates in a month, we only bump it by one in the end of the month. If in the same month we have a minor too, we will only bump the minor value.
GNU social has 'dev', 'alpha', 'beta', 'rc' and 'release' cycles. We usually are in
dev during summer. When we finish a
dev cycle we release an
devs aren't tagged as releases). From
release it depends on how perfect GNU social is after the end of the
dev cycle. But we use the number after
alpha instead of
patch number for small bug fixes when in this cycle. When we finally go from a
candidate to a
release, we party... and we use semver for all the small changes until we start working in another
dev cycle (usually on another summer).