Refuse a Stalwart 1.0 target, and default --target to 0.16.27 #23

Merged
jcoffey-dev merged 3 commits from fix/refuse-1.0-target into main 2026-10-28 06:35:33 +00:00
3 Commits
Author SHA1 Message Date
jcoffey-dev 44e8d2199b docs: examples target 0.16.27
ci / test (pull_request) Skipped
ci / release (pull_request) Skipped
github/ci (branch) GitHub Actions
ci / github (pull_request) Successful in 51s
ci / announce (pull_request) Skipped
2026-10-27 22:12:30 -07:00
jcoffey-dev ff1232c81c README: a Support section with the upgrades it handles
ci / test (pull_request) Skipped
ci / release (pull_request) Skipped
github/ci (branch) GitHub Actions
ci / github (pull_request) Successful in 31s
ci / announce (pull_request) Skipped
0.15.5 -> 0.16.27 is supported and gets bug and security fixes; 0.16 -> 1.0
is designed but not built, so the tool refuses it; nothing else is
supported.
2026-10-27 22:11:26 -07:00
jcoffey-dev ae5dd5f4a3 Refuse a Stalwart 1.0 target, and default --target to 0.16.27
--target defaulted to "latest", and since 2026-10-26 Stalwart's latest
release is 1.0.0. With default flags, preflight then planned 0.16.x -> 1.0.0
as a same-boundary patch upgrade (the binary swapped in over a 0.16 store,
which 1.0 can't read) and 0.15.5 -> 1.0.0 as an ordinary 0.16 migration.

preflight's upgrade-direction check and plan.Decide now refuse any target at
1.0 or later, naming 0.16.27, until the route in docs/design-1.0.md is
built. --target defaults to 0.16.27, the last 0.16 release, in preflight,
rehearse and run. The test that pinned 0.15.x -> 1.0.0 as accepted is
rewritten to pin the refusal, and a new preflight test covers "latest"
resolving to v1.0.0.
2026-10-27 22:11:25 -07:00