@@ -81,6 +81,9 @@ class RoomVersion:
8181 msc2716_historical : bool
8282 # MSC2716: Adds support for redacting "insertion", "chunk", and "marker" events
8383 msc2716_redactions : bool
84+ # MSC3787: Adds support for a `knock_restricted` join rule, mixing concepts of
85+ # knocks and restricted join rules into the same join condition.
86+ msc3787_knock_restricted_join_rule : bool
8487
8588
8689class RoomVersions :
@@ -99,6 +102,7 @@ class RoomVersions:
99102 msc2403_knocking = False ,
100103 msc2716_historical = False ,
101104 msc2716_redactions = False ,
105+ msc3787_knock_restricted_join_rule = False ,
102106 )
103107 V2 = RoomVersion (
104108 "2" ,
@@ -115,6 +119,7 @@ class RoomVersions:
115119 msc2403_knocking = False ,
116120 msc2716_historical = False ,
117121 msc2716_redactions = False ,
122+ msc3787_knock_restricted_join_rule = False ,
118123 )
119124 V3 = RoomVersion (
120125 "3" ,
@@ -131,6 +136,7 @@ class RoomVersions:
131136 msc2403_knocking = False ,
132137 msc2716_historical = False ,
133138 msc2716_redactions = False ,
139+ msc3787_knock_restricted_join_rule = False ,
134140 )
135141 V4 = RoomVersion (
136142 "4" ,
@@ -147,6 +153,7 @@ class RoomVersions:
147153 msc2403_knocking = False ,
148154 msc2716_historical = False ,
149155 msc2716_redactions = False ,
156+ msc3787_knock_restricted_join_rule = False ,
150157 )
151158 V5 = RoomVersion (
152159 "5" ,
@@ -163,6 +170,7 @@ class RoomVersions:
163170 msc2403_knocking = False ,
164171 msc2716_historical = False ,
165172 msc2716_redactions = False ,
173+ msc3787_knock_restricted_join_rule = False ,
166174 )
167175 V6 = RoomVersion (
168176 "6" ,
@@ -179,6 +187,7 @@ class RoomVersions:
179187 msc2403_knocking = False ,
180188 msc2716_historical = False ,
181189 msc2716_redactions = False ,
190+ msc3787_knock_restricted_join_rule = False ,
182191 )
183192 MSC2176 = RoomVersion (
184193 "org.matrix.msc2176" ,
@@ -195,6 +204,7 @@ class RoomVersions:
195204 msc2403_knocking = False ,
196205 msc2716_historical = False ,
197206 msc2716_redactions = False ,
207+ msc3787_knock_restricted_join_rule = False ,
198208 )
199209 V7 = RoomVersion (
200210 "7" ,
@@ -211,6 +221,7 @@ class RoomVersions:
211221 msc2403_knocking = True ,
212222 msc2716_historical = False ,
213223 msc2716_redactions = False ,
224+ msc3787_knock_restricted_join_rule = False ,
214225 )
215226 V8 = RoomVersion (
216227 "8" ,
@@ -227,6 +238,7 @@ class RoomVersions:
227238 msc2403_knocking = True ,
228239 msc2716_historical = False ,
229240 msc2716_redactions = False ,
241+ msc3787_knock_restricted_join_rule = False ,
230242 )
231243 V9 = RoomVersion (
232244 "9" ,
@@ -243,6 +255,7 @@ class RoomVersions:
243255 msc2403_knocking = True ,
244256 msc2716_historical = False ,
245257 msc2716_redactions = False ,
258+ msc3787_knock_restricted_join_rule = False ,
246259 )
247260 MSC2716v3 = RoomVersion (
248261 "org.matrix.msc2716v3" ,
@@ -259,6 +272,24 @@ class RoomVersions:
259272 msc2403_knocking = True ,
260273 msc2716_historical = True ,
261274 msc2716_redactions = True ,
275+ msc3787_knock_restricted_join_rule = False ,
276+ )
277+ MSC3787 = RoomVersion (
278+ "org.matrix.msc3787" ,
279+ RoomDisposition .UNSTABLE ,
280+ EventFormatVersions .V3 ,
281+ StateResolutionVersions .V2 ,
282+ enforce_key_validity = True ,
283+ special_case_aliases_auth = False ,
284+ strict_canonicaljson = True ,
285+ limit_notifications_power_levels = True ,
286+ msc2176_redaction_rules = False ,
287+ msc3083_join_rules = True ,
288+ msc3375_redaction_rules = True ,
289+ msc2403_knocking = True ,
290+ msc2716_historical = False ,
291+ msc2716_redactions = False ,
292+ msc3787_knock_restricted_join_rule = True ,
262293 )
263294
264295
@@ -276,6 +307,7 @@ class RoomVersions:
276307 RoomVersions .V8 ,
277308 RoomVersions .V9 ,
278309 RoomVersions .MSC2716v3 ,
310+ RoomVersions .MSC3787 ,
279311 )
280312}
281313
0 commit comments