Releases: matrix-org/dendrite
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
helm-dendrite-0.12.3
Dendrite Matrix Homeserver
helm-dendrite-0.12.2
Dendrite Matrix Homeserver
helm-dendrite-0.12.1
Dendrite Matrix Homeserver
Dendrite 0.12.0
dendrite-monolith-server
was renamed to dendrite
, please modify any existing scripts/services
Features
- The userapi and keyserver have been merged (no actions needed regarding the database)
- The internal NATS JetStream server is now using logrus for logging (contributed by dvob)
- The roomserver database has been refactored to have separate interfaces when working with rooms and events. Also includes increased usage of the cache to avoid database round trips. (database is unchanged)
- The pinecone demo now shuts down more cleanly
- The Helm chart now has the ability to deploy a Grafana chart as well (contributed by genofire)
- Support for listening on unix sockets has been added (contributed by cyberb)
- The internal NATS server was updated to v2.9.15
- Initial support for
runtime/trace
has been added, to further track down long-running tasks
Fixes
- The
session_id
is now correctly set when using SQLite - An issue where device keys could be removed if a device ID is reused has been fixed
- A possible DoS issue related to relations has been fixed (reported by sleroq)
- When backfilling events, errors are now ignored if we still could fetch events
Other
⚠️ DEPRECATION: Polylith/HTTP API mode has been removed- The default endpoint to report usages stats to has been updated