arti/doc/semver_status.md

1.4 KiB

Semver tracking

We no longer use this file for semver tracking. Instead, we use one semver.md file per crate.

When you make a change to a crate that affects source compatibility, please append a paragraph to that crate's semver.md, creating it as necessary.

Every line should begin with one of the following:

  • BREAKING
  • MODIFIED

A "BREAKING" change is one that may break other crates that depend on this crate directly.

A "MODIFIED" change is one the introduces a new API, such that crates using the new API will not work with older versions of the crate.

When we release a new version, we use these files to determine which crates need major-version, minor-version, or patch-level version bumps. We also use them to help write the "breaking changes" section of the changelog. They aren't user-facing, so they don't go into much detail.

Here is an example semver.md file:

BREAKING: Removed the obsolete `detect_thylacine()` function.

MODIFIED: New `Wombat::feed()` method.

MODIFIED: `Numbat` now implements `Display`.

BREAKING: The `Quokka` trait now inherits from Debug.

What is a breaking change?

We will add guidance to this section as we come up with it. For now, see SemVer compatibility in the Cargo book.

DO NOT EDIT BELOW.

(We used to append here, so I've added an explicit note not to do that.)