Skip to content

Commit

Permalink
Merge branch 'release-v1.73' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
David Robertson committed Dec 1, 2022
2 parents 854a688 + 6a41e50 commit 781b14e
Show file tree
Hide file tree
Showing 59 changed files with 91 additions and 135 deletions.
74 changes: 74 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,77 @@
Synapse 1.73.0rc2 (2022-12-01)
==============================

Please note that legacy Prometheus metric names have been removed in this release; see [the upgrade notes](https://github.com/matrix-org/synapse/blob/release-v1.73/docs/upgrade.md#legacy-prometheus-metric-names-have-now-been-removed) for more details.

Bugfixes
--------

- Fix a regression in Synapse 1.73.0rc1 where Synapse's main process would stop responding to HTTP requests when a user with a large number of devices logs in. ([\#14582](https://github.com/matrix-org/synapse/issues/14582))


Synapse 1.73.0rc1 (2022-11-29)
==============================

Features
--------

- Speed-up `/messages` with `filter_events_for_client` optimizations. ([\#14527](https://github.com/matrix-org/synapse/issues/14527))
- Improve DB performance by reducing amount of data that gets read in `device_lists_changes_in_room`. ([\#14534](https://github.com/matrix-org/synapse/issues/14534))
- Adds support for handling avatar in SSO login. Contributed by @ashfame. ([\#13917](https://github.com/matrix-org/synapse/issues/13917))
- Move MSC3030 `/timestamp_to_event` endpoints to stable `v1` location (`/_matrix/client/v1/rooms/<roomID>/timestamp_to_event?ts=<timestamp>&dir=<direction>`, `/_matrix/federation/v1/timestamp_to_event/<roomID>?ts=<timestamp>&dir=<direction>`). ([\#14471](https://github.com/matrix-org/synapse/issues/14471))
- Reduce database load of [Client-Server endpoints](https://spec.matrix.org/v1.5/client-server-api/#aggregations) which return bundled aggregations. ([\#14491](https://github.com/matrix-org/synapse/issues/14491), [\#14508](https://github.com/matrix-org/synapse/issues/14508), [\#14510](https://github.com/matrix-org/synapse/issues/14510))
- Add unstable support for an Extensible Events room version (`org.matrix.msc1767.10`) via [MSC1767](https://github.com/matrix-org/matrix-spec-proposals/pull/1767), [MSC3931](https://github.com/matrix-org/matrix-spec-proposals/pull/3931), [MSC3932](https://github.com/matrix-org/matrix-spec-proposals/pull/3932), and [MSC3933](https://github.com/matrix-org/matrix-spec-proposals/pull/3933). ([\#14520](https://github.com/matrix-org/synapse/issues/14520), [\#14521](https://github.com/matrix-org/synapse/issues/14521), [\#14524](https://github.com/matrix-org/synapse/issues/14524))
- Prune user's old devices on login if they have too many. ([\#14038](https://github.com/matrix-org/synapse/issues/14038), [\#14580](https://github.com/matrix-org/synapse/issues/14580))


Bugfixes
--------

- Fix a long-standing bug where paginating from the start of a room did not work. Contributed by @gnunicorn. ([\#14149](https://github.com/matrix-org/synapse/issues/14149))
- Fix a bug introduced in Synapse 1.58.0 where a user with presence state `org.matrix.msc3026.busy` would mistakenly be set to `online` when calling `/sync` or `/events` on a worker process. ([\#14393](https://github.com/matrix-org/synapse/issues/14393))
- Fix a bug introduced in Synapse 1.70.0 where a receipt's thread ID was not sent over federation. ([\#14466](https://github.com/matrix-org/synapse/issues/14466))
- Fix a long-standing bug where the [List media admin API](https://matrix-org.github.io/synapse/latest/admin_api/media_admin_api.html#list-all-media-in-a-room) would fail when processing an image with broken thumbnail information. ([\#14537](https://github.com/matrix-org/synapse/issues/14537))
- Fix a bug introduced in Synapse 1.67.0 where two logging context warnings would be logged on startup. ([\#14574](https://github.com/matrix-org/synapse/issues/14574))
- In application service transactions that include the experimental `org.matrix.msc3202.device_one_time_key_counts` key, include a duplicate key of `org.matrix.msc3202.device_one_time_keys_count` to match the name proposed by [MSC3202](https://github.com/matrix-org/matrix-spec-proposals/pull/3202). ([\#14565](https://github.com/matrix-org/synapse/issues/14565))
- Fix a bug introduced in Synapse 0.9 where Synapse would fail to fetch server keys whose IDs contain a forward slash. ([\#14490](https://github.com/matrix-org/synapse/issues/14490))


Improved Documentation
----------------------

- Fixed link to 'Synapse administration endpoints'. ([\#14499](https://github.com/matrix-org/synapse/issues/14499))


Deprecations and Removals
-------------------------

- Remove legacy Prometheus metrics names. They were deprecated in Synapse v1.69.0 and disabled by default in Synapse v1.71.0. ([\#14538](https://github.com/matrix-org/synapse/issues/14538))


Internal Changes
----------------

- Improve type hinting throughout Synapse. ([\#14055](https://github.com/matrix-org/synapse/issues/14055), [\#14412](https://github.com/matrix-org/synapse/issues/14412), [\#14529](https://github.com/matrix-org/synapse/issues/14529), [\#14452](https://github.com/matrix-org/synapse/issues/14452)).
- Remove old stream ID tracking code. Contributed by Nick @Beeper (@fizzadar). ([\#14376](https://github.com/matrix-org/synapse/issues/14376), [\#14468](https://github.com/matrix-org/synapse/issues/14468))
- Remove the `worker_main_http_uri` configuration setting. This is now handled via internal replication. ([\#14400](https://github.com/matrix-org/synapse/issues/14400), [\#14476](https://github.com/matrix-org/synapse/issues/14476))
- Refactor `federation_sender` and `pusher` configuration loading. ([\#14496](https://github.com/matrix-org/synapse/issues/14496))
([\#14509](https://github.com/matrix-org/synapse/issues/14509), [\#14573](https://github.com/matrix-org/synapse/issues/14573))
- Faster joins: do not wait for full state when creating events to send. ([\#14403](https://github.com/matrix-org/synapse/issues/14403))
- Faster joins: filter out non local events when a room doesn't have its full state. ([\#14404](https://github.com/matrix-org/synapse/issues/14404))
- Faster joins: send events to initial list of servers if we don't have the full state yet. ([\#14408](https://github.com/matrix-org/synapse/issues/14408))
- Faster joins: use servers list approximation received during `send_join` (potentially updated with received membership events) in `assert_host_in_room`. ([\#14515](https://github.com/matrix-org/synapse/issues/14515))
- Fix type logic in TCP replication code that prevented correctly ignoring blank commands. ([\#14449](https://github.com/matrix-org/synapse/issues/14449))
- Remove option to skip locking of tables when performing emulated upserts, to avoid a class of bugs in future. ([\#14469](https://github.com/matrix-org/synapse/issues/14469))
- `scripts-dev/federation_client`: Fix routing on servers with `.well-known` files. ([\#14479](https://github.com/matrix-org/synapse/issues/14479))
- Reduce default third party invite rate limit to 216 invites per day. ([\#14487](https://github.com/matrix-org/synapse/issues/14487))
- Refactor conversion of device list changes in room to outbound pokes to track unconverted rows using a `(stream ID, room ID)` position instead of updating the `converted_to_destinations` flag on every row. ([\#14516](https://github.com/matrix-org/synapse/issues/14516))
- Add more prompts to the bug report form. ([\#14522](https://github.com/matrix-org/synapse/issues/14522))
- Extend editorconfig rules on indent and line length to `.pyi` files. ([\#14526](https://github.com/matrix-org/synapse/issues/14526))
- Run Rust CI when `Cargo.lock` changes. This is particularly useful for dependabot updates. ([\#14571](https://github.com/matrix-org/synapse/issues/14571))
- Fix a possible variable shadow in `create_new_client_event`. ([\#14575](https://github.com/matrix-org/synapse/issues/14575))
- Bump various dependencies in the `poetry.lock` file and in CI scripts. ([\#14557](https://github.com/matrix-org/synapse/issues/14557), [\#14559](https://github.com/matrix-org/synapse/issues/14559), [\#14560](https://github.com/matrix-org/synapse/issues/14560), [\#14500](https://github.com/matrix-org/synapse/issues/14500), [\#14501](https://github.com/matrix-org/synapse/issues/14501), [\#14502](https://github.com/matrix-org/synapse/issues/14502), [\#14503](https://github.com/matrix-org/synapse/issues/14503), [\#14504](https://github.com/matrix-org/synapse/issues/14504), [\#14505](https://github.com/matrix-org/synapse/issues/14505)).


Synapse 1.72.0 (2022-11-22)
===========================

Expand Down
1 change: 0 additions & 1 deletion changelog.d/13917.feature

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14038.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14055.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14149.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14376.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14393.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14400.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14403.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14404.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14408.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14412.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14449.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14452.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14466.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14468.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14469.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14471.feature

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14476.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14479.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14487.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14491.feature

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14496.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14499.doc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14500.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14501.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14502.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14503.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14504.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14505.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14508.feature

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14509.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14510.feature

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14515.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14516.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14520.feature

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14521.feature

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14522.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14524.feature

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14526.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14527.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14529.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14534.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14537.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14538.removal

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14557.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14559.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14560.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14565.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14571.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14573.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14574.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/14575.misc

This file was deleted.

12 changes: 12 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
matrix-synapse-py3 (1.73.0~rc2) stable; urgency=medium

* New Synapse release 1.73.0rc2.

-- Synapse Packaging team <[email protected]> Thu, 01 Dec 2022 10:02:19 +0000

matrix-synapse-py3 (1.73.0~rc1) stable; urgency=medium

* New Synapse release 1.73.0rc1.

-- Synapse Packaging team <[email protected]> Tue, 29 Nov 2022 12:28:13 +0000

matrix-synapse-py3 (1.72.0) stable; urgency=medium

* New Synapse release 1.72.0.
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ manifest-path = "rust/Cargo.toml"

[tool.poetry]
name = "matrix-synapse"
version = "1.72.0"
version = "1.73.0rc2"
description = "Homeserver for the Matrix decentralised comms protocol"
authors = ["Matrix.org Team and Contributors <[email protected]>"]
license = "Apache-2.0"
Expand Down
13 changes: 1 addition & 12 deletions synapse/handlers/device.py
Original file line number Diff line number Diff line change
Expand Up @@ -421,9 +421,6 @@ async def check_device_registered(

self._check_device_name_length(initial_device_display_name)

# Prune the user's device list if they already have a lot of devices.
await self._prune_too_many_devices(user_id)

if device_id is not None:
new_device = await self.store.store_device(
user_id=user_id,
Expand Down Expand Up @@ -455,14 +452,6 @@ async def check_device_registered(

raise errors.StoreError(500, "Couldn't generate a device ID.")

async def _prune_too_many_devices(self, user_id: str) -> None:
"""Delete any excess old devices this user may have."""
device_ids = await self.store.check_too_many_devices_for_user(user_id)
if not device_ids:
return

await self.delete_devices(user_id, device_ids)

async def _delete_stale_devices(self) -> None:
"""Background task that deletes devices which haven't been accessed for more than
a configured time period.
Expand Down Expand Up @@ -492,7 +481,7 @@ async def delete_all_devices_for_user(
device_ids = [d for d in device_ids if d != except_device_id]
await self.delete_devices(user_id, device_ids)

async def delete_devices(self, user_id: str, device_ids: Collection[str]) -> None:
async def delete_devices(self, user_id: str, device_ids: List[str]) -> None:
"""Delete several devices

Args:
Expand Down
Loading

0 comments on commit 781b14e

Please sign in to comment.