Skip to content

Tuwunel

v1.7.1 Breaking

This release includes breaking changes for platform teams planning a safe upgrade.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

chat conduit conduwuit matrix matrix-chat matrix-server
+4 more
rocksdb rust server uwu

Affected surfaces

auth rbac deps

ReleasePort's take

Light signal
editorial:auto 4h

Matrix v1.7.1 introduces federation data‑fetching and OIDC device authorization while fixing several regressions, notably loopback client authentication and compression handling.

Why it matters: Feature additions (federation fetching, OIDC grant) enable reliable cross‑server history and constrained‑device auth; bugfixes restore blocked appservices/loopback clients and correct a compression misconfiguration that could disable decompression.

Summary

AI summary

Broad release touches New Features & Enhancements, Bug Fixes, MSC4267, and v5.

Changes in this release

Feature Medium

Adds federation data‑fetching service for reliable cross‑server history retrieval.

Adds federation data‑fetching service for reliable cross‑server history retrieval.

Source: llm_adapter@2026-06-05

Confidence: high

Feature Medium

Adds OIDC device authorization grant (RFC 8628) for input‑constrained devices.

Adds OIDC device authorization grant (RFC 8628) for input‑constrained devices.

Source: llm_adapter@2026-06-05

Confidence: high

Feature Low

Adds support‑contact discovery with PGP field and policy links via `/.well-known/matrix/support`.

Adds support‑contact discovery with PGP field and policy links via `/.well-known/matrix/support`.

Source: llm_adapter@2026-06-05

Confidence: high

Feature Low

Adds admin command to purge every room containing a given user.

Adds admin command to purge every room containing a given user.

Source: llm_adapter@2026-06-05

Confidence: high

Feature Low

Adds diagnostic admin command suites for federation fetcher and Peer Status.

Adds diagnostic admin command suites for federation fetcher and Peer Status.

Source: llm_adapter@2026-06-05

Confidence: high

Bugfix Medium

Improves resilience of remote room directory and summary lookups over federation.

Improves resilience of remote room directory and summary lookups over federation.

Source: llm_adapter@2026-06-05

Confidence: high

Bugfix Medium

Fixes admin query OAuth associate command to emit confirmation and accept force flag.

Fixes admin query OAuth associate command to emit confirmation and accept force flag.

Source: llm_adapter@2026-06-05

Confidence: high

Bugfix Medium

Fixes compression configuration option that could disable client‑side decompression.

Fixes compression configuration option that could disable client‑side decompression.

Source: llm_adapter@2026-06-05

Confidence: high

Bugfix Medium

Fixes regression that blocked locally‑connected appservices and loopback clients due to `ip_source` handling.

Fixes regression that blocked locally‑connected appservices and loopback clients due to `ip_source` handling.

Source: llm_adapter@2026-06-05

Confidence: low

Bugfix Medium

Adds multiple federation correctness fixes: lock held across invite residency check, fallback on missing state, topological PDU sorting, and auth‑graph edge handling.

Adds multiple federation correctness fixes: lock held across invite residency check, fallback on missing state, topological PDU sorting, and auth‑graph edge handling.

Source: llm_adapter@2026-06-05

Confidence: low

Full changelog

Tuwunel 1.7.1

June 5, 2026

New Features & Enhancements

  • A new federation data-fetching service improves reliability in rooms whose history is spread across many servers by locating missing events through concurrent queries. It ranks candidate servers by room-membership popularity and recent reachability, and reuses requests already in flight instead of issuing duplicates. Resolved state for outlier events, fetch and backoff decisions, and per-server reachability ("Peer Status") are now cached persistently, and auth-chain, state, prev-event, and backfill fetches all run through it. Servers that used to re-request the same uncacheable lookups should see far less repeated federation traffic.

  • OIDC device authorization grant (RFC 8628) lets users sign in on input-constrained devices. The MSC4191 account-management action set is now complete with a deep-linked cross-signing reset, and MSC3861 OAuth 2.0/OIDC is advertised on /versions. The token endpoints and refresh-token lifecycle were reworked, dynamic client registration is opt-in and validates submitted client metadata, and device-scope binding requires PKCE. The OIDC authorization-server chapter of the documentation was expanded to match.

  • Several additional MSCs land this cycle: MSC3980 (event_fields trimming on /sync), MSC3860 (media download redirects), MSC4311 (origin_server_ts on the stripped create event), MSC1219 (key backup storage conformance), MSC2659 (appservice ping error codes), MSC3550 (403 M_FORBIDDEN allowed on profile lookup), and a stable m.forget_forced_upon_leave capability (MSC4267). MSC4380 invite blocking now also covers invites delivered through /sync and createRoom.

  • Support-contact discovery gains a PGP field and policy links (MSC4439, MSC4266), graciously contributed by @x86pup. The /.well-known/matrix/support endpoint can now advertise a pgp_key per contact (with raw key material rejected) and link support policies, and multiple support contacts can be configured with validation.

  • @dasha-uwu added an admin media preview command for debugging URL previews, retired blurhashing, dropped the legacy media-preview redirect, and removed the deprecated server-keys endpoint.

  • Sliding sync (v5) now retracts departed and left rooms from the list and adds re-invited rooms back, so clients track membership churn without a full resync.

  • A device may now hold multiple access tokens, for easier rotation and concurrent sessions.

  • /context can optionally resolve events it has not yet received over federation, and outbound HTTP compression gained per-direction opt-out switches.

  • An admin command to purge every room containing a given user was added, raised by @winyadepla in (#472).

  • Documentation for ip_source_trusted_subnets now warns about accidentally including a proxy in the trusted set, courtesy of @BVollmerhaus in (#468).

  • Diagnostic admin command suites were added for the federation fetcher and Peer Status, and the runtime can dump tokio and getrusage metrics to JSON at exit.

Bug Fixes

  • A regression introduced with ip_source in 1.6.1 blocked locally-connected appservices and other loopback clients (#465). Loopback peers and trusted-peer subnets now bypass the configured ip_source, including over the Unix-socket listener, and the axum-client-ip dependency was replaced with inlined helpers. Sincere apologies to everyone whose bridges went quiet.

  • Remote room directory and summary lookups are more resilient over federation: the room-summary fallback now tries every via server (5c9998374), and a failed remote publicRooms request now returns a 502 (9a879776c).

  • Thank you @x86pup for reporting in (#466) that a bad unix_socket_path produced an opaque startup failure; listener initialization errors now name the offending path.

  • !admin query oauth associate replied with an empty message and did nothing, reported by @Vazgen005 in (#467). It now emits a confirmation and accepts a force flag.

  • @dasha-uwu fixed a compression configuration option that could accidentally disable client-side decompression.

  • Several federation correctness fixes: the federation lock is now held across the invite residency check to close a join/unban race (add512b76); a send_join response that omits state fails over to other servers (9c158d3a0); each transaction's PDUs are sorted topologically before handling (91218e1df); and references outside the auth graph are treated as non-edges during resolution (664391995).

  • Knock membership is now persisted and a remote re-knock re-drives to reconcile state; per-PDU backfill errors are isolated so one bad event no longer aborts the batch; and thread redaction walks through the redacted target.

  • Media fetches and URL previews now honor CIDR denylists for the addresses they resolve to (af1266af3, 554557cf3). Buffered outbound responses are size-bounded, and federation key lookups are bounded and backed off.

  • Configuration handling improved: an unreadable client_secret_file now reports the path and IO error (844f123c7), matched keys can be excluded from the "unknown to tuwunel" warning (6bbfd0a93), and packaged builds no longer drop their malloc_conf tuning (de0eb1d2e).

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Tuwunel

Get notified when new releases ship.

Sign up free

About Tuwunel

High-performance and feature-rich chat server for Matrix, and the successor to conduwuit (fork of Conduit).

All releases →

Related context

Earlier breaking changes

  • v1.7.0 MSC4225 drops legacy onetimekeyid_onetimekeys column; existing OTKs erased on first read-write.
  • v1.7.0 Cache capacity modifier above default may require decreasing to avoid 25-50% memory cost.

Beta — feedback welcome: [email protected]