Remove unstable_features endpoint

babolivier/identity-versions
Brendan Abolivier 4 years ago
parent 52cd69eb75
commit 0d4e2e75c7
No known key found for this signature in database
GPG Key ID: 1E015C145F1916CD

@ -1,14 +1,11 @@
# 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).
clients to know what version of that API are implemented by the server.
Identity servers could benefit from that endpoint as both homeservers and
clients interact with them, and therefore could know which features they can
expect a given identity server to implement by looking at the versions of the
API it claims to support.
## Proposal
@ -29,26 +26,10 @@ this identity server supports. Its response uses the following format:
}
```
### `GET /_matrix/identity/unstable_features`
This endpoint serves information about the unstable features, i.e. features
specified in a MSC or an unstable version of the Matrix specification but not in
a stable one, supported by the server. Its response uses the following format:
```json
{
"unstable_features": {
"org.matrix.casefold_email_addresses": true
}
}
```
## Alternative solutions
Another solution which was considered was using the status check endpoint ([`GET
/_matrix/api/v1`](https://matrix.org/docs/spec/identity_service/latest#get-matrix-identity-api-v1))
to serve this information. This solution was discarded because it's using a
versioned endpoint, which doesn't make sense to advertise the supported versions
of the API to use, and this endpoint was serving both the supported versions and
the supported unstable features, whereas it makes more sense to have each of
these pieces of information served on a different endpoint.
of the API to use.

Loading…
Cancel
Save