summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* Update changelogTill Faelligen2025-01-211-2/+2
|
* 1.123.0rc1Till Faelligen2025-01-2111-9/+44
|
* Support the new `/auth_metadata` endpoint defined in MSC2965. (#18093)Quentin Gliech2025-01-216-82/+187
| | | | | | | See the updated MSC2965 --------- Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* Implement MSC4133 to support custom profile fields. (#17488)Patrick Cloke2025-01-2113-26/+1039
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implementation of [MSC4133](https://github.com/matrix-org/matrix-spec-proposals/pull/4133) to support custom profile fields. It is behind an experimental flag and includes tests. ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [x] Pull request is based on the develop branch * [x] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [x] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters)) --------- Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* Document possibility of configuring `tls` for a worker instance in ↵Eric Eastwood2025-01-202-0/+5
| | | | `instance_map` (#18064)
* Drop indices concurrently on background updates (#18091)Erik Johnston2025-01-202-2/+3
| | | | | | | | | | Otherwise these can race with other long running queries and lock out all other queries. This caused problems in v1.22.0 as we added an index to `events` table in #17948, but that got interrupted and so next time we ran the background update we needed to delete the half-finished index. However, that got blocked behind some long running queries and then locked other queries out (stopping workers from even starting).
* Bump pyo3 from 0.23.3 to 0.23.4 (#18079)dependabot[bot]2025-01-161-10/+10
|
* Bump serde_json from 1.0.134 to 1.0.135 (#18081)dependabot[bot]2025-01-161-2/+2
|
* Bump ulid from 1.1.3 to 1.1.4 (#18080)dependabot[bot]2025-01-161-5/+2
|
* Bump mypy from 1.12.1 to 1.13.0 (#18083)dependabot[bot]2025-01-161-33/+34
|
* Bump pillow from 11.0.0 to 11.1.0 (#18084)dependabot[bot]2025-01-161-77/+73
|
* Merge branch 'master' into developAndrew Morgan2025-01-145-3794/+3802
|\
| * move additional release missed in last commit v1.122.0Andrew Morgan2025-01-142-11/+10
| |
| * Move 2023/4 changelog entries under docs/changelogsAndrew Morgan2025-01-143-3780/+3778
| |
| * move postgres changelog to the topAndrew Morgan2025-01-141-4/+2
| |
| * 1.122.0Andrew Morgan2025-01-143-1/+14
| |
| * Fix typographical error in changelogOlivier 'reivilibre2025-01-071-1/+1
| |
* | Increase `rc_invites.per_issuer` for Complement (#18072)Eric Eastwood2025-01-132-0/+4
| | | | | | | | | | | | It's possible to run into `SynapseError: 429 - Too Many Requests (rc_invites.per_issuer)` `rc_invites.per_issuer` originally introduced in https://github.com/matrix-org/synapse/pull/13125
* | Bust `_membership_stream_cache` cache when current state changes (#17732)Eric Eastwood2025-01-088-26/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is particularly a problem in a state reset scenario where the membership might change without a corresponding event. This PR is targeting a scenario where a state reset happens which causes room membership to change. Previously, the cache would just hold onto stale data and now we properly bust the cache in this scenario. We have a few tests for these scenarios which you can see are now fixed because we can remove the `FIXME` where we were previously manually busting the cache in the test itself. This is a general Synapse thing so by it's nature it helps out Sliding Sync. Fix https://github.com/element-hq/synapse/issues/17368 Prerequisite for https://github.com/element-hq/synapse/issues/17929 --- Match when are busting `_curr_state_delta_stream_cache`
* | Bump jinja2 from 3.1.4 to 3.1.5 (#18067)dependabot[bot]2025-01-081-3/+4
| |
* | Add the ability to filter by state event type on admin room state endpoint ↵Shay2025-01-084-1/+67
| | | | | | | | | | | | | | | | | | | | (#18035) Adds a query param `type` to `/_synapse/admin/v1/rooms/{room_id}/state` that filters the state event query by state event type. --------- Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* | Drop unstable MSC4151 implementation (#18052)Travis Ralston2025-01-074-17/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's been rotated out of known clients, and should be safe for removal now. Fixes https://github.com/element-hq/synapse/issues/17373 ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [x] Pull request is based on the develop branch * [x] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [x] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters))
* | Merge branch 'release-v1.122' into developOlivier 'reivilibre2025-01-0724-24/+65
|\|
| * Tweak changelog v1.122.0rc1Olivier 'reivilibre2025-01-071-7/+9
| |
| * 1.122.0rc1Olivier 'reivilibre2025-01-0724-24/+63
| |
* | Bump pyopenssl from 24.2.1 to 24.3.0 (#18062)dependabot[bot]2025-01-071-5/+5
|/ | | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump sentry-sdk from 2.17.0 to 2.19.2 (#18061)dependabot[bot]2025-01-061-5/+7
| | | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump pyicu from 2.13.1 to 2.14 (#18060)dependabot[bot]2025-01-061-2/+2
|
* Bump serde from 1.0.216 to 1.0.217 (#18059)dependabot[bot]2025-01-061-4/+4
|
* Properly purge state groups tables when purging a room (#18024)Mathieu Velten2025-01-065-69/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently purging a complex room can lead to a lot of orphaned rows left behind in the state groups tables. It seems it is because we are loosing track of state groups sometimes. This change uses the `room_id` indexed column of `state_groups` table to decide what to delete instead of doing an indirection through `event_to_state_groups`. Related to https://github.com/element-hq/synapse/issues/3364. ### Pull Request Checklist * [x] Pull request is based on the develop branch * [x] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). * [x] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters)) --------- Co-authored-by: Erik Johnston <erikj@jki.re>
* Refactor get_profile: do not return missing fields. (#18063)Patrick Cloke2025-01-037-28/+44
| | | | | | | | | | Refactor `get_profile` to avoid returning "empty" (`None` / `null`) fields. Currently this is not very important, but will be more useful once #17488 lands. It does update the servlet to use this now which has a minor change in behavior: additional fields served over federation will now be properly sent back to clients. It also adds constants for `avatar_url` / `displayname` although I did not attempt to use it everywhere possible.
* Add a test to verify remote user messages can be redacted via admin api ↵Shay2025-01-032-0/+60
| | | | redaction endpoint if requester is admin in room (#18043)
* Bump twine from 5.1.1 to 6.0.1 (#18049)dependabot[bot]2024-12-231-6/+10
| | | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump mypy-zope from 1.0.8 to 1.0.9 (#18047)dependabot[bot]2024-12-231-4/+4
|
* Bump anyhow from 1.0.94 to 1.0.95 (#18045)dependabot[bot]2024-12-231-2/+2
|
* Bump authlib from 1.3.2 to 1.4.0 (#18048)dependabot[bot]2024-12-231-6/+6
| | | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump serde_json from 1.0.133 to 1.0.134 (#18044)dependabot[bot]2024-12-231-2/+2
|
* Make admin api redactions use the requester to send the redaction (#18029)morguldir2024-12-232-1/+2
|
* Stop using twisted.internet.defer.returnValue (#18020)Colin Watson2024-12-205-27/+11
| | | | | | | | | `defer.returnValue` was only needed in Python 2; in Python 3, a simple `return` is fine. `twisted.internet.defer.returnValue` is deprecated as of Twisted 24.7.0. Most uses of `returnValue` in synapse were removed a while back; this cleans up some remaining bits.
* Remove support for PostgreSQL 11 and 12 (#18034)Patrick Cloke2024-12-195-4/+13
| | | | | | | This is essentially matrix-org/synapse#14392. I didn't see anything in there about updating sytest or complement. The main driver of this is so that I can use `jsonb_path_exists` in #17488. 😄
* Disable statement timeout during room purge (#18017)Mathieu Velten2024-12-192-0/+6
| | | | This is already done for `purge_history` but seems to have been forgotten for `purge_room`.
* Update reverse proxy docs with what we've learned from #17986 (#17994)Eric Eastwood2024-12-193-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update reverse proxy docs with what we've learned from https://github.com/element-hq/synapse/pull/17986 Also vice versa and update our nginx config with what I learned from the reverse proxy docs. ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [x] Pull request is based on the develop branch * [x] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [x] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters))
* Fix mypy errors on Twisted 24.11.0 (#17998)Andrew Morgan2024-12-185-11/+20
| | | | | | | | | Fixes various `mypy` errors associated with Twisted `24.11.0`. Hopefully addresses https://github.com/element-hq/synapse/issues/17075, though I've yet to test against `trunk`. Changes should be compatible with our currently pinned Twisted version of `24.7.0`.
* Wording improvements for the `TaskScheduler` (#17992)Andrew Morgan2024-12-182-37/+54
| | | | As I found the current docstrings a bit unclear while trying to wrap my head around this class.
* Bump mypy from 1.11.2 to 1.12.1 and fix new typechecking errors (#17999)Andrew Morgan2024-12-187-43/+49
| | | | | | | Supersedes https://github.com/element-hq/synapse/pull/17958. Awkwardly, the changes made to fix the mypy errors in 1.12.1 cause errors in 1.11.2. So you'll need to update your mypy version to 1.12.1 to eliminate typechecking errors during developing.
* Add email.tlsname config option (#17849)cynhr2024-12-175-38/+69
| | | | | | | | | | | | | | | The existing `email.smtp_host` config option is used for two distinct purposes: it is resolved into the IP address to connect to, and used to (request via SNI and) validate the server's certificate if TLS is enabled. This new option allows specifying a different name for the second purpose. This is especially helpful, if `email.smtp_host` isn't a global FQDN, but something that resolves only locally (e.g. "localhost" to connect through the loopback interface, or some other internally routed name), that one cannot get a valid certificate for. Alternatives would of course be to specify a global FQDN as `email.smtp_host`, or to disable TLS entirely, both of which might be undesirable, depending on the SMTP server configuration.
* Add `macaroon_secret_key_path` config option (#17983)V024602024-12-165-15/+51
| | | | | | Another config option on my quest to a `*_path` variant for every secret. This time it’s `macaroon_secret_key_path`. Reading secrets from files has the security advantage of separating the secrets from the config. It also simplifies secrets management in Kubernetes. Also useful to NixOS users.
* Add `last_seen_ts` to query user example (#17976)Travis Ralston2024-12-162-0/+2
| | | | | | | | | This section could probably do with a lot more editorial attention, but for now this is all there is in terms of documentation. The field is already returned by Synapse: https://github.com/element-hq/synapse/blob/4587decd678300217969f1d2f69b226421a33ced/synapse/handlers/admin.py#L150 `last_seen_ts` was introduced in https://github.com/matrix-org/synapse/pull/16218
* Add some useful endpoints to Admin API (#17948)Shay2024-12-1612-15/+535
| | | | | | | | | - Fetch the number of invites the provided user has sent after a given timestamp - Fetch the number of rooms the provided user has joined after a given timestamp, regardless if they have left/been banned from the rooms subsequently - Get report IDs of event reports where the provided user was the sender of the reported event
* Bump http from 1.1.0 to 1.2.0 (#18013)dependabot[bot]2024-12-161-2/+2
|
* Bump serde from 1.0.215 to 1.0.216 (#18031)dependabot[bot]2024-12-161-4/+4
|
* Bump pillow from 10.4.0 to 11.0.0 (#18015)dependabot[bot]2024-12-161-83/+78
|
* Bump pydantic from 2.9.2 to 2.10.3 (#18014)dependabot[bot]2024-12-161-98/+106
|
* Bump anyhow from 1.0.93 to 1.0.94 (#18012)dependabot[bot]2024-12-161-2/+2
|
* forward requester id to check username for spam callbacks (#17916)Wilson2024-12-136-7/+70
|
* Merge branch 'master' into developAndrew Morgan2024-12-115-5/+36
|\
| * Remove redundant security disclaimer v1.121.1Andrew Morgan2024-12-111-2/+0
| |
| * 1.121.1Andrew Morgan2024-12-114-2/+18
| |
| * Downgrade ubuntu to 22.04 when building docker images (#18026)Till2024-12-112-1/+2
| | | | | | | | | | | | | | As currently all docker builds are failing. https://github.blog/changelog/2024-12-05-notice-of-upcoming-releases-and-breaking-changes-for-github-actions/ https://github.com/actions/runner-images/issues/10636
| * Update changelog v1.121.0Till Faelligen2024-12-111-5/+2
| |
| * 1.121.0Till Faelligen2024-12-114-2/+16
| |
| * Attempt to fix duplicate releases issue (#18025)Till2024-12-112-0/+5
| | | | | | | | | | | | This hopefully fixes https://github.com/element-hq/synapse/issues/17991, as we first upgraded to v2 and are now back to 0.1.15. (This was lost in https://github.com/element-hq/synapse/pull/17923, related https://github.com/element-hq/synapse/pull/17995)
* | Update Alpine Linux Synapse Package Maintainer within installation.md (#17846)jahway6032024-12-102-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update Alpine Linux Synapse Package Maintainer within installation.md as it is outdated. ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [x] Pull request is based on the develop branch * [N/A] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [x] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters))
* | Fix bug when rejecting withdrew invite with a third_party_rules module (#17930)Mathieu Velten2024-12-102-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When rejecting a withdrew invite through federation, an out of band event needs to be created. When doing so with a third_party_rules module installed, `get_prev_state_ids` [is called](https://github.com/element-hq/synapse/blob/e0fdb862cbbddc920a30233024eb99038ee2fb28/synapse/module_api/callbacks/third_party_event_rules_callbacks.py#L285) on the context to calculate the state to pass at `check_event_allowed` callbacks. The context for outliers is defined [here](https://github.com/element-hq/synapse/blob/e0fdb862cbbddc920a30233024eb99038ee2fb28/synapse/events/snapshot.py#L168), and `state_group_before_event` is None. This change makes the behavior of `get_prev_state_ids` and `get_current_state_ids` match the one presented in the docstring regarding null state_group.
* | Reorganize account data, receipts and presence request regexps in ↵Rafał Hirsch2024-12-092-11/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | generic_worker docs (#17954) POST requests for account data, receipts and presence require the worker to be configured as a stream writer. The regular expressions in the default list don't assume any HTTP method, so if the worker is not a stream writer, the request fails. The stream writer section of the documentation lists the same regexps as the one I'm removing, so people configuring stream writers can still configure their routing properly. More context: https://github.com/element-hq/synapse/issues/17243#issuecomment-2493621645
* | Bump pyo3 from 0.23.2 to 0.23.3 (#18001)dependabot[bot]2024-12-091-10/+10
| |
* | Bump dawidd6/action-download-artifact from 6 to 7 (#17981)dependabot[bot]2024-12-051-1/+1
| |
* | Bump python-multipart from 0.0.16 to 0.0.18 (#17985)dependabot[bot]2024-12-051-3/+3
| |
* | Add RoomID & EventID rust types (#17996)Devon Hudson2024-12-052-0/+167
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds the RoomID & EventID rust types to the rust lib. Also adds a Deserialize impl to the existing UserID type. ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [X] Pull request is based on the develop branch * [X] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [X] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters))
* | Promote account suspension to stable (#17964)Travis Ralston2024-12-046-33/+13
|/ | | MSC: https://github.com/matrix-org/matrix-spec-proposals/pull/3823
* 1.121.0rc1 v1.121.0rc1Andrew Morgan2024-12-0423-21/+54
|
* Pin Rust to 1.82.0 when building Python wheels (#17993)Andrew Morgan2024-12-043-4/+14
| | | Addresses step 1 of #17988.
* Pin softprops/action-gh-release to v0.1.15 (#17995)Andrew Morgan2024-12-042-1/+2
| | | | | | | | | | We are still seeing duplicate releases on v2.0.5, so roll back further. [Other](https://github.com/Poko-Apps/curl-openssl-android/commit/f8a5a60b7c4b196c703d322bb3d11e9495807426#diff-88ab30345d9874c4336fe50b54b083ba5bdd925be961c34060e6a192b56b0433R72) [repositories](https://github.com/Glistix/glistix/commit/55fca4fec74aa114faf553b563ae5883b5d76be0#diff-e426ed45842837026e10e66af23d9c7077e89eacbe6958ce7cb991130ad05adaR105) seem to have settled on this version. Addresses https://github.com/element-hq/synapse/issues/17991 We're just going to test this during 1.121.0rc1.
* Support for MSC4190: device management for application services (#17705)Quentin Gliech2024-12-0412-33/+351
| | | | | | | | This is an implementation of MSC4190, which allows appservices to manage their user's devices without /login & /logout. --------- Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* MSC4076: Add disable_badge_count to pusher configuration (#17975)manuroe2024-12-034-6/+98
| | | | | This PR implements [MSC4076: Let E2EE clients calculate app badge counts themselves (disable_badge_count)](https://github.com/matrix-org/matrix-spec-proposals/pull/4076).
* Merge branch 'master' into developQuentin Gliech2024-12-0314-23/+419
|\
| * 1.120.2 v1.120.2Quentin Gliech2024-12-033-1/+15
| |
| * Stop building wheels for macOSQuentin Gliech2024-12-031-8/+2
| |
| * 1.120.1 v1.120.1Quentin Gliech2024-12-034-2/+49
| |
| * Restrict which image formats we will decode in order to generate thumbnailsOlivier 'reivilibre2024-12-031-1/+6
| |
| * Don't allow unsupported content-typeDevon Hudson2024-12-032-0/+89
| | | | | | | | Co-authored-by: Eric Eastwood <erice@element.io>
| * Handle null invite and knock room stateErik Johnston2024-12-035-9/+33
| |
| * Sliding Sync: Fix state leaking on incremental syncEric Eastwood2024-12-033-4/+226
| |
| * Fix release process to not create duplicate releases (#17970)Erik Johnston2024-12-032-1/+3
| | | | | | | | | | | | | | | | This is to work around https://github.com/softprops/action-gh-release/issues/445 --------- Co-authored-by: Quentin Gliech <quenting@element.io>
* | Be able to test `/login/sso/redirect` in Complement (#17986)Eric Eastwood2024-12-035-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | Be able to test `/login/sso/redirect` in Complement Spawning from https://github.com/element-hq/sbg/pull/421#discussion_r1854926218 where we have a proxy that intercepts responses to `/_matrix/client/v3/login/sso/redirect(/{idpId})` in order to upgrade them to use OAuth 2.0 Pushed Authorization Requests (PAR). We have some Complement tests in that codebase that go over this flow and these changes are required [in order for the URL's to line up](https://github.com/element-hq/synapse/blob/d648c8ce3f4cbf61191b9f5302e405f7b0288677/synapse/rest/client/login.py#L652-L673).
* | Bump bytes from 1.8.0 to 1.9.0 (#17982)dependabot[bot]2024-12-021-2/+2
| |
* | Bump tomli from 2.1.0 to 2.2.1 (#17979)dependabot[bot]2024-12-021-3/+33
| |
* | Sliding Sync: Include invite, ban, kick, targets when `$LAZY`-loading room ↵Eric Eastwood2024-12-025-11/+181
| | | | | | | | | | members (#17947) Part of https://github.com/element-hq/synapse/issues/17929
* | Use stable error code for account locking (#17965)Travis Ralston2024-12-022-2/+2
| |
* | Bump pysaml2 from 7.3.1 to 7.5.0 (#17978)dependabot[bot]2024-12-021-6/+6
| |
* | Fix release process to not create duplicate releases (#17970)Erik Johnston2024-12-022-1/+3
| | | | | | | | | | | | | | | | This is to work around https://github.com/softprops/action-gh-release/issues/445 --------- Co-authored-by: Quentin Gliech <quenting@element.io>
* | Consolidate SSO redirects through ↵Eric Eastwood2024-11-298-28/+262
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `/_matrix/client/v3/login/sso/redirect(/{idpId})` (#17972) Consolidate SSO redirects through `/_matrix/client/v3/login/sso/redirect(/{idpId})` Spawning from https://github.com/element-hq/sbg/pull/421#discussion_r1859497330 where we have a proxy that intercepts responses to `/_matrix/client/v3/login/sso/redirect(/{idpId})` in order to upgrade them to use OAuth 2.0 Pushed Authorization Requests (PAR). Instead of needing to intercept multiple endpoints that redirect to the authorization endpoint, it seems better to just have Synapse consolidate to a single flow. ### Testing strategy 1. Create a new OAuth application. I'll be using GitHub for example but there are [many options](https://github.com/matrix-org/synapse/blob/be65a8ec0195955c15fdb179c9158b187638e39a/docs/openid.md). Visit https://github.com/settings/developers -> **New OAuth App** - Application name: `Synapse local testing` - Homepage URL: `http://localhost:8008` - Authorization callback URL: `http://localhost:8008/_synapse/client/oidc/callback` 1. Update your Synapse `homeserver.yaml` ```yaml server_name: "my.synapse.server" public_baseurl: http://localhost:8008/ listeners: - port: 8008 bind_addresses: [ #'::1', '127.0.0.1' ] tls: false type: http x_forwarded: true resources: - names: [client, federation, metrics] compress: false # SSO login testing oidc_providers: - idp_id: github idp_name: Github idp_brand: "github" # optional: styling hint for clients discover: false issuer: "https://github.com/" client_id: "xxx" # TO BE FILLED client_secret: "xxx" # TO BE FILLED authorization_endpoint: "https://github.com/login/oauth/authorize" token_endpoint: "https://github.com/login/oauth/access_token" userinfo_endpoint: "https://api.github.com/user" scopes: ["read:user"] user_mapping_provider: config: subject_claim: "id" localpart_template: "{{ user.login }}" display_name_template: "{{ user.name }}" ``` 1. Start Synapse: `poetry run synapse_homeserver --config-path homeserver.yaml` 1. Visit `http://localhost:8008/_synapse/client/pick_idp?redirectUrl=http%3A%2F%2Fexample.com` 1. Choose GitHub 1. Notice that you're redirected to GitHub to sign in (`https://github.com/login/oauth/authorize?...`) Tested locally and works: 1. `http://localhost:8008/_synapse/client/pick_idp?idp=oidc-github&redirectUrl=http%3A//example.com` -> 1. `http://localhost:8008/_matrix/client/v3/login/sso/redirect/oidc-github?redirectUrl=http://example.com` -> 1. `https://github.com/login/oauth/authorize?response_type=code&client_id=xxx&redirect_uri=http%3A%2F%2Flocalhost%3A8008%2F_synapse%2Fclient%2Foidc%2Fcallback&scope=read%3Auser&state=xxx&nonce=xxx`
* | Fix new scheduled tasks jumping the queue (#17962)Richard van der Hoff2024-11-285-55/+64
| | | | | | | | | | | | | | | | | | | | | | | | Currently, when a new scheduled task is added and its scheduled time has already passed, we set it to ACTIVE. This is problematic, because it means it will jump the queue ahead of all other SCHEDULED tasks; furthermore, if the Synapse process gets restarted, it will jump ahead of any ACTIVE tasks which have been started but are taking a while to run. Instead, we leave it set to SCHEDULED, but kick off a call to `_launch_scheduled_tasks`, which will decide if we actually have capacity to start a new task, and start the newly-added task if so.
* | Update setuptools-rust and fix building abi3 wheels (#17969)Erik Johnston2024-11-273-6/+25
| | | | | | | | | | | | | | Newer versions of `setuptools-rust` ignore the `py_limited_api` flag to `RustExtension`, and instead read it from `bdist_wheel` config. c.f. https://github.com/PyO3/setuptools-rust/blob/main/CHANGELOG.md#190-2024-02-24
* | Bump pyo3 to v0.23.2 (#17966)V024602024-11-2711-195/+136
| | | | | | | | | | | | | | | | | | Keep up-to-date with pyo3 releases. This bump enables Python 3.13 support and resolves deprecations. Links for quick reference: https://github.com/PyO3/pyo3/releases https://github.com/davidhewitt/pythonize/releases https://github.com/vorner/pyo3-log
* | MSC4108: Add a Content-Type header on the PUT response (#17253)Quentin Gliech2024-11-262-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a workaround for some proxy setup, where the ETag header gets stripped from the response headers unless there is a Content-Type header set. In particular, we saw this bug when putting Cloudflare in front of Synapse. I'm pretty sure this is a Cloudflare bug, as this behaviour isn't documented anywhere, and doesn't make sense whatsoever. --------- Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* | Merge branch 'master' into developQuentin Gliech2024-11-264-1/+17
|\|
| * 1.120.0 v1.120.0Quentin Gliech2024-11-264-2/+16
| |
| * Fix `delete_old_otks` job on worker deployments (#17960)Richard van der Hoff2024-11-262-0/+2
| | | | | | | | | | | | | | In a worker-mode deployment, the `E2eKeysHandler` is not necessarily loaded, which means the handler for the `delete_old_otks` task will not be registered. Make sure we load the handler. Introduced in https://github.com/element-hq/synapse/pull/17934
* | Bump tomli from 2.0.2 to 2.1.0 (#17959)dependabot[bot]2024-11-261-3/+3
| |
* | Fix up logic for delaying sending read receipts over federation. (#17933)Erik Johnston2024-11-256-134/+220
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For context of why we delay read receipts, see https://github.com/matrix-org/synapse/issues/4730. Element Web often sends read receipts in quick succession, if it reloads the timeline it'll send one for the last message in the old timeline and again for the last message in the new timeline. This caused remote users to see a read receipt for older messages come through quickly, but then the second read receipt taking a while to arrive for the most recent message. There are two things going on in this PR: 1. There was a mismatch between seconds and milliseconds, and so we ended up delaying for far longer than intended. 2. Changing the logic to reuse the `DestinationWakeupQueue` (used for presence) The changes in logic are: - Treat the first receipt and subsequent receipts in a room in the same way - Whitelist certain classes of receipts to never delay being sent, i.e. receipts in small rooms, receipts for events that were sent within the last 60s, and sending receipts to the event sender's server. - The maximum delay a receipt can have before being sent to a server is 30s, and we'll send out receipts to remotes at least at 50Hz (by default) The upshot is that this should make receipts feel more snappy over federation. This new logic should send roughly between 10%–20% of transactions immediately on matrix.org.
* | Bump tornado from 6.4.1 to 6.4.2 (#17955)dependabot[bot]2024-11-251-13/+13
| |
* | Return suspended status when querying user account (#17952)Shay2024-11-224-1/+5
| |
* | link to element-docker-demo from contrib/docker* (#17953)Matthew Hodgson2024-11-223-0/+7
| |
* | Add Forgejo oidc provider config example (#17872)Valentin Iovene2024-11-202-0/+31
| |
* | Merge branch 'release-v1.120' into developOlivier 'reivilibre2024-11-2014-12/+54
|\|
| * Tweak changelogOlivier 'reivilibre2024-11-201-2/+2
| |
| * 1.120.0rc1 v1.120.0rc1Olivier 'reivilibre2024-11-2014-12/+54
| |
* | Fix incorrect comment in new schema delta (#17936)Erik Johnston2024-11-202-2/+3
| | | | | | Added in #17912, was a bad copy and paste.
* | Bump serde_json from 1.0.132 to 1.0.133 (#17939)dependabot[bot]2024-11-201-2/+2
| |
* | Raise setuptools_rust version cap to 1.10.2 (#17944)V024602024-11-202-1/+2
| |
* | Add encrypted appservice extensions to Complement test image. (#17945)Will Hunt2024-11-202-0/+11
|/
* Fix nix flakeOlivier 'reivilibre2024-11-202-43/+9
|
* Enable authenticated media by default (#17889)Travis Ralston2024-11-2011-16/+129
| | | Co-authored-by: Olivier 'reivilibre <oliverw@matrix.org>
* Support both import names of PyPI package `python-multipart`. (#17932)Renaud Allard2024-11-202-4/+18
|
* Speed up slow initial sliding syncs on large servers (#17946)Erik Johnston2024-11-194-1/+44
| | | | This was due to a missing index, which meant that deleting previous connections associated with the device and `conn_id` took a long time.
* Create one-off scheduled task to delete old OTKs (#17934)Richard van der Hoff2024-11-196-0/+203
| | | | | | | | | | To work around the fact that, pre-https://github.com/element-hq/synapse/pull/17903, our database may have old one-time-keys that the clients have long thrown away the private keys for, we want to delete OTKs that look like they came from libolm. To spread the load a bit, without holding up other background database updates, we use a scheduled task to do the work.
* Bump serde from 1.0.214 to 1.0.215 (#17938)dependabot[bot]2024-11-181-4/+4
|
* Bump packaging from 24.1 to 24.2 (#17940)dependabot[bot]2024-11-181-3/+3
|
* Bump phonenumbers from 8.13.49 to 8.13.50 (#17942)dependabot[bot]2024-11-181-3/+3
|
* Bump immutabledict from 4.2.0 to 4.2.1 (#17941)dependabot[bot]2024-11-181-4/+4
|
* Add some documentation about backing up Synapse (#17931)Richard van der Hoff2024-11-186-3/+147
| | | | Fixes: https://github.com/element-hq/element-meta/issues/2155 Fixes: https://github.com/element-hq/synapse/issues/2046
* Move server event filtering logic to rust (#17928)Devon Hudson2024-11-149-58/+265
| | | | | | | | | | | | | | | | | | | | | | | | | | ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [X] Pull request is based on the develop branch * [X] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [X] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters))
* Merge branch 'master' into developErik Johnston2024-11-133-3/+15
|\
| * 1.119.0 v1.119.0Erik Johnston2024-11-133-3/+15
| |
* | Removal: Remove support for experimental msc3886 (#17638)Poruri Sai Rahul2024-11-1312-126/+13
| |
* | Bump macos version used to build wheels (#17924)Erik Johnston2024-11-132-3/+4
| | | | | | | | MacOS 12 is end-of-life and GitHub is deprecating support for it (including doing brown outs). Let's bump to MacOS 13.
* | Unpin the upload release GHA action (#17923)Erik Johnston2024-11-122-5/+2
| | | | | | | | | | | | | | We were pinned to an old version that had deprecation warnings. In new versions of the action leaving off properties (i.e. `draft` and `prerelease`) tells the action to not modify those properties of the release.
* | Fix typo in error message when a media ID isn't known (#17865)Benjamin Bouvier2024-11-126-6/+7
| |
* | Merge branch 'release-v1.119' into developErik Johnston2024-11-1136-37/+132
|\|
| * 1.119.0rc2 v1.119.0rc2Erik Johnston2024-11-114-3/+11
| |
| * Fix building and attaching release artifacts (#17921)Erik Johnston2024-11-112-3/+18
| | | | | | | | | | | | | | | | | | | | Broke in #17905 due to upgrading the `upload-artifact` action, as we didn't rename debs. I think we also need to change how we download the artefacts and attach them to a release, as they'll download to a different place. Docs: - https://github.com/actions/upload-artifact/tree/v4/ - https://github.com/actions/download-artifact/tree/v4/
| * Update changelog v1.119.0rc1Erik Johnston2024-11-111-1/+1
| |
| * Update changelogErik Johnston2024-11-112-1/+1
| |
| * Add index to `current_state_delta_stream` (#17912)Erik Johnston2024-11-113-2/+44
| | | | | | | | As we're now using it in the sync APIs to get state changes within a room
| * Update changelog for releaseDevon Hudson2024-11-089-11/+13
| |
| * Merge branch 'develop' into release-v1.119Devon Hudson2024-11-0845-190/+498
| |\
| * | Cleanup changelogDevon Hudson2024-11-061-12/+6
| | |
| * | 1.119.0rc1Devon Hudson2024-11-0625-24/+58
| | |
* | | Bump bleach from 6.1.0 to 6.2.0 (#17918)dependabot[bot]2024-11-111-6/+5
| | |
* | | Bump pygithub from 2.4.0 to 2.5.0 (#17917)dependabot[bot]2024-11-111-3/+3
| | |
* | | Bump ruff from 0.7.2 to 0.7.3 (#17919)dependabot[bot]2024-11-112-22/+22
| | |
* | | Bump anyhow from 1.0.92 to 1.0.93 (#17920)dependabot[bot]2024-11-111-2/+2
| | |
* | | Clarify the semantics of the `enable_authenticated_media` configuration ↵reivilibre2024-11-112-0/+21
| |/ |/| | | | | | | option. (#17913) Signed-off-by: Olivier 'reivilibre <oliverw@matrix.org>
* | Fix MSC4222 returning full state (#17915)Erik Johnston2024-11-089-31/+91
| | | | | | | | | | | | | | | | | | | | | | There was a bug that meant we would return the full state of the room on incremental syncs when using lazy loaded members and there were no entries in the timeline. This was due to trying to use `state_filter or state_filter.all()` as a short hand for handling `None` case, however `state_filter` implements `__bool__` so if the state filter was empty it would be set to full. c.f. MSC4222 and #17888
* | Fix Twisted tests with latest release (#17911)Erik Johnston2024-11-072-4/+12
| | | | | | c.f. #17906 and #17907
* | Switch portdb CI to python 3.13, pg 17 (#17909)Andrew Morgan2024-11-072-2/+3
| |
* | Fix cancellation tests with new Twisted. (#17906)Erik Johnston2024-11-072-24/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The latest Twisted release changed how they implemented `__await__` on deferreds, which broke the machinery we used to test cancellation. This PR changes things a bit to instead patch the `__await__` method, which is a stable API. This mostly doesn't change the core logic, except for fixing two bugs: - We previously did not intercept all await points - After cancellation we now need to not only unblock currently blocked await points, but also make sure we don't block any future await points. c.f. https://github.com/twisted/twisted/pull/12226 --------- Co-authored-by: Devon Hudson <devon.dmytro@gmail.com>
* | Fix other unit tests with latest twisted (#17907)Erik Johnston2024-11-073-7/+55
| | | | | | There's also https://github.com/element-hq/synapse/pull/17906
* | Issue one time keys in upload order (#17903)Richard van der Hoff2024-11-065-8/+116
| | | | | | | | | | | | | | | | Currently, one-time-keys are issued in a somewhat random order. (In practice, they are issued according to the lexicographical order of their key IDs.) That can lead to a situation where a client gives up hope of a given OTK ever being used, whilst it is still on the server. Related: https://github.com/element-hq/element-meta/issues/2356
* | Remove support for python 3.8 (#17908)Devon Hudson2024-11-0623-113/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [X] Pull request is based on the develop branch * [X] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [X] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters)) --------- Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* | Update version constraint to allow the latest `poetry-core` `1.9.1` (#17902)Eric Eastwood2024-11-062-1/+2
|/ | | | | | | | | | | Update version constraint to allow the latest `poetry-core` `1.9.1` Context: > I am working on updating poetry-core in Fedora and synapse is one of affected packages. Please run a CI to see if it works properly. Thank you. Mergeable version of https://github.com/element-hq/synapse/pull/17848
* Use unique name for each os.arch variant when uploading Wheels (#17905)Devon Hudson2024-11-062-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [X] Pull request is based on the develop branch * [X] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [X] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters))
* Improve nix flake to use nixpkgs-unstable in lieu of master (#17852)Sandro2024-11-063-15/+16
|
* Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows (#17657)dependabot[bot]2024-11-062-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.1.7. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/download-artifact/releases">actions/download-artifact's releases</a>.</em></p> <blockquote> <h2>v4.1.7</h2> <h2>What's Changed</h2> <ul> <li>Update <code>@​actions/artifact</code> dependency by <a href="https://github.com/bethanyj28"><code>@​bethanyj28</code></a> in <a href="https://redirect.github.com/actions/download-artifact/pull/325">actions/download-artifact#325</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/download-artifact/compare/v4.1.6...v4.1.7">https://github.com/actions/download-artifact/compare/v4.1.6...v4.1.7</a></p> <h2>v4.1.6</h2> <h2>What's Changed</h2> <ul> <li>updating <code>@actions/artifact</code> dependency to v2.1.6 by <a href="https://github.com/eggyhead"><code>@​eggyhead</code></a> in <a href="https://redirect.github.com/actions/download-artifact/pull/324">actions/download-artifact#324</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/download-artifact/compare/v4.1.5...v4.1.6">https://github.com/actions/download-artifact/compare/v4.1.5...v4.1.6</a></p> <h2>v4.1.5</h2> <h2>What's Changed</h2> <ul> <li>Update readme with v3/v2/v1 deprecation notice by <a href="https://github.com/robherley"><code>@​robherley</code></a> in <a href="https://redirect.github.com/actions/download-artifact/pull/322">actions/download-artifact#322</a></li> <li>Update dependencies <code>@actions/core</code> to v1.10.1 and <code>@actions/artifact</code> to v2.1.5</li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/download-artifact/compare/v4.1.4...v4.1.5">https://github.com/actions/download-artifact/compare/v4.1.4...v4.1.5</a></p> <h2>v4.1.4</h2> <h2>What's Changed</h2> <ul> <li>Update <code>@​actions/artifact</code> by <a href="https://github.com/bethanyj28"><code>@​bethanyj28</code></a> in <a href="https://redirect.github.com/actions/download-artifact/pull/307">actions/download-artifact#307</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/download-artifact/compare/v4...v4.1.4">https://github.com/actions/download-artifact/compare/v4...v4.1.4</a></p> <h2>v4.1.3</h2> <h2>What's Changed</h2> <ul> <li>Update release-new-action-version.yml by <a href="https://github.com/konradpabjan"><code>@​konradpabjan</code></a> in <a href="https://redirect.github.com/actions/download-artifact/pull/292">actions/download-artifact#292</a></li> <li>Update toolkit dependency with updated unzip logic by <a href="https://github.com/bethanyj28"><code>@​bethanyj28</code></a> in <a href="https://redirect.github.com/actions/download-artifact/pull/299">actions/download-artifact#299</a></li> <li>Update <code>@​actions/artifact</code> by <a href="https://github.com/bethanyj28"><code>@​bethanyj28</code></a> in <a href="https://redirect.github.com/actions/download-artifact/pull/303">actions/download-artifact#303</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/bethanyj28"><code>@​bethanyj28</code></a> made their first contribution in <a href="https://redirect.github.com/actions/download-artifact/pull/299">actions/download-artifact#299</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/download-artifact/compare/v4...v4.1.3">https://github.com/actions/download-artifact/compare/v4...v4.1.3</a></p> <h2>v4.1.2</h2> <ul> <li>Bump <code>@​actions/artifacts</code> to latest version to include <a href="https://redirect.github.com/actions/toolkit/pull/1648">updated GHES host check</a></li> </ul> <h2>v4.1.1</h2> <ul> <li>Fix transient request timeouts <a href="https://redirect.github.com/actions/download-artifact/issues/249">actions/download-artifact#249</a></li> <li>Bump <code>@actions/artifacts</code> to latest version</li> </ul> <h2>v4.1.0</h2> <h2>What's Changed</h2> <ul> <li>Some cleanup by <a href="https://github.com/robherley"><code>@​robherley</code></a> in <a href="https://redirect.github.com/actions/download-artifact/pull/247">actions/download-artifact#247</a></li> <li>Fix default for run-id by <a href="https://github.com/stchr"><code>@​stchr</code></a> in <a href="https://redirect.github.com/actions/download-artifact/pull/252">actions/download-artifact#252</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/download-artifact/commit/65a9edc5881444af0b9093a5e628f2fe47ea3b2e"><code>65a9edc</code></a> Merge pull request <a href="https://redirect.github.com/actions/download-artifact/issues/325">#325</a> from bethanyj28/main</li> <li><a href="https://github.com/actions/download-artifact/commit/fdd1595981c1a29187d3de99c28c28a166bc38f7"><code>fdd1595</code></a> licensed</li> <li><a href="https://github.com/actions/download-artifact/commit/c13dba102f4bb92b3f679fa086db9e2973960ca7"><code>c13dba1</code></a> update <code>@​actions/artifact</code> dependency</li> <li><a href="https://github.com/actions/download-artifact/commit/0daa75ebeac4617faeb127496dbd716b8bcce26e"><code>0daa75e</code></a> Merge pull request <a href="https://redirect.github.com/actions/download-artifact/issues/324">#324</a> from actions/eggyhead/use-artifact-v2.1.6</li> <li><a href="https://github.com/actions/download-artifact/commit/9c19ed7fe5d278cd354c7dfd5d3b88589c7e2395"><code>9c19ed7</code></a> Merge branch 'main' into eggyhead/use-artifact-v2.1.6</li> <li><a href="https://github.com/actions/download-artifact/commit/3d3ea8741ef44e86f7392b41e391bde3c36219bd"><code>3d3ea87</code></a> updating license</li> <li><a href="https://github.com/actions/download-artifact/commit/89af5db8211998d3ca691103a86b0b9362a94286"><code>89af5db</code></a> updating artifact package v2.1.6</li> <li><a href="https://github.com/actions/download-artifact/commit/b4aefff88e83a2676a730654e1ce3dce61880379"><code>b4aefff</code></a> Merge pull request <a href="https://redirect.github.com/actions/download-artifact/issues/323">#323</a> from actions/eggyhead/update-artifact-v215</li> <li><a href="https://github.com/actions/download-artifact/commit/8caf195ad4b1dee92908e23f56eeb0696f1dd42d"><code>8caf195</code></a> package lock update</li> <li><a href="https://github.com/actions/download-artifact/commit/d7a2ec411d177e8ca679ac5969b70be59c322700"><code>d7a2ec4</code></a> updating package version</li> <li>Additional commits viewable in <a href="https://github.com/actions/download-artifact/compare/v3...v4.1.7">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/download-artifact&package-manager=github_actions&previous-version=3&new-version=4.1.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) You can trigger a rebase of this PR by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/element-hq/synapse/network/alerts). </details> > **Note** > Automatic rebases have been disabled on this pull request as it has been open for over 30 days. --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Devon Hudson <devonhudson@librem.one>
* Use more correct changelog entries for refactoring `Generator` usage (#17890)Eric Eastwood2024-11-0513-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use more correct changelog entries for refactoring `Generator` usage - https://github.com/element-hq/synapse/pull/17813 - https://github.com/element-hq/synapse/pull/17814 - https://github.com/element-hq/synapse/pull/17815 - https://github.com/element-hq/synapse/pull/17816 - https://github.com/element-hq/synapse/pull/17817 ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [x] Pull request is based on the develop branch * [x] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [x] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters))
* Fix WheelTimer implementation that can expired timeout early (#17850)Alexander Udovichenko2024-11-053-28/+29
| | | | | When entries insert in the end of timer queue, then unnecessary entry inserted (with duplicated key). This can lead to some timeouts expired early and consume memory.
* Add experimental support for MSC4222 (#17888)Erik Johnston2024-11-057-56/+395
| | | | | | | | | | | Basically, if the client sets a special query param on `/sync` v2 instead of responding with `state` at the *start* of the timeline, we instead respond with `state_after` at the *end* of the timeline. We do this by using the `current_state_delta_stream` table, which is actually reliable, rather than messing around with "state at" points on the timeline. c.f. MSC4222
* Bump Synapse Dockerfile default to Python 3.12 (#17887)Andrew Morgan2024-11-052-1/+2
|
* Remove usage of internal header encoding API (#17894)Eric Eastwood2024-11-044-36/+60
| | | | | | | | | | | ```py from twisted.web.http_headers import Headers Headers()._canonicalNameCaps Headers()._encodeName ``` Introduced in https://github.com/matrix-org/synapse/pull/15913 <- https://github.com/matrix-org/synapse/pull/15773
* Bump phonenumbers from 8.13.48 to 8.13.49 (#17899)dependabot[bot]2024-11-041-3/+3
|
* Sliding Sync: Lazy-loading room members on incremental sync (remember ↵Eric Eastwood2024-11-044-59/+788
| | | | | | | | memberships) (#17809) Lazy-loading room members on incremental sync and remember which memberships we've sent down the connection before (up-to 100) Fix https://github.com/element-hq/synapse/issues/17804
* Bump ruff from 0.7.1 to 0.7.2 (#17897)dependabot[bot]2024-11-042-21/+21
|
* Bump anyhow from 1.0.91 to 1.0.92 (#17901)dependabot[bot]2024-11-041-2/+2
|
* Bump serde from 1.0.213 to 1.0.214 (#17900)dependabot[bot]2024-11-041-4/+4
|
* Bump mypy-zope from 1.0.7 to 1.0.8 (#17898)dependabot[bot]2024-11-041-4/+4
|
* Support & use stable endpoints for MSC4151 (#17374)Travis Ralston2024-10-313-42/+25
| | | | | | | | | | | https://github.com/matrix-org/matrix-spec-proposals/pull/4151 has finished FCP. See https://github.com/element-hq/synapse/issues/17373 for unstable endpoint removal --------- Co-authored-by: Andrew Morgan <andrew@amorgan.xyz>
* Remove `Generator` in `_prune_old_outbound_device_pokes` (#17814)Jason Little2024-10-302-1/+2
| | | | | | Context: https://github.com/matrix-org/synapse/issues/15439 (https://github.com/element-hq/synapse/issues/15439) Also see discussion in https://github.com/element-hq/synapse/pull/17813
* Remove `Generator` in `_purge_unreferenced_state_groups` twice (#17815)Jason Little2024-10-302-2/+3
| | | | | | Context: https://github.com/matrix-org/synapse/issues/15439 (https://github.com/element-hq/synapse/issues/15439) Also see discussion in https://github.com/element-hq/synapse/pull/17813
* Remove `Generator` in `update_cached_last_access_time` (#17816)Jason Little2024-10-302-3/+4
| | | | | | Context: https://github.com/matrix-org/synapse/issues/15439 (https://github.com/element-hq/synapse/issues/15439) Also see discussion in https://github.com/element-hq/synapse/pull/17813
* Remove `Generator` in `store_search_entries_txn` (#17817)Jason Little2024-10-302-2/+3
| | | | | | Context: https://github.com/matrix-org/synapse/issues/15439 (https://github.com/element-hq/synapse/issues/15439) Also see discussion in https://github.com/element-hq/synapse/pull/17813
* Remove `Generator` from 4 places in `PersistEventStore` (#17818)Jason Little2024-10-302-10/+11
| | | | | | Context: https://github.com/matrix-org/synapse/issues/15439 (https://github.com/element-hq/synapse/issues/15439) Also see discussion in https://github.com/element-hq/synapse/pull/17813
* Remove `Generator` in `_quarantine_media_txn()` (#17813)Jason Little2024-10-302-1/+2
|
* Check if user is in room before being able to tag it (#17839)Lama2024-10-304-0/+123
| | | Fix #17819
* Bump ruff from 0.6.9 to 0.7.1 (#17868)dependabot[bot]2024-10-302-21/+21
|
* Bump phonenumbers from 8.13.47 to 8.13.48 (#17880)dependabot[bot]2024-10-301-3/+3
|
* Bump python-multipart from 0.0.12 to 0.0.16 (#17879)dependabot[bot]2024-10-301-3/+3
|
* Bump bytes from 1.7.2 to 1.8.0 (#17877)dependabot[bot]2024-10-301-2/+2
|
* Bump anyhow from 1.0.90 to 1.0.91 (#17876)dependabot[bot]2024-10-301-2/+2
|
* Bump serde from 1.0.210 to 1.0.213 (#17875)dependabot[bot]2024-10-301-8/+8
|
* Bump regex from 1.11.0 to 1.11.1 (#17874)dependabot[bot]2024-10-301-2/+2
|
* Speed up sliding sync by computing extensions in parallel (#17884)Erik Johnston2024-10-305-13/+285
| | | | | | The main change here is to add a helper function `gather_optional_coroutines`, which works in a similar way as `yieldable_gather_results` but takes a set of coroutines rather than a function
* Add admin handler to list of handlers used for background tasks (#17847)Shay2024-10-295-2/+108
| | | | | | | Fixes #17823 While we're at it, makes a change where the redactions are sent as the admin if the user is not a member of the server (otherwise these fail with a "User must be our own" message).
* Fix check for outdated Rust library (#17861)Erik Johnston2024-10-292-22/+66
| | | | This failed when install with poetry, so let's properly try and detect what's going on.
* Merge branch 'master' into developTill Faelligen2024-10-2918-16/+73
|\
| * Move announcements up v1.118.0Till Faelligen2024-10-291-5/+3
| |
| * 1.118.0Till Faelligen2024-10-293-1/+14
| |
| * fix spelling in changelog v1.118.0rc1Andrew Morgan2024-10-221-6/+4
| |
| * 1.118.0rc1Andrew Morgan2024-10-2218-16/+64
| |
* | Include the destination in the error of 'Destination mismatch' (#17830)Erik Johnston2024-10-292-1/+2
| | | | | | | | To help debug problems such as https://github.com/element-hq/synapse/issues/17822
* | Bump types-setuptools from 75.1.0.20241014 to 75.2.0.20241019 (#17856)dependabot[bot]2024-10-251-3/+3
| | | | | | | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* | Bump serde_json from 1.0.128 to 1.0.132 (#17857)dependabot[bot]2024-10-251-2/+2
| | | | | | | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* | Bump types-psycopg2 from 2.9.21.20240819 to 2.9.21.20241019 (#17855)dependabot[bot]2024-10-251-3/+3
| | | | | | | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* | Bump cryptography from 43.0.1 to 43.0.3 (#17853)dependabot[bot]2024-10-251-29/+29
| | | | | | | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* | Bump anyhow from 1.0.89 to 1.0.90 (#17858)dependabot[bot]2024-10-251-2/+2
| | | | | | | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* | Add media tests for a CMYK JPEG image (#17786)Andrew Morgan2024-10-234-2/+86
|/
* Sliding Sync: Reset `forgotten` status when membership changes (like ↵Eric Eastwood2024-10-2210-4/+433
| | | | | | | | | | | | | | | | rejoining a room) (#17835) Reset `sliding_sync_membership_snapshots` -> `forgotten` status when membership changes (like rejoining a room). Fix https://github.com/element-hq/synapse/issues/17781 ### What was the problem before? Previously, if someone used `/forget` on one of their rooms, it would update `sliding_sync_membership_snapshots` as expected but when someone rejoined the room (or had any membership change), the upsert didn't overwrite and reset the `forgotten` status so it remained `forgotten` and invisible down the Sliding Sync endpoint.
* Ensure Python 3.13 and PostgreSQL 17 compatibility (#17752)Quentin Gliech2024-10-223-104/+115
| | | | | | | This adds Python 3.13.0 to the trial test matrix Also updates `cffi` and `zope.interface` in the locked dependencies to make sure we have versions compatible with Python 3.13. For some reasons, they are not being picked up by dependabot.
* Bump mypy from 1.10.1 to 1.11.2 (#17842)dependabot[bot]2024-10-176-30/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bumps [mypy](https://github.com/python/mypy) from 1.10.1 to 1.11.2. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/python/mypy/blob/master/CHANGELOG.md">mypy's changelog</a>.</em></p> <blockquote> <h3>Mypy 1.11.2</h3> <ul> <li>Alternative fix for a union-like literal string (Ivan Levkivskyi, PR <a href="https://redirect.github.com/python/mypy/pull/17639">17639</a>)</li> <li>Unwrap <code>TypedDict</code> item types before storing (Ivan Levkivskyi, PR <a href="https://redirect.github.com/python/mypy/pull/17640">17640</a>)</li> </ul> <h3>Acknowledgements</h3> <p>Thanks to all mypy contributors who contributed to this release:</p> <ul> <li>Alex Waygood</li> <li>Alexander Leopold Shon</li> <li>Ali Hamdan</li> <li>Anders Kaseorg</li> <li>Ben Brown</li> <li>Bénédikt Tran</li> <li>bzoracler</li> <li>Christoph Tyralla</li> <li>Christopher Barber</li> <li>dexterkennedy</li> <li>gilesgc</li> <li>GiorgosPapoutsakis</li> <li>Ivan Levkivskyi</li> <li>Jelle Zijlstra</li> <li>Jukka Lehtosalo</li> <li>Marc Mueller</li> <li>Matthieu Devlin</li> <li>Michael R. Crusoe</li> <li>Nikita Sobolev</li> <li>Seo Sanghyeon</li> <li>Shantanu</li> <li>sobolevn</li> <li>Steven Troxler</li> <li>Tadeu Manoel</li> <li>Tamir Duberstein</li> <li>Tushar Sadhwani</li> <li>urnest</li> <li>Valentin Stanciu</li> </ul> <p>I’d also like to thank my employer, Dropbox, for supporting mypy development.</p> <h2>Mypy 1.10</h2> <p>We’ve just uploaded mypy 1.10 to the Python Package Index (<a href="https://pypi.org/project/mypy/">PyPI</a>). Mypy is a static type checker for Python. This release includes new features, performance improvements and bug fixes. You can install it as follows:</p> <pre><code>python3 -m pip install -U mypy </code></pre> <p>You can read the full documentation for this release on <a href="http://mypy.readthedocs.io">Read the Docs</a>.</p> <h3>Support TypeIs (PEP 742)</h3> <p>Mypy now supports <code>TypeIs</code> (<a href="https://peps.python.org/pep-0742/">PEP 742</a>), which allows</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/python/mypy/commit/789f02c83a5d5cb35f5e33ba91df46c8fea6b28e"><code>789f02c</code></a> Bump version to 1.11.2</li> <li><a href="https://github.com/python/mypy/commit/917cc75fd6f1417edb45eb77e449934f794c18fc"><code>917cc75</code></a> An alternative fix for a union-like literal string (<a href="https://redirect.github.com/python/mypy/issues/17639">#17639</a>)</li> <li><a href="https://github.com/python/mypy/commit/7d805b364ee80396e0b9ca906f32f901b2ac7e12"><code>7d805b3</code></a> Unwrap TypedDict item types before storing (<a href="https://redirect.github.com/python/mypy/issues/17640">#17640</a>)</li> <li><a href="https://github.com/python/mypy/commit/32675dddfacccef616557916cb872757605ab493"><code>32675dd</code></a> Revert &quot;Fix Literal strings containing pipe characters&quot; (<a href="https://redirect.github.com/python/mypy/issues/17638">#17638</a>)</li> <li><a href="https://github.com/python/mypy/commit/778542b93a6f5b3c168a8acc03717700ae6f8048"><code>778542b</code></a> Revert &quot;Fix <code>RawExpressionType.accept</code> crash with <code>--cache-fine-grained</code>&quot; (<a href="https://redirect.github.com/python/mypy/issues/1">#1</a>...</li> <li><a href="https://github.com/python/mypy/commit/14ab742dec6b58a4e94772115cb3b5c67a4b3d33"><code>14ab742</code></a> Bump version to 1.11.2+dev</li> <li><a href="https://github.com/python/mypy/commit/570b90a7a368f04c64f60af339d0ac1808c49c15"><code>570b90a</code></a> Bump version to 1.11</li> <li><a href="https://github.com/python/mypy/commit/b3a102ef31f63a8a8ba32c8dbe160ddef3c43054"><code>b3a102e</code></a> Fix <code>RawExpressionType.accept</code> crash with <code>--cache-fine-grained</code> (<a href="https://redirect.github.com/python/mypy/issues/17588">#17588</a>)</li> <li><a href="https://github.com/python/mypy/commit/aec04c74488d46a81a95ed3553b8e953a6ec59a7"><code>aec04c7</code></a> Fix PEP 604 isinstance caching (<a href="https://redirect.github.com/python/mypy/issues/17563">#17563</a>)</li> <li><a href="https://github.com/python/mypy/commit/cb44e4d8f18b9bc874f1076b33eec7ad67de165c"><code>cb44e4d</code></a> Fix <code>typing.TypeAliasType</code> being undefined on python &lt; 3.12 (<a href="https://redirect.github.com/python/mypy/issues/17558">#17558</a>)</li> <li>Additional commits viewable in <a href="https://github.com/python/mypy/compare/v1.10.1...v1.11.2">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=mypy&package-manager=pip&previous-version=1.10.1&new-version=1.11.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump types-requests from 2.32.0.20240914 to 2.32.0.20241016 (#17841)dependabot[bot]2024-10-171-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bumps [types-requests](https://github.com/python/typeshed) from 2.32.0.20240914 to 2.32.0.20241016. <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/python/typeshed/commits">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=types-requests&package-manager=pip&previous-version=2.32.0.20240914&new-version=2.32.0.20241016)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump sentry-sdk from 2.16.0 to 2.17.0 (#17844)dependabot[bot]2024-10-171-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bumps [sentry-sdk](https://github.com/getsentry/sentry-python) from 2.16.0 to 2.17.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/getsentry/sentry-python/releases">sentry-sdk's releases</a>.</em></p> <blockquote> <h2>2.17.0</h2> <h3>Various fixes &amp; improvements</h3> <ul> <li>Add support for async calls in Anthropic and OpenAI integration (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3497">#3497</a>) by <a href="https://github.com/vetyy"><code>@​vetyy</code></a></li> <li>Allow custom transaction names in ASGI (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3664">#3664</a>) by <a href="https://github.com/sl0thentr0py"><code>@​sl0thentr0py</code></a></li> <li>Langchain: Handle case when parent span wasn't traced (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3656">#3656</a>) by <a href="https://github.com/rbasoalto"><code>@​rbasoalto</code></a></li> <li>Fix Anthropic integration when using tool calls (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3615">#3615</a>) by <a href="https://github.com/kwnath"><code>@​kwnath</code></a></li> <li>More defensive Django Spotlight middleware injection (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3665">#3665</a>) by <a href="https://github.com/BYK"><code>@​BYK</code></a></li> <li>Remove <code>ensure_integration_enabled_async</code> (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3632">#3632</a>) by <a href="https://github.com/sentrivana"><code>@​sentrivana</code></a></li> <li>Test with newer Falcon version (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3644">#3644</a>, <a href="https://redirect.github.com/getsentry/sentry-python/issues/3653">#3653</a>, <a href="https://redirect.github.com/getsentry/sentry-python/issues/3662">#3662</a>) by <a href="https://github.com/sentrivana"><code>@​sentrivana</code></a></li> <li>Fix mypy (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3657">#3657</a>) by <a href="https://github.com/sentrivana"><code>@​sentrivana</code></a></li> <li>Fix flaky transport test (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3666">#3666</a>) by <a href="https://github.com/sentrivana"><code>@​sentrivana</code></a></li> <li>Remove pin on <code>sphinx</code> (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3650">#3650</a>) by <a href="https://github.com/sentrivana"><code>@​sentrivana</code></a></li> <li>Bump <code>actions/checkout</code> from <code>4.2.0</code> to <code>4.2.1</code> (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3651">#3651</a>) by <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md">sentry-sdk's changelog</a>.</em></p> <blockquote> <h2>2.17.0</h2> <h3>Various fixes &amp; improvements</h3> <ul> <li>Add support for async calls in Anthropic and OpenAI integration (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3497">#3497</a>) by <a href="https://github.com/vetyy"><code>@​vetyy</code></a></li> <li>Allow custom transaction names in ASGI (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3664">#3664</a>) by <a href="https://github.com/sl0thentr0py"><code>@​sl0thentr0py</code></a></li> <li>Langchain: Handle case when parent span wasn't traced (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3656">#3656</a>) by <a href="https://github.com/rbasoalto"><code>@​rbasoalto</code></a></li> <li>Fix Anthropic integration when using tool calls (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3615">#3615</a>) by <a href="https://github.com/kwnath"><code>@​kwnath</code></a></li> <li>More defensive Django Spotlight middleware injection (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3665">#3665</a>) by <a href="https://github.com/BYK"><code>@​BYK</code></a></li> <li>Remove <code>ensure_integration_enabled_async</code> (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3632">#3632</a>) by <a href="https://github.com/sentrivana"><code>@​sentrivana</code></a></li> <li>Test with newer Falcon version (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3644">#3644</a>, <a href="https://redirect.github.com/getsentry/sentry-python/issues/3653">#3653</a>, <a href="https://redirect.github.com/getsentry/sentry-python/issues/3662">#3662</a>) by <a href="https://github.com/sentrivana"><code>@​sentrivana</code></a></li> <li>Fix mypy (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3657">#3657</a>) by <a href="https://github.com/sentrivana"><code>@​sentrivana</code></a></li> <li>Fix flaky transport test (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3666">#3666</a>) by <a href="https://github.com/sentrivana"><code>@​sentrivana</code></a></li> <li>Remove pin on <code>sphinx</code> (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3650">#3650</a>) by <a href="https://github.com/sentrivana"><code>@​sentrivana</code></a></li> <li>Bump <code>actions/checkout</code> from <code>4.2.0</code> to <code>4.2.1</code> (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3651">#3651</a>) by <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/getsentry/sentry-python/commit/e44c9eeafdb1d6e2df881018fd392c27f8372d59"><code>e44c9ee</code></a> Update CHANGELOG.md</li> <li><a href="https://github.com/getsentry/sentry-python/commit/ee30db346c6b8533e247425a15f5079bd0ff1b79"><code>ee30db3</code></a> release: 2.17.0</li> <li><a href="https://github.com/getsentry/sentry-python/commit/365d9cf2444832e2b1fae8a84363589fc6832dcc"><code>365d9cf</code></a> Fix flaky transport test (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3666">#3666</a>)</li> <li><a href="https://github.com/getsentry/sentry-python/commit/9ae58209ee6e374c134be0aca69acf221db840f0"><code>9ae5820</code></a> Add support for async calls in Anthropic and OpenAI integration (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3497">#3497</a>)</li> <li><a href="https://github.com/getsentry/sentry-python/commit/891afee6dff62060fa4be27178745276cc62ee49"><code>891afee</code></a> fix(spotlight): More defensive Django spotlight middleware injection (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3665">#3665</a>)</li> <li><a href="https://github.com/getsentry/sentry-python/commit/f493057fdee8b542cdd2c949ee042864c8777133"><code>f493057</code></a> Allow custom transaction names in asgi (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3664">#3664</a>)</li> <li><a href="https://github.com/getsentry/sentry-python/commit/e463034c2c6ec20d9dd528f8e3e201f53d777f0a"><code>e463034</code></a> tests: Falcon RC1 (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3662">#3662</a>)</li> <li><a href="https://github.com/getsentry/sentry-python/commit/deca5f2f015511acba3f4ad020ee473d3646201d"><code>deca5f2</code></a> build(deps): Remove pin on sphinx (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3650">#3650</a>)</li> <li><a href="https://github.com/getsentry/sentry-python/commit/302457dec22bd105beb849e98324f653d8c7b5f0"><code>302457d</code></a> build(deps): bump actions/checkout from 4.2.0 to 4.2.1 (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3651">#3651</a>)</li> <li><a href="https://github.com/getsentry/sentry-python/commit/846b8b26aa94fd69565227cda3fbf107f5c4c1b1"><code>846b8b2</code></a> fix(langchain): handle case when parent span wasn't traced (<a href="https://redirect.github.com/getsentry/sentry-python/issues/3656">#3656</a>)</li> <li>Additional commits viewable in <a href="https://github.com/getsentry/sentry-python/compare/2.16.0...2.17.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sentry-sdk&package-manager=pip&previous-version=2.16.0&new-version=2.17.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump psycopg2 from 2.9.9 to 2.9.10 (#17843)dependabot[bot]2024-10-171-15/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bumps [psycopg2](https://github.com/psycopg/psycopg2) from 2.9.9 to 2.9.10. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/psycopg/psycopg2/blob/master/NEWS">psycopg2's changelog</a>.</em></p> <blockquote> <h2>Current release</h2> <p>What's new in psycopg 2.9.10 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^</p> <ul> <li>Add support for Python 3.13.</li> <li>Receive notifications on commit (:ticket:<code>[#1728](https://github.com/psycopg/psycopg2/issues/1728)</code>).</li> <li><code>~psycopg2.errorcodes</code> map and <code>~psycopg2.errors</code> classes updated to PostgreSQL 17.</li> <li>Drop support for Python 3.7.</li> </ul> <p>What's new in psycopg 2.9.9 ^^^^^^^^^^^^^^^^^^^^^^^^^^^</p> <ul> <li>Add support for Python 3.12.</li> <li>Drop support for Python 3.6.</li> </ul> <p>What's new in psycopg 2.9.8 ^^^^^^^^^^^^^^^^^^^^^^^^^^^</p> <ul> <li>Wheel package bundled with PostgreSQL 16 libpq in order to add support for recent features, such as <code>sslcertmode</code>.</li> </ul> <p>What's new in psycopg 2.9.7 ^^^^^^^^^^^^^^^^^^^^^^^^^^^</p> <ul> <li>Fix propagation of exceptions raised during module initialization (:ticket:<code>[#1598](https://github.com/psycopg/psycopg2/issues/1598)</code>).</li> <li>Fix building when pg_config returns an empty string (:ticket:<code>[#1599](https://github.com/psycopg/psycopg2/issues/1599)</code>).</li> <li>Wheel package bundled with OpenSSL 1.1.1v.</li> </ul> <p>What's new in psycopg 2.9.6 ^^^^^^^^^^^^^^^^^^^^^^^^^^^</p> <ul> <li>Package manylinux 2014 for aarch64 and ppc64le platforms, in order to include libpq 15 in the binary package (:ticket:<code>[#1396](https://github.com/psycopg/psycopg2/issues/1396)</code>).</li> <li>Wheel package bundled with OpenSSL 1.1.1t.</li> </ul> <p>What's new in psycopg 2.9.5 ^^^^^^^^^^^^^^^^^^^^^^^^^^^</p> <ul> <li>Add support for Python 3.11.</li> <li>Add support for rowcount in MERGE statements in binary packages (:ticket:<code>[#1497](https://github.com/psycopg/psycopg2/issues/1497)</code>).</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/psycopg/psycopg2/commits">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=psycopg2&package-manager=pip&previous-version=2.9.9&new-version=2.9.10)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Merge branch 'master' into developErik Johnston2024-10-153-1/+14
|\
| * 1.117.0 v1.117.0Erik Johnston2024-10-153-1/+14
| |
* | Implement MSC4210: Remove legacy mentions (#17783)Tulir Asokan2024-10-149-2/+37
| |
* | Enable the `.org.matrix.msc4028.encrypted_event` push rule by default (#17826)Andrew Morgan2024-10-142-1/+2
| | | | | | | | | | | | | | | | Clients will still only see this rule if the corresponding experimental feature, `msc4028_push_encrypted_events`, is also enabled. This aligns the implementation with MSC4028, specifically [this section](https://github.com/matrix-org/matrix-spec-proposals/blob/giomfo/push_encrypted_events/proposals/4028-push-all-encrypted-events-except-for-muted-rooms.md#unstable-prefix). See https://github.com/element-hq/synapse/issues/16846 for context.
* | Sliding Sync: Slight optimization when fetching state for the room ↵Eric Eastwood2024-10-144-10/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (`get_events_as_list(...)`) (#17718) Spawning from @kegsay [pointing out](https://matrix.to/#/!cnVVNLKqgUzNTOFQkz:matrix.org/$ExOO7J8uPUQSyH-9Uxc_QCa8jlXX9uK4VRtkSC0EI3o?via=element.io&via=matrix.org&via=jki.re) that the Sliding Sync endpoint doesn't handle a large room with a lot of state well on initial sync (requesting all state via `required_state: [ ["*","*"] ]`) (it just takes forever). After investigating further, the slow part is just `get_events_as_list(...)` fetching all of the current state ID's out for the room (which can be 100k+ events for rooms with a lot of membership). This is just a slow thing in Synapse in general and the same thing happens in Sync v2 or the `/state` endpoint. --- The only idea I had to improve things was to use `batch_iter` to only try fetching a fixed amount at a time instead of working with large maps, lists, and sets. This doesn't seem to have much effect though. There is already a `batch_iter(event_ids, 200)` in `_fetch_event_rows(...)` for when we actually have to touch the database and that's inside a queue to deduplicate work. I did notice one slight optimization to use `get_events_as_list(...)` directly instead of `get_events(...)`. `get_events(...)` just turns the result from `get_events_as_list(...)` into a dict and since we're just iterating over the events, we don't need the dict/map.
* | Fix typo in `target_cache_memory_usage` docs (#17825)Andrew Morgan2024-10-142-1/+2
| |
* | Correctly changes to required state config in sliding sync (#17785)Erik Johnston2024-10-147-14/+1188
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes https://github.com/element-hq/synapse/issues/17698 This handles `required_state` changes by checking if new state has been added to the config, and if so fetching and returning that from the current state. This also takes care to ensure that given a state entry S that is added, removed and then re-added that we do *not* send S down a second time if there have been no changes to S in the current state. This is fine for Rust SDK (as it just remembers all state), but we might decide not to do this behaviour in the MSC. If we decide to always send down S then its easy enough to rip out all the code. --------- Co-authored-by: Eric Eastwood <eric.eastwood@beta.gouv.fr>
* | Bump mypy-zope from 1.0.5 to 1.0.7 (#17827)dependabot[bot]2024-10-141-3/+4
| |
* | Bump types-setuptools from 75.1.0.20240917 to 75.1.0.20241014 (#17828)dependabot[bot]2024-10-141-3/+3
| |
* | Bump sentry-sdk from 2.15.0 to 2.16.0 (#17829)dependabot[bot]2024-10-141-3/+4
| |
* | Build debian packages for new Ubuntu versions (#17824)Erik Johnston2024-10-142-2/+3
| | | | | | | | | | | | | | | | c.f. https://wiki.ubuntu.com/Releases for the currently supported Ubuntu releases. Note: this removes support for 23.04 and 23.10, which are EOL. Fixes #17811
* | Clarify when 3PID invite module callbacks are called (#17627)Andrew Morgan2024-10-142-3/+7
| | | | | | | | Co-authored-by: Eric Eastwood <eric.eastwood@beta.gouv.fr>
* | Fix release script to check GH token (#17803)Erik Johnston2024-10-102-13/+24
| | | | | | The current logic didn't work.
* | Added display_name_claim in jwt_config which sets the user's display name ↵Nathan2024-10-096-6/+50
| | | | | | | | upon registration (#17708)
* | Fix saving of non-RGB thumbnails as PNG (#17736)Martin Weinelt2024-10-082-1/+2
| |
* | Merge branch 'release-v1.117' into developErik Johnston2024-10-0821-19/+47
|\|
| * Fixup changlog v1.117.0rc1Erik Johnston2024-10-081-1/+1
| |
| * 1.117.0rc1Erik Johnston2024-10-0821-19/+47
| |
* | Fix incorrectly documented config path argument (#17802)Andrew Ferrazzutti2024-10-082-2/+3
| |
* | Bump sigstore/cosign-installer from 3.6.0 to 3.7.0 (#17798)dependabot[bot]2024-10-081-1/+1
| | | | | | | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* | Bump phonenumbers from 8.13.46 to 8.13.47 (#17797)dependabot[bot]2024-10-081-3/+3
| | | | | | | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* | Bump sentry-sdk from 2.14.0 to 2.15.0 (#17795)dependabot[bot]2024-10-081-3/+3
| | | | | | | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* | Bump tomli from 2.0.1 to 2.0.2 (#17796)dependabot[bot]2024-10-081-4/+4
| | | | | | | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* | Bump ruff from 0.6.8 to 0.6.9 (#17794)dependabot[bot]2024-10-082-21/+21
|/ | | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Improvements to admin redact api (#17792)Shay2024-10-085-41/+107
| | | | | | - better validation on user input - fix an early task completion - when checking membership in rooms, check for rooms user has been banned from as well
* Add missing license header (#17799)Andrew Ferrazzutti2024-10-0810-3/+87
| | | | Co-authored-by: Erik Johnston <erik@matrix.org>
* Sliding sync: omit bump stamp when it is unchanged (#17788)Erik Johnston2024-10-085-12/+136
| | | This saves some DB lookups in rooms
* Sliding sync minor performance speed up using new table (#17787)Erik Johnston2024-10-083-9/+61
| | | | | | | Use the new tables to work out which rooms have changed. --------- Co-authored-by: Eric Eastwood <eric.eastwood@beta.gouv.fr>
* Speed up sliding sync when there are many active subscriptions (#17789)Erik Johnston2024-10-083-7/+63
| | | | | Two changes: a) use a batch lookup function instead of a loop, b) check existing data to see if we already have what we need and only fetch what we don't.
* Clarify `test_forget_when_not_left` docstring (#17628)Andrew Morgan2024-10-072-1/+2
|
* Add config option redis.password_path (#17717)V024602024-10-074-2/+81
| | | | | | | | | | | Adds the option to load the Redis password from a file, instead of giving it in the config directly. The code is similar to how it’s done for `registration_shared_secret_path`. I changed the example in the documentation to represent the best practice regarding the handling of secrets. Reading secrets from files has the security advantage of separating the secrets from the config. It also simplifies secrets management in Kubernetes.
* docs: add note about PYTHONMALLOC for accurate jemalloc memory tracking (#17709)Henrique2024-10-072-0/+3
| | | | | | | | | | | | | | Added a note in the documentation suggesting that users may set `PYTHONMALLOC=malloc` when using `jemalloc`. This allows jemalloc to track memory usage more accurately by bypassing Python's internal small-object allocator (`pymalloc`), helping to ensure that `cache_autotuning` functions as expected. This doc change aims to provide more clarity for users configuring jemalloc with Synapse. Based on: https://github.com/element-hq/synapse/blob/4ac783549c5bac7a490a715d359f330bb0b1a161/synapse/metrics/jemalloc.py#L198-L201
* Bump python-multipart from 0.0.10 to 0.0.12 (#17772)dependabot[bot]2024-10-072-6/+6
|
* Don't say MSC4140 is supported when it's disabled (#17780)Andrew Ferrazzutti2024-10-043-2/+19
|
* Fix NAME attribute of `ReplicationRemovePusherRestServlet` (#17779)Andrew Morgan2024-10-042-1/+2
|
* explain load balancing for `federation_sender_instances` (#17776)Dirk Klimpel2024-10-032-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding information on how the load is distributed for `federation_sender_instances`. Thx to @devonh for the information. causal source: https://github.com/element-hq/synapse/blob/c2e5e9e67c24264f5a12bf3ceaa9c4e195547d26/synapse/config/_base.py#L946-L989 ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [x] Pull request is based on the develop branch * [x] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [x] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters)) --------- Co-authored-by: Devon Hudson <devon.dmytro@gmail.com>
* Merge branch 'master' into developAndrew Morgan2024-10-013-1/+14
|\
| * 1.116.0 v1.116.0Andrew Morgan2024-10-013-1/+14
| |
* | Fix perf when streams don't change often (#17767)Erik Johnston2024-09-303-14/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a bug with the `StreamChangeCache` where it would incorrectly return that all entities had changed if asked for entities changed *since* the earliest stream position. Note that for streams we use the inequalities: `$min_stream_id < stream_id <= $max_stream_id`, i.e. when we ask the stream change cache for all things that have changed since `$stream_id` we don't care for events that happened *at* `$stream_id`. Specifically: `_earliest_known_stream_pos` is the position at which we know that we'll have entries for all changes since that point, we can use the cache for any stream IDs that equal `_earliest_known_stream_pos`. `_earliest_known_stream_pos` is set in three places: - On startup we set it either to: - the current maximum stream ID, with not prefilled values; or - the minimum of the latest N values we pulled from the DB - When we evict items from the bottom, we set it to the stream ID of the evicted items. This was changed in https://github.com/matrix-org/synapse/pull/14435, but I think we were overly conservative there. --------- Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* | Optimise notifier mk2 (#17766)Erik Johnston2024-09-302-35/+62
| | | | | | | | | | | | | | | | | | | | | | | | Based on #17765. Basically the idea is to reduce the overhead of calling `ObservableDeferred` in a loop. The two gains are: a) just using a list of deferreds rather than the machinery of `ObservableDeferred`, and b) only calling `PreseverLoggingContext` once. `PreseverLoggingContext` in particular is expensive to call a lot as each time it needs to call `get_thread_resource_usage` twice, so that it an update the CPU metrics of the log context.
* | Bump ruff from 0.6.7 to 0.6.8 (#17774)dependabot[bot]2024-09-302-21/+21
| |
* | Bump phonenumbers from 8.13.45 to 8.13.46 (#17773)dependabot[bot]2024-09-301-3/+3
| |
* | Bump regex from 1.10.6 to 1.11.0 (#17770)dependabot[bot]2024-09-301-6/+6
| |
* | Reduce overhead of sliding sync E2EE loops (#17771)Erik Johnston2024-09-303-6/+8
| | | | | | | | Mainly toning down logging and only calling `get_membership_from_event_ids` if something has changed.
* | Add fast path for sliding sync streams that only ask for extensions (#17768)Erik Johnston2024-09-302-0/+22
| | | | | | Principally useful for EX e2ee sliding sync connections.
* | Optimise notifier (#17765)Erik Johnston2024-09-303-35/+43
| | | | | | | | | | | | | | The notifier is quite inefficient when it has to wake up many user streams all at once From a silly benchmark this takes the time to notify 1M user streams from ~30s to ~5s
* | Minor perf speed up for large accounts on SSS (#17751)Erik Johnston2024-09-302-4/+7
| | | | | | | | | | | | | | | | | | This works as instead of passing *all* rooms to `record_sent_rooms` we only need to pass rooms that were previously not in the LIVE state. This came from a py-spy where we were spending ~10% CPU calling these functions. Note that `record_sent_rooms` is a no-op for rooms that are already in the `LIVE` state, so we only need to call them for `PREVIOUSLY` or `INITIAL` rooms.
* | Merge branch 'release-v1.116' into developQuentin Gliech2024-09-267-7/+414
|\|