From 40065811a143cd3175f5ccfeff87e926c6f0e452 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Thu, 26 Jun 2025 10:43:51 -0600 Subject: [PATCH] Matrix 1.15 --- .../newsfragments/2130.clarification | 1 - .../newsfragments/2068.clarification | 1 - .../newsfragments/2077.clarification | 1 - .../newsfragments/2083.clarification | 1 - .../client_server/newsfragments/2095.feature | 1 - .../newsfragments/2101.clarification | 1 - .../newsfragments/2102.clarification | 1 - .../newsfragments/2104.clarification | 1 - .../newsfragments/2106.clarification | 1 - .../newsfragments/2107.clarification | 1 - .../newsfragments/2108.clarification | 1 - .../newsfragments/2109.clarification | 1 - .../newsfragments/2121.clarification | 1 - .../client_server/newsfragments/2122.feature | 1 - .../client_server/newsfragments/2125.feature | 1 - .../client_server/newsfragments/2125.new | 1 - .../newsfragments/2140.clarification | 1 - .../client_server/newsfragments/2141.feature | 1 - .../newsfragments/2144.clarification | 1 - .../client_server/newsfragments/2147.new | 1 - .../client_server/newsfragments/2148.feature | 1 - .../client_server/newsfragments/2149.feature | 1 - .../client_server/newsfragments/2150.feature | 1 - .../client_server/newsfragments/2151.feature | 1 - .../newsfragments/2154.clarification | 1 - .../client_server/newsfragments/2158.feature | 1 - .../client_server/newsfragments/2159.feature | 1 - .../client_server/newsfragments/2164.feature | 1 - .../newsfragments/2083.clarification | 1 - .../internal/newsfragments/2081.clarification | 1 - .../internal/newsfragments/2088.clarification | 1 - .../internal/newsfragments/2115.clarification | 1 - .../internal/newsfragments/2123.clarification | 1 - .../internal/newsfragments/2137.clarification | 1 - .../newsfragments/2067.clarification | 1 - .../newsfragments/2083.clarification | 1 - .../server_server/newsfragments/2095.feature | 1 - .../newsfragments/2100.clarification | 1 - .../newsfragments/2104.clarification | 1 - .../server_server/newsfragments/2125.feature | 1 - .../newsfragments/2128.clarification | 1 - .../newsfragments/2140.clarification | 1 - config/_default/hugo.toml | 6 +- content/changelog/v1.15.md | 97 +++++++++++++++++++ 44 files changed, 100 insertions(+), 45 deletions(-) delete mode 100644 changelogs/application_service/newsfragments/2130.clarification delete mode 100644 changelogs/client_server/newsfragments/2068.clarification delete mode 100644 changelogs/client_server/newsfragments/2077.clarification delete mode 100644 changelogs/client_server/newsfragments/2083.clarification delete mode 100644 changelogs/client_server/newsfragments/2095.feature delete mode 100644 changelogs/client_server/newsfragments/2101.clarification delete mode 100644 changelogs/client_server/newsfragments/2102.clarification delete mode 100644 changelogs/client_server/newsfragments/2104.clarification delete mode 100644 changelogs/client_server/newsfragments/2106.clarification delete mode 100644 changelogs/client_server/newsfragments/2107.clarification delete mode 100644 changelogs/client_server/newsfragments/2108.clarification delete mode 100644 changelogs/client_server/newsfragments/2109.clarification delete mode 100644 changelogs/client_server/newsfragments/2121.clarification delete mode 100644 changelogs/client_server/newsfragments/2122.feature delete mode 100644 changelogs/client_server/newsfragments/2125.feature delete mode 100644 changelogs/client_server/newsfragments/2125.new delete mode 100644 changelogs/client_server/newsfragments/2140.clarification delete mode 100644 changelogs/client_server/newsfragments/2141.feature delete mode 100644 changelogs/client_server/newsfragments/2144.clarification delete mode 100644 changelogs/client_server/newsfragments/2147.new delete mode 100644 changelogs/client_server/newsfragments/2148.feature delete mode 100644 changelogs/client_server/newsfragments/2149.feature delete mode 100644 changelogs/client_server/newsfragments/2150.feature delete mode 100644 changelogs/client_server/newsfragments/2151.feature delete mode 100644 changelogs/client_server/newsfragments/2154.clarification delete mode 100644 changelogs/client_server/newsfragments/2158.feature delete mode 100644 changelogs/client_server/newsfragments/2159.feature delete mode 100644 changelogs/client_server/newsfragments/2164.feature delete mode 100644 changelogs/identity_service/newsfragments/2083.clarification delete mode 100644 changelogs/internal/newsfragments/2081.clarification delete mode 100644 changelogs/internal/newsfragments/2088.clarification delete mode 100644 changelogs/internal/newsfragments/2115.clarification delete mode 100644 changelogs/internal/newsfragments/2123.clarification delete mode 100644 changelogs/internal/newsfragments/2137.clarification delete mode 100644 changelogs/server_server/newsfragments/2067.clarification delete mode 100644 changelogs/server_server/newsfragments/2083.clarification delete mode 100644 changelogs/server_server/newsfragments/2095.feature delete mode 100644 changelogs/server_server/newsfragments/2100.clarification delete mode 100644 changelogs/server_server/newsfragments/2104.clarification delete mode 100644 changelogs/server_server/newsfragments/2125.feature delete mode 100644 changelogs/server_server/newsfragments/2128.clarification delete mode 100644 changelogs/server_server/newsfragments/2140.clarification create mode 100644 content/changelog/v1.15.md diff --git a/changelogs/application_service/newsfragments/2130.clarification b/changelogs/application_service/newsfragments/2130.clarification deleted file mode 100644 index 9cd12b4e..00000000 --- a/changelogs/application_service/newsfragments/2130.clarification +++ /dev/null @@ -1 +0,0 @@ -Clarify in the application service registration schema the `url: null` behaviour. diff --git a/changelogs/client_server/newsfragments/2068.clarification b/changelogs/client_server/newsfragments/2068.clarification deleted file mode 100644 index 1b3c13e8..00000000 --- a/changelogs/client_server/newsfragments/2068.clarification +++ /dev/null @@ -1 +0,0 @@ -Clarify behaviour when the `topic` key of a `m.room.topic` event is absent, null, or empty. diff --git a/changelogs/client_server/newsfragments/2077.clarification b/changelogs/client_server/newsfragments/2077.clarification deleted file mode 100644 index 2077d47f..00000000 --- a/changelogs/client_server/newsfragments/2077.clarification +++ /dev/null @@ -1 +0,0 @@ -Fix the example of the `GET /sync` endpoint and the `m.room.member` example used in several places. \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/2083.clarification b/changelogs/client_server/newsfragments/2083.clarification deleted file mode 100644 index eb334aab..00000000 --- a/changelogs/client_server/newsfragments/2083.clarification +++ /dev/null @@ -1 +0,0 @@ -Clarify the format of third-party invites, including the fact that identity server public keys can be encoded using standard or URL-safe base64. diff --git a/changelogs/client_server/newsfragments/2095.feature b/changelogs/client_server/newsfragments/2095.feature deleted file mode 100644 index 0a993bbb..00000000 --- a/changelogs/client_server/newsfragments/2095.feature +++ /dev/null @@ -1 +0,0 @@ -Add `m.topic` content block to enable rich text in `m.room.topic` events as per [MSC3765](https://github.com/matrix-org/matrix-spec-proposals/pull/3765). diff --git a/changelogs/client_server/newsfragments/2101.clarification b/changelogs/client_server/newsfragments/2101.clarification deleted file mode 100644 index fa84c41c..00000000 --- a/changelogs/client_server/newsfragments/2101.clarification +++ /dev/null @@ -1 +0,0 @@ -"Public" rooms in profile look-ups are defined through their join rule and history visibility. diff --git a/changelogs/client_server/newsfragments/2102.clarification b/changelogs/client_server/newsfragments/2102.clarification deleted file mode 100644 index df9eab58..00000000 --- a/changelogs/client_server/newsfragments/2102.clarification +++ /dev/null @@ -1 +0,0 @@ -"Public" rooms in user directory queries are defined through their join rule and history visibility. diff --git a/changelogs/client_server/newsfragments/2104.clarification b/changelogs/client_server/newsfragments/2104.clarification deleted file mode 100644 index fc064c62..00000000 --- a/changelogs/client_server/newsfragments/2104.clarification +++ /dev/null @@ -1 +0,0 @@ -Rooms published in `/publicRooms` don't necessarily have `public` join rules or `world_readable` history visibility. diff --git a/changelogs/client_server/newsfragments/2106.clarification b/changelogs/client_server/newsfragments/2106.clarification deleted file mode 100644 index 8a0dd00a..00000000 --- a/changelogs/client_server/newsfragments/2106.clarification +++ /dev/null @@ -1 +0,0 @@ -"Public" rooms with respect to call invites are defined through their join rule. diff --git a/changelogs/client_server/newsfragments/2107.clarification b/changelogs/client_server/newsfragments/2107.clarification deleted file mode 100644 index 0474010e..00000000 --- a/changelogs/client_server/newsfragments/2107.clarification +++ /dev/null @@ -1 +0,0 @@ -"Public" rooms have no specific meaning with respect to moderation policy lists. diff --git a/changelogs/client_server/newsfragments/2108.clarification b/changelogs/client_server/newsfragments/2108.clarification deleted file mode 100644 index 2e8c4e59..00000000 --- a/changelogs/client_server/newsfragments/2108.clarification +++ /dev/null @@ -1 +0,0 @@ -"Public" rooms with respect to presence are defined through their join rule. diff --git a/changelogs/client_server/newsfragments/2109.clarification b/changelogs/client_server/newsfragments/2109.clarification deleted file mode 100644 index 5aa7de17..00000000 --- a/changelogs/client_server/newsfragments/2109.clarification +++ /dev/null @@ -1 +0,0 @@ -Spaces are subject to the same access mechanisms as rooms. diff --git a/changelogs/client_server/newsfragments/2121.clarification b/changelogs/client_server/newsfragments/2121.clarification deleted file mode 100644 index 3ccb2333..00000000 --- a/changelogs/client_server/newsfragments/2121.clarification +++ /dev/null @@ -1 +0,0 @@ -Fix various typos throughout the specification. diff --git a/changelogs/client_server/newsfragments/2122.feature b/changelogs/client_server/newsfragments/2122.feature deleted file mode 100644 index 0e299bad..00000000 --- a/changelogs/client_server/newsfragments/2122.feature +++ /dev/null @@ -1 +0,0 @@ -Include device keys with Olm-encrypted events as per [MSC4147](https://github.com/matrix-org/matrix-spec-proposals/pull/4147). diff --git a/changelogs/client_server/newsfragments/2125.feature b/changelogs/client_server/newsfragments/2125.feature deleted file mode 100644 index f9275b0d..00000000 --- a/changelogs/client_server/newsfragments/2125.feature +++ /dev/null @@ -1 +0,0 @@ -Add `/_matrix/client/v1/room_summary/{roomIdOrAlias}` and extend `/_matrix/client/v1/rooms/{roomId}/hierarchy` with the new optional properties `allowed_room_ids`, `encryption` and `room_version` as per [MSC3266](https://github.com/matrix-org/matrix-spec-proposals/pull/3266). diff --git a/changelogs/client_server/newsfragments/2125.new b/changelogs/client_server/newsfragments/2125.new deleted file mode 100644 index bc329452..00000000 --- a/changelogs/client_server/newsfragments/2125.new +++ /dev/null @@ -1 +0,0 @@ -Add `GET /_matrix/client/v1/room_summary/{roomIdOrAlias}`, as per [MSC3266](https://github.com/matrix-org/matrix-spec-proposals/pull/3266). \ No newline at end of file diff --git a/changelogs/client_server/newsfragments/2140.clarification b/changelogs/client_server/newsfragments/2140.clarification deleted file mode 100644 index 4a151fe8..00000000 --- a/changelogs/client_server/newsfragments/2140.clarification +++ /dev/null @@ -1 +0,0 @@ -Clarify that Well-Known URIs are available on the server name's hostname. Contributed by @HarHarLinks. diff --git a/changelogs/client_server/newsfragments/2141.feature b/changelogs/client_server/newsfragments/2141.feature deleted file mode 100644 index 6eff5607..00000000 --- a/changelogs/client_server/newsfragments/2141.feature +++ /dev/null @@ -1 +0,0 @@ -Add the OAuth 2.0 based authentication API, as per [MSC3861](https://github.com/matrix-org/matrix-spec-proposals/pull/3861) and its sub-proposals. diff --git a/changelogs/client_server/newsfragments/2144.clarification b/changelogs/client_server/newsfragments/2144.clarification deleted file mode 100644 index 3ccb2333..00000000 --- a/changelogs/client_server/newsfragments/2144.clarification +++ /dev/null @@ -1 +0,0 @@ -Fix various typos throughout the specification. diff --git a/changelogs/client_server/newsfragments/2147.new b/changelogs/client_server/newsfragments/2147.new deleted file mode 100644 index c72bf35e..00000000 --- a/changelogs/client_server/newsfragments/2147.new +++ /dev/null @@ -1 +0,0 @@ -Add `GET /_matrix/client/v1/auth_metadata`, as per [MSC2965](https://github.com/matrix-org/matrix-spec-proposals/pull/2965). diff --git a/changelogs/client_server/newsfragments/2148.feature b/changelogs/client_server/newsfragments/2148.feature deleted file mode 100644 index 6eff5607..00000000 --- a/changelogs/client_server/newsfragments/2148.feature +++ /dev/null @@ -1 +0,0 @@ -Add the OAuth 2.0 based authentication API, as per [MSC3861](https://github.com/matrix-org/matrix-spec-proposals/pull/3861) and its sub-proposals. diff --git a/changelogs/client_server/newsfragments/2149.feature b/changelogs/client_server/newsfragments/2149.feature deleted file mode 100644 index 6eff5607..00000000 --- a/changelogs/client_server/newsfragments/2149.feature +++ /dev/null @@ -1 +0,0 @@ -Add the OAuth 2.0 based authentication API, as per [MSC3861](https://github.com/matrix-org/matrix-spec-proposals/pull/3861) and its sub-proposals. diff --git a/changelogs/client_server/newsfragments/2150.feature b/changelogs/client_server/newsfragments/2150.feature deleted file mode 100644 index 6eff5607..00000000 --- a/changelogs/client_server/newsfragments/2150.feature +++ /dev/null @@ -1 +0,0 @@ -Add the OAuth 2.0 based authentication API, as per [MSC3861](https://github.com/matrix-org/matrix-spec-proposals/pull/3861) and its sub-proposals. diff --git a/changelogs/client_server/newsfragments/2151.feature b/changelogs/client_server/newsfragments/2151.feature deleted file mode 100644 index 6eff5607..00000000 --- a/changelogs/client_server/newsfragments/2151.feature +++ /dev/null @@ -1 +0,0 @@ -Add the OAuth 2.0 based authentication API, as per [MSC3861](https://github.com/matrix-org/matrix-spec-proposals/pull/3861) and its sub-proposals. diff --git a/changelogs/client_server/newsfragments/2154.clarification b/changelogs/client_server/newsfragments/2154.clarification deleted file mode 100644 index 660e41b5..00000000 --- a/changelogs/client_server/newsfragments/2154.clarification +++ /dev/null @@ -1 +0,0 @@ -Add missing fields in example for `ExportedSessionData`. diff --git a/changelogs/client_server/newsfragments/2158.feature b/changelogs/client_server/newsfragments/2158.feature deleted file mode 100644 index f9275b0d..00000000 --- a/changelogs/client_server/newsfragments/2158.feature +++ /dev/null @@ -1 +0,0 @@ -Add `/_matrix/client/v1/room_summary/{roomIdOrAlias}` and extend `/_matrix/client/v1/rooms/{roomId}/hierarchy` with the new optional properties `allowed_room_ids`, `encryption` and `room_version` as per [MSC3266](https://github.com/matrix-org/matrix-spec-proposals/pull/3266). diff --git a/changelogs/client_server/newsfragments/2159.feature b/changelogs/client_server/newsfragments/2159.feature deleted file mode 100644 index 6eff5607..00000000 --- a/changelogs/client_server/newsfragments/2159.feature +++ /dev/null @@ -1 +0,0 @@ -Add the OAuth 2.0 based authentication API, as per [MSC3861](https://github.com/matrix-org/matrix-spec-proposals/pull/3861) and its sub-proposals. diff --git a/changelogs/client_server/newsfragments/2164.feature b/changelogs/client_server/newsfragments/2164.feature deleted file mode 100644 index 6eff5607..00000000 --- a/changelogs/client_server/newsfragments/2164.feature +++ /dev/null @@ -1 +0,0 @@ -Add the OAuth 2.0 based authentication API, as per [MSC3861](https://github.com/matrix-org/matrix-spec-proposals/pull/3861) and its sub-proposals. diff --git a/changelogs/identity_service/newsfragments/2083.clarification b/changelogs/identity_service/newsfragments/2083.clarification deleted file mode 100644 index 7e5575c9..00000000 --- a/changelogs/identity_service/newsfragments/2083.clarification +++ /dev/null @@ -1 +0,0 @@ -Clarify that public keys can be encoded using standard or URL-safe base64. diff --git a/changelogs/internal/newsfragments/2081.clarification b/changelogs/internal/newsfragments/2081.clarification deleted file mode 100644 index a4923694..00000000 --- a/changelogs/internal/newsfragments/2081.clarification +++ /dev/null @@ -1 +0,0 @@ -Adjust margins in rendered endpoints. diff --git a/changelogs/internal/newsfragments/2088.clarification b/changelogs/internal/newsfragments/2088.clarification deleted file mode 100644 index a0e53726..00000000 --- a/changelogs/internal/newsfragments/2088.clarification +++ /dev/null @@ -1 +0,0 @@ -Replace Hugo shortcodes in OpenAPI output. diff --git a/changelogs/internal/newsfragments/2115.clarification b/changelogs/internal/newsfragments/2115.clarification deleted file mode 100644 index 3deaf8c8..00000000 --- a/changelogs/internal/newsfragments/2115.clarification +++ /dev/null @@ -1 +0,0 @@ -Add [well-known funding manifest urls](https://floss.fund/funding-manifest/) to spec to authorise https://matrix.org/funding.json. Contributed by @HarHarLinks. diff --git a/changelogs/internal/newsfragments/2123.clarification b/changelogs/internal/newsfragments/2123.clarification deleted file mode 100644 index af26abaf..00000000 --- a/changelogs/internal/newsfragments/2123.clarification +++ /dev/null @@ -1 +0,0 @@ -Fix the historical info box when generating the historical spec in CI. diff --git a/changelogs/internal/newsfragments/2137.clarification b/changelogs/internal/newsfragments/2137.clarification deleted file mode 100644 index 6503f22b..00000000 --- a/changelogs/internal/newsfragments/2137.clarification +++ /dev/null @@ -1 +0,0 @@ -Update the header navigation menu with links to modern matrix.org. Contributed by @HarHarLinks. diff --git a/changelogs/server_server/newsfragments/2067.clarification b/changelogs/server_server/newsfragments/2067.clarification deleted file mode 100644 index 4bd8176b..00000000 --- a/changelogs/server_server/newsfragments/2067.clarification +++ /dev/null @@ -1 +0,0 @@ -Add a note to the invite endpoints that invites to local users may be received twice over federation if the homeserver is already in the room. \ No newline at end of file diff --git a/changelogs/server_server/newsfragments/2083.clarification b/changelogs/server_server/newsfragments/2083.clarification deleted file mode 100644 index eb334aab..00000000 --- a/changelogs/server_server/newsfragments/2083.clarification +++ /dev/null @@ -1 +0,0 @@ -Clarify the format of third-party invites, including the fact that identity server public keys can be encoded using standard or URL-safe base64. diff --git a/changelogs/server_server/newsfragments/2095.feature b/changelogs/server_server/newsfragments/2095.feature deleted file mode 100644 index 0a993bbb..00000000 --- a/changelogs/server_server/newsfragments/2095.feature +++ /dev/null @@ -1 +0,0 @@ -Add `m.topic` content block to enable rich text in `m.room.topic` events as per [MSC3765](https://github.com/matrix-org/matrix-spec-proposals/pull/3765). diff --git a/changelogs/server_server/newsfragments/2100.clarification b/changelogs/server_server/newsfragments/2100.clarification deleted file mode 100644 index a488b392..00000000 --- a/changelogs/server_server/newsfragments/2100.clarification +++ /dev/null @@ -1 +0,0 @@ -Clarify that auth event of `content.join_authorised_via_users_server` is only necessary for `m.room.member` with a `membership` of `join`. diff --git a/changelogs/server_server/newsfragments/2104.clarification b/changelogs/server_server/newsfragments/2104.clarification deleted file mode 100644 index fc064c62..00000000 --- a/changelogs/server_server/newsfragments/2104.clarification +++ /dev/null @@ -1 +0,0 @@ -Rooms published in `/publicRooms` don't necessarily have `public` join rules or `world_readable` history visibility. diff --git a/changelogs/server_server/newsfragments/2125.feature b/changelogs/server_server/newsfragments/2125.feature deleted file mode 100644 index 0a369ea0..00000000 --- a/changelogs/server_server/newsfragments/2125.feature +++ /dev/null @@ -1 +0,0 @@ -Extend `/_matrix/federation/v1/hierarchy/{roomId}` with the new optional properties `encryption` and `room_version` as per [MSC3266](https://github.com/matrix-org/matrix-spec-proposals/pull/3266). diff --git a/changelogs/server_server/newsfragments/2128.clarification b/changelogs/server_server/newsfragments/2128.clarification deleted file mode 100644 index 3ccb2333..00000000 --- a/changelogs/server_server/newsfragments/2128.clarification +++ /dev/null @@ -1 +0,0 @@ -Fix various typos throughout the specification. diff --git a/changelogs/server_server/newsfragments/2140.clarification b/changelogs/server_server/newsfragments/2140.clarification deleted file mode 100644 index 4a151fe8..00000000 --- a/changelogs/server_server/newsfragments/2140.clarification +++ /dev/null @@ -1 +0,0 @@ -Clarify that Well-Known URIs are available on the server name's hostname. Contributed by @HarHarLinks. diff --git a/config/_default/hugo.toml b/config/_default/hugo.toml index b31416c2..f4441833 100644 --- a/config/_default/hugo.toml +++ b/config/_default/hugo.toml @@ -61,13 +61,13 @@ copyright = "The Matrix.org Foundation CIC" [params.version] # must be one of "unstable", "current", "historical" # this is used to decide whether to show a banner pointing to the current release -status = "unstable" +status = "stable" # A URL pointing to the latest, stable release of the spec. To be shown in the unstable version warning banner. current_version_url = "https://spec.matrix.org/latest" # The following is used when status = "stable", and is displayed in various UI elements on a released version # of the spec. -# major = "1" -# minor = "14" +major = "1" +minor = "15" # User interface configuration [params.ui] diff --git a/content/changelog/v1.15.md b/content/changelog/v1.15.md new file mode 100644 index 00000000..e6f8f243 --- /dev/null +++ b/content/changelog/v1.15.md @@ -0,0 +1,97 @@ +--- +title: v1.15 Changelog +linkTitle: v1.15 +type: docs +layout: changelog +outputs: + - html + - checklist +date: 2025-06-26 +--- + +## Client-Server API + +**New Endpoints** + +- Add `GET /_matrix/client/v1/room_summary/{roomIdOrAlias}`, as per [MSC3266](https://github.com/matrix-org/matrix-spec-proposals/pull/3266). ([#2125](https://github.com/matrix-org/matrix-spec/issues/2125)) +- Add `GET /_matrix/client/v1/auth_metadata`, as per [MSC2965](https://github.com/matrix-org/matrix-spec-proposals/pull/2965). ([#2147](https://github.com/matrix-org/matrix-spec/issues/2147)) + +**Backwards Compatible Changes** + +- Add `m.topic` content block to enable rich text in `m.room.topic` events as per [MSC3765](https://github.com/matrix-org/matrix-spec-proposals/pull/3765). ([#2095](https://github.com/matrix-org/matrix-spec/issues/2095)) +- Include device keys with Olm-encrypted events as per [MSC4147](https://github.com/matrix-org/matrix-spec-proposals/pull/4147). ([#2122](https://github.com/matrix-org/matrix-spec/issues/2122)) +- Add `/_matrix/client/v1/room_summary/{roomIdOrAlias}` and extend `/_matrix/client/v1/rooms/{roomId}/hierarchy` with the new optional properties `allowed_room_ids`, `encryption` and `room_version` as per [MSC3266](https://github.com/matrix-org/matrix-spec-proposals/pull/3266). ([#2125](https://github.com/matrix-org/matrix-spec/issues/2125), [#2158](https://github.com/matrix-org/matrix-spec/issues/2158)) +- Add the OAuth 2.0 based authentication API, as per [MSC3861](https://github.com/matrix-org/matrix-spec-proposals/pull/3861) and its sub-proposals. ([#2141](https://github.com/matrix-org/matrix-spec/issues/2141), [#2148](https://github.com/matrix-org/matrix-spec/issues/2148), [#2149](https://github.com/matrix-org/matrix-spec/issues/2149), [#2150](https://github.com/matrix-org/matrix-spec/issues/2150), [#2151](https://github.com/matrix-org/matrix-spec/issues/2151), [#2159](https://github.com/matrix-org/matrix-spec/issues/2159), [#2164](https://github.com/matrix-org/matrix-spec/issues/2164)) + +**Spec Clarifications** + +- Clarify behaviour when the `topic` key of a `m.room.topic` event is absent, null, or empty. ([#2068](https://github.com/matrix-org/matrix-spec/issues/2068)) +- Fix the example of the `GET /sync` endpoint and the `m.room.member` example used in several places. ([#2077](https://github.com/matrix-org/matrix-spec/issues/2077)) +- Clarify the format of third-party invites, including the fact that identity server public keys can be encoded using standard or URL-safe base64. ([#2083](https://github.com/matrix-org/matrix-spec/issues/2083)) +- "Public" rooms in profile look-ups are defined through their join rule and history visibility. ([#2101](https://github.com/matrix-org/matrix-spec/issues/2101)) +- "Public" rooms in user directory queries are defined through their join rule and history visibility. ([#2102](https://github.com/matrix-org/matrix-spec/issues/2102)) +- Rooms published in `/publicRooms` don't necessarily have `public` join rules or `world_readable` history visibility. ([#2104](https://github.com/matrix-org/matrix-spec/issues/2104)) +- "Public" rooms with respect to call invites are defined through their join rule. ([#2106](https://github.com/matrix-org/matrix-spec/issues/2106)) +- "Public" rooms have no specific meaning with respect to moderation policy lists. ([#2107](https://github.com/matrix-org/matrix-spec/issues/2107)) +- "Public" rooms with respect to presence are defined through their join rule. ([#2108](https://github.com/matrix-org/matrix-spec/issues/2108)) +- Spaces are subject to the same access mechanisms as rooms. ([#2109](https://github.com/matrix-org/matrix-spec/issues/2109)) +- Fix various typos throughout the specification. ([#2121](https://github.com/matrix-org/matrix-spec/issues/2121), [#2144](https://github.com/matrix-org/matrix-spec/issues/2144)) +- Clarify that Well-Known URIs are available on the server name's hostname. Contributed by @HarHarLinks. ([#2140](https://github.com/matrix-org/matrix-spec/issues/2140)) +- Add missing fields in example for `ExportedSessionData`. ([#2154](https://github.com/matrix-org/matrix-spec/issues/2154)) + + +## Server-Server API + +**Backwards Compatible Changes** + +- Add `m.topic` content block to enable rich text in `m.room.topic` events as per [MSC3765](https://github.com/matrix-org/matrix-spec-proposals/pull/3765). ([#2095](https://github.com/matrix-org/matrix-spec/issues/2095)) +- Extend `/_matrix/federation/v1/hierarchy/{roomId}` with the new optional properties `encryption` and `room_version` as per [MSC3266](https://github.com/matrix-org/matrix-spec-proposals/pull/3266). ([#2125](https://github.com/matrix-org/matrix-spec/issues/2125)) + +**Spec Clarifications** + +- Add a note to the invite endpoints that invites to local users may be received twice over federation if the homeserver is already in the room. ([#2067](https://github.com/matrix-org/matrix-spec/issues/2067)) +- Clarify the format of third-party invites, including the fact that identity server public keys can be encoded using standard or URL-safe base64. ([#2083](https://github.com/matrix-org/matrix-spec/issues/2083)) +- Clarify that auth event of `content.join_authorised_via_users_server` is only necessary for `m.room.member` with a `membership` of `join`. ([#2100](https://github.com/matrix-org/matrix-spec/issues/2100)) +- Rooms published in `/publicRooms` don't necessarily have `public` join rules or `world_readable` history visibility. ([#2104](https://github.com/matrix-org/matrix-spec/issues/2104)) +- Fix various typos throughout the specification. ([#2128](https://github.com/matrix-org/matrix-spec/issues/2128)) +- Clarify that Well-Known URIs are available on the server name's hostname. Contributed by @HarHarLinks. ([#2140](https://github.com/matrix-org/matrix-spec/issues/2140)) + + +## Application Service API + +**Spec Clarifications** + +- Clarify in the application service registration schema the `url: null` behaviour. ([#2130](https://github.com/matrix-org/matrix-spec/issues/2130)) + + +## Identity Service API + +**Spec Clarifications** + +- Clarify that public keys can be encoded using standard or URL-safe base64. ([#2083](https://github.com/matrix-org/matrix-spec/issues/2083)) + + +## Push Gateway API + +No significant changes. + + +## Room Versions + +No significant changes. + + +## Appendices + +No significant changes. + + +## Internal Changes/Tooling + +**Spec Clarifications** + +- Adjust margins in rendered endpoints. ([#2081](https://github.com/matrix-org/matrix-spec/issues/2081)) +- Replace Hugo shortcodes in OpenAPI output. ([#2088](https://github.com/matrix-org/matrix-spec/issues/2088)) +- Add [well-known funding manifest urls](https://floss.fund/funding-manifest/) to spec to authorise https://matrix.org/funding.json. Contributed by @HarHarLinks. ([#2115](https://github.com/matrix-org/matrix-spec/issues/2115)) +- Fix the historical info box when generating the historical spec in CI. ([#2123](https://github.com/matrix-org/matrix-spec/issues/2123)) +- Update the header navigation menu with links to modern matrix.org. Contributed by @HarHarLinks. ([#2137](https://github.com/matrix-org/matrix-spec/issues/2137))