Skip to content

Commit d6ce82f

Browse files
committed
MSCXXXX: Remove /v1/send_join
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
1 parent ea0aef0 commit d6ce82f

File tree

1 file changed

+94
-0
lines changed

1 file changed

+94
-0
lines changed
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
# MSCXXXX: Remove /v1/send_join
2+
3+
[/_matrix/federation/v1/send_join/{roomId}/{eventId}] has been superseded by a `v2` endpoint and
4+
deprecated with [MSC1802] in [r0.1.4] of the federation API (2020). Given the time elapsed and the
5+
fact that the continued presence of the derpecated endpoint occasionally causes confusion[^1], it
6+
should be removed from the spec.
7+
8+
## Proposal
9+
10+
[/_matrix/federation/v1/send_join/{roomId}/{eventId}] is removed from the spec.
11+
12+
## Potential issues
13+
14+
Compatibility issues appear unlikely as the ecosystem seems to have adapted rather well.
15+
16+
### Synapse
17+
18+
Synapse has started supporting the `v2` endpoint for incoming requests in [v1.8.0] (January 2020).
19+
In the same version, Synapse has also started preferring the `v2` endpoint for outgoing requests,
20+
falling back to `v1` only when `v2` is unavailable.
21+
22+
- https://github.com/matrix-org/synapse/commit/54ae52ba960df2bcc1daa76b6ef83b125ab9aac9#diff-b8a7e2066859e82776a9d0803499bfdc19707b3279e8fd43457f69f18c5cfecfL524-R548
23+
(incoming)
24+
- https://github.com/matrix-org/synapse/commit/54ae52ba960df2bcc1daa76b6ef83b125ab9aac9#diff-3cf3f534d150a0319b7bdd81c884daff978bba8f8c603d7f023d5dd5d73e1ab1R600-R632
25+
(outgoing)
26+
27+
This behaviour is still present in the currently latest release [v1.141.0] (October 2025).
28+
29+
- https://github.com/element-hq/synapse/blob/v1.141.0/synapse/federation/transport/server/federation.py#L422
30+
(incoming)
31+
- https://github.com/element-hq/synapse/blob/v1.141.0/synapse/federation/federation_client.py#L1356
32+
(outgoing)
33+
34+
### Dendrite
35+
36+
Dendrite has stopped supporting the `v1` endpoint for incoming requests in December 2019 and to this
37+
day only offers `v2`.
38+
39+
- https://github.com/matrix-org/dendrite/commit/af9568ba4468eb106ec305df496fbe1319fd74eb
40+
41+
For outgoing requests Dendrite relies on gomatrixserverlib which since June 2020 is preferring `v2`,
42+
falling back to `v1` only when `v2` is not available.
43+
44+
- https://github.com/matrix-org/gomatrixserverlib/commit/5539854e4abc4ce179e991fbffaccde06b695dbc
45+
46+
### Conduit & friends
47+
48+
Conduit has first started to support the `v2` endpoint for incoming requests in April 2021.
49+
50+
- https://gitlab.com/famedly/conduit/-/commit/eedac4fd9610feee34963d0bb227b354f97cd210?expanded=1
51+
(see `server_server.rs`, line 1755)
52+
53+
Support for the `v1` endpoint was added shortly afterwards in July 2021.
54+
55+
- https://gitlab.com/famedly/conduit/-/commit/48494c946496c36b2d1f85da1e8877ac95e2d664?expanded=1
56+
57+
As of writing, this behaviour is still present in Conduit and derivates such as tuwunel today.
58+
59+
- https://github.com/matrix-construct/tuwunel/blob/d24986edf198cc8b37a47ed94b50a72a566c5cca/src/api/server/send_join.rs#L265
60+
61+
When Conduit first gained support for joining federated rooms in August 2020, it used `v2`
62+
exclusively without falling back.
63+
64+
- https://gitlab.com/famedly/conduit/-/commit/eedac4fd9610feee34963d0bb227b354f97cd210 (see
65+
`membership.rs`, line 95)
66+
67+
Again, this behaviour is still present in Conduit and derivates such as tuwunel today.
68+
69+
- https://github.com/matrix-construct/tuwunel/blob/d24986edf198cc8b37a47ed94b50a72a566c5cca/src/service/membership/join.rs#L710
70+
71+
## Alternatives
72+
73+
None.
74+
75+
## Security considerations
76+
77+
None.
78+
79+
## Unstable prefix
80+
81+
None.
82+
83+
## Dependencies
84+
85+
None.
86+
87+
[^1]: See e.g. https://github.com/matrix-org/matrix-spec/issues/1514 and
88+
https://github.com/matrix-org/matrix-spec/issues/1515.
89+
90+
[/_matrix/federation/v1/send_join/{roomId}/{eventId}]: https://spec.matrix.org/v1.16/server-server-api/#put_matrixfederationv1send_joinroomideventid
91+
[MSC1802]: https://github.com/matrix-org/matrix-spec-proposals/blob/old_master/proposals/1802-standardised-federation-response-format.md
92+
[r0.1.4]: https://spec.matrix.org/legacy/server_server/r0.1.4.html
93+
[v1.8.0]: https://github.com/matrix-org/synapse/releases/tag/v1.8.0
94+
[v1.141.0]: https://github.com/element-hq/synapse/releases/tag/v1.141.0

0 commit comments

Comments
 (0)