summary refs log tree commit diff
diff options
context:
space:
mode:
authorOlivier Wilkinson (reivilibre) <oliverw@matrix.org>2022-03-08 15:37:35 +0000
committerOlivier Wilkinson (reivilibre) <oliverw@matrix.org>2022-03-08 15:37:35 +0000
commit0dc9c5653c990687f7aa912f1b1279d94b433826 (patch)
treec785afc95a1cd5870eb400b6616a81cc3b07b107
parentFix CI not attaching source distributions and wheels to the GitHub releases. ... (diff)
parentFix silly markdown typo (diff)
downloadsynapse-0dc9c5653c990687f7aa912f1b1279d94b433826.tar.xz
Merge branch 'master' into develop
-rw-r--r--CHANGES.md22
-rw-r--r--changelog.d/12127.misc1
-rw-r--r--changelog.d/12129.misc1
-rw-r--r--changelog.d/12141.bugfix1
-rw-r--r--changelog.d/12166.misc1
-rw-r--r--debian/changelog6
-rw-r--r--synapse/__init__.py2
-rw-r--r--synapse/util/check_dependencies.py3
-rw-r--r--tests/util/test_check_dependencies.py19
9 files changed, 48 insertions, 8 deletions
diff --git a/CHANGES.md b/CHANGES.md
index 0a87f5cd42..ef671e73f1 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,10 +1,28 @@
-Synapse 1.54.0rc1 (2022-03-02)
-==============================
+Synapse 1.54.0 (2022-03-08)
+===========================
 
 Please note that this will be the last release of Synapse that is compatible with Mjolnir 1.3.1 and earlier.
 Administrators of servers which have the Mjolnir module installed are advised to upgrade Mjolnir to version 1.3.2 or later.
 
 
+Bugfixes
+--------
+
+- Fix a bug introduced in Synapse 1.54.0rc1 preventing the new module callbacks introduced in this release from being registered by modules. ([\#12141](https://github.com/matrix-org/synapse/issues/12141))
+- Fix a bug introduced in Synapse 1.54.0rc1 where runtime dependency version checks would mistakenly check development dependencies if they were present and would not accept pre-release versions of dependencies. ([\#12129](https://github.com/matrix-org/synapse/issues/12129), [\#12177](https://github.com/matrix-org/synapse/issues/12177))
+
+
+Internal Changes
+----------------
+
+- Update release script to insert the previous version when writing "No significant changes" line in the changelog. ([\#12127](https://github.com/matrix-org/synapse/issues/12127))
+- Relax the version guard for "packaging" added in [\#12088](https://github.com/matrix-org/synapse/issues/12088). ([\#12166](https://github.com/matrix-org/synapse/issues/12166))
+
+
+Synapse 1.54.0rc1 (2022-03-02)
+==============================
+
+
 Features
 --------
 
diff --git a/changelog.d/12127.misc b/changelog.d/12127.misc
deleted file mode 100644
index e42eca63a8..0000000000
--- a/changelog.d/12127.misc
+++ /dev/null
@@ -1 +0,0 @@
-Update release script to insert the previous version when writing "No significant changes" line in the changelog.
diff --git a/changelog.d/12129.misc b/changelog.d/12129.misc
deleted file mode 100644
index ce4213650c..0000000000
--- a/changelog.d/12129.misc
+++ /dev/null
@@ -1 +0,0 @@
-Inspect application dependencies using `importlib.metadata` or its backport.
\ No newline at end of file
diff --git a/changelog.d/12141.bugfix b/changelog.d/12141.bugfix
deleted file mode 100644
index 03a2507e2c..0000000000
--- a/changelog.d/12141.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug introduced in Synapse 1.54.0rc1 preventing the new module callbacks introduced in this release from being registered by modules.
diff --git a/changelog.d/12166.misc b/changelog.d/12166.misc
deleted file mode 100644
index 24b4a7c7de..0000000000
--- a/changelog.d/12166.misc
+++ /dev/null
@@ -1 +0,0 @@
-Relax the version guard for "packaging" added in #12088.
diff --git a/debian/changelog b/debian/changelog
index df3db85b8e..02136a0d60 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+matrix-synapse-py3 (1.54.0) stable; urgency=medium
+
+  * New synapse release 1.54.0.
+
+ -- Synapse Packaging team <packages@matrix.org>  Tue, 08 Mar 2022 10:54:52 +0000
+
 matrix-synapse-py3 (1.54.0~rc1) stable; urgency=medium
 
   * New synapse release 1.54.0~rc1.
diff --git a/synapse/__init__.py b/synapse/__init__.py
index 674acc7135..4b00565976 100644
--- a/synapse/__init__.py
+++ b/synapse/__init__.py
@@ -68,7 +68,7 @@ try:
 except ImportError:
     pass
 
-__version__ = "1.54.0rc1"
+__version__ = "1.54.0"
 
 if bool(os.environ.get("SYNAPSE_TEST_PATCH_LOG_CONTEXTS", False)):
     # We import here so that we don't have to install a bunch of deps when
diff --git a/synapse/util/check_dependencies.py b/synapse/util/check_dependencies.py
index 39b0a91db3..12cd804939 100644
--- a/synapse/util/check_dependencies.py
+++ b/synapse/util/check_dependencies.py
@@ -163,7 +163,8 @@ def check_requirements(extra: Optional[str] = None) -> None:
                 deps_unfulfilled.append(requirement.name)
                 errors.append(_not_installed(requirement, extra))
         else:
-            if not requirement.specifier.contains(dist.version):
+            # We specify prereleases=True to allow prereleases such as RCs.
+            if not requirement.specifier.contains(dist.version, prereleases=True):
                 deps_unfulfilled.append(requirement.name)
                 errors.append(_incorrect_version(requirement, dist.version, extra))
 
diff --git a/tests/util/test_check_dependencies.py b/tests/util/test_check_dependencies.py
index a91c33272f..38e9f58ac6 100644
--- a/tests/util/test_check_dependencies.py
+++ b/tests/util/test_check_dependencies.py
@@ -27,7 +27,9 @@ class DummyDistribution(metadata.Distribution):
 
 
 old = DummyDistribution("0.1.2")
+old_release_candidate = DummyDistribution("0.1.2rc3")
 new = DummyDistribution("1.2.3")
+new_release_candidate = DummyDistribution("1.2.3rc4")
 
 # could probably use stdlib TestCase --- no need for twisted here
 
@@ -110,3 +112,20 @@ class TestDependencyChecker(TestCase):
             with self.mock_installed_package(new):
                 # should not raise
                 check_requirements("cool-extra")
+
+    def test_release_candidates_satisfy_dependency(self) -> None:
+        """
+        Tests that release candidates count as far as satisfying a dependency
+        is concerned.
+        (Regression test, see #12176.)
+        """
+        with patch(
+            "synapse.util.check_dependencies.metadata.requires",
+            return_value=["dummypkg >= 1"],
+        ):
+            with self.mock_installed_package(old_release_candidate):
+                self.assertRaises(DependencyException, check_requirements)
+
+            with self.mock_installed_package(new_release_candidate):
+                # should not raise
+                check_requirements()