Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Commit

Permalink
Merge remote-tracking branch 'origin/develop' into hawkowl/cache-conf…
Browse files Browse the repository at this point in the history
…ig-without-synctl
  • Loading branch information
hawkowl committed Feb 27, 2020
2 parents 965e259 + 3e99528 commit f004cee
Show file tree
Hide file tree
Showing 190 changed files with 2,761 additions and 3,421 deletions.
90 changes: 90 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,93 @@
Synapse 1.11.0 (2020-02-21)
===========================

Improved Documentation
----------------------

- Small grammatical fixes to the ACME v1 deprecation notice. ([\#6944](https://github.com/matrix-org/synapse/issues/6944))


Synapse 1.11.0rc1 (2020-02-19)
==============================

Features
--------

- Admin API to add or modify threepids of user accounts. ([\#6769](https://github.com/matrix-org/synapse/issues/6769))
- Limit the number of events that can be requested by the backfill federation API to 100. ([\#6864](https://github.com/matrix-org/synapse/issues/6864))
- Add ability to run some group APIs on workers. ([\#6866](https://github.com/matrix-org/synapse/issues/6866))
- Reject device display names over 100 characters in length to prevent abuse. ([\#6882](https://github.com/matrix-org/synapse/issues/6882))
- Add ability to route federation user device queries to workers. ([\#6873](https://github.com/matrix-org/synapse/issues/6873))
- The result of a user directory search can now be filtered via the spam checker. ([\#6888](https://github.com/matrix-org/synapse/issues/6888))
- Implement new `GET /_matrix/client/unstable/org.matrix.msc2432/rooms/{roomId}/aliases` endpoint as per [MSC2432](https://github.com/matrix-org/matrix-doc/pull/2432). ([\#6939](https://github.com/matrix-org/synapse/issues/6939), [\#6948](https://github.com/matrix-org/synapse/issues/6948), [\#6949](https://github.com/matrix-org/synapse/issues/6949))
- Stop sending `m.room.alias` events wheng adding / removing aliases. Check `alt_aliases` in the latest `m.room.canonical_alias` event when deleting an alias. ([\#6904](https://github.com/matrix-org/synapse/issues/6904))
- Change the default power levels of invites, tombstones and server ACLs for new rooms. ([\#6834](https://github.com/matrix-org/synapse/issues/6834))

Bugfixes
--------

- Fixed third party event rules function `on_create_room`'s return value being ignored. ([\#6781](https://github.com/matrix-org/synapse/issues/6781))
- Allow URL-encoded User IDs on `/_synapse/admin/v2/users/<user_id>[/admin]` endpoints. Thanks to @NHAS for reporting. ([\#6825](https://github.com/matrix-org/synapse/issues/6825))
- Fix Synapse refusing to start if `federation_certificate_verification_whitelist` option is blank. ([\#6849](https://github.com/matrix-org/synapse/issues/6849))
- Fix errors from logging in the purge jobs related to the message retention policies support. ([\#6945](https://github.com/matrix-org/synapse/issues/6945))
- Return a 404 instead of 200 for querying information of a non-existant user through the admin API. ([\#6901](https://github.com/matrix-org/synapse/issues/6901))


Updates to the Docker image
---------------------------

- The deprecated "generate-config-on-the-fly" mode is no longer supported. ([\#6918](https://github.com/matrix-org/synapse/issues/6918))


Improved Documentation
----------------------

- Add details of PR merge strategy to contributing docs. ([\#6846](https://github.com/matrix-org/synapse/issues/6846))
- Spell out that the last event sent to a room won't be deleted by a purge. ([\#6891](https://github.com/matrix-org/synapse/issues/6891))
- Update Synapse's documentation to warn about the deprecation of ACME v1. ([\#6905](https://github.com/matrix-org/synapse/issues/6905), [\#6907](https://github.com/matrix-org/synapse/issues/6907), [\#6909](https://github.com/matrix-org/synapse/issues/6909))
- Add documentation for the spam checker. ([\#6906](https://github.com/matrix-org/synapse/issues/6906))
- Fix worker docs to point `/publicised_groups` API correctly. ([\#6938](https://github.com/matrix-org/synapse/issues/6938))
- Clean up and update docs on setting up federation. ([\#6940](https://github.com/matrix-org/synapse/issues/6940))
- Add a warning about indentation to generated configuration files. ([\#6920](https://github.com/matrix-org/synapse/issues/6920))
- Databases created using the compose file in contrib/docker will now always have correct encoding and locale settings. Contributed by Fridtjof Mund. ([\#6921](https://github.com/matrix-org/synapse/issues/6921))
- Update pip install directions in readme to avoid error when using zsh. ([\#6855](https://github.com/matrix-org/synapse/issues/6855))


Deprecations and Removals
-------------------------

- Remove `m.lazy_load_members` from `unstable_features` since lazy loading is in the stable Client-Server API version r0.5.0. ([\#6877](https://github.com/matrix-org/synapse/issues/6877))


Internal Changes
----------------

- Add type hints to `SyncHandler`. ([\#6821](https://github.com/matrix-org/synapse/issues/6821))
- Refactoring work in preparation for changing the event redaction algorithm. ([\#6823](https://github.com/matrix-org/synapse/issues/6823), [\#6827](https://github.com/matrix-org/synapse/issues/6827), [\#6854](https://github.com/matrix-org/synapse/issues/6854), [\#6856](https://github.com/matrix-org/synapse/issues/6856), [\#6857](https://github.com/matrix-org/synapse/issues/6857), [\#6858](https://github.com/matrix-org/synapse/issues/6858))
- Fix stacktraces when using `ObservableDeferred` and async/await. ([\#6836](https://github.com/matrix-org/synapse/issues/6836))
- Port much of `synapse.handlers.federation` to async/await. ([\#6837](https://github.com/matrix-org/synapse/issues/6837), [\#6840](https://github.com/matrix-org/synapse/issues/6840))
- Populate `rooms.room_version` database column at startup, rather than in a background update. ([\#6847](https://github.com/matrix-org/synapse/issues/6847))
- Reduce amount we log at `INFO` level. ([\#6833](https://github.com/matrix-org/synapse/issues/6833), [\#6862](https://github.com/matrix-org/synapse/issues/6862))
- Remove unused `get_room_stats_state` method. ([\#6869](https://github.com/matrix-org/synapse/issues/6869))
- Add typing to `synapse.federation.sender` and port to async/await. ([\#6871](https://github.com/matrix-org/synapse/issues/6871))
- Refactor `_EventInternalMetadata` object to improve type safety. ([\#6872](https://github.com/matrix-org/synapse/issues/6872))
- Add an additional entry to the SyTest blacklist for worker mode. ([\#6883](https://github.com/matrix-org/synapse/issues/6883))
- Fix the use of sed in the linting scripts when using BSD sed. ([\#6887](https://github.com/matrix-org/synapse/issues/6887))
- Add type hints to the spam checker module. ([\#6915](https://github.com/matrix-org/synapse/issues/6915))
- Convert the directory handler tests to use HomeserverTestCase. ([\#6919](https://github.com/matrix-org/synapse/issues/6919))
- Increase DB/CPU perf of `_is_server_still_joined` check. ([\#6936](https://github.com/matrix-org/synapse/issues/6936))
- Tiny optimisation for incoming HTTP request dispatch. ([\#6950](https://github.com/matrix-org/synapse/issues/6950))


Synapse 1.10.1 (2020-02-17)
===========================

Bugfixes
--------

- Fix a bug introduced in Synapse 1.10.0 which would cause room state to be cleared in the database if Synapse was upgraded direct from 1.2.1 or earlier to 1.10.0. ([\#6924](https://github.com/matrix-org/synapse/issues/6924))


Synapse 1.10.0 (2020-02-12)
===========================

Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ python 3.6 and to install each tool:

```
# Install the dependencies
pip install -U black flake8 isort
pip install -U black flake8 flake8-comprehensions isort
# Run the linter script
./scripts-dev/lint.sh
Expand Down
25 changes: 15 additions & 10 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -388,15 +388,17 @@ Once you have installed synapse as above, you will need to configure it.

## TLS certificates

The default configuration exposes a single HTTP port: http://localhost:8008. It
is suitable for local testing, but for any practical use, you will either need
to enable a reverse proxy, or configure Synapse to expose an HTTPS port.
The default configuration exposes a single HTTP port on the local
interface: `http://localhost:8008`. It is suitable for local testing,
but for any practical use, you will need Synapse's APIs to be served
over HTTPS.

For information on using a reverse proxy, see
The recommended way to do so is to set up a reverse proxy on port
`8448`. You can find documentation on doing so in
[docs/reverse_proxy.md](docs/reverse_proxy.md).

To configure Synapse to expose an HTTPS port, you will need to edit
`homeserver.yaml`, as follows:
Alternatively, you can configure Synapse to expose an HTTPS port. To do
so, you will need to edit `homeserver.yaml`, as follows:

* First, under the `listeners` section, uncomment the configuration for the
TLS-enabled listener. (Remove the hash sign (`#`) at the start of
Expand All @@ -414,10 +416,13 @@ To configure Synapse to expose an HTTPS port, you will need to edit
point these settings at an existing certificate and key, or you can
enable Synapse's built-in ACME (Let's Encrypt) support. Instructions
for having Synapse automatically provision and renew federation
certificates through ACME can be found at [ACME.md](docs/ACME.md). If you
are using your own certificate, be sure to use a `.pem` file that includes
the full certificate chain including any intermediate certificates (for
instance, if using certbot, use `fullchain.pem` as your certificate, not
certificates through ACME can be found at [ACME.md](docs/ACME.md).
Note that, as pointed out in that document, this feature will not
work with installs set up after November 2020.

If you are using your own certificate, be sure to use a `.pem` file that
includes the full certificate chain including any intermediate certificates
(for instance, if using certbot, use `fullchain.pem` as your certificate, not
`cert.pem`).

For a more detailed guide to configuring your server for federation, see
Expand Down
1 change: 1 addition & 0 deletions changelog.d/6572.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
When a user's profile is updated via the admin API, also generate a displayname/avatar update for that user in each room.
1 change: 1 addition & 0 deletions changelog.d/6615.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Add some clarifications to `README.md` in the database schema directory.
1 change: 0 additions & 1 deletion changelog.d/6769.feature

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6781.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6821.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6825.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6827.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6833.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6836.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6837.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6840.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6844.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6846.doc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6847.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6849.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6854.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6855.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6856.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6857.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6858.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6862.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6864.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6866.feature

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6869.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6871.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6873.feature

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6877.removal

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6882.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6883.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6887.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6888.feature

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6891.doc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6901.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6905.doc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6906.doc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6915.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6919.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6920.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/6921.docker

This file was deleted.

1 change: 1 addition & 0 deletions changelog.d/6941.removal
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Stop sending m.room.aliases events during room creation and upgrade.
1 change: 1 addition & 0 deletions changelog.d/6952.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Improve perf of v2 state res for large rooms.
1 change: 1 addition & 0 deletions changelog.d/6953.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Reduce time spent doing GC by freezing objects on startup.
1 change: 1 addition & 0 deletions changelog.d/6954.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Minor perf fixes to `get_auth_chain_ids`.
1 change: 1 addition & 0 deletions changelog.d/6956.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Don't record remote cross-signing keys in the `devices` table.
1 change: 1 addition & 0 deletions changelog.d/6957.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Use flake8-comprehensions to enforce good hygiene of list/set/dict comprehensions.
1 change: 1 addition & 0 deletions changelog.d/6962.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fix a couple of bugs in email configuration handling.
1 change: 1 addition & 0 deletions changelog.d/6964.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Merge worker apps together.
1 change: 1 addition & 0 deletions changelog.d/6965.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
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.
1 change: 1 addition & 0 deletions changelog.d/6966.removal
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Synapse no longer uses room alias events to calculate room names for email notifications.
1 change: 1 addition & 0 deletions changelog.d/6967.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fix an issue affecting worker-based deployments where replication would stop working, necessitating a full restart, after joining a large room.
1 change: 1 addition & 0 deletions changelog.d/6968.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fix `duplicate key` error which was logged when rejoining a room over federation.
1 change: 1 addition & 0 deletions changelog.d/6970.removal
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The room list endpoint no longer returns a list of aliases.
1 change: 1 addition & 0 deletions changelog.d/6979.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Remove redundant `store_room` call from `FederationHandler._process_received_pdu`.
1 change: 1 addition & 0 deletions changelog.d/6982.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Check that server_name is correctly set before running database updates.
File renamed without changes.
1 change: 1 addition & 0 deletions changelog.d/6984.docker
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fix `POSTGRES_INITDB_ARGS` in the `contrib/docker/docker-compose.yml` example docker-compose configuration.
1 change: 1 addition & 0 deletions changelog.d/6985.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Update warning for incorrect database collation/ctype to include link to documentation.
1 change: 1 addition & 0 deletions changelog.d/6990.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Prevent user from setting 'deactivated' to anything other than a bool on the v2 PUT /users Admin API.
1 change: 1 addition & 0 deletions changelog.d/6991.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Port `synapse.handlers.presence` to async/await.
2 changes: 1 addition & 1 deletion contrib/docker/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ services:
- POSTGRES_PASSWORD=changeme
# ensure the database gets created correctly
# https://github.com/matrix-org/synapse/blob/master/docs/postgres.md#set-up-database
- POSTGRES_INITDB_ARGS="--encoding=UTF-8 --lc-collate=C --lc-ctype=C"
- POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C
volumes:
# You may store the database tables in a local folder..
- ./schemas:/var/lib/postgresql/data
Expand Down
12 changes: 12 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
matrix-synapse-py3 (1.11.0) stable; urgency=medium

* New synapse release 1.11.0.

-- Synapse Packaging team <[email protected]> Fri, 21 Feb 2020 08:54:34 +0000

matrix-synapse-py3 (1.10.1) stable; urgency=medium

* New synapse release 1.10.1.

-- Synapse Packaging team <[email protected]> Mon, 17 Feb 2020 16:27:28 +0000

matrix-synapse-py3 (1.10.0) stable; urgency=medium

* New synapse release 1.10.0.
Expand Down
23 changes: 14 additions & 9 deletions docker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,12 +110,12 @@ argument to `docker run`.

## Legacy dynamic configuration file support

For backwards-compatibility only, the docker image supports creating a dynamic
configuration file based on environment variables. This is now deprecated, but
is enabled when the `SYNAPSE_SERVER_NAME` variable is set (and `generate` is
not given).
The docker image used to support creating a dynamic configuration file based
on environment variables. This is no longer supported, and an error will be
raised if you try to run synapse without a config file.

To migrate from a dynamic configuration file to a static one, run the docker
It is, however, possible to generate a static configuration file based on
the environment variables that were previously used. To do this, run the docker
container once with the environment variables set, and `migrate_config`
command line option. For example:

Expand All @@ -127,15 +127,20 @@ docker run -it --rm \
matrixdotorg/synapse:latest migrate_config
```

This will generate the same configuration file as the legacy mode used, but
will store it in `/data/homeserver.yaml` instead of a temporary location. You
can then use it as shown above at [Running synapse](#running-synapse).
This will generate the same configuration file as the legacy mode used, and
will store it in `/data/homeserver.yaml`. You can then use it as shown above at
[Running synapse](#running-synapse).

Note that the defaults used in this configuration file may be different to
those when generating a new config file with `generate`: for example, TLS is
enabled by default in this mode. You are encouraged to inspect the generated
configuration file and edit it to ensure it meets your needs.

## Building the image

If you need to build the image from a Synapse checkout, use the following `docker
build` command from the repo's root:

```
docker build -t matrixdotorg/synapse -f docker/Dockerfile .
```
Expand Down
Loading

0 comments on commit f004cee

Please sign in to comment.