You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
matrix-spec/proposals/2320-identity-versions.md

1.7 KiB

Versions information for identity servers

The client-server API currently specifies a /versions endpoint that allows clients to know what version of that API and unstable features are implemented by the server. This allows MSC to be implemented and supported by both servers and clients before they're merged and incorporated into the stable API.

This is also a feature we will need on the identity server API, because clients talk to them and need to be aware of unstables features (such as MSC2265) when they're implemented by the identity server it's using (if there is one).

Proposal

This proposal extends the /_matrix/identity/v2 endpoint's response by adding information about the supported versions of the identity server API and unstable features implemented by the server to it. Because the current response for this endpoint is an empty object (which is discarded by the client), the new response would look like:

{
    "unstable_features": {
        "casefold_email_addresses": true
    },
    "versions": [
        "r0.1.0",
        "r0.2.0",
        "r0.2.1",
    ]
}

This response would follow the format of the /_matrix/client/versions endpoint.

Alternative solutions

An alternative solution to this issue would be to add a /_matrix/identity/versions endpoint to the identity server API. This would however add more complexity by adding a new endpoint whereas there's already an existing endpoint which seems relevant for handling this kind of information.