release: 2.9.0: DNS records folded, Settings re-checks, /data/opendkim gone
test / test (push) Waiting to run

Cut at the owner's word (2026-10-16, "потом режь 2.9.0").

dns-record-collapse (fffee9c, 51f303c): a record DNS holds as shown is one
line, its values behind Show values. settings-save-row (f95c553,
82a53e1): the Settings form is the left column, Save under its fields.
notification-mail-recheck (98e4dfc, 52a9811, 3f5cd9a): Re-check DNS on
Settings, POST /server/settings/dns-recheck. And the release after 2.8.0
removes /data/opendkim (9420d8c): the entrypoint deletes the 2.7.x key
tree once /data/dkim holds a key, and stops on a /data that never ran
2.8.x.

Each tree passed go vet, go test (26 packages) and make e2e on the test
server; dns-record-collapse and settings-save-row ran there as
2.8.0-post.51f303c and 2.8.0-post.82a53e1. No migration, schema 11.

CHANGELOG [2.9.0]; pins in deploy/docker-compose.yml, README and the guide
(pin, build, the sample restore message; the 2.7.x rollback command keeps
naming 2.7.0); development's "from pin" and row 30; roadmap rows and
recommended order. No tag.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
mix
2026-10-16 13:46:26 +03:00
co-authored by Claude Opus 5.5
parent 9420d8c03d
commit 446feadd74
6 changed files with 23 additions and 13 deletions
+4 -4
View File
@@ -204,14 +204,14 @@ 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.8.0`. **No 2.x image is
deliberately never `:latest`. The current pin is `2.9.0`. **No 2.x image is
published on ghcr.io yet** (the newest there is `1.3.0`); until one is, build
it from the checkout under the pinned name, and Compose uses the local image
instead of pulling:
```sh
docker build -f build/Dockerfile --build-arg VERSION=2.8.0 \
-t ghcr.io/mixeme/selfpost:2.8.0 .
docker build -f build/Dockerfile --build-arg VERSION=2.9.0 \
-t ghcr.io/mixeme/selfpost:2.9.0 .
```
`VERSION` must equal the tag: it is the version the backup check compares
@@ -944,7 +944,7 @@ A version mismatch at step 5 refuses to start and leaves `/data` untouched —
the panel exits with a message naming the tag to use, e.g.:
```
backup: this backup was created by SelfPost 2.7.0 but this image is 2.8.0 — restore into the matching image (selfpost:2.7.0)
backup: this backup was created by SelfPost 2.8.0 but this image is 2.9.0 — restore into the matching image (selfpost:2.8.0)
```
Fix the tag in `docker-compose.yml` (build that tag as under [Fixed image