-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Matrix 1.1 checklist #11079
Comments
I've unticked "Add/duplicate listeners for all /r0 endpoints" because I think |
Thanks, that was a mistake on my part. |
I forgot about /media/v3 |
We also need to update the reverse proxy documentation to pass through the v3 URLs. |
I don't think it needs an update. The existing reverse proxy documentation doesn't include API versions. It should pass through any version since the examples are shown like |
I was thinking of the worker documentation specifically: https://github.com/matrix-org/synapse/blob/master/docs/workers.md#available-worker-applications |
Matrix 1.1 is coming up and consists of major changes to how the protocol operates from a versioning perspective. From a Synapse perspective, the ordered details are:
/r0
endpoints to also listen on/v3
/_matrix/client/v3
APIs #11318/_matrix/media/v3
APIs #11371v1.1
in/_matrix/client/versions
(after the spec has been released)The community has also expressed interest in having a config flag to test what the transition would look like in their clients for when servers start advertising the Matrix version. I think this can be accomplished by adding an unstable flag to
/versions
oforg.matrix.msc2844
from the original MSC - no server implementations (to my knowledge) used the flag for anything during the MSC period, so we can and should use it for something like this. Its presence would denote whether Step 3 above is complete.There's not currently anything that is expected to be added to v1.1 beyond this point, so the following curated features become stable or added:
/login/sso/redirect/:idp
)device_id
in login fallback (MSC2604)M_NOT_FOUND
errors on push rule endpoints (MSC2663)reason
andscore
are optional on the/report
APIdevice_id
on/account/whoami
/_matrix/identity/versions
API (if you use version checking against identity services)Do note that Spaces are not included in this 1.1 release at present. The MSCs which have landed are still stable enough to use stable identifiers, however the functionality is not presently included in a released version of the spec. This should be fine as there's no API endpoints to worry about for versioning purposes, though servers may need to be aware of the
m.space
room type.For clarity: the versioning of the protocol is now handled by 1 "global version". This version, expected to be 1.1 in the next release, covers all of the API documents, room versions, and appendices. Previously, the API documents were individually versioned and the room versions were specified but their stability was not versioned. The appendices previously were not versioned either. All of those things are now versioned as one single unit.
To accommodate this change, the client-server API has been reverted back to per-endpoint versioning in line with the other APIs. This is largely because there isn't an "r0" we can rely on anymore for the endpoint versioning. Instead, we've made all the endpoints currently listed as r0 since r0.6.1 become v3 to avoid conflicts with the very old and very legacy v1 and v2_alpha definitions found in Synapse (or which are familiar to those from the early days of the protocol).
New endpoints after Matrix 1.1 are anticipated to start at v1 as it should be clear by then that they aren't part of Matrix 1.1 or earlier.
Synapse is still encouraged to expose and maintain the r0 APIs for some time until sufficient adoption of the new versioning scheme.
The text was updated successfully, but these errors were encountered: