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

3.5 KiB

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. Target: 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: relaybotrelay, usercommands, puppetinguser, fulluser. Old-style relaybot not supported. telegram.bot_token removed from config. homeserver.verify_ssl removed. Target: v0.15.3 → v0.2606.0.
  • signaldb / telegramdb / discorddb (postgres:13-alpine → 14-alpine): plain postgres (not pgautoupgrade), so major upgrades require manual dump/restore. PG13 EOL Nov 2025. Conservative one-major bump 13→14 (PG14 EOL Nov 2026); operators with existing data must dump/restore before deploying.
  • 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.