mirror of
https://github.com/element-hq/synapse.git
synced 2026-11-04 13:28:04 +00:00
Merge branch 'release-v1.164'
This commit is contained in:
5 files changed
+51
-8
No files matched your search
@@ -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
|
||||
|
||||
Vendored
+6
@@ -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
@@ -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 = [
|
||||
|
||||
@@ -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__()
|
||||
|
||||
@@ -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)
|
||||
Reference in new issue
Block a user