From e6465645b9d14887fb00280f372d4bb0f420ee26 Mon Sep 17 00:00:00 2001 From: "CanbiZ (MickLesk)" <47820557+MickLesk@users.noreply.github.com> Date: Tue, 27 Oct 2026 07:15:56 +0100 Subject: [PATCH] stalwart: pin to v0.16.27 until v1 migration is supported (#18252) Stalwart v1.0.0 (26 Oct 2026) ships a new data store layout, so v0.16.x deployments cannot be upgraded in place. Data has to be copied into a new, empty v1 store with stalwartlabs/stalwart-migrate, which requires v0.16.27 as its source version and needs an interactive prepare step plus an offline final cutover. The update path pulled "latest" and would have swapped the binary for v1 on existing containers, leaving the mail server unable to start on its old store. Pin install and update to v0.16.27 instead and surface the reason through check_for_gh_release. Containers that already pulled v1.0.0 are put back on v0.16.27 by the next update run. --- ct/stalwart.sh | 5 +++-- install/stalwart-install.sh | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ct/stalwart.sh b/ct/stalwart.sh index 6c79c4451..b9bb202df 100644 --- a/ct/stalwart.sh +++ b/ct/stalwart.sh @@ -31,12 +31,13 @@ function update_script() { exit fi - if check_for_gh_release "stalwart" "stalwartlabs/stalwart"; then + RELEASE="v0.16.27" + if check_for_gh_release "stalwart" "stalwartlabs/stalwart" "${RELEASE}" "Stalwart v1 changes the data store layout and requires an offline migration with stalwartlabs/stalwart-migrate; pinned until this script supports it"; then msg_info "Stopping Service" systemctl stop stalwart msg_ok "Stopped Service" - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "stalwart" "stalwartlabs/stalwart" "prebuild" "latest" "/opt/stalwart" "stalwart-$(arch_resolve x86_64 aarch64)-unknown-linux-gnu.tar.gz" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "stalwart" "stalwartlabs/stalwart" "prebuild" "${RELEASE}" "/opt/stalwart" "stalwart-$(arch_resolve x86_64 aarch64)-unknown-linux-gnu.tar.gz" chmod +x /opt/stalwart/stalwart msg_info "Starting Service" diff --git a/install/stalwart-install.sh b/install/stalwart-install.sh index c4f0f232d..074175389 100644 --- a/install/stalwart-install.sh +++ b/install/stalwart-install.sh @@ -13,7 +13,7 @@ setting_up_container network_check update_os -fetch_and_deploy_gh_release "stalwart" "stalwartlabs/stalwart" "prebuild" "latest" "/opt/stalwart" "stalwart-$(arch_resolve x86_64 aarch64)-unknown-linux-gnu.tar.gz" +fetch_and_deploy_gh_release "stalwart" "stalwartlabs/stalwart" "prebuild" "v0.16.27" "/opt/stalwart" "stalwart-$(arch_resolve x86_64 aarch64)-unknown-linux-gnu.tar.gz" chmod +x /opt/stalwart/stalwart msg_info "Configuring Stalwart"