You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
matrix-spec/data/api/client-server
Travis Ralston f97d2944ae
Room version 12 (#2193)
* Placeholder

* i++

* Room version 12

Template out a v12 room version

Make v12 default, per MSC4304

Update PDU checks and auth event selection per MSC4291

Describe new room_id format per MSC4291

Move v6 depth definition to a component for easier referencing

Move room_id to a component to prep for v12, per MSC4291

Create and use a new room_id component for v12+ per MSC4291

Reflect auth events selection change onto all room versions per MSC4291

The MSC asks the `description` of `auth_events` to be adjusted, however this feels like a better representation of the change.

Add `room_id` format rules and renumber per MSC4291

Reflect change to rule 1.2 per MSC4291

Insert same room_id check to v1-12 auth rules per MSC4307 and MSC4291

Deprecate `predecessor.event_id` per MSC4291

Insert auth rule to validate `additional_creators` per MSC4289

Insert rule for `users` validation of creators and renumber per MSC4289

Define "room creator(s)" per MSC4289

Spec `additional_creators` on create events per MSC4289

Spec `additional_creators` on `/upgrade` per MSC4289

The MSC doesn't mention how to handle unsupported room versions, but the Synapse implementation used for FCP ignores the field in such room versions. This feels like a good approach, and will need clarifying in the MSC too (if accepted at the spec level).

Add notes to `/upgrade` behaviour per MSC4289 and MSC4291

Describe how additional creators work during room creation per MSC4289

Fix default user power level descriptions per MSC4289

Describe tombstone power level changes per MSC4289

Warn clients about event format changes in v12 per MSC4289 and MSC4291

Flag additional room creators support for client reference per MSC4289

Remove TODO now that it's fully addressed

Copy state res into v12 as-is for modification

Apply Modification 1 to SR2.1 per MSC4297

Apply Modification 2 to SR2.1 per MSC4297

Add summary box to the top of SR2.1 for ease of developer reference

Modification 2 was split into items 2 and 3 for further ease of understanding.

Add all the changelogs

`x` is used until a real PR number can be assigned.

Some changelogs are duplicated to the Client-Server API to increase visibility of the changes to v12.

Review: Minor phrasing adjustments in changelogs

Review: Clarify that v12 isn't quite the default yet in the changelog

Review: Clarify to clients that creators are immutable

Review: Improve 'how to parse a domain' advice for legacy apps

Review: Add a bit more detail as to why a room ID might be required

Apply suggestions from code review

Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>

Clarify that clients can override the tombstone default

Mention creatorship UI label by finishing the Permissions section

We probably should have removed the WIP note in v1.0, but alas.

Add changelog for tombstone changes

Use assigned spec PR number in changelogs

(cherry picked from commit ec81eea7e4532fd398b8013071d6981c97117d9e)
4 months ago
..
definitions Fix new redocly lints (#2182) 4 months ago
account-data.yaml Fix relative URLs when serving the specification with a custom `baseURL` (#1984) 1 year ago
account_deactivation.yaml Reorganize client authentication section to separate the legacy API and the new OAuth 2.0 API (#2141) 6 months ago
admin.yaml Fix security schemes in OpenAPI definitions (#1772) 2 years ago
administrative_contact.yaml Final tweaks for the OAuth 2.0 API (#2164) 5 months ago
appservice_ping.yaml Fix relative URLs when serving the specification with a custom `baseURL` (#1984) 1 year ago
appservice_room_directory.yaml Clarify the meaning of "public rooms" in the room directory (#2104) 7 months ago
authed-content-repo.yaml Specify `Content-Type` and `Content-Disposition` usage in the media repo (#1935) 1 year ago
banning.yaml Fix security schemes in OpenAPI definitions (#1772) 2 years ago
capabilities.yaml Spec for MSC4133: Update profile endpoints to support extended fields (#2071) 4 months ago
content-repo.yaml Clarify that the async upload endpoint will return 404 in some cases (#1983) 1 year ago
create_room.yaml Room version 12 (#2193) 4 months ago
cross_signing.yaml Final tweaks for the OAuth 2.0 API (#2164) 5 months ago
device_management.yaml Final tweaks for the OAuth 2.0 API (#2164) 5 months ago
directory.yaml Fix security schemes in OpenAPI definitions (#1772) 2 years ago
event_context.yaml Fix security schemes in OpenAPI definitions (#1772) 2 years ago
filter.yaml Clean up unecessary `allOf`s (#1797) 2 years ago
inviting.yaml Fix security schemes in OpenAPI definitions (#1772) 2 years ago
joining.yaml MSC4213: Remove server_name parameter (#2059) 10 months ago
key_backup.yaml Deduplicate `RoomKeysUpdateResponse` (#2073) 9 months ago
keys.yaml Specify the order in which one-time keys are returned (MSC4225) (#2029) 12 months ago
kicking.yaml Fix security schemes in OpenAPI definitions (#1772) 2 years ago
knocking.yaml MSC4213: Remove server_name parameter (#2059) 10 months ago
leaving.yaml Fix security schemes in OpenAPI definitions (#1772) 2 years ago
list_joined_rooms.yaml Fix security schemes in OpenAPI definitions (#1772) 2 years ago
list_public_rooms.yaml Clarify the meaning of "public rooms" in the room directory (#2104) 7 months ago
login.yaml Clarify formats of string types for the `POST /_matrix/client/v3/login` endpoint (#1980) 1 year ago
login_token.yaml Document m.get_login_token capability (#1908) 1 year ago
logout.yaml Fix typo (#2177) 5 months ago
message_pagination.yaml Fix security schemes in OpenAPI definitions (#1772) 2 years ago
notifications.yaml Fix security schemes in OpenAPI definitions (#1772) 2 years ago
oauth_server_metadata.yaml Add the OAuth 2.0 server metadata discovery endpoint (#2147) 6 months ago
old_sync.yaml Remove extra trailing quotes from sync API specs (#2091) 9 months ago
openid.yaml Fix security schemes in OpenAPI definitions (#1772) 2 years ago
password_management.yaml Reorganize client authentication section to separate the legacy API and the new OAuth 2.0 API (#2141) 6 months ago
peeking_events.yaml Fix security schemes in OpenAPI definitions (#1772) 2 years ago
presence.yaml Fix security schemes in OpenAPI definitions (#1772) 2 years ago
profile.yaml Spec for MSC4133: Update profile endpoints to support extended fields (#2071) 4 months ago
pusher.yaml Clarify that servers must forward custom keys in `PusherData` (#1973) 1 year ago
pushrules.yaml Remove references to device-specific push rules. (#1842) 1 year ago
read_markers.yaml Fix security schemes in OpenAPI definitions (#1772) 2 years ago
receipts.yaml Fix security schemes in OpenAPI definitions (#1772) 2 years ago
redaction.yaml Fix typo in `/_matrix/client/v3/rooms/{roomId}/redact/{eventId}/{txnId}` (#2047) 11 months ago
refresh.yaml Upgrade Swagger data to OpenAPI 3.1 (#1310) 3 years ago
registration.yaml Reorganize client authentication section to separate the legacy API and the new OAuth 2.0 API (#2141) 6 months ago
registration_tokens.yaml Upgrade Swagger data to OpenAPI 3.1 (#1310) 3 years ago
relations.yaml Clarify that relations recursion should be capped at a certain depth (#1854) 1 year ago
report_content.yaml MSC4260: Reporting users (Client-Server API) (#2093) 9 months ago
room_event_by_timestamp.yaml Fix relative URLs when serving the specification with a custom `baseURL` (#1984) 1 year ago
room_initial_sync.yaml Remove extra trailing quotes from sync API specs (#2091) 9 months ago
room_send.yaml Fix security schemes in OpenAPI definitions (#1772) 2 years ago
room_state.yaml Fix security schemes in OpenAPI definitions (#1772) 2 years ago
room_summary.yaml Fix new redocly lints (#2182) 4 months ago
room_upgrades.yaml Room version 12 (#2193) 4 months ago
rooms.yaml Add `format` query parameter to `GET /state/{eventType}/{stateKey}` (#2175) 5 months ago
search.yaml Use `patternProperties` in more places with supported formats (#1813) 2 years ago
space_hierarchy.yaml Spec PR - MSC3266: Room Summary API (#2125) 6 months ago
sso_login_redirect.yaml Upgrade Swagger data to OpenAPI 3.1 (#1310) 3 years ago
support.yaml Clarify Well-Known URIs (#2140) 7 months ago
sync.yaml Add `state_after` to `/sync` (#2187) 4 months ago
tags.yaml Factor out common definition of `Tag` type (#1793) 2 years ago
third_party_lookup.yaml Document `instance_id` field of `/thirdparty/protocols` (#2051) 10 months ago
third_party_membership.yaml Clarifications around third-party invites (#2083) 8 months ago
threads_list.yaml Fix security schemes in OpenAPI definitions (#1772) 2 years ago
to_device.yaml Use `patternProperties` in more places with supported formats (#1813) 2 years ago
typing.yaml Fix security schemes in OpenAPI definitions (#1772) 2 years ago
users.yaml Clarify the meaning of "public rooms" for user directory queries (#2102) 7 months ago
versions.yaml Fix security schemes in OpenAPI definitions (#1772) 2 years ago
voip.yaml Fix security schemes in OpenAPI definitions (#1772) 2 years ago
wellknown.yaml Clarify Well-Known URIs (#2140) 7 months ago
whoami.yaml Clarify formats of string types in account sections (#2046) 11 months ago