@@ -27,7 +27,7 @@ examples of version numbers [#version-examples]_:
2727- A post-release of an alpha release (possible, but discouraged): ``1.2.0a1.post1 ``
2828- A simple version with only two components: ``23.12 ``
2929- A simple version with just one component: ``42 ``
30- - A version with an epoch: ``1!1.0 ``
30+ - A version with an epoch (discouraged) : ``1!1.0 ``
3131
3232Projects can use a cycle of pre-releases to support testing by their users
3333before a final release. In order, the steps are: alpha releases, beta releases,
@@ -46,13 +46,14 @@ notes. They should not be used for bug fixes; these should be done with a new
4646final release (e.g., incrementing the third component when using semantic
4747versioning).
4848
49- Finally, epochs, a rarely used feature, serve to fix the sorting order when
50- changing the versioning scheme. For example, if a project is using calendar
51- versioning, with versions like 23.12, and switches to semantic versioning, with
52- versions like 1.0, the comparison between 1.0 and 23.12 will go the wrong way.
53- To correct this, the new version numbers should have an explicit epoch, as in
54- "1!1.0", in order to be treated as more recent than the old version numbers.
55-
49+ Finally, epochs were intended to fix the sorting order when changing the
50+ versioning scheme. For example, if a project was using calendar versioning, with
51+ versions like ``23.12 ``, and switched to semantic versioning, with versions like
52+ ``1.0 ``, the comparison between ``1.0 `` and ``23.12 `` would go the wrong way. To
53+ correct this, the new version numbers would have an explicit epoch, as in
54+ ``1!1.0 ``, in order to be treated as more recent than the old version numbers.
55+ However, this is discouraged, and it is preferable to use a higher version
56+ number that is unlikely to cause user confusion, such as ``100.0 ``.
5657
5758
5859Semantic versioning vs. calendar versioning
0 commit comments