summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--CHANGES.md17
-rw-r--r--debian/changelog6
-rwxr-xr-xdocker/configure_workers_and_start.py1
-rw-r--r--docs/upgrade.md5
-rw-r--r--docs/workers.md1
-rw-r--r--pyproject.toml2
-rw-r--r--synapse/federation/transport/server/__init__.py2
-rw-r--r--synapse/rest/__init__.py2
8 files changed, 31 insertions, 5 deletions
diff --git a/CHANGES.md b/CHANGES.md
index cbd8f1062e..8279960b5b 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,20 @@
+# Synapse 1.111.0rc2 (2024-07-10)
+
+### Bugfixes
+
+- Fix bug where using `synapse.app.media_repository` worker configuration would break the new media endpoints. ([\#17420](https://github.com/element-hq/synapse/issues/17420))
+
+### Improved Documentation
+
+- Document the new federation media worker endpoints in the [upgrade notes](https://element-hq.github.io/synapse/v1.111/upgrade.html) and [worker docs](https://element-hq.github.io/synapse/v1.111/workers.html). ([\#17421](https://github.com/element-hq/synapse/issues/17421))
+
+### Internal Changes
+
+- Route authenticated federation media requests to media repository workers in Complement tests. ([\#17422](https://github.com/element-hq/synapse/issues/17422))
+
+
+
+
 # Synapse 1.111.0rc1 (2024-07-09)
 
 ### Features
diff --git a/debian/changelog b/debian/changelog
index 5fc9e10a29..0f3dcc64e6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+matrix-synapse-py3 (1.111.0~rc2) stable; urgency=medium
+
+  * New synapse release 1.111.0rc2.
+
+ -- Synapse Packaging team <packages@matrix.org>  Wed, 10 Jul 2024 08:46:54 +0000
+
 matrix-synapse-py3 (1.111.0~rc1) stable; urgency=medium
 
   * New synapse release 1.111.0rc1.
diff --git a/docker/configure_workers_and_start.py b/docker/configure_workers_and_start.py
index b6690f3404..15d8d7b558 100755
--- a/docker/configure_workers_and_start.py
+++ b/docker/configure_workers_and_start.py
@@ -126,6 +126,7 @@ WORKERS_CONFIG: Dict[str, Dict[str, Any]] = {
             "^/_synapse/admin/v1/media/.*$",
             "^/_synapse/admin/v1/quarantine_media/.*$",
             "^/_matrix/client/v1/media/.*$",
+            "^/_matrix/federation/v1/media/.*$",
         ],
         # The first configured media worker will run the media background jobs
         "shared_extra_conf": {
diff --git a/docs/upgrade.md b/docs/upgrade.md
index cf53f56b06..52b1adbe90 100644
--- a/docs/upgrade.md
+++ b/docs/upgrade.md
@@ -119,13 +119,14 @@ stacking them up. You can monitor the currently running background updates with
 
 # Upgrading to v1.111.0
 
-## New worker endpoints for authenticated client media
+## New worker endpoints for authenticated client and federation media
 
 [Media repository workers](./workers.md#synapseappmedia_repository) handling
-Media APIs can now handle the following endpoint pattern:
+Media APIs can now handle the following endpoint patterns:
 
 ```
 ^/_matrix/client/v1/media/.*$
+^/_matrix/federation/v1/media/.*$
 ```
 
 Please update your reverse proxy configuration.
diff --git a/docs/workers.md b/docs/workers.md
index 22fde488a9..fbf539fa7e 100644
--- a/docs/workers.md
+++ b/docs/workers.md
@@ -740,6 +740,7 @@ Handles the media repository. It can handle all endpoints starting with:
 
     /_matrix/media/
     /_matrix/client/v1/media/
+    /_matrix/federation/v1/media/
 
 ... and the following regular expressions matching media-specific administration APIs:
 
diff --git a/pyproject.toml b/pyproject.toml
index 0b1f03bb81..41de90f9f6 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -97,7 +97,7 @@ module-name = "synapse.synapse_rust"
 
 [tool.poetry]
 name = "matrix-synapse"
-version = "1.111.0rc1"
+version = "1.111.0rc2"
 description = "Homeserver for the Matrix decentralised comms protocol"
 authors = ["Matrix.org Team and Contributors <packages@matrix.org>"]
 license = "AGPL-3.0-or-later"
diff --git a/synapse/federation/transport/server/__init__.py b/synapse/federation/transport/server/__init__.py
index 5f997040d0..72599bb204 100644
--- a/synapse/federation/transport/server/__init__.py
+++ b/synapse/federation/transport/server/__init__.py
@@ -321,7 +321,7 @@ def register_servlets(
                 servletclass == FederationMediaDownloadServlet
                 or servletclass == FederationMediaThumbnailServlet
             ):
-                if not hs.config.server.enable_media_repo:
+                if not hs.config.media.can_load_media_repo:
                     continue
 
             servletclass(
diff --git a/synapse/rest/__init__.py b/synapse/rest/__init__.py
index c94d454a28..1aa9ea3877 100644
--- a/synapse/rest/__init__.py
+++ b/synapse/rest/__init__.py
@@ -145,7 +145,7 @@ class ClientRestResource(JsonResource):
         password_policy.register_servlets(hs, client_resource)
         knock.register_servlets(hs, client_resource)
         appservice_ping.register_servlets(hs, client_resource)
-        if hs.config.server.enable_media_repo:
+        if hs.config.media.can_load_media_repo:
             from synapse.rest.client import media
 
             media.register_servlets(hs, client_resource)