Spec support
Servers × MSCs
Which homeserver implements which Matrix Spec Change, and how: stable, behind an unstable prefix, behind a flag, partly, or removed. The MSC's own status (merged into the spec, in final comment period, open) is in the second column.
Spec versions advertised
The newest Matrix spec version each server lists in its /_matrix/client/versions handler, read from the code. Advertising a version is the server's own claim of support.
| Server | Newest | Oldest | Versions listed |
|---|---|---|---|
| Tuwunel | v1.19 | r0.0.1 | 27 |
| Venator | v1.19 | v1.1 | 18 |
| Zendrite | v1.19 | r0.0.1 | 27 |
| continuwuity | v1.18 | r0.0.1 | 22 |
| Maelstrom | v1.18 | v1.1 | 18 |
| Synapse | v1.17 | r0.0.1 | 25 |
| Conduit | v1.12 | r0.5.0 | 14 |
| Palpo | v1.12 | r0.5.0 | 14 |
| Babbleserv | v1.11 | v1.1 | 11 |
| conduwuit | v1.11 | r0.0.1 | 14 |
| Harmony | v1.8 | r0.0.1 | 16 |
| Telodendria | v1.7 | v1.2 | 6 |
| Construct | v1.6 | r0.0.1 | 14 |
| Grapevine | v1.5 | r0.5.0 | 7 |
| Dendrite | v1.2 | r0.0.1 | 10 |
MSC support
Rows are sorted by how many servers implement the MSC, columns by how many MSCs each server implements. The 71 rows shown are implemented by 4 or more servers, plus a few that matter to users (★: sliding sync, next-gen auth, authenticated media, MatrixRTC, threads, policy servers, custom emoji). 377 more, each found in one or two servers, are folded below; 1 catalogued MSCs were found in no server's code.
- stable or always on
- unstable prefix, on by default, or partial
- behind a flag
- removed
- · not found in the code
| MSC | Spec | Servers | Tuwunel | Synapse | Palpo | Zendrite | continuwuity | conduwuit | Venator | Harmony | Dendrite | Maelstrom | Conduit | Construct | Babbleserv | Matrix Authentication Service | matrix-media-repo | LiveKit JWT service | Grapevine | policyserv | Sliding Sync proxy |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MSC3575 Sliding Sync (aka Sync v3) | closed | 12 | unstable | unstable | unstable | unstable | unstable | unstable | not found | unstable | unstable | unstable | unstable | not found | unstable | not found | not found | not found | not found | not found | unstable |
| ★ MSC3916 Authentication for media | merged, v1.11 | 10 | stable | stable | stable | stable | not found | stable | not found | stable | stable | not found | stable | not found | not found | not found | stable | not found | stable | not found | not found |
| MSC2285 Private read receipts | merged, v1.4 | 8 | stable | stable | stable | stable | not found | stable | not found | stable | stable | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found |
| MSC2946 Spaces Summary | merged, v1.2 | 8 | stable | stable | stable | stable | not found | stable | not found | stable | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| ★ MSC4186 Simplified Sliding Sync | fcp | 8 | unstable | unstable | unstable | unstable | unstable | unstable | not found | not found | not found | not found | unstable | not found | unstable | not found | not found | not found | not found | not found | not found |
| MSC4133 Extending User Profile API with Key:Value Pairs | merged, v1.16 | 7 | stable | experimental | stable | stable | stable | stable | not found | not found | not found | not found | not found | not found | stable | not found | not found | not found | not found | not found | not found |
| MSC2432 Updated semantics for publishing room aliases | merged, v1.2 | 6 | stable | stable | stable | stable | not found | stable | not found | not found | not found | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found |
| MSC2666 Get rooms in common with another user | merged, v1.19 | 6 | stable | stable | stable | stable | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2836 Twitter-style Threading | open | 6 | unstable | not found | unstable | experimental | not found | unstable | not found | experimental | experimental | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2967 API scopes | merged | 6 | stable | stable | stable | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | stable | not found | not found | not found | not found | not found |
| MSC3381 Polls (mk II) | fcp | 6 | unstable | experimental | unstable | not found | unstable | unstable | not found | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3827 Filtering of `/publicRooms` by room type | merged, v1.4 | 6 | stable | stable | stable | stable | not found | stable | not found | not found | not found | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found |
| MSC3930 Polls push rules/notifications | fcp | 6 | unstable | unstable | unstable | not found | unstable | unstable | not found | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4190 Device management for application services | merged, v1.17 | 6 | stable | experimental | stable | stable | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| ★ MSC4284 Policy Servers | merged, v1.18 | 6 | partial | stable | stable | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | stable | not found |
| MSC4380 Invite blocking | merged, v1.18 | 6 | stable | stable | stable | stable | stable | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1772 Matrix spaces | merged, v1.2 | 5 | stable | stable | not found | stable | not found | not found | not found | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2409 Proposal to send typing, presence and receipts to appservices | merged, v1.13 | 5 | partial | experimental | stable | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2444 peeking over federation via /peek | open | 5 | partial | not found | unstable | experimental | not found | not found | not found | experimental | experimental | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2448 Using BlurHash as a Placeholder for Matrix Media | open | 5 | partial | not found | unstable | not found | not found | unstable | not found | not found | not found | not found | unstable | not found | not found | not found | not found | not found | unstable | not found | not found |
| MSC2702 Specifying semantics for Content-Disposition on media | merged, v1.12 | 5 | stable | not found | stable | stable | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2753 Peeking via sync (take 2) | open | 5 | not found | unstable | unstable | experimental | not found | not found | not found | experimental | experimental | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2965 OAuth 2.0 Authorization Server Metadata discovery | merged, v1.15 | 5 | stable | stable | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | stable | not found | not found | not found | not found | not found |
| MSC3030 Jump to date API endpoint | merged, v1.6 | 5 | stable | not found | stable | stable | not found | not found | stable | not found | not found | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found |
| MSC3202 Encrypted appservices | open | 5 | experimental | experimental | unstable | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3787 Allowing knocks to restricted rooms | merged, v1.3 | 5 | stable | stable | stable | not found | not found | stable | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3814 [WIP] MSC3814: Dehydrated devices with SSSS | open | 5 | partial | experimental | unstable | experimental | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| ★ MSC3861 Next-generation auth for Matrix, based on OAuth 2.0/OIDC | merged, v1.15 | 5 | stable | experimental | stable | experimental | not found | not found | not found | not found | not found | not found | not found | not found | not found | stable | not found | not found | not found | not found | not found |
| MSC3967 Do not require UIA when first uploading cross signing keys | merged, v1.11 | 5 | stable | stable | not found | not found | not found | stable | not found | not found | not found | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4075 MatrixRTC invites and notifications | open | 5 | unstable | experimental | unstable | not found | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| ★ MSC4140 Cancellable delayed events | fcp | 5 | unstable | experimental | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | unstable | not found | not found | not found |
| ★ MSC4143 MatrixRTC – Real-time communication over Matrix | fcp | 5 | partial | experimental | unstable | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4169 Backwards-compatible redaction sending using `/send` | merged, v1.18 | 5 | stable | experimental | not found | stable | stable | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4203 Sending to-device events to appservices | open | 5 | unstable | unstable | unstable | not found | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4210 Remove legacy mentions | merged, v1.17 | 5 | stable | unstable | not found | stable | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4267 Automatically forgetting rooms on leave | merged, v1.18 | 5 | stable | experimental | stable | not found | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4311 Ensuring the create event is available on invites | merged, v1.16 | 5 | stable | stable | stable | stable | not found | not found | not found | not found | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4323 User suspension & locking endpoints | merged, v1.18 | 5 | stable | not found | stable | stable | stable | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1659 Proposal: Change Event IDs to Hashes | merged | 4 | stable | stable | stable | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1884 Proposal to replace slashes in event IDs | merged | 4 | stable | stable | stable | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2659 Application service ping endpoint | merged, v1.7 | 4 | stable | stable | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2867 Marking rooms as unread | merged, v1.12 | 4 | stable | not found | stable | not found | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2870 Protect server ACLs from redaction | fcp | 4 | unstable | not found | unstable | not found | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2918 Refresh tokens | merged, v1.3 | 4 | stable | stable | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3026 "busy" presence state | closed | 4 | unstable | experimental | unstable | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3245 Voice messages (using extensible events) | open | 4 | unstable | not found | unstable | not found | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3266 Room summary API | merged, v1.15 | 4 | stable | not found | stable | stable | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3391 API to delete account data | closed | 4 | unstable | experimental | unstable | not found | not found | not found | not found | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3489 Sharing streams of location data with history | open | 4 | unstable | not found | unstable | not found | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3773 Notifications for threads | merged, v1.4 | 4 | stable | experimental | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | stable | not found | not found | not found | not found | not found | not found |
| MSC3882 Allow an existing session to sign in a new session | merged, v1.7 | 4 | stable | experimental | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3884 Sliding Sync Extension: E2EE | closed | 4 | unstable | unstable | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3960 Sliding Sync Extension: Receipts | closed | 4 | unstable | unstable | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4076 Let E2EE clients calculate app badge counts themselves (disable_badge_count) | closed | 4 | partial | experimental | not found | not found | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| ★ MSC4108 Mechanism to allow OAuth 2.0 API sign in and E2EE set up via QR code | fcp | 4 | unstable | experimental | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4115 membership information on events | merged, v1.11 | 4 | stable | stable | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | stable |
| MSC4121 `m.role.moderator` `/.well-known/matrix/support` role. | open | 4 | unstable | not found | unstable | not found | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4125 Specify servers to join via for federated invites | open | 4 | unstable | not found | unstable | not found | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4155 Invite filtering | open | 4 | unstable | experimental | unstable | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4166 Specify `/turnServer` response when no TURN servers are available | open | 4 | unstable | not found | unstable | not found | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4175 Profile field for user time zone | merged, v1.16 | 4 | stable | not found | stable | not found | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4195 LiveKit transport for MatrixRTC | fcp | 4 | partial | not found | unstable | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | unstable | not found | not found | not found |
| MSC4222 Adding `state_after` to `/sync` | merged, v1.16 | 4 | stable | stable | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | stable | not found | not found | not found | not found | not found | not found |
| MSC4262 Sliding Sync Extension: Profile Updates | open | 4 | partial | experimental | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4293 Redact on kick/ban | open | 4 | not found | experimental | unstable | not found | unstable | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4306 Thread Subscriptions | open | 4 | not found | experimental | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | unstable | not found | not found | not found | not found | not found | not found |
| MSC4354 Sticky Events | fcp | 4 | not found | experimental | unstable | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4388 Secure out-of-band channel for sign in with QR | fcp | 4 | unstable | experimental | unstable | experimental | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| ★ MSC4191 Account management for OAuth 2.0 API | merged, v1.18 | 3 | stable | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | stable | not found | not found | not found | not found | not found |
| ★ MSC2545 Image Packs (Emoticons & Stickers) | merged, v1.19 | 2 | stable | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| ★ MSC3440 Threading via `m.thread` relation | merged, v1.4 | 2 | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
377 MSCs found in one or two servers
| MSC | Spec | Servers | Tuwunel | Synapse | Palpo | Zendrite | continuwuity | conduwuit | Venator | Harmony | Dendrite | Maelstrom | Conduit | Construct | Babbleserv | Matrix Authentication Service | matrix-media-repo | LiveKit JWT service | Grapevine | policyserv | Sliding Sync proxy |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MSC1234 Rich Replies format | merged | 3 | not found | not found | not found | experimental | not found | not found | not found | experimental | experimental | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1767 Extensible event types & fallback in Matrix (v2) | fcp | 3 | unstable | experimental | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1929 Homeserver Admin Contact and Support page | merged, v1.10 | 3 | stable | not found | not found | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2174 Move the `redacts` key to a sane place | merged, v1.8 | 3 | stable | stable | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2175 Remove the `creator` field from `m.room.create` events | merged, v1.8 | 3 | stable | stable | not found | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2209 Alter auth rules to check notifications in m.room.power_levels | merged | 3 | stable | stable | not found | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2246 Asynchronous media uploads | merged, v1.7 | 3 | stable | not found | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2261 Allow `m.room.aliases` events to be redacted by room admins | closed | 3 | unstable | unstable | not found | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2265 Proposal for mandating case folding when processing e-mail address localparts | merged, v1.1 | 3 | partial | stable | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2625 Add `mark_unread` push rule action | closed | 3 | not found | not found | not found | unstable | not found | not found | not found | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2677 Annotations and reactions | merged, v1.7 | 3 | stable | stable | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2697 [WIP] MSC2697: Device dehydration | closed | 3 | partial | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found |
| MSC2705 Animated thumbnails for media | merged, v1.11 | 3 | stable | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | stable | not found | not found | not found | not found |
| MSC2815 Proposal to allow room moderators to view redacted event content | open | 3 | unstable | experimental | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2858 Multiple SSO Identity Providers | merged, v1.1 | 3 | stable | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3083 Restricting room membership based on membership in other rooms | merged, v1.2 | 3 | stable | stable | not found | not found | not found | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3231 Token authenticated registration | merged, v1.2 | 3 | stable | not found | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3316 Add timestamp massaging to the spec | merged, v1.3 | 3 | stable | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found |
| MSC3401 Native Group VoIP Signalling | closed | 3 | unstable | not found | unstable | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3667 Enforce integer power levels | merged, v1.3 | 3 | stable | not found | not found | not found | not found | stable | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3706 Extensions to `/_matrix/federation/v2/send_join/{roomId}/{eventId}` for partial state | merged, v1.6 | 3 | stable | not found | not found | stable | not found | not found | not found | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3823 Account Suspension | merged, v1.13 | 3 | stable | stable | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3885 Sliding Sync Extension: To-Device messages | closed | 3 | partial | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3890 Remotely silence local notifications | open | 3 | unstable | experimental | not found | not found | not found | not found | not found | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3952 Intentional Mentions | merged, v1.7 | 3 | stable | not found | stable | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3959 Sliding Sync Extension: Account Data | closed | 3 | unstable | unstable | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3961 Sliding Sync Extension: Typing Notifications | closed | 3 | unstable | unstable | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3970 Scope transaction IDs to devices | merged, v1.7 | 3 | partial | stable | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3981 `/relations` recursion | merged, v1.10 | 3 | stable | stable | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4029 [WIP] Fixing `X-Matrix` request authentication | open | 3 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | unstable | not found | not found | not found | not found | not found | partial | not found | not found |
| MSC4095 Bundled URL previews | fcp | 3 | not found | not found | unstable | not found | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4102 Clarifying precedence in threaded and unthreaded read receipts in EDUs | open | 3 | not found | unstable | not found | not found | not found | not found | not found | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | unstable |
| MSC4151 Reporting rooms (Client-Server API) | merged, v1.13 | 3 | stable | stable | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4180 Add a stable flag to MSC3916 | merged | 3 | stable | not found | stable | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4260 Reporting users (Client-Server API) | merged, v1.14 | 3 | stable | stable | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4289 Explicitly privilege room creators | merged, v1.16 | 3 | stable | stable | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4308 Thread Subscriptions extension to Sliding Sync | open | 3 | not found | unstable | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4310 MatrixRTC decline `m.rtc.decline` | closed | 3 | unstable | not found | unstable | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4319 Room member events for invite and knock rooms in the `/sync` response | fcp | 3 | partial | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4326 Device masquerading for appservices | merged, v1.17 | 3 | stable | stable | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4383 Client-Server Discovery of Server Version | open | 3 | unstable | not found | unstable | not found | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4406 `M_SENDER_IGNORED` error code | open | 3 | partial | not found | unstable | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4439 Encryption key URIs in `/.well-known/matrix/support` | open | 3 | partial | not found | unstable | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4466 Altering profile change propagation | open | 3 | unstable | not found | unstable | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4480 Sliding Sync Extension: Sticky Events | fcp | 3 | not found | unstable | not found | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4494 Membership-based invite blocking | open | 3 | not found | not found | unstable | not found | unstable | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1442 State Resolution: Reloaded | merged | 2 | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1497 Advertising support of experimental features in the CS API | merged | 2 | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1692 Terms of service at registration | merged, v1.11 | 2 | stable | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1721 Rename m.login.cas to m.login.sso | merged | 2 | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1756 cross-signing devices using a master identity key | merged, v1.1 | 2 | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1763 Proposal for specifying configurable message retention periods | open | 2 | not found | experimental | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2078 Sending Third-Party Request Tokens via the Homeserver | merged | 2 | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2176 Update the redaction rules | merged, v1.8 | 2 | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2197 Search Filtering in Federation /publicRooms | merged | 2 | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2654 Unread counts | closed | 2 | not found | experimental | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2676 Message editing | merged, v1.4 | 2 | partial | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2701 Clarifying `Content-Type` usage in the media repo | merged, v1.12 | 2 | stable | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2732 Olm fallback keys | merged, v1.2 | 2 | stable | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3061 Sharing room keys for past messages | closed | 2 | not found | not found | unstable | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3069 Allow guests to use /account/whoami | merged, v1.2 | 2 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | stable | not found | not found | not found | not found |
| MSC3173 Expose stripped state events to any potential joiner | merged, v1.2 | 2 | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3230 Spaces top level order | open | 2 | unstable | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3289 Room version 8 | merged, v1.2 | 2 | stable | not found | not found | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3664 Pushrules for relations | open | 2 | experimental | experimental | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3672 Sharing ephemeral streams of location data | open | 2 | unstable | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3765 Rich text in room topics | merged, v1.15 | 2 | stable | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3771 Read receipts for threads | merged, v1.4 | 2 | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3818 Copy room type on upgrade | merged, v1.4 | 2 | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3820 Room version 11 | merged, v1.8 | 2 | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3824 OAuth 2.0 API aware clients | merged, v1.18 | 2 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | stable | not found | not found | not found | not found | not found |
| MSC3856 Threads List API | merged, v1.4 | 2 | stable | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3860 Media Download Redirects | merged, v1.7 | 2 | stable | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3874 Filtering threads from the /messages endpoint | open | 2 | not found | experimental | not found | not found | not found | not found | not found | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3881 Remotely toggle push notifications for another client | open | 2 | unstable | experimental | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3895 Federation API Behaviour of Partial-State Resident Servers | open | 2 | not found | unstable | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3905 Application services should only be interested in local users | merged, v1.5 | 2 | stable | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3911 Linking media to events | open | 2 | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | unstable | not found | not found | not found | unstable | not found | not found | not found | not found |
| MSC3925 m.replace aggregation with full event | merged, v1.7 | 2 | partial | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3931 Push rule condition for room version features | open | 2 | not found | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3932 Extensible events room version push rule feature flag | open | 2 | not found | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3938 Remove keyId from `/keys` endpoints | merged, v1.6 | 2 | stable | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3939 Account locking | merged, v1.12 | 2 | stable | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3983 Sending One-Time Key (OTK) claims to appservices | open | 2 | not found | experimental | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4010 Push rules and account data | merged, v1.10 | 2 | stable | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4025 Local user erasure requests | merged, v1.10 | 2 | stable | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4069 Inhibit profile propagation | closed | 2 | not found | experimental | not found | not found | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4156 Migrate server_name to via | merged, v1.12 | 2 | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4163 Make ACLs apply to EDUs | merged, v1.13 | 2 | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4168 Update `m.space.*` state on room upgrade | open | 2 | partial | not found | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4178 Additional Error Codes for requestToken endpoint | merged, v1.13 | 2 | partial | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4225 Specification of an order in which one-time-keys should be issued | merged, v1.13 | 2 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | stable | not found | not found | not found | not found | not found | not found |
| MSC4277 Harmonizing the reporting endpoints | merged, v1.18 | 2 | stable | experimental | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4278 Media preview controls | merged | 2 | stable | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4291 Room IDs as hashes of the create event | merged, v1.16 | 2 | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4297 State Resolution 2.1 | merged, v1.16 | 2 | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4312 Resetting cross-signing keys in the OAuth world | merged, v1.17 | 2 | stable | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4359 "Do not Disturb" notification settings | open | 2 | partial | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4363 OAuth step up authentication | open | 2 | not found | not found | unstable | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4426 User Status Profile Fields | open | 2 | unstable | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4429 Profile Updates for Legacy Sync | open | 2 | unstable | experimental | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4436 Make server ACLs case insensitive | merged, v1.19 | 2 | stable | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4446 Allow moving the fully read marker to older events | open | 2 | unstable | experimental | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4452 Preview URL capabilities API | merged | 2 | stable | experimental | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4484 Server Administration OAuth Scope | open | 2 | not found | not found | unstable | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4502 Targeted and unrestricted room member queries | open | 2 | not found | experimental | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | unstable | not found | not found | not found |
| MSC4508 Sliding Sync Extensions: Common format and Typing | fcp | 2 | partial | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4512 Delegating parts of the Client-Server and Server-Server API to application services | open | 2 | not found | experimental | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | unstable | not found | not found | not found |
| MSC4540 `m.admin` capability | open | 2 | not found | not found | unstable | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4560 Stripped state requests over federation | open | 2 | not found | not found | not found | not found | unstable | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1219 Proposal for storing megolm keys serverside | merged, v1.1 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1227 Proposal for lazy-loading room members to improve initial sync speed and client RAM usage | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1236 Matrix Widget API v2 | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1301 Proposal for improving authorization for the matrix profile API | closed | 1 | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1425 Room Versioning | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1466 Soft Logout | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1501 Room version upgrades | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1597 Better spec for matrix identifiers | closed | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1693 Specify how to handle rejected events in new state res | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1708 .well-known support for server name resolution | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1711 X.509 certificate verification for federation connections | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1730 Mechanism for redirecting to an alternative server during login | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1753 client-server capabilities API | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1794 Federation v2 Invite API | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1802 Remove the '200' value from some federation responses | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1804 Advertising capable room versions to clients | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1812 Federation make membership room version | merged | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1819 MSC:1819 Remove Presence Lists | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1831 Change the order of .well-known and SRV discovery techniques | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1840 Typed rooms | closed | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1866 Add proposal for invite error code for unsupported room version | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1888 [WIP] MSC1888: Proposal to send EDUs to appservices | closed | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1915 Add a 3PID unbind API | merged | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1930 Add a push rule for m.room.tombstone events | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1935 Key validity enforcement | closed | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1943 Set default room as v3 | closed | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1946 Secure Secret Storage and Sharing | merged, v1.1 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1953 Neilj/remove prev content from the essential keys list | closed | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1954 Proposal to remove prev_content from the essential keys list | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1957 Integration manager discovery | fcp | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC1958 Widget architecture changes | closed | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2000 Server-side password policies | closed | 1 | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2002 Proposal for adopting MSC1884 as v4 rooms | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2033 Adding a device_id to /account/whoami | merged, v1.1 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2061 make the trailing slash on `GET /_matrix/key/v2/server/` optional | closed | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2077 room v5 | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2140 Terms of Service for ISes and IMs | merged | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2153 Add a default push rule to ignore m.reaction events | closed | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2181 Add an Error Code for Signaling a Deactivated User | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2190 Allow appservice bots to use /sync | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2229 Allowing 3PID Owners to Rebind | closed | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2230 Store Identity Server in Account Data | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2240 Room version 6 | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2241 Key verification in DMs | merged, v1.1 | 1 | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2249 Require users to have visibility on an event when submitting reports | merged, v1.8 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2260 Update the auth rules for `m.room.aliases` events | closed | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2263 Give homeservers the ability to handle their own 3PID registrations/password resets | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2264 Add an unstable feature flag to MSC2140 for clients to detect support | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2270 Proposal for Ignoring Invites | open | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2290 Separate Endpoints for Threepid Binding | merged | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2306 [WIP] MSC2306: Removing MSISDN password resets | closed | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2314 A Method to Backfill Room State | closed | 1 | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found |
| MSC2315 Allow users to select 'none' as an integration manager | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2324 Facilitating early releases of software dependent on spec | merged | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2326 Label based filtering | open | 1 | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2334 Change default room version to v5 | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2367 Add reason field to all membership events | merged, v1.1 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2403 Add "knock" feature | merged, v1.1 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2414 Make reason and score parameters optional for reporting content | merged, v1.1 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2416 Add m.login.jwt authentication type | closed | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2437 Store tagged events in Room Account Data | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2451 Remove `query_auth` federation endpoint. | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2454 Support UI auth for SSO | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2457 Invalidating devices during password modification | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2472 Symmetric SSSS | merged, v1.1 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2474 Add key backup version to SSSS account data | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2499 Fixes for Well-known URIs | open | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2526 Add ability to delete key backups | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2540 Stricter event validation: JSON compliance | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2579 Improved tagging support | closed | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2631 Add `default_payload` to PusherData | closed | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2663 Errors for dealing with non-existent push rules | merged, v1.1 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2674 Event Relationships | merged, v1.3 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2675 Serverside aggregations of message relationships | merged, v1.3 | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2689 Fix E2EE for guests | merged, v1.1 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2695 Get event by ID over federation | open | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2700 Thumbnail requirements for the media repo | closed | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2703 Media ID grammar | closed | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2704 Explicitly allow alternative origins in MXC URIs and specify deduplication requirements on uploads | closed | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2713 Remove deprecated v1 Identity Service API | merged, v1.1 | 1 | not found | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2716 Incrementally importing history into existing rooms | open | 1 | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2747 VoIP call transfers | open | 1 | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2765 Widget avatars | fcp | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2771 Bookmarks | closed | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2778 Providing authentication method for appservice users | merged, v1.2 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2782 Pushers with the full event content | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2788 Room version 6 as the default room version | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2810 Consistent globs specification | closed | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2828 Proposal to restrict allowed user IDs over federation | open | 1 | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2832 HS -> AS authorization header | merged, v1.4 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2844 Global version number for the whole spec | merged, v1.1 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2855 Server-Initiated Client Clear-Cache & Reload | open | 1 | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found |
| MSC2872 Move the widget title to the top level of the definition | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2874 Single SSSS | merged, v1.1 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2895 Proposal to improve /members and /joined_rooms | open | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2949 Proposal to clarify "Requires auth" and "Rate-limited" in the spec | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2964 Usage of OAuth 2.0 authorization code grant and refresh token grant | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2966 Usage of OAuth 2.0 Dynamic Client Registration in Matrix | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2970 Remove pusher path requirement | open | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC2998 Room Version 7 | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3008 Scoped access for widgets | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3009 Websocket transport for client <--> widget communications | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3015 Room state personal overrides | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3137 Define space room type, subset of MSC1772 | closed | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3214 Allow overriding `m.room.power_levels` using `initial_state` | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3226 Per-room spell check | closed | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3246 Audio waveform for extensible events | open | 1 | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3267 Reference relations | merged, v1.5 | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3270 Symmetric megolm backup | closed | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3283 Expose capabilities for profile actions | merged, v1.2 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3288 Add room type to `/_matrix/identity/v2/store-invite` API | merged, v1.2 | 1 | not found | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3302 Stories via To-Device-Messaging | closed | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3375 Room version 9 | merged, v1.2 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3383 Include destination in X-Matrix Auth Header | merged, v1.3 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3385 [WIP] MSC3385: Bulk small improvements to room upgrades | open | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3389 Relation redactions | open | 1 | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3414 [WIP] MSC3414: Encrypted state events | open | 1 | not found | not found | not found | not found | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3417 Call room room type | open | 1 | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3419 Allow guests to send more event types | merged, v1.2 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3442 move the `prev_content` key to `unsigned` | merged, v1.2 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3488 Extending events with location data | open | 1 | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3551 Extensible Events - Files | open | 1 | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3552 Extensible Events - Images and Stickers | open | 1 | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3553 Extensible Events - Videos | open | 1 | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3554 Extensible Events - Translatable Text | open | 1 | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3567 Allow requesting events from the start/end of the room history | merged, v1.3 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3585 Allow the base event to be omitted from `/federation/v1/event_auth` response | closed | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3588 WIP: MSC3588: Encrypted Stories As Rooms | closed | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3589 Room version 9 as the default room version | merged, v1.3 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3604 Room Version 10 | merged, v1.3 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3618 Proposal to simplify federation `/send` response | open | 1 | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3644 Extensible Events: Edits and replies | open | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3666 Bundled aggregations for server side search | merged, v1.3 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3715 Add a pagination direction parameter to `/relations` | merged, v1.4 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3720 Account status | closed | 1 | not found | experimental | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3723 Federation `/versions` | open | 1 | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3743 Standardized error response for unknown endpoints | merged, v1.6 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3754 Removing profile information | closed | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3757 Restricting who can overwrite a state event | closed | 1 | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3758 Add `event_property_is` push rule condition kind | merged, v1.7 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3786 Add a default push rule to ignore `m.room.server_acl` events | merged, v1.4 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3803 Matrix Widget API v2 | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3815 [WIP] MSC3815: 3D Worlds | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3816 Clarify Thread Participation | merged, v1.4 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3821 Update the redaction rules, again | merged, v1.8 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3828 Content Repository CORP Headers | merged, v1.4 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3843 Reporting content over federation (API approach) | open | 1 | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3848 Introduce errcodes for specific event sending failures | open | 1 | not found | experimental | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3852 Expose user agent information on `Device` | closed | 1 | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3864 [WIP] MSC3864: User-given attributes for rooms | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3865 [WIP] MSC3865: User-given attributes for users | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3866 `M_USER_AWAITING_APPROVAL` error code | closed | 1 | not found | experimental | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3871 Gappy timelines | open | 1 | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3873 event_match dotted keys | merged, v1.7 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3902 Faster remote room joins over federation (overview) | closed | 1 | not found | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3904 Room version 10 as the default room version | merged, v1.6 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3912 Redaction of related events | closed | 1 | not found | experimental | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3927 Extensible Events - Audio | open | 1 | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3933 Core push rules for Extensible Events | open | 1 | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3943 Partial joins to nameless rooms should include heroes' memberships | merged, v1.6 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3945 Private device names | closed | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3954 Extensible Events - Text Emotes | open | 1 | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3955 Extensible Events - Automated event mixin (notices) | open | 1 | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3956 [WIP] MSC3956: Extensible Events - Encrypted Events | open | 1 | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3958 Suppress notifications from message edits | merged, v1.9 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3966 `event_property_contains` push rule condition | merged, v1.7 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3980 Dotted Field Consistency | merged, v1.7 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3984 Sending key queries to appservices | open | 1 | not found | experimental | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3987 Push actions clean-up | merged, v1.7 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC3989 Redact `origin` property on events | merged, v1.8 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4009 Expanding the Matrix ID grammar to enable E.164 IDs | merged, v1.8 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4015 Voluntary Bot indicators | closed | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4026 Allow `/versions` to optionally accept authentication | merged, v1.10 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4028 Push all encrypted events except for muted rooms | open | 1 | not found | experimental | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4032 Asset Collections | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4034 Media limits | open | 1 | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | unstable | not found | not found | not found | not found |
| MSC4037 Thread root is not in the thread | closed | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4040 Update SRV service name to IANA registration | merged, v1.8 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4041 http header Retry-After for http code 429 | merged, v1.10 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4051 [WIP] MSC4051: Using the create event as the room ID | closed | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4062 Add a new push rule tweak to disable email notification | open | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4128 Error on invalid auth where it is optional | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4138 Update allowed HTTP methods in CORS responses | merged, v1.13 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4149 Update CSP Directives for Media Repository | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4154 Request max body size | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4158 MatrixRTC focus information in .well-known | closed | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4164 Leave all rooms on deactivation | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4165 Remove own power level on deactivation | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4170 403 error responses for profile APIs | merged, v1.12 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4171 Service members | open | 1 | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4174 Web push | open | 1 | not found | not found | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4189 Allowing guests to access uploaded media | merged, v1.12 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4198 Usage of OIDC login_hint | open | 1 | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | unstable | not found | not found | not found | not found | not found |
| MSC4208 Adding User-Defined Custom Fields to User Global Profiles | open | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4213 Remove server_name parameter from `join` and `knock` endpoints | merged, v1.14 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4230 Flag for animated images | merged, v1.18 | 1 | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4231 Backwards compatibility for media captions | closed | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4235 `via` query param for hierarchy endpoint | open | 1 | not found | experimental | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4238 Pinned events read marker | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4239 Room version 11 as the default room version | merged, v1.14 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4242 State DAGs | open | 1 | not found | experimental | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4249 Removal of legacy media endpoints | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4254 Usage of RFC7009 Token Revocation for Matrix client logout | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4259 Profile Update EDUs for Federation | open | 1 | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4261 "Do not encrypt for device" flag | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4263 Preventing MXID enumeration via key queries | open | 1 | not found | experimental | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4265 Data Protection Officer contact in /.well-known/matrix/support | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4266 Policies in /.well-known/matrix/support | open | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4268 Sharing room keys for past messages | merged, v1.19 | 1 | not found | not found | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4274 Inline media galleries via msgtypes | open | 1 | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4283 Distinction between Ignore and Block | open | 1 | not found | not found | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4287 Sharing key backup preference between clients | merged, v1.19 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4299 [WIP] MSC4299: trusted users | closed | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4304 Room Version 12 | merged, v1.16 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4307 Validate that `auth_events` are in the correct room | merged, v1.16 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4324 Fixing MSC4289's power level for tombstones | closed | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4330 specify HTTP and TLS versions which must be supported | open | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4334 Add `m.room.language` state event. | open | 1 | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4341 Support for RFC 8628 Device Authorization Grant | merged, v1.18 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4342 Limiting the number of devices per user ID | open | 1 | not found | not found | not found | not found | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4351 Odd Context Limits | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4356 Recently used emoji | merged, v1.18 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4361 Non-federating Membership Authorization Rule Amendments | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4362 Simplified Encrypted State Events | open | 1 | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4370 Federation endpoint for retrieving current extremities | open | 1 | not found | experimental | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4376 Remove /v1/send_join and /v1/send_leave | merged, v1.18 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4377 Clarify Image Pack Ordering | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4384 Supporting alternative room directory sorting | closed | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4387 `M_SAFETY` error code | open | 1 | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | unstable | not found |
| MSC4397 Tags as spaces | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4402 Consistent redirects for .well-known-files | merged | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4415 Make `/_matrix/client/v3/admin/whois/{userId}` only available to admins | closed | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4418 Make `destination` a required server authentication field | closed | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4420 Duplicate one-time key error response for /keys/upload | open | 1 | not found | not found | not found | not found | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4423 Undefine order of room directory | merged, v1.19 | 1 | stable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4437 Endpoint to replace entire profile | fcp | 1 | not found | not found | not found | not found | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4438 Message bookmarks via account data | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4441 User Profile Annotations ("Profile Notes") | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4445 Clarify `/sync` timeline order | open | 1 | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4449 Updated /members filtering | open | 1 | not found | not found | not found | not found | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4450 Identity Provider selection for User-Interactive Authentication with Legacy Single Sign-On | open | 1 | not found | experimental | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4455 Catch-all property for spaces | open | 1 | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4456 Harms taxonomy | open | 1 | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | unstable | not found |
| MSC4458 Handling incoming JSON in the server-server API | fcp | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4461 Storing per-message profiles for users | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4476 Image pack rooms | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4482 Ability to bookmark messages | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4483 Encrypted Account Data | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4486 Listing delayed events with filtering & pagination | open | 1 | not found | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4491 Invite reasons in room creation | open | 1 | not found | experimental | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4492 Clarify that pagination tokens are directionless | fcp | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4495 Selective Presence | open | 1 | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4499 Strict server signing key caching and key ID uniqueness | open | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4504 Using a global version number for the entire specification (v2) | open | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4509 Auto join on accepted knock | open | 1 | not found | not found | not found | not found | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4513 Standard HTTP status codes for all endpoints, current and future | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4519 MatrixRTC Transports Registry | open | 1 | partial | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4522 Username colors | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4526 Improve OAuth 2.0 refresh token grant error handling | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4528 `M_INCOMPATIBLE_SERVER` error code | open | 1 | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4529 Client-side profile overrides | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4532 Revised Social Presence | open | 1 | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4534 Simple room rules | open | 1 | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4537 Restore `200 {}` for unset profile fields | open | 1 | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4548 Sliding Sync Extensions: Account data | fcp | 1 | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4551 Sliding Sync Extensions: Receipts | fcp | 1 | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
| MSC4559 Sliding Sync Extensions: Presence | open | 1 | not found | not found | unstable | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found | not found |
“Not found” means nobody found it in that server's code or docs, not that it is missing.