Features
- Dendrite will now try to keep HTTP connections open to remote federated servers for a few minutes after a request and attempt to reuse those connections where possible
- This should reduce the amount of time spent on TLS handshakes and often speed up requests to remote servers
- This new behaviour can be disabled with the
federation_api.disable_http_keepalives
option if needed
- A number of dependencies have been updated
Fixes
- A bug where the roomserver did not correctly propagate rewritten room state to downstream components (like the federation API and sync API) has been fixed, which could cause issues when performing a federated join to a previously left room
- Event auth now correctly parses the
join_authorised_via_users_server
field in the membership event content - Database migrations should no longer produce unique constraint errors at Dendrite startup
- The
origin
of device list updates should now be populated correctly - Send-to-device messages will no longer be dropped if we fail to publish them to specific devices
- The roomserver query to find state after events will now always resolve state if there are multiple prev events
- The roomserver will now return no memberships if querying history visibility for an event which has no state snapshot
- The device list updater will now mark a device list as stale if a requesting device ID is not known
- Transactions sent to appservices should no longer have accidental duplicated transaction IDs (contributed by tak-hntlabs)