./chat/matrix-synapse, Reference homeserver for the Matrix decentralised comms protocol

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 1.21.2nb1, Package name: matrix-synapse-1.21.2nb1, Maintainer: js

Synapse is a reference "homeserver" implementation of Matrix from the core
development team at matrix.org, written in Python/Twisted. It is intended to
showcase the concept of Matrix and let folks see the spec in the context of a
codebase and let you run your own homeserver and generally help bootstrap the

Master sites:

SHA1: ff7321bec10acf5f59534535f077fdc88601e3f7
RMD160: d1a479ab67c748e14f04f3834db2ff27b88ef5fb
Filesize: 6767.764 KB

Version history: (Expand)

CVS history: (Expand)

   2020-10-17 15:57:50 by Jonathan Schleifer | Files touched by this commit (1) | Package updated
Log message:
chat/matrix-synapse: Update dependencies

I missed that some dependencies now are required in a newer version.
   2020-10-17 13:42:35 by Jonathan Schleifer | Files touched by this commit (3) | Package updated
Log message:
Update chat/matrix-synapse to 1.21.2

Synapse 1.21.2 (2020-10-15)

Debian packages and Docker images have been rebuilt using the latest versions of \ 
dependency libraries, including authlib 0.15.1. Please see bugfixes below.

Security advisory

* HTML pages served via Synapse were vulnerable to cross-site scripting (XSS)
  attacks. All server administrators are encouraged to upgrade.
  ([CVE-2020-26891](https://cve.mitre.org/cgi-bin/cvename.c … 2020-26891))

  This fix was originally included in v1.21.0 but was missing a security advisory.

  This was reported by [Denis Kasak](https://github.com/dkasak).


- Fix rare bug where sending an event would fail due to a racey assertion. \ 
- An updated version of the authlib dependency is included in the Docker and \ 
Debian images to fix an issue using OpenID Connect. See \ 
[\#8534](https://github.com/matrix-org/synapse/issues/8534) for details.

Synapse 1.21.1 (2020-10-13)

This release fixes a regression in v1.21.0 that prevented debian packages from \ 
being built.
It is otherwise identical to v1.21.0.

Synapse 1.21.0 (2020-10-12)

No significant changes since v1.21.0rc3.

As [noted in
v1.20.0](https://github.com/matrix-org/synapse/b … 2020-09-22),
a future release will drop support for accessing Synapse's
[Admin API](https://github.com/matrix-org/synapse/t … /admin_api) \ 
under the
`/_matrix/client/*` endpoint prefixes. At that point, the Admin API will only
be accessible under `/_synapse/admin`.

Synapse 1.21.0rc3 (2020-10-08)


- Fix duplication of events on high traffic servers, caused by PostgreSQL `could \ 
not serialize access due to concurrent update` errors. \ 

Internal Changes

- Add Groovy Gorilla to the list of distributions we build `.deb`s for. \ 

Synapse 1.21.0rc2 (2020-10-02)


- Convert additional templates from inline HTML to Jinja2 templates. \ 


- Fix a regression in v1.21.0rc1 which broke thumbnails of remote media. \ 
- Do not expose the experimental \ 
`uk.half-shot.msc2778.login.application_service` flow in the login API, which \ 
caused a compatibility problem with Element iOS. \ 
- Fix malformed log line in new federation "catch up" logic. \ 
- Fix DB query on startup for negative streams which caused long start up times. \ 
Introduced in [\#8374](https://github.com/matrix-org/synapse/issues/8374). \ 

Synapse 1.21.0rc1 (2020-10-01)


- Require the user to confirm that their password should be reset after clicking \ 
the email confirmation link. \ 
- Add an admin API `GET /_synapse/admin/v1/event_reports` to read entries of \ 
table `event_reports`. Contributed by @dklimpel. \ 
- Consolidate the SSO error template across all configuration. \ 
([\#8248](https://github.com/matrix-org/synapse/issues/8248), \ 
- Add a configuration option to specify a whitelist of domains that a user can \ 
be redirected to after validating their email or phone number. \ 
([\#8275](https://github.com/matrix-org/synapse/issues/8275), \ 
- Add experimental support for sharding event persister. \ 
([\#8294](https://github.com/matrix-org/synapse/issues/8294), \ 
[\#8387](https://github.com/matrix-org/synapse/issues/8387), \ 
[\#8396](https://github.com/matrix-org/synapse/issues/8396), \ 
- Add the room topic and avatar to the room details admin API. \ 
- Add an admin API for querying rooms where a user is a member. Contributed by \ 
@dklimpel. ([\#8306](https://github.com/matrix-org/synapse/issues/8306))
- Add `uk.half-shot.msc2778.login.application_service` login type to allow \ 
appservices to login. \ 
- Add a configuration option that allows existing users to log in with OpenID \ 
Connect. Contributed by @BBBSnowball and @OmmyZhang. \ 
- Add prometheus metrics for replication requests. \ 
- Support passing additional single sign-on parameters to the client. \ 
- Add experimental reporting of metrics on expensive rooms for state-resolution. \ 
- Add experimental prometheus metric to track numbers of "large" rooms \ 
for state resolutiom. \ 
- Add prometheus metrics to track federation delays. \ 


- Fix a bug in the media repository where remote thumbnails with the same size \ 
but different crop methods would overwrite each other. Contributed by \ 
@deepbluev7. ([\#7124](https://github.com/matrix-org/synapse/issues/7124))
- Fix inconsistent handling of non-existent push rules, and stop tracking the \ 
`enabled` state of removed push rules. \ 
- Fix a longstanding bug when storing a media file with an empty `upload_name`. \ 
- Fix messages not being sent over federation until an event is sent into the \ 
same room. ([\#8230](https://github.com/matrix-org/synapse/issues/8230), \ 
[\#8247](https://github.com/matrix-org/synapse/issues/8247), \ 
[\#8258](https://github.com/matrix-org/synapse/issues/8258), \ 
[\#8272](https://github.com/matrix-org/synapse/issues/8272), \ 
- Fix a longstanding bug where files that could not be thumbnailed would result \ 
in an Internal Server Error. \ 
([\#8236](https://github.com/matrix-org/synapse/issues/8236), \ 
- Upgrade minimum version of `canonicaljson` to version 1.4.0, to fix an unicode \ 
encoding issue. ([\#8262](https://github.com/matrix-org/synapse/issues/8262))
- Fix longstanding bug which could lead to incomplete database upgrades on \ 
SQLite. ([\#8265](https://github.com/matrix-org/synapse/issues/8265))
- Fix stack overflow when stderr is redirected to the logging system, and the \ 
logging system encounters an error. \ 
- Fix a bug which cause the logging system to report errors, if `DEBUG` was \ 
enabled and no `context` filter was applied. \ 
- Fix edge case where push could get delayed for a user until a later event was \ 
pushed. ([\#8287](https://github.com/matrix-org/synapse/issues/8287))
- Fix fetching malformed events from remote servers. \ 
- Fix `UnboundLocalError` from occuring when appservices send a malformed \ 
register request. ([\#8329](https://github.com/matrix-org/synapse/issues/8329))
- Don't send push notifications to expired user accounts. \ 
- Fix a regression in v1.19.0 with reactivating users through the admin API. \ 
- Fix a bug where during device registration the length of the device name \ 
wasn't limited. ([\#8364](https://github.com/matrix-org/synapse/issues/8364))
- Include `guest_access` in the fields that are checked for null bytes when \ 
updating `room_stats_state`. Broke in v1.7.2. \ 
- Fix theoretical race condition where events are not sent down `/sync` if the \ 
synchrotron worker is restarted without restarting other workers. \ 
- Fix a bug which could cause errors in rooms with malformed membership events, \ 
on servers using sqlite. \ 
- Fix "Re-starting finished log context" warning when receiving an \ 
event we already had over federation. \ 
- Fix incorrect handling of timeouts on outgoing HTTP requests. \ 
- Fix a regression in v1.20.0 in the `synapse_port_db` script regarding the \ 
`ui_auth_sessions_ips` table. \ 
- Remove unnecessary 3PID registration check when resetting password via an \ 
email address. Bug introduced in v0.34.0rc2. \ 

Improved Documentation

- Add `/_synapse/client` to the reverse proxy documentation. \ 
- Add note to the reverse proxy settings documentation about disabling Apache's \ 
mod_security2. Contributed by Julian Fietkau (@jfietkau). \ 
- Improve description of `server_name` config option in `homserver.yaml`. \ 

Deprecations and Removals

- Drop support for `prometheus_client` older than 0.4.0. \ 

Internal Changes

- Fix tests on distros which disable TLSv1.0. Contributed by @danc86. \ 
- Simplify the distributor code to avoid unnecessary work. \ 
- Remove the `populate_stats_process_rooms_2` background job and restore \ 
functionality to `populate_stats_process_rooms`. \ 
- Clean up type hints for `PaginationConfig`. \ 
([\#8250](https://github.com/matrix-org/synapse/issues/8250), \ 
- Track the latest event for every destination and room for catch-up after \ 
federation outage. ([\#8256](https://github.com/matrix-org/synapse/issues/8256))
- Fix non-user visible bug in implementation of \ 
`MultiWriterIdGenerator.get_current_token_for_writer`. \ 
- Switch to the JSON implementation from the standard library. \ 
- Add type hints to `synapse.util.async_helpers`. \ 
- Simplify tests that mock asynchronous functions. \ 
- Add type hints to `StreamToken` and `RoomStreamToken` classes. \ 
- Change `StreamToken.room_key` to be a `RoomStreamToken` instance. \ 
- Refactor notifier code to correctly use the max event stream position. \ 
- Use slotted classes where possible. \ 
- Support testing the local Synapse checkout against the [Complement homeserver \ 
test suite](https://github.com/matrix-org/complement/). \ 
- Update outdated usages of `metaclass` to python 3 syntax. \ 
- Move lint-related dependencies to package-extra field, update CONTRIBUTING.md \ 
to utilise this. ([\#8330](https://github.com/matrix-org/synapse/issues/8330), \ 
- Use the `admin_patterns` helper in additional locations. \ 
- Fix test logging to allow braces in log output. \ 
- Remove `__future__` imports related to Python 2 compatibility. \ 
- Simplify `super()` calls to Python 3 syntax. \ 
- Fix bad merge from `release-v1.20.0` branch to `develop`. \ 
- Factor out a `_send_dummy_event_for_room` method. \ 
- Improve logging of state resolution. \ 
- Add type annotations to `SimpleHttpClient`. \ 
- Refactor ID generators to use `async with` syntax. \ 
- Add `EventStreamPosition` type. \ 
- Create a mechanism for marking tests "logcontext clean". \ 
- A pair of tiny cleanups in the federation request code. \ 
- Add checks on startup that PostgreSQL sequences are consistent with their \ 
associated tables. ([\#8402](https://github.com/matrix-org/synapse/issues/8402))
- Do not include appservice users when calculating the total MAU for a server. \ 
- Typing fixes for `synapse.handlers.federation`. \ 
- Various refactors to simplify stream token handling. \ 
- Make stream token serializing/deserializing async. \ 
   2020-09-26 02:23:29 by Jonathan Schleifer | Files touched by this commit (2) | Package updated
Log message:
matrix-synapse: Update to 1.20.1

OK from gdt@ to update despite freeze.

Synapse 1.20.1 (2020-09-24)


    Fix a bug introduced in v1.20.0 which caused the synapse_port_db script to \ 
fail. (#8386)
    Fix a bug introduced in v1.20.0 which caused variables to be incorrectly \ 
escaped in Jinja2 templates. (#8394)
   2020-09-22 23:21:51 by Jonathan Schleifer | Files touched by this commit (3) | Package updated
Log message:
Update chat/matrix-synapse to 1.20.0

Synapse 1.20.0 (2020-09-22)

No significant changes since v1.20.0rc5.

Removal warning

Historically, the [Synapse Admin
API](https://github.com/matrix-org/synapse/tree/master/docs) has been
accessible under the `/_matrix/client/api/v1/admin`,
`/_matrix/client/unstable/admin`, `/_matrix/client/r0/admin` and
`/_synapse/admin` prefixes. In a future release, we will be dropping support
for accessing Synapse's Admin API using the `/_matrix/client/*` prefixes. This
makes it easier for homeserver admins to lock down external access to the Admin
API endpoints.

Synapse 1.20.0rc5 (2020-09-18)

In addition to the below, Synapse 1.20.0rc5 also includes the bug fix that was \ 
included in 1.19.3.


- Add flags to the `/versions` endpoint for whether new rooms default to using \ 
E2EE. ([\#8343](https://github.com/matrix-org/synapse/issues/8343))


- Fix rate limiting of federation `/send` requests. \ 
- Fix a longstanding bug where back pagination over federation could get stuck \ 
if it failed to handle a received event. \ 

Internal Changes

- Blacklist [MSC2753](https://github.com/matrix-org/matrix-doc/pull/2753) \ 
SyTests until it is implemented. \ 

Synapse 1.20.0rc4 (2020-09-16)

Synapse 1.20.0rc4 is identical to 1.20.0rc3, with the addition of the security \ 
fix that was included in 1.19.2.

Synapse 1.20.0rc3 (2020-09-11)


- Fix a bug introduced in v1.20.0rc1 where the wrong exception was raised when \ 
invalid JSON data is encountered. \ 

Synapse 1.20.0rc2 (2020-09-09)


- Fix a bug introduced in v1.20.0rc1 causing some features related to \ 
notifications to misbehave following the implementation of unread counts. \ 

Synapse 1.20.0rc1 (2020-09-08)

Removal warning

Some older clients used a [disallowed \ 
character](https://matrix.org/docs/spec/client_ser … questtoken) \ 
(`:`) in the `client_secret` parameter of various endpoints. The incorrect \ 
behaviour was allowed for backwards compatibility, but is now being removed from \ 
Synapse as most users have updated their client. Further context can be found at \ 


- Add an endpoint to query your shared rooms with another user as an \ 
implementation of [MSC2666](https://github.com/matrix-org/matrix-doc/pull/2666). \ 
- Iteratively encode JSON to avoid blocking the reactor. \ 
([\#8013](https://github.com/matrix-org/synapse/issues/8013), \ 
- Add support for shadow-banning users (ignoring any message send requests). \ 
([\#8034](https://github.com/matrix-org/synapse/issues/8034), \ 
[\#8092](https://github.com/matrix-org/synapse/issues/8092), \ 
[\#8095](https://github.com/matrix-org/synapse/issues/8095), \ 
[\#8142](https://github.com/matrix-org/synapse/issues/8142), \ 
[\#8152](https://github.com/matrix-org/synapse/issues/8152), \ 
[\#8157](https://github.com/matrix-org/synapse/issues/8157), \ 
[\#8158](https://github.com/matrix-org/synapse/issues/8158), \ 
- Use the default template file when its equivalent is not found in a custom \ 
template directory. \ 
([\#8037](https://github.com/matrix-org/synapse/issues/8037), \ 
[\#8107](https://github.com/matrix-org/synapse/issues/8107), \ 
- Add unread messages count to sync responses, as specified in \ 
[MSC2654](https://github.com/matrix-org/matrix-doc/pull/2654). \ 
([\#8059](https://github.com/matrix-org/synapse/issues/8059), \ 
[\#8254](https://github.com/matrix-org/synapse/issues/8254), \ 
[\#8270](https://github.com/matrix-org/synapse/issues/8270), \ 
- Optimise `/federation/v1/user/devices/` API by only returning devices with \ 
encryption keys. ([\#8198](https://github.com/matrix-org/synapse/issues/8198))


- Fix a memory leak by limiting the length of time that messages will be queued \ 
for a remote server that has been unreachable. \ 
- Fix `Re-starting finished log context PUT-nnnn` warning when event persistence \ 
failed. ([\#8081](https://github.com/matrix-org/synapse/issues/8081))
- Synapse now correctly enforces the valid characters in the `client_secret` \ 
parameter used in various endpoints. \ 
- Fix a bug introduced in v1.7.2 impacting message retention policies that would \ 
allow federated homeservers to dictate a retention period that's lower than the \ 
configured minimum allowed duration in the configuration file. \ 
- Fix a long-standing bug where invalid JSON would be accepted by Synapse. \ 
- Fix a bug introduced in Synapse v1.12.0 which could cause `/sync` requests to \ 
fail with a 404 if you had a very old outstanding room invite. \ 
- Return a proper error code when the rooms of an invalid group are requested. \ 
- Fix a bug which could cause a leaked postgres connection if synapse was set to \ 
daemonize. ([\#8131](https://github.com/matrix-org/synapse/issues/8131))
- Clarify the error code if a user tries to register with a numeric ID. This bug \ 
was introduced in v1.15.0. \ 
- Fix a bug where appservices with ratelimiting disabled would still be \ 
ratelimited when joining rooms. This bug was introduced in v1.19.0. \ 
- Fix logging in via OpenID Connect with a provider that uses integer user IDs. \ 
- Fix a longstanding bug where user directory updates could break when \ 
unexpected profile data was included in events. \ 
- Fix a longstanding bug where stats updates could break when unexpected profile \ 
data was included in events. \ 
- Fix slow start times for large servers by removing a table scan of the `users` \ 
table from startup code. \ 

Updates to the Docker image

- Fix builds of the Docker image on non-x86 platforms. \ 
- Added curl for healthcheck support and readme updates for the change. \ 
Contributed by @maquis196. \ 

Improved Documentation

- Link to matrix-synapse-rest-password-provider in the password provider \ 
documentation. ([\#8111](https://github.com/matrix-org/synapse/issues/8111))
- Updated documentation to note that Synapse does not follow `HTTP 308` \ 
redirects due to an upstream library not supporting them. Contributed by Ryan \ 
Cole. ([\#8120](https://github.com/matrix-org/synapse/issues/8120))
- Explain better what GDPR-erased means when deactivating a user. \ 

Internal Changes

- Add filter `name` to the `/users` admin API, which filters by user ID or \ 
displayname. Contributed by Awesome Technologies Innovationslabor GmbH. \ 
([\#7377](https://github.com/matrix-org/synapse/issues/7377), \ 
- Reduce run times of some unit tests by advancing the reactor a fewer number of \ 
times. ([\#7757](https://github.com/matrix-org/synapse/issues/7757))
- Don't fail `/submit_token` requests on incorrect session ID if \ 
`request_token_inhibit_3pid_errors` is turned on. \ 
- Convert various parts of the codebase to async/await. \ 
([\#8071](https://github.com/matrix-org/synapse/issues/8071), \ 
[\#8072](https://github.com/matrix-org/synapse/issues/8072), \ 
[\#8074](https://github.com/matrix-org/synapse/issues/8074), \ 
[\#8075](https://github.com/matrix-org/synapse/issues/8075), \ 
[\#8076](https://github.com/matrix-org/synapse/issues/8076), \ 
[\#8087](https://github.com/matrix-org/synapse/issues/8087), \ 
[\#8100](https://github.com/matrix-org/synapse/issues/8100), \ 
[\#8119](https://github.com/matrix-org/synapse/issues/8119), \ 
[\#8121](https://github.com/matrix-org/synapse/issues/8121), \ 
[\#8133](https://github.com/matrix-org/synapse/issues/8133), \ 
[\#8156](https://github.com/matrix-org/synapse/issues/8156), \ 
[\#8162](https://github.com/matrix-org/synapse/issues/8162), \ 
[\#8166](https://github.com/matrix-org/synapse/issues/8166), \ 
[\#8168](https://github.com/matrix-org/synapse/issues/8168), \ 
[\#8173](https://github.com/matrix-org/synapse/issues/8173), [\#8191](https://g
ithub.com/matrix-org/synapse/issues/8191), \ 
[\#8192](https://github.com/matrix-org/synapse/issues/8192), \ 
[\#8193](https://github.com/matrix-org/synapse/issues/8193), \ 
[\#8194](https://github.com/matrix-org/synapse/issues/8194), \ 
[\#8195](https://github.com/matrix-org/synapse/issues/8195), \ 
[\#8197](https://github.com/matrix-org/synapse/issues/8197), \ 
[\#8199](https://github.com/matrix-org/synapse/issues/8199), \ 
[\#8200](https://github.com/matrix-org/synapse/issues/8200), \ 
[\#8201](https://github.com/matrix-org/synapse/issues/8201), \ 
[\#8202](https://github.com/matrix-org/synapse/issues/8202), \ 
[\#8207](https://github.com/matrix-org/synapse/issues/8207), \ 
[\#8213](https://github.com/matrix-org/synapse/issues/8213), \ 
- Remove some unused database functions. \ 
- Add type hints to various parts of the codebase. \ 
([\#8090](https://github.com/matrix-org/synapse/issues/8090), \ 
[\#8127](https://github.com/matrix-org/synapse/issues/8127), \ 
[\#8187](https://github.com/matrix-org/synapse/issues/8187), \ 
[\#8241](https://github.com/matrix-org/synapse/issues/8241), \ 
[\#8140](https://github.com/matrix-org/synapse/issues/8140), \ 
[\#8183](https://github.com/matrix-org/synapse/issues/8183), \ 
[\#8232](https://github.com/matrix-org/synapse/issues/8232), \ 
[\#8235](https://github.com/matrix-org/synapse/issues/8235), \ 
[\#8237](https://github.com/matrix-org/synapse/issues/8237), \ 
- Return the previous stream token if a non-member event is a duplicate. \ 
([\#8093](https://github.com/matrix-org/synapse/issues/8093), \ 
- Separate `get_current_token` into two since there are two different use cases \ 
for it. ([\#8113](https://github.com/matrix-org/synapse/issues/8113))
- Remove `ChainedIdGenerator`. \ 
- Reduce the amount of whitespace in JSON stored and sent in responses. \ 
- Update the test federation client to handle streaming responses. \ 
- Micro-optimisations to `get_auth_chain_ids`. \ 
- Refactor `StreamIdGenerator` and `MultiWriterIdGenerator` to have the same \ 
interface. ([\#8161](https://github.com/matrix-org/synapse/issues/8161))
- Add functions to `MultiWriterIdGen` used by events stream. \ 
([\#8164](https://github.com/matrix-org/synapse/issues/8164), \ 
- Fix tests that were broken due to the merge of 1.19.1. \ 
- Make `SlavedIdTracker.advance` have the same interface as \ 
`MultiWriterIDGenerator`. \ 
- Remove unused `is_guest` parameter from, and add safeguard to, \ 
`MessageHandler.get_room_data`. \ 
([\#8174](https://github.com/matrix-org/synapse/issues/8174), \ 
- Standardize the mypy configuration. \ 
- Refactor some of `LoginRestServlet`'s helper methods, and move them to \ 
`AuthHandler` for easier reuse. \ 
- Fix `wait_for_stream_position` to allow multiple waiters on same stream ID. \ 
- Make `MultiWriterIDGenerator` work for streams that use negative values. \ 
- Refactor queries for device keys and cross-signatures. \ 
([\#8204](https://github.com/matrix-org/synapse/issues/8204), \ 
[\#8205](https://github.com/matrix-org/synapse/issues/8205), \ 
[\#8222](https://github.com/matrix-org/synapse/issues/8222), \ 
[\#8224](https://github.com/matrix-org/synapse/issues/8224), \ 
[\#8225](https://github.com/matrix-org/synapse/issues/8225), \ 
[\#8231](https://github.com/matrix-org/synapse/issues/8231), \ 
[\#8233](https://github.com/matrix-org/synapse/issues/8233), \ 
- Fix type hints for functions decorated with `@cached`. \ 
- Remove obsolete `order` field from federation send queues. \ 
- Stop sub-classing from object. \ 
- Add more logging to debug slow startup. \ 
- Do not attempt to upgrade database schema on worker processes. \ 
([\#8266](https://github.com/matrix-org/synapse/issues/8266), \ 
   2020-09-19 01:18:39 by Jonathan Schleifer | Files touched by this commit (2) | Package updated
Log message:
Update chat/matrix-synapse to 1.19.3

Change log:
Partially mitigate bug where newly joined servers couldn't get past events in a
room when there is a malformed event. (#8350)
   2020-09-17 00:14:58 by Jonathan Schleifer | Files touched by this commit (2) | Package updated
Log message:
Update matrix-synapse to 1.19.2

Fix joining rooms over federation that include malformed events.
   2020-09-10 23:57:27 by Jonathan Schleifer | Files touched by this commit (1)
Log message:
chat/matrix-synapse: Add missing dependency for url_preview
   2020-09-04 23:18:37 by Jonathan Schleifer | Files touched by this commit (1) | Package updated
Log message:
chat/matrix-synapse: Bump PKGREVISION