Skip to content
Snippets Groups Projects
Commit 0dc9c565 authored by Olivier Wilkinson (reivilibre)'s avatar Olivier Wilkinson (reivilibre)
Browse files

Merge branch 'master' into develop

parents bfa7d6b0 b1989ced
No related branches found
No related tags found
No related merge requests found
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. 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. 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 Features
-------- --------
   
......
Update release script to insert the previous version when writing "No significant changes" line in the changelog.
Inspect application dependencies using `importlib.metadata` or its backport.
\ No newline at end of file
Fix a bug introduced in Synapse 1.54.0rc1 preventing the new module callbacks introduced in this release from being registered by modules.
Relax the version guard for "packaging" added in #12088.
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 matrix-synapse-py3 (1.54.0~rc1) stable; urgency=medium
* New synapse release 1.54.0~rc1. * New synapse release 1.54.0~rc1.
......
...@@ -68,7 +68,7 @@ try: ...@@ -68,7 +68,7 @@ try:
except ImportError: except ImportError:
pass pass
__version__ = "1.54.0rc1" __version__ = "1.54.0"
if bool(os.environ.get("SYNAPSE_TEST_PATCH_LOG_CONTEXTS", False)): 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 # We import here so that we don't have to install a bunch of deps when
......
...@@ -163,7 +163,8 @@ def check_requirements(extra: Optional[str] = None) -> None: ...@@ -163,7 +163,8 @@ def check_requirements(extra: Optional[str] = None) -> None:
deps_unfulfilled.append(requirement.name) deps_unfulfilled.append(requirement.name)
errors.append(_not_installed(requirement, extra)) errors.append(_not_installed(requirement, extra))
else: 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) deps_unfulfilled.append(requirement.name)
errors.append(_incorrect_version(requirement, dist.version, extra)) errors.append(_incorrect_version(requirement, dist.version, extra))
......
...@@ -27,7 +27,9 @@ class DummyDistribution(metadata.Distribution): ...@@ -27,7 +27,9 @@ class DummyDistribution(metadata.Distribution):
old = DummyDistribution("0.1.2") old = DummyDistribution("0.1.2")
old_release_candidate = DummyDistribution("0.1.2rc3")
new = DummyDistribution("1.2.3") new = DummyDistribution("1.2.3")
new_release_candidate = DummyDistribution("1.2.3rc4")
# could probably use stdlib TestCase --- no need for twisted here # could probably use stdlib TestCase --- no need for twisted here
...@@ -110,3 +112,20 @@ class TestDependencyChecker(TestCase): ...@@ -110,3 +112,20 @@ class TestDependencyChecker(TestCase):
with self.mock_installed_package(new): with self.mock_installed_package(new):
# should not raise # should not raise
check_requirements("cool-extra") 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()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment