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