From 81a864545f7d948a881f5227700e5312c64f506e Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Wed, 17 Sep 2025 10:46:16 -0600 Subject: [PATCH] Matrix 1.16 --- .../appendices/newsfragments/2193.feature | 1 - .../newsfragments/2071.deprecation | 1 - .../client_server/newsfragments/2071.feature | 1 - .../newsfragments/2167.clarification | 1 - .../newsfragments/2169.clarification | 1 - .../newsfragments/2171.clarification | 1 - .../client_server/newsfragments/2175.feature | 1 - .../newsfragments/2177.clarification | 1 - .../newsfragments/2179.clarification | 1 - .../client_server/newsfragments/2187.feature | 1 - .../newsfragments/2190.clarification | 1 - .../newsfragments/2193.feature.1 | 1 - .../newsfragments/2193.feature.2 | 1 - .../newsfragments/2193.feature.3 | 1 - .../newsfragments/2193.feature.4 | 1 - .../newsfragments/2193.feature.5 | 1 - .../newsfragments/2195.clarification | 1 - .../newsfragments/2204.clarification | 1 - .../client_server/newsfragments/2206.feature | 1 - .../client_server/newsfragments/2207.feature | 1 - .../client_server/newsfragments/2210.removal | 1 - .../newsfragments/2132.clarification.1 | 1 - .../newsfragments/2132.clarification.2 | 1 - .../internal/newsfragments/2157.feature | 1 - .../internal/newsfragments/2160.clarification | 1 - .../internal/newsfragments/2172.clarification | 1 - .../internal/newsfragments/2182.clarification | 1 - .../internal/newsfragments/2189.clarification | 1 - .../internal/newsfragments/2205.clarification | 1 - .../newsfragments/2193.clarification | 1 - .../newsfragments/2193.feature.1 | 1 - .../newsfragments/2193.feature.2 | 1 - .../newsfragments/2193.feature.3 | 1 - .../newsfragments/2193.feature.4 | 1 - .../newsfragments/2193.feature.5 | 1 - .../room_versions/newsfragments/2199.feature | 1 - .../server_server/newsfragments/2207.feature | 1 - config/_default/hugo.toml | 6 +- content/changelog/v1.16.md | 103 ++++++++++++++++++ 39 files changed, 106 insertions(+), 40 deletions(-) delete mode 100644 changelogs/appendices/newsfragments/2193.feature delete mode 100644 changelogs/client_server/newsfragments/2071.deprecation delete mode 100644 changelogs/client_server/newsfragments/2071.feature delete mode 100644 changelogs/client_server/newsfragments/2167.clarification delete mode 100644 changelogs/client_server/newsfragments/2169.clarification delete mode 100644 changelogs/client_server/newsfragments/2171.clarification delete mode 100644 changelogs/client_server/newsfragments/2175.feature delete mode 100644 changelogs/client_server/newsfragments/2177.clarification delete mode 100644 changelogs/client_server/newsfragments/2179.clarification delete mode 100644 changelogs/client_server/newsfragments/2187.feature delete mode 100644 changelogs/client_server/newsfragments/2190.clarification delete mode 100644 changelogs/client_server/newsfragments/2193.feature.1 delete mode 100644 changelogs/client_server/newsfragments/2193.feature.2 delete mode 100644 changelogs/client_server/newsfragments/2193.feature.3 delete mode 100644 changelogs/client_server/newsfragments/2193.feature.4 delete mode 100644 changelogs/client_server/newsfragments/2193.feature.5 delete mode 100644 changelogs/client_server/newsfragments/2195.clarification delete mode 100644 changelogs/client_server/newsfragments/2204.clarification delete mode 100644 changelogs/client_server/newsfragments/2206.feature delete mode 100644 changelogs/client_server/newsfragments/2207.feature delete mode 100644 changelogs/client_server/newsfragments/2210.removal delete mode 100644 changelogs/internal/newsfragments/2132.clarification.1 delete mode 100644 changelogs/internal/newsfragments/2132.clarification.2 delete mode 100644 changelogs/internal/newsfragments/2157.feature delete mode 100644 changelogs/internal/newsfragments/2160.clarification delete mode 100644 changelogs/internal/newsfragments/2172.clarification delete mode 100644 changelogs/internal/newsfragments/2182.clarification delete mode 100644 changelogs/internal/newsfragments/2189.clarification delete mode 100644 changelogs/internal/newsfragments/2205.clarification delete mode 100644 changelogs/room_versions/newsfragments/2193.clarification delete mode 100644 changelogs/room_versions/newsfragments/2193.feature.1 delete mode 100644 changelogs/room_versions/newsfragments/2193.feature.2 delete mode 100644 changelogs/room_versions/newsfragments/2193.feature.3 delete mode 100644 changelogs/room_versions/newsfragments/2193.feature.4 delete mode 100644 changelogs/room_versions/newsfragments/2193.feature.5 delete mode 100644 changelogs/room_versions/newsfragments/2199.feature delete mode 100644 changelogs/server_server/newsfragments/2207.feature create mode 100644 content/changelog/v1.16.md diff --git a/changelogs/appendices/newsfragments/2193.feature b/changelogs/appendices/newsfragments/2193.feature deleted file mode 100644 index 317f317f..00000000 --- a/changelogs/appendices/newsfragments/2193.feature +++ /dev/null @@ -1 +0,0 @@ -Room IDs can now appear without a domain component in [room version 12](/rooms/v12), as per [MSC4291](https://github.com/matrix-org/matrix-spec-proposals/pull/4291). diff --git a/changelogs/client_server/newsfragments/2071.deprecation b/changelogs/client_server/newsfragments/2071.deprecation deleted file mode 100644 index 34beb7a7..00000000 --- a/changelogs/client_server/newsfragments/2071.deprecation +++ /dev/null @@ -1 +0,0 @@ -Deprecate `m.set_avatar_url` and `m.set_displayname` capabilities, as per [MSC4133](https://github.com/matrix-org/matrix-spec-proposals/pull/4133). diff --git a/changelogs/client_server/newsfragments/2071.feature b/changelogs/client_server/newsfragments/2071.feature deleted file mode 100644 index 96a2b0c4..00000000 --- a/changelogs/client_server/newsfragments/2071.feature +++ /dev/null @@ -1 +0,0 @@ -Update user profile endpoints to handle custom fields, and add a new `m.profile_fields` capability, as per [MSC4133](https://github.com/matrix-org/matrix-spec-proposals/pull/4133). diff --git a/changelogs/client_server/newsfragments/2167.clarification b/changelogs/client_server/newsfragments/2167.clarification deleted file mode 100644 index 99805f73..00000000 --- a/changelogs/client_server/newsfragments/2167.clarification +++ /dev/null @@ -1 +0,0 @@ -Clarify that `format` is required if `formatted_body` is specified. diff --git a/changelogs/client_server/newsfragments/2169.clarification b/changelogs/client_server/newsfragments/2169.clarification deleted file mode 100644 index 49648401..00000000 --- a/changelogs/client_server/newsfragments/2169.clarification +++ /dev/null @@ -1 +0,0 @@ -The `latest_event` in an aggregated set of thread events uses the same format as the event itself. diff --git a/changelogs/client_server/newsfragments/2171.clarification b/changelogs/client_server/newsfragments/2171.clarification deleted file mode 100644 index 3ccb2333..00000000 --- a/changelogs/client_server/newsfragments/2171.clarification +++ /dev/null @@ -1 +0,0 @@ -Fix various typos throughout the specification. diff --git a/changelogs/client_server/newsfragments/2175.feature b/changelogs/client_server/newsfragments/2175.feature deleted file mode 100644 index ddd71d27..00000000 --- a/changelogs/client_server/newsfragments/2175.feature +++ /dev/null @@ -1 +0,0 @@ -Add `format` query parameter to `GET /state/{eventType}/{stateKey}` to allow fetching metadata of a specific state event. diff --git a/changelogs/client_server/newsfragments/2177.clarification b/changelogs/client_server/newsfragments/2177.clarification deleted file mode 100644 index 3ccb2333..00000000 --- a/changelogs/client_server/newsfragments/2177.clarification +++ /dev/null @@ -1 +0,0 @@ -Fix various typos throughout the specification. diff --git a/changelogs/client_server/newsfragments/2179.clarification b/changelogs/client_server/newsfragments/2179.clarification deleted file mode 100644 index 3ccb2333..00000000 --- a/changelogs/client_server/newsfragments/2179.clarification +++ /dev/null @@ -1 +0,0 @@ -Fix various typos throughout the specification. diff --git a/changelogs/client_server/newsfragments/2187.feature b/changelogs/client_server/newsfragments/2187.feature deleted file mode 100644 index 8eff7582..00000000 --- a/changelogs/client_server/newsfragments/2187.feature +++ /dev/null @@ -1 +0,0 @@ -Add the `use_state_after` query parameter and `state_after` response property to `GET /sync`, as per [MSC4222](https://github.com/matrix-org/matrix-spec-proposals/issues/4222). diff --git a/changelogs/client_server/newsfragments/2190.clarification b/changelogs/client_server/newsfragments/2190.clarification deleted file mode 100644 index aefb6604..00000000 --- a/changelogs/client_server/newsfragments/2190.clarification +++ /dev/null @@ -1 +0,0 @@ -Clarify that clients should replace events with the most recent replacement by `origin_server_ts`. diff --git a/changelogs/client_server/newsfragments/2193.feature.1 b/changelogs/client_server/newsfragments/2193.feature.1 deleted file mode 100644 index befb76d2..00000000 --- a/changelogs/client_server/newsfragments/2193.feature.1 +++ /dev/null @@ -1 +0,0 @@ -When upgrading rooms to [room version 12](/rooms/v12), `additional_creators` may be specified on the [`POST /_matrix/client/v3/rooms/{roomId}/upgrade`](/client-server-api/#post_matrixclientv3roomsroomidupgrade) endpoint, as per [MSC4289](https://github.com/matrix-org/matrix-spec-proposals/pull/4289). diff --git a/changelogs/client_server/newsfragments/2193.feature.2 b/changelogs/client_server/newsfragments/2193.feature.2 deleted file mode 100644 index 280a83e6..00000000 --- a/changelogs/client_server/newsfragments/2193.feature.2 +++ /dev/null @@ -1 +0,0 @@ -When creating rooms with [room version 12](/rooms/v12), the `trusted_private_chat` preset should merge the invitees into the supplied `content.additional_creators` in the resulting room, as per [MSC4289](https://github.com/matrix-org/matrix-spec-proposals/pull/4289). diff --git a/changelogs/client_server/newsfragments/2193.feature.3 b/changelogs/client_server/newsfragments/2193.feature.3 deleted file mode 100644 index 5f8b1fab..00000000 --- a/changelogs/client_server/newsfragments/2193.feature.3 +++ /dev/null @@ -1 +0,0 @@ -In [room version 12](/rooms/v12), the power level of room creators is now infinitely high as per [MSC4289](https://github.com/matrix-org/matrix-spec-proposals/pull/4289). diff --git a/changelogs/client_server/newsfragments/2193.feature.4 b/changelogs/client_server/newsfragments/2193.feature.4 deleted file mode 100644 index 98d8f126..00000000 --- a/changelogs/client_server/newsfragments/2193.feature.4 +++ /dev/null @@ -1 +0,0 @@ -In [room version 12](/rooms/v12), room IDs no longer have a domain component as per [MSC4291](https://github.com/matrix-org/matrix-spec-proposals/pull/4291). diff --git a/changelogs/client_server/newsfragments/2193.feature.5 b/changelogs/client_server/newsfragments/2193.feature.5 deleted file mode 100644 index e1b54e80..00000000 --- a/changelogs/client_server/newsfragments/2193.feature.5 +++ /dev/null @@ -1 +0,0 @@ -When creating rooms with [room version 12](/rooms/v12), the initial power levels will restrict the ability to upgrade rooms by default, as per [MSC4289](https://github.com/matrix-org/matrix-spec-proposals/pull/4289). diff --git a/changelogs/client_server/newsfragments/2195.clarification b/changelogs/client_server/newsfragments/2195.clarification deleted file mode 100644 index 0ac462ad..00000000 --- a/changelogs/client_server/newsfragments/2195.clarification +++ /dev/null @@ -1 +0,0 @@ -Fix `/sync` flow referencing incorrect parameter to use with `/messages`. diff --git a/changelogs/client_server/newsfragments/2204.clarification b/changelogs/client_server/newsfragments/2204.clarification deleted file mode 100644 index 9f2bc503..00000000 --- a/changelogs/client_server/newsfragments/2204.clarification +++ /dev/null @@ -1 +0,0 @@ -Clarify wording around the `world_readable` history visibility setting. Contributed by @HarHarLinks. diff --git a/changelogs/client_server/newsfragments/2206.feature b/changelogs/client_server/newsfragments/2206.feature deleted file mode 100644 index 17b16ac3..00000000 --- a/changelogs/client_server/newsfragments/2206.feature +++ /dev/null @@ -1 +0,0 @@ -Add a profile field for a user's time zone, as per [MSC4175](https://github.com/matrix-org/matrix-spec-proposals/pull/4175). diff --git a/changelogs/client_server/newsfragments/2207.feature b/changelogs/client_server/newsfragments/2207.feature deleted file mode 100644 index 74c16ddb..00000000 --- a/changelogs/client_server/newsfragments/2207.feature +++ /dev/null @@ -1 +0,0 @@ -Invites and knocks are now expected to contain the `m.room.create` event in their stripped state entries, as per [MSC4311](https://github.com/matrix-org/matrix-spec-proposals/pull/4311). diff --git a/changelogs/client_server/newsfragments/2210.removal b/changelogs/client_server/newsfragments/2210.removal deleted file mode 100644 index c4fe42c2..00000000 --- a/changelogs/client_server/newsfragments/2210.removal +++ /dev/null @@ -1 +0,0 @@ -Remove unintentional intentional mentions in replies, as per [MSC4142](https://github.com/matrix-org/matrix-spec-proposals/pull/4142). diff --git a/changelogs/internal/newsfragments/2132.clarification.1 b/changelogs/internal/newsfragments/2132.clarification.1 deleted file mode 100644 index 26f5d085..00000000 --- a/changelogs/internal/newsfragments/2132.clarification.1 +++ /dev/null @@ -1 +0,0 @@ -Declare the Application Service Registration schema to follow JSON Schema spec 2020-12. \ No newline at end of file diff --git a/changelogs/internal/newsfragments/2132.clarification.2 b/changelogs/internal/newsfragments/2132.clarification.2 deleted file mode 100644 index 480b16ca..00000000 --- a/changelogs/internal/newsfragments/2132.clarification.2 +++ /dev/null @@ -1 +0,0 @@ -Declare the event schemas to follow JSON Schema spec 2020-12. \ No newline at end of file diff --git a/changelogs/internal/newsfragments/2157.feature b/changelogs/internal/newsfragments/2157.feature deleted file mode 100644 index 58571d8c..00000000 --- a/changelogs/internal/newsfragments/2157.feature +++ /dev/null @@ -1 +0,0 @@ -Add "placeholder MSC" process definition. \ No newline at end of file diff --git a/changelogs/internal/newsfragments/2160.clarification b/changelogs/internal/newsfragments/2160.clarification deleted file mode 100644 index 57f8b73e..00000000 --- a/changelogs/internal/newsfragments/2160.clarification +++ /dev/null @@ -1 +0,0 @@ -Upgrade the docsy theme to version 0.12.0. diff --git a/changelogs/internal/newsfragments/2172.clarification b/changelogs/internal/newsfragments/2172.clarification deleted file mode 100644 index 53f01c68..00000000 --- a/changelogs/internal/newsfragments/2172.clarification +++ /dev/null @@ -1 +0,0 @@ -GitHub actions are now building the OpenAPI `spec/identity-service-api/api.json` file. diff --git a/changelogs/internal/newsfragments/2182.clarification b/changelogs/internal/newsfragments/2182.clarification deleted file mode 100644 index 82426693..00000000 --- a/changelogs/internal/newsfragments/2182.clarification +++ /dev/null @@ -1 +0,0 @@ -Minor fixes to JSON schemas. diff --git a/changelogs/internal/newsfragments/2189.clarification b/changelogs/internal/newsfragments/2189.clarification deleted file mode 100644 index f1dc9ec4..00000000 --- a/changelogs/internal/newsfragments/2189.clarification +++ /dev/null @@ -1 +0,0 @@ -Specify a correct spelling for "display name". diff --git a/changelogs/internal/newsfragments/2205.clarification b/changelogs/internal/newsfragments/2205.clarification deleted file mode 100644 index 76880f97..00000000 --- a/changelogs/internal/newsfragments/2205.clarification +++ /dev/null @@ -1 +0,0 @@ -Fix a grammatical typo on the Matrix Spec Process documentation page. \ No newline at end of file diff --git a/changelogs/room_versions/newsfragments/2193.clarification b/changelogs/room_versions/newsfragments/2193.clarification deleted file mode 100644 index 39e25b5a..00000000 --- a/changelogs/room_versions/newsfragments/2193.clarification +++ /dev/null @@ -1 +0,0 @@ -In room versions 1 through 12, an event's `auth_events` have always needed to belong to the same room as per [MSC4307](https://github.com/matrix-org/matrix-spec-proposals/pull/4307). diff --git a/changelogs/room_versions/newsfragments/2193.feature.1 b/changelogs/room_versions/newsfragments/2193.feature.1 deleted file mode 100644 index 88e57469..00000000 --- a/changelogs/room_versions/newsfragments/2193.feature.1 +++ /dev/null @@ -1 +0,0 @@ -Add [room version 12](/rooms/v12) as per [MSC4304](https://github.com/matrix-org/matrix-spec-proposals/pull/4304). diff --git a/changelogs/room_versions/newsfragments/2193.feature.2 b/changelogs/room_versions/newsfragments/2193.feature.2 deleted file mode 100644 index 995fe87b..00000000 --- a/changelogs/room_versions/newsfragments/2193.feature.2 +++ /dev/null @@ -1 +0,0 @@ -Room IDs in room version 12 are now the event ID of the create event with the normal room ID sigil (`!`), as per [MSC4291](https://github.com/matrix-org/matrix-spec-proposals/pull/4291). diff --git a/changelogs/room_versions/newsfragments/2193.feature.3 b/changelogs/room_versions/newsfragments/2193.feature.3 deleted file mode 100644 index 2a396a3e..00000000 --- a/changelogs/room_versions/newsfragments/2193.feature.3 +++ /dev/null @@ -1 +0,0 @@ -Room creators are formalized in room version 12 and have infinitely high power level, as per [MSC4289](https://github.com/matrix-org/matrix-spec-proposals/pull/4289). diff --git a/changelogs/room_versions/newsfragments/2193.feature.4 b/changelogs/room_versions/newsfragments/2193.feature.4 deleted file mode 100644 index c9f22df1..00000000 --- a/changelogs/room_versions/newsfragments/2193.feature.4 +++ /dev/null @@ -1 +0,0 @@ -State Resolution is updated in room version 12 to reduce the opportunity for "state resets", as per [MSC4297](https://github.com/matrix-org/matrix-spec-proposals/pull/4297). diff --git a/changelogs/room_versions/newsfragments/2193.feature.5 b/changelogs/room_versions/newsfragments/2193.feature.5 deleted file mode 100644 index 6c1ee1fc..00000000 --- a/changelogs/room_versions/newsfragments/2193.feature.5 +++ /dev/null @@ -1 +0,0 @@ -The default room version is now room version 12, though servers SHOULD keep using room version 11 for a little while, as per [MSC4304](https://github.com/matrix-org/matrix-spec-proposals/pull/4304). diff --git a/changelogs/room_versions/newsfragments/2199.feature b/changelogs/room_versions/newsfragments/2199.feature deleted file mode 100644 index 88e57469..00000000 --- a/changelogs/room_versions/newsfragments/2199.feature +++ /dev/null @@ -1 +0,0 @@ -Add [room version 12](/rooms/v12) as per [MSC4304](https://github.com/matrix-org/matrix-spec-proposals/pull/4304). diff --git a/changelogs/server_server/newsfragments/2207.feature b/changelogs/server_server/newsfragments/2207.feature deleted file mode 100644 index f4b5ad38..00000000 --- a/changelogs/server_server/newsfragments/2207.feature +++ /dev/null @@ -1 +0,0 @@ -`invite_room_state` and `knock_room_state` now have additional requirements and validation depending on the room version, as per [MSC4311](https://github.com/matrix-org/matrix-spec-proposals/pull/4311). diff --git a/config/_default/hugo.toml b/config/_default/hugo.toml index e3777cc7..328c0d9e 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 = "15" +major = "1" +minor = "16" # User interface configuration [params.ui] diff --git a/content/changelog/v1.16.md b/content/changelog/v1.16.md new file mode 100644 index 00000000..e8c1f717 --- /dev/null +++ b/content/changelog/v1.16.md @@ -0,0 +1,103 @@ +--- +title: v1.16 Changelog +linkTitle: v1.16 +type: docs +layout: changelog +outputs: + - html + - checklist +date: 2025-09-17 +--- + +## Client-Server API + +**Deprecations** + +- Deprecate `m.set_avatar_url` and `m.set_displayname` capabilities, as per [MSC4133](https://github.com/matrix-org/matrix-spec-proposals/pull/4133). ([#2071](https://github.com/matrix-org/matrix-spec/issues/2071)) + +**Removed Endpoints** + +- Remove unintentional intentional mentions in replies, as per [MSC4142](https://github.com/matrix-org/matrix-spec-proposals/pull/4142). ([#2210](https://github.com/matrix-org/matrix-spec/issues/2210)) + +**Backwards Compatible Changes** + +- Update user profile endpoints to handle custom fields, and add a new `m.profile_fields` capability, as per [MSC4133](https://github.com/matrix-org/matrix-spec-proposals/pull/4133). ([#2071](https://github.com/matrix-org/matrix-spec/issues/2071)) +- Add `format` query parameter to `GET /state/{eventType}/{stateKey}` to allow fetching metadata of a specific state event. ([#2175](https://github.com/matrix-org/matrix-spec/issues/2175)) +- Add the `use_state_after` query parameter and `state_after` response property to `GET /sync`, as per [MSC4222](https://github.com/matrix-org/matrix-spec-proposals/issues/4222). ([#2187](https://github.com/matrix-org/matrix-spec/issues/2187)) +- When upgrading rooms to [room version 12](/rooms/v12), `additional_creators` may be specified on the [`POST /_matrix/client/v3/rooms/{roomId}/upgrade`](/client-server-api/#post_matrixclientv3roomsroomidupgrade) endpoint, as per [MSC4289](https://github.com/matrix-org/matrix-spec-proposals/pull/4289). ([#2193](https://github.com/matrix-org/matrix-spec/issues/2193)) +- When creating rooms with [room version 12](/rooms/v12), the `trusted_private_chat` preset should merge the invitees into the supplied `content.additional_creators` in the resulting room, as per [MSC4289](https://github.com/matrix-org/matrix-spec-proposals/pull/4289). ([#2193](https://github.com/matrix-org/matrix-spec/issues/2193)) +- In [room version 12](/rooms/v12), the power level of room creators is now infinitely high as per [MSC4289](https://github.com/matrix-org/matrix-spec-proposals/pull/4289). ([#2193](https://github.com/matrix-org/matrix-spec/issues/2193)) +- In [room version 12](/rooms/v12), room IDs no longer have a domain component as per [MSC4291](https://github.com/matrix-org/matrix-spec-proposals/pull/4291). ([#2193](https://github.com/matrix-org/matrix-spec/issues/2193)) +- When creating rooms with [room version 12](/rooms/v12), the initial power levels will restrict the ability to upgrade rooms by default, as per [MSC4289](https://github.com/matrix-org/matrix-spec-proposals/pull/4289). ([#2193](https://github.com/matrix-org/matrix-spec/issues/2193)) +- Add a profile field for a user's time zone, as per [MSC4175](https://github.com/matrix-org/matrix-spec-proposals/pull/4175). ([#2206](https://github.com/matrix-org/matrix-spec/issues/2206)) +- Invites and knocks are now expected to contain the `m.room.create` event in their stripped state entries, as per [MSC4311](https://github.com/matrix-org/matrix-spec-proposals/pull/4311). ([#2207](https://github.com/matrix-org/matrix-spec/issues/2207)) + +**Spec Clarifications** + +- Clarify that `format` is required if `formatted_body` is specified. ([#2167](https://github.com/matrix-org/matrix-spec/issues/2167)) +- The `latest_event` in an aggregated set of thread events uses the same format as the event itself. ([#2169](https://github.com/matrix-org/matrix-spec/issues/2169)) +- Fix various typos throughout the specification. ([#2171](https://github.com/matrix-org/matrix-spec/issues/2171), [#2177](https://github.com/matrix-org/matrix-spec/issues/2177), [#2179](https://github.com/matrix-org/matrix-spec/issues/2179)) +- Clarify that clients should replace events with the most recent replacement by `origin_server_ts`. ([#2190](https://github.com/matrix-org/matrix-spec/issues/2190)) +- Fix `/sync` flow referencing incorrect parameter to use with `/messages`. ([#2195](https://github.com/matrix-org/matrix-spec/issues/2195)) +- Clarify wording around the `world_readable` history visibility setting. Contributed by @HarHarLinks. ([#2204](https://github.com/matrix-org/matrix-spec/issues/2204)) + + +## Server-Server API + +**Backwards Compatible Changes** + +- `invite_room_state` and `knock_room_state` now have additional requirements and validation depending on the room version, as per [MSC4311](https://github.com/matrix-org/matrix-spec-proposals/pull/4311). ([#2207](https://github.com/matrix-org/matrix-spec/issues/2207)) + + +## Application Service API + +No significant changes. + + +## Identity Service API + +No significant changes. + + +## Push Gateway API + +No significant changes. + + +## Room Versions + +**Backwards Compatible Changes** + +- Room IDs in room version 12 are now the event ID of the create event with the normal room ID sigil (`!`), as per [MSC4291](https://github.com/matrix-org/matrix-spec-proposals/pull/4291). ([#2193](https://github.com/matrix-org/matrix-spec/issues/2193)) +- Room creators are formalized in room version 12 and have infinitely high power level, as per [MSC4289](https://github.com/matrix-org/matrix-spec-proposals/pull/4289). ([#2193](https://github.com/matrix-org/matrix-spec/issues/2193)) +- State Resolution is updated in room version 12 to reduce the opportunity for "state resets", as per [MSC4297](https://github.com/matrix-org/matrix-spec-proposals/pull/4297). ([#2193](https://github.com/matrix-org/matrix-spec/issues/2193)) +- The default room version is now room version 12, though servers SHOULD keep using room version 11 for a little while, as per [MSC4304](https://github.com/matrix-org/matrix-spec-proposals/pull/4304). ([#2193](https://github.com/matrix-org/matrix-spec/issues/2193)) +- Add [room version 12](/rooms/v12) as per [MSC4304](https://github.com/matrix-org/matrix-spec-proposals/pull/4304). ([#2193](https://github.com/matrix-org/matrix-spec/issues/2193), [#2199](https://github.com/matrix-org/matrix-spec/issues/2199)) + +**Spec Clarifications** + +- In room versions 1 through 12, an event's `auth_events` have always needed to belong to the same room as per [MSC4307](https://github.com/matrix-org/matrix-spec-proposals/pull/4307). ([#2193](https://github.com/matrix-org/matrix-spec/issues/2193)) + + +## Appendices + +**Backwards Compatible Changes** + +- Room IDs can now appear without a domain component in [room version 12](/rooms/v12), as per [MSC4291](https://github.com/matrix-org/matrix-spec-proposals/pull/4291). ([#2193](https://github.com/matrix-org/matrix-spec/issues/2193)) + + +## Internal Changes/Tooling + +**Backwards Compatible Changes** + +- Add "placeholder MSC" process definition. ([#2157](https://github.com/matrix-org/matrix-spec/issues/2157)) + +**Spec Clarifications** + +- Declare the Application Service Registration schema to follow JSON Schema spec 2020-12. ([#2132](https://github.com/matrix-org/matrix-spec/issues/2132)) +- Declare the event schemas to follow JSON Schema spec 2020-12. ([#2132](https://github.com/matrix-org/matrix-spec/issues/2132)) +- Upgrade the docsy theme to version 0.12.0. ([#2160](https://github.com/matrix-org/matrix-spec/issues/2160)) +- GitHub actions are now building the OpenAPI `spec/identity-service-api/api.json` file. ([#2172](https://github.com/matrix-org/matrix-spec/issues/2172)) +- Minor fixes to JSON schemas. ([#2182](https://github.com/matrix-org/matrix-spec/issues/2182)) +- Specify a correct spelling for "display name". ([#2189](https://github.com/matrix-org/matrix-spec/issues/2189)) +- Fix a grammatical typo on the Matrix Spec Process documentation page. ([#2205](https://github.com/matrix-org/matrix-spec/issues/2205))