Skip to content

Commit a31c075

Browse files
committed
Merge tag 'v1.109.0' into develop
- Fix the building of binary wheels for macOS by switching to macOS 12 CI runners. ([\#17319](element-hq/synapse#17319)) - When rolling back to a previous Synapse version and then forwards again to this release, don't require server operators to manually run SQL. ([\#17305](element-hq/synapse#17305), [\#17309](element-hq/synapse#17309)) - Use the release branch for sytest in release-branch PRs. ([\#17306](element-hq/synapse#17306)) - Fix bug where one-time-keys were not always included in `/sync` response when using workers. Introduced in v1.109.0rc1. ([\#17275](element-hq/synapse#17275)) - Fix bug where `/sync` could get stuck due to edge case in device lists handling. Introduced in v1.109.0rc1. ([\#17292](element-hq/synapse#17292)) - Add the ability to auto-accept invites on the behalf of users. See the [`auto_accept_invites`](https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#auto-accept-invites) config option for details. ([\#17147](element-hq/synapse#17147)) - Add experimental [MSC3575](matrix-org/matrix-spec-proposals#3575) Sliding Sync `/sync/e2ee` endpoint for to-device messages and device encryption info. ([\#17167](element-hq/synapse#17167)) - Support [MSC3916](matrix-org/matrix-spec-proposals#3916) by adding unstable media endpoints to `/_matrix/client`. ([\#17213](element-hq/synapse#17213)) - Add logging to tasks managed by the task scheduler, showing CPU and database usage. ([\#17219](element-hq/synapse#17219)) - Fix deduplicating of membership events to not create unused state groups. ([\#17164](element-hq/synapse#17164)) - Fix bug where duplicate events could be sent down sync when using workers that are overloaded. ([\#17215](element-hq/synapse#17215)) - Ignore attempts to send to-device messages to bad users, to avoid log spam when we try to connect to the bad server. ([\#17240](element-hq/synapse#17240)) - Fix handling of duplicate concurrent uploading of device one-time-keys. ([\#17241](element-hq/synapse#17241)) - Fix reporting of default tags to Sentry, such as worker name. Broke in v1.108.0. ([\#17251](element-hq/synapse#17251)) - Fix bug where typing updates would not be sent when using workers after a restart. ([\#17252](element-hq/synapse#17252)) - Update the LemonLDAP documentation to say that claims should be explicitly included in the returned `id_token`, as Synapse won't request them. ([\#17204](element-hq/synapse#17204)) - Improve DB usage when fetching related events. ([\#17083](element-hq/synapse#17083)) - Log exceptions when failing to auto-join new user according to the `auto_join_rooms` option. ([\#17176](element-hq/synapse#17176)) - Reduce work of calculating outbound device lists updates. ([\#17211](element-hq/synapse#17211)) - Improve performance of calculating device lists changes in `/sync`. ([\#17216](element-hq/synapse#17216)) - Move towards using `MultiWriterIdGenerator` everywhere. ([\#17226](element-hq/synapse#17226)) - Replaces all usages of `StreamIdGenerator` with `MultiWriterIdGenerator`. ([\#17229](element-hq/synapse#17229)) - Change the `allow_unsafe_locale` config option to also apply when setting up new databases. ([\#17238](element-hq/synapse#17238)) - Fix errors in logs about closing incorrect logging contexts when media gets rejected by a module. ([\#17239](element-hq/synapse#17239), [\#17246](element-hq/synapse#17246)) - Clean out invalid destinations from `device_federation_outbox` table. ([\#17242](element-hq/synapse#17242)) - Stop logging errors when receiving invalid User IDs in key querys requests. ([\#17250](element-hq/synapse#17250)) * Bump anyhow from 1.0.83 to 1.0.86. ([\#17220](element-hq/synapse#17220)) * Bump bcrypt from 4.1.2 to 4.1.3. ([\#17224](element-hq/synapse#17224)) * Bump lxml from 5.2.1 to 5.2.2. ([\#17261](element-hq/synapse#17261)) * Bump mypy-zope from 1.0.3 to 1.0.4. ([\#17262](element-hq/synapse#17262)) * Bump phonenumbers from 8.13.35 to 8.13.37. ([\#17235](element-hq/synapse#17235)) * Bump prometheus-client from 0.19.0 to 0.20.0. ([\#17233](element-hq/synapse#17233)) * Bump pyasn1 from 0.5.1 to 0.6.0. ([\#17223](element-hq/synapse#17223)) * Bump pyicu from 2.13 to 2.13.1. ([\#17236](element-hq/synapse#17236)) * Bump pyopenssl from 24.0.0 to 24.1.0. ([\#17234](element-hq/synapse#17234)) * Bump serde from 1.0.201 to 1.0.202. ([\#17221](element-hq/synapse#17221)) * Bump serde from 1.0.202 to 1.0.203. ([\#17232](element-hq/synapse#17232)) * Bump twine from 5.0.0 to 5.1.0. ([\#17225](element-hq/synapse#17225)) * Bump types-psycopg2 from 2.9.21.20240311 to 2.9.21.20240417. ([\#17222](element-hq/synapse#17222)) * Bump types-pyopenssl from 24.0.0.20240311 to 24.1.0.20240425. ([\#17260](element-hq/synapse#17260))
2 parents bff6843 + 4af654f commit a31c075

Some content is hidden

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

70 files changed

+5998
-2141
lines changed

CHANGES.md

+86
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,89 @@
1+
# Synapse 1.109.0 (2024-06-18)
2+
3+
### Internal Changes
4+
5+
- Fix the building of binary wheels for macOS by switching to macOS 12 CI runners. ([\#17319](https://github.com/element-hq/synapse/issues/17319))
6+
7+
8+
9+
10+
# Synapse 1.109.0rc3 (2024-06-17)
11+
12+
### Bugfixes
13+
14+
- When rolling back to a previous Synapse version and then forwards again to this release, don't require server operators to manually run SQL. ([\#17305](https://github.com/element-hq/synapse/issues/17305), [\#17309](https://github.com/element-hq/synapse/issues/17309))
15+
16+
### Internal Changes
17+
18+
- Use the release branch for sytest in release-branch PRs. ([\#17306](https://github.com/element-hq/synapse/issues/17306))
19+
20+
21+
22+
23+
# Synapse 1.109.0rc2 (2024-06-11)
24+
25+
### Bugfixes
26+
27+
- Fix bug where one-time-keys were not always included in `/sync` response when using workers. Introduced in v1.109.0rc1. ([\#17275](https://github.com/element-hq/synapse/issues/17275))
28+
- Fix bug where `/sync` could get stuck due to edge case in device lists handling. Introduced in v1.109.0rc1. ([\#17292](https://github.com/element-hq/synapse/issues/17292))
29+
30+
31+
32+
33+
# Synapse 1.109.0rc1 (2024-06-04)
34+
35+
### Features
36+
37+
- Add the ability to auto-accept invites on the behalf of users. See the [`auto_accept_invites`](https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#auto-accept-invites) config option for details. ([\#17147](https://github.com/element-hq/synapse/issues/17147))
38+
- Add experimental [MSC3575](https://github.com/matrix-org/matrix-spec-proposals/pull/3575) Sliding Sync `/sync/e2ee` endpoint for to-device messages and device encryption info. ([\#17167](https://github.com/element-hq/synapse/issues/17167))
39+
- Support [MSC3916](https://github.com/matrix-org/matrix-spec-proposals/issues/3916) by adding unstable media endpoints to `/_matrix/client`. ([\#17213](https://github.com/element-hq/synapse/issues/17213))
40+
- Add logging to tasks managed by the task scheduler, showing CPU and database usage. ([\#17219](https://github.com/element-hq/synapse/issues/17219))
41+
42+
### Bugfixes
43+
44+
- Fix deduplicating of membership events to not create unused state groups. ([\#17164](https://github.com/element-hq/synapse/issues/17164))
45+
- Fix bug where duplicate events could be sent down sync when using workers that are overloaded. ([\#17215](https://github.com/element-hq/synapse/issues/17215))
46+
- Ignore attempts to send to-device messages to bad users, to avoid log spam when we try to connect to the bad server. ([\#17240](https://github.com/element-hq/synapse/issues/17240))
47+
- Fix handling of duplicate concurrent uploading of device one-time-keys. ([\#17241](https://github.com/element-hq/synapse/issues/17241))
48+
- Fix reporting of default tags to Sentry, such as worker name. Broke in v1.108.0. ([\#17251](https://github.com/element-hq/synapse/issues/17251))
49+
- Fix bug where typing updates would not be sent when using workers after a restart. ([\#17252](https://github.com/element-hq/synapse/issues/17252))
50+
51+
### Improved Documentation
52+
53+
- Update the LemonLDAP documentation to say that claims should be explicitly included in the returned `id_token`, as Synapse won't request them. ([\#17204](https://github.com/element-hq/synapse/issues/17204))
54+
55+
### Internal Changes
56+
57+
- Improve DB usage when fetching related events. ([\#17083](https://github.com/element-hq/synapse/issues/17083))
58+
- Log exceptions when failing to auto-join new user according to the `auto_join_rooms` option. ([\#17176](https://github.com/element-hq/synapse/issues/17176))
59+
- Reduce work of calculating outbound device lists updates. ([\#17211](https://github.com/element-hq/synapse/issues/17211))
60+
- Improve performance of calculating device lists changes in `/sync`. ([\#17216](https://github.com/element-hq/synapse/issues/17216))
61+
- Move towards using `MultiWriterIdGenerator` everywhere. ([\#17226](https://github.com/element-hq/synapse/issues/17226))
62+
- Replaces all usages of `StreamIdGenerator` with `MultiWriterIdGenerator`. ([\#17229](https://github.com/element-hq/synapse/issues/17229))
63+
- Change the `allow_unsafe_locale` config option to also apply when setting up new databases. ([\#17238](https://github.com/element-hq/synapse/issues/17238))
64+
- Fix errors in logs about closing incorrect logging contexts when media gets rejected by a module. ([\#17239](https://github.com/element-hq/synapse/issues/17239), [\#17246](https://github.com/element-hq/synapse/issues/17246))
65+
- Clean out invalid destinations from `device_federation_outbox` table. ([\#17242](https://github.com/element-hq/synapse/issues/17242))
66+
- Stop logging errors when receiving invalid User IDs in key querys requests. ([\#17250](https://github.com/element-hq/synapse/issues/17250))
67+
68+
69+
70+
### Updates to locked dependencies
71+
72+
* Bump anyhow from 1.0.83 to 1.0.86. ([\#17220](https://github.com/element-hq/synapse/issues/17220))
73+
* Bump bcrypt from 4.1.2 to 4.1.3. ([\#17224](https://github.com/element-hq/synapse/issues/17224))
74+
* Bump lxml from 5.2.1 to 5.2.2. ([\#17261](https://github.com/element-hq/synapse/issues/17261))
75+
* Bump mypy-zope from 1.0.3 to 1.0.4. ([\#17262](https://github.com/element-hq/synapse/issues/17262))
76+
* Bump phonenumbers from 8.13.35 to 8.13.37. ([\#17235](https://github.com/element-hq/synapse/issues/17235))
77+
* Bump prometheus-client from 0.19.0 to 0.20.0. ([\#17233](https://github.com/element-hq/synapse/issues/17233))
78+
* Bump pyasn1 from 0.5.1 to 0.6.0. ([\#17223](https://github.com/element-hq/synapse/issues/17223))
79+
* Bump pyicu from 2.13 to 2.13.1. ([\#17236](https://github.com/element-hq/synapse/issues/17236))
80+
* Bump pyopenssl from 24.0.0 to 24.1.0. ([\#17234](https://github.com/element-hq/synapse/issues/17234))
81+
* Bump serde from 1.0.201 to 1.0.202. ([\#17221](https://github.com/element-hq/synapse/issues/17221))
82+
* Bump serde from 1.0.202 to 1.0.203. ([\#17232](https://github.com/element-hq/synapse/issues/17232))
83+
* Bump twine from 5.0.0 to 5.1.0. ([\#17225](https://github.com/element-hq/synapse/issues/17225))
84+
* Bump types-psycopg2 from 2.9.21.20240311 to 2.9.21.20240417. ([\#17222](https://github.com/element-hq/synapse/issues/17222))
85+
* Bump types-pyopenssl from 24.0.0.20240311 to 24.1.0.20240425. ([\#17260](https://github.com/element-hq/synapse/issues/17260))
86+
187
# Synapse 1.108.0 (2024-05-28)
288

389
No significant changes since 1.108.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

+24
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,27 @@
1+
matrix-synapse-py3 (1.109.0) stable; urgency=medium
2+
3+
* New synapse release 1.109.0.
4+
5+
-- Synapse Packaging team <[email protected]> Tue, 18 Jun 2024 09:45:15 +0000
6+
7+
matrix-synapse-py3 (1.109.0~rc3) stable; urgency=medium
8+
9+
* New synapse release 1.109.0rc3.
10+
11+
-- Synapse Packaging team <[email protected]> Mon, 17 Jun 2024 12:05:24 +0000
12+
13+
matrix-synapse-py3 (1.109.0~rc2) stable; urgency=medium
14+
15+
* New synapse release 1.109.0rc2.
16+
17+
-- Synapse Packaging team <[email protected]> Tue, 11 Jun 2024 13:20:17 +0000
18+
19+
matrix-synapse-py3 (1.109.0~rc1) stable; urgency=medium
20+
21+
* New Synapse release 1.109.0rc1.
22+
23+
-- Synapse Packaging team <[email protected]> Tue, 04 Jun 2024 09:42:46 +0100
24+
125
matrix-synapse-py3 (1.108.0) stable; urgency=medium
226

327
* New Synapse release 1.108.0.

docs/openid.md

+2
Original file line numberDiff line numberDiff line change
@@ -525,6 +525,8 @@ oidc_providers:
525525
(`Options > Security > ID Token signature algorithm` and `Options > Security >
526526
Access Token signature algorithm`)
527527
- Scopes: OpenID, Email and Profile
528+
- Force claims into `id_token`
529+
(`Options > Advanced > Force claims to be returned in ID Token`)
528530
- Allowed redirection addresses for login (`Options > Basic > Allowed
529531
redirection addresses for login` ) :
530532
`[synapse public baseurl]/_synapse/client/oidc/callback`

docs/postgres.md

+5-16
Original file line numberDiff line numberDiff line change
@@ -242,12 +242,11 @@ host all all ::1/128 ident
242242
243243
### Fixing incorrect `COLLATE` or `CTYPE`
244244
245-
Synapse will refuse to set up a new database if it has the wrong values of
246-
`COLLATE` and `CTYPE` set. Synapse will also refuse to start an existing database with incorrect values
247-
of `COLLATE` and `CTYPE` unless the config flag `allow_unsafe_locale`, found in the
248-
`database` section of the config, is set to true. Using different locales can cause issues if the locale library is updated from
249-
underneath the database, or if a different version of the locale is used on any
250-
replicas.
245+
Synapse will refuse to start when using a database with incorrect values of
246+
`COLLATE` and `CTYPE` unless the config flag `allow_unsafe_locale`, found in the
247+
`database` section of the config, is set to true. Using different locales can
248+
cause issues if the locale library is updated from underneath the database, or
249+
if a different version of the locale is used on any replicas.
251250
252251
If you have a database with an unsafe locale, the safest way to fix the issue is to dump the database and recreate it with
253252
the correct locale parameter (as shown above). It is also possible to change the
@@ -256,13 +255,3 @@ however extreme care must be taken to avoid database corruption.
256255
257256
Note that the above may fail with an error about duplicate rows if corruption
258257
has already occurred, and such duplicate rows will need to be manually removed.
259-
260-
### Fixing inconsistent sequences error
261-
262-
Synapse uses Postgres sequences to generate IDs for various tables. A sequence
263-
and associated table can get out of sync if, for example, Synapse has been
264-
downgraded and then upgraded again.
265-
266-
To fix the issue shut down Synapse (including any and all workers) and run the
267-
SQL command included in the error message. Once done Synapse should start
268-
successfully.

docs/usage/configuration/config_documentation.md

+29
Original file line numberDiff line numberDiff line change
@@ -4595,3 +4595,32 @@ background_updates:
45954595
min_batch_size: 10
45964596
default_batch_size: 50
45974597
```
4598+
---
4599+
## Auto Accept Invites
4600+
Configuration settings related to automatically accepting invites.
4601+
4602+
---
4603+
### `auto_accept_invites`
4604+
4605+
Automatically accepting invites controls whether users are presented with an invite request or if they
4606+
are instead automatically joined to a room when receiving an invite. Set the `enabled` sub-option to true to
4607+
enable auto-accepting invites. Defaults to false.
4608+
This setting has the following sub-options:
4609+
* `enabled`: Whether to run the auto-accept invites logic. Defaults to false.
4610+
* `only_for_direct_messages`: Whether invites should be automatically accepted for all room types, or only
4611+
for direct messages. Defaults to false.
4612+
* `only_from_local_users`: Whether to only automatically accept invites from users on this homeserver. Defaults to false.
4613+
* `worker_to_run_on`: Which worker to run this module on. This must match the "worker_name".
4614+
4615+
NOTE: Care should be taken not to enable this setting if the `synapse_auto_accept_invite` module is enabled and installed.
4616+
The two modules will compete to perform the same task and may result in undesired behaviour. For example, multiple join
4617+
events could be generated from a single invite.
4618+
4619+
Example configuration:
4620+
```yaml
4621+
auto_accept_invites:
4622+
enabled: true
4623+
only_for_direct_messages: true
4624+
only_from_local_users: true
4625+
worker_to_run_on: "worker_1"
4626+
```

0 commit comments

Comments
 (0)