Commit graph

1309 commits

Author SHA1 Message Date
Travis Ralston 72a2a1b67a Matrix 1.15 2025-07-30 11:58:25 +01:00
Kévin Commaille 9eb74759d5 Final tweaks for the OAuth 2.0 API (#2164)
* Clarify that SSO login applies to the legacy authentication API

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Do not point to specific authentication API for obtaining access token

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Add warnings about incompatibility with OAuth 2.0 to endpoints that use UIA

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Add changelog

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Add note about API standards not applying to OAuth 2.0

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Apply suggestions from code review

---------

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
Co-authored-by: Travis Ralston <travpc@gmail.com>
2025-07-30 11:58:25 +01:00
Travis Ralston 9b2f3965c4 Normalize changelog 2025-07-30 11:58:25 +01:00
Kévin Commaille 83d31c66c5 Clarify the differences between the two authentication APIs (#2159)
I tried to summarize MSC3861, and add sections to be able to find quickly how to do something with either API.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-07-30 11:58:25 +01:00
Kévin Commaille 244029db06 Add OAuth 2.0 token revocation (#2151)
As per MSC4254

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-07-30 11:58:25 +01:00
Kévin Commaille 7e4489c3e2 Add OAuth 2.0 authorization code and refresh token grant types (#2150)
As per MSC2964

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-07-30 11:58:25 +01:00
Kévin Commaille 651c1df45a Add OAuth 2.0 dynamic client registration (#2148)
As per MSC2966

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-07-30 11:58:25 +01:00
Richard van der Hoff b70784c5eb Fix example for ExportedSessionData (#2154)
Currently, the example for `ExportedSessionData` is missing values for
`room_id` and `session_id`.

Move the example field values for `KeyBackupSessionData` into the field
definitions, so that an example for the object as a whole is built
automatically, and when we extend it to form `ExportedSessionData` the
explicit example does not override the more complete autogenerated one.
2025-07-30 11:58:25 +01:00
Kévin Commaille cf2e3f0df5 Add the OAuth 2.0 server metadata discovery endpoint (#2147)
As per MSC2965.
2025-07-30 11:58:25 +01:00
Kévin Commaille 615f0511dd Add OAuth 2.0 scopes (#2149)
As per MSC2967

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-07-30 11:58:25 +01:00
Kévin Commaille 44ac7c3312 Clarify some string formats of room summary endpoint (#2158) 2025-07-30 11:58:25 +01:00
Johannes Marbach e2f3895050 Spec PR - MSC3266: Room Summary API (#2125)
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2025-07-30 11:58:25 +01:00
Kévin Commaille 30b68df0ce Reorganize client authentication section to separate the legacy API and the new OAuth 2.0 API (#2141)
Since account locking and suspension are authentication API agnostic,
this is a pre-requisite to adding the new OAuth 2.0-based API.

This also splits the endpoints that where all included in the
registration OpenAPI data, to separate them cleanly in the spec, and
avoid having deactivation show before registration.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-07-30 11:58:25 +01:00
Johannes Marbach 59fdc01d6a Clarify the meaning of "public spaces" (#2109)
Relates to: #633

Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2025-07-30 11:58:25 +01:00
Johannes Marbach 6ce859cd7f Spec PR - MSC4147: Including device keys with Olm-encrypted events (#2122)
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
Co-authored-by: Richard van der Hoff <richard@matrix.org>
2025-07-30 11:58:25 +01:00
Kim Brose 8c9be2f7dc Update the header navigation menu with 2025 links to m.org (#2137) 2025-07-30 11:58:25 +01:00
Johannes Marbach 153d6d90d4 Clarify the meaning of "public rooms" in the room directory (#2104)
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
Co-authored-by: Kim Brose <2803622+HarHarLinks@users.noreply.github.com>
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2025-07-30 11:58:25 +01:00
Andy Balaam ffc744805d Fix typo: as->has (#2144)
Signed-off-by: Andy Balaam <andy.balaam@matrix.org>
2025-07-30 11:58:25 +01:00
V02460 95c86f1360 [schema] Correct null value handling for the AS Registration’s url property (#2130)
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
2025-07-30 11:58:25 +01:00
Kévin Commaille 06f6ac6c07 Fix generation of historical spec (#2123)
With the move of the config file, the command in CI did not work as
expected anymore.
I am unsure why Hugo actually ignored the missing config file in the
command…

To avoid this problem in the future and simplify the job, we use the
default config and add an environment variable for the status which will
always take precedence over the config.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-07-30 11:58:25 +01:00
Kévin Commaille 720c5046eb Clarify that join_authorised_via_users_server auth event is only necessary for joins (#2100)
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-07-30 11:58:25 +01:00
Johannes Marbach 65702c7f6c Spec PR - MSC3765: Rich text in room topics (#2095)
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2025-07-30 11:58:25 +01:00
Johannes Marbach 40f7d1006b Clarify the meaning of "public rooms" for presence (#2108) 2025-07-30 11:58:25 +01:00
Johannes Marbach 8e4b0df51c Clarify the meaning of "public rooms" for policy lists (#2107) 2025-07-30 11:58:25 +01:00
Johannes Marbach 9cf45d4976 Clarify the meaning of "public rooms" for call invites (#2106) 2025-07-30 11:58:25 +01:00
Johannes Marbach d566dc3d6b Clarify the meaning of "public rooms" for user directory queries (#2102) 2025-07-30 11:58:25 +01:00
Johannes Marbach 9930c122ee Clarify the meaning of "public rooms" for profile look-ups (#2101) 2025-07-30 11:58:25 +01:00
Kim Brose 5f083d229f Clarify Well-Known URIs (#2140)
* Clarify Well-Known URIs

Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>

* Fix section link

---------

Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>
2025-07-30 11:58:25 +01:00
Kévin Commaille f60748fdaf Replace Hugo shortcodes in OpenAPI output (#2088)
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-07-30 11:58:25 +01:00
Andrew Morgan 6a67bfd3a0 Add a note to the federation invite endpoints that invites can be sent twice (#2067)
... as this may be non-obvious when implementing behaviour that is triggered by an incoming invite
event.

See https://github.com/matrix-org/matrix-spec/issues/2062 for more context.

Co-authored-by: Kévin Commaille <76261501+zecakeh@users.noreply.github.com>
2025-07-30 11:58:25 +01:00
Kévin Commaille 9dacac832d Clarifications around third-party invites (#2083)
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-07-30 11:58:25 +01:00
Kévin Commaille 91e0379c17 Adjust margins in rendered endpoints (#2081)
* Use consistent spacing between tables and code blocks

Tables used `4 rem` which is more than the margin above a h2 title, which seems excessive. We change it to `2 rem` which matches the margin of code blocks and info boxes.

We also remove the margin on the last item of a `.rendered-data` block because this is just wasted space.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Adjust spacing around h2 and h3 titles in `.rendered-data`

Given that h2 titles are always preceded by an horizontal rule, we don't need a lot of space to separate them from the previous section.

We also reduce the spacing when a h2 title is followed directly by a h3 title.

Finally, we add a little spacing below both so that tables are less close to the title.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Add changelog

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

---------

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2025-07-30 11:58:25 +01:00
Will Hunt ad007a1b90 Describe behaviour when the topic key is falsey in a m.room.topic event. (#2068)
We seem to have [updated this for m.room.name](https://github.com/matrix-org/matrix-spec/pull/1639) some years back but omitted it for topic.
2025-07-30 11:58:25 +01:00
Kévin Commaille 2c9d805a00 Fix /sync example (#2077)
* Fix sync example

The same event should not appear in `state` and in the `timeline` so we cannot use the same event twice.

To provide a `state` example we assume that with lazy-loading the user did not get the state event for `@example:example.org`, so we add one since they sent a message in the timeline.

The events that are referenced include a `room_id`, which doesn't appear on this endpoint, so we copy them without it.

Finally, the `join` event of `@alice:example.org` is wrong because the sender does not match the state key, which wouldn't pass the authorization rules.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Fix the `m.room.member.yaml` example

This is a `join` event, and the `sender` doesn't match the `state_key`, so the event couldn't pass the authorization rules.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Add changelog

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

---------

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-07-30 11:58:25 +01:00
Travis Ralston 76f89640a0 Fix minor typo in content hash calculations (#2128)
* Fix minor typo in content hash calculations

* Changelog
2025-07-30 11:58:25 +01:00
Andy Balaam e584e7f811 Typo "not" -> "no" (#2121)
* Typo "not" -> "no"

Signed-off-by: Andy Balaam <andy.balaam@matrix.org>

---------

Signed-off-by: Andy Balaam <andy.balaam@matrix.org>
2025-07-30 11:58:25 +01:00
Kim Brose 6d007c66a7 Create funding-manifest-urls (#2115)
* Create funding-manifest-urls

* update funding-manifest-urls location, add news

Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>

---------

Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>
2025-07-30 11:58:25 +01:00
Travis Ralston 9b56b1a8c3 v1.14 2025-07-30 11:58:25 +01:00
Travis Ralston 35ebeea122 Add a v6 event format with correct depth limits (#2114)
* Add a v6 event format with correct `depth` limits

* Changelog

* numbers are hard
2025-07-30 11:58:25 +01:00
Travis Ralston 7031ae307b Normalize changelog 2025-07-30 11:58:25 +01:00
Johannes Marbach cd2c3968cb MSC4260: Reporting users (Client-Server API) (#2093)
* MSC4260: Reporting users (Client-Server API)

Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>

* Add changelog

* Update data/api/client-server/report_content.yaml

Co-authored-by: Kévin Commaille <76261501+zecakeh@users.noreply.github.com>

* Move option to consistently respond with 200 to user reporting endpoint

* Move optional random delay to event and user reporting endpoints

* Make reason required for user and room reports

* Fix requiredness syntax

---------

Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
Co-authored-by: Kévin Commaille <76261501+zecakeh@users.noreply.github.com>
2025-07-30 11:58:25 +01:00
Kévin Commaille b2fcbe47db Set room version 11 as the default (#2105)
* Set room version 11 as the default

As per MSC4239

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Add changelog

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

---------

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-07-30 11:58:25 +01:00
Johannes Marbach 3b5702ce39 Remove extra trailing quotes from sync API specs (#2091)
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2025-07-30 11:58:25 +01:00
Kévin Commaille e40f8293b3 Deduplicate Invite3pid (#2074)
* Deduplicate Invite3pid

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-07-30 11:58:25 +01:00
Kévin Commaille 4d0e3dae69 Deduplicate RoomKeysUpdateResponse (#2073)
And add a link to the endpoint that is mentionned while we're at it.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-07-30 11:58:25 +01:00
Kévin Commaille cf4234f755 Look for examples in all possible locations (#2076)
We used to only look for examples in a few (sometimes arbitrary) places, and we didn't support showing several examples in most cases. This is intended to fix this. In the process we try to deduplicate code to make sure that we use the same logic everywhere.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-07-30 11:58:25 +01:00
Kévin Commaille 26a099a81e Add link to git commit for unstable changelog too (#2078)
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-07-30 11:58:25 +01:00
Johannes Marbach 88f3529756 Clients can choose which history visibility options they offer to users when creating rooms (#2072)
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2025-07-30 11:58:25 +01:00
Kévin Commaille 682f0f2be7 Fix parsing of nested slices in resolve-refs and resolve-allof partials (#2069)
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-07-30 11:58:25 +01:00
Kévin Commaille d5ec2a27f2 Refactor PDU definitions to reduce duplication (#2070)
First of all, all PDU definitions were based on the v1 PDU definition with a few fields overwritten to change the format with needed.
While that works when rendering the spec, this is semantically incorrect because it means that the objects must match both schemas, which is impossible.

So now we make a base with only the common fields, and we add the others as needed by the room version.
Note that there is no more "unsigned PDU" definition since it is not used directly, and hashes and signatures are the same across all versions.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-07-30 11:58:25 +01:00