summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorRaphaël Barrois <raphael.barrois@polytechnique.org>2019-08-24 14:04:55 +0200
committerRaphaël Barrois <raphael.barrois@polytechnique.org>2019-08-26 21:34:44 +0200
commitc415ee4cd87915191b1ca8df2d3fbf7e49d4bbbf (patch)
tree4192534d6ed4c301cd640417f50223925bd0240e /ChangeLog
parent47fc7229ba24de0610134cadcc61884c6097f4fe (diff)
downloadsemantic-version-c415ee4cd87915191b1ca8df2d3fbf7e49d4bbbf.tar.gz
Add `Version.precedence_key`.
This will be used in `sort(..., key=lambda v: v.precedence_key)`. Remove previous comparison/ordering implementation. The current implementation relies on a 4-tuple: - major, minor, patch (as integers) - natural order matches precedence rules - a tuple of identifiers for the prerelease component. The identifiers for the prerelease components are based on: - A `NumericIdentifier` class, that compares number using their natural order, and always compares lower than non-numeric identifiers - A `AlphaIdentifier` class for non-numeric identifiers; it compares versions using ASCII ordering. - A `MaxIdentifier` class, that compares higher to any other identifier; used to ensure that a non-prerelease version is greater than any of its prereleases.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog2
1 files changed, 2 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 31ee8aa..9fbcae6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -11,6 +11,8 @@ ChangeLog
* Add ``Version.truncate()`` to build a truncated copy of a ``Version``
* Add ``NpmSpec(...)``, following strict NPM matching rules (https://docs.npmjs.com/misc/semver)
* Add ``Spec.parse('xxx', syntax='<syntax>')`` for simpler multi-syntax support
+ * Add ``Version().precedence_key``, for use in ``sort(versions, key=lambda v: v.precedence_key)`` calls.
+ The contents of this attribute is an implementation detail.
*Bugfix:*