diff options
author | Raphaël Barrois <raphael.barrois@polytechnique.org> | 2019-08-24 14:04:55 +0200 |
---|---|---|
committer | Raphaël Barrois <raphael.barrois@polytechnique.org> | 2019-08-26 21:34:44 +0200 |
commit | c415ee4cd87915191b1ca8df2d3fbf7e49d4bbbf (patch) | |
tree | 4192534d6ed4c301cd640417f50223925bd0240e /ChangeLog | |
parent | 47fc7229ba24de0610134cadcc61884c6097f4fe (diff) | |
download | semantic-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-- | ChangeLog | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -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:* |