summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--changelog.d/15666.misc1
-rw-r--r--synapse/api/room_versions.py24
2 files changed, 25 insertions, 0 deletions
diff --git a/changelog.d/15666.misc b/changelog.d/15666.misc
new file mode 100644
index 0000000000..92eae49952
--- /dev/null
+++ b/changelog.d/15666.misc
@@ -0,0 +1 @@
+Implement "option 2" for [MSC3820](https://github.com/matrix-org/matrix-spec-proposals/pull/3820): Room version 11.
\ No newline at end of file
diff --git a/synapse/api/room_versions.py b/synapse/api/room_versions.py
index 7030b133d3..035a14171b 100644
--- a/synapse/api/room_versions.py
+++ b/synapse/api/room_versions.py
@@ -485,6 +485,30 @@ class RoomVersions:
         msc3931_push_features=(),
         msc3989_redaction_rules=True,
     )
+    MSC3820opt2 = RoomVersion(
+        # Based upon v10
+        "org.matrix.msc3820.opt2",
+        RoomDisposition.UNSTABLE,
+        EventFormatVersions.ROOM_V4_PLUS,
+        StateResolutionVersions.V2,
+        enforce_key_validity=True,
+        special_case_aliases_auth=False,
+        strict_canonicaljson=True,
+        limit_notifications_power_levels=True,
+        msc2175_implicit_room_creator=True,  # Used by MSC3820
+        msc2176_redaction_rules=True,  # Used by MSC3820
+        msc3083_join_rules=True,
+        msc3375_redaction_rules=True,
+        msc2403_knocking=True,
+        msc2716_historical=False,
+        msc2716_redactions=False,
+        msc3389_relation_redactions=False,
+        msc3787_knock_restricted_join_rule=True,
+        msc3667_int_only_power_levels=True,
+        msc3821_redaction_rules=True,  # Used by MSC3820
+        msc3931_push_features=(),
+        msc3989_redaction_rules=True,  # Used by MSC3820
+    )
 
 
 KNOWN_ROOM_VERSIONS: Dict[str, RoomVersion] = {