diff options
Diffstat (limited to 'semantic_version')
-rw-r--r-- | semantic_version/base.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/semantic_version/base.py b/semantic_version/base.py index 8877dbf..1504642 100644 --- a/semantic_version/base.py +++ b/semantic_version/base.py @@ -459,7 +459,13 @@ class SpecItem(object): elif self.kind == self.KIND_NEQ: return version != self.spec elif self.kind == self.KIND_CARET: - return self.spec <= version < self.spec.next_major() + if self.spec.major != 0: + upper = self.spec.next_major() + elif self.spec.minor != 0: + upper = self.spec.next_minor() + else: + upper = self.spec.next_patch() + return self.spec <= version < upper elif self.kind == self.KIND_TILDE: return self.spec <= version < self.spec.next_minor() else: # pragma: no cover |