Merge branch 'release-v1.164'

This commit is contained in:
Eric Eastwood committed 2026-11-02 10:21:26 -06:00
commit 547004446e
5 files changed
+51 -8

No files matched your search

+9
View File
@@ -1,3 +1,12 @@
# Synapse 1.164.2 (2026-11-02)
## Bugfixes
- Restore the unstable [MSC2965](https://github.com/matrix-org/matrix-spec-proposals/pull/2965) `/auth_metadata` endpoint, which Element X clients still request after upgrading from Synapse 1.162 or earlier, causing them to fail to refresh their access token. ([\#20460](https://github.com/element-hq/synapse/issues/20460))
# Synapse 1.164.1 (2026-10-28)
## Bugfixes
+6
View File
@@ -1,3 +1,9 @@
matrix-synapse-py3 (1.164.2) stable; urgency=medium
* New synapse release 1.164.2.
-- Synapse Packaging team <packages@matrix.org> Mon, 02 Nov 2026 15:59:43 +0000
matrix-synapse-py3 (1.164.1) stable; urgency=medium
* New synapse release 1.164.1.
+1 -1
View File
@@ -1,6 +1,6 @@
[project]
name = "matrix-synapse"
version = "1.164.1"
version = "1.164.2"
description = "Homeserver for the Matrix decentralised comms protocol"
readme = "README.rst"
authors = [
+16 -5
View File
@@ -30,11 +30,22 @@ class AuthMetadataServlet(RestServlet):
Advertises the OAuth 2.0 server metadata for the homeserver.
"""
PATTERNS = client_patterns(
"/auth_metadata$",
releases=("v1",),
unstable=False,
)
# The unstable path is still requested by matrix-rust-sdk clients that last saw
# `/versions` before we advertised Matrix v1.15, and can be removed once those
# clients no longer get stuck on it.
# See https://github.com/element-hq/synapse/issues/20459
PATTERNS = [
*client_patterns(
"/auth_metadata$",
releases=("v1",),
unstable=False,
),
*client_patterns(
"/org.matrix.msc2965/auth_metadata$",
releases=(),
unstable=True,
),
]
def __init__(self, hs: "HomeServer"):
super().__init__()
+19 -2
View File
@@ -21,6 +21,8 @@ from http import HTTPStatus
from typing import ClassVar
from unittest.mock import Mock
from parameterized import parameterized_class
from twisted.internet.testing import MemoryReactor
from synapse.api.auth.mas import MasDelegatedAuth
@@ -32,6 +34,13 @@ from synapse.util.clock import Clock
from tests.unittest import HomeserverTestCase
@parameterized_class(
("endpoint",),
[
("/_matrix/client/unstable/org.matrix.msc2965/auth_metadata",),
("/_matrix/client/v1/auth_metadata",),
],
)
class AuthMetadataMasDisabledTestCase(HomeserverTestCase):
endpoint: ClassVar[str]
servlets = [
@@ -40,11 +49,19 @@ class AuthMetadataMasDisabledTestCase(HomeserverTestCase):
def test_returns_404_when_mas_disabled(self) -> None:
# Make an unauthenticated request for the discovery info.
channel = self.make_request("GET", "/_matrix/client/v1/auth_metadata")
channel = self.make_request("GET", self.endpoint)
self.assertEqual(channel.code, HTTPStatus.NOT_FOUND)
@parameterized_class(
("endpoint",),
[
("/_matrix/client/unstable/org.matrix.msc2965/auth_metadata",),
("/_matrix/client/v1/auth_metadata",),
],
)
class AuthMetadataMasEnabledTestCase(HomeserverTestCase):
endpoint: ClassVar[str]
servlets = [
auth_metadata.register_servlets,
]
@@ -72,7 +89,7 @@ class AuthMetadataMasEnabledTestCase(HomeserverTestCase):
self.auth.auth_metadata.return_value = test_auth_metadata
channel = self.make_request("GET", "/_matrix/client/v1/auth_metadata")
channel = self.make_request("GET", self.endpoint)
self.assertEqual(channel.code, HTTPStatus.OK, channel.result)
self.assertEqual(channel.json_body, test_auth_metadata)