summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorRaphaël Barrois <raphael.barrois@polytechnique.org>2015-09-15 23:18:13 +0200
committerRaphaël Barrois <raphael.barrois@polytechnique.org>2015-09-15 23:40:59 +0200
commit2ed3d39c291080c61edd9139370939e1fdc3209a (patch)
tree22a90dfae0e0fc9fd7949ca18e7e47daa8f8aabb /ChangeLog
parent4aac5768db2fc158fa87900b54210ecba4dfe6d5 (diff)
downloadsemantic-version-2ed3d39c291080c61edd9139370939e1fdc3209a.tar.gz
Forbid build metadata ordering (See #18)
SemVer 2.0.0 states that "Build metadata SHOULD be ignored when determining version precedence". This means that, when comparing ``0.1.0+1`` to ``0.1.0+bcd``:: >>> Version('0.1.0+1') == Version('0.1.0+bcd') False >>> Version('0.1.0+1') != Version('0.1.0+bcd') True >>> Version('0.1.0+1') < Version('0.1.0+bcd') False >>> Version('0.1.0+1') > Version('0.1.0+bcd') False >>> Version('0.1.0+1') <= Version('0.1.0+bcd') False >>> Version('0.1.0+1') >= Version('0.1.0+bcd') False >>> compare(Version('0.1.0+1'), Version('0.1.0+bcd')) NotImplemented This change also has the following effects: - When including build metadata in a ``Spec``, the only valid options are ``Spec('==0.1.0+sth')`` and ``Spec('!=0.1.0+sth')`` - The meaning of ``Spec('==0.1.0+')`` is now "Only version 0.1.0 without build metadata" - ``Spec('==0.1.0')`` now matches ``Version('0.1.0+anything')``
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog30
1 files changed, 30 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index fac48ca..cd7c3db 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,36 @@
ChangeLog
=========
+2.5.0 (master)
+--------------
+
+*Bugfix:*
+
+ `#18 <https://github.com/rbarrois/python-semanticversion/issues/18>`_: According to SemVer 2.0.0, build numbers aren't ordered.
+
+ * Remove specs of the ``Spec('<1.1.3+')`` form
+ * Comparing ``Version('0.1.0')`` to ``Version('0.1.0+bcd')`` has new
+ rules::
+
+ >>> Version('0.1.0+1') == Version('0.1.0+bcd')
+ False
+ >>> Version('0.1.0+1') != Version('0.1.0+bcd')
+ True
+ >>> Version('0.1.0+1') < Version('0.1.0+bcd')
+ False
+ >>> Version('0.1.0+1') > Version('0.1.0+bcd')
+ False
+ >>> Version('0.1.0+1') <= Version('0.1.0+bcd')
+ False
+ >>> Version('0.1.0+1') >= Version('0.1.0+bcd')
+ False
+ >>> compare(Version('0.1.0+1'), Version('0.1.0+bcd'))
+ NotImplemented
+
+ * :func:`semantic_version.compare` returns ``NotImplemented`` when its
+ parameters differ only by build metadata
+ * ``Spec('<=1.3.0')`` now matches ``Version('1.3.0+abde24fe883')``
+
2.4.2 (2015-07-02)
------------------