9.4 KiB
+++ title = "Synapse 1.6.0 released" path = "/blog/2019/11/26/synapse-1-6-0-released"
[taxonomies] author = ["Neil Johnson"] category = ["Releases"] +++
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
/sync
and/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
git
is 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_room
admin API. (#6307) - Fix the
hidden
field in thedevices
table 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_login
ratelimiting 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_device
stream 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 key
andpublic key
tosecret key
andsite key
respectively. Contributed by Yash Jipkate. (#6257) - Update
INSTALL.md
Email section to talk aboutaccount_threepid_delegates
. (#6272) - Fix a small typo in
account_threepid_delegates
configuration option. (#6273)
Internal Changes
- Add a CI job to test the
synapse_port_db
script. (#6140, #6276) - Convert EventContext to an attrs. (#6218)
- Move
persist_events
out 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
if
statement. (#6269) - Update CI to run
isort
over thescripts
andscripts-dev
directories. (#6270) - Replace every instance of
logger.warn
method withlogger.warning
as 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
flake8
step. (#6277) - Port
federation_server.py
to 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.sh
for 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
resource
module. (#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)