Skip to content

Document versioning policy #1704

Open
Open
@ddbeck

Description

@ddbeck

As of v1.0 we're now obliged to make SemVer MAJOR releases for "breaking" changes. We should clearly document what events constitute a breaking change, both to help consumers of the package understand what is needed each time they upgrade and to help maintainers prepare useful release notes.

To that end, we have at least two "obvious" paths:

  1. Breaking changes are backwards-incompatible changes to the JSON Schema (e.g., renaming an existing key). This is roughly how @mdn/browser-compat-data does versioning, with some documented exceptions.
  2. Breaking changes are backwards-incompatible changes to the JSON Schema (as above) and changes to feature IDs (e.g., renaming a feature, such as css-grid to grid). This is roughly how webref and browser-specs handle it.

This also has implications for minor and patch releases (e.g., under route 1, new features constitute a SemVer PATCH release, but under route 2 those are MINOR releases).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions