Hey all,

We're right at the end of Q1 2025 with a new spec release: Matrix 1.14! Our original plan was to cut this release around FOSDEM with some Matrix 2.0 functionality, but ended up needing to push the release out due to those MSCs not quite being ready. As we're cutting this release though, several of the Next Generation Authentication MSCs are progressing through FCP and could do with a release once written up as spec PRs. We anticipate that Matrix 1.15 will be that release, and go out early in Q2 2025.

This release brings just 3 MSCs to the world, largely because the SCT has been focusing so much on Matrix 2.0 objectives. The only feature introduced is the report user endpoint, to complement last release's report room endpoint - everything else is primarily maintenance of the spec. The full changelog is below, as always.

🔗The full changelog

The full changelog for Matrix 1.14 is:

🔗Client-Server API

New Endpoints

  • Add POST /_matrix/client/v3/users/{userId}/report, as per MSC4260. (#2093)

Removed Endpoints

  • Remove server_name parameter from /_matrix/client/v3/join/{roomIdOrAlias} and /_matrix/client/v3/knock/{roomIdOrAlias}, as per MSC4213. (#2059)

Spec Clarifications

  • The POST /_matrix/client/v3/rooms/{roomId}/initialSync endpoint is no longer deprecated, as it is still used for peeking. (#2036)
  • Clarify wording in the /join endpoints' summaries and descriptions. Contributed by @HarHarLinks. (#2038)
  • Clarify formats of string types. (#2046)
  • Fix various typos throughout the specification. (#2047, #2048, #2080, #2091)
  • Document the instance_id field of Protocol Instance in the responses to GET /_matrix/client/v3/thirdparty/protocols and GET /_matrix/client/v3/thirdparty/protocol/{protocol}. (#2051)
  • Applying redactions is a SHOULD for clients. (#2055)
  • Clarify which rooms are returned from /hierarchy. (#2064)
  • Clients can choose which history visibility options they offer to users when creating rooms. (#2072)

🔗Server-Server API

Spec Clarifications

  • Remove the origin field in PUT /send_join responses, because it was never sent in the first place. (#2050)
  • Clarify that m.join_rules should be in the auth_events of an m.room.member event with a membership of knock. (#2063)
  • Remove an erroneous room_id field in a few examples. (#2076)

🔗Application Service API

No significant changes.

🔗Identity Service API

No significant changes.

🔗Push Gateway API

No significant changes.

🔗Room Versions

Backwards Compatible Changes

  • Update the default room version to 11, as per MSC4239. (#2105)

Spec Clarifications

  • For room versions 6 and 7, clarify in the authorization rules that m.federate must be checked and that events with rejected auth events must be rejected, for parity with all the other room versions. (#2065)
  • Fix various typos throughout the specification. (#2066)
  • Refactor PDU definitions to reduce duplication. (#2070)
  • Clarify the maximum depth value for room versions 6, 7, 8, 9, 10, and 11. (#2114)

🔗Appendices

Spec Clarifications

  • Clarify that arbitrary unicode is allowed in user/room IDs and room aliases. (#1506)

🔗Internal Changes/Tooling

Spec Clarifications

  • Generate the changelog release info with Hugo, rather than the changelog generation script. (#2033)
  • Update release steps documentation. (#2041)
  • Remove unused release_date from Hugo config. (#2042)
  • Clarify that v1.0 of Matrix was a release prior to the current global versioning system. (#2045)
  • Fix syntax highlighting and click-to-copy buttons for code blocks by purging less CSS. (#2049)
  • Fix the version of the Identity Service API when Matrix 1.0 was introduced. (#2061)
  • Fix parsing of nested slices in resolve-refs and resolve-allof partials. (#2069)
  • Deduplicate the definition of RoomKeysUpdateResponse. (#2073)
  • Deduplicate the definitions of Invite3pid. (#2074)
  • Support more locations for examples in OpenAPI definitions and JSON schemas. (#2076)
  • Add link to the git commit for the unstable changelog. (#2078)

The Foundation needs you

The Matrix.org Foundation is a non-profit and only relies on donations to operate. Its core mission is to maintain the Matrix Specification, but it does much more than that.

It maintains the matrix.org homeserver and hosts several bridges for free. It fights for our collective rights to digital privacy and dignity.

Support us