renovatebot/pep440

pep440 upgrade types

Closed this issue · 2 comments

In semver, we have major/minor/patch and we also use "pin" (go from range to exact version). Default behaviour is to not treat patch differently so instead classify updates as major or minor. We don't use a special name for updates like 1.2.3-alpha.1 -> 1.2.3-alpha.2, these would end up being called "minor" or "patch".

In Docker we also have "digest" updates - updating the sha256 digest.

PEP440 prefers major.minor.micro where micro=patch. They also have additional parts, e.g. dev, post or pre releases.

Decision:

  • force existing "patch" terminology on python? e.g. how we force PR even though GitLab uses MR
  • support "micro" in configuration and alias it to patch?

Also:

  • Need to explicitly support terminology for other update types? doesn't look like it

the "patch" term is not really forced on PEP440, since PEP440 does encourage using semver.

The "Major.Minor.Patch" (described in this PEP as "major.minor.micro") aspects of semantic versioning (clauses 1-9 in the 2.0.0-rc-1 specification) are fully compatible with the version scheme defined in this PEP, and abiding by these aspects is encouraged.

see https://www.python.org/dev/peps/pep-0440/#semantic-versioning

I think for now we can keep using patch terminology until someone has a feature request or better idea.