diff --git a/semantic_version/base.py b/semantic_version/base.py index 4ddaf05..057c1a4 100644 --- a/semantic_version/base.py +++ b/semantic_version/base.py @@ -206,11 +206,11 @@ def parse(cls, version_string, partial=False, coerce=False): major, minor, patch, prerelease, build = match.groups() - if _has_leading_zero(major): + if not coerce and _has_leading_zero(major): raise ValueError("Invalid leading zero in major: %r" % version_string) - if _has_leading_zero(minor): + if not coerce and _has_leading_zero(minor): raise ValueError("Invalid leading zero in minor: %r" % version_string) - if _has_leading_zero(patch): + if not coerce and _has_leading_zero(patch): raise ValueError("Invalid leading zero in patch: %r" % version_string) major = int(major)