docs(matrix): demote breaking-change notes to clearly-scoped upgrade sections

serverName/gatewayHost and openFirewall both led with 'Breaking
change'/'has now moved twice' phrasing woven into the primary
explanation, reading as an active/ongoing concern rather than
settled current behaviour with a historical upgrade note attached.
Reframed to state the current default first, then a demarcated
'Upgrading...' section/note for deployments carrying an older
value forward — same pattern swarm/README.md's own upgrade notes
already use. No factual content changed, removed, or added.
This commit is contained in:
iris 2026-08-19 19:55:21 +02:00
commit 47f5e57c68

View file

@ -41,7 +41,7 @@ Two distinct hostnames:
`chat.<services.hyperhive.swarm.domain>`. Set to `null` to skip the `chat.<services.hyperhive.swarm.domain>`. Set to `null` to skip the
gateway vhost (tuwunel stays direct on `httpPort`). gateway vhost (tuwunel stays direct on `httpPort`).
Both now default under the **swarm** domain, because a swarm runs one Both default under the **swarm** domain, because a swarm runs one
homeserver: tying its identity to a single hive's domain would make homeserver: tying its identity to a single hive's domain would make
relocating the container between hives look like a different relocating the container between hives look like a different
homeserver. homeserver.
@ -54,10 +54,14 @@ adopting a new one does **not** rename the existing users and rooms —
it strands them, because their ids still name a homeserver that no it strands them, because their ids still name a homeserver that no
longer answers. longer answers.
**Breaking change — pin `serverName` before rebuilding.** Its default ### Upgrading a homeserver that already has ids
has now moved twice: from `matrix.${services.hyperhive.domain}`, to
the bare hive domain, and now to the swarm domain. Any homeserver that `serverName`'s default has changed across releases (from
has already minted ids must name the value it minted them under: `matrix.${services.hyperhive.domain}`, to the bare hive domain, to the
current swarm domain). A homeserver that has already minted ids under
an older default must **pin the value it actually minted them
under**, not adopt the new default — see above for why adopting a new
one strands existing users and rooms:
```nix ```nix
services.hyperhive.swarm.matrix = { services.hyperhive.swarm.matrix = {
@ -82,9 +86,9 @@ matters for access from *outside* the host. Flip to `true` when
announcing the homeserver to other hives or when an external matrix announcing the homeserver to other hives or when an external matrix
client needs to reach the client-server API directly. client needs to reach the client-server API directly.
**Breaking change**: used to default to `true`. Operators relying on **Upgrading:** earlier releases defaulted `openFirewall` to `true`.
external reach must add Operators relying on external reach need to add
`services.hyperhive.swarm.matrix.openFirewall = true;` before rebuilding. `services.hyperhive.swarm.matrix.openFirewall = true;` explicitly now.
Federation port 8448 is intentionally not opened here — tuwunel Federation port 8448 is intentionally not opened here — tuwunel
serves the federation API on the same `httpPort` as client-server serves the federation API on the same `httpPort` as client-server