mirror of
https://github.com/matrix-org/matrix-spec
synced 2026-03-21 02:44:09 +01:00
43 lines
1.7 KiB
Markdown
43 lines
1.7 KiB
Markdown
# 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](https://github.com/matrix-org/matrix-doc/pull/2265)) when they're
|
|
implemented by the identity server it's using (if there is one).
|
|
|
|
## Proposal
|
|
|
|
This proposal extends the [`/_matrix/identity/v2`](https://matrix.org/docs/spec/identity_service/r0.2.1#get-matrix-identity-api-v1)
|
|
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:
|
|
|
|
```json
|
|
{
|
|
"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`](https://matrix.org/docs/spec/client_server/r0.5.0#get-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.
|