Synapse 1.6.0 has landed and is here to brighten your day!
1.6.0's most notable feature is that of label based filtering. It allows for messages to be tagged with a given label so that clients can filter on the label, this means that clients can subscribe to specific topics in a room, such as #lunch.
Completely separately, from here on in new rooms will be version 5 by default, all this means in practice is that servers will respect server signing key validity periods. This won't make a lot of difference in day to day operation, but it is an important security consideration and we now have sufficient penetration across the federation to make version 5 the default.
Aside from that there are a bunch of bug fixes and improvements, including fixing a bug that in some cases prevented messages being decrypted shortly after a restart (#6363) and generally improving the room upgrade experience (#6232, #6235).
As ever, you can get the new update here or any of the sources mentioned at https://github.com/matrix-org/synapse. Also, check out our Synapse installation guide page
The changelog since 1.5.1 follows:
🔗Synapse 1.6.0 (2019-11-26)
🔗Bugfixes
- Fix phone home stats reporting. (#6418)
🔗Synapse 1.6.0rc2 (2019-11-25)
🔗Bugfixes
- Fix a bug which could cause the background database update handler for event labels to get stuck in a loop raising exceptions. (#6407)
🔗Synapse 1.6.0rc1 (2019-11-20)
🔗Features
- Add federation support for cross-signing. (#5727)
- Increase default room version from 4 to 5, thereby enforcing server key validity period checks. (#6220)
- Add support for outbound http proxying via http_proxy/HTTPS_PROXY env vars. (#6238)
- Implement label-based filtering on
/syncand/messages(MSC2326). (#6301, #6310, #6340)
🔗Bugfixes
- Fix LruCache callback deduplication for Python 3.8. Contributed by @V02460. (#6213)
- Remove a room from a server's public rooms list on room upgrade. (#6232, #6235)
- Delete keys from key backup when deleting backup versions. (#6253)
- Make notification of cross-signing signatures work with workers. (#6254)
- Fix exception when remote servers attempt to join a room that they're not allowed to join. (#6278)
- Prevent errors from appearing on Synapse startup if
gitis not installed. (#6284) - Appservice requests will no longer contain a double slash prefix when the appservice url provided ends in a slash. (#6306)
- Fix
/purge_roomadmin API. (#6307) - Fix the
hiddenfield in thedevicestable for SQLite versions prior to 3.23.0. (#6313) - Fix bug which caused rejected events to be persisted with the wrong room state. (#6320)
- Fix bug where
rc_loginratelimiting would prematurely kick in. (#6335) - Prevent the server taking a long time to start up when guest registration is enabled. (#6338)
- Fix bug where upgrading a guest account to a full user would fail when account validity is enabled. (#6359)
- Fix
to_devicestream ID getting reset every time Synapse restarts, which had the potential to cause unable to decrypt errors. (#6363) - Fix permission denied error when trying to generate a config file with the docker image. (#6389)
🔗Improved Documentation
- Contributor documentation now mentions script to run linters. (#6164)
- Modify CAPTCHA_SETUP.md to update the terms
private keyandpublic keytosecret keyandsite keyrespectively. Contributed by Yash Jipkate. (#6257) - Update
INSTALL.mdEmail section to talk aboutaccount_threepid_delegates. (#6272) - Fix a small typo in
account_threepid_delegatesconfiguration option. (#6273)
🔗Internal Changes
- Add a CI job to test the
synapse_port_dbscript. (#6140, #6276) - Convert EventContext to an attrs. (#6218)
- Move
persist_eventsout from main data store. (#6240, #6300) - Reduce verbosity of user/room stats. (#6250)
- Reduce impact of debug logging. (#6251)
- Expose some homeserver functionality to spam checkers. (#6259)
- Change cache descriptors to always return deferreds. (#6263, #6291)
- Fix incorrect comment regarding the functionality of an
ifstatement. (#6269) - Update CI to run
isortover thescriptsandscripts-devdirectories. (#6270) - Replace every instance of
logger.warnmethod withlogger.warningas the former is deprecated. (#6271, #6314) - Port replication http server endpoints to async/await. (#6274)
- Port room rest handlers to async/await. (#6275)
- Remove redundant CLI parameters on CI's
flake8step. (#6277) - Port
federation_server.pyto async/await. (#6279) - Port receipt and read markers to async/wait. (#6280)
- Split out state storage into separate data store. (#6294, #6295)
- Refactor EventContext for clarity. (#6298)
- Update the version of black used to 19.10b0. (#6304)
- Add some documentation about worker replication. (#6305)
- Move admin endpoints into separate files. Contributed by Awesome Technologies Innovationslabor GmbH. (#6308)
- Document the use of
lint.shfor code style enforcement & extend it to run on specified paths only. (#6312) - Add optional python dependencies and dependant binary libraries to snapcraft packaging. (#6317)
- Remove the dependency on psutil and replace functionality with the stdlib
resourcemodule. (#6318, #6336) - Improve documentation for EventContext fields. (#6319)
- Add some checks that we aren't using state from rejected events. (#6330)
- Add continuous integration for python 3.8. (#6341)
- Correct spacing/case of various instances of the word "homeserver". (#6357)
- Temporarily blacklist the failing unit test PurgeRoomTestCase.test_purge_room. (#6361)
The Foundation needs you
The Matrix.org Foundation is a non-profit and only relies on donations to operate. Its core mission is to maintain the Matrix Specification, but it does much more than that.
It maintains the matrix.org homeserver and hosts several bridges for free. It fights for our collective rights to digital privacy and dignity.
Support us