The key is versioning, NOT versioning-strategy. Release-please ignores unknown keys SILENTLY, so the wrong one produces plain GA versions while the config reads as correctly configured — a dead-config bug inside the fix for dead-config bugs. Set versioning:prerelease, prerelease:true, prerelease-type:alpha. Transitions use Release-As footers: flipping prerelease-type from alpha to beta produces alpha.N+1 forever, because once a prerelease part exists every path routes through bumpPrerelease which only increments the trailing digit. At GA flip prerelease:false but KEEP versioning:prerelease, or a breaking commit bumps to 11.0.0. NOTE: #3304 already exists as 'release 10.0.0' because refactor(glyph)! landed on main; convert it to 10.0.0-alpha.1 rather than fighting it.
The key is
versioning, NOTversioning-strategy. Release-please ignores unknown keys SILENTLY, so the wrong one produces plain GA versions while the config reads as correctly configured — a dead-config bug inside the fix for dead-config bugs. Set versioning:prerelease, prerelease:true, prerelease-type:alpha. Transitions use Release-As footers: flipping prerelease-type from alpha to beta produces alpha.N+1 forever, because once a prerelease part exists every path routes through bumpPrerelease which only increments the trailing digit. At GA flip prerelease:false but KEEP versioning:prerelease, or a breaking commit bumps to 11.0.0. NOTE: #3304 already exists as 'release 10.0.0' because refactor(glyph)! landed on main; convert it to 10.0.0-alpha.1 rather than fighting it.