Files
cc-ci-orchestrator/cc-ci-plan/upstream/matrix-synapse.md

23 lines
3.5 KiB
Markdown

# Upstream sources — matrix-synapse
| service | image | source repo | releases / changelog |
|---------|-------|-------------|----------------------|
| app | matrixdotorg/synapse | https://github.com/element-hq/synapse | https://github.com/element-hq/synapse/releases |
| mas | ghcr.io/element-hq/matrix-authentication-service | https://github.com/element-hq/matrix-authentication-service | https://github.com/element-hq/matrix-authentication-service/releases |
| signalbridge | dock.mau.dev/mautrix/signal | https://github.com/mautrix/signal | https://github.com/mautrix/signal/releases |
| telegrambridge | dock.mau.dev/mautrix/telegram | https://github.com/mautrix/telegram | https://github.com/mautrix/telegram/releases |
| discordbridge | halfshot/matrix-appservice-discord | https://github.com/matrix-org/matrix-appservice-discord | https://github.com/matrix-org/matrix-appservice-discord/releases |
| web | nginx | https://github.com/nginx/nginx | https://nginx.org/en/CHANGES |
| db | pgautoupgrade/pgautoupgrade | https://github.com/pgautoupgrade/docker-pgautoupgrade | https://github.com/pgautoupgrade/docker-pgautoupgrade/releases |
| signaldb / telegramdb / discorddb | postgres | https://github.com/docker-library/postgres | https://www.postgresql.org/docs/release/ |
## Standing notes
- **pgautoupgrade (main db):** performs in-place `pg_upgrade` on first start of a new major image — no manual dump/restore needed, but always take a DB backup before deploying a major version bump. **PG17→18 shipped in PR#2 (7.3.0+v1.154.0). PGDATA pin required**: postgres:18 moved default PGDATA to `/var/lib/postgresql/18/docker`; pin with `PGDATA=/var/lib/postgresql/data` so pgautoupgrade upgrades in place.
- **signalbridge calver scheme change:** mautrix/signal moved from semver (v0.x) to calver (v25.xx.x / v26.xx.x) at v25.10 (Oct 2025). The bridge was **already Go-based** in v0.8.7 — the calver switch is a versioning-scheme change only, NOT a rewrite. Config schema is unchanged; two new optional sections (`analytics`, `env_config_prefix`) default to disabled. **Shipped in the bridge upgrade PR (2026-06-22): v0.8.7 → v0.2606.0.**
- **telegrambridge Python→Go rewrite:** mautrix/telegram was **rewritten from Python to Go (bridgev2)** in v26.04 (April 2026). v0.15.3 is the last Python release. The Go bridge auto-migrates DB+config in-place from v0.15.3+, BUT only if config is writable — in this recipe the config is a read-only Docker config, so the **config template must be rewritten** to Go bridgev2 format. Permission levels renamed: `relaybot``relay`, `user``commands`, `puppeting``user`, `full``user`. Old-style relaybot not supported. `telegram.bot_token` removed from config. `homeserver.verify_ssl` removed. **Shipped in the bridge upgrade PR (2026-06-22): v0.15.3 → v0.2606.0.**
- **signaldb / telegramdb / discorddb (postgres:13-alpine → 15-alpine):** plain postgres (not pgautoupgrade), so major upgrades require manual dump/restore. PG13 EOL Nov 2025. **Shipped in the bridge upgrade PR (2026-06-22)** — conservative 13→15 (PG15 EOL Nov 2027).
- **discorddb postgres 13→16:** shipped in PR#2. Plain postgres — operators must dump/restore discorddb before deploying if using the discord bridge.
- **MAS 1.18.0:** `device_code_grant_enabled` is now `false` by default — existing deployments using device code grants should set this explicitly in config. Shipped in PR#2.
- **Bridges are optional overlays** (compose.signal.yml, compose.telegram.yml, compose.discord.yml) — only include them in COMPOSE_FILE when actively using bridges.