summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--changelog.d/4307.feature1
-rw-r--r--synapse/api/constants.py2
-rw-r--r--synapse/state/__init__.py4
3 files changed, 6 insertions, 1 deletions
diff --git a/changelog.d/4307.feature b/changelog.d/4307.feature
new file mode 100644
index 0000000000..314fc031f0
--- /dev/null
+++ b/changelog.d/4307.feature
@@ -0,0 +1 @@
+Add opt-in support for v2 rooms
diff --git a/synapse/api/constants.py b/synapse/api/constants.py
index b7f25a42a2..87bc1cb53d 100644
--- a/synapse/api/constants.py
+++ b/synapse/api/constants.py
@@ -102,6 +102,7 @@ class ThirdPartyEntityKind(object):
 
 class RoomVersions(object):
     V1 = "1"
+    V2 = "2"
     VDH_TEST = "vdh-test-version"
     STATE_V2_TEST = "state-v2-test"
 
@@ -113,6 +114,7 @@ DEFAULT_ROOM_VERSION = RoomVersions.V1
 # until we have a working v2.
 KNOWN_ROOM_VERSIONS = {
     RoomVersions.V1,
+    RoomVersions.V2,
     RoomVersions.VDH_TEST,
     RoomVersions.STATE_V2_TEST,
 }
diff --git a/synapse/state/__init__.py b/synapse/state/__init__.py
index 70048b0c09..e9ecb00277 100644
--- a/synapse/state/__init__.py
+++ b/synapse/state/__init__.py
@@ -607,7 +607,9 @@ def resolve_events_with_store(room_version, state_sets, event_map, state_res_sto
         return v1.resolve_events_with_store(
             state_sets, event_map, state_res_store.get_events,
         )
-    elif room_version in (RoomVersions.VDH_TEST, RoomVersions.STATE_V2_TEST):
+    elif room_version in (
+        RoomVersions.VDH_TEST, RoomVersions.STATE_V2_TEST, RoomVersions.V2,
+    ):
         return v2.resolve_events_with_store(
             state_sets, event_map, state_res_store,
         )