Skip to content

Commit

Permalink
Merge branch 'develop' into schema
Browse files Browse the repository at this point in the history
  • Loading branch information
V02460 committed Nov 5, 2024
2 parents fb6a876 + 1c2b18a commit 2dddfdf
Show file tree
Hide file tree
Showing 116 changed files with 4,129 additions and 526 deletions.
6 changes: 3 additions & 3 deletions .ci/scripts/calculate_jobs.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ def set_output(key: str, value: str):
"database": "sqlite",
"extras": "all",
}
for version in ("3.9", "3.10", "3.11", "3.12")
for version in ("3.9", "3.10", "3.11", "3.12", "3.13")
)

trial_postgres_tests = [
Expand All @@ -68,9 +68,9 @@ def set_output(key: str, value: str):
if not IS_PR:
trial_postgres_tests.append(
{
"python-version": "3.12",
"python-version": "3.13",
"database": "postgres",
"postgres-version": "16",
"postgres-version": "17",
"extras": "all",
}
)
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
run: docker buildx inspect

- name: Install Cosign
uses: sigstore/cosign-installer@v3.6.0
uses: sigstore/cosign-installer@v3.7.0

- name: Checkout repository
uses: actions/checkout@v4
Expand Down
107 changes: 107 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,110 @@
# Synapse 1.118.0 (2024-10-29)

No significant changes since 1.118.0rc1.

### Python 3.8 support will be dropped in the next release

Python 3.8 is now [end-of-life](https://devguide.python.org/versions/). As per our [Deprecation Policy for Platform Dependencies](https://element-hq.github.io/synapse/latest/deprecation_policy.html#policy), Synapse will be dropping support for Python 3.8 in the next release; Synapse 1.119.0.

Synapse 1.118.x will be the final release to support Python 3.8. If you are running Synapse with Python 3.8, please upgrade before the 1.119.0 release, due in less than one month.

### Python 3.13 and PostgreSQL 17 support

On the other end of the spectrum, Synapse 1.118.0 is the first release to support [Python 3.13](https://www.python.org/downloads/release/python-3130/)! [PostgreSQL 17](https://www.postgresql.org/about/news/postgresql-17-released-2936/) is also supported as of this release.


# Synapse 1.118.0rc1 (2024-10-22)

### Features

- Added the `display_name_claim` option to the JWT configuration. This option allows specifying the claim key that contains the user's display name in the JWT payload. ([\#17708](https://github.com/element-hq/synapse/issues/17708))
- Implement [MSC4210](https://github.com/matrix-org/matrix-spec-proposals/pull/4210): Remove legacy mentions. Contributed by @tulir @ Beeper. ([\#17783](https://github.com/element-hq/synapse/issues/17783))

### Bugfixes

- Fix saving of PNG thumbnails, when the original image is in the CMYK color space. ([\#17736](https://github.com/element-hq/synapse/issues/17736))
- Fix bug with sliding sync where the server would not return state that was added to the `required_state` config. ([\#17785](https://github.com/element-hq/synapse/issues/17785), [\#17805](https://github.com/element-hq/synapse/issues/17805))
- Fix a bug in [MSC4186](https://github.com/matrix-org/matrix-spec-proposals/pull/4186) Sliding Sync that would cause rooms to stay forgotten and hidden even after rejoining. ([\#17835](https://github.com/element-hq/synapse/issues/17835))

### Improved Documentation

- Clarify when the `user_may_invite` and `user_may_send_3pid_invite` module callbacks are called. ([\#17627](https://github.com/element-hq/synapse/issues/17627))
- Correct documentation to refer to the `--config-path` argument instead of `--config-file`. ([\#17802](https://github.com/element-hq/synapse/issues/17802))
- Fix typo in `target_cache_memory_usage` docs. ([\#17825](https://github.com/element-hq/synapse/issues/17825))

### Internal Changes

- Slight optimization when fetching state/events for Sliding Sync. ([\#17718](https://github.com/element-hq/synapse/issues/17718))
- Add Python 3.13 and Postgres 17 to the test matrix. ([\#17752](https://github.com/element-hq/synapse/issues/17752))
- Test github token before running release script steps. ([\#17803](https://github.com/element-hq/synapse/issues/17803))
- Build debian packages for new Ubuntu versions, and stop building for no longer supported versions. ([\#17824](https://github.com/element-hq/synapse/issues/17824))
- Enable the `.org.matrix.msc4028.encrypted_event` push rule by default in accordance with [MSC4028](https://github.com/matrix-org/matrix-spec-proposals/pull/4028). Note that the corresponding experimental feature must still be switched on for this push rule to have any effect. ([\#17826](https://github.com/element-hq/synapse/issues/17826))
- Fix some typing issues uncovered by upgrading mypy to 1.11.x. ([\#17842](https://github.com/element-hq/synapse/issues/17842))



### Updates to locked dependencies

* Bump mypy from 1.10.1 to 1.11.2. ([\#17842](https://github.com/element-hq/synapse/issues/17842))
* Bump mypy-zope from 1.0.5 to 1.0.7. ([\#17827](https://github.com/element-hq/synapse/issues/17827))
* Bump phonenumbers from 8.13.46 to 8.13.47. ([\#17797](https://github.com/element-hq/synapse/issues/17797))
* Bump psycopg2 from 2.9.9 to 2.9.10. ([\#17843](https://github.com/element-hq/synapse/issues/17843))
* Bump ruff from 0.6.8 to 0.6.9. ([\#17794](https://github.com/element-hq/synapse/issues/17794))
* Bump sentry-sdk from 2.14.0 to 2.15.0. ([\#17795](https://github.com/element-hq/synapse/issues/17795))
* Bump sentry-sdk from 2.15.0 to 2.16.0. ([\#17829](https://github.com/element-hq/synapse/issues/17829))
* Bump sentry-sdk from 2.16.0 to 2.17.0. ([\#17844](https://github.com/element-hq/synapse/issues/17844))
* Bump sigstore/cosign-installer from 3.6.0 to 3.7.0. ([\#17798](https://github.com/element-hq/synapse/issues/17798))
* Bump tomli from 2.0.1 to 2.0.2. ([\#17796](https://github.com/element-hq/synapse/issues/17796))
* Bump types-requests from 2.32.0.20240914 to 2.32.0.20241016. ([\#17841](https://github.com/element-hq/synapse/issues/17841))
* Bump types-setuptools from 75.1.0.20240917 to 75.1.0.20241014. ([\#17828](https://github.com/element-hq/synapse/issues/17828))

# Synapse 1.117.0 (2024-10-15)

No significant changes since 1.117.0rc1.




# Synapse 1.117.0rc1 (2024-10-08)

### Features

- Add config option `redis.password_path`. ([\#17717](https://github.com/element-hq/synapse/issues/17717))

### Bugfixes

- Fix a rare bug introduced in v1.29.0 where invalidating a user's access token from a worker could raise an error. ([\#17779](https://github.com/element-hq/synapse/issues/17779))
- In the response to `GET /_matrix/client/versions`, set the `unstable_features` flag for [MSC4140](https://github.com/matrix-org/matrix-spec-proposals/pull/4140) to `false` when server configuration disables support for delayed events. ([\#17780](https://github.com/element-hq/synapse/issues/17780))
- Improve input validation and room membership checks in admin redaction API. ([\#17792](https://github.com/element-hq/synapse/issues/17792))

### Improved Documentation

- Clarify the docstring of `test_forget_when_not_left`. ([\#17628](https://github.com/element-hq/synapse/issues/17628))
- Add documentation note about PYTHONMALLOC for accurate jemalloc memory tracking. Contributed by @hensg. ([\#17709](https://github.com/element-hq/synapse/issues/17709))
- Remove spurious "TODO UPDATE ALL THIS" note in the Debian installation docs. ([\#17749](https://github.com/element-hq/synapse/issues/17749))
- Explain how load balancing works for `federation_sender_instances`. ([\#17776](https://github.com/element-hq/synapse/issues/17776))

### Internal Changes

- Minor performance increase for large accounts using sliding sync. ([\#17751](https://github.com/element-hq/synapse/issues/17751))
- Increase performance of the notifier when there are many syncing users. ([\#17765](https://github.com/element-hq/synapse/issues/17765), [\#17766](https://github.com/element-hq/synapse/issues/17766))
- Fix performance of streams that don't change often. ([\#17767](https://github.com/element-hq/synapse/issues/17767))
- Improve performance of sliding sync connections that do not ask for any rooms. ([\#17768](https://github.com/element-hq/synapse/issues/17768))
- Reduce overhead of sliding sync E2EE loops. ([\#17771](https://github.com/element-hq/synapse/issues/17771))
- Sliding sync minor performance speed up using new table. ([\#17787](https://github.com/element-hq/synapse/issues/17787))
- Sliding sync minor performance improvement by omitting unchanged data from incremental responses. ([\#17788](https://github.com/element-hq/synapse/issues/17788))
- Speed up sliding sync when there are many active subscriptions. ([\#17789](https://github.com/element-hq/synapse/issues/17789))
- Add missing license headers on new source files. ([\#17799](https://github.com/element-hq/synapse/issues/17799))



### Updates to locked dependencies

* Bump phonenumbers from 8.13.45 to 8.13.46. ([\#17773](https://github.com/element-hq/synapse/issues/17773))
* Bump python-multipart from 0.0.10 to 0.0.12. ([\#17772](https://github.com/element-hq/synapse/issues/17772))
* Bump regex from 1.10.6 to 1.11.0. ([\#17770](https://github.com/element-hq/synapse/issues/17770))
* Bump ruff from 0.6.7 to 0.6.8. ([\#17774](https://github.com/element-hq/synapse/issues/17774))

# Synapse 1.116.0 (2024-10-01)

No significant changes since 1.116.0rc2.
Expand Down
32 changes: 16 additions & 16 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions changelog.d/17374.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Support [MSC4151](https://github.com/matrix-org/matrix-spec-proposals/pull/4151)'s stable report room API.
1 change: 0 additions & 1 deletion changelog.d/17628.doc

This file was deleted.

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

This file was deleted.

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

This file was deleted.

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

This file was deleted.

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

This file was deleted.

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

This file was deleted.

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

This file was deleted.

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

This file was deleted.

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

This file was deleted.

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

This file was deleted.

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

This file was deleted.

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

This file was deleted.

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

This file was deleted.

1 change: 1 addition & 0 deletions changelog.d/17786.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Add a test for downloading and thumbnailing a CMYK JPEG.
1 change: 0 additions & 1 deletion changelog.d/17789.misc

This file was deleted.

1 change: 1 addition & 0 deletions changelog.d/17809.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fix bug with sliding sync where `$LAZY`-loading room members would not return `required_state` membership in incremental syncs.
1 change: 1 addition & 0 deletions changelog.d/17813.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Avoid lost data on some database query retries.
1 change: 1 addition & 0 deletions changelog.d/17814.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Avoid lost data on some database query retries.
1 change: 1 addition & 0 deletions changelog.d/17815.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Avoid lost data on some database query retries.
1 change: 1 addition & 0 deletions changelog.d/17816.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Avoid lost data on some database query retries.
1 change: 1 addition & 0 deletions changelog.d/17817.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Avoid lost data on some database query retries.
1 change: 1 addition & 0 deletions changelog.d/17818.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Avoid lost data on some database query retries.
1 change: 1 addition & 0 deletions changelog.d/17830.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Include the destination in the error of 'Destination mismatch' on federation requests.
1 change: 1 addition & 0 deletions changelog.d/17839.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Check if user has membership in a room before tagging it. Contributed by Lama Alosaimi.
2 changes: 2 additions & 0 deletions changelog.d/17847.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Fix a bug in the admin redact endpoint where the background task would not run if a worker was specified in
the config option `run_background_tasks_on`.
1 change: 1 addition & 0 deletions changelog.d/17861.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fix detection when the built Rust library was outdated when using source installations.
1 change: 1 addition & 0 deletions changelog.d/17884.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Minor speed-up of sliding sync by computing extensions results in parallel.
1 change: 1 addition & 0 deletions changelog.d/17887.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Bump the default Python version in the Synapse Dockerfile from 3.11 -> 3.12.
1 change: 1 addition & 0 deletions changelog.d/17894.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Remove usage of internal header encoding API.
24 changes: 24 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,27 @@
matrix-synapse-py3 (1.118.0) stable; urgency=medium

* New Synapse release 1.118.0.

-- Synapse Packaging team <[email protected]> Tue, 29 Oct 2024 15:29:53 +0100

matrix-synapse-py3 (1.118.0~rc1) stable; urgency=medium

* New Synapse release 1.118.0rc1.

-- Synapse Packaging team <[email protected]> Tue, 22 Oct 2024 11:48:14 +0100

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

* New Synapse release 1.117.0.

-- Synapse Packaging team <[email protected]> Tue, 15 Oct 2024 10:46:30 +0100

matrix-synapse-py3 (1.117.0~rc1) stable; urgency=medium

* New Synapse release 1.117.0rc1.

-- Synapse Packaging team <[email protected]> Tue, 08 Oct 2024 14:37:11 +0100

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

* New Synapse release 1.116.0.
Expand Down
2 changes: 1 addition & 1 deletion docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
# `poetry export | pip install -r /dev/stdin`, but beware: we have experienced bugs in
# in `poetry export` in the past.

ARG PYTHON_VERSION=3.11
ARG PYTHON_VERSION=3.12

###
### Stage 0: generate requirements.txt
Expand Down
3 changes: 3 additions & 0 deletions docs/admin_api/user_admin_api.md
Original file line number Diff line number Diff line change
Expand Up @@ -1365,6 +1365,9 @@ _Added in Synapse 1.72.0._

## Redact all the events of a user

This endpoint allows an admin to redact the events of a given user. There are no restrictions on redactions for a
local user. By default, we puppet the user who sent the message to redact it themselves. Redactions for non-local users are issued using the admin user, and will fail in rooms where the admin user is not admin/does not have the specified power level to issue redactions.

The API is
```
POST /_synapse/admin/v1/user/$user_id/redact
Expand Down
9 changes: 6 additions & 3 deletions docs/modules/spam_checker_callbacks.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,9 @@ _Changed in Synapse v1.62.0: `synapse.module_api.NOT_SPAM` and `synapse.module_a
async def user_may_invite(inviter: str, invitee: str, room_id: str) -> Union["synapse.module_api.NOT_SPAM", "synapse.module_api.errors.Codes", bool]
```

Called when processing an invitation. Both inviter and invitee are
represented by their Matrix user ID (e.g. `@alice:example.com`).
Called when processing an invitation, both when one is created locally or when
receiving an invite over federation. Both inviter and invitee are represented by
their Matrix user ID (e.g. `@alice:example.com`).


The callback must return one of:
Expand Down Expand Up @@ -112,7 +113,9 @@ async def user_may_send_3pid_invite(
```

Called when processing an invitation using a third-party identifier (also called a 3PID,
e.g. an email address or a phone number).
e.g. an email address or a phone number). It is only called when a 3PID invite is created
locally - not when one is received in a room over federation. If the 3PID is already associated
with a Matrix ID, the spam check will go through the `user_may_invite` callback instead.

The inviter is represented by their Matrix user ID (e.g. `@alice:example.com`), and the
invitee is represented by its medium (e.g. "email") and its address
Expand Down
Loading

0 comments on commit 2dddfdf

Please sign in to comment.