Releases: matrix-org/dendrite
Dendrite 0.13.3
Fixes:
- The
user_id
query parameter when authenticating is now used correctly (contributed by tulir) - Invitations are now correctly pushed to devices
- A bug which could result in the corruption of
m.direct
account data has been fixed
Features
- Sliding Sync proxy can be configured in the
/.well-known/matrix/client
response - Room version 11 is now supported
- Clients can request the
federation
event_format
when creating filters - Many under the hood improvements for MSC4014: Pseudonymous Identities
Other
- Dendrite now requires Go 1.20 if building from source
What's Changed
- [pseudoIDs] More pseudo ID fixes - Part 2 by @swedgwood in #3181
- Add configuration option for sliding sync when hosting /.well-known/matrix/client by @devonh in #3189
- Bump commonmarker from 0.23.9 to 0.23.10 in /docs by @dependabot in #3172
- Fix CI, upgrade image used for upgrade tests by @S7evinK in #3151
- [helm] Update Ingress hosts to account for IPv6 (server+client) and scheme (client) by @Omar007 in #3182
- Handle event_format federation in /sync responses by @devonh in #3192
- bump GMSL back to main by @swedgwood in #3197
- Fix
user_id
query param breaking auth for non-appservices by @tulir in #3196 - [pseudoIDs] changing event ID fix by @swedgwood in #3195
- Update gmsl to use new validated RoomID on PDUs by @devonh in #3200
- Move pseudoID ClientEvent hotswapping to a common location by @devonh in #3199
- Fix invitations not sending push notifications by @S7evinK in #3207
- Complement fixes by @devonh in #3206
- Support for room version v11 by @S7evinK in #3204
- Fix m.direct only being partially upgraded by @S7evinK in #3209
- Remove the creator field when upgrading to v11 by @S7evinK in #3210
- Updated minimum required go version in README.md by @jahway603 in #3194
- Fixed typo in documentation by @tracker-friendly in #3212
- Version 0.13.3 by @S7evinK in #3213
New Contributors
- @jahway603 made their first contribution in #3194
- @tracker-friendly made their first contribution in #3212
Full Changelog: v0.13.2...v0.13.3
helm-dendrite-0.13.4
Dendrite Matrix Homeserver
helm-dendrite-0.13.3
Dendrite Matrix Homeserver
Dendrite 0.13.2
Fixes:
- Migrations in SQLite are now prepared on the correct context (transaction or database)
- The
InputRoomEvent
stream now has a maximum age of 24h, which should help with slow start up times of NATS JetStream (contributed by neilalexander) - Event size checks are more in line with Synapse
- Requests to
/messages
have been optimized, possibly reducing database round trips - Re-add the revision of Dendrite when building from source (Note: This only works if git is installed)
- Getting local members to notify has been optimized, which should significantly reduce memory allocation and cache usage
- When getting queried about user profiles, we now return HTTP404 if the user/profiles does not exist
- Background federated joins should now be fixed and not timeout after a short time
- Database connections are now correctly re-used
- Restored the old behavior of the
/purgeRoom
admin endpoint (does not evacuate the room before purging) - Don't expose information about the system when trying to download files that don't exist
Features
- Further improvements and fixes for MSC4014: Pseudonymous Identities
- Lookup correct prev events in the sync API
- Populate
prev_sender
correctly in the sync API - Event federation should work better
- Added new
dendrite_up
Prometheus metric, containing the version of Dendrite - Space summaries (MSC2946) have been moved from MSC to being natively supported
- For easier issue investigation, logs for application services now contain the application service ID (contributed by maxberger)
- The default room version to use when creating rooms can now be configured using
room_server.default_room_version
What's Changed
- Add pseudoID compatibility to Invites by @devonh in #3126
- Fix prev event lookup in syncapi by @devonh in #3141
- Populate syncapi state event prev_sender with userID by @devonh in #3142
- Prepare statement on an existing transaction by @S7evinK in #3144
- Set max age for roomserver input stream to avoid excessive interior deletes by @neilalexander in #3145
- Add event size checks similar to Synapse by @S7evinK in #3140
- Fix issues reported by Sentry by @S7evinK in #3143
- Avoid loops by setting end to an empty string if start == end by @S7evinK in #3146
- Add revision to version string by @S7evinK in #3147
- Tweaks around
/messages
by @S7evinK in #3149 - Optimise getting local members and membership counts by @S7evinK in #3150
- Extend context timeout on send_join to allow for joining complex rooms by @devonh in #3153
- Use pointer when passing the connection manager around by @S7evinK in #3152
- de-MSC-ifying space summaries (MSC2946) by @swedgwood in #3134
- Update ConnectionManager to still allow component defined connections by @S7evinK in #3154
- Fix event federation with pseudoID rooms by @devonh in #3156
- add deployment strategy option to helm chart (re #3021) by @geoah in #3155
- Send a more generic error message to clients if the file can't be found by @S7evinK in #3161
- [pseudoIDs] Fixes for room alias tests by @swedgwood in #3159
- Use
*spec.SenderID
forQuerySenderIDForUser
by @swedgwood in #3164 - Add ID in error messages for ApplicationServices by @maxberger in #3162
- Add config key for default room version by @swedgwood in #3171
- Update pinecone to use new quic version by @devonh in #3174
- [pseudoID] More pseudo ID fixes by @swedgwood in #3167
New Contributors
- @swedgwood made their first contribution in #3134
- @maxberger made their first contribution in #3162
Full Changelog: v0.13.1...v0.13.2
helm-dendrite-0.13.2
Dendrite Matrix Homeserver
helm-dendrite-0.13.1
Dendrite Matrix Homeserver
Dendrite 0.13.1
This releases fixes a long-standing "off-by-one" error which could result in state resets. Upgrading to this version is highly recommended.
When deduplicating state events, we were checking if the event in question was already in a state snapshot. If it was in a previous state snapshot, we would
then remove it from the list of events to store. If this happened, we were, unfortunately, skipping the next event to check. This resulted in
events getting stored in state snapshots where they may not be needed. When we now compared two of those state snapshots, one of them
contained the skipped event, while the other didn't. This difference possibly shouldn't exist, resulting in unexpected state resets and explains
reports of missing state events as well.
Rooms where a state reset occurred earlier should, hopefully, reconcile over time.
Fixes:
- A long-standing "off-by-one" error has been fixed, which could result in state resets
- Roomserver Prometheus Metrics are available again
Features
- Updated dependencies
- Internal NATS Server has been updated from v2.9.15 to v2.9.19
What's Changed
Full Changelog: v0.13.0...v0.13.1
Dendrite 0.13.0
Features
- Results in responses to
/search
now highlight words more accurately and not only the search terms as before - Support for connecting to appservices listening on unix sockets has been added (contributed by cyberb)
- Admin APIs for token authenticated registration have been added (contributed by santhoshivan23)
- Initial support for MSC4014: Pseudonymous Identities
- This is highly experimental, things like changing usernames/avatars, inviting users, upgrading rooms isn't working
Fixes
m.upload.size
is now optional, finally allowing uploads with unlimited file size- A bug while resolving server names has been fixed (contributed by anton-molyboha)
- Application services should only receive one invitation instead of 2 (or worse), which could result in state resets previously
- Several admin endpoints are now using
POST
instead ofGET
/delete_devices
now uses user-interactive authentication- Several "membership" (e.g
/kick
,/ban
) endpoints are using less heavy database queries to check if the user is allowed to perform this action /3pid
endpoints are now available on/v3
instead of the/unstable
prefix- Upgrading rooms ignores state events of other users, which could result in failed upgrades before
- Uploading key backups with a wrong version now returns
M_WRONG_ROOM_KEYS_VERSION
- A potential state reset when joining the same room multiple times in short sequence has been fixed
- A bug where we returned the full event as
redacted_because
in redaction events has been fixed - The
displayname
andavatar_url
can now be set to empty strings - Unsafe hotserving of files has been fixed (contributed by joshqou)
- Joining new rooms would potentially return "redacted" events, due to history visibility not being set correctly, this could result in events being rejected
- Backfilling resulting in
unsuported room version ''
should now be solved
Other
- Huge refactoring of Dendrite and gomatrixserverlib
What's Changed
- simplify unix socket permission format by @cyberb in #3014
- Preparations for removing
BaseDendrite
by @S7evinK in #3016 - Remove
BaseDendrite
by @S7evinK in #3023 - Move every
db.Prepare
tosqlutil.Statementlist
, remove trace driver by @S7evinK in #3026 - Update docs and sample config for the relay_api by @akirk in #3011
- Add AS invite test, fix issue with invitations being processed twice by @S7evinK in #3020
- Add
/search
tests by @S7evinK in #3025 - Add tests for the Dendrite admin APIs by @S7evinK in #3028
- Rdanzey/helm-fixes-existing-db-secrets by @Arkaniad in #3033
- Add CS API device tests by @S7evinK in #3029
- chart - Add configuration for extra volumes / volume mounts by @Arkaniad in #3042
- fix(helm): improve documentation and grafana dashboard by @genofire in #2992
- hard code path of README.md by @aiden-leong in #3035
- Add user profile tests, refactor user API methods by @S7evinK in #3030
- Add tests for CSAPI membership changes by @S7evinK in #3034
- Add tests for
/turnServer
,/capabilities
and/3pid/
by @S7evinK in #3038 - app service unix socket support by @cyberb in #3022
- Move GMSL client types to Dendrite by @kegsay in #3045
- ci: don't use go get, use go install by @kegsay in #3048
- refactor: use latest GMSL which splits fed client from matrix room logic by @kegsay in #3051
- Bump github.com/docker/docker from 20.10.19+incompatible to 20.10.24+incompatible by @dependabot in #3047
- chore(linter): remove deprecated linters by @154pinkchairs in #3046
- Update GMSL: use static Check functions by @kegsay in #3052
- Add pushrules tests by @S7evinK in #3044
- Bump commonmarker from 0.23.7 to 0.23.9 in /docs by @dependabot in #3054
- Bump nokogiri from 1.13.10 to 1.14.3 in /docs by @dependabot in #3055
- Remove event building duplication & push to GMSL by @devonh in #3056
- Add sync API db tests by @S7evinK in #3043
- refactor: update GMSL by @kegsay in #3058
- refactor: funnel event creation through room versions by @kegsay in #3060
- Implement new RoomVersionImpl API by @kegsay in #3062
- Use IRoomVersion by @kegsay in #3064
- Move fedclient interface over to gmsl by @devonh in #3061
- Move high level room joining logic to GMSL by @devonh in #3065
- Add some roomserver UTs by @S7evinK in #3067
- Remove gmsl.HeaderedEvent by @kegsay in #3068
- Add CS API
/keys
tests by @S7evinK in #3069 - Use PDU interface by @kegsay in #3070
- Use PDU in more places by @kegsay in #3072
- Remove
PerformError
by @S7evinK in #3066 - Add key backup tests by @S7evinK in #3071
- Use PDU not *Event in HeaderedEvent by @kegsay in #3073
- fix(helm): do not deploy screenshot to cluster (just dashboard) by @genofire in #3063
- Use PDU in even more places by @kegsay in #3074
- Use ProtoEvent where needed instead of EventBuilder by @kegsay in #3075
- Only require room version instead of room info for db.Events() by @devonh in #3079
- Move json errors over to gmsl by @devonh in #3080
- Move MakeJoin logic to GMSL by @devonh in #3081
- Bump github.com/docker/distribution from 2.8.1+incompatible to 2.8.2+incompatible by @dependabot in #3082
- Move SendJoin logic to GMSL by @devonh in #3084
- Move
MakeLeave
to GMSL by @S7evinK in #3085 - Drop
reference_sha
column by @S7evinK in #3083 - Docs restructure by @S7evinK in #2953
- Fix potential state reset when trying to join a room by @S7evinK in #3040
- Add tests for the
UpDropEventReferenceSHAPrevEvents
migration by @S7evinK in #3087 - Move CreateRoom logic to Roomserver by @devonh in #3093
- Move Invite logic to GMSL by @devonh in #3086
- Fix newly found linter issues by @S7evinK in #3099
- Make
StrictValidityChecking
a function by @S7evinK in #3092 - PDU Sender split by @devonh in #3100
- Use SenderID Type by @devonh in #3105
- Update sample link by @acheong08 in #3107
- Add initial support for storing user room keys by @S7evinK in #3098
- Cleanup remaining statekey usage for senderIDs by @devonh in #3106
- Add
sender_key
to ClientEvent by @S7evinK in #3110 - Create user room key if needed by @S7evinK in #3108
- Add
AssignRoomNID
to pre-assign roomNIDs by @S7evinK in #3111 - Merge SenderID & Per Room User Key work by @devonh in #3109
- Fix unsafe hotserving behaviour for multimedia uploads. by @joshqou in #3113
- rearrange order of sections about signing keys and configuring dendrite, fix a dead link by @CicadaCinema in #3114
- Fix backfilling by @S7evinK in #3117
- feat: admin APIs for token authenticated registration by @santhoshivan23 in #310...
helm-dendrite-0.13.0
Dendrite Matrix Homeserver
helm-dendrite-0.12.4
Dendrite Matrix Homeserver