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

Merge 1.92 #81

Merged
merged 70 commits into from
Oct 11, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
33fa82a
Stabilize support for MSC3958 (suppress notifications from edits). (#…
clokep Aug 23, 2023
851cbdc
Merge branch 'release-v1.91' into develop
H-Shay Aug 23, 2023
e3333ba
Bump serde_json from 1.0.104 to 1.0.105 (#16140)
dependabot[bot] Aug 24, 2023
0538e3e
Add `Retry-After` to M_LIMIT_EXCEEDED error responses (#16136)
Half-Shot Aug 24, 2023
e691243
Fix typechecking with twisted trunk (#16121)
Aug 24, 2023
5427cc2
Update URLs to matrix.org blog categories. (#16008)
AmirAflak Aug 24, 2023
efdb87c
Bump anyhow from 1.0.72 to 1.0.75 (#16141)
dependabot[bot] Aug 24, 2023
aeeca2a
Add configuration setting for CAS protocol version (#15816)
agrimpard Aug 24, 2023
5856a8b
Document `exclude_rooms_fom_sync` configuration option (#16178)
H-Shay Aug 24, 2023
daf11e2
Replace make_awaitable with AsyncMock (#16179)
clokep Aug 24, 2023
5c9402b
Add warnings about MSC3861 on certain APIs. (#16168)
Half-Shot Aug 25, 2023
a8a46b1
Replace simple_async_mock with AsyncMock (#16180)
clokep Aug 25, 2023
fcf7a57
Send proper JSON POST data to /publicRooms (#16185)
clokep Aug 25, 2023
8269942
Validate input to POST /key/v2/query endpoint. (#16183)
clokep Aug 25, 2023
ed6de4b
service-identity, incremental, and setuptools-rust now have type hint…
clokep Aug 25, 2023
84f441f
Prepare unit tests for Python 3.12 (#16099)
V02460 Aug 25, 2023
e54c1d4
Bump types-psycopg2 from 2.9.21.10 to 2.9.21.11 (#16200)
dependabot[bot] Aug 28, 2023
743860e
Bump types-pyyaml from 6.0.12.10 to 6.0.12.11 (#16199)
dependabot[bot] Aug 28, 2023
c0bbad8
Bump psycopg2 from 2.9.6 to 2.9.7 (#16196)
dependabot[bot] Aug 28, 2023
1511a55
Bump regex from 1.9.3 to 1.9.4 (#16195)
dependabot[bot] Aug 28, 2023
4379d3e
Bump setuptools-rust from 1.6.0 to 1.7.0. (#16201)
clokep Aug 28, 2023
224c2bb
Bump serde from 1.0.184 to 1.0.188 (#16194)
dependabot[bot] Aug 28, 2023
501da8e
Task scheduler: add replication notify for new task to launch ASAP (#…
Aug 28, 2023
1bf1436
Combine logic about not overriding BUSY presence. (#16170)
clokep Aug 28, 2023
40901af
Pass the device ID around in the presence handler (#16171)
clokep Aug 28, 2023
692ee2a
Fix inaccurate error message while trying to ban or unban a user with…
leviosacz Aug 29, 2023
2d72367
Update black & fix the targeted Python versions. (#16187)
clokep Aug 29, 2023
63b51ef
Support IPv6-only SMTP servers (#16155)
evilham Aug 29, 2023
001fc7b
Bump ruff from 0.0.277 to 0.0.286 (#16198)
dependabot[bot] Aug 29, 2023
9ec3da0
Bump mypy-zope & mypy. (#16188)
clokep Aug 29, 2023
e9235d9
Track currently syncing users by device for presence (#16172)
clokep Aug 29, 2023
62a1a9b
Describe which rate limiter was hit in logs (#16135)
Aug 29, 2023
ebd8374
Stop writing to the event_txn_id table (#16175)
clokep Aug 30, 2023
05d8245
Merge branch 'master' into develop
Aug 30, 2023
a2e0d4c
Fix rare bug that broke looping calls (#16210)
erikjohnston Aug 30, 2023
3de82bb
Gracefully handle failing to thumbnail images (#16211)
erikjohnston Aug 30, 2023
ed5e8a7
Ignore redundant casts in latest deps CI job (#16213)
Aug 30, 2023
6525fd6
Log the details of background update failures (#16212)
Sep 1, 2023
93f2fdd
Fix typo where we ended up with multiple `WorkerLocksHandler` (#16220)
erikjohnston Sep 1, 2023
e9eb26e
Cache device resync requests over replication (#16241)
Sep 4, 2023
8065eea
Bump sentry-sdk from 1.29.2 to 1.30.0 (#16236)
dependabot[bot] Sep 4, 2023
4382d57
Bump phonenumbers from 8.13.18 to 8.13.19 (#16237)
dependabot[bot] Sep 4, 2023
748c389
Bump furo from 2023.7.26 to 2023.8.19 (#16238)
dependabot[bot] Sep 4, 2023
f84baec
Don't reset retry timers on "valid" error codes (#16221)
erikjohnston Sep 4, 2023
7213466
Merge branch 'master' into develop
Sep 4, 2023
dcb2778
Add last_seen_ts to the admin users API (#16218)
Sep 4, 2023
d35bed8
Don't wake up destination transaction queue if they're not due for re…
erikjohnston Sep 4, 2023
0425dd2
1.92.0rc1
Sep 5, 2023
d77154b
Update changelog
Sep 5, 2023
79aa269
Amend changelog for MSC4041
Sep 5, 2023
a2b8814
Fix incorrect docstring for Ratelimiter. (#16255)
clokep Sep 5, 2023
55c20da
Merge remote-tracking branch 'origin/release-v1.91' into release-v1.92
clokep Sep 6, 2023
fd50a9b
Add back newsfile from #16258.
clokep Sep 6, 2023
7e98d38
Support releasing on macOS. (#16266)
clokep Sep 7, 2023
efe778a
1.92.0
Sep 12, 2023
4a5bf74
Inverse changelog order
Sep 12, 2023
6224636
Remove kinetic deb build, it's EOL
Sep 12, 2023
1296e47
1.92.1
Sep 12, 2023
3cf1a3a
Use bookwork as docker base image (#16324)
erikjohnston Sep 15, 2023
e6be9a3
1.92.2
erikjohnston Sep 15, 2023
e7274f7
Fix Changelog
erikjohnston Sep 15, 2023
53b7d9c
Bump pillow from 10.0.0 to 10.0.1 (#16344)
dependabot[bot] Sep 18, 2023
053155a
Mandate Pillow>=10.0.1 because of libwebp CVE (#16347)
Sep 18, 2023
d8aed6f
1.92.3
Sep 18, 2023
e36990c
Update changelog
Sep 18, 2023
62e332c
Merge tag 'v1.92.3' into merge-1.92
Fizzadar Oct 11, 2023
cd5383d
Copy down upstream pyproject & poetry lockfile
Fizzadar Oct 11, 2023
996aa3b
Fix push rule tests
Fizzadar Oct 11, 2023
42ec556
Fix poetry install
Fizzadar Oct 11, 2023
b71dc0f
Handle jump not being installed in code
Fizzadar Oct 11, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .ci/scripts/calculate_jobs.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,9 @@ def set_output(key: str, value: str):
"database": "sqlite",
"extras": "all",
}
for version in ("3.9", "3.10", "3.11")
for version in ("3.9", "3.10", "3.11", "3.12.0-rc.1")
)


trial_postgres_tests = [
{
"python-version": "3.8",
Expand Down
101 changes: 101 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,104 @@
# Synapse 1.92.3 (2023-09-18)

This is again a security update targeted at mitigating [CVE-2023-4863](https://cve.org/CVERecord?id=CVE-2023-4863).
It turns out that libwebp is bundled statically in Pillow wheels so we need to update this dependency instead of
libwebp package at the OS level.

Unlike what was advertised in 1.92.2 changelog this release also impacts PyPI wheels and Debian packages from matrix.org.

We encourage admins to upgrade as soon as possible.


### Internal Changes

- Pillow 10.0.1 is now mandatory because of libwebp CVE-2023-4863, since Pillow provides libwebp in the wheels. ([\#16347](https://github.com/matrix-org/synapse/issues/16347))

### Updates to locked dependencies

* Bump pillow from 10.0.0 to 10.0.1. ([\#16344](https://github.com/matrix-org/synapse/issues/16344))

# Synapse 1.92.2 (2023-09-15)

This is a Docker-only update to mitigate [CVE-2023-4863](https://cve.org/CVERecord?id=CVE-2023-4863), a critical vulnerability in `libwebp`. Server admins not using Docker should ensure that their `libwebp` is up to date (if installed). We encourage admins to upgrade as soon as possible.


### Updates to the Docker image

- Update docker image to use Debian bookworm as the base. ([\#16324](https://github.com/matrix-org/synapse/issues/16324))


# Synapse 1.92.1 (2023-09-12)

Stop building Ubuntu Kinetic since it is EOL and repos seem to be dead.


# Synapse 1.92.0 (2023-09-12)

### Bugfixes

- Revert [MSC3861](https://github.com/matrix-org/matrix-spec-proposals/pull/3861) introspection cache, admin impersonation and account lock. ([\#16258](https://github.com/matrix-org/synapse/issues/16258))

### Internal Changes

- Fix incorrect docstring for `Ratelimiter`. ([\#16255](https://github.com/matrix-org/synapse/issues/16255))
- Update the release script to work on macOS. ([\#16266](https://github.com/matrix-org/synapse/issues/16266))


# Synapse 1.92.0rc1 (2023-09-05)

### Features

- Add configuration setting for CAS protocol version. Contributed by Aurélien Grimpard. ([\#15816](https://github.com/matrix-org/synapse/issues/15816))
- Suppress notifications from message edits per [MSC3958](https://github.com/matrix-org/matrix-spec-proposals/pull/3958). ([\#16113](https://github.com/matrix-org/synapse/issues/16113))
- Experimental support for [MSC4041](https://github.com/matrix-org/matrix-spec-proposals/pull/4041): return a `Retry-After` header with `M_LIMIT_EXCEEDED` error responses. ([\#16136](https://github.com/matrix-org/synapse/issues/16136))
- Add `last_seen_ts` to the [admin users API](https://matrix-org.github.io/synapse/latest/admin_api/user_admin_api.html). ([\#16218](https://github.com/matrix-org/synapse/issues/16218))
- Improve resource usage when sending data to a large number of remote hosts that are marked as "down". ([\#16223](https://github.com/matrix-org/synapse/issues/16223))

### Bugfixes

- Fix IPv6-related bugs on SMTP settings, adding groundwork to fix similar issues. Contributed by @evilham and @telmich (ungleich.ch). ([\#16155](https://github.com/matrix-org/synapse/issues/16155))
- Fix a spec compliance issue where requests to the `/publicRooms` federation API would specify `include_all_networks` as a string. ([\#16185](https://github.com/matrix-org/synapse/issues/16185))
- Fix inaccurate error message while attempting to ban or unban a user with the same or higher PL by spliting the conditional statements. Contributed by @leviosacz. ([\#16205](https://github.com/matrix-org/synapse/issues/16205))
- Fix a rare bug that broke looping calls, which could lead to e.g. linearly increasing memory usage. Introduced in v1.90.0. ([\#16210](https://github.com/matrix-org/synapse/issues/16210))
- Fix a long-standing bug where uploading images would fail if we could not generate thumbnails for them. ([\#16211](https://github.com/matrix-org/synapse/issues/16211))
- Fix a long-standing bug where we did not correctly back off from servers that had "gone" if they returned 4xx series error codes. ([\#16221](https://github.com/matrix-org/synapse/issues/16221))

### Improved Documentation

- Update links to the [matrix.org blog](https://matrix.org/blog/). ([\#16008](https://github.com/matrix-org/synapse/issues/16008))
- Document which [admin APIs](https://matrix-org.github.io/synapse/latest/usage/administration/admin_api/index.html) are disabled when experimental [MSC3861](https://github.com/matrix-org/matrix-spec-proposals/pull/3861) support is enabled. ([\#16168](https://github.com/matrix-org/synapse/issues/16168))
- Document [`exclude_rooms_from_sync`](https://matrix-org.github.io/synapse/v1.92/usage/configuration/config_documentation.html#exclude_rooms_from_sync) configuration option. ([\#16178](https://github.com/matrix-org/synapse/issues/16178))

### Internal Changes

- Prepare unit tests for Python 3.12. ([\#16099](https://github.com/matrix-org/synapse/issues/16099))
- Fix nightly CI jobs. ([\#16121](https://github.com/matrix-org/synapse/issues/16121), [\#16213](https://github.com/matrix-org/synapse/issues/16213))
- Describe which rate limiter was hit in logs. ([\#16135](https://github.com/matrix-org/synapse/issues/16135))
- Simplify presence code when using workers. ([\#16170](https://github.com/matrix-org/synapse/issues/16170))
- Track per-device information in the presence code. ([\#16171](https://github.com/matrix-org/synapse/issues/16171), [\#16172](https://github.com/matrix-org/synapse/issues/16172))
- Stop using the `event_txn_id` table. ([\#16175](https://github.com/matrix-org/synapse/issues/16175))
- Use `AsyncMock` instead of custom code. ([\#16179](https://github.com/matrix-org/synapse/issues/16179), [\#16180](https://github.com/matrix-org/synapse/issues/16180))
- Improve error reporting of invalid data passed to `/_matrix/key/v2/query`. ([\#16183](https://github.com/matrix-org/synapse/issues/16183))
- Task scheduler: add replication notify for new task to launch ASAP. ([\#16184](https://github.com/matrix-org/synapse/issues/16184))
- Improve type hints. ([\#16186](https://github.com/matrix-org/synapse/issues/16186), [\#16188](https://github.com/matrix-org/synapse/issues/16188), [\#16201](https://github.com/matrix-org/synapse/issues/16201))
- Bump black version to 23.7.0. ([\#16187](https://github.com/matrix-org/synapse/issues/16187))
- Log the details of background update failures. ([\#16212](https://github.com/matrix-org/synapse/issues/16212))
- Cache device resync requests over replication. ([\#16241](https://github.com/matrix-org/synapse/issues/16241))

### Updates to locked dependencies

* Bump anyhow from 1.0.72 to 1.0.75. ([\#16141](https://github.com/matrix-org/synapse/issues/16141))
* Bump furo from 2023.7.26 to 2023.8.19. ([\#16238](https://github.com/matrix-org/synapse/issues/16238))
* Bump phonenumbers from 8.13.18 to 8.13.19. ([\#16237](https://github.com/matrix-org/synapse/issues/16237))
* Bump psycopg2 from 2.9.6 to 2.9.7. ([\#16196](https://github.com/matrix-org/synapse/issues/16196))
* Bump regex from 1.9.3 to 1.9.4. ([\#16195](https://github.com/matrix-org/synapse/issues/16195))
* Bump ruff from 0.0.277 to 0.0.286. ([\#16198](https://github.com/matrix-org/synapse/issues/16198))
* Bump sentry-sdk from 1.29.2 to 1.30.0. ([\#16236](https://github.com/matrix-org/synapse/issues/16236))
* Bump serde from 1.0.184 to 1.0.188. ([\#16194](https://github.com/matrix-org/synapse/issues/16194))
* Bump serde_json from 1.0.104 to 1.0.105. ([\#16140](https://github.com/matrix-org/synapse/issues/16140))
* Bump types-psycopg2 from 2.9.21.10 to 2.9.21.11. ([\#16200](https://github.com/matrix-org/synapse/issues/16200))
* Bump types-pyyaml from 6.0.12.10 to 6.0.12.11. ([\#16199](https://github.com/matrix-org/synapse/issues/16199))

# Synapse 1.91.2 (2023-09-06)

### Bugfixes
Expand Down
28 changes: 14 additions & 14 deletions Cargo.lock

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

30 changes: 30 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,9 +1,39 @@
matrix-synapse-py3 (1.92.3) stable; urgency=medium

* New Synapse release 1.92.3.

-- Synapse Packaging team <[email protected]> Mon, 18 Sep 2023 15:05:04 +0200

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

* New Synapse release 1.92.2.

-- Synapse Packaging team <[email protected]> Fri, 15 Sep 2023 13:17:41 +0100

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

* New Synapse release 1.92.1.

-- Synapse Packaging team <[email protected]> Tue, 12 Sep 2023 13:19:42 +0200

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

* New Synapse release 1.92.0.

-- Synapse Packaging team <[email protected]> Tue, 12 Sep 2023 11:59:23 +0200

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

* New synapse release 1.91.2.

-- Synapse Packaging team <[email protected]> Wed, 06 Sep 2023 14:59:30 +0000

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

* New Synapse release 1.92.0rc1.

-- Synapse Packaging team <[email protected]> Tue, 05 Sep 2023 11:21:43 +0100

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

* New Synapse release 1.91.1.
Expand Down
15 changes: 8 additions & 7 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ ARG PYTHON_VERSION=3.11
###
### Stage 0: generate requirements.txt
###
# We hardcode the use of Debian bullseye here because this could change upstream
# and other Dockerfiles used for testing are expecting bullseye.
FROM docker.io/library/python:${PYTHON_VERSION}-slim-bullseye as requirements
# We hardcode the use of Debian bookworm here because this could change upstream
# and other Dockerfiles used for testing are expecting bookworm.
FROM docker.io/library/python:${PYTHON_VERSION}-slim-bookworm as requirements

# RUN --mount is specific to buildkit and is documented at
# https://github.com/moby/buildkit/blob/master/frontend/dockerfile/docs/syntax.md#build-mounts-run---mount.
Expand Down Expand Up @@ -87,7 +87,7 @@ RUN if [ -z "$TEST_ONLY_IGNORE_POETRY_LOCKFILE" ]; then \
###
### Stage 1: builder
###
FROM docker.io/library/python:${PYTHON_VERSION}-slim-bullseye as builder
FROM docker.io/library/python:${PYTHON_VERSION}-slim-bookworm as builder

# install the OS build deps
RUN \
Expand Down Expand Up @@ -125,6 +125,7 @@ ENV CARGO_NET_GIT_FETCH_WITH_CLI=$CARGO_NET_GIT_FETCH_WITH_CLI

# Beeper: install shared secret authenticator
RUN pip install --prefix="/install" --no-deps --no-warn-script-location \
jump-consistent-hash \
'git+https://github.com/devture/matrix-synapse-shared-secret-auth@e178353ec87c56e0169dd04466d4769da5ed9c46#egg=shared_secret_authenticator'

# To speed up rebuilds, install all of the dependencies before we copy over
Expand Down Expand Up @@ -176,7 +177,7 @@ RUN if [ -f "/synapse/build/lib/synapse/synapse_rust.abi3.so" ]; then \
### Stage 2: runtime
###

FROM docker.io/library/python:${PYTHON_VERSION}-slim-bullseye
FROM docker.io/library/python:${PYTHON_VERSION}-slim-bookworm

LABEL org.opencontainers.image.url='https://matrix.org/docs/projects/server/synapse'
LABEL org.opencontainers.image.documentation='https://github.com/matrix-org/synapse/blob/master/docker/README.md'
Expand All @@ -191,10 +192,10 @@ RUN \
gosu \
libjpeg62-turbo \
libpq5 \
libwebp6 \
libwebp7 \
xmlsec1 \
libjemalloc2 \
libicu67 \
libicu72 \
libssl-dev \
openssl \
&& rm -rf /var/lib/apt/lists/*
Expand Down
4 changes: 2 additions & 2 deletions docker/Dockerfile-workers
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ ARG FROM=matrixdotorg/synapse:$SYNAPSE_VERSION
# target image. For repeated rebuilds, this is much faster than apt installing
# each time.

FROM docker.io/library/debian:bullseye-slim AS deps_base
FROM docker.io/library/debian:bookworm-slim AS deps_base
RUN \
--mount=type=cache,target=/var/cache/apt,sharing=locked \
--mount=type=cache,target=/var/lib/apt,sharing=locked \
Expand All @@ -21,7 +21,7 @@ FROM docker.io/library/debian:bullseye-slim AS deps_base
# which makes it much easier to copy (but we need to make sure we use an image
# based on the same debian version as the synapse image, to make sure we get
# the expected version of libc.
FROM docker.io/library/redis:7-bullseye AS redis_base
FROM docker.io/library/redis:7-bookworm AS redis_base

# now build the final image, based on the the regular Synapse docker image
FROM $FROM
Expand Down
4 changes: 2 additions & 2 deletions docker/complement/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ FROM $FROM
# the same debian version as Synapse's docker image (so the versions of the
# shared libraries match).
RUN adduser --system --uid 999 postgres --home /var/lib/postgresql
COPY --from=docker.io/library/postgres:13-bullseye /usr/lib/postgresql /usr/lib/postgresql
COPY --from=docker.io/library/postgres:13-bullseye /usr/share/postgresql /usr/share/postgresql
COPY --from=docker.io/library/postgres:13-bookworm /usr/lib/postgresql /usr/lib/postgresql
COPY --from=docker.io/library/postgres:13-bookworm /usr/share/postgresql /usr/share/postgresql
RUN mkdir /var/run/postgresql && chown postgres /var/run/postgresql
ENV PATH="${PATH}:/usr/lib/postgresql/13/bin"
ENV PGDATA=/var/lib/postgresql/data
Expand Down
8 changes: 4 additions & 4 deletions docker/editable.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ ARG PYTHON_VERSION=3.9
###
### Stage 0: generate requirements.txt
###
# We hardcode the use of Debian bullseye here because this could change upstream
# and other Dockerfiles used for testing are expecting bullseye.
FROM docker.io/library/python:${PYTHON_VERSION}-slim-bullseye
# We hardcode the use of Debian bookworm here because this could change upstream
# and other Dockerfiles used for testing are expecting bookworm.
FROM docker.io/library/python:${PYTHON_VERSION}-slim-bookworm

# Install Rust and other dependencies (stolen from normal Dockerfile)
# install the OS build deps
Expand All @@ -33,7 +33,7 @@ RUN \
gosu \
libjpeg62-turbo \
libpq5 \
libwebp6 \
libwebp7 \
xmlsec1 \
libjemalloc2 \
&& rm -rf /var/lib/apt/lists/*
Expand Down
2 changes: 2 additions & 0 deletions docs/admin_api/account_validity.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Account validity API

**Note:** This API is disabled when MSC3861 is enabled. [See #15582](https://github.com/matrix-org/synapse/pull/15582)

This API allows a server administrator to manage the validity of an account. To
use it, you must enable the account validity feature (under
`account_validity`) in Synapse's configuration.
Expand Down
2 changes: 2 additions & 0 deletions docs/admin_api/register_api.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Shared-Secret Registration

**Note:** This API is disabled when MSC3861 is enabled. [See #15582](https://github.com/matrix-org/synapse/pull/15582)

This API allows for the creation of users in an administrative and
non-interactive way. This is generally used for bootstrapping a Synapse
instance with administrator accounts.
Expand Down
Loading
Loading