Path to this page:
Subject: CVS commit: pkgsrc/chat/matrix-synapse
From: Jonathan Schleifer
Date: 2021-11-19 15:06:08
Message id: 20211119140608.D0BE7FAEC@cvs.NetBSD.org
Log Message:
Update chat/matrix-synapse to 1.47.0
Synapse 1.47.0 (2021-11-17)
===========================
No significant changes since 1.47.0rc3.
Synapse 1.47.0rc3 (2021-11-16)
==============================
Bugfixes
--------
- Fix a bug introduced in 1.47.0rc1 which caused worker processes to not halt \
startup in the presence of outstanding database migrations. \
([\#11346](https://github.com/matrix-org/synapse/issues/11346))
- Fix a bug introduced in 1.47.0rc1 which prevented the 'remove deleted devices \
from `device_inbox` column' background process from running when updating from a \
recent Synapse version. \
([\#11303](https://github.com/matrix-org/synapse/issues/11303), \
[\#11353](https://github.com/matrix-org/synapse/issues/11353))
Synapse 1.47.0rc2 (2021-11-10)
==============================
This fixes an issue with publishing the Debian packages for 1.47.0rc1.
It is otherwise identical to 1.47.0rc1.
Synapse 1.47.0rc1 (2021-11-09)
==============================
Deprecations and Removals
-------------------------
- The `user_may_create_room_with_invites` module callback is now deprecated. \
Please refer to the [upgrade \
notes](https://matrix-org.github.io/synapse/develop/upgrade#upgrading-to-v1470) \
for more information. \
([\#11206](https://github.com/matrix-org/synapse/issues/11206))
- Remove deprecated admin API to delete rooms (`POST \
/_synapse/admin/v1/rooms/<room_id>/delete`). \
([\#11213](https://github.com/matrix-org/synapse/issues/11213))
Features
--------
- Advertise support for Client-Server API r0.6.1. \
([\#11097](https://github.com/matrix-org/synapse/issues/11097))
- Add search by room ID and room alias to the List Room admin API. \
([\#11099](https://github.com/matrix-org/synapse/issues/11099))
- Add an `on_new_event` third-party rules callback to allow Synapse modules to \
act after an event has been sent into a room. \
([\#11126](https://github.com/matrix-org/synapse/issues/11126))
- Add a module API method to update a user's membership in a room. \
([\#11147](https://github.com/matrix-org/synapse/issues/11147))
- Add metrics for thread pool usage. \
([\#11178](https://github.com/matrix-org/synapse/issues/11178))
- Support the stable room type field for \
[MSC3288](https://github.com/matrix-org/matrix-doc/pull/3288). \
([\#11187](https://github.com/matrix-org/synapse/issues/11187))
- Add a module API method to retrieve the current state of a room. \
([\#11204](https://github.com/matrix-org/synapse/issues/11204))
- Calculate a default value for `public_baseurl` based on `server_name`. \
([\#11210](https://github.com/matrix-org/synapse/issues/11210))
- Add support for serving `/.well-known/matrix/server` files, to redirect \
federation traffic to port 443. \
([\#11211](https://github.com/matrix-org/synapse/issues/11211))
- Add admin APIs to pause, start and check the status of background updates. \
([\#11263](https://github.com/matrix-org/synapse/issues/11263))
Bugfixes
--------
- Fix a long-standing bug which allowed hidden devices to receive to-device \
messages, resulting in unnecessary database bloat. \
([\#10097](https://github.com/matrix-org/synapse/issues/10097))
- Fix a long-standing bug where messages in the `device_inbox` table for deleted \
devices would persist indefinitely. Contributed by @dklimpel and \
@JohannesKleine. ([\#10969](https://github.com/matrix-org/synapse/issues/10969), \
[\#11212](https://github.com/matrix-org/synapse/issues/11212))
- Do not accept events if a third-party rule `check_event_allowed` callback \
raises an exception. \
([\#11033](https://github.com/matrix-org/synapse/issues/11033))
- Fix long-standing bug where verification requests could fail in certain cases \
if a federation whitelist was in place but did not include your own homeserver. \
([\#11129](https://github.com/matrix-org/synapse/issues/11129))
- Allow an empty list of `state_events_at_start` to be sent when using the \
[MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) `/batch_send` \
endpoint and the author of the historical messages is already part of the \
current room state at the given `?prev_event_id`. \
([\#11188](https://github.com/matrix-org/synapse/issues/11188))
- Fix a bug introduced in Synapse 1.45.0 which prevented the \
`synapse_review_recent_signups` script from running. Contributed by @samuel-p. \
([\#11191](https://github.com/matrix-org/synapse/issues/11191))
- Delete `to_device` messages for hidden devices that will never be read, \
reducing database size. \
([\#11199](https://github.com/matrix-org/synapse/issues/11199))
- Fix a long-standing bug wherein a missing `Content-Type` header when \
downloading remote media would cause Synapse to throw an error. \
([\#11200](https://github.com/matrix-org/synapse/issues/11200))
- Fix a long-standing bug which could result in serialization errors and \
potentially duplicate transaction data when sending ephemeral events to \
application services. Contributed by @Fizzadar at Beeper. \
([\#11207](https://github.com/matrix-org/synapse/issues/11207))
- Fix a bug introduced in Synapse 1.35.0 which made it impossible to join rooms \
that return a `send_join` response containing floats. \
([\#11217](https://github.com/matrix-org/synapse/issues/11217))
- Fix long-standing bug where cross signing keys were not included in the \
response to `/r0/keys/query` the first time a remote user was queried. \
([\#11234](https://github.com/matrix-org/synapse/issues/11234))
- Fix a long-standing bug where all requests that read events from the database \
could get stuck as a result of losing the database connection. \
([\#11240](https://github.com/matrix-org/synapse/issues/11240))
- Fix a bug preventing Synapse from being rolled back to an earlier version when \
using workers. ([\#11255](https://github.com/matrix-org/synapse/issues/11255), \
[\#11276](https://github.com/matrix-org/synapse/issues/11276))
- Fix a bug introduced in Synapse 1.37.1 which caused a remote event being \
processed by a worker to not get processed on restart if the worker was killed. \
([\#11262](https://github.com/matrix-org/synapse/issues/11262))
- Only allow old Element/Riot Android clients to send read receipts without a \
request body. All other clients must include a request body as required by the \
specification. Contributed by @rogersheu. \
([\#11157](https://github.com/matrix-org/synapse/issues/11157))
Updates to the Docker image
---------------------------
- Avoid changing user ID when started as a non-root user, and no explicit `UID` \
is set. ([\#11209](https://github.com/matrix-org/synapse/issues/11209))
Improved Documentation
----------------------
- Improve example HAProxy config in the docs to properly handle HTTP `Host` \
headers with port information. This is required for federation over port 443 to \
work correctly. ([\#11128](https://github.com/matrix-org/synapse/issues/11128))
- Add documentation for using Authentik as an OpenID Connect Identity Provider. \
Contributed by @samip5. \
([\#11151](https://github.com/matrix-org/synapse/issues/11151))
- Clarify lack of support for Windows. \
([\#11198](https://github.com/matrix-org/synapse/issues/11198))
- Improve code formatting and fix a few typos in docs. Contributed by \
@sumnerevans at Beeper. \
([\#11221](https://github.com/matrix-org/synapse/issues/11221))
- Add documentation for using LemonLDAP as an OpenID Connect Identity Provider. \
Contributed by @l00ptr. \
([\#11257](https://github.com/matrix-org/synapse/issues/11257))
Internal Changes
----------------
- Add type annotations for the `log_function` decorator. \
([\#10943](https://github.com/matrix-org/synapse/issues/10943))
- Add type hints to `synapse.events`. \
([\#11098](https://github.com/matrix-org/synapse/issues/11098))
- Remove and document unnecessary `RoomStreamToken` checks in application \
service ephemeral event code. \
([\#11137](https://github.com/matrix-org/synapse/issues/11137))
- Add type hints so that `synapse.http` passes `mypy` checks. \
([\#11164](https://github.com/matrix-org/synapse/issues/11164))
- Update scripts to pass Shellcheck lints. \
([\#11166](https://github.com/matrix-org/synapse/issues/11166))
- Add knock information in admin export. Contributed by Rafael Gonçalves. \
([\#11171](https://github.com/matrix-org/synapse/issues/11171))
- Add tests to check that `ClientIpStore.get_last_client_ip_by_device` and \
`get_user_ip_and_agents` combine database and in-memory data correctly. \
([\#11179](https://github.com/matrix-org/synapse/issues/11179))
- Refactor `Filter` to check different fields depending on the data type. \
([\#11194](https://github.com/matrix-org/synapse/issues/11194))
- Improve type hints for the relations datastore. \
([\#11205](https://github.com/matrix-org/synapse/issues/11205))
- Replace outdated links in the pull request checklist with links to the \
rendered documentation. \
([\#11225](https://github.com/matrix-org/synapse/issues/11225))
- Fix a bug in unit test `test_block_room_and_not_purge`. \
([\#11226](https://github.com/matrix-org/synapse/issues/11226))
- In `ObservableDeferred`, run observers in the order they were registered. \
([\#11229](https://github.com/matrix-org/synapse/issues/11229))
- Minor speed up to start up times and getting updates for groups by adding \
missing index to `local_group_updates.stream_id`. \
([\#11231](https://github.com/matrix-org/synapse/issues/11231))
- Add `twine` and `towncrier` as dev dependencies, as they're used by the \
release script. ([\#11233](https://github.com/matrix-org/synapse/issues/11233))
- Allow `stream_writers.typing` config to be a list of one worker. \
([\#11237](https://github.com/matrix-org/synapse/issues/11237))
- Remove debugging statement in tests. \
([\#11239](https://github.com/matrix-org/synapse/issues/11239))
- Fix [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) historical \
messages backfilling in random order on remote homeservers. \
([\#11244](https://github.com/matrix-org/synapse/issues/11244))
- Add an additional test for the `cachedList` method decorator. \
([\#11246](https://github.com/matrix-org/synapse/issues/11246))
- Make minor correction to the type of `auth_checkers` callbacks. \
([\#11253](https://github.com/matrix-org/synapse/issues/11253))
- Clean up trivial aspects of the Debian package build tooling. \
([\#11269](https://github.com/matrix-org/synapse/issues/11269), \
[\#11273](https://github.com/matrix-org/synapse/issues/11273))
- Blacklist new SyTest that checks that key uploads are valid pending the \
validation being implemented in Synapse. \
([\#11270](https://github.com/matrix-org/synapse/issues/11270))
Synapse 1.46.0 (2021-11-02)
===========================
The cause of the [performance regression affecting Synapse \
1.44](https://github.com/matrix-org/synapse/issues/11049) has been identified \
and fixed. ([\#11177](https://github.com/matrix-org/synapse/issues/11177))
Bugfixes
--------
- Fix a bug introduced in v1.46.0rc1 where URL previews of some XML documents \
would fail. ([\#11196](https://github.com/matrix-org/synapse/issues/11196))
Synapse 1.46.0rc1 (2021-10-27)
==============================
Features
--------
- Add support for Ubuntu 21.10 "Impish Indri". \
([\#11024](https://github.com/matrix-org/synapse/issues/11024))
- Port the Password Auth Providers module interface to the new generic \
interface. ([\#10548](https://github.com/matrix-org/synapse/issues/10548), \
[\#11180](https://github.com/matrix-org/synapse/issues/11180))
- Experimental support for the thread relation defined in \
[MSC3440](https://github.com/matrix-org/matrix-doc/pull/3440). \
([\#11088](https://github.com/matrix-org/synapse/issues/11088), \
[\#11181](https://github.com/matrix-org/synapse/issues/11181), \
[\#11192](https://github.com/matrix-org/synapse/issues/11192))
- Users admin API can now also modify user type in addition to allowing it to be \
set on user creation. \
([\#11174](https://github.com/matrix-org/synapse/issues/11174))
Bugfixes
--------
- Newly-created public rooms are now only assigned an alias if the room's \
creation has not been blocked by permission settings. Contributed by \
@AndrewFerr. ([\#10930](https://github.com/matrix-org/synapse/issues/10930))
- Fix a long-standing bug which meant that events received over federation were \
sometimes incorrectly accepted into the room state. \
([\#11001](https://github.com/matrix-org/synapse/issues/11001), \
[\#11009](https://github.com/matrix-org/synapse/issues/11009), \
[\#11012](https://github.com/matrix-org/synapse/issues/11012))
- Fix 500 error on `/messages` when the server accumulates more than 5 backwards \
extremities at a given depth for a room. \
([\#11027](https://github.com/matrix-org/synapse/issues/11027))
- Fix a bug where setting a user's `external_id` via the admin API returns 500 \
and deletes user's existing external mappings if that external ID is already \
mapped. ([\#11051](https://github.com/matrix-org/synapse/issues/11051))
- Fix a long-standing bug where users excluded from the user directory were \
added into the directory if they belonged to a room which became public or \
private. ([\#11075](https://github.com/matrix-org/synapse/issues/11075))
- Fix a long-standing bug when attempting to preview URLs which are in the \
`windows-1252` character encoding. \
([\#11077](https://github.com/matrix-org/synapse/issues/11077), \
[\#11089](https://github.com/matrix-org/synapse/issues/11089))
- Fix broken export-data admin command and add test script checking the command \
to CI. ([\#11078](https://github.com/matrix-org/synapse/issues/11078))
- Show an error when timestamp in seconds is provided to the \
`/purge_media_cache` Admin API. \
([\#11101](https://github.com/matrix-org/synapse/issues/11101))
- Fix local users who left all their rooms being removed from the user \
directory, even if the `search_all_users` config option was enabled. \
([\#11103](https://github.com/matrix-org/synapse/issues/11103))
- Fix a bug which caused the module API's `get_user_ip_and_agents` function to \
always fail on workers. `get_user_ip_and_agents` was introduced in 1.44.0 and \
did not function correctly on worker processes at the time. \
([\#11112](https://github.com/matrix-org/synapse/issues/11112))
- Identity server connection is no longer ignoring `ip_range_whitelist`. \
([\#11120](https://github.com/matrix-org/synapse/issues/11120))
- Fix a bug introduced in Synapse 1.45.0 breaking the configuration file parsing \
script. ([\#11145](https://github.com/matrix-org/synapse/issues/11145))
- Fix a performance regression introduced in 1.44.0 which could cause client \
requests to time out when making large numbers of outbound requests. \
([\#11177](https://github.com/matrix-org/synapse/issues/11177), \
[\#11190](https://github.com/matrix-org/synapse/issues/11190))
- Resolve and share `state_groups` for all \
[MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) historical events \
in batch. ([\#10975](https://github.com/matrix-org/synapse/issues/10975))
Improved Documentation
----------------------
- Fix broken links relating to module API deprecation in the upgrade notes. \
([\#11069](https://github.com/matrix-org/synapse/issues/11069))
- Add more information about what happens when a user is deactivated. \
([\#11083](https://github.com/matrix-org/synapse/issues/11083))
- Clarify the the sample log config can be copied from the documentation without \
issue. ([\#11092](https://github.com/matrix-org/synapse/issues/11092))
- Update the admin API documentation with an updated list of the characters \
allowed in registration tokens. \
([\#11093](https://github.com/matrix-org/synapse/issues/11093))
- Document Synapse's behaviour when dealing with multiple modules registering \
the same callbacks and/or handlers for the same HTTP endpoints. \
([\#11096](https://github.com/matrix-org/synapse/issues/11096))
- Fix instances of `[example]{.title-ref}` in the upgrade documentation as a \
result of prior RST to Markdown conversion. \
([\#11118](https://github.com/matrix-org/synapse/issues/11118))
- Document the version of Synapse each module callback was introduced in. \
([\#11132](https://github.com/matrix-org/synapse/issues/11132))
- Document the version of Synapse that introduced each module API method. \
([\#11183](https://github.com/matrix-org/synapse/issues/11183))
Internal Changes
----------------
- Fix spurious warnings about losing the logging context on the \
`ReplicationCommandHandler` when losing the replication connection. \
([\#10984](https://github.com/matrix-org/synapse/issues/10984))
- Include rejected status when we log events. \
([\#11008](https://github.com/matrix-org/synapse/issues/11008))
- Add some extra logging to the event persistence code. \
([\#11014](https://github.com/matrix-org/synapse/issues/11014))
- Rearrange the internal workings of the incremental user directory updates. \
([\#11035](https://github.com/matrix-org/synapse/issues/11035))
- Fix a long-standing bug where users excluded from the directory could still be \
added to the `users_who_share_private_rooms` table after a regular user joins a \
private room. ([\#11143](https://github.com/matrix-org/synapse/issues/11143))
- Add and improve type hints. \
([\#10972](https://github.com/matrix-org/synapse/issues/10972), \
[\#11055](https://github.com/matrix-org/synapse/issues/11055), \
[\#11066](https://github.com/matrix-org/synapse/issues/11066), \
[\#11076](https://github.com/matrix-org/synapse/issues/11076), \
[\#11095](https://github.com/matrix-org/synapse/issues/11095), \
[\#11109](https://github.com/matrix-org/synapse/issues/11109), \
[\#11121](https://github.com/matrix-org/synapse/issues/11121), \
[\#11146](https://github.com/matrix-org/synapse/issues/11146))
- Mark the Synapse package as containing type annotations and fix export \
declarations so that Synapse pluggable modules may be type checked against \
Synapse. ([\#11054](https://github.com/matrix-org/synapse/issues/11054))
- Remove dead code from `MediaFilePaths`. \
([\#11056](https://github.com/matrix-org/synapse/issues/11056))
- Be more lenient when parsing oEmbed response versions. \
([\#11065](https://github.com/matrix-org/synapse/issues/11065))
- Create a separate module for the retention configuration. \
([\#11070](https://github.com/matrix-org/synapse/issues/11070))
- Clean up some of the federation event authentication code for clarity. \
([\#11115](https://github.com/matrix-org/synapse/issues/11115), \
[\#11116](https://github.com/matrix-org/synapse/issues/11116), \
[\#11122](https://github.com/matrix-org/synapse/issues/11122))
- Add docstrings and comments to the application service ephemeral event sending \
code. ([\#11138](https://github.com/matrix-org/synapse/issues/11138))
- Update the `sign_json` script to support inline configuration of the signing \
key. ([\#11139](https://github.com/matrix-org/synapse/issues/11139))
- Fix broken link in the docker image README. \
([\#11144](https://github.com/matrix-org/synapse/issues/11144))
- Always dump logs from unit tests during CI runs. \
([\#11068](https://github.com/matrix-org/synapse/issues/11068))
- Add tests for `MediaFilePaths` class. \
([\#11057](https://github.com/matrix-org/synapse/issues/11057))
- Simplify the user admin API tests. \
([\#11048](https://github.com/matrix-org/synapse/issues/11048))
- Add a test for the workaround introduced in \
[\#11042](https://github.com/matrix-org/synapse/pull/11042) concerning the \
behaviour of third-party rule modules and `SynapseError`s. \
([\#11071](https://github.com/matrix-org/synapse/issues/11071))
Synapse 1.45.1 (2021-10-20)
===========================
Bugfixes
--------
- Revert change to counting of deactivated users towards the monthly active \
users limit, introduced in 1.45.0rc1. \
([\#11127](https://github.com/matrix-org/synapse/issues/11127))
Synapse 1.45.0 (2021-10-19)
===========================
No functional changes since Synapse 1.45.0rc2.
Known Issues
------------
- A suspected [performance \
regression](https://github.com/matrix-org/synapse/issues/11049) which was first \
reported after the release of 1.44.0 remains unresolved.
We have not been able to identify a probable cause. Affected users report that \
setting up a federation sender worker appears to alleviate symptoms of the \
regression.
Improved Documentation
----------------------
- Reword changelog to clarify concerns about a suspected performance regression \
in 1.44.0. ([\#11117](https://github.com/matrix-org/synapse/issues/11117))
Synapse 1.45.0rc2 (2021-10-14)
==============================
This release candidate \
[fixes](https://github.com/matrix-org/synapse/issues/11053) a user directory \
[bug](https://github.com/matrix-org/synapse/issues/11025) present in 1.45.0rc1.
Known Issues
------------
- A suspected [performance \
regression](https://github.com/matrix-org/synapse/issues/11049) which was first \
reported after the release of 1.44.0 remains unresolved.
We have not been able to identify a probable cause. Affected users report that \
setting up a federation sender worker appears to alleviate symptoms of the \
regression.
Bugfixes
--------
- Fix a long-standing bug when using multiple event persister workers where \
events were not correctly sent down `/sync` due to a race. \
([\#11045](https://github.com/matrix-org/synapse/issues/11045))
- Fix a bug introduced in Synapse 1.45.0rc1 where the user directory would stop \
updating if it processed an event from a
user not in the `users` table. \
([\#11053](https://github.com/matrix-org/synapse/issues/11053))
- Fix a bug introduced in Synapse 1.44.0 when logging errors during oEmbed \
processing. ([\#11061](https://github.com/matrix-org/synapse/issues/11061))
Internal Changes
----------------
- Add an 'approximate difference' method to `StateFilter`. \
([\#10825](https://github.com/matrix-org/synapse/issues/10825))
- Fix inconsistent behavior of `get_last_client_by_ip` when reporting data that \
has not been stored in the database yet. \
([\#10970](https://github.com/matrix-org/synapse/issues/10970))
- Fix a bug introduced in Synapse 1.21.0 that causes opentracing and Prometheus \
metrics for replication requests to be measured incorrectly. \
([\#10996](https://github.com/matrix-org/synapse/issues/10996))
- Ensure that cache config tests do not share state. \
([\#11036](https://github.com/matrix-org/synapse/issues/11036))
Synapse 1.45.0rc1 (2021-10-12)
==============================
**Note:** Media storage providers module that read from Synapse's configuration \
need changes as of this version, see the [upgrade \
notes](https://matrix-org.github.io/synapse/develop/upgrade#upgrading-to-v1450) \
for more information.
Known Issues
------------
- We are investigating [a performance \
issue](https://github.com/matrix-org/synapse/issues/11049) which was reported \
after the release of 1.44.0.
- We are aware of [a bug](https://github.com/matrix-org/synapse/issues/11025) \
with the user directory when using application services. A second release \
candidate is expected which will resolve this.
Features
--------
- Add [MSC3069](https://github.com/matrix-org/matrix-doc/pull/3069) support to \
`/account/whoami`. ([\#9655](https://github.com/matrix-org/synapse/issues/9655))
- Support autodiscovery of oEmbed previews. \
([\#10822](https://github.com/matrix-org/synapse/issues/10822))
- Add a `user_may_send_3pid_invite` spam checker callback for modules to allow \
or deny 3PID invites. \
([\#10894](https://github.com/matrix-org/synapse/issues/10894))
- Add a spam checker callback to allow or deny room joins. \
([\#10910](https://github.com/matrix-org/synapse/issues/10910))
- Include an `update_synapse_database` script in the distribution. Contributed \
by @Fizzadar at Beeper. \
([\#10954](https://github.com/matrix-org/synapse/issues/10954))
- Include exception information in JSON logging output. Contributed by @Fizzadar \
at Beeper. ([\#11028](https://github.com/matrix-org/synapse/issues/11028))
Bugfixes
--------
- Fix a minor bug in the response to `/_matrix/client/r0/voip/turnServer`. \
Contributed by @lukaslihotzki. \
([\#10922](https://github.com/matrix-org/synapse/issues/10922))
- Fix a bug where empty `yyyy-mm-dd/` directories would be left behind in the \
media store's `url_cache_thumbnails/` directory. \
([\#10924](https://github.com/matrix-org/synapse/issues/10924))
- Fix a bug introduced in Synapse v1.40.0 where the signature checks for room \
version 8 and 9 could be applied to earlier room versions in some situations. \
([\#10927](https://github.com/matrix-org/synapse/issues/10927))
- Fix a long-standing bug wherein deactivated users still count towards the \
monthly active users limit. \
([\#10947](https://github.com/matrix-org/synapse/issues/10947))
- Fix a long-standing bug which meant that events received over federation were \
sometimes incorrectly accepted into the room state. \
([\#10956](https://github.com/matrix-org/synapse/issues/10956))
- Fix a long-standing bug where rebuilding the user directory wouldn't exclude \
support and deactivated users. \
([\#10960](https://github.com/matrix-org/synapse/issues/10960))
- Fix [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) \
`/batch_send` endpoint rejecting subsequent batches with unknown batch ID error \
in existing room versions from the room creator. \
([\#10962](https://github.com/matrix-org/synapse/issues/10962))
- Fix a bug that could leak local users' per-room nicknames and avatars when the \
user directory is rebuilt. \
([\#10981](https://github.com/matrix-org/synapse/issues/10981))
- Fix a long-standing bug where the remainder of a batch of user directory \
changes would be silently dropped if the server left a room early in the batch. \
([\#10982](https://github.com/matrix-org/synapse/issues/10982))
- Correct a bugfix introduced in Synapse v1.44.0 that would catch the wrong \
error if a connection is lost before a response could be written to it. \
([\#10995](https://github.com/matrix-org/synapse/issues/10995))
- Fix a long-standing bug where local users' per-room nicknames/avatars were \
visible to anyone who could see you in the user directory. \
([\#11002](https://github.com/matrix-org/synapse/issues/11002))
- Fix a long-standing bug where a user's per-room nickname/avatar would \
overwrite their profile in the user directory when a room was made public. \
([\#11003](https://github.com/matrix-org/synapse/issues/11003))
- Work around a regression, introduced in Synapse v1.39.0, that caused \
`SynapseError`s raised by the experimental third-party rules module callback \
`check_event_allowed` to be ignored. \
([\#11042](https://github.com/matrix-org/synapse/issues/11042))
- Fix a bug in [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) \
insertion events in rooms that could cause cross-talk/conflicts between batches. \
([\#10877](https://github.com/matrix-org/synapse/issues/10877))
Improved Documentation
----------------------
- Change wording ("reference homeserver") in Synapse repository \
documentation. Contributed by @maxkratz. \
([\#10971](https://github.com/matrix-org/synapse/issues/10971))
- Fix a dead URL in development documentation (SAML) and change wording from \
"Riot" to "Element". Contributed by @maxkratz. \
([\#10973](https://github.com/matrix-org/synapse/issues/10973))
- Add additional content to the Welcome and Overview page of the documentation. \
([\#10990](https://github.com/matrix-org/synapse/issues/10990))
- Update links to MSCs in documentation. Contributed by @dklimpel. \
([\#10991](https://github.com/matrix-org/synapse/issues/10991))
Internal Changes
----------------
- Improve type hinting in `synapse.util`. \
([\#10888](https://github.com/matrix-org/synapse/issues/10888))
- Add further type hints to `synapse.storage.util`. \
([\#10892](https://github.com/matrix-org/synapse/issues/10892))
- Fix type hints to be compatible with an upcoming change to Twisted. \
([\#10895](https://github.com/matrix-org/synapse/issues/10895))
- Update utility code to handle C implementations of frozendict. \
([\#10902](https://github.com/matrix-org/synapse/issues/10902))
- Drop old functionality which maintained database compatibility with Synapse \
versions before v1.31. \
([\#10903](https://github.com/matrix-org/synapse/issues/10903))
- Clean-up configuration helper classes for the `ServerConfig` class. \
([\#10915](https://github.com/matrix-org/synapse/issues/10915))
- Use direct references to config flags. \
([\#10916](https://github.com/matrix-org/synapse/issues/10916), \
[\#10959](https://github.com/matrix-org/synapse/issues/10959), \
[\#10985](https://github.com/matrix-org/synapse/issues/10985))
- Clean up some of the federation event authentication code for clarity. \
([\#10926](https://github.com/matrix-org/synapse/issues/10926), \
[\#10940](https://github.com/matrix-org/synapse/issues/10940), \
[\#10986](https://github.com/matrix-org/synapse/issues/10986), \
[\#10987](https://github.com/matrix-org/synapse/issues/10987), \
[\#10988](https://github.com/matrix-org/synapse/issues/10988), \
[\#11010](https://github.com/matrix-org/synapse/issues/11010), \
[\#11011](https://github.com/matrix-org/synapse/issues/11011))
- Refactor various parts of the codebase to use `RoomVersion` objects instead of \
room version identifier strings. \
([\#10934](https://github.com/matrix-org/synapse/issues/10934))
- Refactor user directory tests in preparation for upcoming changes. \
([\#10935](https://github.com/matrix-org/synapse/issues/10935))
- Include the event id in the logcontext when handling PDUs received over \
federation. ([\#10936](https://github.com/matrix-org/synapse/issues/10936))
- Fix logged errors in unit tests. \
([\#10939](https://github.com/matrix-org/synapse/issues/10939))
- Fix a broken test to ensure that consent configuration works during \
registration. ([\#10945](https://github.com/matrix-org/synapse/issues/10945))
- Add type hints to filtering classes. \
([\#10958](https://github.com/matrix-org/synapse/issues/10958))
- Add type-hint to `HomeserverTestcase.setup_test_homeserver`. \
([\#10961](https://github.com/matrix-org/synapse/issues/10961))
- Fix the test utility function `create_room_as` so that `is_public=True` will \
explicitly set the `visibility` parameter of room creation requests to `public`. \
Contributed by @AndrewFerr. \
([\#10963](https://github.com/matrix-org/synapse/issues/10963))
- Make the release script more robust and transparent. \
([\#10966](https://github.com/matrix-org/synapse/issues/10966))
- Refactor [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) \
`/batch_send` mega function into smaller handler functions. \
([\#10974](https://github.com/matrix-org/synapse/issues/10974))
- Log stack traces when a missing opentracing span is detected. \
([\#10983](https://github.com/matrix-org/synapse/issues/10983))
- Update GHA config to run tests against Python 3.10 and PostgreSQL 14. \
([\#10992](https://github.com/matrix-org/synapse/issues/10992))
- Fix a long-standing bug where `ReadWriteLock`s could drop logging contexts on \
exit. ([\#10993](https://github.com/matrix-org/synapse/issues/10993))
- Add a `CODEOWNERS` file to automatically request reviews from the \
`@matrix-org/synapse-core` team on new pull requests. \
([\#10994](https://github.com/matrix-org/synapse/issues/10994))
- Add further type hints to `synapse.state`. \
([\#11004](https://github.com/matrix-org/synapse/issues/11004))
- Remove the deprecated `BaseHandler` object. \
([\#11005](https://github.com/matrix-org/synapse/issues/11005))
- Bump mypy version for CI to 0.910, and pull in new type stubs for \
dependencies. ([\#11006](https://github.com/matrix-org/synapse/issues/11006))
- Fix CI to run the unit tests without optional deps. \
([\#11017](https://github.com/matrix-org/synapse/issues/11017))
- Ensure that cache config tests do not share state. \
([\#11019](https://github.com/matrix-org/synapse/issues/11019))
- Add additional type hints to `synapse.server_notices`. \
([\#11021](https://github.com/matrix-org/synapse/issues/11021))
- Add additional type hints for `synapse.push`. \
([\#11023](https://github.com/matrix-org/synapse/issues/11023))
- When installing the optional developer dependencies, also include the \
dependencies needed for type-checking and unit testing. \
([\#11034](https://github.com/matrix-org/synapse/issues/11034))
- Remove unnecessary list comprehension from `synapse_port_db` to satisfy code \
style requirements. \
([\#11043](https://github.com/matrix-org/synapse/issues/11043))
Synapse 1.44.0 (2021-10-05)
===========================
No significant changes since 1.44.0rc3.
Synapse 1.44.0rc3 (2021-10-04)
==============================
Bugfixes
--------
- Fix a bug introduced in Synapse v1.40.0 where changing a user's display name \
or avatar in a restricted room would cause an authentication error. \
([\#10933](https://github.com/matrix-org/synapse/issues/10933))
- Fix `/admin/whois/{user_id}` endpoint, which was broken in v1.44.0rc1. \
([\#10968](https://github.com/matrix-org/synapse/issues/10968))
Synapse 1.44.0rc2 (2021-09-30)
==============================
Bugfixes
--------
- Fix a bug introduced in v1.44.0rc1 which caused the experimental \
[MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) `/batch_send` \
endpoint to return a 500 error. \
([\#10938](https://github.com/matrix-org/synapse/issues/10938))
- Fix a bug introduced in v1.44.0rc1 which prevented sending presence events to \
application services. \
([\#10944](https://github.com/matrix-org/synapse/issues/10944))
Improved Documentation
----------------------
- Minor updates to the installation instructions. \
([\#10919](https://github.com/matrix-org/synapse/issues/10919))
Synapse 1.44.0rc1 (2021-09-29)
==============================
Features
--------
- Only allow the [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) \
`/batch_send?chunk_id=xxx` endpoint to connect to an already existing insertion \
event. ([\#10776](https://github.com/matrix-org/synapse/issues/10776))
- Improve oEmbed URL previews by processing the author name, photo, and video \
information. ([\#10814](https://github.com/matrix-org/synapse/issues/10814), \
[\#10819](https://github.com/matrix-org/synapse/issues/10819))
- Speed up responding with large JSON objects to requests. \
([\#10868](https://github.com/matrix-org/synapse/issues/10868), \
[\#10905](https://github.com/matrix-org/synapse/issues/10905))
- Add a `user_may_create_room_with_invites` spam checker callback to allow \
modules to allow or deny a room creation request based on the invites and/or \
3PID invites it includes. \
([\#10898](https://github.com/matrix-org/synapse/issues/10898))
Bugfixes
--------
- Fix a long-standing bug that caused an `AssertionError` when purging history \
in certain rooms. Contributed by @Kokokokoka. \
([\#10690](https://github.com/matrix-org/synapse/issues/10690))
- Fix a long-standing bug which caused deactivated users that were later \
reactivated to be missing from the user directory. \
([\#10782](https://github.com/matrix-org/synapse/issues/10782))
- Fix a long-standing bug that caused unbanning a user by sending a membership \
event to fail. Contributed by @aaronraimist. \
([\#10807](https://github.com/matrix-org/synapse/issues/10807))
- Fix a long-standing bug where logging contexts would go missing when \
federation requests time out. \
([\#10810](https://github.com/matrix-org/synapse/issues/10810))
- Fix a long-standing bug causing an error in the deprecated `/initialSync` \
endpoint when using the undocumented `from` and `to` parameters. \
([\#10827](https://github.com/matrix-org/synapse/issues/10827))
- Fix a bug causing the `remove_stale_pushers` background job to repeatedly fail \
and log errors. This bug affected Synapse servers that had been upgraded from \
version 1.28 or older and are using SQLite. \
([\#10843](https://github.com/matrix-org/synapse/issues/10843))
- Fix a long-standing bug in Unicode support of the room search admin API \
breaking search for rooms with non-ASCII characters. \
([\#10859](https://github.com/matrix-org/synapse/issues/10859))
- Fix a bug introduced in Synapse 1.37.0 which caused `knock` membership events \
which we sent to remote servers to be incorrectly stored in the local database. \
([\#10873](https://github.com/matrix-org/synapse/issues/10873))
- Fix invalidating one-time key count cache after claiming keys. The bug was \
introduced in Synapse v1.41.0. Contributed by Tulir at Beeper. \
([\#10875](https://github.com/matrix-org/synapse/issues/10875))
- Fix a long-standing bug causing application service users to be subject to MAU \
blocking if the MAU limit had been reached, even if configured not to be \
blocked. ([\#10881](https://github.com/matrix-org/synapse/issues/10881))
- Fix a long-standing bug which could cause events pulled over federation to be \
incorrectly rejected. \
([\#10907](https://github.com/matrix-org/synapse/issues/10907))
- Fix a long-standing bug causing URL cache files to be stored in storage \
providers. Server admins may safely delete the `url_cache/` and \
`url_cache_thumbnails/` directories from any configured storage providers to \
reclaim space. ([\#10911](https://github.com/matrix-org/synapse/issues/10911))
- Fix a long-standing bug leading to race conditions when creating media store \
and config directories. \
([\#10913](https://github.com/matrix-org/synapse/issues/10913))
Improved Documentation
----------------------
- Fix some crashes in the Module API example code, by adding JSON \
encoding/decoding. \
([\#10845](https://github.com/matrix-org/synapse/issues/10845))
- Add developer documentation about experimental configuration flags. \
([\#10865](https://github.com/matrix-org/synapse/issues/10865))
- Properly remove deleted files from GitHub pages when generating the \
documentation. ([\#10869](https://github.com/matrix-org/synapse/issues/10869))
Internal Changes
----------------
- Fix GitHub Actions config so we can run sytest on synapse from parallel \
branches. ([\#10659](https://github.com/matrix-org/synapse/issues/10659))
- Split out [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) meta \
events to their own fields in the `/batch_send` response. \
([\#10777](https://github.com/matrix-org/synapse/issues/10777))
- Add missing type hints to REST servlets. \
([\#10785](https://github.com/matrix-org/synapse/issues/10785), \
[\#10817](https://github.com/matrix-org/synapse/issues/10817))
- Simplify the internal logic which maintains the user directory database \
tables. ([\#10796](https://github.com/matrix-org/synapse/issues/10796))
- Use direct references to config flags. \
([\#10812](https://github.com/matrix-org/synapse/issues/10812), \
[\#10885](https://github.com/matrix-org/synapse/issues/10885), \
[\#10893](https://github.com/matrix-org/synapse/issues/10893), \
[\#10897](https://github.com/matrix-org/synapse/issues/10897))
- Specify the type of token in generic "Invalid token" error messages. \
([\#10815](https://github.com/matrix-org/synapse/issues/10815))
- Make `StateFilter` frozen so it is hashable. \
([\#10816](https://github.com/matrix-org/synapse/issues/10816))
- Fix a long-standing bug where an `m.room.message` event containing a null byte \
would cause an internal server error. \
([\#10820](https://github.com/matrix-org/synapse/issues/10820))
- Add type hints to the state database. \
([\#10823](https://github.com/matrix-org/synapse/issues/10823))
- Opt out of cache expiry for `get_users_who_share_room_with_user`, to hopefully \
improve `/sync` performance when you
haven't synced recently. \
([\#10826](https://github.com/matrix-org/synapse/issues/10826))
- Track cache eviction rates more finely in Prometheus's monitoring. \
([\#10829](https://github.com/matrix-org/synapse/issues/10829))
- Add missing type hints to `synapse.handlers`. \
([\#10831](https://github.com/matrix-org/synapse/issues/10831), \
[\#10856](https://github.com/matrix-org/synapse/issues/10856))
- Extend the Module API to let plug-ins check whether an ID is local and to \
access IP + User Agent data. \
([\#10833](https://github.com/matrix-org/synapse/issues/10833))
- Factor out PNG image data to a constant to be used in several tests. \
([\#10834](https://github.com/matrix-org/synapse/issues/10834))
- Add a test to ensure state events sent by modules get persisted correctly. \
([\#10835](https://github.com/matrix-org/synapse/issues/10835))
- Rename [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) fields \
and event types from `chunk` to `batch` to match the `/batch_send` endpoint. \
([\#10838](https://github.com/matrix-org/synapse/issues/10838))
- Rename [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) \
`/batch_send` query parameter from `?prev_event` to more obvious usage with \
`?prev_event_id`. \
([\#10839](https://github.com/matrix-org/synapse/issues/10839))
- Add type hints to `synapse.http.site`. \
([\#10867](https://github.com/matrix-org/synapse/issues/10867))
- Include outlier status when we log V2 or V3 events. \
([\#10879](https://github.com/matrix-org/synapse/issues/10879))
- Break down Grafana's cache expiry time series based on reason for eviction, \
c.f. [\#10829](https://github.com/matrix-org/synapse/issues/10829). \
([\#10880](https://github.com/matrix-org/synapse/issues/10880))
- Clean up some of the federation event authentication code for clarity. \
([\#10883](https://github.com/matrix-org/synapse/issues/10883), \
[\#10884](https://github.com/matrix-org/synapse/issues/10884), \
[\#10896](https://github.com/matrix-org/synapse/issues/10896), \
[\#10901](https://github.com/matrix-org/synapse/issues/10901))
- Allow the `.` and `~` characters when creating registration tokens as per the \
change to [MSC3231](https://github.com/matrix-org/matrix-doc/pull/3231). \
([\#10887](https://github.com/matrix-org/synapse/issues/10887))
- Clean up some unnecessary parentheses in places around the codebase. \
([\#10889](https://github.com/matrix-org/synapse/issues/10889))
- Improve type hinting in the user directory code. \
([\#10891](https://github.com/matrix-org/synapse/issues/10891))
- Update development testing script `test_postgresql.sh` to use a supported \
Python version and make re-runs quicker. \
([\#10906](https://github.com/matrix-org/synapse/issues/10906))
- Document and summarize changes in schema version `61` – `64`. \
([\#10917](https://github.com/matrix-org/synapse/issues/10917))
- Update release script to sign the newly created git tags. \
([\#10925](https://github.com/matrix-org/synapse/issues/10925))
- Fix Debian builds due to `dh-virtualenv` no longer being able to build their \
docs. ([\#10931](https://github.com/matrix-org/synapse/issues/10931))
Files: