• v26.8.1 ab3c05dac6

    v26.8.1
    All checks were successful
    Checks / Prek / Pre-commit & Formatting (push) Successful in 1m13s
    Checks / Prek / Check changed files (push) Successful in 6s
    Build / Debian DEB / build (amd64, debian-latest) (push) Successful in 9m10s
    Build / Debian DEB / build (amd64, debian-oldstable) (push) Successful in 8m36s
    Build / Debian DEB / build (amd64, ubuntu-latest) (push) Successful in 8m29s
    Build / Debian DEB / build (amd64, ubuntu-previous) (push) Successful in 8m24s
    Build / Debian DEB / build (arm64, debian-latest) (push) Successful in 9m9s
    Build / Debian DEB / build (arm64, debian-oldstable) (push) Successful in 9m15s
    Build / Debian DEB / build (arm64, ubuntu-latest) (push) Successful in 9m20s
    Build / Debian DEB / build (arm64, ubuntu-previous) (push) Successful in 9m29s
    Build / Static via Nix / Build conduwuit-linux-static-amd64 Binary (push) Successful in 25m30s
    Build / Static via Nix / Build conduwuit-linux-static-arm64 Binary (push) Successful in 19m44s
    Build / Static via Nix / Build conduwuit-haswell-linux-static-amd64-maxperf Binary (push) Successful in 56m12s
    Documentation / Build and Deploy Documentation (push) Successful in 1m32s
    Build / Static via Nix / Build conduwuit-linux-static-arm64-maxperf Binary (push) Successful in 34m20s
    Build / Static via Nix / Release Binaries (push) Successful in 22s
    Release Docker Image / Build linux-amd64 (release) (push) Successful in 9m22s
    Release Docker Image / Build linux-arm64 (release) (push) Successful in 8m59s
    Release Docker Image / Create Multi-arch Release Manifest (push) Successful in 16s
    Release Docker Image / Build linux-amd64 (max-perf) (push) Successful in 32m16s
    Release Docker Image / Build linux-arm64 (max-perf) (push) Successful in 32m41s
    Release Docker Image / Create Max-Perf Manifest (push) Successful in 16s
    Release Docker Image / Release Binaries (push) Successful in 20s
    Checks / Prek / Clippy and Cargo Tests (push) Successful in 9m23s
    Release Docker Image / Mirror Images (push) Successful in 4m34s
    Stable

    Jade released this 2026-08-22 23:57:24 +00:00 | 1 commits to main since this release

    Signed by Jade
    GPG key ID: 8705A2A3EBF77BD2

    Continuwuity is a community-driven Matrix chat server, designed to be efficient and easy to run

    Experts aren't real it's all just a tgirl in a hoodie on a thinkpad

    Boo! Surprise release! It's a good one, too - we've hugely improved the reliability of federation, again! We've upgraded our tracking of remote servers to automatically notice when they come back online, and re-resolve the addresses of servers that have moved!

    If you're feeling a little experimental, you can enable allow_sticky_events and try out the Matrix 2.0 version of Element Call (in its developer tools). On top of that, we've resolved (badum tss) a boatload of bugs. Improvements in sync, Simplified Sliding Sync and spaces! That's a lot of S's!

    This release also conains a security fix (SEC30).

    Features

    • Added new health tracking to monitor the health of remote servers and intelligently back-off federation globally with automatic stale re-resolution.
      (#2097)
    • Added MSC4354 sticky events (and MSC4480 for sliding sync), behind the allow_sticky_events config option. Contributed by @eleboucher.
    • Added scoped typing updates to Simplified Sliding Sync (MSC4508). Contributed by @eleboucher.
    • Added MSC4186 direct, encrypted, and room-type list filters to Simplified Sliding Sync, resolving invited rooms from their stripped invite state. Contributed by
      @eleboucher.

    Bugfixes

    • Re-introduced admin room registration alerts that were accidentally removed in the OAuth2 update. (#2057)
    • Fixed federation PDUs received during remote joins being dropped before their room state was available. Contributed by @eleboucher.
      (#2063)
    • Resolve membership service by correct name for auto-join. Contributed by @Aranjedeath (#2082)
    • Fixed simplified sliding sync reporting the number of live timeline events. Contributed by @eleboucher. (#2083)
    • Plugged a logic gap that may have been allowing Continuwuity to process events with incorrect room versions under certain conditions. Contributed by @nex.
      (#2106)
    • The OAuth 2.0 device authorization endpoint now rejects clients which did not register the device code grant type, instead of issuing them a device code. The token endpoint now returns the
      unauthorized_client error code when a client requests a grant type it did not register, instead of invalid_grant. Contributed by @mmaudet.
      (#2110)
    • Events arriving after one of their children has already been backfilled are no longer used as forward extremities. Contributed by @eleboucher.
      (#2115)
    • Fixed federated space hierarchies omitting rooms restricted to members of private spaces. Contributed by @eleboucher. (#2132)
    • A panic during transaction handling will no longer cause the handle tracker to reference a stale transaction, which caused federation between two servers to fail until continuwuity was restarted.
      Contributed by @nex. (#2137)
    • Fixed event tracking forgetting to mark soft-failed/rejected events as referenced, which caused a build-up of incorrectly unreferenced events, triggering frequent dummy squashes and associated state
      resets. (#2164)
    • Fixed left/banned rooms sometimes not coming down sync.
    • Fixed local events dropping forward extremities they did not reference. Contributed by @eleboucher.
    • Fixed missed wake-ups and stale responses in legacy and sliding sync long polls. Contributed by @eleboucher.
    • Fixed space hierarchy depth limits, child ordering, and non-space child traversal. Contributed by @eleboucher.
    • Fixed state resolution ordering room creators as having no power level. Contributed by @eleboucher.
    • Fixed sync loops being woken before membership changes are fully committed.
    • Fixed typing notifications not interrupting a sync long poll. Contributed by @eleboucher.
    • Preserve all users' read receipts when batching room receipt updates.
    • Fixed MSC4323 suspend/lock admin endpoints: the lock endpoint now locks instead of suspending users, and error codes match the
      ratified spec. Contributed by @eleboucher.

    Improved Documentation

    • Refactor TURN docs and remove unsafe setups. Polish LiveKit docs. Add guidance for TURNS-over-443 multiplexing for both LiveKit and legacy calls. Contributed by @stratself
      (#1740)
    • Updated the docs to reflect the current default User-Agent for URL previews (#2079)
    • Added missing documentation to config parameters. Contributed by @renegadespork (#2107)
    • Generic deployment documentation: Use /etc/caddy/Caddyfile instead of /etc/caddy/conf.d/* paths, which do not exist on a majority of Caddy installations.
      (#2117)
    • Add caveat and workaround for container resolution (e.g. for dockerized appservices) when using mounted /etc/resolv.conf. Contributed by @stratself
    • Livekit docs, troubleshooting section: Advise using host-gateway magic address for lk-jwt-service container to loop back to host, instead of the other incomplete/incorrect workarounds.
      Contributed by @stratself
    • Livekit docs: room.auto_create: false is now included in default livekit.yaml, following lk-jwt-service recommendation.
    • Replace deprecated docker-compose commands with docker compose to reflect latest Docker changes.
    • Update backup instructions: the right paths for .sst files are now in $DATABASE_BACKUP_PATH/private/<number> path instead of $DATABASE_BACKUP_PATH/<number>. Contributed by @stratself

    Misc

    • Updated admin command names (list-users -> list, list-rooms -> list, and reload-mods -> reload), old names are now aliases. Contributed by @PerformativeJade (#2033)
    • Updated Ruma dependencies. Contributed by @eleboucher.

    Get Continuwuity

    Docker Images

    • Forgejo: forgejo.ellis.link/continuwuation/continuwuity:v26.8.1

    Mirrors (may be outdated):

    • Docker Hub: docker.io/jadedblueeyes/continuwuity:v26.8.1
    • GitHub: ghcr.io/continuwuity/continuwuity:v26.8.1
    • GitLab: registry.gitlab.com/continuwuity/continuwuity:v26.8.1

    You can also use the latest tag for the most recent release.

    First-party Packages

    Community Packages

    Packaging status

    Binaries

    Plain binaries are distributed below. They require glibc and liburing to work - most distributions already have these installed.

    Static binaries are built with musl, and will work on any Linux distribution.

    From Source

    See our deployment documentation for instructions on building from source.

    Downloads