Skip to content

Commit 7849741

Browse files
committed
Merge tag 'v1.107.0' into develop
Synapse 1.107.0 (2024-05-14) ============================ No significant changes since 1.107.0rc1. - Add preliminary support for [MSC3823: Account Suspension](matrix-org/matrix-spec-proposals#3823). ([\#17051](element-hq/synapse#17051)) - Declare support for [Matrix v1.10](https://matrix.org/blog/2024/03/22/matrix-v1.10-release/). Contributed by @clokep. ([\#17082](element-hq/synapse#17082)) - Add support for [MSC4115: membership metadata on events](matrix-org/matrix-spec-proposals#4115). ([\#17104](element-hq/synapse#17104), [\#17137](element-hq/synapse#17137)) - Fixed search feature of Element Android on homesevers using SQLite by returning search terms as search highlights. ([\#17000](element-hq/synapse#17000)) - Fixes a bug introduced in v1.52.0 where the `destination` query parameter for the [Destination Rooms Admin API](https://element-hq.github.io/synapse/v1.105/usage/administration/admin_api/federation.html#destination-rooms) failed to actually filter returned rooms. ([\#17077](element-hq/synapse#17077)) - For MSC3266 room summaries, support queries at the recommended endpoint of `/_matrix/client/unstable/im.nheko.summary/summary/{roomIdOrAlias}`. The existing endpoint of `/_matrix/client/unstable/im.nheko.summary/rooms/{roomIdOrAlias}/summary` is deprecated. ([\#17078](element-hq/synapse#17078)) - Apply user email & picture during OIDC registration if present & selected. ([\#17120](element-hq/synapse#17120)) - Improve error message for cross signing reset with [MSC3861](matrix-org/matrix-spec-proposals#3861) enabled. ([\#17121](element-hq/synapse#17121)) - Fix a bug which meant that to-device messages received over federation could be dropped when the server was under load or networking problems caused problems between Synapse processes or the database. ([\#17127](element-hq/synapse#17127)) - Fix bug where `StreamChangeCache` would not respect configured cache factors. ([\#17152](element-hq/synapse#17152)) - Correct licensing metadata on Docker image. ([\#17141](element-hq/synapse#17141)) - Update the `event_cache_size` and `global_factor` configuration options' documentation. ([\#17071](element-hq/synapse#17071)) - Remove broken sphinx docs. ([\#17073](element-hq/synapse#17073), [\#17148](element-hq/synapse#17148)) - Add RuntimeDirectory to example matrix-synapse.service systemd unit. ([\#17084](element-hq/synapse#17084)) - Fix various small typos throughout the docs. ([\#17114](element-hq/synapse#17114)) - Update enable_notifs configuration documentation. ([\#17116](element-hq/synapse#17116)) - Update the Upgrade Notes with the latest minimum supported Rust version of 1.66.0. Contributed by @jahway603. ([\#17140](element-hq/synapse#17140)) - Enable [MSC3266](matrix-org/matrix-spec-proposals#3266) by default in the Synapse Complement image. ([\#17105](element-hq/synapse#17105)) - Add optimisation to `StreamChangeCache.get_entities_changed(..)`. ([\#17130](element-hq/synapse#17130)) * Bump furo from 2024.1.29 to 2024.4.27. ([\#17133](element-hq/synapse#17133)) * Bump idna from 3.6 to 3.7. ([\#17136](element-hq/synapse#17136)) * Bump jsonschema from 4.21.1 to 4.22.0. ([\#17157](element-hq/synapse#17157)) * Bump lxml from 5.1.0 to 5.2.1. ([\#17158](element-hq/synapse#17158)) * Bump phonenumbers from 8.13.29 to 8.13.35. ([\#17106](element-hq/synapse#17106)) - Bump pillow from 10.2.0 to 10.3.0. ([\#17146](element-hq/synapse#17146)) * Bump pydantic from 2.6.4 to 2.7.0. ([\#17107](element-hq/synapse#17107)) * Bump pydantic from 2.7.0 to 2.7.1. ([\#17160](element-hq/synapse#17160)) * Bump pyicu from 2.12 to 2.13. ([\#17109](element-hq/synapse#17109)) * Bump serde from 1.0.197 to 1.0.198. ([\#17111](element-hq/synapse#17111)) * Bump serde from 1.0.198 to 1.0.199. ([\#17132](element-hq/synapse#17132)) * Bump serde from 1.0.199 to 1.0.200. ([\#17161](element-hq/synapse#17161)) * Bump serde_json from 1.0.115 to 1.0.116. ([\#17112](element-hq/synapse#17112)) - Update `tornado` Python dependency from 6.2 to 6.4. ([\#17131](element-hq/synapse#17131)) * Bump twisted from 23.10.0 to 24.3.0. ([\#17135](element-hq/synapse#17135)) * Bump types-bleach from 6.1.0.1 to 6.1.0.20240331. ([\#17110](element-hq/synapse#17110)) * Bump types-pillow from 10.2.0.20240415 to 10.2.0.20240423. ([\#17159](element-hq/synapse#17159)) * Bump types-setuptools from 69.0.0.20240125 to 69.5.0.20240423. ([\#17134](element-hq/synapse#17134))
2 parents 168c76e + ecf4e06 commit 7849741

Some content is hidden

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

67 files changed

+1478
-967
lines changed

CHANGES.md

+65
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,68 @@
1+
Synapse 1.107.0 (2024-05-14)
2+
============================
3+
4+
No significant changes since 1.107.0rc1.
5+
6+
7+
# Synapse 1.107.0rc1 (2024-05-07)
8+
9+
### Features
10+
11+
- Add preliminary support for [MSC3823: Account Suspension](https://github.com/matrix-org/matrix-spec-proposals/pull/3823). ([\#17051](https://github.com/element-hq/synapse/issues/17051))
12+
- Declare support for [Matrix v1.10](https://matrix.org/blog/2024/03/22/matrix-v1.10-release/). Contributed by @clokep. ([\#17082](https://github.com/element-hq/synapse/issues/17082))
13+
- Add support for [MSC4115: membership metadata on events](https://github.com/matrix-org/matrix-spec-proposals/pull/4115). ([\#17104](https://github.com/element-hq/synapse/issues/17104), [\#17137](https://github.com/element-hq/synapse/issues/17137))
14+
15+
### Bugfixes
16+
17+
- Fixed search feature of Element Android on homesevers using SQLite by returning search terms as search highlights. ([\#17000](https://github.com/element-hq/synapse/issues/17000))
18+
- Fixes a bug introduced in v1.52.0 where the `destination` query parameter for the [Destination Rooms Admin API](https://element-hq.github.io/synapse/v1.105/usage/administration/admin_api/federation.html#destination-rooms) failed to actually filter returned rooms. ([\#17077](https://github.com/element-hq/synapse/issues/17077))
19+
- For MSC3266 room summaries, support queries at the recommended endpoint of `/_matrix/client/unstable/im.nheko.summary/summary/{roomIdOrAlias}`. The existing endpoint of `/_matrix/client/unstable/im.nheko.summary/rooms/{roomIdOrAlias}/summary` is deprecated. ([\#17078](https://github.com/element-hq/synapse/issues/17078))
20+
- Apply user email & picture during OIDC registration if present & selected. ([\#17120](https://github.com/element-hq/synapse/issues/17120))
21+
- Improve error message for cross signing reset with [MSC3861](https://github.com/matrix-org/matrix-spec-proposals/pull/3861) enabled. ([\#17121](https://github.com/element-hq/synapse/issues/17121))
22+
- Fix a bug which meant that to-device messages received over federation could be dropped when the server was under load or networking problems caused problems between Synapse processes or the database. ([\#17127](https://github.com/element-hq/synapse/issues/17127))
23+
- Fix bug where `StreamChangeCache` would not respect configured cache factors. ([\#17152](https://github.com/element-hq/synapse/issues/17152))
24+
25+
### Updates to the Docker image
26+
27+
- Correct licensing metadata on Docker image. ([\#17141](https://github.com/element-hq/synapse/issues/17141))
28+
29+
### Improved Documentation
30+
31+
- Update the `event_cache_size` and `global_factor` configuration options' documentation. ([\#17071](https://github.com/element-hq/synapse/issues/17071))
32+
- Remove broken sphinx docs. ([\#17073](https://github.com/element-hq/synapse/issues/17073), [\#17148](https://github.com/element-hq/synapse/issues/17148))
33+
- Add RuntimeDirectory to example matrix-synapse.service systemd unit. ([\#17084](https://github.com/element-hq/synapse/issues/17084))
34+
- Fix various small typos throughout the docs. ([\#17114](https://github.com/element-hq/synapse/issues/17114))
35+
- Update enable_notifs configuration documentation. ([\#17116](https://github.com/element-hq/synapse/issues/17116))
36+
- Update the Upgrade Notes with the latest minimum supported Rust version of 1.66.0. Contributed by @jahway603. ([\#17140](https://github.com/element-hq/synapse/issues/17140))
37+
38+
### Internal Changes
39+
40+
- Enable [MSC3266](https://github.com/matrix-org/matrix-spec-proposals/pull/3266) by default in the Synapse Complement image. ([\#17105](https://github.com/element-hq/synapse/issues/17105))
41+
- Add optimisation to `StreamChangeCache.get_entities_changed(..)`. ([\#17130](https://github.com/element-hq/synapse/issues/17130))
42+
43+
44+
45+
### Updates to locked dependencies
46+
47+
* Bump furo from 2024.1.29 to 2024.4.27. ([\#17133](https://github.com/element-hq/synapse/issues/17133))
48+
* Bump idna from 3.6 to 3.7. ([\#17136](https://github.com/element-hq/synapse/issues/17136))
49+
* Bump jsonschema from 4.21.1 to 4.22.0. ([\#17157](https://github.com/element-hq/synapse/issues/17157))
50+
* Bump lxml from 5.1.0 to 5.2.1. ([\#17158](https://github.com/element-hq/synapse/issues/17158))
51+
* Bump phonenumbers from 8.13.29 to 8.13.35. ([\#17106](https://github.com/element-hq/synapse/issues/17106))
52+
- Bump pillow from 10.2.0 to 10.3.0. ([\#17146](https://github.com/element-hq/synapse/issues/17146))
53+
* Bump pydantic from 2.6.4 to 2.7.0. ([\#17107](https://github.com/element-hq/synapse/issues/17107))
54+
* Bump pydantic from 2.7.0 to 2.7.1. ([\#17160](https://github.com/element-hq/synapse/issues/17160))
55+
* Bump pyicu from 2.12 to 2.13. ([\#17109](https://github.com/element-hq/synapse/issues/17109))
56+
* Bump serde from 1.0.197 to 1.0.198. ([\#17111](https://github.com/element-hq/synapse/issues/17111))
57+
* Bump serde from 1.0.198 to 1.0.199. ([\#17132](https://github.com/element-hq/synapse/issues/17132))
58+
* Bump serde from 1.0.199 to 1.0.200. ([\#17161](https://github.com/element-hq/synapse/issues/17161))
59+
* Bump serde_json from 1.0.115 to 1.0.116. ([\#17112](https://github.com/element-hq/synapse/issues/17112))
60+
- Update `tornado` Python dependency from 6.2 to 6.4. ([\#17131](https://github.com/element-hq/synapse/issues/17131))
61+
* Bump twisted from 23.10.0 to 24.3.0. ([\#17135](https://github.com/element-hq/synapse/issues/17135))
62+
* Bump types-bleach from 6.1.0.1 to 6.1.0.20240331. ([\#17110](https://github.com/element-hq/synapse/issues/17110))
63+
* Bump types-pillow from 10.2.0.20240415 to 10.2.0.20240423. ([\#17159](https://github.com/element-hq/synapse/issues/17159))
64+
* Bump types-setuptools from 69.0.0.20240125 to 69.5.0.20240423. ([\#17134](https://github.com/element-hq/synapse/issues/17134))
65+
166
# Synapse 1.106.0 (2024-04-30)
267

368
No significant changes since 1.106.0rc1.

Cargo.lock

+6-6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

debian/changelog

+12
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
matrix-synapse-py3 (1.107.0) stable; urgency=medium
2+
3+
* New Synapse release 1.107.0.
4+
5+
-- Synapse Packaging team <[email protected]> Tue, 14 May 2024 14:15:34 +0100
6+
7+
matrix-synapse-py3 (1.107.0~rc1) stable; urgency=medium
8+
9+
* New Synapse release 1.107.0rc1.
10+
11+
-- Synapse Packaging team <[email protected]> Tue, 07 May 2024 16:26:26 +0100
12+
113
matrix-synapse-py3 (1.106.0) stable; urgency=medium
214

315
* New Synapse release 1.106.0.

dev-docs/Makefile

-20
This file was deleted.

dev-docs/conf.py

-50
This file was deleted.

dev-docs/index.rst

-22
This file was deleted.

dev-docs/modules/federation_sender.md

-5
This file was deleted.

docker/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ FROM docker.io/library/python:${PYTHON_VERSION}-slim-bookworm
171171
LABEL org.opencontainers.image.url='https://matrix.org/docs/projects/server/synapse'
172172
LABEL org.opencontainers.image.documentation='https://github.com/element-hq/synapse/blob/master/docker/README.md'
173173
LABEL org.opencontainers.image.source='https://github.com/element-hq/synapse.git'
174-
LABEL org.opencontainers.image.licenses='Apache-2.0'
174+
LABEL org.opencontainers.image.licenses='AGPL-3.0-or-later'
175175

176176
RUN \
177177
--mount=type=cache,target=/var/cache/apt,sharing=locked \

docker/complement/conf/workers-shared-extra.yaml.j2

+4-2
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,6 @@ allow_device_name_lookup_over_federation: true
9292
## Experimental Features ##
9393

9494
experimental_features:
95-
# client-side support for partial state in /send_join responses
96-
faster_joins: true
9795
# Enable support for polls
9896
msc3381_polls_enabled: true
9997
# Enable deleting device-specific notification settings stored in account data
@@ -104,6 +102,10 @@ experimental_features:
104102
msc3874_enabled: true
105103
# no UIA for x-signing upload for the first time
106104
msc3967_enabled: true
105+
# Expose a room summary for public rooms
106+
msc3266_enabled: true
107+
108+
msc4115_membership_on_events: true
107109

108110
server_notices:
109111
system_mxid_localpart: _server

docs/admin_api/room_membership.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Edit Room Membership API
22

3-
This API allows an administrator to join an user account with a given `user_id`
3+
This API allows an administrator to join a user account with a given `user_id`
44
to a room with a given `room_id_or_alias`. You can only modify the membership of
55
local users. The server administrator must be in the room and have permission to
66
invite users.

docs/message_retention_policies.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ clients.
5151

5252
## Server configuration
5353

54-
Support for this feature can be enabled and configured by adding a the
55-
`retention` in the Synapse configuration file (see
54+
Support for this feature can be enabled and configured by adding the
55+
`retention` option in the Synapse configuration file (see
5656
[configuration manual](usage/configuration/config_documentation.md#retention)).
5757

5858
To enable support for message retention policies, set the setting
@@ -117,7 +117,7 @@ In this example, we define three jobs:
117117
policy's `max_lifetime` is greater than a week.
118118

119119
Note that this example is tailored to show different configurations and
120-
features slightly more jobs than it's probably necessary (in practice, a
120+
features slightly more jobs than is probably necessary (in practice, a
121121
server admin would probably consider it better to replace the two last
122122
jobs with one that runs once a day and handles rooms which
123123
policy's `max_lifetime` is greater than 3 days).

docs/postgres.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ can read more about that [here](https://www.postgresql.org/docs/10/kernel-resour
128128
### Overview
129129

130130
The script `synapse_port_db` allows porting an existing synapse server
131-
backed by SQLite to using PostgreSQL. This is done in as a two phase
131+
backed by SQLite to using PostgreSQL. This is done as a two phase
132132
process:
133133

134134
1. Copy the existing SQLite database to a separate location and run

docs/setup/installation.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -259,9 +259,9 @@ users, etc.) to the developers via the `--report-stats` argument.
259259

260260
This command will generate you a config file that you can then customise, but it will
261261
also generate a set of keys for you. These keys will allow your homeserver to
262-
identify itself to other homeserver, so don't lose or delete them. It would be
262+
identify itself to other homeservers, so don't lose or delete them. It would be
263263
wise to back them up somewhere safe. (If, for whatever reason, you do need to
264-
change your homeserver's keys, you may find that other homeserver have the
264+
change your homeserver's keys, you may find that other homeservers have the
265265
old key cached. If you update the signing key, you should change the name of the
266266
key in the `<server name>.signing.key` file (the second word) to something
267267
different. See the [spec](https://matrix.org/docs/spec/server_server/latest.html#retrieving-server-keys) for more information on key management).

docs/sso_mapping_providers.md

+1
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ A custom mapping provider must specify the following methods:
9898
either accept this localpart or pick their own username. Otherwise this
9999
option has no effect. If omitted, defaults to `False`.
100100
- `display_name`: An optional string, the display name for the user.
101+
- `picture`: An optional string, the avatar url for the user.
101102
- `emails`: A list of strings, the email address(es) to associate with
102103
this user. If omitted, defaults to an empty list.
103104
* `async def get_extra_attributes(self, userinfo, token)`

docs/systemd-with-workers/system/matrix-synapse.service

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ ReloadPropagatedFrom=matrix-synapse.target
99
Type=notify
1010
NotifyAccess=main
1111
User=matrix-synapse
12+
RuntimeDirectory=synapse
1213
WorkingDirectory=/var/lib/matrix-synapse
1314
EnvironmentFile=-/etc/default/matrix-synapse
1415
ExecStartPre=/opt/venvs/matrix-synapse/bin/python -m synapse.app.homeserver --config-path=/etc/matrix-synapse/homeserver.yaml --config-path=/etc/matrix-synapse/conf.d/ --generate-keys

docs/upgrade.md

+8
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,14 @@ each upgrade are complete before moving on to the next upgrade, to avoid
117117
stacking them up. You can monitor the currently running background updates with
118118
[the Admin API](usage/administration/admin_api/background_updates.html#status).
119119
120+
# Upgrading to v1.106.0
121+
122+
## Minimum supported Rust version
123+
The minimum supported Rust version has been increased from v1.65.0 to v1.66.0.
124+
Users building from source will need to ensure their `rustc` version is up to
125+
date.
126+
127+
120128
# Upgrading to v1.100.0
121129
122130
## Minimum supported Rust version

docs/usage/administration/admin_api/background_updates.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ For each update:
4444

4545
## Enabled
4646

47-
This API allow pausing background updates.
47+
This API allows pausing background updates.
4848

4949
Background updates should *not* be paused for significant periods of time, as
5050
this can affect the performance of Synapse.

docs/usage/administration/admin_faq.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ in memory constrained environments, or increased if performance starts to
241241
degrade.
242242

243243
However, degraded performance due to a low cache factor, common on
244-
machines with slow disks, often leads to explosions in memory use due
244+
machines with slow disks, often leads to explosions in memory use due to
245245
backlogged requests. In this case, reducing the cache factor will make
246246
things worse. Instead, try increasing it drastically. 2.0 is a good
247247
starting value.

docs/usage/configuration/config_documentation.md

+10-2
Original file line numberDiff line numberDiff line change
@@ -676,8 +676,8 @@ This setting has the following sub-options:
676676
trailing 's'.
677677
* `app_name`: `app_name` defines the default value for '%(app)s' in `notif_from` and email
678678
subjects. It defaults to 'Matrix'.
679-
* `enable_notifs`: Set to true to enable sending emails for messages that the user
680-
has missed. Disabled by default.
679+
* `enable_notifs`: Set to true to allow users to receive e-mail notifications. If this is not set,
680+
users can configure e-mail notifications but will not receive them. Disabled by default.
681681
* `notif_for_new_users`: Set to false to disable automatic subscription to email
682682
notifications for new users. Enabled by default.
683683
* `notif_delay_before_mail`: The time to wait before emailing about a notification.
@@ -1317,6 +1317,12 @@ Options related to caching.
13171317
The number of events to cache in memory. Defaults to 10K. Like other caches,
13181318
this is affected by `caches.global_factor` (see below).
13191319

1320+
For example, the default is 10K and the global_factor default is 0.5.
1321+
1322+
Since 10K * 0.5 is 5K then the event cache size will be 5K.
1323+
1324+
The cache affected by this configuration is named as "*getEvent*".
1325+
13201326
Note that this option is not part of the `caches` section.
13211327

13221328
Example configuration:
@@ -1342,6 +1348,8 @@ number of entries that can be stored.
13421348

13431349
Defaults to 0.5, which will halve the size of all caches.
13441350

1351+
Note that changing this value also affects the HTTP connection pool.
1352+
13451353
* `per_cache_factors`: A dictionary of cache name to cache factor for that individual
13461354
cache. Overrides the global cache factor for a given cache.
13471355

docs/user_directory.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,9 @@ The search term is then split into words:
8686
* If unavailable, then runs of ASCII characters, numbers, underscores, and hyphens
8787
are considered words.
8888

89-
The queries for PostgreSQL and SQLite are detailed below, by their overall goal
89+
The queries for PostgreSQL and SQLite are detailed below, but their overall goal
9090
is to find matching users, preferring users who are "real" (e.g. not bots,
91-
not deactivated). It is assumed that real users will have an display name and
91+
not deactivated). It is assumed that real users will have a display name and
9292
avatar set.
9393

9494
### PostgreSQL

0 commit comments

Comments
 (0)