forked from MirrorHub/synapse
Merge branch 'release-v1.49'
This commit is contained in:
commit
9ec46d6231
26
CHANGES.md
26
CHANGES.md
|
@ -1,3 +1,29 @@
|
||||||
|
Synapse 1.49.2 (2021-12-21)
|
||||||
|
===========================
|
||||||
|
|
||||||
|
This release fixes a regression introduced in Synapse 1.49.0 which could cause `/sync` requests to take significantly longer. This would particularly affect "initial" syncs for users participating in a large number of rooms, and in extreme cases, could make it impossible for such users to log in on a new client.
|
||||||
|
|
||||||
|
**Note:** in line with our [deprecation policy](https://matrix-org.github.io/synapse/latest/deprecation_policy.html) for platform dependencies, this will be the last release to support Python 3.6 and PostgreSQL 9.6, both of which have now reached upstream end-of-life. Synapse will require Python 3.7+ and PostgreSQL 10+.
|
||||||
|
|
||||||
|
**Note:** We will also stop producing packages for Ubuntu 18.04 (Bionic Beaver) after this release, as it uses Python 3.6.
|
||||||
|
|
||||||
|
Bugfixes
|
||||||
|
--------
|
||||||
|
|
||||||
|
- Fix a performance regression in `/sync` handling, introduced in 1.49.0. ([\#11583](https://github.com/matrix-org/synapse/issues/11583))
|
||||||
|
|
||||||
|
Internal Changes
|
||||||
|
----------------
|
||||||
|
|
||||||
|
- Work around a build problem on Debian Buster. ([\#11625](https://github.com/matrix-org/synapse/issues/11625))
|
||||||
|
|
||||||
|
|
||||||
|
Synapse 1.49.1 (2021-12-21)
|
||||||
|
===========================
|
||||||
|
|
||||||
|
Not released due to problems building the debian packages.
|
||||||
|
|
||||||
|
|
||||||
Synapse 1.49.0 (2021-12-14)
|
Synapse 1.49.0 (2021-12-14)
|
||||||
===========================
|
===========================
|
||||||
|
|
||||||
|
|
12
debian/changelog
vendored
12
debian/changelog
vendored
|
@ -1,3 +1,15 @@
|
||||||
|
matrix-synapse-py3 (1.49.2) stable; urgency=medium
|
||||||
|
|
||||||
|
* New synapse release 1.49.2.
|
||||||
|
|
||||||
|
-- Synapse Packaging team <packages@matrix.org> Tue, 21 Dec 2021 17:31:03 +0000
|
||||||
|
|
||||||
|
matrix-synapse-py3 (1.49.1) stable; urgency=medium
|
||||||
|
|
||||||
|
* New synapse release 1.49.1.
|
||||||
|
|
||||||
|
-- Synapse Packaging team <packages@matrix.org> Tue, 21 Dec 2021 11:07:30 +0000
|
||||||
|
|
||||||
matrix-synapse-py3 (1.49.0) stable; urgency=medium
|
matrix-synapse-py3 (1.49.0) stable; urgency=medium
|
||||||
|
|
||||||
* New synapse release 1.49.0.
|
* New synapse release 1.49.0.
|
||||||
|
|
|
@ -14,8 +14,8 @@ i.e. when a version reaches End of Life Synapse will withdraw support for that
|
||||||
version in future releases.
|
version in future releases.
|
||||||
|
|
||||||
Details on the upstream support life cycles for Python and PostgreSQL are
|
Details on the upstream support life cycles for Python and PostgreSQL are
|
||||||
documented at https://endoflife.date/python and
|
documented at [https://endoflife.date/python](https://endoflife.date/python) and
|
||||||
https://endoflife.date/postgresql.
|
[https://endoflife.date/postgresql](https://endoflife.date/postgresql).
|
||||||
|
|
||||||
|
|
||||||
Context
|
Context
|
||||||
|
|
|
@ -47,7 +47,7 @@ try:
|
||||||
except ImportError:
|
except ImportError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
__version__ = "1.49.0"
|
__version__ = "1.49.2"
|
||||||
|
|
||||||
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
|
||||||
|
|
|
@ -50,7 +50,8 @@ logger = logging.getLogger(__name__)
|
||||||
REQUIREMENTS = [
|
REQUIREMENTS = [
|
||||||
# we use the TYPE_CHECKER.redefine method added in jsonschema 3.0.0
|
# we use the TYPE_CHECKER.redefine method added in jsonschema 3.0.0
|
||||||
"jsonschema>=3.0.0",
|
"jsonschema>=3.0.0",
|
||||||
"frozendict>=1",
|
# frozendict 2.1.2 is broken on Debian 10: https://github.com/Marco-Sulla/python-frozendict/issues/41
|
||||||
|
"frozendict>=1,<2.1.2",
|
||||||
"unpaddedbase64>=1.1.0",
|
"unpaddedbase64>=1.1.0",
|
||||||
"canonicaljson>=1.4.0",
|
"canonicaljson>=1.4.0",
|
||||||
# we use the type definitions added in signedjson 1.1.
|
# we use the type definitions added in signedjson 1.1.
|
||||||
|
|
|
@ -522,7 +522,15 @@ class SyncRestServlet(RestServlet):
|
||||||
time_now=time_now,
|
time_now=time_now,
|
||||||
# Don't bother to bundle aggregations if the timeline is unlimited,
|
# Don't bother to bundle aggregations if the timeline is unlimited,
|
||||||
# as clients will have all the necessary information.
|
# as clients will have all the necessary information.
|
||||||
bundle_aggregations=room.timeline.limited,
|
# bundle_aggregations=room.timeline.limited,
|
||||||
|
#
|
||||||
|
# richvdh 2021-12-15: disable this temporarily as it has too high an
|
||||||
|
# overhead for initialsyncs. We need to figure out a way that the
|
||||||
|
# bundling can be done *before* the events are stored in the
|
||||||
|
# SyncResponseCache so that this part can be synchronous.
|
||||||
|
#
|
||||||
|
# Ensure to re-enable the test at tests/rest/client/test_relations.py::RelationsTestCase.test_bundled_aggregations.
|
||||||
|
bundle_aggregations=False,
|
||||||
token_id=token_id,
|
token_id=token_id,
|
||||||
event_format=event_formatter,
|
event_format=event_formatter,
|
||||||
only_event_fields=only_fields,
|
only_event_fields=only_fields,
|
||||||
|
|
|
@ -574,11 +574,11 @@ class RelationsTestCase(unittest.HomeserverTestCase):
|
||||||
assert_bundle(channel.json_body["event"]["unsigned"].get("m.relations"))
|
assert_bundle(channel.json_body["event"]["unsigned"].get("m.relations"))
|
||||||
|
|
||||||
# Request sync.
|
# Request sync.
|
||||||
channel = self.make_request("GET", "/sync", access_token=self.user_token)
|
# channel = self.make_request("GET", "/sync", access_token=self.user_token)
|
||||||
self.assertEquals(200, channel.code, channel.json_body)
|
# self.assertEquals(200, channel.code, channel.json_body)
|
||||||
room_timeline = channel.json_body["rooms"]["join"][self.room]["timeline"]
|
# room_timeline = channel.json_body["rooms"]["join"][self.room]["timeline"]
|
||||||
self.assertTrue(room_timeline["limited"])
|
# self.assertTrue(room_timeline["limited"])
|
||||||
_find_and_assert_event(room_timeline["events"])
|
# _find_and_assert_event(room_timeline["events"])
|
||||||
|
|
||||||
# Note that /relations is tested separately in test_aggregation_get_event_for_thread
|
# Note that /relations is tested separately in test_aggregation_get_event_for_thread
|
||||||
# since it needs different data configured.
|
# since it needs different data configured.
|
||||||
|
|
Loading…
Reference in a new issue