ST-LIB uses a semiautomated release flow based on per-PR changesets.
Each PR into development must add exactly one file under .changesets/.
Minimal example:
release: minor
summary: Add compile-time Board owner mapping contract checks
Rules:
major: breaking API or contract changeminor: backwards-compatible featurepatch: backwards-compatible fixnone: internal/docs/CI change that should be included in the next real release notes without forcing a version bump
The PR workflow validates the file and comments with the projected next semantic version.
When pending changesets reach development, the release workflow updates a branch named
release/next with:
VERSIONCHANGELOG.md- archived processed changesets
That branch is exposed as a normal PR back into development.
When the release/next PR is merged into development, the publish workflow creates:
- a git tag named
vX.Y.Z - a GitHub Release using the latest changelog entry
If VERSION contains a prerelease suffix such as -beta, the GitHub Release is marked as a
prerelease.