mage CheckRelease on main (3b6184a) with VERSION=v1.6.0 exits 1: the four middleware/*/go.mod pins are at 1.5.8 while Version is 1.6.0. That is expected today — GOVERNANCE says the pins stay at the last released tag until the final prep pull request, and PrepRelease moves them.
The finding is what the audit noticed underneath that: the pins are at 1.5.8 while the last release is v1.5.11, and the same was true at v1.5.8 (pins at v1.5.5), v1.5.9 and v1.5.10. No PrepRelease-style pin move has happened for at least four consecutive releases. The sub-module tags middleware/<name>/v1.5.9, v1.5.10 and v1.5.11 therefore all point at trees whose go.mod requires an older celeris than the tag they carry.
That is not fatal — the replace directive in each sub-module makes local builds work, and a consumer who pins middleware/compress@v1.5.11 gets celeris v1.5.8 transitively unless they pin the root too, which most do. But it means the release process has a step that has never been executed, and v1.6.0 will be the first time anyone runs it.
The version-stamp gate added in celeris#582 is what makes this visible at all; before it, nothing checked. Two things to settle before the release:
- Run
VERSION=v1.6.0 mage PrepRelease in the final prep pull request and confirm CheckRelease then passes in release mode, not just consistency mode. That is the step with no precedent.
- Decide whether the historical sub-module tags matter enough to re-cut. Probably not, but the decision should be explicit rather than inherited.
mage CheckReleaseon main (3b6184a) withVERSION=v1.6.0exits 1: the fourmiddleware/*/go.modpins are at1.5.8whileVersionis1.6.0. That is expected today — GOVERNANCE says the pins stay at the last released tag until the final prep pull request, andPrepReleasemoves them.The finding is what the audit noticed underneath that: the pins are at 1.5.8 while the last release is v1.5.11, and the same was true at v1.5.8 (pins at v1.5.5), v1.5.9 and v1.5.10. No
PrepRelease-style pin move has happened for at least four consecutive releases. The sub-module tagsmiddleware/<name>/v1.5.9,v1.5.10andv1.5.11therefore all point at trees whosego.modrequires an older celeris than the tag they carry.That is not fatal — the
replacedirective in each sub-module makes local builds work, and a consumer who pinsmiddleware/compress@v1.5.11gets celeris v1.5.8 transitively unless they pin the root too, which most do. But it means the release process has a step that has never been executed, and v1.6.0 will be the first time anyone runs it.The version-stamp gate added in celeris#582 is what makes this visible at all; before it, nothing checked. Two things to settle before the release:
VERSION=v1.6.0 mage PrepReleasein the final prep pull request and confirmCheckReleasethen passes in release mode, not just consistency mode. That is the step with no precedent.