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:
RevisionActionfile
1.35modifypkgsrc/chat/matrix-synapse/Makefile
1.19modifypkgsrc/chat/matrix-synapse/PLIST
1.27modifypkgsrc/chat/matrix-synapse/distinfo