mirror of
https://github.com/element-hq/synapse.git
synced 2024-11-21 17:15:38 +03:00
Merge branch 'release-v1.83' into develop
This commit is contained in:
commit
8aee823393
42 changed files with 77 additions and 64 deletions
53
CHANGES.md
53
CHANGES.md
|
@ -1,3 +1,56 @@
|
|||
Synapse 1.83.0rc1 (2023-05-02)
|
||||
==============================
|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
- Experimental support to recursively provide relations per [MSC3981](https://github.com/matrix-org/matrix-spec-proposals/pull/3981). ([\#15315](https://github.com/matrix-org/synapse/issues/15315))
|
||||
- Experimental support for [MSC3970](https://github.com/matrix-org/matrix-spec-proposals/pull/3970): Scope transaction IDs to devices. ([\#15318](https://github.com/matrix-org/synapse/issues/15318))
|
||||
- Add an [admin API endpoint](https://matrix-org.github.io/synapse/v1.83/admin_api/experimental_features.html) to support per-user feature flags. ([\#15344](https://github.com/matrix-org/synapse/issues/15344))
|
||||
- Add a module API to send an HTTP push notification. ([\#15387](https://github.com/matrix-org/synapse/issues/15387))
|
||||
- Add an [admin API endpoint](https://matrix-org.github.io/synapse/v1.83/admin_api/statistics.html#get-largest-rooms-by-size-in-database) to query the largest rooms by disk space used in the database. ([\#15482](https://github.com/matrix-org/synapse/issues/15482))
|
||||
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Disable push rule evaluation for rooms excluded from sync. ([\#15361](https://github.com/matrix-org/synapse/issues/15361))
|
||||
- Fix a long-standing bug where cached server key results which were directly fetched would not be properly re-used. ([\#15417](https://github.com/matrix-org/synapse/issues/15417))
|
||||
- Fix a bug introduced in Synapse 1.73.0 where some experimental push rules were returned by default. ([\#15494](https://github.com/matrix-org/synapse/issues/15494))
|
||||
|
||||
|
||||
Improved Documentation
|
||||
----------------------
|
||||
|
||||
- Add Nginx loadbalancing example with sticky mxid for workers. ([\#15411](https://github.com/matrix-org/synapse/issues/15411))
|
||||
- Update outdated development docs that mention restrictions in versions of SQLite that we no longer support. ([\#15498](https://github.com/matrix-org/synapse/issues/15498))
|
||||
|
||||
|
||||
Internal Changes
|
||||
----------------
|
||||
|
||||
- Speedup tests by caching HomeServerConfig instances. ([\#15284](https://github.com/matrix-org/synapse/issues/15284))
|
||||
- Add denormalised event stream ordering column to membership state tables for future use. Contributed by Nick @ Beeper (@fizzadar). ([\#15356](https://github.com/matrix-org/synapse/issues/15356))
|
||||
- Always use multi-user device resync replication endpoints. ([\#15418](https://github.com/matrix-org/synapse/issues/15418))
|
||||
- Add column `full_user_id` to tables `profiles` and `user_filters`. ([\#15458](https://github.com/matrix-org/synapse/issues/15458))
|
||||
- Update support for [MSC3983](https://github.com/matrix-org/matrix-spec-proposals/pull/3983) to allow always returning fallback-keys in a `/keys/claim` request. ([\#15462](https://github.com/matrix-org/synapse/issues/15462))
|
||||
- Improve type hints. ([\#15465](https://github.com/matrix-org/synapse/issues/15465), [\#15496](https://github.com/matrix-org/synapse/issues/15496), [\#15497](https://github.com/matrix-org/synapse/issues/15497))
|
||||
- Support claiming more than one OTK at a time. ([\#15468](https://github.com/matrix-org/synapse/issues/15468))
|
||||
- Bump types-pyyaml from 6.0.12.8 to 6.0.12.9. ([\#15471](https://github.com/matrix-org/synapse/issues/15471))
|
||||
- Bump pyasn1-modules from 0.2.8 to 0.3.0. ([\#15473](https://github.com/matrix-org/synapse/issues/15473))
|
||||
- Bump cryptography from 40.0.1 to 40.0.2. ([\#15474](https://github.com/matrix-org/synapse/issues/15474))
|
||||
- Bump types-netaddr from 0.8.0.7 to 0.8.0.8. ([\#15475](https://github.com/matrix-org/synapse/issues/15475))
|
||||
- Bump types-jsonschema from 4.17.0.6 to 4.17.0.7. ([\#15476](https://github.com/matrix-org/synapse/issues/15476))
|
||||
- Ask bug reporters to provide logs as text. ([\#15479](https://github.com/matrix-org/synapse/issues/15479))
|
||||
- Add a Nix flake for use as a development environment. ([\#15495](https://github.com/matrix-org/synapse/issues/15495))
|
||||
- Bump anyhow from 1.0.70 to 1.0.71. ([\#15507](https://github.com/matrix-org/synapse/issues/15507))
|
||||
- Bump types-pillow from 9.4.0.19 to 9.5.0.2. ([\#15508](https://github.com/matrix-org/synapse/issues/15508))
|
||||
- Bump packaging from 23.0 to 23.1. ([\#15510](https://github.com/matrix-org/synapse/issues/15510))
|
||||
- Bump types-requests from 2.28.11.16 to 2.29.0.0. ([\#15511](https://github.com/matrix-org/synapse/issues/15511))
|
||||
- Bump setuptools-rust from 1.5.2 to 1.6.0. ([\#15512](https://github.com/matrix-org/synapse/issues/15512))
|
||||
- Update the check_schema_delta script to account for when the schema version has been bumped locally. ([\#15466](https://github.com/matrix-org/synapse/issues/15466))
|
||||
|
||||
|
||||
Synapse 1.82.0 (2023-04-25)
|
||||
===========================
|
||||
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
Speedup tests by caching HomeServerConfig instances.
|
|
@ -1 +0,0 @@
|
|||
Experimental support to recursively provide relations per [MSC3981](https://github.com/matrix-org/matrix-spec-proposals/pull/3981).
|
|
@ -1 +0,0 @@
|
|||
Experimental support for MSC3970: Scope transaction IDs to devices.
|
|
@ -1 +0,0 @@
|
|||
Add an admin API endpoint to support per-user feature flags.
|
|
@ -1 +0,0 @@
|
|||
Add denormalised event stream ordering column to membership state tables for future use. Contributed by Nick @ Beeper (@fizzadar).
|
|
@ -1 +0,0 @@
|
|||
Disable push rule evaluation for rooms excluded from sync.
|
|
@ -1 +0,0 @@
|
|||
Add a module API to send an HTTP push notification.
|
|
@ -1 +0,0 @@
|
|||
Docs: Add Nginx loadbalancing example with sticky mxid for workers.
|
|
@ -1 +0,0 @@
|
|||
Fix a long-standing bug where cached key results which were directly fetched would not be properly re-used.
|
|
@ -1 +0,0 @@
|
|||
Always use multi-user device resync replication endpoints.
|
|
@ -1 +0,0 @@
|
|||
Add column `full_user_id` to tables `profiles` and `user_filters`.
|
|
@ -1 +0,0 @@
|
|||
Update support for [MSC3983](https://github.com/matrix-org/matrix-spec-proposals/pull/3983) to allow always returning fallback-keys in a `/keys/claim` request.
|
|
@ -1 +0,0 @@
|
|||
Improve type hints.
|
|
@ -1 +0,0 @@
|
|||
Update the check_schema_delta script to account for when the schema version has been bumped locally.
|
|
@ -1 +0,0 @@
|
|||
Support claiming more than one OTK at a time.
|
|
@ -1 +0,0 @@
|
|||
Bump types-pyyaml from 6.0.12.8 to 6.0.12.9.
|
|
@ -1 +0,0 @@
|
|||
Bump pyasn1-modules from 0.2.8 to 0.3.0.
|
|
@ -1 +0,0 @@
|
|||
Bump cryptography from 40.0.1 to 40.0.2.
|
|
@ -1 +0,0 @@
|
|||
Bump types-netaddr from 0.8.0.7 to 0.8.0.8.
|
|
@ -1 +0,0 @@
|
|||
Bump types-jsonschema from 4.17.0.6 to 4.17.0.7.
|
|
@ -1 +0,0 @@
|
|||
Ask bug reporters to provide logs as text.
|
|
@ -1 +0,0 @@
|
|||
Add admin endpoint to query the largest rooms by disk space used in the database.
|
|
@ -1 +0,0 @@
|
|||
Fix a bug introduced in Synapse 1.73.0 where some experimental push rules were returned by default.
|
|
@ -1 +0,0 @@
|
|||
Add a Nix flake for use as a development environment.
|
|
@ -1 +0,0 @@
|
|||
Improve type hints.
|
|
@ -1 +0,0 @@
|
|||
Improve type hints.
|
|
@ -1 +0,0 @@
|
|||
Update outdated development docs that mention restrictions in versions of SQLite that we no longer support.
|
|
@ -1 +0,0 @@
|
|||
Bump anyhow from 1.0.70 to 1.0.71.
|
|
@ -1 +0,0 @@
|
|||
Bump types-pillow from 9.4.0.19 to 9.5.0.2.
|
|
@ -1 +0,0 @@
|
|||
Bump packaging from 23.0 to 23.1.
|
|
@ -1 +0,0 @@
|
|||
Bump types-requests from 2.28.11.16 to 2.29.0.0.
|
|
@ -1 +0,0 @@
|
|||
Bump setuptools-rust from 1.5.2 to 1.6.0.
|
|
@ -1 +0,0 @@
|
|||
Reduce the size of the HTTP connection pool for non-pushers.
|
6
debian/changelog
vendored
6
debian/changelog
vendored
|
@ -1,3 +1,9 @@
|
|||
matrix-synapse-py3 (1.83.0~rc1) stable; urgency=medium
|
||||
|
||||
* New Synapse release 1.83.0rc1.
|
||||
|
||||
-- Synapse Packaging team <packages@matrix.org> Tue, 02 May 2023 15:56:38 +0100
|
||||
|
||||
matrix-synapse-py3 (1.82.0) stable; urgency=medium
|
||||
|
||||
* New Synapse release 1.82.0.
|
||||
|
|
|
@ -57,6 +57,7 @@
|
|||
- [Account Validity](admin_api/account_validity.md)
|
||||
- [Background Updates](usage/administration/admin_api/background_updates.md)
|
||||
- [Event Reports](admin_api/event_reports.md)
|
||||
- [Experimental Features](admin_api/experimental_features.md)
|
||||
- [Media](admin_api/media_admin_api.md)
|
||||
- [Purge History](admin_api/purge_history_api.md)
|
||||
- [Register Users](admin_api/register_api.md)
|
||||
|
|
|
@ -89,7 +89,7 @@ manifest-path = "rust/Cargo.toml"
|
|||
|
||||
[tool.poetry]
|
||||
name = "matrix-synapse"
|
||||
version = "1.82.0"
|
||||
version = "1.83.0rc1"
|
||||
description = "Homeserver for the Matrix decentralised comms protocol"
|
||||
authors = ["Matrix.org Team and Contributors <packages@matrix.org>"]
|
||||
license = "Apache-2.0"
|
||||
|
|
|
@ -768,7 +768,6 @@ class SimpleHttpClient(BaseHttpClient):
|
|||
request if it were otherwise caught in a blacklist.
|
||||
use_proxy: Whether proxy settings should be discovered and used
|
||||
from conventional environment variables.
|
||||
connection_pool: The connection pool to use for this client's agent.
|
||||
"""
|
||||
|
||||
def __init__(
|
||||
|
@ -778,7 +777,6 @@ class SimpleHttpClient(BaseHttpClient):
|
|||
ip_whitelist: Optional[IPSet] = None,
|
||||
ip_blacklist: Optional[IPSet] = None,
|
||||
use_proxy: bool = False,
|
||||
connection_pool: Optional[HTTPConnectionPool] = None,
|
||||
):
|
||||
super().__init__(hs, treq_args=treq_args)
|
||||
self._ip_whitelist = ip_whitelist
|
||||
|
@ -791,12 +789,22 @@ class SimpleHttpClient(BaseHttpClient):
|
|||
self.reactor, self._ip_whitelist, self._ip_blacklist
|
||||
)
|
||||
|
||||
# the pusher makes lots of concurrent SSL connections to Sygnal, and tends to
|
||||
# do so in batches, so we need to allow the pool to keep lots of idle
|
||||
# connections around.
|
||||
pool = HTTPConnectionPool(self.reactor)
|
||||
# XXX: The justification for using the cache factor here is that larger
|
||||
# instances will need both more cache and more connections.
|
||||
# Still, this should probably be a separate dial
|
||||
pool.maxPersistentPerHost = max(int(100 * hs.config.caches.global_factor), 5)
|
||||
pool.cachedConnectionTimeout = 2 * 60
|
||||
|
||||
self.agent: IAgent = ProxyAgent(
|
||||
self.reactor,
|
||||
hs.get_reactor(),
|
||||
connectTimeout=15,
|
||||
contextFactory=self.hs.get_http_client_context_factory(),
|
||||
pool=connection_pool,
|
||||
pool=pool,
|
||||
use_proxy=use_proxy,
|
||||
)
|
||||
|
||||
|
|
|
@ -143,8 +143,7 @@ class HttpPusher(Pusher):
|
|||
)
|
||||
|
||||
self.url = url
|
||||
self.http_client = hs.get_pusher_http_client()
|
||||
|
||||
self.http_client = hs.get_proxied_blacklisted_http_client()
|
||||
self.data_minus_url = {}
|
||||
self.data_minus_url.update(self.data)
|
||||
del self.data_minus_url["url"]
|
||||
|
|
|
@ -27,7 +27,6 @@ from typing_extensions import TypeAlias
|
|||
|
||||
from twisted.internet.interfaces import IOpenSSLContextFactory
|
||||
from twisted.internet.tcp import Port
|
||||
from twisted.web.client import HTTPConnectionPool
|
||||
from twisted.web.iweb import IPolicyForHTTPS
|
||||
from twisted.web.resource import Resource
|
||||
|
||||
|
@ -459,26 +458,6 @@ class HomeServer(metaclass=abc.ABCMeta):
|
|||
use_proxy=True,
|
||||
)
|
||||
|
||||
@cache_in_self
|
||||
def get_pusher_http_client(self) -> SimpleHttpClient:
|
||||
# the pusher makes lots of concurrent SSL connections to Sygnal, and tends to
|
||||
# do so in batches, so we need to allow the pool to keep lots of idle
|
||||
# connections around.
|
||||
pool = HTTPConnectionPool(self.get_reactor())
|
||||
# XXX: The justification for using the cache factor here is that larger
|
||||
# instances will need both more cache and more connections.
|
||||
# Still, this should probably be a separate dial
|
||||
pool.maxPersistentPerHost = max(int(100 * self.config.caches.global_factor), 5)
|
||||
pool.cachedConnectionTimeout = 2 * 60
|
||||
|
||||
return SimpleHttpClient(
|
||||
self,
|
||||
ip_whitelist=self.config.server.ip_range_whitelist,
|
||||
ip_blacklist=self.config.server.ip_range_blacklist,
|
||||
use_proxy=True,
|
||||
connection_pool=pool,
|
||||
)
|
||||
|
||||
@cache_in_self
|
||||
def get_federation_http_client(self) -> MatrixFederationHttpClient:
|
||||
"""
|
||||
|
|
|
@ -52,7 +52,7 @@ class HTTPPusherTests(HomeserverTestCase):
|
|||
|
||||
m.post_json_get_json = post_json_get_json
|
||||
|
||||
hs = self.setup_test_homeserver(pusher_http_client=m)
|
||||
hs = self.setup_test_homeserver(proxied_blacklisted_http_client=m)
|
||||
|
||||
return hs
|
||||
|
||||
|
|
|
@ -93,7 +93,7 @@ class PusherShardTestCase(BaseMultiWorkerStreamTestCase):
|
|||
self.make_worker_hs(
|
||||
"synapse.app.generic_worker",
|
||||
{"worker_name": "pusher1", "pusher_instances": ["pusher1"]},
|
||||
pusher_http_client=http_client_mock,
|
||||
proxied_blacklisted_http_client=http_client_mock,
|
||||
)
|
||||
|
||||
event_id = self._create_pusher_and_send_msg("user")
|
||||
|
@ -126,7 +126,7 @@ class PusherShardTestCase(BaseMultiWorkerStreamTestCase):
|
|||
"worker_name": "pusher1",
|
||||
"pusher_instances": ["pusher1", "pusher2"],
|
||||
},
|
||||
pusher_http_client=http_client_mock1,
|
||||
proxied_blacklisted_http_client=http_client_mock1,
|
||||
)
|
||||
|
||||
http_client_mock2 = Mock(spec_set=["post_json_get_json"])
|
||||
|
@ -140,7 +140,7 @@ class PusherShardTestCase(BaseMultiWorkerStreamTestCase):
|
|||
"worker_name": "pusher2",
|
||||
"pusher_instances": ["pusher1", "pusher2"],
|
||||
},
|
||||
pusher_http_client=http_client_mock2,
|
||||
proxied_blacklisted_http_client=http_client_mock2,
|
||||
)
|
||||
|
||||
# We choose a user name that we know should go to pusher1.
|
||||
|
|
Loading…
Reference in a new issue