Design the route to Stalwart 1.0 #21

Merged
jcoffey-dev merged 2 commits from docs/design-1.0 into main 2026-10-27 06:58:50 +00:00
Owner

Proposal for review, no code yet: docs/design-1.0.md.

Stalwart 1.0 needs its data copied into a new store, and Stalwart Labs publishes a tool for that copy. A rehearsal of it on 2026-10-26 (0.16.27 → 1.0.0) finished with 0 errors and identical user data. This design builds on that tool instead of replacing it, and adds what operators still need:

  • a hop to 0.16.27 from any 0.16.x or from 0.15.5;
  • 1.0 preflight checks: disk for a second copy, edition, OAuth/OIDC changes, Enterprise-only settings, store and cluster limits;
  • a rehearsal on a scratch copy of live data with no downtime;
  • a checkpointed copy and cutover for systemd and Docker;
  • per-account validation, with a table of known 1.0 differences.

Milestones and open questions are at the end of the document.

Proposal for review, no code yet: `docs/design-1.0.md`. Stalwart 1.0 needs its data copied into a new store, and Stalwart Labs publishes a tool for that copy. A rehearsal of it on 2026-10-26 (0.16.27 → 1.0.0) finished with 0 errors and identical user data. This design builds on that tool instead of replacing it, and adds what operators still need: - a hop to 0.16.27 from any 0.16.x or from 0.15.5; - 1.0 preflight checks: disk for a second copy, edition, OAuth/OIDC changes, Enterprise-only settings, store and cluster limits; - a rehearsal on a scratch copy of live data with no downtime; - a checkpointed copy and cutover for systemd and Docker; - per-account validation, with a table of known 1.0 differences. Milestones and open questions are at the end of the document.
jcoffey-dev added 2 commits 2026-10-27 06:57:08 +00:00
Stalwart 1.0 can't be upgraded in place: data is copied into a new store
with Stalwart Labs' own copy tool. This proposes building on that tool
rather than replacing it: a hop to 0.16.27, 1.0 preflight checks, a
no-downtime rehearsal on a scratch copy, a checkpointed copy and cutover
for systemd and Docker, and per-account validation.
Design: record the PostgreSQL rehearsal and both attachment keywords
ci / test (pull_request) Skipped
ci / release (pull_request) Skipped
github/ci (branch) GitHub Actions
ci / github (pull_request) Successful in 1m15s
ci / announce (pull_request) Skipped
86d4a6c3eb
jcoffey-dev force-pushed docs/design-1.0 from 0eff8f7c6c to 86d4a6c3eb 2026-10-27 06:57:08 +00:00 Compare
jcoffey-dev merged commit 83491526d2 into main 2026-10-27 06:58:50 +00:00
jcoffey-dev deleted branch docs/design-1.0 2026-10-27 06:58:51 +00:00
Sign in to join this conversation.