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/9244c84
Checklistchecklist.md

Client-Server API

New Endpoints

  • Add GET /_matrix/client/v1/auth_metadata, as per MSC2965. (#2147)

Backwards Compatible Changes

  • Add m.topic content block to enable rich text in m.room.topic events as per MSC3765. (#2095)
  • Include device keys with Olm-encrypted events as per MSC4147. (#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. (#2125, #2158)
  • Add the OAuth 2.0 based authentication API, as per MSC3861 and its sub-proposals. (#2141, #2148, #2149)

Spec Clarifications

  • Clarify behaviour when the topic key of a m.room.topic event is absent, null, or empty. (#2068)
  • Fix the example of the GET /sync endpoint and the m.room.member example used in several places. (#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)
  • “Public” rooms in profile look-ups are defined through their join rule and history visibility. (#2101)
  • “Public” rooms in user directory queries are defined through their join rule and history visibility. (#2102)
  • Rooms published in /publicRooms don’t necessarily have public join rules or world_readable history visibility. (#2104)
  • “Public” rooms with respect to call invites are defined through their join rule. (#2106)
  • “Public” rooms have no specific meaning with respect to moderation policy lists. (#2107)
  • “Public” rooms with respect to presence are defined through their join rule. (#2108)
  • Spaces are subject to the same access mechanisms as rooms. (#2109)
  • Fix various typos throughout the specification. (#2121)
  • Clarify that Well-Known URIs are available on the server name’s hostname. Contributed by @HarHarLinks. (#2140)
  • Fix typo: as->has. (#2144)
  • Add missing fields in example for ExportedSessionData. (#2154)

Server-Server API

Backwards Compatible Changes

  • Add m.topic content block to enable rich text in m.room.topic events as per MSC3765. (#2095)
  • Extend /_matrix/federation/v1/hierarchy/{roomId} with the new optional properties encryption and room_version as per MSC3266. (#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)
  • 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)
  • Clarify that auth event of content.join_authorised_via_users_server is only necessary for m.room.member with a membership of join. (#2100)
  • Rooms published in /publicRooms don’t necessarily have public join rules or world_readable history visibility. (#2104)
  • Fix various typos throughout the specification. (#2128)
  • Clarify that Well-Known URIs are available on the server name’s hostname. Contributed by @HarHarLinks. (#2140)

Application Service API

Backwards Compatible Changes

  • Correct null value handling for the AS Registration’s url property. (#2130)

Identity Service API

Spec Clarifications

  • Clarify that public keys can be encoded using standard or URL-safe base64. (#2083)

Push Gateway API

No significant changes.

Room Versions

No significant changes.

Appendices

No significant changes.

Internal Changes/Tooling

Spec Clarifications