Following PEP 440 for versioning
PEP 440 provides a specification for version identification.
We already comply with it, but we could take advantage of it. For instance:
- After
X.Y.Zis released, we could bump toX.Y.[Z+1].dev0indevelop. This way, it is easier to know in which version a commit belongs. - Anyone should be able to make a pre-release by bumping
NinX.Y.ZaN(orX.Y.ZbNorX.Y.ZrcN). This makes it easier to package an intermediate version with a particular bug fix. - We could update the release module to support these syntaxes and provide the full version to
setuptools.setup.
In our case, I would consider the following patterns:
- Development:
X.Y.Z.devN(Ncould be omitted here, but it's part of the normalization) - Alpha pre-release:
X.Y.ZaN - Beta pre-release:
X.Y.ZbN - Release candidate:
X.Y.ZrcN - Final release:
X.Y.Z
What do you think?