Skip to content

v0.4.6

Latest
Compare
Choose a tag to compare
@girlbossceo girlbossceo released this 02 Sep 04:54
· 492 commits to main since this release

conduwuit

Release 0.4.6

Hi everyone! conduwuit 0.4.6 has been released. This is a huge release with many different bug fixes, changes, features, improvements, etc. It definitely has been a while and we hope the wait has been worth it!


The biggest thing on everyone's mind is that authenticated media has been added and enabled by default. No user intervention is needed, however if you'd like to disable the legacy media endpoints set allow_legacy_media to false.

Thanks to @morguldir, a LOT of sliding sync issues were fixed that make Element X a lot more enjoyable to use on conduwuit. This includes heroes support, timestamps, fixing a panic, properly resetting connections, supporting per-room account data, supporting read receipts extensions (MSC3960), and receiving room invites.

Lots and lots of admin commands were added/fixed pertaining to general moderation, media cleanup and deletion, debugging, server/build information, and many more. See your local !admin --help command and their subcommands as usual to explore what's been added as there's too many to list here.

Some media issues that may have been caused by Conduit database media compatibility have been resolved. Compatibility symlinking was also disabled by default, and can be re-enabled if there is a desire to move back to Conduit.

The appservice ping endpoint and MSC3316 timestamped massaging were added, both primarily used by Mautrix appservices.

Thanks to @isosphere from many hours of debugging and their code, threads are no longer backwards. Additionally, the "age" unsigned field is no longer hardcoded to 1 which may be used by some clients.

We have dropped the required aarch64 target architecture to Cortex-A73 / ARMv8-A as the previous one was too new which broke support for some slightly older aarch64 devices.

The Debian package may have failed to install on some older versions of Debian as it was using a flag only available on the latest Debian. This has been corrected.

The last_seen_ip field is now set on initial new device creation. This, alongside last_seen_ts, still needs work on keeping it updated, but at least you have an initial IP address to see which is way better than nothing at all.

We've fixed Element Web/Desktop and likely other clients missing "inline profiles" by always sending redundant memberships (include_redundant_members) as Synapse does this too, and most clients seem to require this knowledge to properly load all inline profiles.

Some admin commands may look a bit different thanks to our new admin command log capture, which allows you to see the logs generated by an admin command ran. See our example config for configuring this behaviour if needed.

Lots of code under the hood has been refactored, improved, simplified, optimised, etc, and continues to be!

Some other small/misc things are:

  • Presence status messages can now be set properly by clients
  • The forbidden_remote_server_names config option was extended to support blocking outbound and inbound federation to said servers.
  • The m.room.guest_access event is now properly respected.
  • MSC4166 support was added which simply returns 404 on the /_matrix/client/v3/voip/turnServer endpoint if no TURN URIs were configured
  • The new user display name suffix is no longer forcibly applied to appservice user registrations (some did consider this a feature but it was a bug. If you think you want this still, let me know and I'd be happy to make it a config option)
  • The old room alias is now properly removed on room upgrades
  • When banning a room, any local room aliases are deleted and the room is unpublished from the room directory
  • Removed 2 redundant CSP directives that were already inherited by default-src
  • axum-dual-protocol (HTTP/HTTPS listening when using TLS mode, no rev proxy) is no longer feature-gated for simplicity
  • Various documentation improvements

And of course, the usual dependency updates/bumps have taken place, including RocksDB v9.5.2, bumping the Nix flake lockfile, and using latest Rust 1.80.1.

250 commits have been added since 0.4.5 (which we usually don't have this many each release!), so if you'd like to see the full set of changes that I may not have listed here see the commit history below.


Commit history: v0.4.5...v0.4.6

GitHub Releases | Docker Hub | NixOS

Liberapay | GitHub Sponsors | Ko-fi

Chat with us in #conduwuit:puppygock.gay