• v0.5.6 2c7233812b

    v0.5.6
    Some checks failed
    Checks / Prek / Pre-commit & Formatting (push) Successful in 5m26s
    Documentation / Build and Deploy Documentation (push) Successful in 1m34s
    Build / Debian DEB / build (ubuntu-latest) (push) Successful in 52m40s
    Build / Fedora RPM / build (push) Successful in 48m44s
    Build / Debian DEB / build (debian-latest) (push) Successful in 17m24s
    Build / Debian DEB / build (debian-oldstable) (push) Successful in 57m55s
    Release Docker Image / Create Max-Perf Manifest (push) Successful in 1m43s
    Release Docker Image / Build linux-amd64 (release) (push) Successful in 3m29s
    Release Docker Image / Build linux-arm64 (release) (push) Successful in 3m25s
    Release Docker Image / Create Multi-arch Release Manifest (push) Successful in 5m1s
    Release Docker Image / Build linux-amd64 (max-perf) (push) Successful in 10m11s
    Release Docker Image / Build linux-arm64 (max-perf) (push) Successful in 8m33s
    Checks / Prek / Clippy and Cargo Tests (push) Successful in 29m20s
    Build / Debian DEB / build (ubuntu-previous) (push) Failing after 12m17s
    Stable

    Jade released this 2026-03-04 01:58:09 +00:00 | 63 commits to main since this release

    Signed by Jade
    GPG key ID: 8705A2A3EBF77BD2

    Continuwuity 0.5.6

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

    no, federation drug will kill the patient! she needs soft fails to live!

    Aaaand we're back, just long enough to haunt the release notes! This time we've got a couple of small security improvements, as well as improvements to federation performance & reliability, a fix to being unable to decrypt messages sent while you were logged out of all devices and disabling outbound presence by default - which should cause a reduction in CPU usage on many people's servers.

    We've had a massive amount of community contribution, so much that it's hard to keep up with it all! Thank you to everyone who has contributed – we're working our way through open PRs. It might take some time to get all the new changes incorporated, especially with our reduced capacity right now.

    Please reshare the announcement on the Fediverse and on Bluesky, and consider giving us a star on github :3

    Security

    • Admin escape commands (\\!admin in rooms other than the admin room) recieved over federation will never be executed, as this is never valid in a genuine situation. Contributed by @Jade. This is a followup enhancement to further improve the resilliance to attacks similar to CVE-2026-24471 and CVE-2025-68667.
    • Fixed data amplification vulnerability (CWE-409) that affected configurations with server-side compression enabled (non-default). Contributed by @nex.

    Features

    • Outgoing presence is now disabled by default, and the config option documentation has been adjusted to more accurately represent the weight of presence, typing indicators, and read receipts. Contributed by @nex. (#1399)
    • Improved the concurrency handling of federation transactions, vastly improving performance and reliability by more accurately handling inbound transactions and reducing the amount of repeated wasted work. Contributed by @nex and @Jade. (#1428)
    • Added MSC3202 Device masquerading (not all of MSC3202). This should fix issues with enabling MSC4190 for some Mautrix bridges. Contributed by @Jade (#1435)
    • Added MSC3814 Dehydrated Devices - you can now decrypt messages sent while all devices were logged out. (#1436)
    • Implement MSC4143 MatrixRTC transport discovery endpoint. Move RTC foci configuration from [global.well_known] to a new [global.matrix_rtc] section with a foci field. Contributed by @0xnim (#1442)
    • Updated list-backups admin command to output one backup per line. (#1394)
    • Improved URL preview fetching with a more compatible user agent for sites like YouTube Music. Added !admin media delete-url-preview <url> command to clear cached URL previews that were stuck and broken. (#1434)

    Bugfixes

    • Removed non-compliant nor functional room alias lookups over federation. Contributed by @nex (#1393)
    • Removed ability to set rocksdb as read only. Doing so would cause unintentional and buggy behaviour. Contributed by @Terryiscool160. (#1418)
    • Fixed a startup crash in the sender service if we can't detect the number of CPU cores, even if the sender_workers config option is set correctly. Contributed by @katie. (#1421)
    • Removed the allow_public_room_directory_without_auth config option. Contributed by @0xnim. (#1441)
    • Fixed sliding sync v5 list ranges always starting from 0, causing extra rooms to be unnecessarily processed and returned. Contributed by @0xnim (#1445)
    • Fixed a bug that (repairably) caused a room split between continuwuity and non-continuwuity servers when the room had both m.room.policy and org.matrix.msc4284.policy in its room state. Contributed by @nex (#1481)
    • Fixed !admin media delete --mxc <url> responding with an error message when the media was deleted successfully. Contributed by @lynxize
    • Fixed spurious 404 media errors in the logs. Contributed by @benbot.
    • Fixed spurious warn about needed backfill via federation for non-federated rooms. Contributed by @kraem.

    Get Continuwuity

    Docker Images

    • Forgejo: forgejo.ellis.link/continuwuation/continuwuity:v0.5.6

    Mirrors (may be outdated):

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

    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.

    From Source

    See our deployment documentation for instructions on building from source.

    Downloads
  • v0.5.5 55ccfdb973

    v0.5.5
    All checks were successful
    Checks / Prek / Pre-commit & Formatting (push) Successful in 1m59s
    Documentation / Build and Deploy Documentation (push) Successful in 3m16s
    Build / Debian DEB / build (ubuntu-previous) (push) Successful in 53m5s
    Build / Debian DEB / build (ubuntu-latest) (push) Successful in 55m40s
    Build / Debian DEB / build (debian-latest) (push) Successful in 10m30s
    Build / Debian DEB / build (debian-oldstable) (push) Successful in 33m5s
    Release Docker Image / Create Multi-arch Release Manifest (push) Successful in 53s
    Release Docker Image / Build linux-amd64 (release) (push) Successful in 5m16s
    Release Docker Image / Build linux-arm64 (release) (push) Successful in 4m46s
    Release Docker Image / Build linux-amd64 (max-perf) (push) Successful in 7m6s
    Release Docker Image / Build linux-arm64 (max-perf) (push) Successful in 6m13s
    Build / Fedora RPM / build (push) Successful in 59m29s
    Release Docker Image / Create Max-Perf Manifest (push) Successful in 1m25s
    Checks / Prek / Clippy and Cargo Tests (push) Successful in 43m42s
    Stable

    nex released this 2026-02-16 01:36:04 +00:00 | 168 commits to main since this release

    Signed by nex
    GPG key ID: 0FA334385D0B689F

    Continuwuity 0.5.5

    Discord should be hostile to their users more often! it's great for us

    Woah. Another release. Isn't that neat? We've got bugfixes and other goodies for you in this one, as always. This is another minor bugfix release, so don't expect a second Christmas, but below we've got some things that we've improved on since v0.5.4, including fixes to a number of commonly-encountered issues. The changelog may also hold answers you seek.

    First off, thank you

    Normally these release notes are just full of witty jokes and then a bunch of technical information, but I want to take the time to thank each and every person involved in our community. We've absolutely exploded in popularity over the past two weeks, which has included a doubling in our community rooms' member counts, a huge spike in new deployments, a significant increase in activity in our rooms across the board, and by nature, a large influx of new bugs to squash.

    Our development bandwidth is very limited - the three main developers on the team are busy with education and work, and this being simply a labour of love, have not had nearly enough time to get to everything, and it has been incredibly stressful on all of us. I (on behalf of the team) am incredibly grateful that everyone in our community has been so patient and understanding, and a fairly large portion of the community has also been proactive and either helped us out directly with development work (either by opening PRs, or at least filing issue reports for us to get to later), and even helping out in our support rooms. I cannot thank everyone enough for buckling down and sticking with us during this period.
    Any to anyone just joining us - you've almost definitely hit some of the rough edges that have plagued us for a while now, but a significant number of new deployments have stuck with us, and we are eternally thankful for this. Your support means the world to us <3.

    We are occasionally being asked if we accept donations; we do, but not as a collective team. You can donate to myself, @Jade, and @ginger directly here:

    Additionally, giving us a star on GitHub massively helps boost our visibility and in turn helps other prospective server admins discover us. And if you can't give us money, and you can't give us a star for whatever reason, spreading the word of continuwuity is also just as valuable ❤️

    Anyway, you're here for features and bugfixes, so here you go:

    Features

    • Added unstable support for MSC4406: M_SENDER_IGNORED. Contributed by @nex (#1308)
    • Introduce a resolver command to allow flushing a server from the cache or to flush the complete cache. Contributed by @nex (#1349)
    • Improved the handling of restricted join rules and improved the performance of local-first joins. Contributed by @nex (#1368)
    • You can now set a custom User Agent for URL previews; the default one has been modified to be less likely to be blocked. Contributed by @trashpanda (#1372)
    • Introduced a new "first run" experience to make it easier to get started with a new deployment (read the changelog for this one). Contributed by @ginger (#1367)
    • Invites from remote users will now be properly removed if the remote user revokes the invite. Contributed by @nex.
    • Add the ability to configure MatrixRTC foci like LiveKit in the well-known file. Contributed by @magikid. (#1356)

    Bugfixes

    • Fixed invites sent to other users in the same homeserver not being properly sent down sync. Users with missing or broken invites should clear their client caches after updating to make them appear. Contributed by @ginger (#1346)
    • LDAP-enabled servers will no longer have all admins demoted when LDAP-controlled admins are not configured. Contributed by @Jade (#1307)
    • Fixed sliding sync not resolving wildcard state key requests, making calling work properly in Element X. Contributed by @titaniumtown (#1370)
    • Fixed the federation /get_missing_events route, which could cause events sent in complex rooms to be incorrectly failed by remote servers. Contributed by @nex.
    • Appservices being unreachable when one of their users is invited no-longer leaks the appservice's token in the error message. Contributed by @nex.

    Get Continuwuity

    Docker Images

    • Forgejo: forgejo.ellis.link/continuwuation/continuwuity:v0.5.5

    Mirrors (may be outdated):

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

    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.

    From Source

    See our deployment documentation for instructions on building from source.

    Downloads
  • v0.5.4 19146166c0

    v0.5.4
    Some checks failed
    Documentation / Build and Deploy Documentation (pull_request) Successful in 1m4s
    Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 3m31s
    Update flake hashes / update-flake-hashes (pull_request) Successful in 53s
    Documentation / Build and Deploy Documentation (push) Successful in 1m8s
    Checks / Prek / Pre-commit & Formatting (push) Successful in 2m42s
    Build / Fedora RPM / build (push) Successful in 26m23s
    Release Docker Image / Build linux-arm64 (max-perf) (push) Successful in 3m36s
    Release Docker Image / Build linux-amd64 (release) (push) Successful in 4m27s
    Release Docker Image / Build linux-arm64 (release) (push) Successful in 4m53s
    Release Docker Image / Create Multi-arch Release Manifest (push) Successful in 52s
    Release Docker Image / Build linux-amd64 (max-perf) (push) Successful in 13m15s
    Release Docker Image / Create Max-Perf Manifest (push) Successful in 16s
    Checks / Prek / Clippy and Cargo Tests (push) Successful in 58m57s
    Build / Debian DEB / build (debian-latest) (push) Successful in 25m39s
    Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 22m18s
    Build / Debian DEB / build (debian-oldstable) (push) Successful in 11m56s
    Build / Debian DEB / build (ubuntu-previous) (push) Successful in 18m54s
    Build / Debian DEB / build (ubuntu-latest) (push) Failing after 1m58s
    Stable

    nex released this 2026-02-08 19:22:25 +00:00 | 241 commits to main since this release

    Signed by nex
    GPG key ID: 0FA334385D0B689F

    Continuwuity 0.5.4

    thank god for the gay open source team in my phone

    Hey all! This update bakes you a pie of all of your favourite things: bug fixes (including security fixes), new features, and docs improvements!

    Here's a sample from the changelog:

    Features

    • The announcement checker will now announce errors it encounters in the first run to the admin room, plus a few other misc improvements. Contributed by @Jade (#1288)
    • Drastically improved the performance and reliability of account deactivations. Contributed by @nex (#1314)
    • Refuse to process requests for and events in rooms that we no longer have any local users in (reduces state resets and improves performance). Contributed by @nex (#1316)
    • Added server-specific admin API routes to ban and unban rooms, for use with moderation bots. Contributed by @nex (#1301)

    Bugfixes

    • Fix the generated configuration containing uncommented optional sections. Contributed by @Jade (#1290)
    • Fixed specification non-compliance when handling remote media errors. Contributed by @nex (#1298)
    • UIAA requests which check for out-of-band success (sent by matrix-js-sdk) will no longer create unhelpful errors in the logs. Contributed by @ginger (#1305)
    • Use exists instead of contains to save writing to a buffer in src/service/users/mod.rs: is_login_disabled. Contributed by @aprilgrimoire. (#1340)
    • Fixed backtraces being swallowed during panics. Contributed by @jade (#1337)
    • Fixed a potential vulnerability that could allow an evil remote server to return malicious events during the room join and knock process. Contributed by @nex, reported by violet & mat.
    • Fixed a race condition that could result in outlier PDUs being incorrectly marked as visible to a remote server. Contributed by @nex, reported by violet & mat.
    • ACLs are no longer case-sensitive. Contributed by @nex, reported by vel.

    Docs

    Get Continuwuity

    Docker Images

    • Forgejo: forgejo.ellis.link/continuwuation/continuwuity:v0.5.4

    Mirrors (may be outdated):

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

    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.

    From Source

    See our deployment documentation for instructions on building from source.

    Downloads
  • v0.5.3 587abe9d14

    v0.5.3
    Some checks failed
    Checks / Prek / Pre-commit & Formatting (push) Successful in 3m53s
    Documentation / Build and Deploy Documentation (push) Successful in 1m16s
    Build / Debian DEB / build (ubuntu-latest) (push) Successful in 23m27s
    Release Docker Image / Build linux-amd64 (release) (push) Successful in 5m43s
    Release Docker Image / Build linux-arm64 (release) (push) Successful in 5m10s
    Build / Fedora RPM / build (push) Successful in 26m46s
    Checks / Prek / Clippy and Cargo Tests (push) Has been cancelled
    Release Docker Image / Create Multi-arch Release Manifest (push) Successful in 37s
    Release Docker Image / Build linux-amd64 (max-perf) (push) Successful in 6m32s
    Release Docker Image / Build linux-arm64 (max-perf) (push) Successful in 6m1s
    Release Docker Image / Create Max-Perf Manifest (push) Successful in 50s
    Build / Debian DEB / build (debian-oldstable) (push) Successful in 18m28s
    Build / Debian DEB / build (ubuntu-previous) (push) Successful in 19m18s
    Build / Debian DEB / build (debian-latest) (push) Successful in 7m52s
    Stable

    Jade released this 2026-01-13 00:04:21 +00:00 | 309 commits to main since this release

    Signed by Jade
    GPG key ID: 8705A2A3EBF77BD2

    Continuwuity 0.5.3

    Hi everyone!

    This is a quick hotfix for the errors when inviting and joining rooms some people were seeing.

    Have a great day <3

    Features

    • Improve the display of nested configuration with the !admin server show-config command. Contributed by @Jade (#1279)

    Bugfixes

    • Fixed M_BAD_JSON error when sending invites to other servers or when providing joins. Contributed by @nex (#1286)

    Docs

    • Improve admin command documentation generation. Contributed by @ginger (#1280)

    Misc

    • Improve timeout-related code for federation and URL previews. Contributed by @Jade (#1278)

    Get Continuwuity

    Docker Images

    • Forgejo: forgejo.ellis.link/continuwuation/continuwuity:v0.5.3

    Mirrors (may be outdated):

    • Docker Hub: docker.io/jadedblueeyes/continuwuity:v0.5.3
    • GitHub: ghcr.io/continuwuity/continuwuity:v0.5.3
    • GitLab: registry.gitlab.com/continuwuity/continuwuity:v0.5.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.

    From Source

    See our deployment documentation for instructions on building from source.

    Downloads
  • v0.5.2 da956b1a2a

    v0.5.2
    All checks were successful
    Checks / Prek / Pre-commit & Formatting (push) Successful in 3m0s
    Build / Debian DEB / build (debian-latest) (push) Successful in 17m53s
    Build / Debian DEB / build (ubuntu-latest) (push) Successful in 30m26s
    Documentation / Build and Deploy Documentation (push) Successful in 2m42s
    Release Docker Image / Build linux-amd64 (release) (push) Successful in 12m9s
    Release Docker Image / Build linux-arm64 (release) (push) Successful in 4m58s
    Build / Fedora RPM / build (push) Successful in 39m46s
    Build / Debian DEB / build (ubuntu-previous) (push) Successful in 52m1s
    Release Docker Image / Create Multi-arch Release Manifest (push) Successful in 41s
    Release Docker Image / Build linux-amd64 (max-perf) (push) Successful in 17m52s
    Release Docker Image / Build linux-arm64 (max-perf) (push) Successful in 16m16s
    Release Docker Image / Create Max-Perf Manifest (push) Successful in 28s
    Build / Debian DEB / build (debian-oldstable) (push) Successful in 7m24s
    Checks / Prek / Clippy and Cargo Tests (push) Successful in 17m8s
    Stable

    ginger released this 2026-01-09 14:28:54 +00:00 | 328 commits to main since this release

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

    Continuwuity 0.5.2

    brave or insane?

    The only difference between the two is success rate

    Today we're releasing Continuwuity 0.5.2, a minor release for Continuwuity 0.5.0. This release includes numerous improvements to Continuwuity's administration tooling, such as limited-use registration tokens and server-wide invite anti-spam.

    Features

    • Added support for issuing additional registration tokens, stored in the database, which supplement the existing registration token hardcoded in the config file. These tokens may optionally expire after a certain number of uses or after a certain amount of time has passed. Additionally, the registration_token_file configuration option is superseded by this feature and has been removed. Use the new !admin token command family to manage registration tokens. Contributed by @ginger (#783).
    • Implemented a configuration defined admin list independent of the admin room. Contributed by @Terryiscool160. (#1253)
    • Added support for invite and join anti-spam via Draupnir and Meowlnir, similar to that of synapse-http-antispam. Contributed by @nex. (#1263)
    • Implemented account locking functionality, to complement user suspension. Contributed by @nex. (#1266)
    • Added admin command to forcefully log out all of a user's existing sessions. Contributed by @nex. (#1271)
    • Implemented toggling the ability for an account to log in without mutating any of its data. Contributed by @nex. (#1272)
    • Add support for custom room create event timestamps, to allow generating custom prefixes in hashed room IDs. Contributed by @nex. (#1277)
    • Certain potentially dangerous admin commands are now restricted to only be usable in the admin room and server console. Contributed by @ginger.

    Bugfixes

    • Fixed unreliable room summary fetching and improved error messages. Contributed by @nex. (#1257)
    • Client requested timeout parameter is now applied to e2ee key lookups and claims. Related federation requests are now also concurrent. Contributed by @nex. (#1261)
    • Fixed the whoami endpoint returning HTTP 404 instead of HTTP 403, which confused some appservices. Contributed by @nex. (#1276)

    Misc

    • The console feature is now enabled by default, allowing the server console to be used for running admin commands directly. To automatically open the console on startup, set the admin_console_automatic config option to true. Contributed by @ginger.
    • We now (finally) document our container image mirrors. Contributed by @Jade

    Thank you to everyone who contributed to this release, and a special shoutout to first-time contributor @Terryiscool160!

    Get Continuwuity

    Docker Images

    • Forgejo: forgejo.ellis.link/continuwuation/continuwuity:v0.5.2

    Mirrors (may be outdated):

    • Docker Hub: docker.io/jadedblueeyes/continuwuity:v0.5.2
    • GitHub: ghcr.io/continuwuity/continuwuity:v0.5.2
    • GitLab: registry.gitlab.com/continuwuity/continuwuity:v0.5.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.

    From Source

    See our deployment documentation for instructions on building from source.

    Downloads
  • v0.5.1 38ecc41780

    v0.5.1
    Some checks failed
    Checks / Prek / Pre-commit & Formatting (push) Successful in 1m13s
    Release Docker Image / Build linux-amd64 (release) (push) Successful in 7m42s
    Documentation / Build and Deploy Documentation (push) Successful in 1m28s
    Checks / Prek / Clippy and Cargo Tests (push) Has been cancelled
    Release Docker Image / Build linux-arm64 (release) (push) Successful in 14m33s
    Build / Fedora RPM / build (push) Failing after 37m15s
    Build / Debian DEB / build (debian-latest) (push) Failing after 5m22s
    Build / Debian DEB / build (debian-oldstable) (push) Failing after 8m34s
    Build / Debian DEB / build (ubuntu-latest) (push) Failing after 7m50s
    Release Docker Image / Create Multi-arch Release Manifest (push) Successful in 32s
    Build / Debian DEB / build (ubuntu-previous) (push) Failing after 3m15s
    Release Docker Image / Build linux-amd64 (max-perf) (push) Successful in 15m21s
    Release Docker Image / Build linux-arm64 (max-perf) (push) Successful in 13m27s
    Release Docker Image / Create Max-Perf Manifest (push) Successful in 15s
    Stable

    Jade released this 2025-12-30 17:45:33 +00:00 | 403 commits to main since this release

    Signed by Jade
    GPG key ID: 8705A2A3EBF77BD2

    Continuwuity 0.5.1

    all our ROOMS keep BLOWING UP!

    Today we're releasing Continuwuity 0.5.1, a patch release for Continuwuity 0.5.0.

    This release contains a fix for the newly exploited critical vulnerability GHSA-m5p2-vccg-8c9v. Update as soon as possible.

    This vulnerability was exploited to brick the Continuwuity project rooms and space (again) --- if you were in them, consider joining the new ones in our new space.

    Highlights

    New Features

    • Enabled the OTLP exporter in default builds, and allow configuring the exporter protocol. (@Jade). (#1251)

    Bug Fixes

    • Don't allow admin room upgrades, as this can break the admin room (@nex) (#1245)
    • Fix invalid creators in power levels during upgrade to v12 (@nex) (#1245)

    Get Continuwuity

    Docker Images

    • Forgejo: forgejo.ellis.link/continuwuation/continuwuity:v0.5.1

    Mirrors (may be outdated):

    • Docker Hub: docker.io/jadedblueeyes/continuwuity:v0.5.1
    • GitHub: ghcr.io/continuwuity/continuwuity:v0.5.1
    • GitLab: registry.gitlab.com/continuwuity/continuwuity:v0.5.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.

    From Source

    See our deployment documentation for instructions on building from source.

    Downloads
  • v0.5.0 f4ccb81913

    v0.5.0
    All checks were successful
    Checks / Prek / Pre-commit & Formatting (push) Successful in 2m8s
    Build / Debian DEB / build (debian-latest) (push) Successful in 11m52s
    Build / Debian DEB / build (debian-oldstable) (push) Successful in 10m37s
    Build / Debian DEB / build (ubuntu-latest) (push) Successful in 10m27s
    Documentation / Build and Deploy Documentation (push) Successful in 1m24s
    Build / Debian DEB / build (ubuntu-previous) (push) Successful in 8m9s
    Release Docker Image / Build linux-amd64 (release) (push) Successful in 2m35s
    Release Docker Image / Build linux-arm64 (release) (push) Successful in 2m48s
    Checks / Prek / Clippy and Cargo Tests (push) Successful in 32m2s
    Build / Fedora RPM / build (push) Successful in 36m9s
    Release Docker Image / Create Multi-arch Release Manifest (push) Successful in 16s
    Release Docker Image / Build linux-amd64 (max-perf) (push) Successful in 16m3s
    Release Docker Image / Build linux-arm64 (max-perf) (push) Successful in 16m9s
    Release Docker Image / Create Max-Perf Manifest (push) Successful in 19s
    Stable

    Jade released this 2025-12-22 03:51:08 +00:00 | 432 commits to main since this release

    Signed by Jade
    GPG key ID: 8705A2A3EBF77BD2

    Continuwuity 0.5.0

    there just happens to be a lot of fires to put out recently

    We're thrilled to announce Continuwuity v0.5.0, our first full release!

    This release contains a fix for the critical vulnerability GHSA-22fw-4jq7-g8r8. Update as soon as possible.

    This release represents months of dedicated work from our amazing community since the last release candidate, bringing together 249 commits, around 100 pull requests, and contributions from 14 contributors. That totals up to an incredible 741 commits, over 355 pull requests, and contributions from 28 contributors since the start of the project! We couldn't have done it without you - that's an incredible amount from a project that started with the question "Where can I send my patches?" Here's to another 8 months of awesome.

    What's actually in this release? It's a massive stability and feature release that brings significant improvements to sync performance, client compatiblity, security enhancements, heaps of new features, and much more. We've also completely redesigned our documentation site to make it easier than ever to get started with Continuwuity!

    Important Note

    This release includes a database migration as part of its improvements to legacy sync, which means starting the server will take longer than usual on the first run after updating. The time it will take to run the migration depends on the age of your homeserver, and should not be more than ten minutes at the extreme upper end.

    If you are using systemd to run Continuwuity, systemctl start will appear to hang while the migration is in progress. You may wish to replace the contents of your unit file with the updated file included in the new official packages, which (among other fixes) increases the startup time limit to prevent systemd from killing Continuwuity during the migration.

    Highlights

    Sync Improvements

    We've completely rewritten our legacy (non-sliding) client synchronization code from the ground up, improving perfomance and fixing numerous bugs. You'll notice the increased stability and speed, particularly with initial syncs, which are now over twice as fast and transfer half as much data in some scenarios.

    Leaving rooms is now much more consistent, reducing situations where left rooms could get "stuck" in clients after leaving and improving the appearance of left rooms in clients which support displaying them. Rejecting invites will also now consistently clear them from clients.

    Bundled aggregations are now supported, fixing several subtle bugs across many parts of the protocol, including edits to very old messages and certain cases in end-to-end encryption.

    As for Simplified Sliding Sync, typing indicators are now supported -- you should see those showing up in Element X.

    We've removed legacy sliding sync (MSC3575) in favor of simplified sliding sync - this is what Element X has been using for a year now, and no known consumers of MSC3575 exist.

    New features and bugfixes

    Room version 12 is now stabilized! This release includes a few more fixes for v12 and other room versions, building off of rc8.1.

    Support for policy servers (MSC4284) has been improved with this update, introducing support for policy server signatures and improved error handling.

    Continuwuity now supports returning preferences for EDU opt-out (MSC4373), allowing you to opt-out of recieving typing events and presence updates from compliant servers.

    The last active timestamp is now properly updated when devices request a sync, improving UX in clients which support this field.

    Continuwuity now properly sends notifiations to systemd when systemctl reload is executed, preventing the command from hanging indefinitely.

    Support for Sentry is now enabled by default in release builds, for those who want to log errors to their own instances without compiling Continuwuity themselves.

    Continuwuity now uses Rust 1.90, bringing with it bugfixes and performance improvements for developers.

    First-Party Package Distribution

    We have made available first-party packages for common Linux distributions.

    • Debian packages are now built and distributed through Forgejo's repository.
    • Fedora RPM packages are now available too, distributed the same way.
    • Bleeding-edge Debian and RPM packages built daily from the main branch are also available.
    • Docker images additionally mirrored to Docker Hub, GitHub Container Registry (ghcr), and additional registries.

    Configuration Changes

    • New configuration options for policy server controls
    • New configuration option for sync timeline size
    • WAL compression mode can now be configured

    Brand New Documentation Site

    We've completely redesigned our documentation from the ground up! It's got our new branding, a better layout and search support. We're also working on adding and updating our guides - feel free to share what you found helpful.

    Visit us at continuwuity.org to check it out!

    Contributors

    Another thank you to all of our wonderful contributors! This release would not have been possible without you.

    @Jade, @nexy7574, @Ginger, @oddlid, @Aviac, @unbeatable-101, @charludo, @rooot, @TobiasFella, @lily, vel, @Jim, @yefim, @nyanbinary, @tcpipuk, Savyasachee Jha, Jimmy Brush

    And a special mention to our community package maintainers:

    @nyanbinary, lilac, @kimiblock, snaki

    And a warm welcome to our new maintainer, @ginger (who contributed invite filtering, sync fixes, and other lovely stuff!)

    Get Continuwuity

    Docker Images

    • Forgejo: forgejo.ellis.link/continuwuation/continuwuity:v0.5.0
    • Docker Hub: docker.io/jadedblueeyes/continuwuity:v0.5.0
    • GitHub: ghcr.io/continuwuity/continuwuity:v0.5.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.

    From Source

    See our deployment documentation for instructions on building from source.

    Downloads
  • v0.5.0-rc.8.1 bb6c513ee8

    v0.5.0-rc.8.1
    Some checks failed
    Documentation / Build and Deploy Documentation (push) Successful in 3m31s
    Release Docker Image / Build linux-amd64 (release) (push) Successful in 10m18s
    Release Docker Image / Build linux-arm64 (release) (push) Successful in 11m43s
    Release Docker Image / Create Multi-arch Release Manifest (push) Successful in 19s
    Release Docker Image / Build linux-amd64 (max-perf) (push) Successful in 17m39s
    Release Docker Image / Build linux-arm64 (max-perf) (push) Successful in 17m35s
    Release Docker Image / Create Max-Perf Manifest (push) Successful in 17s
    Documentation / Build and Deploy Documentation (pull_request) Has been cancelled
    Deploy Element Web / 🏗️ Build and Deploy (pull_request) Has been cancelled
    Checks / Prek / Pre-commit & Formatting (pull_request) Has been cancelled
    Checks / Prek / Clippy and Cargo Tests (pull_request) Has been cancelled
    Release Docker Image / Build linux-amd64 (release) (pull_request) Has been cancelled
    Release Docker Image / Build linux-arm64 (release) (pull_request) Has been cancelled
    Release Docker Image / Create Multi-arch Release Manifest (pull_request) Has been cancelled
    Release Docker Image / Build linux-amd64 (max-perf) (pull_request) Has been cancelled
    Release Docker Image / Build linux-arm64 (max-perf) (pull_request) Has been cancelled
    Release Docker Image / Create Max-Perf Manifest (pull_request) Has been cancelled
    Update flake hashes / update-flake-hashes (pull_request) Has been cancelled
    Pre-release

    nex released this 2025-11-16 21:07:19 +00:00 | 661 commits to main since this release

    Signed by nex
    GPG key ID: 0FA334385D0B689F

    It's a bird! It's a plane! No, it's 0.5.0-rc.8.1!

    This is a minor bugfix update to the rc8 which backports some important fixes from the latest main branch. If you still haven't updated to rc8, you should skip to main. Otherwise, you should upgrade to this bugfix release as soon as possible.

    Bugfixes backported to this version (full git changelog):

    • Resolved several issues with state resolution v2.1 (room version 12)
    • Fixed issues with the restricted and knock_restricted join rules that would sometimes incorrectly disallow a valid join
    • Fixed the automatic support contact listing being a no-op
    • Fixed upgrading pre-v12 rooms to v12 rooms
    • Fixed policy servers sending the incorrect JSON objects (resulted in false positives)
    • Fixed debug build panic during MSC4133 migration

    It is recommended, if you can and are comfortable with doing so, following updates to the main branch - we're in the run up to the full 0.5.0 release, and more and more bugfixes and new features are being pushed constantly. Please don't forget to join #announcements:continuwuity.org to receive this news faster and be alerted to other important updates!

    Warning

    This upgrade may not be downgrade-safe, much like rc8 itself - it is recommended you take a database backup before upgrading, just in case.

    Matrix Rooms

    Join our Matrix room and space to chat with us about the project!

    If you run your own continuwuity server, you should also join the announcements room, as important announcements are sent there (and may not be mirrored to the main room).

    Downloads
  • v0.5.0-rc.8 b70470fa71

    v0.5.0-rc.8
    All checks were successful
    Checks / Prek / Pre-commit & Formatting (push) Successful in 55s
    Release Docker Image / Build linux-amd64 (release) (push) Successful in 5m39s
    Release Docker Image / Build linux-arm64 (release) (push) Successful in 5m46s
    Release Docker Image / Create Multi-arch Release Manifest (push) Successful in 11s
    Documentation / Build and Deploy Documentation (push) Successful in 24s
    Checks / Prek / Clippy and Cargo Tests (push) Successful in 8m22s
    Release Docker Image / Build linux-amd64 (max-perf) (push) Successful in 12m0s
    Release Docker Image / Build linux-arm64 (max-perf) (push) Successful in 12m11s
    Release Docker Image / Create Max-Perf Manifest (push) Successful in 11s
    Pre-release

    nex released this 2025-09-21 20:42:03 +00:00 | 681 commits to main since this release

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

    Caution

    There are several known critical bugs found in this release that will cause issues with state resolution and restricted joins. It is highly advised you do not use this release unless you already upgraded to it. Instead, track the main branch, which includes a fleet of bugfixes, or stay on rc7 until 0.5.0 is released in the near future.

    If you were previously on this version and upgraded to main because you noticed bugs with kicking/banning/unbanning users or redacting messages, you should use !admin debug force-set-room-state-from-server <room ID> <trusted server that is in the room> to re-set your local state copy to a known good one. RC8 has a tendency to not honour bans and unbans, so if you have been running it for a while, you may have a different, incorrect room state.
    If you need room v12 support, use the latest main branch commit. While this version introduces it, it is very broken!
    This version also bumps the database version, so you cannot downgrade to rc7 without restoring a database backup pre-upgrade.

    Continuwuity is a community-driven fork and continuation of the much-loved conduwuit Matrix homeserver, written entirely in Rust. Today we're releasing v0.5.0-rc.8!

    MSC4155 invite filtering! Full profile fields! Join routing optimisation! LDAP! User suspension via API! It's all in this action-packed thriller update coming to a forge near you! Persons under 18 must be accompanied by an adult.

    A lot has happened since rc7 - we've got 30 stars on the main forge, 111 (one hundred and eleven!) stars on the GitHub mirror, and 16 stars on the Codeberg mirror. We also had to unfortunately upgrade our main room, but over two thirds (200) of the previous room made it over! Thanks for sticking with us :)
    Hopefully, this is the final RC release before we release 0.5.0, allowing us to switch back to traditional 0ver versioning. But also here's a big list of everything that happened (also visible on the v0.5.0-rc.8 milestone):]

    New features

    • v12 room support (#943) (known to be very broken in this release)
    • LDAP authentication support (#921)
    • Full MSC4133 profile support (#1034)
    • Suspending users via MSC4323 (#967)
    • MSC4155 invite filtering (#1013)
    • Support providing faster joins (lowers CPU and bandwidth usage when providing a join) (#997)
    • Admin command to allow leaving a room remotely (#956)
    • Allow overriding via-stuffing behaviour (#956 also)

    Bug fixes

    • Update resolv-conf dependency to resolve some jemalloc errors (#1056)
    • Call the policy server later in the PDU creation process (#915)
    • Dropped fake v2 room support (#926)
    • Room leave events are now correctly sent down sync (#959)
    • Preserve image metadata during thumbnailing (#944, #999)

    Security fixes

    • inhibit_login no-longer bypasses suspend-on-register, autojoins, and admin room announcement (reported by #1014, fixed in #1015)

    As before, if you are still running conduwuit 0.4.6 or above, or an older version of continuwuity, you can just drop in this version with no trouble!
    A Docker image is available at forgejo.ellis.link/continuwuation/continuwuity:v0.5.0-rc.8. You can always get the latest release with the latest tag. We also mirror to GitLab: registry.gitlab.com/continuwuity/continuwuity

    You can also find binaries attached to this release.

    Caution

    You'll notice that they're named differently from the rc.6 release - we've been having some issues getting static binaries built in time, so we've uploaded dynamic binaries in the meantime. You need to install liburing and have glibc available to run these binaries - we'll get static binaries (and .debs) up soon! When we do, we'll post in the announcements room.

    Matrix Rooms

    Join our Matrix room and space to chat with us about the project!

    If you run your own continuwuity server, you should also join the announcements room, as important announcements are sent there (and may not be mirrored to the main room).

    Downloads
  • v0.5.0-rc.7 00c7e220bb

    v0.5.0-rc.7
    All checks were successful
    Documentation / Build and Deploy Documentation (push) Successful in 38s
    Release Docker Image / define-variables (push) Successful in 2s
    Checks / Rust / Format (push) Successful in 49s
    Release Docker Image / build-image (linux/amd64, release, linux-amd64, base) (push) Successful in 14m19s
    Release Docker Image / build-image (linux/arm64, release, linux-arm64, base) (push) Successful in 14m17s
    Release Docker Image / merge (push) Successful in 10s
    Checks / Prefligit / prefligit (push) Successful in 10s
    Checks / Rust / Clippy (push) Successful in 3m14s
    Checks / Rust / Cargo Test (push) Successful in 3m44s
    Pre-release

    Jade released this 2025-07-25 14:51:23 +00:00 | 845 commits to main since this release

    Signed by Jade
    GPG key ID: 8705A2A3EBF77BD2

    Continuwuity is a community-driven Matrix homeserver written entirely in Rust. Today we're sharing over a month's worth of work with 177 commits, 35 pull requests and 11 contributors as v0.5.0-rc.7.

    Our main room also reached 300 members, and from our janky measurements, we discovered around 150 publicly federated deployments of Continuwuity. In addition, our GitHub mirror also recently surpassed 60 stars! We can’t thank everyone enough for the support ❤️

    Features

    Policy Server Features

    • Policy server following: Continuwuity now checks events against a room's policy server (if configured) to prevent spam reaching your timeline #857 (@nex)
    • Soft-fail redactions: Redactions for soft-failed events are now soft-failed - spam is much less likely to wipe out your timeline (@nex)

    User Management

    • User suspension system: New admin commands to suspend/unsuspend users #876 (@nex)
      • Suspended users cannot send events, create rooms, join rooms, or change profiles
      • Suspension metadata is recorded (@Jade)
      • Admin users cannot be suspended
      • Suspend new users on registration option
    • User reporting: Implementation of Matrix user reporting functionality #882 (@nex)
      • Report messages include intentional mentions
      • Suspended users are forbidden from sending reports
    • ReCaptcha registration flow: Implementation of ReCaptcha for user registration #900 (@nex)
      • Allows making open-registration servers slightly less risky and prone to bots

    Matrix Protocol Support

    • Room summary API: Stabilized support for MSC3266 (room summary API) #881 (@nex)
    • Space upgrades (MSC4168): Update Spaces on room upgrade, and vice versa #907 (@nex)
    • Redact on ban (MSC4293): Support for passing through redact_events #877 (@nex)
    • MSC4307: Improved validation #901 (@nex)
    • Advertise support for Matrix spec versions 1.8, 1.12, 1.13, and 1.14 #884 (@nex)

    Administration & Monitoring

    • Long admin command responses: Upload files for admin commands that are too long #902 (@nex)
    • Journald logging: Support for logging to systemd journal with tracing-journald #892 (@Jade)
    • State forcing: Allow overriding "most recent event" when forcing state download #853 (@nex)
    • Added /_continuwuity/ API paths #904 (@n)

    Configuration Options

    • Typing & Read Receipts: Options to disable local typing and read receipts #898 (@oddlid)
    • New configuration option for federation connection timeouts #909 (@rooot)

    Performance Improvements

    • parking_lot: Replaced all std::Mutex and std::RwLock with parking_lot equivalents #908 (@Jade)
      • Enables hardware lock elision for better performance, and deadlock detection

    Bugfixes

    • Fixed server-level room bans preventing federated leaves #886 (@nex)
    • Fixed handling of empty state events in room upgrades #907 (@nex)
    • Only load children of nested spaces when appropriate #870 (@Aranjedeath)
    • Fixed membership handling when room is disconnected #875 (@nex)
    • Always calculate state diff IDs in syncv3, reducing times when room state fails to be sent down sync #840 (@nex)
    • Additional soundness checks when creating PDUs #871 (@nex)
    • Fixed an off-by-one error in a check #873 (@jason)
    • Corrected project brand references (@Jade)

    Dependencies

    • Rust 1.87: Updated to Rust 1.87 with newer LLVM #860 (@Jade)
    • RocksDB: Upgrade from 9.11.1 to 10.4.2 #911 (@Jade)
    • Updated multiple dependencies to latest versions (@Jade)

    Documentation

    • Admin command documentation: Automatic generation of admin command documentation #892 (@Jade)

    • Better grammar in deployment and Debian package documentation (@Jade)

    • Updated Docker and generic deployment instructions (@Jade)

    • Updated and improved NixOS installation instructions (@Jade)

    • Code style guide: Added comprehensive code style guide #888 (@Jade)

    • Contributing guide: Updated contributing documentation #864 (@Jade)

    • TURN testing: Added section for testing TURN servers (@Jade)

    • Updated Arch Linux deployment documentation #856 (Kimiblock)

    • Use credentials to load configuration in systemd service #867 (Kimiblock)

    • Better logging and comments throughout the codebase (@Jade, @nex)

    Infrastructure & CI

    • Binary artefacts: CI now uploads binaries as build artefacts (@Jade)
    • Registry mirroring: Docker images are now mirrored to GitLab, with more registries to come #894 (@Jade)
    • Nix fixes: Updated toolchain, cleaned up unused assets, fix issues #885 (@Shuroii, @transgwender)
    • Conventional commits: Enforced conventional commit message format #868 (@Jade)
    • Repository validation checks, including typo detection and formatting (@Jade)
    • All features are now tested in CI and documentation builds (@Jade)
    • Fixed Docker tags not being in the expected format (@Jade)
    • Build fixes for Element Web (https://element.continuwuity.org) (@tcpipuk)
    • Fixes to documentation deployment (@Jade)

    Thanks to all our contributors:

    • @Jade - Project maintenance, performance improvements, build system, documentation, CI improvements
    • @nex - Policy server implementation, user management, Matrix protocol support and more
    • @rooot - Federation configuration improvements
    • @oddlid - Typing and read receipts configuration options
    • @Shuroii - Nix and RocksDB build system improvements
    • @n - API endpoint additions
    • @Aranjedeath - Space handling fixes
    • @tcpipuk - Element Web build fixes
    • @Kimiblock - Systemd and documentation improvements
    • @transgwender - Nix fixes
    • nyabinary - NixOS package

    If you are currently running the original conduwuit, you can migrate your existing installation to Continuwuity - just like the last two releases. It's a completely drop-in replacement!

    A Docker image is available at forgejo.ellis.link/continuwuation/continuwuity:v0.5.0-rc.7. You can always get the latest release with the latest tag. We're also now mirroring to GitLab at registry.gitlab.com/continuwuity/continuwuity!

    You can also find binaries and packages attached to this release.

    Caution

    You'll notice that they're named differently from the last release - we've been having some issues getting static binaries built in time, so we've uploaded dynamic binaries in the meantime. You need to install liburing and have glibc available to run these binaries - we'll get static binaries (and .debs) up soon! When we do, we'll post in the announcements room.

    Update: We've got debs up now. You'll need to install liburing2 for them to work, and they require Debian Bookworm or newer

    Matrix Rooms

    Join our Matrix room and space to chat with us about the project!

    If you run your own continuwuity server, you should also join the announcements room, as important announcements are sent there (and may not be mirrored to the main room).

    You can boost this post on the Fediverse
    or on Bluesky, and give us a star on GitHub!

    Downloads