Skip to content

Releases: matrix-org/dendrite

helm-dendrite-0.10.9

18 Jan 07:46
67f5c5b
Compare
Choose a tag to compare

Dendrite Matrix Homeserver

Dendrite 0.10.9

17 Jan 18:04
b55a7c2
Compare
Choose a tag to compare

Features

  • Stale device lists are now cleaned up on startup, removing entries for users the server doesn't share a room with anymore
  • Dendrite now has its own Helm chart
  • Guest access is now handled correctly (disallow joins, kick guests on revocation of guest access, as well as over federation)

Fixes

  • Push rules have seen several tweaks and fixes, which should, for example, fix notifications for m.read_receipts
  • Outgoing presence will now correctly be sent to newly joined hosts
  • Fixes the /_dendrite/admin/resetPassword/{userID} admin endpoint to use the correct variable
  • Federated backfilling for medium/large rooms has been fixed
  • /login causing wrong device list updates has been resolved
  • /sync should now return the correct room summary heroes
  • The default config options for recaptcha_sitekey_class and recaptcha_form_field are now set correctly
  • /messages now omits empty state to be more spec compliant (contributed by handlerug)
  • /sync has been optimised to only query state events for history visibility if they are really needed

helm-dendrite-0.10.8

06 Jan 14:44
d579ddb
Compare
Choose a tag to compare

Dendrite Matrix Homeserver

Dendrite 0.10.8

29 Nov 16:28
ed497aa
Compare
Choose a tag to compare

Features

  • The built-in NATS Server has been updated to version 2.9.8
  • A number of under-the-hood changes have been merged for future virtual hosting support in Dendrite (running multiple domain names on the same Dendrite deployment)

Fixes

  • Event auth handling of invites has been refactored, which should fix some edge cases being handled incorrectly
  • Fix a bug when returning an empty protocol list, which could cause Element to display "The homeserver may be too old to support third party networks" when opening the public room directory
  • The sync API will no longer filter out the user's own membership when using lazy-loading
  • Dendrite will now correctly detect JetStream consumers being deleted, stopping the consumer goroutine as needed
  • A panic in the federation API where the server list could go out of bounds has been fixed
  • Blacklisted servers will now be excluded when querying joined servers, which improves CPU usage and performs less unnecessary outbound requests
  • A database writer will now be used to assign state key NIDs when requesting NIDs that may not exist yet
  • Dendrite will now correctly move local aliases for an upgraded room when the room is upgraded remotely
  • Dendrite will now correctly move account data for an upgraded room when the room is upgraded remotely
  • Missing state key NIDs will now be allocated on request rather than returning an error
  • Guest access is now correctly denied on a number of endpoints
  • Presence information will now be correctly sent for new private chats
  • A number of unspecced fields have been removed from outbound /send transactions

Dendrite 0.10.7

04 Nov 15:33
7c73b13
Compare
Choose a tag to compare

NOTE: Docker users may need to change the ownership of the Dendrite files (config, JetStream, logs, media and fulltext index path) to the dendrite user (UID 1337) to complete this upgrade.

Features

  • Dendrite will now use a native SQLite port when building with CGO_ENABLED=0
  • A number of thirdparty endpoints have been added, improving support for appservices

Fixes

  • The "state" section of the /sync response is no longer limited, so state events should not be dropped unexpectedly
  • The deduplication of the "timeline" and "state" sections in /sync is now performed after applying history visibility, so state events should not be dropped unexpectedly
  • The prev_batch token returned by /sync is now calculated after applying history visibility, so that the pagination boundaries are correct
  • The room summary membership counts in /sync should now be calculated properly in more cases
  • A false membership leave event should no longer be sent down /sync as a result of retiring an accepted invite (contributed by tak-hntlabs)
  • Presence updates are now only sent to other servers for which the user shares rooms
  • A bug which could cause a panic when converting events into the ClientEvent format has been fixed

Dendrite 0.10.6

01 Nov 17:14
52478da
Compare
Choose a tag to compare

Features

  • History visibility checks have been optimised, which should speed up response times on a variety of endpoints (including /sync, /messages, /context and others) and reduce database load
  • The built-in NATS Server has been updated to version 2.9.4
  • Some other minor dependencies have been updated

Fixes

  • A panic has been fixed in the sync API PDU stream which could cause requests to fail
  • The /members response now contains the room_id field, which may fix some E2EE problems with clients using the JS SDK (contributed by ashkitten)
  • The auth difference calculation in state resolution v2 has been tweaked for clarity (and moved into gomatrixserverlib with the rest of the state resolution code)

Dendrite 0.10.5

31 Oct 16:44
8c7b274
Compare
Choose a tag to compare

Features

  • It is now possible to use hCaptcha instead of reCAPTCHA for protecting registration
  • A new auto_join_rooms configuration option has been added for automatically joining new users to a set of rooms
  • A new /_dendrite/admin/downloadState/{serverName}/{roomID} endpoint has been added, which allows a server administrator to attempt to repair a room with broken room state by downloading a state snapshot from another federated server in the room

Fixes

  • Querying cross-signing keys for users should now be considerably faster
  • A bug in state resolution where some events were not correctly selected for third-party invites has been fixed
  • A bug in state resolution which could result in not in room event rejections has been fixed
  • When accepting a DM invite, it should now be possible to see messages that were sent before the invite was accepted
  • Claiming remote E2EE one-time keys has been refactored and should be more reliable now
  • Various fixes have been made to the /members endpoint, which may help with E2EE reliability and clients rendering memberships
  • A race condition in the federation API destination queues has been fixed when associating queued events with remote server destinations
  • A bug in the sync API where too many events were selected resulting in high CPU usage has been fixed
  • Configuring the avatar URL for the Server Notices user should work correctly now

Dendrite 0.10.4

21 Oct 14:01
411db60
Compare
Choose a tag to compare

Features

  • Various tables belonging to the user API will be renamed so that they are namespaced with the userapi_ prefix
    • Note that, after upgrading to this version, you should not revert to an older version of Dendrite as the database changes will not be reverted automatically
  • The backoff and retry behaviour in the federation API has been refactored and improved

Fixes

  • Private read receipt support is now advertised in the client /versions endpoint
  • Private read receipts will now clear notification counts properly
  • A bug where a false leave membership transition was inserted into the timeline after accepting an invite has been fixed
  • Some panics caused by concurrent map writes in the key server have been fixed
  • The sync API now calculates membership transitions from state deltas more accurately
  • Transaction IDs are now scoped to endpoints, which should fix some bugs where transaction ID reuse could cause nonsensical cached responses from some endpoints
  • The length of the type, sender, state_key and room_id fields in events are now verified by number of bytes rather than codepoints after a spec clarification, reverting a change made in Dendrite 0.9.6

Dendrite 0.10.3

14 Oct 14:58
81dbad3
Compare
Choose a tag to compare

Features

  • Event relations are now tracked and support for the /room/{roomID}/relations/... client API endpoints have been added
  • Support has been added for private read receipts
  • The built-in NATS Server has been updated to version 2.9.3

Fixes

  • The unread_notifications are now always populated in joined room responses
  • The /get_missing_events federation API endpoint should now work correctly for rooms with joined and invited visibility settings, returning redacted events for events that other servers are not allowed to see
  • The /event client API endpoint now applies history visibility correctly
  • Read markers should now be updated much more reliably
  • A rare bug in the sync API which could cause some join memberships to be incorrectly overwritten by other memberships when working out which rooms to populate has been fixed
  • The federation API now correctly updates the joined hosts table during a state rewrite

Dendrite 0.10.2

07 Oct 14:55
f1b8df0
Compare
Choose a tag to compare

Features

  • Dendrite will now fail to start if there is an obvious problem with the configured max_open_conns when using PostgreSQL database backends, since this can lead to instability and performance issues
  • Unnecessary/empty fields will no longer be sent in /sync responses
  • It is now possible to configure old_private_keys from previous Matrix installations on the same domain if only public key is known, to make it easier to expire old keys correctly
    • You can configure either just the private_key path, or you can supply both the public_key and key_id

Fixes

  • The sync transaction behaviour has been modified further so that errors in one stream should not propagate to other streams unnecessarily
  • Rooms should now be classified as DM rooms correctly by passing through is_direct and unsigned hints
  • A bug which caused marking device lists as stale to consume lots of CPU has been fixed
  • Users accepting invites should no longer cause unnecessary federated joins if there are already other local users in the room
  • The sync API state range queries have been optimised by adding missing indexes
  • It should now be possible to configure non-English languages for full-text search in search.language
  • The roomserver will no longer attempt to perform federated requests to the local server when trying to fetch missing events
  • The /keys/upload endpoint will now always return the one_time_keys_counts, which may help with E2EE reliability
  • The sync API will now retrieve the latest stream position before processing each stream rather than at the beginning of the request, to hopefully reduce the number of round-trips to /sync