Skip to content

Commit

Permalink
Add support for unstable feature advertising via /versions
Browse files Browse the repository at this point in the history
Incorporates #1497
  • Loading branch information
turt2live committed Jan 7, 2019
1 parent bd72ecf commit ccc1cda
Showing 1 changed file with 23 additions and 1 deletion.
24 changes: 23 additions & 1 deletion api/client-server/versions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,25 @@ paths:
Only the latest ``Z`` value will be reported for each supported ``X.Y`` value.
i.e. if the server implements ``r0.0.0``, ``r0.0.1``, and ``r1.2.0``, it will report ``r0.0.1`` and ``r1.2.0``.
The server may additionally advertise experimental features it supports
through ``unstable_features``. These features should be namespaced and
may optionally include version information within their name if desired.
Features listed here are not for optionally toggling parts of the Matrix
specification and should only be used to advertise support for a feature
which has not yet landed in the spec. For example, an accepted proposal
for a feature needing implementation would advertise itself here with
the intention of being removed from this list once the spec changes land.
operationId: getVersions
responses:
200:
description: The versions supported by the server.
examples:
application/json: {
"versions": ["r0.0.1"]
"versions": ["r0.0.1"],
"unstable_features": {
"org.example.my_feature": true
}
}
schema:
type: object
Expand All @@ -50,5 +62,15 @@ paths:
items:
type: string
description: The supported versions
unstable_features:
type: object
description: |-
Experimental features the server supports. Features not listed here,
or the lack of this property all together, indicate that a feature is
not supported.
additionalProperties:
type: boolean
description: Whether or not the namespaced feature is supported.
required: ['versions']
tags:
- Server administration

0 comments on commit ccc1cda

Please sign in to comment.