Releasing
Audience: contributors. This describes how releases of the library itself are cut; shipping a server built with the library is covered in Shipping your server.
Versioning policy
The library follows semver via lwpt package versions and git tags.
Protocol-revision changes (adopting a newer MCP revision, adding
dual-era support) are minor versions at most as long as
supportedVersions still contains everything previously advertised;
dropping a revision is breaking.
Changelog
CHANGELOG.md is generated by git-cliff from Conventional Commits —
never hand-edit entries. cliff.toml maps commit types to sections;
regenerate with git-cliff -o CHANGELOG.md, preview the next
release's entries with git-cliff --unreleased --strip header (see
Tooling).
Release builds
Consumers build their own binaries — the project publishes no
compiled artifacts, so a release is a tag plus the changelog. The
release-mode flag story (lwpt build --mode release,
-dPRODUCTION flipping Shared.inc from checked to optimised) is
documented on the consumer side in
Shipping your server; CI builds and tests
natively on Linux, macOS, and Windows instead of cross-compiling.