From d65d6325050d1e78943a9b4242b84532be1b5098 Mon Sep 17 00:00:00 2001 From: Mix Date: Sun, 11 Oct 2026 21:14:00 +0300 Subject: [PATCH] release: 2.0.1: DMARC ingest drops and bounds; Full backup from the panel A patch on 2.0.0, all of it found on the test server after the cut: - a message that is not a report this relay keeps is dropped at once instead of being retried for days; - a report is bounded before it is stored, and reports are kept per domain (security review of the ingest path, nothing Critical or High); - Full backup from the panel works (it had answered 200 with ten bytes since 1.3.0); - no backup holds the Postfix queue, and the panel says why. Cut: CHANGELOG [Unreleased] -> [2.0.1]; image pin 2.0.1 in compose, README, guide; version table. On the test server, on dd0fefd: go vet ./... ok, go test ./... ok (22 packages), make e2e ok. Full detail: CHANGELOG.md (2.0.1). Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 2 ++ README.md | 2 +- deploy/docker-compose.yml | 2 +- docs/development.md | 5 +++-- docs/guide.md | 2 +- 5 files changed, 8 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d3f28fd..b65a5e6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); version ## [Unreleased] +## [2.0.1] - 2026-10-11 + ### Changed - **A message that is not a report this relay keeps is dropped at once.** diff --git a/README.md b/README.md index 3385eb8..feca2ab 100644 --- a/README.md +++ b/README.md @@ -112,7 +112,7 @@ docker run --rm -d --name selfpost-try \ -e SELFPOST_HOSTNAME=mail.local.test \ -e PANEL_COOKIE_SECURE=false \ -v selfpost-try-data:/data \ - ghcr.io/mixeme/selfpost:2.0.0 + ghcr.io/mixeme/selfpost:2.0.1 ``` **Get the setup URL** (pick one): diff --git a/deploy/docker-compose.yml b/deploy/docker-compose.yml index ffbf439..4e17146 100644 --- a/deploy/docker-compose.yml +++ b/deploy/docker-compose.yml @@ -21,7 +21,7 @@ services: selfpost: - image: ghcr.io/mixeme/selfpost:2.0.0 + image: ghcr.io/mixeme/selfpost:2.0.1 restart: unless-stopped environment: SELFPOST_HOSTNAME: "${SELFPOST_HOSTNAME:?set the mail/panel hostname, e.g. mail.example.com}" diff --git a/docs/development.md b/docs/development.md index 37af453..d120aad 100644 --- a/docs/development.md +++ b/docs/development.md @@ -107,7 +107,7 @@ than the default «meaningful step» rule in [§ Commits and release build](#com 2. Git tag `vX.Y.Z` and publish the GitHub Release only on explicit request (see [§ Release image](#release-image)). -**Planned version cuts** (from pin `2.0.0`; adjust if semver changes mid-track): +**Planned version cuts** (from pin `2.0.1`; adjust if semver changes mid-track): | Stage | ID | Cut | |---|---|---| @@ -124,7 +124,8 @@ than the default «meaningful step» rule in [§ Commits and release build](#com | 11 | panel-redesign plan: component kit, stages, reorder (docs only, owner-requested cut) | `1.9.4` (PATCH) | | 12 | GHCR release fix: keep per-arch images, sweep orphaned versions (CI only) | `1.9.5` (PATCH) | | 13 | panel-redesign | `2.0.0` (MAJOR, no compatibility) | -| 14 | inbound-antispam-panel | `2.1.0` (planned; was `1.10.0`, reordered 2026-10-09) | +| 14 | DMARC ingest drops and bounds, full backup from the panel, no queue in a backup | `2.0.1` (PATCH) | +| 15 | inbound-antispam-panel | `2.1.0` (planned; was `1.10.0`, reordered 2026-10-09) | Docs-only prep (checklists in plans, no product code) uses the same per-step commit rule but **no** version cut until the next product stage ships. diff --git a/docs/guide.md b/docs/guide.md index 218ffe4..991daed 100644 --- a/docs/guide.md +++ b/docs/guide.md @@ -183,7 +183,7 @@ cat ./data/setup-token #### Fixed image tag `deploy/docker-compose.yml` pins an explicit version (`ghcr.io/mixeme/selfpost:X.Y.Z`), -deliberately never `:latest`. The current pin is `2.0.0`. Intermediate +deliberately never `:latest`. The current pin is `2.0.1`. Intermediate CHANGELOG sections (`0.2.0`…`0.6.0`) record development cuts from before that image was published. Pinning matters because of the backup version check (see [Full backup and restore](#full-backup-and-restore)): the panel binary's