Skip to content

Commit 55a9f8a

Browse files
committed
Merge tag 'v1.88.0' into develop
This release - raises the minimum supported version of Python to 3.8, as Python 3.7 is now [end-of-life](https://devguide.python.org/versions/), and - removes deprecated config options related to worker deployment. See [the upgrade notes](https://github.com/matrix-org/synapse/blob/release-v1.88/docs/upgrade.md#upgrading-to-v1880) for more information. - Revert "Stop writing to column `user_id` of tables `profiles` and `user_filters`", which was introduced in Synapse 1.88.0rc1. ([\matrix-org#15953](matrix-org#15953)) - Add `not_user_type` param to the [list accounts admin API](https://matrix-org.github.io/synapse/v1.88/admin_api/user_admin_api.html#list-accounts). ([\matrix-org#15844](matrix-org#15844)) - Pin `pydantic` to `^=1.7.4` to avoid backwards-incompatible API changes from the 2.0.0 release. Contributed by @PaarthShah. ([\matrix-org#15862](matrix-org#15862)) - Correctly resize thumbnails with pillow version >=10. ([\matrix-org#15876](matrix-org#15876)) - Fixed header levels on the [Admin API "Users"](https://matrix-org.github.io/synapse/v1.87/admin_api/user_admin_api.html) documentation page. Contributed by @sumnerevans at @beeper. ([\matrix-org#15852](matrix-org#15852)) - Remove deprecated `worker_replication_host`, `worker_replication_http_port` and `worker_replication_http_tls` configuration options. ([\matrix-org#15872](matrix-org#15872)) - **Remove deprecated `worker_replication_host`, `worker_replication_http_port` and `worker_replication_http_tls` configuration options.** See the [upgrade notes](https://github.com/matrix-org/synapse/blob/release-v1.88/docs/upgrade.md#removal-of-worker_replication_-settings) for more details. ([\matrix-org#15860](matrix-org#15860)) - Remove support for Python 3.7 and hence for Debian Buster. ([\matrix-org#15851](matrix-org#15851), [\matrix-org#15892](matrix-org#15892), [\matrix-org#15893](matrix-org#15893), [\matrix-org#15917](matrix-org#15917)) - Add foreign key constraint to `event_forward_extremities`. ([\matrix-org#15751](matrix-org#15751), [\matrix-org#15907](matrix-org#15907)) - Add read/write style cross-worker locks. ([\matrix-org#15782](matrix-org#15782)) - Stop writing to column `user_id` of tables `profiles` and `user_filters`. ([\matrix-org#15787](matrix-org#15787)) - Use lower isolation level when cleaning old presence stream data to avoid serialization errors. ([\matrix-org#15826](matrix-org#15826)) - Add tracing to media `/upload` code paths. ([\matrix-org#15850](matrix-org#15850), [\matrix-org#15888](matrix-org#15888)) - Add a timeout that aborts any Postgres statement taking more than 1 hour. ([\matrix-org#15853](matrix-org#15853)) - Fix the `devenv up` configuration which was ignoring the config overrides. ([\matrix-org#15854](matrix-org#15854)) - Optimised cleanup of old entries in `device_lists_stream`. ([\matrix-org#15861](matrix-org#15861)) - Update the Matrix clients link in the _It works! Synapse is running_ landing page. ([\matrix-org#15874](matrix-org#15874)) - Fix building Synapse with the nightly Rust compiler. ([\matrix-org#15906](matrix-org#15906)) - Add `Server` to Access-Control-Expose-Headers header. ([\matrix-org#15908](matrix-org#15908)) * Bump authlib from 1.2.0 to 1.2.1. ([\matrix-org#15864](matrix-org#15864)) * Bump importlib-metadata from 6.6.0 to 6.7.0. ([\matrix-org#15865](matrix-org#15865)) * Bump lxml from 4.9.2 to 4.9.3. ([\matrix-org#15897](matrix-org#15897)) * Bump regex from 1.8.4 to 1.9.1. ([\matrix-org#15902](matrix-org#15902)) * Bump ruff from 0.0.275 to 0.0.277. ([\matrix-org#15900](matrix-org#15900)) * Bump sentry-sdk from 1.25.1 to 1.26.0. ([\matrix-org#15867](matrix-org#15867)) * Bump serde_json from 1.0.99 to 1.0.100. ([\matrix-org#15901](matrix-org#15901)) * Bump types-pyopenssl from 23.2.0.0 to 23.2.0.1. ([\matrix-org#15866](matrix-org#15866))
2 parents 635426a + 69699a9 commit 55a9f8a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+2024
-477
lines changed

.ci/scripts/calculate_jobs.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,12 @@ def set_output(key: str, value: str):
2929

3030
# First calculate the various trial jobs.
3131
#
32-
# For each type of test we only run on Py3.7 on PRs
32+
# For PRs, we only run each type of test with the oldest Python version supported (which
33+
# is Python 3.8 right now)
3334

3435
trial_sqlite_tests = [
3536
{
36-
"python-version": "3.7",
37+
"python-version": "3.8",
3738
"database": "sqlite",
3839
"extras": "all",
3940
}
@@ -46,13 +47,13 @@ def set_output(key: str, value: str):
4647
"database": "sqlite",
4748
"extras": "all",
4849
}
49-
for version in ("3.8", "3.9", "3.10", "3.11")
50+
for version in ("3.9", "3.10", "3.11")
5051
)
5152

5253

5354
trial_postgres_tests = [
5455
{
55-
"python-version": "3.7",
56+
"python-version": "3.8",
5657
"database": "postgres",
5758
"postgres-version": "11",
5859
"extras": "all",
@@ -71,7 +72,7 @@ def set_output(key: str, value: str):
7172

7273
trial_no_extra_tests = [
7374
{
74-
"python-version": "3.7",
75+
"python-version": "3.8",
7576
"database": "sqlite",
7677
"extras": "",
7778
}
@@ -133,11 +134,6 @@ def set_output(key: str, value: str):
133134
"sytest-tag": "testing",
134135
"postgres": "postgres",
135136
},
136-
{
137-
"sytest-tag": "buster",
138-
"postgres": "multi-postgres",
139-
"workers": "workers",
140-
},
141137
]
142138
)
143139

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ __pycache__/
3434
/logs
3535
/media_store/
3636
/uploads
37+
/homeserver-config-overrides.d
3738

3839
# For direnv users
3940
/.envrc

CHANGES.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,64 @@
1+
# Synapse 1.88.0 (2023-07-18)
2+
3+
This release
4+
- raises the minimum supported version of Python to 3.8, as Python 3.7 is now [end-of-life](https://devguide.python.org/versions/), and
5+
- removes deprecated config options related to worker deployment.
6+
7+
See [the upgrade notes](https://github.com/matrix-org/synapse/blob/release-v1.88/docs/upgrade.md#upgrading-to-v1880) for more information.
8+
9+
10+
### Bugfixes
11+
12+
- Revert "Stop writing to column `user_id` of tables `profiles` and `user_filters`", which was introduced in Synapse 1.88.0rc1. ([\#15953](https://github.com/matrix-org/synapse/issues/15953))
13+
14+
15+
# Synapse 1.88.0rc1 (2023-07-11)
16+
17+
### Features
18+
19+
- Add `not_user_type` param to the [list accounts admin API](https://matrix-org.github.io/synapse/v1.88/admin_api/user_admin_api.html#list-accounts). ([\#15844](https://github.com/matrix-org/synapse/issues/15844))
20+
21+
### Bugfixes
22+
23+
- Pin `pydantic` to `^=1.7.4` to avoid backwards-incompatible API changes from the 2.0.0 release.
24+
Contributed by @PaarthShah. ([\#15862](https://github.com/matrix-org/synapse/issues/15862))
25+
- Correctly resize thumbnails with pillow version >=10. ([\#15876](https://github.com/matrix-org/synapse/issues/15876))
26+
27+
### Improved Documentation
28+
29+
- Fixed header levels on the [Admin API "Users"](https://matrix-org.github.io/synapse/v1.87/admin_api/user_admin_api.html) documentation page. Contributed by @sumnerevans at @beeper. ([\#15852](https://github.com/matrix-org/synapse/issues/15852))
30+
- Remove deprecated `worker_replication_host`, `worker_replication_http_port` and `worker_replication_http_tls` configuration options. ([\#15872](https://github.com/matrix-org/synapse/issues/15872))
31+
32+
### Deprecations and Removals
33+
34+
- **Remove deprecated `worker_replication_host`, `worker_replication_http_port` and `worker_replication_http_tls` configuration options.** See the [upgrade notes](https://github.com/matrix-org/synapse/blob/release-v1.88/docs/upgrade.md#removal-of-worker_replication_-settings) for more details. ([\#15860](https://github.com/matrix-org/synapse/issues/15860))
35+
- Remove support for Python 3.7 and hence for Debian Buster. ([\#15851](https://github.com/matrix-org/synapse/issues/15851), [\#15892](https://github.com/matrix-org/synapse/issues/15892), [\#15893](https://github.com/matrix-org/synapse/issues/15893), [\#15917](https://github.com/matrix-org/synapse/pull/15917))
36+
37+
### Internal Changes
38+
39+
- Add foreign key constraint to `event_forward_extremities`. ([\#15751](https://github.com/matrix-org/synapse/issues/15751), [\#15907](https://github.com/matrix-org/synapse/issues/15907))
40+
- Add read/write style cross-worker locks. ([\#15782](https://github.com/matrix-org/synapse/issues/15782))
41+
- Stop writing to column `user_id` of tables `profiles` and `user_filters`. ([\#15787](https://github.com/matrix-org/synapse/issues/15787))
42+
- Use lower isolation level when cleaning old presence stream data to avoid serialization errors. ([\#15826](https://github.com/matrix-org/synapse/issues/15826))
43+
- Add tracing to media `/upload` code paths. ([\#15850](https://github.com/matrix-org/synapse/issues/15850), [\#15888](https://github.com/matrix-org/synapse/issues/15888))
44+
- Add a timeout that aborts any Postgres statement taking more than 1 hour. ([\#15853](https://github.com/matrix-org/synapse/issues/15853))
45+
- Fix the `devenv up` configuration which was ignoring the config overrides. ([\#15854](https://github.com/matrix-org/synapse/issues/15854))
46+
- Optimised cleanup of old entries in `device_lists_stream`. ([\#15861](https://github.com/matrix-org/synapse/issues/15861))
47+
- Update the Matrix clients link in the _It works! Synapse is running_ landing page. ([\#15874](https://github.com/matrix-org/synapse/issues/15874))
48+
- Fix building Synapse with the nightly Rust compiler. ([\#15906](https://github.com/matrix-org/synapse/issues/15906))
49+
- Add `Server` to Access-Control-Expose-Headers header. ([\#15908](https://github.com/matrix-org/synapse/issues/15908))
50+
51+
### Updates to locked dependencies
52+
53+
* Bump authlib from 1.2.0 to 1.2.1. ([\#15864](https://github.com/matrix-org/synapse/issues/15864))
54+
* Bump importlib-metadata from 6.6.0 to 6.7.0. ([\#15865](https://github.com/matrix-org/synapse/issues/15865))
55+
* Bump lxml from 4.9.2 to 4.9.3. ([\#15897](https://github.com/matrix-org/synapse/issues/15897))
56+
* Bump regex from 1.8.4 to 1.9.1. ([\#15902](https://github.com/matrix-org/synapse/issues/15902))
57+
* Bump ruff from 0.0.275 to 0.0.277. ([\#15900](https://github.com/matrix-org/synapse/issues/15900))
58+
* Bump sentry-sdk from 1.25.1 to 1.26.0. ([\#15867](https://github.com/matrix-org/synapse/issues/15867))
59+
* Bump serde_json from 1.0.99 to 1.0.100. ([\#15901](https://github.com/matrix-org/synapse/issues/15901))
60+
* Bump types-pyopenssl from 23.2.0.0 to 23.2.0.1. ([\#15866](https://github.com/matrix-org/synapse/issues/15866))
61+
162
# Synapse 1.87.0 (2023-07-04)
263

364
Please note that this will be the last release of Synapse that is compatible with

Cargo.lock

Lines changed: 29 additions & 17 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@
33

44
[workspace]
55
members = ["rust"]
6+
resolver = "2"

debian/changelog

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
matrix-synapse-py3 (1.88.0) stable; urgency=medium
2+
3+
* New Synapse release 1.88.0.
4+
5+
-- Synapse Packaging team <[email protected]> Tue, 18 Jul 2023 13:59:28 +0100
6+
7+
matrix-synapse-py3 (1.88.0~rc1) stable; urgency=medium
8+
9+
* New Synapse release 1.88.0rc1.
10+
11+
-- Synapse Packaging team <[email protected]> Tue, 11 Jul 2023 10:20:19 +0100
12+
113
matrix-synapse-py3 (1.87.0) stable; urgency=medium
214

315
* New Synapse release 1.87.0.

docker/Dockerfile-dhvirtualenv

Lines changed: 23 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,12 @@ FROM docker.io/library/${distro} as builder
2828

2929
RUN apt-get update -qq -o Acquire::Languages=none
3030
RUN env DEBIAN_FRONTEND=noninteractive apt-get install \
31-
-yqq --no-install-recommends \
32-
build-essential \
33-
ca-certificates \
34-
devscripts \
35-
equivs \
36-
wget
31+
-yqq --no-install-recommends \
32+
build-essential \
33+
ca-certificates \
34+
devscripts \
35+
equivs \
36+
wget
3737

3838
# fetch and unpack the package
3939
# We are temporarily using a fork of dh-virtualenv due to an incompatibility with Python 3.11, which ships with
@@ -62,33 +62,29 @@ FROM docker.io/library/${distro}
6262
ARG distro=""
6363
ENV distro ${distro}
6464

65-
# Python < 3.7 assumes LANG="C" means ASCII-only and throws on printing unicode
66-
# http://bugs.python.org/issue19846
67-
ENV LANG C.UTF-8
68-
6965
# Install the build dependencies
7066
#
7167
# NB: keep this list in sync with the list of build-deps in debian/control
7268
# TODO: it would be nice to do that automatically.
7369
RUN apt-get update -qq -o Acquire::Languages=none \
7470
&& env DEBIAN_FRONTEND=noninteractive apt-get install \
75-
-yqq --no-install-recommends -o Dpkg::Options::=--force-unsafe-io \
76-
build-essential \
77-
curl \
78-
debhelper \
79-
devscripts \
80-
libsystemd-dev \
81-
lsb-release \
82-
pkg-config \
83-
python3-dev \
84-
python3-pip \
85-
python3-setuptools \
86-
python3-venv \
87-
sqlite3 \
88-
libpq-dev \
89-
libicu-dev \
90-
pkg-config \
91-
xmlsec1
71+
-yqq --no-install-recommends -o Dpkg::Options::=--force-unsafe-io \
72+
build-essential \
73+
curl \
74+
debhelper \
75+
devscripts \
76+
libsystemd-dev \
77+
lsb-release \
78+
pkg-config \
79+
python3-dev \
80+
python3-pip \
81+
python3-setuptools \
82+
python3-venv \
83+
sqlite3 \
84+
libpq-dev \
85+
libicu-dev \
86+
pkg-config \
87+
xmlsec1
9288

9389
# Install rust and ensure it's in the PATH
9490
ENV RUSTUP_HOME=/rust

docs/admin_api/user_admin_api.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,9 @@ The following parameters should be set in the URL:
242242

243243
- `dir` - Direction of media order. Either `f` for forwards or `b` for backwards.
244244
Setting this value to `b` will reverse the above sort order. Defaults to `f`.
245+
- `not_user_type` - Exclude certain user types, such as bot users, from the request.
246+
Can be provided multiple times. Possible values are `bot`, `support` or "empty string".
247+
"empty string" here means to exclude users without a type.
245248

246249
Caution. The database only has indexes on the columns `name` and `creation_ts`.
247250
This means that if a different sort order is used (`is_guest`, `admin`,
@@ -1180,7 +1183,7 @@ The following parameters should be set in the URL:
11801183
- `user_id` - The fully qualified MXID: for example, `@user:server.com`. The user must
11811184
be local.
11821185

1183-
### Check username availability
1186+
## Check username availability
11841187

11851188
Checks to see if a username is available, and valid, for the server. See [the client-server
11861189
API](https://matrix.org/docs/spec/client_server/r0.6.0#get-matrix-client-r0-register-available)
@@ -1198,7 +1201,7 @@ GET /_synapse/admin/v1/username_available?username=$localpart
11981201
The request and response format is the same as the
11991202
[/_matrix/client/r0/register/available](https://matrix.org/docs/spec/client_server/r0.6.0#get-matrix-client-r0-register-available) API.
12001203

1201-
### Find a user based on their ID in an auth provider
1204+
## Find a user based on their ID in an auth provider
12021205

12031206
The API is:
12041207

@@ -1237,7 +1240,7 @@ Returns a `404` HTTP status code if no user was found, with a response body like
12371240
_Added in Synapse 1.68.0._
12381241

12391242

1240-
### Find a user based on their Third Party ID (ThreePID or 3PID)
1243+
## Find a user based on their Third Party ID (ThreePID or 3PID)
12411244

12421245
The API is:
12431246

docs/deprecation_policy.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ people building from source should ensure they can fetch recent versions of Rust
2323
(e.g. by using [rustup](https://rustup.rs/)).
2424

2525
The oldest supported version of SQLite is the version
26-
[provided](https://packages.debian.org/buster/libsqlite3-0) by
26+
[provided](https://packages.debian.org/bullseye/libsqlite3-0) by
2727
[Debian oldstable](https://wiki.debian.org/DebianOldStable).
2828

2929
Context

docs/development/contributing_guide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@ The following command will let you run the integration test with the most common
322322
configuration:
323323
324324
```sh
325-
$ docker run --rm -it -v /path/where/you/have/cloned/the/repository\:/src:ro -v /path/to/where/you/want/logs\:/logs matrixdotorg/sytest-synapse:buster
325+
$ docker run --rm -it -v /path/where/you/have/cloned/the/repository\:/src:ro -v /path/to/where/you/want/logs\:/logs matrixdotorg/sytest-synapse:focal
326326
```
327327
(Note that the paths must be full paths! You could also write `$(realpath relative/path)` if needed.)
328328

docs/setup/installation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ When following this route please make sure that the [Platform-specific prerequis
200200
System requirements:
201201

202202
- POSIX-compliant system (tested on Linux & OS X)
203-
- Python 3.7 or later, up to Python 3.11.
203+
- Python 3.8 or later, up to Python 3.11.
204204
- At least 1GB of free RAM if you want to join large public rooms like #matrix:matrix.org
205205

206206
If building on an uncommon architecture for which pre-built wheels are
Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
11
worker_app: synapse.app.generic_worker
22
worker_name: background_worker
33

4-
# The replication listener on the main synapse process.
5-
worker_replication_host: 127.0.0.1
6-
worker_replication_http_port: 9093
7-
84
worker_log_config: /etc/matrix-synapse/background-worker-log.yaml

0 commit comments

Comments
 (0)