From 5a731b45b9aa297d82b6f89df8ee7f8b5f97d9c6 Mon Sep 17 00:00:00 2001 From: kisfenyo Date: Fri, 25 Sep 2026 13:30:50 +0200 Subject: [PATCH] CHANGELOG: v0.273.0 Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS --- CHANGELOG.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a87e290..3248317 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,25 @@ +## v0.273.0 — the box converts a PostgreSQL major, docmost first (2026-09-25, `09` §3 decisions 35–38, §6.4 part 10); R-687 + +**MinAgent: 0.131.0** (unchanged). Needs hub v0.123.0 (unchanged). New strings: yes (hu + en, three keys). + +- **The conversion** (`internal/stacks/pgconvert.go`): a step whose ladder entry carries `engine_conversion + {service, engine: postgres, from, to}` gets a `converting` phase after the undo copy — the old engine alone, the + check (owners, encodings, roles, extensions, every table's row count), `pg_dumpall` validated by its completion + line, the DB volume emptied ONLY after the copy's marker is validated again, the new engine alone, the + entrypoint's empty databases dropped and existing roles' `CREATE ROLE` skipped, the load with `ON_ERROR_STOP`, + the check again + `PG_VERSION`. Any failure → the existing undo; a restart during `converting` → undone. +- **Refusals before anything moves:** a PostgreSQL major move with no mark (preflight AND job) — „Ez a lépés a(z) + %s adatbázisának fő verzióját váltaná, de nincs róla próba. Nem változott semmi."; too little room for the dump + beside the stack dir — „A(z) %s adatbázisának átalakításához %s szabad hely kell, de csak %s van. Nem változott + semmi." +- **The old datadir's copy is kept** after success (`app.yaml` `conversion_copy`) until a backup is proven after + the conversion; the hourly `conversion-copy-release` job removes it, logged by name. +- **R-687:** an empty update leg reports `"steps": []`, not `null`; a taken `files_may_change` step logs the whole + copy that allowed it. +- Proven live on 9202 with `0.273.0-rc1` (this release adds only the recovery line's wording and R-687): docmost + 16 → 18 done in 42 s; load failure, unhealthy app and a SIGKILL during `converting` each undone to 16 with the + seed read back (`felhom.eu/documentation/audits/night-2026-09-26/D/`). Red-proofs: 9 (`…/B/`) + 2 (`…/F/`). + ## v0.272.0 — the backup page says when a whole-box backup does not fit; three leftovers (2026-09-25, R-685, R-671, R-670, R-677) **MinAgent: 0.131.0** (unchanged; the new sentence needs agent v0.134.0+ to have anything to say). Needs hub