11# Versions information for identity servers
22
33The client-server API currently specifies a ` /versions ` endpoint that allows
4- clients to know what version of that API and unstable features are implemented
5- by the server. This allows MSC to be implemented and supported by both servers
6- and clients before they're merged and incorporated into the stable API.
7-
8- This is also a feature we will need on the identity server API, because
9- clients talk to them and need to be aware of unstables features (such as
10- [ MSC2265] ( https://github.com/matrix-org/matrix-doc/pull/2265 ) ) when they're
11- implemented by the identity server it's using (if there is one).
4+ clients to know what version of that API are implemented by the server.
5+ Identity servers could benefit from that endpoint as both homeservers and
6+ clients interact with them, and therefore could know which features they can
7+ expect a given identity server to implement by looking at the versions of the
8+ API it claims to support.
129
1310## Proposal
1411
@@ -29,26 +26,10 @@ this identity server supports. Its response uses the following format:
2926}
3027```
3128
32- ### ` GET /_matrix/identity/unstable_features `
33-
34- This endpoint serves information about the unstable features, i.e. features
35- specified in a MSC or an unstable version of the Matrix specification but not in
36- a stable one, supported by the server. Its response uses the following format:
37-
38- ``` json
39- {
40- "unstable_features" : {
41- "org.matrix.casefold_email_addresses" : true
42- }
43- }
44- ```
45-
4629## Alternative solutions
4730
4831Another solution which was considered was using the status check endpoint ([ `GET
4932/_ matrix/api/v1`] ( https://matrix.org/docs/spec/identity_service/latest#get-matrix-identity-api-v1 ) )
5033to serve this information. This solution was discarded because it's using a
5134versioned endpoint, which doesn't make sense to advertise the supported versions
52- of the API to use, and this endpoint was serving both the supported versions and
53- the supported unstable features, whereas it makes more sense to have each of
54- these pieces of information served on a different endpoint.
35+ of the API to use.
0 commit comments