You're looking at an unstable version of this specification. Unstable specifications may change at any time without notice.

Switch to the current stable release.

Changes since last release

Git commithttps://github.com/matrix-org/matrix-spec/tree/72a2ebc
Checklistchecklist.md

Client-Server API

Deprecations

  • Deprecate m.set_avatar_url and m.set_displayname capabilities, as per MSC4133. (#2071)

Removed Endpoints

  • Remove unintentional intentional mentions in replies as per MSC4142. (#2210)

Backwards Compatible Changes

  • Update user profile endpoints to handle custom fields, and add a new m.profile_fields capability, as per MSC4133. (#2071)
  • Add format query parameter to GET /state/{eventType}/{stateKey} to allow fetching metadata of a specific state event. (#2175)
  • Add the use_state_after query parameter and state_after response property to GET /sync, as per MSC4222. (#2187)
  • When creating rooms with room version 12, the trusted_private_chat preset should merge the invitees into the supplied content.additional_creators in the resulting room, as per MSC4289. (#2193)
  • When creating rooms with room version 12, the initial power levels will restrict the ability to upgrade rooms by default, as per MSC4289. (#2193)
  • In room version 12, room IDs no longer have a domain component as per MSC4291. (#2193)
  • When upgrading rooms to room version 12, additional_creators may be specified on the POST /_matrix/client/v3/rooms/{roomId}/upgrade endpoint, as per MSC4289. (#2193)
  • In room version 12, the power level of room creators is now infinitely high as per MSC4289. (#2193)
  • Add a profile field for a user’s time zone, per MSC4175. (#2206)
  • Invites and knocks are now expected to contain the m.room.create event in their stripped state entries, as per MSC4311. (#2207)

Spec Clarifications

  • Declare the event schemas to follow JSON Schema spec 2020-12. (#2132)
  • Clarify that format is required if formatted_body is specified. (#2167)
  • The latest_event in an aggregated set of thread events uses the same format as the event itself. (#2169)
  • Fix various typos throughout the specification. (#2171, #2177, #2179)
  • Minor fixes to JSON schemas. (#2182)
  • Fix /sync flow referencing incorrect parameter to use with /messages. (#2195)
  • Clarify wording around the world_readable history visibility setting. Contributed by @HarHarLinks. (#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. (#2207)

Application Service API

Spec Clarifications

  • Declare the Application Service Registration schema to follow JSON Schema spec 2020-12. (#2132)
  • Minor fixes to JSON schemas. (#2182)

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. (#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. (#2193)
  • State Resolution is updated in room version 12 to reduce the opportunity for “state resets”, as per MSC4297. (#2193)
  • Room creators are formalized in room version 12 and have infinitely high power level, as per MSC4289. (#2193)
  • Add room version 12 as per MSC4304. (#2193, #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. (#2193)

Appendices

Backwards Compatible Changes

Internal Changes/Tooling

Backwards Compatible Changes

  • Add “placeholder MSC” process definition. (#2157)
  • TODO: Placeholder (#2193)

Spec Clarifications

  • Upgrade the docsy theme to version 0.12.0. (#2160)
  • GitHub actions are now building the OpenAPI spec/identity-service-api/api.json file. (#2172)
  • Specify a correct spelling for “display name”. (#2189)
  • Clarify that clients should replace events with the most recent replacement by origin_server_ts. (#2190)
  • Fix a grammatical typo on the Matrix Spec Process documentation page. (#2205)