From 8cede528a821943f60978b17c86516fb16fe2f00 Mon Sep 17 00:00:00 2001
From: David Robertson <davidr@element.io>
Date: Tue, 21 Feb 2023 11:03:02 +0000
Subject: [PATCH] Upper-bound frozendict dependency (#15114)

* Upper-bound frozendict dependency

This is an ugly kludge to solve
https://github.com/matrix-org/synapse/issues/15109. It is not the most
friendly thing to do for downstream packagers (apologies), but we are a)
running low on time at the moment, and b) seeking to remove frozendict
anyway.

* Changelog
---
 changelog.d/15114.misc | 1 +
 poetry.lock            | 2 +-
 pyproject.toml         | 4 +++-
 3 files changed, 5 insertions(+), 2 deletions(-)
 create mode 100644 changelog.d/15114.misc

diff --git a/changelog.d/15114.misc b/changelog.d/15114.misc
new file mode 100644
index 0000000000..8e08d632e0
--- /dev/null
+++ b/changelog.d/15114.misc
@@ -0,0 +1 @@
+Upper-bound frozendict dependency. This works around us being unable to test installing our wheels against Python 3.11 in CI.
diff --git a/poetry.lock b/poetry.lock
index ffb230139c..4d724ab782 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -3030,4 +3030,4 @@ user-search = ["pyicu"]
 [metadata]
 lock-version = "2.0"
 python-versions = "^3.7.1"
-content-hash = "95cb043fa56e1e3275ba7f74b68b2191bd5886eea3e06b8cd370d7fc9fea3c07"
+content-hash = "e12077711e5ff83f3c6038ea44c37bd49773799ec8245035b01094b7800c5c92"
diff --git a/pyproject.toml b/pyproject.toml
index 7f74b552c1..1444642c89 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -154,7 +154,9 @@ python = "^3.7.1"
 # we use the TYPE_CHECKER.redefine method added in jsonschema 3.0.0
 jsonschema = ">=3.0.0"
 # frozendict 2.1.2 is broken on Debian 10: https://github.com/Marco-Sulla/python-frozendict/issues/41
-frozendict = ">=1,!=2.1.2"
+# We cannot test our wheels against the 2.3.5 release in CI. Putting in an upper bound for this
+# because frozendict has been more trouble than it's worth; we would like to move to immutabledict.
+frozendict = ">=1,!=2.1.2,<2.3.5"
 # We require 2.1.0 or higher for type hints. Previous guard was >= 1.1.0
 unpaddedbase64 = ">=2.1.0"
 # We require 1.5.0 to work around an issue when running against the C implementation of
-- 
GitLab