diff --git a/CHANGELOG.md b/CHANGELOG.md index 6cf3be7bd..eac18a9fe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,43 @@ +# Continuwuity 26.7.0 (2026-07-27) + +## 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 +- Fetch the joined member count once per event instead of once per notified user. + +## 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) + + # Continuwuity 26.6.2 (2026-07-12) ## Bugfixes diff --git a/changelog.d/+16e3dce7.feature.md b/changelog.d/+16e3dce7.feature.md deleted file mode 100644 index 45474aaab..000000000 --- a/changelog.d/+16e3dce7.feature.md +++ /dev/null @@ -1 +0,0 @@ -Added support for the OAuth2 device authorization flow. Contributed by @ginger diff --git a/changelog.d/+30d4369c.bugfix.md b/changelog.d/+30d4369c.bugfix.md deleted file mode 100644 index aad3fcd0d..000000000 --- a/changelog.d/+30d4369c.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -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 diff --git a/changelog.d/+35e7a9e1.feature.md b/changelog.d/+35e7a9e1.feature.md deleted file mode 100644 index 2937a0f4c..000000000 --- a/changelog.d/+35e7a9e1.feature.md +++ /dev/null @@ -1 +0,0 @@ -Added support for the stable mutual rooms query endpoint. Contributed by @ginger diff --git a/changelog.d/+39fcec3a.bugfix.md b/changelog.d/+39fcec3a.bugfix.md deleted file mode 100644 index 7897c7f01..000000000 --- a/changelog.d/+39fcec3a.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -Appservices are now properly able to create devices for E2EE. diff --git a/changelog.d/+724f9fed.bugfix.md b/changelog.d/+724f9fed.bugfix.md deleted file mode 100644 index 02ac8dd37..000000000 --- a/changelog.d/+724f9fed.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -Resolve alias service by correct name for auto-join. Contributed by @eleboucher diff --git a/changelog.d/+88fbb987.bugfix.md b/changelog.d/+88fbb987.bugfix.md deleted file mode 100644 index 0fb997e3a..000000000 --- a/changelog.d/+88fbb987.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -Fixed newly created rooms failing to sync properly in clients using legacy sync. diff --git a/changelog.d/+8b3a57647.bugfix.md b/changelog.d/+8b3a57647.bugfix.md deleted file mode 100644 index df23044b6..000000000 --- a/changelog.d/+8b3a57647.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -Fixed newly joined rooms failing to sync their full state (including the room name) to clients using legacy sync. diff --git a/changelog.d/+a3260bd06.bugfix.md b/changelog.d/+a3260bd06.bugfix.md deleted file mode 100644 index 8fefe4a60..000000000 --- a/changelog.d/+a3260bd06.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -Fixed `roomuserid_lastnotificationread` being aliased to the highlight count table, which clobbered highlight counts when setting a read marker. Contributed by @eleboucher diff --git a/changelog.d/+cde4a9ec3.bugfix.md b/changelog.d/+cde4a9ec3.bugfix.md deleted file mode 100644 index bd8e32adf..000000000 --- a/changelog.d/+cde4a9ec3.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -Fixed freshly left room failing to sync. diff --git a/changelog.d/+df2f1c78.bugfix.md b/changelog.d/+df2f1c78.bugfix.md deleted file mode 100644 index 3603703e0..000000000 --- a/changelog.d/+df2f1c78.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -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. diff --git a/changelog.d/+push-joined-count.perf.md b/changelog.d/+push-joined-count.perf.md deleted file mode 100644 index 00627ac9d..000000000 --- a/changelog.d/+push-joined-count.perf.md +++ /dev/null @@ -1 +0,0 @@ -Fetch the joined member count once per event instead of once per notified user. diff --git a/changelog.d/1235.feature b/changelog.d/1235.feature deleted file mode 100644 index e7bd6ec62..000000000 --- a/changelog.d/1235.feature +++ /dev/null @@ -1 +0,0 @@ -Build and publish arm64 .deb packages alongside amd64 for all supported Debian and Ubuntu releases. diff --git a/changelog.d/1965.bugfix b/changelog.d/1965.bugfix deleted file mode 100644 index 446ab11b0..000000000 --- a/changelog.d/1965.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixed the deeplink redirect for deleting devices. Contributed by @koen diff --git a/changelog.d/1970.feature.md b/changelog.d/1970.feature.md deleted file mode 100644 index 85c7f061f..000000000 --- a/changelog.d/1970.feature.md +++ /dev/null @@ -1 +0,0 @@ -Dehydrated devices are now visible in the account panel. Contributed by @ginger. diff --git a/changelog.d/1984.bugfix b/changelog.d/1984.bugfix deleted file mode 100644 index 5d0995549..000000000 --- a/changelog.d/1984.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix status code for oauth registration. Contributed by @n00byking diff --git a/changelog.d/1985.feature b/changelog.d/1985.feature deleted file mode 100644 index 9108385df..000000000 --- a/changelog.d/1985.feature +++ /dev/null @@ -1 +0,0 @@ -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 diff --git a/changelog.d/1987.bugfix b/changelog.d/1987.bugfix deleted file mode 100644 index 6dc11ddc9..000000000 --- a/changelog.d/1987.bugfix +++ /dev/null @@ -1 +0,0 @@ -Exempt m.room.create from auth_events check. Contributed by @eleboucher diff --git a/changelog.d/1994.bugfix.md b/changelog.d/1994.bugfix.md deleted file mode 100644 index fb2b735ac..000000000 --- a/changelog.d/1994.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -Fixed `create` being returned as a supported prompt value regardless of if registration is enabled or not. Contributed by @ginger diff --git a/changelog.d/1999.doc b/changelog.d/1999.doc deleted file mode 100644 index ed8bfe09a..000000000 --- a/changelog.d/1999.doc +++ /dev/null @@ -1 +0,0 @@ -Updated an out-of-date statement about Oracle Linux release cadences. diff --git a/changelog.d/2006.bugfix b/changelog.d/2006.bugfix deleted file mode 100644 index aa957be56..000000000 --- a/changelog.d/2006.bugfix +++ /dev/null @@ -1 +0,0 @@ -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. diff --git a/changelog.d/2015.bugfix.md b/changelog.d/2015.bugfix.md deleted file mode 100644 index 5b918e151..000000000 --- a/changelog.d/2015.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -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. diff --git a/changelog.d/2040.bugfix.md b/changelog.d/2040.bugfix.md deleted file mode 100644 index 73b0b546c..000000000 --- a/changelog.d/2040.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -Deactivated users and appservice puppets are no longer counted by `/_continuwuity/local_user_count`. Contributed by @ginger. diff --git a/changelog.d/2044.feature.md b/changelog.d/2044.feature.md deleted file mode 100644 index fd0e9b784..000000000 --- a/changelog.d/2044.feature.md +++ /dev/null @@ -1 +0,0 @@ -Added an admin command to issue an access token for a bot account, to allow legacy bots to function while legacy authentication is disabled. diff --git a/changelog.d/2057.bugfix.md b/changelog.d/2057.bugfix.md deleted file mode 100644 index 46379bdd5..000000000 --- a/changelog.d/2057.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -Re-introduced admin room registration alerts that were accidentally removed in the OAuth2 update. diff --git a/changelog.d/fix-federation-signature.bugfix b/changelog.d/fix-federation-signature.bugfix deleted file mode 100644 index eb2311a81..000000000 --- a/changelog.d/fix-federation-signature.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix joining restricted rooms over federation failing with signature verification error. diff --git a/changelog.d/space-hierarchy-cycle.bugfix.md b/changelog.d/space-hierarchy-cycle.bugfix.md deleted file mode 100644 index f962a7612..000000000 --- a/changelog.d/space-hierarchy-cycle.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -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`. diff --git a/changelog.d/sss-account-data-longpoll.bugfix.md b/changelog.d/sss-account-data-longpoll.bugfix.md deleted file mode 100644 index 124ca2ba5..000000000 --- a/changelog.d/sss-account-data-longpoll.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -Fixed simplified sliding sync holding account data for up to 30 seconds, which made encryption setup and cross-signing resets appear to hang. diff --git a/changelog.d/wake-local-member-sync.bugfix.md b/changelog.d/wake-local-member-sync.bugfix.md deleted file mode 100644 index 69ba5ebee..000000000 --- a/changelog.d/wake-local-member-sync.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -Fixed local invites and invite acceptances not being reflected in sync promptly. Contributed by @eleboucher