Synapse 1.19.0 is here and ready for action.
1.19.0 contains lots of async/await changes, 27 separate PRs to be precise(thanks Patrick). These changes will provide some level of performance improvement, but the real value to us is that it will improve our ability to profile Synapse more effectively.
It also features improved logging performance, this is in part to reduce IO but also to reduce the total amount logged. We’d be really interested to get some feedback on if the changes help. You may also want to take a look at our new logging defaults to see if they would help reduce total disk space usage.
Some admins will rejoice that we have added a /health
end point to every configured HTTP listener which should make it easier to monitor multi-worker installs.
Finally 1.19.0 contains improvements to the Admin API allowing the admin to optionally purge rooms on deletion.
Get the new releases from any of the usual sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md. 1.19.0 is on github here.
Changelog for 1.19.0 follows:
Synapse 1.19.0 (2020-08-17)
No significant changes since 1.19.0rc1.
Removal warning
As outlined in the previous release, we are no longer publishing Docker images with the -py3
tag suffix. On top of that, we have also removed the latest-py3
tag. Please see the announcement in the upgrade notes for 1.18.0.
Synapse 1.19.0rc1 (2020-08-13)
Features
- Add option to allow server admins to join rooms which fail complexity checks. Contributed by @lugino-emeritus. (#7902)
- Add an option to purge room or not with delete room admin endpoint (
POST /_synapse/admin/v1/rooms/<room_id>/delete
). Contributed by @dklimpel. (#7964) - Add rate limiting to users joining rooms. (#8008)
- Add a
/health
endpoint to every configured HTTP listener that can be used as a health check endpoint by load balancers. (#8048) - Allow login to be blocked based on the values of SAML attributes. (#8052)
- Allow guest access to the
GET /_matrix/client/r0/rooms/{room_id}/members
endpoint, according to MSC2689. Contributed by Awesome Technologies Innovationslabor GmbH. (#7314)
Bugfixes
- Fix a bug introduced in Synapse v1.7.2 which caused inaccurate membership counts in the room directory. (#7977)
- Fix a long standing bug: 'Duplicate key value violates unique constraint "event_relations_id"' when message retention is configured. (#7978)
- Fix "no create event in auth events" when trying to reject invitation after inviter leaves. Bug introduced in Synapse v1.10.0. (#7980)
- Fix various comments and minor discrepencies in server notices code. (#7996)
- Fix a long standing bug where HTTP HEAD requests resulted in a 400 error. (#7999)
- Fix a long-standing bug which caused two copies of some log lines to be written when synctl was used along with a MemoryHandler logger. (#8011, #8012)
Updates to the Docker image
- We no longer publish Docker images with the
-py3
tag suffix, as announced in the upgrade notes. (#8056)
Improved Documentation
- Document how to set up a client .well-known file and fix several pieces of outdated documentation. (#7899)
- Improve workers docs. (#7990, #8000)
- Fix typo in
docs/workers.md
. (#7992) - Add documentation for how to undo a room shutdown. (#7998, #8010)
Internal Changes
- Reduce the amount of whitespace in JSON stored and sent in responses. Contributed by David Vo. (#7372)
- Switch to the JSON implementation from the standard library and bump the minimum version of the canonicaljson library to 1.2.0. (#7936, #7979)
- Convert various parts of the codebase to async/await. (#7947, #7948, #7949, #7951, #7963, #7973, #7975, #7976, #7981, #7987, #7989, #8003, #8014, #8016, #8027, #8031, #8032, #8035, #8042, #8044, #8045, #8061, #8062, #8063, #8066, #8069, #8070)
- Move some database-related log lines from the default logger to the database/transaction loggers. (#7952)
- Add a script to detect source code files using non-unix line terminators. (#7965, #7970)
- Log the SAML session ID during creation. (#7971)
- Implement new experimental push rules for some users. (#7997)
- Remove redundant and unreliable signature check for v1 Identity Service lookup responses. (#8001)
- Improve the performance of the register endpoint. (#8009)
- Reduce less useful output in the newsfragment CI step. Add a link to the changelog section of the contributing guide on error. (#8024)
- Rename storage layer objects to be more sensible. (#8033)
- Change the default log config to reduce disk I/O and storage for new servers. (#8040)
- Add an assertion on
prev_events
increate_new_client_event
. (#8041) - Add a comment to
ServerContextFactory
about the use ofSSLv23_METHOD
. (#8043) - Log
OPTIONS
requests atDEBUG
rather thanINFO
level to reduce amount logged atINFO
. (#8049) - Reduce amount of outbound request logging at
INFO
level. (#8050) - It is no longer necessary to explicitly define
filters
in the logging configuration. (Continuing to do so is redundant but harmless.) (#8051) - Add and improve type hints. (#8058, #8064, #8060, #8067)
Public Domain; This is the unofficial social media account for Matrix and our goal is to keep you updated on the massive growth that is happening on the Matrix network and protocol development. These posts are independent of the Foundation, are a compilation and syndication of content on various Matrix websites and are approved via the express written permission of Matthew Hodgson, Co-Founder of Matrix. Credit on this post to Neil Johnson.
We are also writing educational posts here so that you can easily learn about the many apps and businesses that are building their products and services on Matrix technology.
❤ ❤ ♡ ♡ Please Like and Share this post! ♡ ♡ ❤ ❤
On Matrix technology, you can finally be free of KYC, censorship, walled gardens, spying and even your phone bill.
Web: chat.onMatrix.tech
Android: droid.onMatrix.tech
iOS/MacOS/Linux/Win: get.onMatrix.tech
Blog: blog.onMatrix.tech
Community: social.onMatrix.tech
Bots: bots.onMatrix.tech
Bridges: bridges.onMatrix.tech
Find a Homeserver: findhost.onMatrix.tech
Run a Homeserver: runhost.onMatrix.tech
Support Matrix with..
Bitcoin: 1Lxow***mAE
Ethereum: 0xA5f***485
Be sovereign.
Matrix.org