Releases: matrix-org/dendrite
Releases · matrix-org/dendrite
helm-dendrite-0.10.9
Dendrite Matrix Homeserver
Dendrite 0.10.9
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
andrecaptcha_form_field
are now set correctly /messages
now omits emptystate
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
Dendrite Matrix Homeserver
Dendrite 0.10.8
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
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
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 theroom_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
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
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
androom_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
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 withjoined
andinvited
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
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- More information on this is available in the documentation
- 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 thepublic_key
andkey_id
- You can configure either just the
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 theone_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