Skip to content

Versioning #10

Closed
Closed
@KorvinSzanto

Description

@KorvinSzanto

I wanted to clearly define what "major" "minor" and "patch" mean in the context of this PER and how we will handle versioning for v1.0.0 and after. This is an important thing to nail down because we only need core committee approval for major versions.

To make this easier to follow, let's split the available requirement keywords into two groups:

  1. "MUST"s: MUST, REQUIRED or SHALL
  2. "SHOULD"s: SHOULD, RECOMMEND, MAY, or OPTIONAL
  • Major: Altered/added/removed MUSTs for already covered syntax and altered/removed SHOULDs
  • Minor: Added SHOULDs and added MUSTs for new syntax
  • Patch: Any small changes to text like typos, clarifications, and anything else that does not effect compatibility with any requirements

There are times when SHOULDs can be modified or even removed in backwards compatible ways and in those cases we may opt for a minor release rather than a major release, erring on the side of a major release (and therefore a core committee vote) whenever appropriate. This is all up for discussion so if folks have any disagreements please add comments here.

With all of that said version 1.0.0 will be effectively a "patch" change from PSR-12, all changes are done to align names and descriptions with this PER and no requirements have been altered/added/removed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions