|
| 1 | +Synapse 1.12.0 (2020-03-23) |
| 2 | +=========================== |
| 3 | + |
| 4 | +No significant changes since 1.12.0rc1. |
| 5 | + |
| 6 | +Debian packages and Docker images are rebuilt using the latest versions of |
| 7 | +dependency libraries, including Twisted 20.3.0. **Please see security advisory |
| 8 | +below**. |
| 9 | + |
| 10 | +Security advisory |
| 11 | +----------------- |
| 12 | + |
| 13 | +Synapse may be vulnerable to request-smuggling attacks when it is used with a |
| 14 | +reverse-proxy. The vulnerabilties are fixed in Twisted 20.3.0, and are |
| 15 | +described in |
| 16 | +[CVE-2020-10108](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10108) |
| 17 | +and |
| 18 | +[CVE-2020-10109](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10109). |
| 19 | +For a good introduction to this class of request-smuggling attacks, see |
| 20 | +https://portswigger.net/research/http-desync-attacks-request-smuggling-reborn. |
| 21 | + |
| 22 | +We are not aware of these vulnerabilities being exploited in the wild, and |
| 23 | +do not believe that they are exploitable with current versions of any reverse |
| 24 | +proxies. Nevertheless, we recommend that all Synapse administrators ensure that |
| 25 | +they have the latest versions of the Twisted library to ensure that their |
| 26 | +installation remains secure. |
| 27 | + |
| 28 | +* Administrators using the [`matrix.org` Docker |
| 29 | + image](https://hub.docker.com/r/matrixdotorg/synapse/) or the [Debian/Ubuntu |
| 30 | + packages from |
| 31 | + `matrix.org`](https://github.com/matrix-org/synapse/blob/master/INSTALL.md#matrixorg-packages) |
| 32 | + should ensure that they have version 1.12.0 installed: these images include |
| 33 | + Twisted 20.3.0. |
| 34 | +* Administrators who have [installed Synapse from |
| 35 | + source](https://github.com/matrix-org/synapse/blob/master/INSTALL.md#installing-from-source) |
| 36 | + should upgrade Twisted within their virtualenv by running: |
| 37 | + ```sh |
| 38 | + <path_to_virtualenv>/bin/pip install 'Twisted>=20.3.0' |
| 39 | + ``` |
| 40 | +* Administrators who have installed Synapse from distribution packages should |
| 41 | + consult the information from their distributions. |
| 42 | + |
| 43 | +The `matrix.org` Synapse instance was not vulnerable to these vulnerabilities. |
| 44 | + |
| 45 | +Advance notice of change to the default `git` branch for Synapse |
| 46 | +---------------------------------------------------------------- |
| 47 | + |
| 48 | +Currently, the default `git` branch for Synapse is `master`, which tracks the |
| 49 | +latest release. |
| 50 | + |
| 51 | +After the release of Synapse 1.13.0, we intend to change this default to |
| 52 | +`develop`, which is the development tip. This is more consistent with common |
| 53 | +practice and modern `git` usage. |
| 54 | + |
| 55 | +Although we try to keep `develop` in a stable state, there may be occasions |
| 56 | +where regressions creep in. Developers and distributors who have scripts which |
| 57 | +run builds using the default branch of `Synapse` should therefore consider |
| 58 | +pinning their scripts to `master`. |
| 59 | + |
| 60 | + |
| 61 | +Synapse 1.12.0rc1 (2020-03-19) |
| 62 | +============================== |
| 63 | + |
| 64 | +Features |
| 65 | +-------- |
| 66 | + |
| 67 | +- Changes related to room alias management ([MSC2432](https://github.com/matrix-org/matrix-doc/pull/2432)): |
| 68 | + - Publishing/removing a room from the room directory now requires the user to have a power level capable of modifying the canonical alias, instead of the room aliases. ([\#6965](https://github.com/matrix-org/synapse/issues/6965)) |
| 69 | + - Validate the `alt_aliases` property of canonical alias events. ([\#6971](https://github.com/matrix-org/synapse/issues/6971)) |
| 70 | + - Users with a power level sufficient to modify the canonical alias of a room can now delete room aliases. ([\#6986](https://github.com/matrix-org/synapse/issues/6986)) |
| 71 | + - Implement updated authorization rules and redaction rules for aliases events, from [MSC2261](https://github.com/matrix-org/matrix-doc/pull/2261) and [MSC2432](https://github.com/matrix-org/matrix-doc/pull/2432). ([\#7037](https://github.com/matrix-org/synapse/issues/7037)) |
| 72 | + - Stop sending m.room.aliases events during room creation and upgrade. ([\#6941](https://github.com/matrix-org/synapse/issues/6941)) |
| 73 | + - Synapse no longer uses room alias events to calculate room names for push notifications. ([\#6966](https://github.com/matrix-org/synapse/issues/6966)) |
| 74 | + - The room list endpoint no longer returns a list of aliases. ([\#6970](https://github.com/matrix-org/synapse/issues/6970)) |
| 75 | + - Remove special handling of aliases events from [MSC2260](https://github.com/matrix-org/matrix-doc/pull/2260) added in v1.10.0rc1. ([\#7034](https://github.com/matrix-org/synapse/issues/7034)) |
| 76 | +- Expose the `synctl`, `hash_password` and `generate_config` commands in the snapcraft package. Contributed by @devec0. ([\#6315](https://github.com/matrix-org/synapse/issues/6315)) |
| 77 | +- Check that server_name is correctly set before running database updates. ([\#6982](https://github.com/matrix-org/synapse/issues/6982)) |
| 78 | +- Break down monthly active users by `appservice_id` and emit via Prometheus. ([\#7030](https://github.com/matrix-org/synapse/issues/7030)) |
| 79 | +- Render a configurable and comprehensible error page if something goes wrong during the SAML2 authentication process. ([\#7058](https://github.com/matrix-org/synapse/issues/7058), [\#7067](https://github.com/matrix-org/synapse/issues/7067)) |
| 80 | +- Add an optional parameter to control whether other sessions are logged out when a user's password is modified. ([\#7085](https://github.com/matrix-org/synapse/issues/7085)) |
| 81 | +- Add prometheus metrics for the number of active pushers. ([\#7103](https://github.com/matrix-org/synapse/issues/7103), [\#7106](https://github.com/matrix-org/synapse/issues/7106)) |
| 82 | +- Improve performance when making HTTPS requests to sygnal, sydent, etc, by sharing the SSL context object between connections. ([\#7094](https://github.com/matrix-org/synapse/issues/7094)) |
| 83 | + |
| 84 | + |
| 85 | +Bugfixes |
| 86 | +-------- |
| 87 | + |
| 88 | +- When a user's profile is updated via the admin API, also generate a displayname/avatar update for that user in each room. ([\#6572](https://github.com/matrix-org/synapse/issues/6572)) |
| 89 | +- Fix a couple of bugs in email configuration handling. ([\#6962](https://github.com/matrix-org/synapse/issues/6962)) |
| 90 | +- Fix an issue affecting worker-based deployments where replication would stop working, necessitating a full restart, after joining a large room. ([\#6967](https://github.com/matrix-org/synapse/issues/6967)) |
| 91 | +- Fix `duplicate key` error which was logged when rejoining a room over federation. ([\#6968](https://github.com/matrix-org/synapse/issues/6968)) |
| 92 | +- Prevent user from setting 'deactivated' to anything other than a bool on the v2 PUT /users Admin API. ([\#6990](https://github.com/matrix-org/synapse/issues/6990)) |
| 93 | +- Fix py35-old CI by using native tox package. ([\#7018](https://github.com/matrix-org/synapse/issues/7018)) |
| 94 | +- Fix a bug causing `org.matrix.dummy_event` to be included in responses from `/sync`. ([\#7035](https://github.com/matrix-org/synapse/issues/7035)) |
| 95 | +- Fix a bug that renders UTF-8 text files incorrectly when loaded from media. Contributed by @TheStranjer. ([\#7044](https://github.com/matrix-org/synapse/issues/7044)) |
| 96 | +- Fix a bug that would cause Synapse to respond with an error about event visibility if a client tried to request the state of a room at a given token. ([\#7066](https://github.com/matrix-org/synapse/issues/7066)) |
| 97 | +- Repair a data-corruption issue which was introduced in Synapse 1.10, and fixed in Synapse 1.11, and which could cause `/sync` to return with 404 errors about missing events and unknown rooms. ([\#7070](https://github.com/matrix-org/synapse/issues/7070)) |
| 98 | +- Fix a bug causing account validity renewal emails to be sent even if the feature is turned off in some cases. ([\#7074](https://github.com/matrix-org/synapse/issues/7074)) |
| 99 | + |
| 100 | + |
| 101 | +Improved Documentation |
| 102 | +---------------------- |
| 103 | + |
| 104 | +- Updated CentOS8 install instructions. Contributed by Richard Kellner. ([\#6925](https://github.com/matrix-org/synapse/issues/6925)) |
| 105 | +- Fix `POSTGRES_INITDB_ARGS` in the `contrib/docker/docker-compose.yml` example docker-compose configuration. ([\#6984](https://github.com/matrix-org/synapse/issues/6984)) |
| 106 | +- Change date in [INSTALL.md](./INSTALL.md#tls-certificates) for last date of getting TLS certificates to November 2019. ([\#7015](https://github.com/matrix-org/synapse/issues/7015)) |
| 107 | +- Document that the fallback auth endpoints must be routed to the same worker node as the register endpoints. ([\#7048](https://github.com/matrix-org/synapse/issues/7048)) |
| 108 | + |
| 109 | + |
| 110 | +Deprecations and Removals |
| 111 | +------------------------- |
| 112 | + |
| 113 | +- Remove the unused query_auth federation endpoint per [MSC2451](https://github.com/matrix-org/matrix-doc/pull/2451). ([\#7026](https://github.com/matrix-org/synapse/issues/7026)) |
| 114 | + |
| 115 | + |
| 116 | +Internal Changes |
| 117 | +---------------- |
| 118 | + |
| 119 | +- Add type hints to `logging/context.py`. ([\#6309](https://github.com/matrix-org/synapse/issues/6309)) |
| 120 | +- Add some clarifications to `README.md` in the database schema directory. ([\#6615](https://github.com/matrix-org/synapse/issues/6615)) |
| 121 | +- Refactoring work in preparation for changing the event redaction algorithm. ([\#6874](https://github.com/matrix-org/synapse/issues/6874), [\#6875](https://github.com/matrix-org/synapse/issues/6875), [\#6983](https://github.com/matrix-org/synapse/issues/6983), [\#7003](https://github.com/matrix-org/synapse/issues/7003)) |
| 122 | +- Improve performance of v2 state resolution for large rooms. ([\#6952](https://github.com/matrix-org/synapse/issues/6952), [\#7095](https://github.com/matrix-org/synapse/issues/7095)) |
| 123 | +- Reduce time spent doing GC, by freezing objects on startup. ([\#6953](https://github.com/matrix-org/synapse/issues/6953)) |
| 124 | +- Minor perfermance fixes to `get_auth_chain_ids`. ([\#6954](https://github.com/matrix-org/synapse/issues/6954)) |
| 125 | +- Don't record remote cross-signing keys in the `devices` table. ([\#6956](https://github.com/matrix-org/synapse/issues/6956)) |
| 126 | +- Use flake8-comprehensions to enforce good hygiene of list/set/dict comprehensions. ([\#6957](https://github.com/matrix-org/synapse/issues/6957)) |
| 127 | +- Merge worker apps together. ([\#6964](https://github.com/matrix-org/synapse/issues/6964), [\#7002](https://github.com/matrix-org/synapse/issues/7002), [\#7055](https://github.com/matrix-org/synapse/issues/7055), [\#7104](https://github.com/matrix-org/synapse/issues/7104)) |
| 128 | +- Remove redundant `store_room` call from `FederationHandler._process_received_pdu`. ([\#6979](https://github.com/matrix-org/synapse/issues/6979)) |
| 129 | +- Update warning for incorrect database collation/ctype to include link to documentation. ([\#6985](https://github.com/matrix-org/synapse/issues/6985)) |
| 130 | +- Add some type annotations to the database storage classes. ([\#6987](https://github.com/matrix-org/synapse/issues/6987)) |
| 131 | +- Port `synapse.handlers.presence` to async/await. ([\#6991](https://github.com/matrix-org/synapse/issues/6991), [\#7019](https://github.com/matrix-org/synapse/issues/7019)) |
| 132 | +- Add some type annotations to the federation base & client classes. ([\#6995](https://github.com/matrix-org/synapse/issues/6995)) |
| 133 | +- Port `synapse.rest.keys` to async/await. ([\#7020](https://github.com/matrix-org/synapse/issues/7020)) |
| 134 | +- Add a type check to `is_verified` when processing room keys. ([\#7045](https://github.com/matrix-org/synapse/issues/7045)) |
| 135 | +- Add type annotations and comments to the auth handler. ([\#7063](https://github.com/matrix-org/synapse/issues/7063)) |
| 136 | + |
| 137 | + |
1 | 138 | Synapse 1.11.1 (2020-03-03)
|
2 | 139 | ===========================
|
3 | 140 |
|
|
0 commit comments