• v26.9.1 046074bbc2

    v26.9.1
    Some checks failed
    Build / Static via Nix / Build conduwuit-linux-static-amd64 Binary (push) Successful in 28m51s
    Build / Static via Nix / Build conduwuit-linux-static-arm64 Binary (push) Successful in 49m56s
    Build / Static via Nix / Build conduwuit-haswell-linux-static-amd64-maxperf Binary (push) Successful in 57m52s
    Build / Static via Nix / Build conduwuit-linux-static-arm64-maxperf Binary (push) Successful in 1h3m24s
    Build / Static via Nix / Release Binaries (push) Successful in 21s
    Documentation / Build and Deploy Documentation (push) Successful in 1m3s
    Release Docker Image / Build linux-arm64 (release) (push) Successful in 13m15s
    Release Docker Image / Build linux-arm64 (max-perf) (push) Has been skipped
    Checks / Prek / Check changed files (push) Successful in 7s
    Checks / Prek / Pre-commit & Formatting (push) Successful in 1m16s
    Checks / Prek / Clippy and Cargo Tests (push) Failing after 6m21s
    Release Docker Image / Build linux-amd64 (release) (push) Successful in 12m46s
    Release Docker Image / Create Multi-arch Release Manifest (push) Successful in 14s
    Release Docker Image / Build linux-amd64 (max-perf) (push) Successful in 35m57s
    Release Docker Image / Create Max-Perf Manifest (push) Has been skipped
    Release Docker Image / Mirror Images (push) Has been skipped
    Release Docker Image / Release Binaries (push) Has been skipped
    Build / Debian DEB / build (amd64, ubuntu-previous) (push) Has been cancelled
    Build / Debian DEB / build (arm64, debian-latest) (push) Has been cancelled
    Build / Debian DEB / build (arm64, debian-oldstable) (push) Has been cancelled
    Build / Debian DEB / build (arm64, ubuntu-latest) (push) Has been cancelled
    Build / Debian DEB / build (arm64, ubuntu-previous) (push) Has been cancelled
    Build / Debian DEB / build (amd64, debian-oldstable) (push) Has been cancelled
    Build / Debian DEB / build (amd64, debian-latest) (push) Has been cancelled
    Build / Debian DEB / build (amd64, ubuntu-latest) (push) Failing after 3m39s
    Stable

    nex released this 2026-09-28 03:09:22 +00:00 | 121 commits to main since this release

    Signed by nex
    GPG key ID: 0FA334385D0B689F

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

    next you're gonna show up at my front door and offer me a pamphlet with quotes from the Book of Mautrix

    Today I present you with the latest and greatest in Continuwuity technology: v26.9.1!

    This release contains several very important bug fixes, including a fix for a critical severity vulnerability affecting all federated deployments of all versions. Details will be released at a later date.

    Important

    If you cannot update to this version, you should disable federation entirely: either block it in your reverse proxy, or set allow_federation=false in your configuration.

    Note that after updating to this version, there is a database migration that runs in the background - it may take several hours, and you may notice significantly elevated resource usage while it is running (notably CPU and disk IO). It only runs once, after updating. Try to avoid interrupting it, however in this case there will be no negative side effects of interrupting the migration while it is in the background, it just means it'll have to start from scratch again. INFO level logs will be provided as it progresses.

    Features

    • The server now calculates some data for unsigned data when sending it to clients, rather than embedding it at rest. This brings decreased storage costs and improved access control checks. Contributed by @nex. (#2270)
    • Added encrypted Web Push (MSC4174), enabled by default. Contributed by @eleboucher.

    Bugfixes

    • Fixed exponential blowup in auth event fetching for deep auth chains, which caused runaway CPU and RAM until restart. Contributed by @eleboucher. (auth-event-walk)
    • Fixed events being repeatedly re-requested over federation when they were fetched successfully but could not be resolved, and throttled remote event fetches made on behalf of clients. Contributed by @eleboucher. (#2090)
    • SEC8 (embargoed until next release)

    Improved Documentation

    • Add Open Collective links to docs and restyle action buttons. Contributed by @stratself (#2269)

    Get Continuwuity

    Docker Images

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

    Mirrors (may be outdated):

    • Docker Hub: docker.io/jadedblueeyes/continuwuity:v26.9.1
    • GitHub: ghcr.io/continuwuity/continuwuity:v26.9.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
  • v26.9.0 a237672c90

    v26.9.0
    Some checks failed
    Checks / Prek / Check changed files (push) Successful in 8s
    Checks / Prek / Pre-commit & Formatting (push) Successful in 1m35s
    Build / Debian DEB / build (amd64, debian-oldstable) (push) Successful in 15m11s
    Build / Debian DEB / build (amd64, ubuntu-latest) (push) Successful in 13m25s
    Build / Debian DEB / build (amd64, debian-latest) (push) Successful in 15m28s
    Build / Debian DEB / build (amd64, ubuntu-previous) (push) Successful in 14m9s
    Build / Debian DEB / build (arm64, debian-oldstable) (push) Successful in 15m18s
    Build / Debian DEB / build (arm64, debian-latest) (push) Successful in 16m47s
    Build / Debian DEB / build (arm64, ubuntu-latest) (push) Successful in 16m31s
    Build / Debian DEB / build (arm64, ubuntu-previous) (push) Successful in 16m53s
    Build / Static via Nix / Build conduwuit-linux-static-arm64 Binary (push) Successful in 24m59s
    Documentation / Build and Deploy Documentation (push) Successful in 1m34s
    Build / Static via Nix / Build conduwuit-linux-static-amd64 Binary (push) Successful in 29m59s
    Checks / Prek / Clippy and Cargo Tests (push) Successful in 13m16s
    Build / Static via Nix / Build conduwuit-linux-static-arm64-maxperf Binary (push) Successful in 34m14s
    Build / Static via Nix / Build conduwuit-haswell-linux-static-amd64-maxperf Binary (push) Successful in 51m33s
    Build / Static via Nix / Release Binaries (push) Successful in 30s
    Release Docker Image / Mirror Images (push) Failing after 2m21s
    Release Docker Image / Build linux-amd64 (release) (push) Successful in 14m19s
    Release Docker Image / Build linux-arm64 (release) (push) Successful in 11m22s
    Release Docker Image / Create Multi-arch Release Manifest (push) Successful in 26s
    Release Docker Image / Build linux-amd64 (max-perf) (push) Successful in 37m56s
    Release Docker Image / Build linux-arm64 (max-perf) (push) Successful in 42m18s
    Release Docker Image / Create Max-Perf Manifest (push) Successful in 28s
    Release Docker Image / Release Binaries (push) Successful in 23s
    Stable

    nex released this 2026-09-16 20:52:39 +00:00 | 163 commits to main since this release

    Signed by nex
    GPG key ID: 0FA334385D0B689F

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

    MY PAWS ARE BIG AND FLUFFY PAYPAL ME $20

    Look ma, new release! We did things! Most of the team has been on hiatus for this release cycle, but luckily we've still had a flux of community contributions, with a wave of bugfixes in no small part thanks to @eleboucher. There's nothing super exciting in this update, it's mostly housekeeping, but it fixes a regression introduced in v26.8.0 that caused outbound federation to stall under specific circumstances.

    Important

    There are potentially breaking changes in this release, please review if you are affected BEFORE updating:

    • Challengeless registration has been soft-removed - yes_i_am_very_very_sure_i_want_an_open_registration_server_prone_to_abuse no longer has any effect, meaning as of v26.9.0, to register on a continuwuity server, you MUST either use a token, or pass a captcha and/or verify an email. This configuration option now only works in debugging builds with a custom build feature, which is not enabled by default.
    • Unauthenticated media is now disabled by default - the legacy /_matrix/media/* paths that were unauthenticated now no longer respond by default, enforcing the requirement that media requests are authenticated. This may break old bridges or other services that relied on Matrix being an open media proxy.

    Features

    • Added connection_uri_file to configuration options (#1790)

    • Removed the ability to run a server with "challengeless registration" (i.e. the big scary long config option, with no captcha, email, or registration token requirements), without manually compiling
      the server with non-default arguments. Contributed by @nex.

      (This is part of a wider effort to reduce abuse in the Matrix network, of which servers that are easily automated cause a disproportionate amount of) (#2189)

    • Disable legacy, unauthenticated media (allow_legacy_media) by default as the Matrix ecosystem has completely sunsetted this functionality. Legacy media allows anyone to access a file just by knowing its URL, thereby turning homeservers into unwitting CDNs. Homeserver admins are strongly encouraged to check and turn off this option. (#2225)

    • Added the provider_name and provider_icon OIDC options, which show the identity provider's name and icon on the web login page. Contributed by @eleboucher.

    • Advertised MatrixRTC (MSC4143) support in /_matrix/client/versions. Contributed by @eleboucher.

    • The account management web UI now shows users' MSC4427 profile banners. Contributed by @ginger.

    Bugfixes

    • Fixed simplified Sliding Sync lists returning rooms out of activity order. Contributed by @eleboucher. (sliding-sync-activity-ordering)
    • Fixed simplified Sliding Sync restarting when overlapping sync responses arrive out of order. Contributed by @eleboucher. (sliding-sync-overlapping-responses)
    • Fixed simplified Sliding Sync re-sending rooms in full after a list's window shrinks and grows again. Contributed by @eleboucher. (sliding-sync-window-positions)
    • Fixed MSC4155 invite filtering being applied to outgoing invites, which prevented users from inviting anyone they had blocked or ignored invites from. Contributed by @eleboucher. (msc4155-outbound-invites)
    • Fixed !admin query pusher delete-all-user reporting success without deleting any pushers. Contributed by @eleboucher. (#1726)
    • Removing a device from the web UI will no longer show a "Back" link pointing to a 404. Contributed by @ginger. (#2062)
    • Fixed simplified sliding sync omitting device list updates for rooms with only timeline changes. Contributed by @eleboucher. (#2175)
    • Fixed federation transactions never being sent to a remote that was put into backoff by an unrelated request. Contributed by @eleboucher. (#2188)
    • Re-added a cooldown when fetching events from remote servers that have previously failed to be pulled, preventing request spam. (#2201)
    • One-time keys and fallback keys are now properly cleaned up when a device is deleted. (#2202)
    • Sliding sync responses no longer include an empty room account data entry for every room in a list's range. Contributed by @eleboucher. (#2226)
    • Fixed the space hierarchy endpoints returning non-suggested m.space.child events in children_state when suggested_only was requested. Contributed by @eleboucher.
    • The account deactivation page in the account management web UI now shows a message when OIDC is enabled instead of prompting users for a nonexistent account password.

    Get Continuwuity

    Docker Images

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

    Mirrors (may be outdated):

    • Docker Hub: docker.io/jadedblueeyes/continuwuity:v26.9.0
    • GitHub: ghcr.io/continuwuity/continuwuity:v26.9.0

    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
  • 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 | 266 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
  • v26.8.0-alpha.1 cefb2edb55

    v26.8.0-alpha.1
    All checks were successful
    Checks / Prek / Pre-commit & Formatting (push) Successful in 1m10s
    Checks / Prek / Check changed files (push) Successful in 8s
    Build / Debian DEB / build (amd64, debian-latest) (push) Successful in 8m53s
    Build / Debian DEB / build (amd64, debian-oldstable) (push) Successful in 8m12s
    Build / Debian DEB / build (amd64, ubuntu-latest) (push) Successful in 8m22s
    Build / Debian DEB / build (arm64, debian-latest) (push) Successful in 10m48s
    Build / Debian DEB / build (amd64, ubuntu-previous) (push) Successful in 13m1s
    Build / Debian DEB / build (arm64, debian-oldstable) (push) Successful in 8m59s
    Build / Debian DEB / build (arm64, ubuntu-latest) (push) Successful in 9m24s
    Build / Debian DEB / build (arm64, ubuntu-previous) (push) Successful in 9m4s
    Build / Static via Nix / Build conduwuit-linux-static-amd64 Binary (push) Successful in 24m3s
    Build / Static via Nix / Build conduwuit-haswell-linux-static-amd64-maxperf Binary (push) Successful in 53m19s
    Build / Static via Nix / Build conduwuit-linux-static-arm64 Binary (push) Successful in 22m3s
    Documentation / Build and Deploy Documentation (push) Successful in 1m7s
    Build / Static via Nix / Build conduwuit-linux-static-arm64-maxperf Binary (push) Successful in 35m34s
    Build / Static via Nix / Release Binaries (push) Successful in 23s
    Release Docker Image / Create Max-Perf Manifest (push) Successful in 16s
    Checks / Prek / Clippy and Cargo Tests (push) Successful in 9m19s
    Release Docker Image / Mirror Images (push) Successful in 2m3s
    Release Docker Image / Build linux-amd64 (release) (push) Successful in 13m5s
    Release Docker Image / Build linux-arm64 (release) (push) Successful in 11m6s
    Release Docker Image / Create Multi-arch Release Manifest (push) Successful in 15s
    Release Docker Image / Build linux-amd64 (max-perf) (push) Successful in 31m28s
    Release Docker Image / Build linux-arm64 (max-perf) (push) Successful in 31m54s
    Release Docker Image / Release Binaries (push) Has been skipped
    Pre-release

    nex released this 2026-08-13 23:26:03 +00:00 | 349 commits to main since this release

    Signed by nex
    SSH key fingerprint: SHA256:dylClQrKTh1UAkepeWSFdloxb1jOTXaHTvo+Z+Zkztw

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

    You've given a perfectly good computer ADHD is what you've done

    Ello there. It's my turn to make a release, so today I (and the continuwuity team) am proud to present to you: v26.8.0-alpha.1! This pre-release contains many bug fixes and performance improvements. Literally. Like actually, this isn't just a low effort App Store update message. Here's a list (you love those right?) of things that have changed since v26.7.3:

    Features

    • Added MSC4354 sticky events, behind the allow_sticky_events config option. Contributed by @eleboucher.
    • Added MSC4480 sticky events to simplified sliding sync. Contributed by @eleboucher.
    • Added scoped typing updates to simplified Sliding Sync (MSC4508). Contributed by @eleboucher.

    Bugfixes

    • Re-introduced admin room registration alerts that were accidentally removed in the OAuth2 update. (#2057)
    • Resolve membership service by correct name for auto-join. Contributed by @Aranjedeath (#2082)
    • 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)
    • Added MSC4186 direct, encrypted, and room-type list filters, resolving invited rooms from their stripped invite state. Contributed by @eleboucher.
    • Fixed left/banned rooms sometimes not coming down sync.
    • Fixed missed wake-ups and stale responses in legacy and sliding sync long polls. 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.

    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: 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 Ruma dependencies. Contributed by @eleboucher.

    Get Continuwuity

    Docker Images

    • Forgejo: forgejo.ellis.link/continuwuation/continuwuity:v26.8.0-alpha.1

    Mirrors (may be outdated):

    • Docker Hub: docker.io/jadedblueeyes/continuwuity:v26.8.0-alpha.1
    • GitHub: ghcr.io/continuwuity/continuwuity::v26.8.0-alpha.1
    • GitLab: registry.gitlab.com/continuwuity/continuwuity:v26.8.0-alpha.1

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

    First-party Packages

    Community Packages

    Tip

    Pre-releases are not often pulled by downstream repositories.

    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
  • v26.7.3 6957ff7689

    v26.7.3
    All checks were successful
    Build / Debian DEB / build (amd64, debian-latest) (push) Successful in 9m20s
    Build / Debian DEB / build (amd64, debian-oldstable) (push) Successful in 9m23s
    Build / Debian DEB / build (amd64, ubuntu-latest) (push) Successful in 8m34s
    Build / Debian DEB / build (amd64, ubuntu-previous) (push) Successful in 9m4s
    Build / Debian DEB / build (arm64, debian-latest) (push) Successful in 10m27s
    Build / Debian DEB / build (arm64, debian-oldstable) (push) Successful in 10m0s
    Build / Debian DEB / build (arm64, ubuntu-latest) (push) Successful in 10m31s
    Build / Debian DEB / build (arm64, ubuntu-previous) (push) Successful in 10m38s
    Build / Static via Nix / Build conduwuit-linux-static-amd64 Binary (push) Successful in 27m10s
    Build / Static via Nix / Build conduwuit-linux-static-arm64 Binary (push) Successful in 19m26s
    Build / Static via Nix / Build conduwuit-haswell-linux-static-amd64-maxperf Binary (push) Successful in 55m46s
    Documentation / Build and Deploy Documentation (push) Successful in 1m25s
    Release Docker Image / Build linux-amd64 (release) (push) Successful in 12m22s
    Build / Static via Nix / Build conduwuit-linux-static-arm64-maxperf Binary (push) Successful in 32m40s
    Release Docker Image / Build linux-arm64 (release) (push) Successful in 11m37s
    Build / Static via Nix / Release Binaries (push) Successful in 20s
    Release Docker Image / Create Multi-arch Release Manifest (push) Successful in 18s
    Release Docker Image / Build linux-amd64 (max-perf) (push) Successful in 32m5s
    Release Docker Image / Build linux-arm64 (max-perf) (push) Successful in 31m19s
    Release Docker Image / Create Max-Perf Manifest (push) Successful in 17s
    Release Docker Image / Release Binaries (push) Successful in 15s
    Release Docker Image / Mirror Images (push) Successful in 6m15s
    Stable

    ginger released this 2026-08-11 21:47:13 +00:00 | 437 commits to main since this release

    Signed by ginger
    SSH key fingerprint: SHA256:euWU/YvKXZwtOOQmT9KPiMSOJI3gOcPfujywaadW+ok

    Caution

    This release includes a fix for the high-severity vulnerability GHSA-v2x6-m99h-vqxx. Update as soon as possible, especially if you use Continuwuity's support for SMTP.

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

    assuming I'm working this calculator correctly

    Hello! Apparently being on vacation doesn't preclude me from creating releases... We've got a security patch for 26.7.2 for you all today that fixes some recently-discovered vulnerabilities. It does not include any new features merged into main since 26.7.2 released.

    Bugfixes

    • Fixed a vulnerability that enabled the server to leak certain events over federation. Contributed by @eleboucher. (SEC26)
    • Fixed an issue that allowed an attacker to take over another account on the same server under certain conditions. Contributed by @ginger and reported by GlitchedAxiom. (SEC28)

    Get Continuwuity

    Docker Images

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

    Mirrors (may be outdated):

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

    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
  • v26.7.2 59c2649cde

    v26.7.2
    All checks were successful
    Build / Debian DEB / build (amd64, debian-latest) (push) Successful in 10m31s
    Build / Debian DEB / build (amd64, ubuntu-latest) (push) Successful in 14m42s
    Build / Debian DEB / build (amd64, debian-oldstable) (push) Successful in 15m40s
    Build / Debian DEB / build (amd64, ubuntu-previous) (push) Successful in 11m23s
    Build / Debian DEB / build (arm64, debian-latest) (push) Successful in 12m20s
    Build / Debian DEB / build (arm64, ubuntu-previous) (push) Successful in 11m39s
    Build / Debian DEB / build (arm64, debian-oldstable) (push) Successful in 17m54s
    Build / Debian DEB / build (arm64, ubuntu-latest) (push) Successful in 18m1s
    Build / Static via Nix / Build conduwuit-linux-static-arm64 Binary (push) Successful in 20m33s
    Build / Static via Nix / Build conduwuit-linux-static-amd64 Binary (push) Successful in 23m5s
    Documentation / Build and Deploy Documentation (push) Successful in 1m20s
    Build / Static via Nix / Build conduwuit-linux-static-arm64-maxperf Binary (push) Successful in 33m39s
    Release Docker Image / Build linux-amd64 (release) (push) Successful in 14m40s
    Build / Static via Nix / Build conduwuit-haswell-linux-static-amd64-maxperf Binary (push) Successful in 51m44s
    Build / Static via Nix / Release Binaries (push) Successful in 33s
    Release Docker Image / Build linux-arm64 (release) (push) Successful in 14m10s
    Release Docker Image / Create Multi-arch Release Manifest (push) Successful in 16s
    Release Docker Image / Build linux-amd64 (max-perf) (push) Successful in 31m5s
    Release Docker Image / Build linux-arm64 (max-perf) (push) Successful in 30m38s
    Release Docker Image / Release Binaries (push) Successful in 20s
    Release Docker Image / Create Max-Perf Manifest (push) Successful in 22s
    Release Docker Image / Mirror Images (push) Successful in 3m0s
    Stable

    nex released this 2026-07-30 18:37:42 +00:00 | 441 commits to main since this release

    Signed by nex
    SSH key fingerprint: SHA256:dylClQrKTh1UAkepeWSFdloxb1jOTXaHTvo+Z+Zkztw

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

    look at my devs dawg i'm going to jail

    This release fixes a few important fixes that slipped by the previous release, including one security fix:

    Bugfixes

    • Sliding sync no longer continues streaming data to a user after they are removed from a room. Contributed by @eleboucher. (SEC10)
    • Valid redaction events no longer arbitrarily soft-fail and are applied correctly as expected.
    • Fixed a regression that caused the server to process events for rooms it no longer has any local users in, which caused users to be reset back into rooms.

    Get Continuwuity

    Docker Images

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

    Mirrors (may be outdated):

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

    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
  • v26.7.1 83cf15bccb

    v26.7.1
    All checks were successful
    Checks / Prek / Check changed files (push) Successful in 6s
    Checks / Prek / Pre-commit & Formatting (push) Successful in 59s
    Build / Debian DEB / build (amd64, debian-latest) (push) Successful in 9m6s
    Build / Debian DEB / build (amd64, debian-oldstable) (push) Successful in 9m29s
    Build / Debian DEB / build (amd64, ubuntu-latest) (push) Successful in 9m38s
    Build / Debian DEB / build (amd64, ubuntu-previous) (push) Successful in 9m41s
    Build / Debian DEB / build (arm64, debian-latest) (push) Successful in 10m0s
    Build / Debian DEB / build (arm64, debian-oldstable) (push) Successful in 11m8s
    Build / Debian DEB / build (arm64, ubuntu-latest) (push) Successful in 10m18s
    Build / Debian DEB / build (arm64, ubuntu-previous) (push) Successful in 10m46s
    Build / Static via Nix / Build conduwuit-linux-static-arm64 Binary (push) Successful in 27m56s
    Documentation / Build and Deploy Documentation (push) Successful in 1m45s
    Build / Static via Nix / Build conduwuit-linux-static-amd64 Binary (push) Successful in 31m42s
    Build / Static via Nix / Build conduwuit-linux-static-arm64-maxperf Binary (push) Successful in 30m25s
    Build / Static via Nix / Build conduwuit-haswell-linux-static-amd64-maxperf Binary (push) Successful in 42m45s
    Build / Static via Nix / Release Binaries (push) Successful in 36s
    Checks / Prek / Clippy and Cargo Tests (push) Successful in 9m22s
    Release Docker Image / Build linux-arm64 (max-perf) (push) Successful in 33m5s
    Release Docker Image / Build linux-amd64 (release) (push) Successful in 15m57s
    Release Docker Image / Build linux-arm64 (release) (push) Successful in 13m52s
    Release Docker Image / Create Multi-arch Release Manifest (push) Successful in 20s
    Release Docker Image / Build linux-amd64 (max-perf) (push) Successful in 34m3s
    Release Docker Image / Release Binaries (push) Successful in 24s
    Release Docker Image / Create Max-Perf Manifest (push) Successful in 28s
    Release Docker Image / Mirror Images (push) Successful in 4m16s
    Stable

    ginger released this 2026-07-27 20:37:24 +00:00 | 447 commits to main since this release

    Signed by ginger
    SSH key fingerprint: SHA256:euWU/YvKXZwtOOQmT9KPiMSOJI3gOcPfujywaadW+ok

    Continuwuity 26.7.1

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

    now I just need to figure out how you've broken the laws of mathematics on a friday evening

    Hello friends! We've got another release for you all, incorporating loads of bugfixes since 26.6.0 released earlier this month. Legacy sync has gotten a fresh coat of paint, including a mitigation for the infamous bug known as !779 that caused newly joined rooms to fail to sync to clients. Various issues with appservice masquerading have been fixed as well, so E2EE-compatible appservices should work properly again. Finally, we now have official ARM64 Debian and Ubuntu packages available in our repository -- check the documentation to learn more.

    The team would like to extend special thanks to everyone who updated to 26.6.0 and its patch releases, reported bugs, and help us polish everything up. Your support is critical to keeping the project together 💜

    Note

    26.7.1 is a retag of 26.7.0 to fix an issue with the new ARM64 deb workflow. The releases have identical code and identical binaries.

    Features

    • Build and publish arm64 .deb packages alongside amd64 for all supported Debian and Ubuntu releases. (#1235)
    • Dehydrated devices are now visible in the account panel. Contributed by @ginger. (#1970)
    • Introduce accepted_ip_sources as a multiple options variant of request_ip_source, allowing for more advanced deployments and making fallbacks an explicit choice. Contributed by @Omar007 (#1985)
    • Added an admin command to issue an access token for a bot account, to allow legacy bots to function while legacy authentication is disabled. Contributed by @ginger (#2044)
    • Added support for the OAuth2 device authorization flow. Contributed by @ginger
    • Added support for the stable mutual rooms query endpoint. Contributed by @ginger

    Bugfixes

    • Fix joining restricted rooms over federation failing with signature verification error. (fix-federation-signature)
    • Fixed the client space hierarchy endpoint returning a 500 "Space hierarchy is unreasonably large" error for cyclic space graphs (e.g. a space containing itself). Rooms are now deduplicated during traversal as required by the spec, and the traversal depth is bounded even when the client does not specify max_depth. (space-hierarchy-cycle)
    • Fixed simplified sliding sync holding account data for up to 30 seconds, which made encryption setup and cross-signing resets appear to hang. (sss-account-data-longpoll)
    • Fixed local invites and invite acceptances not being reflected in sync promptly. Contributed by @eleboucher (wake-local-member-sync)
    • Fixed the deeplink redirect for deleting devices. Contributed by @koen (#1965)
    • Fix status code for oauth registration. Contributed by @n00byking (#1984)
    • Exempt m.room.create from auth_events check. Contributed by @eleboucher (#1987)
    • Fixed create being returned as a supported prompt value regardless of if registration is enabled or not. Contributed by @ginger (#1994)
    • Fixed high CPU usage when multiple clients from the same account were connected at once. Each sync woke the account's other sync loops, causing them to wake each other in a loop. (#2006)
    • Fixed MSC4190 appservice device creation registering a random device ID instead of the requested one (and dropping the requested display name), which prevented encrypted mautrix bridges from starting on OIDC-enabled servers and leaked an orphan device on the bridge bot per startup attempt. (#2015)
    • Deactivated users and appservice puppets are no longer counted by /_continuwuity/local_user_count. Contributed by @ginger. (#2040)
    • Re-introduced admin room registration alerts that were accidentally removed in the OAuth2 update. (#2057)
    • Appservices are now properly able to create devices for E2EE.
    • Appservices may now specify both the unstable and stable device_id query parameters in a request. The stable parameter will take priority. Contributed by @ginger.
    • Fixed roomuserid_lastnotificationread being aliased to the highlight count table, which clobbered highlight counts when setting a read marker. Contributed by @eleboucher
    • Fixed freshly left room failing to sync.
    • Fixed newly created rooms failing to sync properly in clients using legacy sync.
    • Fixed newly joined rooms failing to sync their full state (including the room name) to clients using legacy sync.
    • Fixed requests returning 500 Internal Server Error when the header selected by request_ip_source is absent, duplicated, or malformed (for example Envoy omitting X-Envoy-External-Address on internal requests). The client IP now falls back to the connection peer address instead of failing the request. Contributed by @eleboucher
    • Resolve alias service by correct name for auto-join. Contributed by @eleboucher

    Improved Documentation

    • Updated an out-of-date statement about Oracle Linux release cadences. (#1999)

    Get Continuwuity

    Docker Images

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

    Mirrors (may be outdated):

    • Docker Hub: docker.io/jadedblueeyes/continuwuity:v26.7.1
    • GitHub: ghcr.io/continuwuity/continuwuity:v26.7.1
    • GitLab: registry.gitlab.com/continuwuity/continuwuity:v26.7.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
  • v26.6.2 6ad3e679bc

    v26.6.2
    All checks were successful
    Checks / Prek / Check changed files (push) Successful in 5s
    Checks / Prek / Pre-commit & Formatting (push) Successful in 1m15s
    Build / Debian DEB / build (debian-latest) (push) Successful in 11m34s
    Build / Debian DEB / build (debian-oldstable) (push) Successful in 11m43s
    Build / Debian DEB / build (ubuntu-latest) (push) Successful in 7m54s
    Build / Debian DEB / build (ubuntu-previous) (push) Successful in 9m47s
    Build / Static via Nix / Build conduwuit-linux-static-arm64 Binary (push) Successful in 19m26s
    Documentation / Build and Deploy Documentation (push) Successful in 1m3s
    Build / Static via Nix / Build conduwuit-linux-static-amd64 Binary (push) Successful in 24m41s
    Checks / Prek / Clippy and Cargo Tests (push) Successful in 8m22s
    Build / Static via Nix / Build conduwuit-linux-static-arm64-maxperf Binary (push) Successful in 33m4s
    Build / Static via Nix / Build conduwuit-haswell-linux-static-amd64-maxperf Binary (push) Successful in 47m58s
    Build / Static via Nix / Release Binaries (push) Successful in 25s
    Release Docker Image / Create Multi-arch Release Manifest (push) Successful in 15s
    Release Docker Image / Mirror Images (push) Successful in 2m22s
    Release Docker Image / Build linux-amd64 (release) (push) Successful in 12m50s
    Release Docker Image / Build linux-arm64 (release) (push) Successful in 11m26s
    Release Docker Image / Build linux-amd64 (max-perf) (push) Successful in 32m26s
    Release Docker Image / Build linux-arm64 (max-perf) (push) Successful in 32m7s
    Release Docker Image / Create Max-Perf Manifest (push) Successful in 24s
    Release Docker Image / Release Binaries (push) Successful in 19s
    Stable

    ginger released this 2026-07-12 21:34:16 +00:00 | 532 commits to main since this release

    Signed by ginger
    SSH key fingerprint: SHA256:euWU/YvKXZwtOOQmT9KPiMSOJI3gOcPfujywaadW+ok

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

    EVERY TIME I FIX AN ERROR TEN MORE APPEAR

    One more time for the people in the back! This is a bugfix release that fixes a further late-arriving issue with OIDC, as well as some issues which were supposed to be fixed in the previous release but were lost because of a forge hiccup. It is recommended all deployments update as soon as possible, especially if they are using OIDC.

    Bugfixes

    • Fixed the server returning 500 errors if admin_console_automatic is enabled and no TTY is available. Contributed by @s1lv3r. (#1975)
    • Fixed global.oauth.compatibility_mode being required, despite being ignored, when the [global.oauth.oidc] config section is provided.
    • Fixed an issue with a migration that could cause user accounts imported from an identity provider to be marked as deactivated when the server started. If you have accounts affected by this issue, use !admin users reset-password --convert-to-local-account to reactivate them.

    Get Continuwuity

    Docker Images

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

    Mirrors (may be outdated):

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

    You can also use the latest tag for the most recent release, or v26.6 for the most recent release in the v26.6 series.

    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
  • v26.6.1 b8c64a68d4

    v26.6.1
    Some checks failed
    Checks / Prek / Check changed files (push) Successful in 4s
    Checks / Prek / Pre-commit & Formatting (push) Successful in 1m8s
    Checks / Prek / Clippy and Cargo Tests (push) Has been cancelled
    Build / Debian DEB / build (debian-latest) (push) Successful in 12m59s
    Build / Debian DEB / build (debian-oldstable) (push) Successful in 13m39s
    Build / Debian DEB / build (ubuntu-latest) (push) Successful in 10m40s
    Build / Debian DEB / build (ubuntu-previous) (push) Successful in 12m5s
    Build / Static via Nix / Build conduwuit-linux-static-arm64 Binary (push) Successful in 18m48s
    Build / Static via Nix / Build conduwuit-linux-static-amd64 Binary (push) Successful in 25m1s
    Documentation / Build and Deploy Documentation (push) Successful in 1m7s
    Build / Static via Nix / Build conduwuit-linux-static-arm64-maxperf Binary (push) Successful in 31m15s
    Build / Static via Nix / Build conduwuit-haswell-linux-static-amd64-maxperf Binary (push) Successful in 51m52s
    Build / Static via Nix / Release Binaries (push) Successful in 20s
    Release Docker Image / Build linux-amd64 (max-perf) (push) Successful in 53m37s
    Release Docker Image / Build linux-amd64 (release) (push) Successful in 12m23s
    Release Docker Image / Build linux-arm64 (release) (push) Successful in 11m46s
    Release Docker Image / Create Multi-arch Release Manifest (push) Successful in 20s
    Release Docker Image / Build linux-arm64 (max-perf) (push) Successful in 30m49s
    Release Docker Image / Release Binaries (push) Successful in 15s
    Release Docker Image / Create Max-Perf Manifest (push) Successful in 20s
    Release Docker Image / Mirror Images (push) Successful in 5m41s
    Stable

    nex released this 2026-07-12 04:09:50 +00:00 | 540 commits to main since this release

    Signed by ginger
    SSH key fingerprint: SHA256:euWU/YvKXZwtOOQmT9KPiMSOJI3gOcPfujywaadW+ok

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

    EDU stands for Evil Data Unit

    Warning

    Several very disruptive bugs have been discovered in this release. It is recommended you skip this version and instead choose the latest 26.6.X patch release.

    That time again, already? This is a bugfix release that hashes over some bugs that were found shortly after releasing v26.6.0. It is recommended all deployments update as soon as possible, especially if they are using OIDC.

    Features

    • Added enforcement for new federated invite checks and corrected a bunch of related spec compliance issues along the way. Contributed by @nex. (#1952)

    Bugfixes

    • Fixed existing accounts failing to link when logging in with OIDC if prompt_for_localpart was false. (#1942)
    • Authentication is no longer required on the /_matrix/client/v3/account/3pid/email/requestToken endpoint. (#1953)
    • Fixed newly created rooms failing to sync properly in clients using legacy sync.
    • Stopped appservice users from being erroneously marked as deactivated during a 26.6 database migration.
    • Whitespace will now automatically be trimmed from the start and end of the global.oauth.oidc.client_secret_file.

    Incompatible changes

    • The new validation checks performed as part of #1952 will prevent any Continuwuity server that is not up to date from sending federated invites to up-to-date servers due to spec compliance issues in prior versions. If this causes problems for you, you should downgrade or just remain on the previous version. Local invites are unaffected.

    woof

    Downloads
  • v26.6.0 a76c5c95aa

    v26.6.0
    Some checks failed
    Checks / Prek / Pre-commit & Formatting (push) Successful in 1m18s
    Checks / Prek / Check changed files (push) Successful in 6s
    Build / Debian DEB / build (debian-latest) (push) Successful in 8m34s
    Build / Debian DEB / build (debian-oldstable) (push) Successful in 8m37s
    Build / Debian DEB / build (ubuntu-latest) (push) Successful in 9m21s
    Build / Debian DEB / build (ubuntu-previous) (push) Successful in 8m20s
    Build / Static via Nix / Build conduwuit-linux-static-amd64 Binary (push) Successful in 22m9s
    Build / Static via Nix / Build conduwuit-linux-static-arm64 Binary (push) Successful in 16m43s
    Build / Static via Nix / Build conduwuit-haswell-linux-static-amd64-maxperf Binary (push) Successful in 47m41s
    Documentation / Build and Deploy Documentation (push) Successful in 1m32s
    Build / Static via Nix / Build conduwuit-linux-static-arm64-maxperf Binary (push) Successful in 31m49s
    Build / Static via Nix / Release Binaries (push) Successful in 22s
    Checks / Prek / Clippy and Cargo Tests (push) Successful in 10m1s
    Release Docker Image / Build linux-arm64 (release) (push) Successful in 12m16s
    Release Docker Image / Build linux-amd64 (release) (push) Successful in 9m27s
    Release Docker Image / Create Multi-arch Release Manifest (push) Successful in 15s
    Release Docker Image / Build linux-amd64 (max-perf) (push) Failing after 36m53s
    Release Docker Image / Build linux-arm64 (max-perf) (push) Failing after 53m53s
    Release Docker Image / Create Max-Perf Manifest (push) Has been cancelled
    Release Docker Image / Release Binaries (push) Has been cancelled
    Release Docker Image / Mirror Images (push) Has been cancelled
    Stable

    ginger released this 2026-07-10 17:28:57 +00:00 | 593 commits to main since this release

    Signed by ginger
    SSH key fingerprint: SHA256:euWU/YvKXZwtOOQmT9KPiMSOJI3gOcPfujywaadW+ok


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

    this PR makes performance and stability WORSE. we did this because we are EVIL.

    Warning

    Several very disruptive bugs have been discovered in this release. It is recommended you skip this version and instead choose the latest 26.6.X patch release.

    Hello friends! It's been a while. Almost three months, in fact, but we've been busy. I'm not sure how to convey how major this release is, and how excited we are for you all to get to play with it. We've changed more than thirty five thousand lines of code - a third of the codebase - and brought you some incredible features since our last release, including some of our most highly requested features ever. To mark this milestone, we've changed our versioning scheme! Continuwuity is officially out of the zerover tarpit.

    In compatible clients, you'll notice a new login and registration screen. This is our newly introduced support for OAuth login, also referred to as next-generation authentication. This means it's finally possible to register new accounts in Element X! We've also added support for Single Sign On using OpenID Connect-compatible identity providers, and have removed support for LDAP per #1701.

    We've fixed a longstanding design flaw with our legacy sync code which should massively reduce database sizes for old deployments and slow database growth for new ones.

    We've also got an incredible amount of invisible improvements! Many improvements have been made to federation to make it faster and more reliable. You're much less likely to experience a state reset. Room upgrades are smoother and more reliable. Synchronisation with clients is more correct and reliable. Unable to Decrypt errors should be less likely when you recive lots of messages while offline. Policy server support has been updated.

    Server administrators may wish to configure the new request_ip_source option to set how Continuwuity determines the client's IP address.

    Thanks to @julian45, our Fedora RPM packages have been replaced by packages in the Terra repository and the OpenSUSE Build Service. This means that Continuwuity is now available for EL and OpenSUSE distributions. To use these packages, please follow the new RPM guide. Users on the old forgejo.ellis.link RPM repositories must migrate to the new packages.

    Note

    Updating to this release is one-way, as it includes database migrations that make it incompatible with the 0.5.x series.

    Features

    • Added support for linking an external identity provider with OIDC. Contributed by @ginger. (#765)

    • Updated MSC4284: Policy Servers implementation to support the newly stabilised proposal. Contributed by @nex. (#1487)

    • Added config option for default room ACLs. Contributed by @eve. (#1691)

    • Added support for fallback encryption keys. (#1710)

    • Add !admin users reject-all-invites to clean invite spam (#1741)

    • Implemented event rejection, which should resolve and prevent future netsplits of the kinds observed
      within some Continuwuity rooms.
      Also resolved several bugs related to both soft-failing events, and event backfilling, which should
      improve state resolution stability.
      The !admin debug get-pdu command was updated to disambiguate event acceptance status, and
      !admin debug show-auth-chain was added to visually display event auth chains, which may assist
      developers in debugging strangely complex events.

      Contributed by @nex. (#1747)

    • Added full support for MSC4168: Update m.space.* state on room upgrade. Contributed by @nex. (#1807)

    • Improved the performance and reliability of fetching missing events, improving network partition recovery. Contributed
      by @nex. (#1818)

    • Added static builds using Nix, allowing for Continuwuity on musl. During this, we also introduced a max-perf-haswell package, separating it from max-perf, so you may want to swap to this if you are on NixOS. Contributed by @Henry-Hiles (QuadRadical). (#1853)

    • Added support for MSC4380 invite blocking, which has become part of the Matrix specification in v1.18. Contributed by @nex. (#1875)

    • Added !admin debug get-state-at command (#1877)

    • Added a configuration option to allow choosing a client IP source that is not the TCP connecting IP. Contributed by @nex. (#1931)

    • Added support for MSC4466, which allows clients to customize how changes to a user's global profile are propagated. Contributed by @ginger.

    • Added support for Matrix 1.16's state_after feature, allowing clients which understand it to sync room state changes more reliably. Contributed by @ginger.

    • Added support for authenticating clients using the new OAuth 2.0 login API. Contributed by @ginger.

    • Appservice device management as outlined in MSC4190 (part of Matrix 1.17) is now fully supported. Contributed by @ginger.

    • Users may now be forbidden from deactivating their own accounts with the new allow_deactivation config option. Contributed by @ginger.

    Bugfixes

    • Adjusted legacy sync logic to allow the roomsynctoken_shortstatehash database column to be dropped, massively reducing database sizes, especially for old deployments. Contributed by @ginger. (#917)
    • Fixed a bug that caused the server to drop events during processing if several events for the same room were sent in a singular transaction. Contributed by @nex. (#1711)
    • fix !admin query account-data account-data-get not returning the content (#1742)
    • Fixed an issue where Continuwuity would only advertise support for the unstable endpoint for Mutual Rooms (MSC2666), despite only supporting the stable endpoint. Contributed by @Henry-Hiles (QuadRadical) (#1752)
    • Fixed admin commands being ignored when they had leading whitespace before admin commands. Contributed by @kitvonsnookerz. (#1804)
    • Fixed several bugs in the POST /_matrix/client/v3/rooms/{roomId}/upgrade endpoint. Contributed by @nex. (#1807)
    • Devices which set their presence as "offline" will no longer be considered for presence updates. Contributed by @timedout.
    • Improved invite and join reliability in clients using legacy sync. Contributed by @ginger
    • The invite recipient's membership event is now included in invite stripped state, which should fix flaky invite display in some clients. Contributed by @ginger

    Improved Documentation

    • Add performance tuning documentation. Contributed by @stratself. (#1498)
    • Explain accessing Continuwuity's server console when deployed via Docker. (#1671)
    • Clarified in the config that max_request_size affects federated media as well. (#1706)
    • Added example configuration using caddy-docker-proxy in the livekit setup section of the docs. Contributed by @Cease (#1762)
    • Updated deployment docs to account for new RPM package availability across more distros. Contributed by @julian45. (#1912)

    Deprecations and Removals

    • Removed support for LDAP. (#1701)
    • Removed support for guest user registration, a little-used and deprecated approach to room previews.
    • Removed the /_conduwuit/ versions of the local_user_count and version routes. These routes are still accessible under the /_continuwuity prefix.
    • Support for server-side blurhashing (part of MSC2448) has been removed.
    • The deprecated well_known.rtc_focus_server_urls config option has been removed. MatrixRTC foci should be configured using the matrix_rtc.foci config option.

    Misc

    • #1505, #1829, #1927, #1933, #1934
    • Switched from Continuwuity's fork of Ruma back to upstream Ruma. Contributed by @ginger.
    • The version of Debian that the Docker-based build process uses has been upgraded from Bookworm to Trixie, meaning that standalone binaries now have a minimum glibc of 2.41, and can no longer be used on distro versions from before 2025-01-30

    Get Continuwuity

    Docker Images

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

    Mirrors (may be outdated):

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

    You can also use the latest tag for the most recent release, or v26.6 for the most recent release in the v26.6 series.

    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