Releases

147 posts tagged with "Releases" (See all Category)

Atom Feed

Synapse 1.9.1 released

28.01.2020 00:00 — Releases Neil Johnson

A quick bug fix release that affects admins making use of monthly active user limits. You will know if you are affected because 1.9.0 will not start up. Apologies if you were bitten by this one!

Get the new release from github or any of the sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md.

Changelog since Synapse 1.9.1

Synapse 1.9.1 (2020-01-28)

Bugfixes

  • Fix bug where setting mau_limit_reserved_threepids config would cause Synapse to refuse to start. (#6793)

Synapse 1.9.0 released

23.01.2020 00:00 — Releases Neil Johnson

Synapse 1.9.0 contains a bunch of new admin APIs as well as bug fixes to existing ones. In particular we have a new end point that allows admins to query which rooms their server participates in.

Aside from that it is worth noting that we have officially dropped support for SQLite versions < 3.11. Though more generally we would recommend that all admins migrate to Postgres for anything other than test and evaluation purposes.

Get the new release from github or any of the sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md.

Changelog since Synapse 1.8.0

Synapse 1.9.0 (2020-01-23)

WARNING: As of this release, Synapse no longer supports versions of SQLite before 3.11, and will refuse to start when configured to use an older version. Administrators are recommended to migrate their database to Postgres (see instructions here).

If your Synapse deployment uses workers, note that the reverse-proxy configurations for the synapse.app.media_repository, synapse.app.federation_reader and synapse.app.event_creator workers have changed, with the addition of a few paths (see the updated configurations here). Existing configurations will continue to work.

Improved Documentation

  • Fix endpoint documentation for the List Rooms admin API. (#6770)

Synapse 1.9.0rc1 (2020-01-22)

Features

  • Allow admin to create or modify a user. Contributed by Awesome Technologies Innovationslabor GmbH. (#5742)
  • Add new quarantine media admin APIs to quarantine by media ID or by user who uploaded the media. (#6681, #6756)
  • Add org.matrix.e2e_cross_signing to unstable_features in /versions as per MSC1756. (#6712)
  • Add a new admin API to list and filter rooms on the server. (#6720)

Bugfixes

  • Correctly proxy HTTP errors due to API calls to remote group servers. (#6654)
  • Fix media repo admin APIs when using a media worker. (#6664)
  • Fix "CRITICAL" errors being logged when a request is received for a uri containing non-ascii characters. (#6682)
  • Fix a bug where we would assign a numeric user ID if somebody tried registering with an empty username. (#6690)
  • Fix purge_room admin API. (#6711)
  • Fix a bug causing Synapse to not always purge quiet rooms with a low max_lifetime in their message retention policies when running the automated purge jobs. (#6714)
  • Fix the synapse_port_db not correctly running background updates. Thanks @tadzik for reporting. (#6718)
  • Fix changing password via user admin API. (#6730)
  • Fix /events/:event_id deprecated API. (#6731)
  • Fix monthly active user limiting support for worker mode, fixes #4639. (#6742)
  • Fix bug when setting account_validity to an empty block in the config. Thanks to @Sorunome for reporting. (#6747)
  • Fix AttributeError: 'NoneType' object has no attribute 'get' in hash_password when configuration has an empty password_config. Contributed by @ivilata. (#6753)
  • Fix the docker-compose.yaml overriding the entire /etc folder of the container. Contributed by Fabian Meyer. (#6656)

Improved Documentation

  • Fix a typo in the configuration example for purge jobs in the sample configuration file. (#6621)
  • Add complete documentation of the message retention policies support. (#6624, #6665)
  • Add some helpful tips about changelog entries to the GitHub pull request template. (#6663)
  • Clarify the account_validity and email sections of the sample configuration. (#6685)
  • Add more endpoints to the documentation for Synapse workers. (#6698)

Deprecations and Removals

  • Synapse no longer supports versions of SQLite before 3.11, and will refuse to start when configured to use an older version. Administrators are recommended to migrate their database to Postgres (see instructions here). (#6675)

Internal Changes

  • Add local_current_membership table for tracking local user membership state in rooms. (#6655, #6728)
  • Port synapse.replication.tcp to async/await. (#6666)
  • Fixup synapse.replication to pass mypy checks. (#6667)
  • Allow additional_resources to implement IResource directly. (#6686)
  • Allow REST endpoint implementations to raise a RedirectException, which will redirect the user's browser to a given location. (#6687)
  • Updates and extensions to the module API. (#6688)
  • Updates to the SAML mapping provider API. (#6689, #6723)
  • Remove redundant RegistrationError class. (#6691)
  • Don't block processing of incoming EDUs behind processing PDUs in the same transaction. (#6697)
  • Remove duplicate check for the session query parameter on the /auth/xxx/fallback/web Client-Server endpoint. (#6702)
  • Attempt to retry sending a transaction when we detect a remote server has come back online, rather than waiting for a transaction to be triggered by new data. (#6706)
  • Add StateMap type alias to simplify types. (#6715)
  • Add a DeltaState to track changes to be made to current state during event persistence. (#6716)
  • Add more logging around message retention policies support. (#6717)
  • When processing a SAML response, log the assertions for easier configuration. (#6724)
  • Fixup synapse.rest to pass mypy. (#6732, #6764)
  • Fixup synapse.api to pass mypy. (#6733)
  • Allow streaming cache 'invalidate all' to workers. (#6749)
  • Remove unused CI docker compose files. (#6754)

Synapse 1.8.0 released

09.01.2020 00:00 — Releases Neil Johnson

Synapse 1.8.0 has arrived, it contains a whole host of bug fixes and tweaks, most notably fixing some long standing problems with search.

More generally we are spending a lot of time improving the e2ee experience ahead of switching on e2ee by default, so watch this space.

Get the new release from github or any of the sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md.

Synapse 1.8.0 (2020-01-09)

Bugfixes

  • Fix GET request on /_synapse/admin/v2/users endpoint. Contributed by Awesome Technologies Innovationslabor GmbH. (#6563)
  • Fix incorrect signing of responses from the key server implementation. (#6657)

Synapse 1.8.0rc1 (2020-01-07)

Features

  • Add v2 APIs for the send_join and send_leave federation endpoints (as described in MSC1802). (#6349)
  • Add a develop script to generate full SQL schemas. (#6394)
  • Add custom SAML username mapping functionality through an external provider plugin. (#6411)
  • Automatically delete empty groups/communities. (#6453)
  • Add option limit_profile_requests_to_users_who_share_rooms to prevent requirement of a local user sharing a room with another user to query their profile information. (#6523)
  • Add an export_signing_key script to extract the public part of signing keys when rotating them. (#6546)
  • Add experimental config option to specify multiple databases. (#6580)
  • Raise an error if someone tries to use the log_file config option. (#6626)

Bugfixes

  • Prevent redacted events from being returned during message search. (#6377, #6522)
  • Prevent error on trying to search a upgraded room when the server is not in the predecessor room. (#6385)
  • Improve performance of looking up cross-signing keys. (#6486)
  • Fix race which occasionally caused deleted devices to reappear. (#6514)
  • Fix missing row in device_max_stream_id that could cause unable to decrypt errors after server restart. (#6555)
  • Fix a bug which meant that we did not send systemd notifications on startup if acme was enabled. (#6571)
  • Fix exception when fetching the matrix.org:ed25519:auto key. (#6625)
  • Fix bug where a moderator upgraded a room and became an admin in the new room. (#6633)
  • Fix an error which was thrown by the PresenceHandler _on_shutdown handler. (#6640)
  • Fix exceptions in the synchrotron worker log when events are rejected. (#6645)
  • Ensure that upgraded rooms are removed from the directory. (#6648)
  • Fix a bug causing Synapse not to fetch missing events when it believes it has every event in the room. (#6652)

Improved Documentation

Deprecations and Removals

  • Remove redundant code from event authorisation implementation. (#6502)
  • Remove unused, undocumented /_matrix/content API. (#6628)

Internal Changes

  • Add experimental support for multiple physical databases and split out state storage to separate data store. (#6245, #6510, #6511, #6513, #6564, #6565)
  • Port sections of code base to async/await. (#6496, #6504, #6505, #6517, #6559, #6647, #6653)
  • Remove SnapshotCache in favour of ResponseCache. (#6506)
  • Silence mypy errors for files outside those specified. (#6512)
  • Clean up some logging when handling incoming events over federation. (#6515)
  • Test more folders against mypy. (#6534)
  • Update mypy to new version. (#6537)
  • Adjust the sytest blacklist for worker mode. (#6538)
  • Remove unused get_pagination_rows methods from EventSource classes. (#6557)
  • Clean up logs from the push notifier at startup. (#6558)
  • Improve diagnostics on database upgrade failure. (#6570)
  • Reduce the reconnect time when worker replication fails, to make it easier to catch up. (#6617)
  • Simplify http handling by removing redundant SynapseRequestFactory. (#6619)
  • Add a workaround for synapse raising exceptions when fetching the notary's own key from the notary. (#6620)
  • Automate generation of the sample log config. (#6627)
  • Simplify event creation code by removing redundant queries on the event_reference_hashes table. (#6629)
  • Fix errors when frozen_dicts are enabled. (#6642)

Get the new release from github or any of the sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md.

Synapse 1.7.3 released

31.12.2019 00:00 — Releases Matthew Hodgson

Hi all,

We've just released Synapse 1.7.3 - an important bug fix to address a class of failures due to malformed events. We've seen this in the wild over the last few days, so we'd recommend updating as soon as possible, especially if you are having problems federating.

Get the new release from github or any of the sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md.

The changelog since 1.7.2 is:

Synapse 1.7.3 (2019-12-31)

This release fixes a long-standing bug in the state resolution algorithm.

Bugfixes

  • Fix exceptions caused by state resolution choking on malformed events. (#6608)

Synapse 1.7.2 released

20.12.2019 00:00 — Releases Matthew Hodgson

Hi all,

We've just released Synapse 1.7.2 - a minor point release to address two regressions which snuck into 1.7.0 and 1.7.1. Sorry for the upgrade faff; hopefully we will be back to a saner release cadence shortly. Reminder that if you are on 1.7.0 or earlier you should upgrade asap as 1.7.1 contained security fixes.

Get the new release from github or any of the sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md.

The changelog since 1.7.1 is:

Synapse 1.7.2 (2019-12-20)

This release fixes some regressions introduced in Synapse 1.7.0 and 1.7.1.

Bugfixes

  • Fix a regression introduced in Synapse 1.7.1 which caused errors when attempting to backfill rooms over federation. (#6576)
  • Fix a bug introduced in Synapse 1.7.0 which caused an error on startup when upgrading from versions before 1.3.0. (#6578)

Synapse 1.7.1 released

18.12.2019 00:00 — Releases Richard van der Hoff

Hi folks; today we are releasing Synapse 1.7.1.

This is a security release which fixes some problems which affected all previous versions of Synapse. We advise all admins whose servers are open to public federation to upgrade as soon as possible.

Full details follow, but the most important change improves event authorization, thereby preventing the ability to add certain events to a given room erroneously.

You can get the new release from github or any of the sources mentioned at https://github.com/matrix-org/synapse/blob/master/INSTALL.md.

The changelog since 1.7.0 follows:

Security updates

  • Fix a bug which could cause room events to be incorrectly authorized using events from a different room. (#6501, #6503, #6521, #6524, #6530, #6531)
  • Fix a bug causing responses to the /context client endpoint to not use the pruned version of the event. (#6553)
  • Fix a cause of state resets in room versions 2 onwards. (#6556, #6560)

Bugfixes

  • Fix a bug which could cause the federation server to incorrectly return errors when handling certain obscure event graphs. (#6526, #6527)

Synapse 1.7.0 released

13.12.2019 00:00 — Releases Neil Johnson

Hello people, it’s Synapse 1.7.0 time.

This release includes some long requested features, most notably the ability to automatically delete message data after a predefined period. For more details take a look at the config here ─ it should be pretty self explanatory.

Another significant change this release is to explicitly set room directories to be private by default. Previously it was possible to inadvertently configure the directory to be visible to arbitrary Matrix servers and the internet in general.

This means that for those admins who want their room directories to be publicly searchable (matrix.org for instance) they need to explicitly say so in the config. For more details see the upgrade notes and our blog post explaining the situation in greater detail.

We also have early support for ephemeral messages, as well as the ability to specify a reason when rejecting an invite (amongst other actions).

Aside from all of that, we want to let you know about some changes on the horizon. Currently Synapse runs Sqlite by default. This is great in that it gets new admins going quickly without needing to install and configure Postgres. The downside of using Sqlite is that it offers very poor performance, especially once a server tries to join the federation. In truth Sqlite is only really there to demonstrate the service, but for anything other than the most trivial cases it is essential to migrate to Postgres.

Over the past few months we’ve been working to improve the migration path to Postgres such that finally we feel confident to actively encourage admins to migrate. What’s more, in a future release we will forcibly prevent SQLite-backed servers federating unless the admin explicitly sets a config flag to show that they understand the trade-off they are making.

Overall we see these changes as something that will improve everyone’s experience of the matrix federation. We’ll talk more about this closer to the time, but please expect a change in the coming months and if you are running SQLite, consider this a nudge to get yourself migrated.

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.6.1 follows:

Synapse 1.7.0 (2019-12-13)

This release changes the default settings so that only local authenticated users can query the server's room directory. See the upgrade notes for details.

Support for SQLite versions before 3.11 is now deprecated. A future release will refuse to start if used with an SQLite version before 3.11.

Administrators are reminded that SQLite should not be used for production instances. Instructions for migrating to Postgres are available here. A future release of synapse will, by default, disable federation for servers using SQLite.

No significant changes since 1.7.0rc2.

Synapse 1.7.0rc2 (2019-12-11)

Bugfixes

  • Fix incorrect error message for invalid requests when setting user's avatar URL. (#6497)
  • Fix support for SQLite 3.7. (#6499)
  • Fix regression where sending email push would not work when using a pusher worker. (#6507, #6509)

Synapse 1.7.0rc1 (2019-12-09)

Features

  • Implement per-room message retention policies. (#5815, #6436)
  • Add etag and count fields to key backup endpoints to help clients guess if there are new keys. (#5858)
  • Add /admin/v2/users endpoint with pagination. Contributed by Awesome Technologies Innovationslabor GmbH. (#5925)
  • Require User-Interactive Authentication for /account/3pid/add, meaning the user's password will be required to add a third-party ID to their account. (#6119)
  • Implement the /_matrix/federation/unstable/net.atleastfornow/state/<context> API as drafted in MSC2314. (#6176)
  • Configure privacy-preserving settings by default for the room directory. (#6355)
  • Add ephemeral messages support by partially implementing MSC2228. (#6409)
  • Add support for MSC 2367, which allows specifying a reason on all membership events. (#6434)

Bugfixes

  • Transfer non-standard power levels on room upgrade. (#6237)
  • Fix error from the Pillow library when uploading RGBA images. (#6241)
  • Correctly apply the event filter to the state, events_before and events_after fields in the response to /context requests. (#6329)
  • Fix caching devices for remote users when using workers, so that we don't attempt to refetch (and potentially fail) each time a user requests devices. (#6332)
  • Prevent account data syncs getting lost across TCP replication. (#6333)
  • Fix bug: TypeError in register_user() while using LDAP auth module. (#6406)
  • Fix an intermittent exception when handling read-receipts. (#6408)
  • Fix broken guest registration when there are existing blocks of numeric user IDs. (#6420)
  • Fix startup error when http proxy is defined. (#6421)
  • Fix error when using synapse_port_db on a vanilla synapse db. (#6449)
  • Fix uploading multiple cross signing signatures for the same user. (#6451)
  • Fix bug which lead to exceptions being thrown in a loop when a cross-signed device is deleted. (#6462)
  • Fix synapse_port_db not exiting with a 0 code if something went wrong during the port process. (#6470)
  • Improve sanity-checking when receiving events over federation. (#6472)
  • Fix inaccurate per-block Prometheus metrics. (#6491)
  • Fix small performance regression for sending invites. (#6493)
  • Back out cross-signing code added in Synapse 1.5.0, which caused a performance regression. (#6494)

Improved Documentation

  • Update documentation and variables in user contributed systemd reference file. (#6369, #6490)
  • Fix link in the user directory documentation. (#6388)
  • Add build instructions to the docker readme. (#6390)
  • Switch Ubuntu package install recommendation to use python3 packages in INSTALL.md. (#6443)
  • Write some docs for the quarantine_media api. (#6458)
  • Convert CONTRIBUTING.rst to markdown (among other small fixes). (#6461)

Deprecations and Removals

  • Remove admin/v1/users_paginate endpoint. Contributed by Awesome Technologies Innovationslabor GmbH. (#5925)
  • Remove fallback for federation with old servers which lack the /federation/v1/state_ids API. (#6488)

Internal Changes

  • Add benchmarks for structured logging and improve output performance. (#6266)
  • Improve the performance of outputting structured logging. (#6322)
  • Refactor some code in the event authentication path for clarity. (#6343, #6468, #6480)
  • Clean up some unnecessary quotation marks around the codebase. (#6362)
  • Complain on startup instead of 500'ing during runtime when public_baseurl isn't set when necessary. (#6379)
  • Add a test scenario to make sure room history purges don't break /messages in the future. (#6392)
  • Clarifications for the email configuration settings. (#6423)
  • Add more tests to the blacklist when running in worker mode. (#6429)
  • Refactor data store layer to support multiple databases in the future. (#6454, #6464, #6469, #6487)
  • Port synapse.rest.client.v1 to async/await. (#6482)
  • Port synapse.rest.client.v2_alpha to async/await. (#6483)
  • Port SyncHandler to async/await. (#6484)

Synapse 1.6.0 released

26.11.2019 00:00 — Releases Neil Johnson

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 the devices 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 and public key to secret key and site key respectively. Contributed by Yash Jipkate. (#6257)
  • Update INSTALL.md Email section to talk about account_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 the scripts and scripts-dev directories. (#6270)
  • Replace every instance of logger.warn method with logger.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)

Client-server r0.6.0 and Identity Service r0.3.0 releases

08.11.2019 00:00 — Releases Travis Ralston

Hey all,

For the last several months the team has been working on tightening up privacy in Matrix, and with the 1.4 release of Synapse and Riot quite a lot has been done in the area. One of the remaining pieces was to release all the specification changes to help other client/server implementations achieve the same goals, and now we've done that.

The Client-Server r0.6.0 and Identity Service r0.3.0 spec releases both cover the privacy improvements added through a number of MSCs in the last few months. Of particular note is that identity servers are now expected to support terms of service endpoints, which requires authentication that clients might need to worry about - check the spec changelogs for details.

The full changelog for the Client-Server r0.6.0 release is:

  • Breaking Changes

    • Add id_access_token as a required request parameter to a few endpoints which require an id_server parameter as part of MSC2140. (#2255)
  • New Endpoints

    • Add POST /account/3pid/unbind for removing a 3PID from an identity server. (#2282)
  • Backwards Compatible Changes

    • Add M_USER_DEACTIVATED error code. (#2234)
    • Remove bind_msisdn and bind_email from /register now that the identity server's bind endpoint requires authentication. (#2279)
    • Add m.identity_server account data for tracking the user's preferred identity server. (#2281)
    • Deprecate id_server and make it optional in several places. (#2310)
  • Spec Clarifications

    • Add missing format fields to m.room.message$m.notice schema. (#2125)
    • Remove "required" designation from the url field of certain m.room.message msgtypes. (#2129)
    • Fix various typos throughout the specification. (#2131, #2136, #2148, #2215)
    • Clarify the distinction between m.key.verification.start and its m.sas.v1 variant. (#2132)
    • Fix link to Olm signing specification. (#2133)
    • Clarify the conditions for the .m.rule.room_one_to_one push rule. (#2152)
    • Clarify the encryption algorithms supported by the device of the device keys example. (#2157)
    • Clarify that /rooms/:roomId/event/:eventId returns a Matrix error. (#2204)
    • Add a missing state_key check on .m.rule.tombstone. (#2223)
    • Fix the m.room_key_request action value, setting it from cancel_request to request_cancellation. (#2247)
    • Clarify that the submit_url field is without authentication. (#2341)
    • Clarify the expected phone number format. (#2342)
    • Clarify that clients should consider not requesting URL previews in encrypted rooms. (#2343)
    • Add missing information on how filters are meant to work with /context. (#2344)
    • Clarify what the keys are for rooms in /sync. (#2345)

The full changelog for the Identity Service r0.3.0 release is:

  • New Endpoints

    • Add /account, /account/register, and /account/logout to authenticate with the identity server. (#2255)
    • Add endpoints for accepting and handling terms of service. (#2258)
    • Add /hash_details and a new /lookup endpoint for performing hashed association lookups. (#2287)
  • Backwards Compatible Changes

    • Deprecate the v1 API in favour of an authenticated v2 API. (#2254)

Synapse 1.5.0 released

29.10.2019 00:00 — Releases Neil Johnson

That's right folks Synapse 1.5.0 is here and ready to make your life just a little bit better.

First things first, this release includes a security fix (#6262, below). Administrators are encouraged to upgrade as soon as possible.

Aside from that, the main thing you'll notice in 1.5.0 is a massive performance improvement to the room directory, which means that servers with large directories to scan will return much more quickly. This is especially true for matrix.org but all servers will benefit.

Another key win is finally fixing some bugs in the sqlite -> postgres migrator script. Sqlite mode is there strictly for testing purposes and should never be used in a production setting let alone a federating homeserver. So if you are currently using Sqlite now is the time to migrate. What's more the script is now in CI so it can't easily break in the future (with apologies to anyone bitten by the old script...).

A final final point, we have some preparatory work for e2ee cross signing, the overall feature is not ready for release just yet but we are getting really close. Watch this space.

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.4.1 follows:

Synapse 1.5.0 (2019-10-29)

Security updates

This release includes a security fix (#6262, below). Administrators are encouraged to upgrade as soon as possible.

Bugfixes

  • Fix bug where room directory search was case sensitive. (#6268)

Synapse 1.5.0rc2 (2019-10-28)

Bugfixes

  • Update list of boolean columns in synapse_port_db. (#6247)
  • Fix /keys/query API on workers. (#6256)
  • Improve signature checking on some federation APIs. (#6262)

Internal Changes

  • Move schema delta files to the correct data store. (#6248)
  • Small performance improvement by removing repeated config lookups in room stats calculation. (#6255)

Synapse 1.5.0rc1 (2019-10-24)

Features

  • Improve quality of thumbnails for 1-bit/8-bit color palette images. (#2142)
  • Add ability to upload cross-signing signatures. (#5726)
  • Allow uploading of cross-signing keys. (#5769)
  • CAS login now provides a default display name for users if a displayname_attribute is set in the configuration file. (#6114)
  • Reject all pending invites for a user during deactivation. (#6125)
  • Add config option to suppress client side resource limit alerting. (#6173)

Bugfixes

  • Return an HTTP 404 instead of 400 when requesting a filter by ID that is unknown to the server. Thanks to @krombel for contributing this! (#2380)
  • Fix a bug where users could be invited twice to the same group. (#3436)
  • Fix /createRoom failing with badly-formatted MXIDs in the invitee list. Thanks to @wener291! (#4088)
  • Make the synapse_port_db script create the right indexes on a new PostgreSQL database. (#6102, #6178, #6243)
  • Fix bug when uploading a large file: Synapse responds with M_UNKNOWN while it should be M_TOO_LARGE according to spec. Contributed by Anshul Angaria. (#6109)
  • Fix user push rules being deleted from a room when it is upgraded. (#6144)
  • Don't 500 when trying to exchange a revoked 3PID invite. (#6147)
  • Fix transferring notifications and tags when joining an upgraded room that is new to your server. (#6155)
  • Fix bug where guest account registration can wedge after restart. (#6161)
  • Fix monthly active user reaping when reserved users are specified. (#6168)
  • Fix /federation/v1/state endpoint not supporting newer room versions. (#6170)
  • Fix bug where we were updating censored events as bytes rather than text, occasionally causing invalid JSON being inserted breaking APIs that attempted to fetch such events. (#6186)
  • Fix occasional missed updates in the room and user directories. (#6187)
  • Fix tracing of non-JSON APIs, /media, /key etc. (#6195)
  • Fix bug where presence would not get timed out correctly if a synchrotron worker is used and restarted. (#6212)
  • synapse_port_db: Add 2 additional BOOLEAN_COLUMNS to be able to convert from database schema v56. (#6216)
  • Fix a bug where the Synapse demo script blacklisted ::1 (ipv6 localhost) from receiving federation traffic. (#6229)

Updates to the Docker image

  • Fix logging getting lost for the docker image. (#6197)

Internal Changes

  • Update user_filters table to have a unique index, and non-null columns. Thanks to @pik for contributing this. (#1172, #6175, #6184)
  • Allow devices to be marked as hidden, for use by features such as cross-signing. This adds a new field with a default value to the devices field in the database, and so the database upgrade may take a long time depending on how many devices are in the database. (#5759)
  • Move lookup-related functions from RoomMemberHandler to IdentityHandler. (#5978)
  • Improve performance of the public room list directory. (#6019, #6152, #6153, #6154)
  • Edit header dicts docstrings in SimpleHttpClient to note that str or bytes can be passed as header keys. (#6077)
  • Add snapcraft packaging information. Contributed by @devec0. (#6084, #6191)
  • Kill off half-implemented password-reset via sms. (#6101)
  • Remove get_user_by_req opentracing span and add some tags. (#6108)
  • Drop some unused database tables. (#6115)
  • Add env var to turn on tracking of log context changes. (#6127)
  • Refactor configuration loading to allow better typechecking. (#6137)
  • Log responder when responding to media request. (#6139)
  • Improve performance of find_next_generated_user_id DB query. (#6148)
  • Expand type-checking on modules imported by synapse.config. (#6150)
  • Use Postgres ANY for selecting many values. (#6156)
  • Add more caching to _get_joined_users_from_context DB query. (#6159)
  • Add some metrics on the federation sender. (#6160)
  • Add some logging to the rooms stats updates, to try to track down a flaky test. (#6167)
  • Remove unused timeout parameter from _get_public_room_list. (#6179)
  • Reject (accidental) attempts to insert bytes into postgres tables. (#6186)
  • Make version optional in body of PUT /room_keys/version/{version}, since it's redundant. (#6189)
  • Make storage layer responsible for adding device names to key, rather than the handler. (#6193)
  • Port synapse.rest.admin module to use async/await. (#6196)
  • Enforce that all boolean configuration values are lowercase in CI. (#6203)
  • Remove some unused event-auth code. (#6214)
  • Remove Auth.check method. (#6217)
  • Remove format_tap.py script in favour of a perl reimplementation in Sytest's repo. (#6219)
  • Refactor storage layer in preparation to support having multiple databases. (#6231)
  • Remove some extra quotation marks across the codebase. (#6236)