summary refs log tree commit diff
path: root/synapse/metrics/jemalloc.py (unfollow)
Commit message (Collapse)AuthorFilesLines
2025-01-211.123.0rc1Till Faelligen11-9/+44
2025-01-21Support the new `/auth_metadata` endpoint defined in MSC2965. (#18093)Quentin Gliech6-82/+187
See the updated MSC2965 --------- Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
2025-01-21Implement MSC4133 to support custom profile fields. (#17488)Patrick Cloke13-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>
2025-01-20Document possibility of configuring `tls` for a worker instance in ↵Eric Eastwood2-0/+5
`instance_map` (#18064)
2025-01-20Drop indices concurrently on background updates (#18091)Erik Johnston2-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).
2025-01-16Bump pyo3 from 0.23.3 to 0.23.4 (#18079)dependabot[bot]1-10/+10
2025-01-16Bump serde_json from 1.0.134 to 1.0.135 (#18081)dependabot[bot]1-2/+2
2025-01-16Bump ulid from 1.1.3 to 1.1.4 (#18080)dependabot[bot]1-5/+2
2025-01-16Bump mypy from 1.12.1 to 1.13.0 (#18083)dependabot[bot]1-33/+34
2025-01-16Bump pillow from 11.0.0 to 11.1.0 (#18084)dependabot[bot]1-77/+73
2025-01-14move additional release missed in last commit v1.122.0Andrew Morgan2-11/+10
2025-01-14Move 2023/4 changelog entries under docs/changelogsAndrew Morgan3-3780/+3778
2025-01-14move postgres changelog to the topAndrew Morgan1-4/+2
2025-01-141.122.0Andrew Morgan3-1/+14
2025-01-13Increase `rc_invites.per_issuer` for Complement (#18072)Eric Eastwood2-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
2025-01-08Bust `_membership_stream_cache` cache when current state changes (#17732)Eric Eastwood8-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`
2025-01-08Bump jinja2 from 3.1.4 to 3.1.5 (#18067)dependabot[bot]1-3/+4
2025-01-08Add the ability to filter by state event type on admin room state endpoint ↵Shay4-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>
2025-01-07Drop unstable MSC4151 implementation (#18052)Travis Ralston4-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))
2025-01-07Fix typographical error in changelogOlivier 'reivilibre1-1/+1
2025-01-07Bump pyopenssl from 24.2.1 to 24.3.0 (#18062)dependabot[bot]1-5/+5
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-07Tweak changelog v1.122.0rc1Olivier 'reivilibre1-7/+9
2025-01-071.122.0rc1Olivier 'reivilibre24-24/+63
2025-01-06Bump sentry-sdk from 2.17.0 to 2.19.2 (#18061)dependabot[bot]1-5/+7
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-06Bump pyicu from 2.13.1 to 2.14 (#18060)dependabot[bot]1-2/+2
2025-01-06Bump serde from 1.0.216 to 1.0.217 (#18059)dependabot[bot]1-4/+4
2025-01-06Properly purge state groups tables when purging a room (#18024)Mathieu Velten5-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>
2025-01-03Refactor get_profile: do not return missing fields. (#18063)Patrick Cloke7-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.
2025-01-03Add a test to verify remote user messages can be redacted via admin api ↵Shay2-0/+60
redaction endpoint if requester is admin in room (#18043)
2024-12-23Bump twine from 5.1.1 to 6.0.1 (#18049)dependabot[bot]1-6/+10
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-23Bump mypy-zope from 1.0.8 to 1.0.9 (#18047)dependabot[bot]1-4/+4
2024-12-23Bump anyhow from 1.0.94 to 1.0.95 (#18045)dependabot[bot]1-2/+2
2024-12-23Bump authlib from 1.3.2 to 1.4.0 (#18048)dependabot[bot]1-6/+6
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-23Bump serde_json from 1.0.133 to 1.0.134 (#18044)dependabot[bot]1-2/+2
2024-12-23Make admin api redactions use the requester to send the redaction (#18029)morguldir2-1/+2
2024-12-20Stop using twisted.internet.defer.returnValue (#18020)Colin Watson5-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.
2024-12-19Remove support for PostgreSQL 11 and 12 (#18034)Patrick Cloke5-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. 😄
2024-12-19Disable statement timeout during room purge (#18017)Mathieu Velten2-0/+6
This is already done for `purge_history` but seems to have been forgotten for `purge_room`.
2024-12-19Update reverse proxy docs with what we've learned from #17986 (#17994)Eric Eastwood3-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))
2024-12-18Fix mypy errors on Twisted 24.11.0 (#17998)Andrew Morgan5-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`.
2024-12-18Wording improvements for the `TaskScheduler` (#17992)Andrew Morgan2-37/+54
As I found the current docstrings a bit unclear while trying to wrap my head around this class.
2024-12-18Bump mypy from 1.11.2 to 1.12.1 and fix new typechecking errors (#17999)Andrew Morgan7-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.
2024-12-17Add email.tlsname config option (#17849)cynhr5-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.
2024-12-16Add `macaroon_secret_key_path` config option (#17983)V024605-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.
2024-12-16Add `last_seen_ts` to query user example (#17976)Travis Ralston2-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
2024-12-16Add some useful endpoints to Admin API (#17948)Shay12-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
2024-12-16Bump http from 1.1.0 to 1.2.0 (#18013)dependabot[bot]1-2/+2
2024-12-16Bump serde from 1.0.215 to 1.0.216 (#18031)dependabot[bot]1-4/+4
2024-12-16Bump pillow from 10.4.0 to 11.0.0 (#18015)dependabot[bot]1-83/+78
2024-12-16Bump pydantic from 2.9.2 to 2.10.3 (#18014)dependabot[bot]1-98/+106
2024-12-16Bump anyhow from 1.0.93 to 1.0.94 (#18012)dependabot[bot]1-2/+2
2024-12-13forward requester id to check username for spam callbacks (#17916)Wilson6-7/+70
2024-12-11Remove redundant security disclaimer v1.121.1Andrew Morgan1-2/+0
2024-12-111.121.1Andrew Morgan4-2/+18
2024-12-11Downgrade ubuntu to 22.04 when building docker images (#18026)Till2-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
2024-12-11Update changelog v1.121.0Till Faelligen1-5/+2
2024-12-111.121.0Till Faelligen4-2/+16
2024-12-11Attempt to fix duplicate releases issue (#18025)Till2-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)
2024-12-10Update Alpine Linux Synapse Package Maintainer within installation.md (#17846)jahway6032-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))
2024-12-10Fix bug when rejecting withdrew invite with a third_party_rules module (#17930)Mathieu Velten2-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.
2024-12-09Reorganize account data, receipts and presence request regexps in ↵Rafał Hirsch2-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
2024-12-09Bump pyo3 from 0.23.2 to 0.23.3 (#18001)dependabot[bot]1-10/+10
2024-12-05Bump dawidd6/action-download-artifact from 6 to 7 (#17981)dependabot[bot]1-1/+1
2024-12-05Bump python-multipart from 0.0.16 to 0.0.18 (#17985)dependabot[bot]1-3/+3
2024-12-05Add RoomID & EventID rust types (#17996)Devon Hudson2-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))
2024-12-04Promote account suspension to stable (#17964)Travis Ralston6-33/+13
MSC: https://github.com/matrix-org/matrix-spec-proposals/pull/3823
2024-12-041.121.0rc1 v1.121.0rc1Andrew Morgan23-21/+54
2024-12-04Pin Rust to 1.82.0 when building Python wheels (#17993)Andrew Morgan3-4/+14
Addresses step 1 of #17988.
2024-12-04Pin softprops/action-gh-release to v0.1.15 (#17995)Andrew Morgan2-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.
2024-12-04Support for MSC4190: device management for application services (#17705)Quentin Gliech12-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>
2024-12-03MSC4076: Add disable_badge_count to pusher configuration (#17975)manuroe4-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).
2024-12-031.120.2 v1.120.2Quentin Gliech3-1/+15
2024-12-03Stop building wheels for macOSQuentin Gliech1-8/+2
2024-12-03Be able to test `/login/sso/redirect` in Complement (#17986)Eric Eastwood5-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).
2024-12-031.120.1 v1.120.1Quentin Gliech4-2/+49
2024-12-03Restrict which image formats we will decode in order to generate thumbnailsOlivier 'reivilibre1-1/+6
2024-12-03Don't allow unsupported content-typeDevon Hudson2-0/+89
Co-authored-by: Eric Eastwood <erice@element.io>
2024-12-03Handle null invite and knock room stateErik Johnston5-9/+33
2024-12-03Sliding Sync: Fix state leaking on incremental syncEric Eastwood3-4/+226
2024-12-03Fix release process to not create duplicate releases (#17970)Erik Johnston2-1/+3
This is to work around https://github.com/softprops/action-gh-release/issues/445 --------- Co-authored-by: Quentin Gliech <quenting@element.io>
2024-12-02Bump bytes from 1.8.0 to 1.9.0 (#17982)dependabot[bot]1-2/+2
2024-12-02Bump tomli from 2.1.0 to 2.2.1 (#17979)dependabot[bot]1-3/+33
2024-12-02Sliding Sync: Include invite, ban, kick, targets when `$LAZY`-loading room ↵Eric Eastwood5-11/+181
members (#17947) Part of https://github.com/element-hq/synapse/issues/17929
2024-12-02Use stable error code for account locking (#17965)Travis Ralston2-2/+2
2024-12-02Bump pysaml2 from 7.3.1 to 7.5.0 (#17978)dependabot[bot]1-6/+6
2024-12-02Fix release process to not create duplicate releases (#17970)Erik Johnston2-1/+3
This is to work around https://github.com/softprops/action-gh-release/issues/445 --------- Co-authored-by: Quentin Gliech <quenting@element.io>
2024-11-29Consolidate SSO redirects through ↵Eric Eastwood8-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`
2024-11-28Fix new scheduled tasks jumping the queue (#17962)Richard van der Hoff5-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.
2024-11-27Update setuptools-rust and fix building abi3 wheels (#17969)Erik Johnston3-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
2024-11-27Bump pyo3 to v0.23.2 (#17966)V0246011-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
2024-11-26MSC4108: Add a Content-Type header on the PUT response (#17253)Quentin Gliech2-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>
2024-11-261.120.0 v1.120.0Quentin Gliech4-2/+16
2024-11-26Bump tomli from 2.0.2 to 2.1.0 (#17959)dependabot[bot]1-3/+3
2024-11-26Fix `delete_old_otks` job on worker deployments (#17960)Richard van der Hoff2-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
2024-11-25Fix up logic for delaying sending read receipts over federation. (#17933)Erik Johnston6-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.
2024-11-25Bump tornado from 6.4.1 to 6.4.2 (#17955)dependabot[bot]1-13/+13
2024-11-22Return suspended status when querying user account (#17952)Shay4-1/+5
2024-11-22link to element-docker-demo from contrib/docker* (#17953)Matthew Hodgson3-0/+7
2024-11-20Add Forgejo oidc provider config example (#17872)Valentin Iovene2-0/+31
2024-11-20Fix incorrect comment in new schema delta (#17936)Erik Johnston2-2/+3
Added in #17912, was a bad copy and paste.
2024-11-20Bump serde_json from 1.0.132 to 1.0.133 (#17939)dependabot[bot]1-2/+2
2024-11-20Raise setuptools_rust version cap to 1.10.2 (#17944)V024602-1/+2
2024-11-20Tweak changelogOlivier 'reivilibre1-2/+2
2024-11-20Add encrypted appservice extensions to Complement test image. (#17945)Will Hunt2-0/+11
2024-11-201.120.0rc1 v1.120.0rc1Olivier 'reivilibre14-12/+54
2024-11-20Fix nix flakeOlivier 'reivilibre2-43/+9
2024-11-20Enable authenticated media by default (#17889)Travis Ralston11-16/+129
Co-authored-by: Olivier 'reivilibre <oliverw@matrix.org>
2024-11-20Support both import names of PyPI package `python-multipart`. (#17932)Renaud Allard2-4/+18
2024-11-19Speed up slow initial sliding syncs on large servers (#17946)Erik Johnston4-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.
2024-11-19Create one-off scheduled task to delete old OTKs (#17934)Richard van der Hoff6-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.
2024-11-18Bump serde from 1.0.214 to 1.0.215 (#17938)dependabot[bot]1-4/+4
2024-11-18Bump packaging from 24.1 to 24.2 (#17940)dependabot[bot]1-3/+3
2024-11-18Bump phonenumbers from 8.13.49 to 8.13.50 (#17942)dependabot[bot]1-3/+3
2024-11-18Bump immutabledict from 4.2.0 to 4.2.1 (#17941)dependabot[bot]1-4/+4
2024-11-18Add some documentation about backing up Synapse (#17931)Richard van der Hoff6-3/+147
Fixes: https://github.com/element-hq/element-meta/issues/2155 Fixes: https://github.com/element-hq/synapse/issues/2046
2024-11-14Move server event filtering logic to rust (#17928)Devon Hudson9-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))
2024-11-13Removal: Remove support for experimental msc3886 (#17638)Poruri Sai Rahul12-126/+13
2024-11-131.119.0 v1.119.0Erik Johnston3-3/+15
2024-11-13Bump macos version used to build wheels (#17924)Erik Johnston2-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.
2024-11-12Unpin the upload release GHA action (#17923)Erik Johnston2-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.
2024-11-12Fix typo in error message when a media ID isn't known (#17865)Benjamin Bouvier6-6/+7
2024-11-111.119.0rc2 v1.119.0rc2Erik Johnston4-3/+11
2024-11-11Fix building and attaching release artifacts (#17921)Erik Johnston2-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/
2024-11-11Bump bleach from 6.1.0 to 6.2.0 (#17918)dependabot[bot]1-6/+5
2024-11-11Bump pygithub from 2.4.0 to 2.5.0 (#17917)dependabot[bot]1-3/+3
2024-11-11Bump ruff from 0.7.2 to 0.7.3 (#17919)dependabot[bot]2-22/+22
2024-11-11Bump anyhow from 1.0.92 to 1.0.93 (#17920)dependabot[bot]1-2/+2
2024-11-11Update changelog v1.119.0rc1Erik Johnston1-1/+1
2024-11-11Update changelogErik Johnston2-1/+1
2024-11-11Add index to `current_state_delta_stream` (#17912)Erik Johnston3-2/+44
As we're now using it in the sync APIs to get state changes within a room
2024-11-11Clarify the semantics of the `enable_authenticated_media` configuration ↵reivilibre2-0/+21
option. (#17913) Signed-off-by: Olivier 'reivilibre <oliverw@matrix.org>
2024-11-08Update changelog for releaseDevon Hudson9-11/+13
2024-11-08Fix MSC4222 returning full state (#17915)Erik Johnston9-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
2024-11-07Fix Twisted tests with latest release (#17911)Erik Johnston2-4/+12
c.f. #17906 and #17907
2024-11-07Switch portdb CI to python 3.13, pg 17 (#17909)Andrew Morgan2-2/+3
2024-11-07Fix cancellation tests with new Twisted. (#17906)Erik Johnston2-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>
2024-11-07Fix other unit tests with latest twisted (#17907)Erik Johnston3-7/+55
There's also https://github.com/element-hq/synapse/pull/17906
2024-11-06Issue one time keys in upload order (#17903)Richard van der Hoff5-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
2024-11-06Remove support for python 3.8 (#17908)Devon Hudson23-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>
2024-11-06Update version constraint to allow the latest `poetry-core` `1.9.1` (#17902)Eric Eastwood2-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
2024-11-06Cleanup changelogDevon Hudson1-12/+6
2024-11-061.119.0rc1Devon Hudson25-24/+58
2024-11-06Use unique name for each os.arch variant when uploading Wheels (#17905)Devon Hudson2-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))
2024-11-06Improve nix flake to use nixpkgs-unstable in lieu of master (#17852)Sandro3-15/+16
2024-11-06Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows (#17657)dependabot[bot]2-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>
2024-11-05Use more correct changelog entries for refactoring `Generator` usage (#17890)Eric Eastwood13-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))
2024-11-05Fix WheelTimer implementation that can expired timeout early (#17850)Alexander Udovichenko3-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.
2024-11-05Add experimental support for MSC4222 (#17888)Erik Johnston7-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
2024-11-05Bump Synapse Dockerfile default to Python 3.12 (#17887)Andrew Morgan2-1/+2
2024-11-04Remove usage of internal header encoding API (#17894)Eric Eastwood4-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
2024-11-04Bump phonenumbers from 8.13.48 to 8.13.49 (#17899)dependabot[bot]1-3/+3
2024-11-04Sliding Sync: Lazy-loading room members on incremental sync (remember ↵Eric Eastwood4-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
2024-11-04Bump ruff from 0.7.1 to 0.7.2 (#17897)dependabot[bot]2-21/+21
2024-11-04Bump anyhow from 1.0.91 to 1.0.92 (#17901)dependabot[bot]1-2/+2
2024-11-04Bump serde from 1.0.213 to 1.0.214 (#17900)dependabot[bot]1-4/+4
2024-11-04Bump mypy-zope from 1.0.7 to 1.0.8 (#17898)dependabot[bot]1-4/+4
2024-10-31Support & use stable endpoints for MSC4151 (#17374)Travis Ralston3-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>
2024-10-30Remove `Generator` in `_prune_old_outbound_device_pokes` (#17814)Jason Little2-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
2024-10-30Remove `Generator` in `_purge_unreferenced_state_groups` twice (#17815)Jason Little2-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
2024-10-30Remove `Generator` in `update_cached_last_access_time` (#17816)Jason Little2-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
2024-10-30Remove `Generator` in `store_search_entries_txn` (#17817)Jason Little2-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
2024-10-30Remove `Generator` from 4 places in `PersistEventStore` (#17818)Jason Little2-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
2024-10-30Remove `Generator` in `_quarantine_media_txn()` (#17813)Jason Little2-1/+2
2024-10-30Check if user is in room before being able to tag it (#17839)Lama4-0/+123
Fix #17819
2024-10-30Bump ruff from 0.6.9 to 0.7.1 (#17868)dependabot[bot]2-21/+21
2024-10-30Bump phonenumbers from 8.13.47 to 8.13.48 (#17880)dependabot[bot]1-3/+3
2024-10-30Bump python-multipart from 0.0.12 to 0.0.16 (#17879)dependabot[bot]1-3/+3
2024-10-30Bump bytes from 1.7.2 to 1.8.0 (#17877)dependabot[bot]1-2/+2
2024-10-30Bump anyhow from 1.0.90 to 1.0.91 (#17876)dependabot[bot]1-2/+2
2024-10-30Bump serde from 1.0.210 to 1.0.213 (#17875)dependabot[bot]1-8/+8
2024-10-30Bump regex from 1.11.0 to 1.11.1 (#17874)dependabot[bot]1-2/+2
2024-10-30Speed up sliding sync by computing extensions in parallel (#17884)Erik Johnston5-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
2024-10-29Add admin handler to list of handlers used for background tasks (#17847)Shay5-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).
2024-10-29Fix check for outdated Rust library (#17861)Erik Johnston2-22/+66
This failed when install with poetry, so let's properly try and detect what's going on.
2024-10-29Move announcements up v1.118.0Till Faelligen1-5/+3
2024-10-291.118.0Till Faelligen3-1/+14
2024-10-29Include the destination in the error of 'Destination mismatch' (#17830)Erik Johnston2-1/+2
To help debug problems such as https://github.com/element-hq/synapse/issues/17822
2024-10-25Bump types-setuptools from 75.1.0.20241014 to 75.2.0.20241019 (#17856)dependabot[bot]1-3/+3
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-25Bump serde_json from 1.0.128 to 1.0.132 (#17857)dependabot[bot]1-2/+2
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-25Bump types-psycopg2 from 2.9.21.20240819 to 2.9.21.20241019 (#17855)dependabot[bot]1-3/+3
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-25Bump cryptography from 43.0.1 to 43.0.3 (#17853)dependabot[bot]1-29/+29
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-25Bump anyhow from 1.0.89 to 1.0.90 (#17858)dependabot[bot]1-2/+2
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-23Add media tests for a CMYK JPEG image (#17786)Andrew Morgan4-2/+86
2024-10-22fix spelling in changelog v1.118.0rc1Andrew Morgan1-6/+4
2024-10-221.118.0rc1Andrew Morgan18-16/+64
2024-10-22Sliding Sync: Reset `forgotten` status when membership changes (like ↵Eric Eastwood10-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.
2024-10-22Ensure Python 3.13 and PostgreSQL 17 compatibility (#17752)Quentin Gliech3-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.
2024-10-17Bump mypy from 1.10.1 to 1.11.2 (#17842)dependabot[bot]6-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>
2024-10-17Bump types-requests from 2.32.0.20240914 to 2.32.0.20241016 (#17841)dependabot[bot]1-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>
2024-10-17Bump sentry-sdk from 2.16.0 to 2.17.0 (#17844)dependabot[bot]1-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>
2024-10-17Bump psycopg2 from 2.9.9 to 2.9.10 (#17843)dependabot[bot]1-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>
2024-10-151.117.0 v1.117.0Erik Johnston3-1/+14
2024-10-14Implement MSC4210: Remove legacy mentions (#17783)Tulir Asokan9-2/+37
2024-10-14Enable the `.org.matrix.msc4028.encrypted_event` push rule by default (#17826)Andrew Morgan2-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.
2024-10-14Sliding Sync: Slight optimization when fetching state for the room ↵Eric Eastwood4-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.
2024-10-14Fix typo in `target_cache_memory_usage` docs (#17825)Andrew Morgan2-1/+2
2024-10-14Correctly changes to required state config in sliding sync (#17785)Erik Johnston7-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>
2024-10-14Bump mypy-zope from 1.0.5 to 1.0.7 (#17827)dependabot[bot]1-3/+4
2024-10-14Bump types-setuptools from 75.1.0.20240917 to 75.1.0.20241014 (#17828)dependabot[bot]1-3/+3
2024-10-14Bump sentry-sdk from 2.15.0 to 2.16.0 (#17829)dependabot[bot]1-3/+4
2024-10-14Build debian packages for new Ubuntu versions (#17824)Erik Johnston2-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
2024-10-14Clarify when 3PID invite module callbacks are called (#17627)Andrew Morgan2-3/+7
Co-authored-by: Eric Eastwood <eric.eastwood@beta.gouv.fr>
2024-10-10Fix release script to check GH token (#17803)Erik Johnston2-13/+24
The current logic didn't work.
2024-10-09Added display_name_claim in jwt_config which sets the user's display name ↵Nathan6-6/+50
upon registration (#17708)
2024-10-08Fix saving of non-RGB thumbnails as PNG (#17736)Martin Weinelt2-1/+2
2024-10-08Fix incorrectly documented config path argument (#17802)Andrew Ferrazzutti2-2/+3
2024-10-08Fixup changlog v1.117.0rc1Erik Johnston1-1/+1
2024-10-08Bump sigstore/cosign-installer from 3.6.0 to 3.7.0 (#17798)dependabot[bot]1-1/+1
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-08Bump phonenumbers from 8.13.46 to 8.13.47 (#17797)dependabot[bot]1-3/+3
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-08Bump sentry-sdk from 2.14.0 to 2.15.0 (#17795)dependabot[bot]1-3/+3
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-08Bump tomli from 2.0.1 to 2.0.2 (#17796)dependabot[bot]1-4/+4
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-08Bump ruff from 0.6.8 to 0.6.9 (#17794)dependabot[bot]2-21/+21
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-081.117.0rc1Erik Johnston21-19/+47
2024-10-08Improvements to admin redact api (#17792)Shay5-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
2024-10-08Add missing license header (#17799)Andrew Ferrazzutti10-3/+87
Co-authored-by: Erik Johnston <erik@matrix.org>
2024-10-08Sliding sync: omit bump stamp when it is unchanged (#17788)Erik Johnston5-12/+136
This saves some DB lookups in rooms
2024-10-08Sliding sync minor performance speed up using new table (#17787)Erik Johnston3-9/+61
Use the new tables to work out which rooms have changed. --------- Co-authored-by: Eric Eastwood <eric.eastwood@beta.gouv.fr>
2024-10-08Speed up sliding sync when there are many active subscriptions (#17789)Erik Johnston3-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.
2024-10-07Clarify `test_forget_when_not_left` docstring (#17628)Andrew Morgan2-1/+2
2024-10-07Add config option redis.password_path (#17717)V024604-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.
2024-10-07docs: add note about PYTHONMALLOC for accurate jemalloc memory tracking (#17709)Henrique2-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
2024-10-07Bump python-multipart from 0.0.10 to 0.0.12 (#17772)dependabot[bot]2-6/+6
2024-10-04Don't say MSC4140 is supported when it's disabled (#17780)Andrew Ferrazzutti3-2/+19
2024-10-04Fix NAME attribute of `ReplicationRemovePusherRestServlet` (#17779)Andrew Morgan2-1/+2
2024-10-03explain load balancing for `federation_sender_instances` (#17776)Dirk Klimpel2-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>
2024-10-011.116.0 v1.116.0Andrew Morgan3-1/+14
2024-09-30Fix perf when streams don't change often (#17767)Erik Johnston3-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>
2024-09-30Optimise notifier mk2 (#17766)Erik Johnston2-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.
2024-09-30Bump ruff from 0.6.7 to 0.6.8 (#17774)dependabot[bot]2-21/+21
2024-09-30Bump phonenumbers from 8.13.45 to 8.13.46 (#17773)dependabot[bot]1-3/+3
2024-09-30Bump regex from 1.10.6 to 1.11.0 (#17770)dependabot[bot]1-6/+6
2024-09-30Reduce overhead of sliding sync E2EE loops (#17771)Erik Johnston3-6/+8
Mainly toning down logging and only calling `get_membership_from_event_ids` if something has changed.
2024-09-30Add fast path for sliding sync streams that only ask for extensions (#17768)Erik Johnston2-0/+22
Principally useful for EX e2ee sliding sync connections.
2024-09-30Optimise notifier (#17765)Erik Johnston3-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
2024-09-30Minor perf speed up for large accounts on SSS (#17751)Erik Johnston2-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.
2024-09-261.116.0rc2 v1.116.0rc2Quentin Gliech4-2/+16
2024-09-26Support MSC3757: Restricting who can overwrite a state event (#17513)Andrew Ferrazzutti5-6/+399
Link to the MSC: https://github.com/matrix-org/matrix-spec-proposals/pull/3757 --------- Co-authored-by: Quentin Gliech <quenting@element.io>
2024-09-26Remove spurious TODO in debian install step (#17749)Erik Johnston2-5/+4
This was a note added in the PR to move to AGPL, which we failed to remove before landing. (The context for this was that we needed to decide if we were going to change which debian repository we published too, but decided not to in the end)
2024-09-25Changelog fixes v1.116.0rc1Quentin Gliech1-20/+17
2024-09-251.116.0rc1Quentin Gliech28-32/+73
2024-09-25Bump treq from 23.11.0 to 24.9.1 (#17744)dependabot[bot]3-5/+7
Bumps [treq](https://github.com/twisted/treq) from 23.11.0 to 24.9.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/twisted/treq/releases">treq's releases</a>.</em></p> <blockquote> <h2>Treq 24.9.0</h2> <h2>Features</h2> <ul> <li>treq now ships type annotations. (<a href="https://redirect.github.com/twisted/treq/issues/366">#366</a>)</li> <li>The new <code>treq.cookies</code> module provides helper functions for working with <code>http.cookiejar.Cookie</code> and <code>CookieJar</code> objects. (<a href="https://redirect.github.com/twisted/treq/issues/384">#384</a>)</li> <li>Python 3.13 is now supported. (<a href="https://redirect.github.com/twisted/treq/issues/391">#391</a>)</li> </ul> <h2>Bugfixes</h2> <ul> <li><code>treq.content.text_content()</code> no longer generates deprecation warnings due to use of the <code>cgi</code> module. (<a href="https://redirect.github.com/twisted/treq/issues/355">#355</a>)</li> </ul> <h2>Deprecations and Removals</h2> <ul> <li>Mixing the <em>json</em> argument with <em>files</em> or <em>data</em> now raises <code>TypeError</code>. (<a href="https://redirect.github.com/twisted/treq/issues/297">#297</a>)</li> <li>Passing non-string (<code>str</code> or <code>bytes</code>) values as part of a dict to the <em>headers</em> argument now results in a <code>TypeError</code>, as does passing any collection other than a <code>dict</code> or <code>Headers</code> instance. (<a href="https://redirect.github.com/twisted/treq/issues/302">#302</a>)</li> <li>Support for Python 3.7 and PyPy 3.8, which have reached end of support, has been dropped. (<a href="https://redirect.github.com/twisted/treq/issues/378">#378</a>)</li> </ul> <h2>Misc</h2> <ul> <li><a href="https://redirect.github.com/twisted/treq/issues/336">#336</a>, <a href="https://redirect.github.com/twisted/treq/issues/382">#382</a>, <a href="https://redirect.github.com/twisted/treq/issues/395">#395</a></li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/twisted/treq/blob/trunk/CHANGELOG.rst">treq's changelog</a>.</em></p> <blockquote> <h1>24.9.1 (2024-09-19)</h1> <h2>Bugfixes</h2> <ul> <li>treq has vendored its dependency on the <code>multipart</code> library to avoid import conflicts with <code>python-multipart</code>; it should now be installable alongside that library. (<code>[#399](https://github.com/twisted/treq/issues/399) &lt;https://github.com/twisted/treq/issues/399&gt;</code>__)</li> </ul> <h1>24.9.0 (2024-09-17)</h1> <h2>Features</h2> <ul> <li>treq now ships type annotations. (<code>[#366](https://github.com/twisted/treq/issues/366) &lt;https://github.com/twisted/treq/issues/366&gt;</code>__)</li> <li>The new :mod:<code>treq.cookies</code> module provides helper functions for working with <code>http.cookiejar.Cookie</code> and <code>CookieJar</code> objects. (<code>[#384](https://github.com/twisted/treq/issues/384) &lt;https://github.com/twisted/treq/issues/384&gt;</code>__)</li> <li>Python 3.13 is now supported. (<code>[#391](https://github.com/twisted/treq/issues/391) &lt;https://github.com/twisted/treq/issues/391&gt;</code>__)</li> </ul> <h2>Bugfixes</h2> <ul> <li>:mod:<code>treq.content.text_content()</code> no longer generates deprecation warnings due to use of the <code>cgi</code> module. (<code>[#355](https://github.com/twisted/treq/issues/355) &lt;https://github.com/twisted/treq/issues/355&gt;</code>__)</li> </ul> <h2>Deprecations and Removals</h2> <ul> <li>Mixing the <em>json</em> argument with <em>files</em> or <em>data</em> now raises <code>TypeError</code>. (<code>[#297](https://github.com/twisted/treq/issues/297) &lt;https://github.com/twisted/treq/issues/297&gt;</code>__)</li> <li>Passing non-string (<code>str</code> or <code>bytes</code>) values as part of a dict to the <em>headers</em> argument now results in a <code>TypeError</code>, as does passing any collection other than a <code>dict</code> or <code>Headers</code> instance. (<code>[#302](https://github.com/twisted/treq/issues/302) &lt;https://github.com/twisted/treq/issues/302&gt;</code>__)</li> <li>Support for Python 3.7 and PyPy 3.8, which have reached end of support, has been dropped. (<code>[#378](https://github.com/twisted/treq/issues/378) &lt;https://github.com/twisted/treq/issues/378&gt;</code>__)</li> </ul> <h2>Misc</h2> <ul> <li><code>[#336](https://github.com/twisted/treq/issues/336) &lt;https://github.com/twisted/treq/issues/336&gt;</code><strong>, <code>[#382](https://github.com/twisted/treq/issues/382) &lt;https://github.com/twisted/treq/issues/382&gt;</code></strong>, <code>[#395](https://github.com/twisted/treq/issues/395) &lt;https://github.com/twisted/treq/issues/395&gt;</code>__</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/twisted/treq/commit/caaf9fcb62992de47ad5ebcb628cce5106b8d1b1"><code>caaf9fc</code></a> Release 24.9.1</li> <li><a href="https://github.com/twisted/treq/commit/9cedb088b40e5d756f1196defb46b5a7e41bf1c8"><code>9cedb08</code></a> Merge pull request <a href="https://redirect.github.com/twisted/treq/issues/400">#400</a> from twisted/vendor-multipart-for-now</li> <li><a href="https://github.com/twisted/treq/commit/4aa1ee8a3ca5461c165ea380b1cbd0ea5b41cce4"><code>4aa1ee8</code></a> news fragment</li> <li><a href="https://github.com/twisted/treq/commit/d7c16de8f522c5fc10cf2108371afce635d39e4e"><code>d7c16de</code></a> octothorpes rise up</li> <li><a href="https://github.com/twisted/treq/commit/4fd3c842c21a3fa45560dc7eb41767fcbb4e653a"><code>4fd3c84</code></a> try to make the linter happy</li> <li><a href="https://github.com/twisted/treq/commit/f0a5148cba2c983335758dd34ab78bff46f2dc6b"><code>f0a5148</code></a> fix import, switch to <code>from</code></li> <li><a href="https://github.com/twisted/treq/commit/7f16b87f0a2574a2ef67a50e6bf89ad9941fcf4c"><code>7f16b87</code></a> correct import</li> <li><a href="https://github.com/twisted/treq/commit/1526431a37745bb33982f79bb38d1d4e4554907d"><code>1526431</code></a> add a lightly-modified vendored version of <a href="https://github.com/defnull/multipa">https://github.com/defnull/multipa</a>...</li> <li><a href="https://github.com/twisted/treq/commit/7c52d4917f41291da271fd5cebf2e69e73dcee32"><code>7c52d49</code></a> remove dependency on <code>multipart</code> package</li> <li><a href="https://github.com/twisted/treq/commit/ca3966f57a34fa4a3c0b3eb1a90e3f1cc1951bf3"><code>ca3966f</code></a> Merge pull request <a href="https://redirect.github.com/twisted/treq/issues/398">#398</a> from twisted/397-release-24.9.0</li> <li>Additional commits viewable in <a href="https://github.com/twisted/treq/compare/release-23.11.0...treq-24.9.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=treq&package-manager=pip&previous-version=23.11.0&new-version=24.9.1)](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> Co-authored-by: Quentin Gliech <quenting@element.io>
2024-09-25Remove the deprecated cgi module (#17741)V024603-5/+6
Removes all uses of the `cgi` module from Synapse. It was deprecated in Python version 3.11 and removed in version 3.13 ([“dead battery”](https://docs.python.org/3.13/whatsnew/3.13.html#pep-594-remove-dead-batteries-from-the-standard-library)). ### 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: Quentin Gliech <quenting@element.io>
2024-09-25Bump phonenumbers from 8.13.44 to 8.13.45 (#17762)dependabot[bot]1-3/+3
2024-09-24Bump ruff from 0.6.5 to 0.6.7 (#17760)dependabot[bot]2-21/+21
2024-09-24Bump msgpack from 1.0.8 to 1.1.0 (#17759)dependabot[bot]1-57/+65
2024-09-25Bump idna from 3.8 to 3.10 (#17758)dependabot[bot]1-3/+6
2024-09-24Bump types-setuptools from 74.1.0.20240907 to 75.1.0.20240917 (#17757)dependabot[bot]1-3/+3
Bumps [types-setuptools](https://github.com/python/typeshed) from 74.1.0.20240907 to 75.1.0.20240917. <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-setuptools&package-manager=pip&previous-version=74.1.0.20240907&new-version=75.1.0.20240917)](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>
2024-09-24Bump pydantic from 2.8.2 to 2.9.2 (#17756)dependabot[bot]1-99/+100
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.8.2 to 2.9.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pydantic/pydantic/releases">pydantic's releases</a>.</em></p> <blockquote> <h2>v2.9.2 (2024-09-17)</h2> <h2>What's Changed</h2> <h3>Fixes</h3> <ul> <li>Do not error when trying to evaluate annotations of private attributes by <a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10358">#10358</a></li> <li>Adding notes on designing sound <code>Callable</code> discriminators by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10400">#10400</a></li> <li>Fix serialization schema generation when using <code>PlainValidator</code> by <a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10427">#10427</a></li> <li>Fix <code>Union</code> serialization warnings by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-core/pull/1449">pydantic/pydantic-core#1449</a></li> <li>Fix variance issue in <code>_IncEx</code> type alias, only allow <code>True</code> by <a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10414">#10414</a></li> <li>Fix <code>ZoneInfo</code> validation with various invalid types by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10408">#10408</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pydantic/pydantic/compare/v2.9.1...v2.9.2">https://github.com/pydantic/pydantic/compare/v2.9.1...v2.9.2</a></p> <h2>v2.9.1 (2024-09-09)</h2> <h2>What's Changed</h2> <h3>Fixes</h3> <ul> <li>Fix Predicate issue in v2.9.0 by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10321">#10321</a></li> <li>Fixing <code>annotated-types</code> bound to <code>&gt;=0.6.0</code> by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10327">#10327</a></li> <li>Turn <code>tzdata</code> install requirement into optional <code>timezone</code> dependency by <a href="https://github.com/jakob-keller"><code>@​jakob-keller</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10331">#10331</a></li> <li>Fix <code>IncExc</code> type alias definition by <a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10339">#10339</a></li> <li>Use correct types namespace when building namedtuple core schemas by <a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10337">#10337</a></li> <li>Fix evaluation of stringified annotations during namespace inspection by <a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10347">#10347</a></li> <li>Fix tagged union serialization with alias generators by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-core/pull/1442">pydantic/pydantic-core#1442</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pydantic/pydantic/compare/v2.9.0...v2.9.1">https://github.com/pydantic/pydantic/compare/v2.9.0...v2.9.1</a></p> <h2>v2.9.0 (2024-09-05)</h2> <p>The code released in v2.9.0 is practically identical to that of v2.9.0b2.</p> <p>Check out our <a href="https://pydantic.dev/articles/pydantic-v2-9-release">blog post</a> to learn more about the release highlights!</p> <h2>What's Changed</h2> <h3>Packaging</h3> <ul> <li>Bump <code>ruff</code> to <code>v0.5.0</code> and <code>pyright</code> to <code>v1.1.369</code> by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/9801">#9801</a></li> <li>Bump <code>pydantic-extra-types</code> to <code>v2.9.0</code> by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/9832">#9832</a></li> <li>Support compatibility with <code>pdm v2.18.1</code> by <a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10138">#10138</a></li> <li>Bump <code>v1</code> version stub to <code>v1.10.18</code> by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10214">#10214</a></li> <li>Bump <code>pydantic-core</code> to <code>v2.23.2</code> by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10311">#10311</a></li> </ul> <h3>New Features</h3> <ul> <li>Add support for <code>ZoneInfo</code> by <a href="https://github.com/Youssefares"><code>@​Youssefares</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/9896">#9896</a></li> <li>Add <code>Config.val_json_bytes</code> by <a href="https://github.com/josh-newman"><code>@​josh-newman</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/9770">#9770</a></li> <li>Add DSN for Snowflake by <a href="https://github.com/aditkumar72"><code>@​aditkumar72</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10128">#10128</a></li> <li>Support <code>complex</code> number by <a href="https://github.com/changhc"><code>@​changhc</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/9654">#9654</a></li> <li>Add support for <code>annotated_types.Not</code> by <a href="https://github.com/aditkumar72"><code>@​aditkumar72</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10210">#10210</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pydantic/pydantic/blob/main/HISTORY.md">pydantic's changelog</a>.</em></p> <blockquote> <h2>v2.9.2 (2024-09-17)</h2> <p><a href="https://github.com/pydantic/pydantic/releases/tag/v2.9.2">GitHub release</a></p> <h3>What's Changed</h3> <h4>Fixes</h4> <ul> <li>Do not error when trying to evaluate annotations of private attributes by <a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10358">#10358</a></li> <li>Adding notes on designing sound <code>Callable</code> discriminators by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10400">#10400</a></li> <li>Fix serialization schema generation when using <code>PlainValidator</code> by <a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10427">#10427</a></li> <li>Fix <code>Union</code> serialization warnings by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-core/pull/1449">pydantic/pydantic-core#1449</a></li> <li>Fix variance issue in <code>_IncEx</code> type alias, only allow <code>True</code> by <a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10414">#10414</a></li> <li>Fix <code>ZoneInfo</code> validation with various invalid types by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10408">#10408</a></li> </ul> <h2>v2.9.1 (2024-09-09)</h2> <p><a href="https://github.com/pydantic/pydantic/releases/tag/v2.9.1">GitHub release</a></p> <h3>What's Changed</h3> <h4>Fixes</h4> <ul> <li>Fix Predicate issue in v2.9.0 by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10321">#10321</a></li> <li>Fixing <code>annotated-types</code> bound to <code>&gt;=0.6.0</code> by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10327">#10327</a></li> <li>Turn <code>tzdata</code> install requirement into optional <code>timezone</code> dependency by <a href="https://github.com/jakob-keller"><code>@​jakob-keller</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10331">#10331</a></li> <li>Fix <code>IncExc</code> type alias definition by <a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10339">#10339</a></li> <li>Use correct types namespace when building namedtuple core schemas by <a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10337">#10337</a></li> <li>Fix evaluation of stringified annotations during namespace inspection by <a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10347">#10347</a></li> <li>Fix tagged union serialization with alias generators by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic-core/pull/1442">pydantic/pydantic-core#1442</a></li> </ul> <h2>v2.9.0 (2024-09-05)</h2> <p><a href="https://github.com/pydantic/pydantic/releases/tag/v2.9.0">GitHub release</a></p> <p>The code released in v2.9.0 is practically identical to that of v2.9.0b2.</p> <h3>What's Changed</h3> <h4>Packaging</h4> <ul> <li>Bump <code>ruff</code> to <code>v0.5.0</code> and <code>pyright</code> to <code>v1.1.369</code> by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/9801">#9801</a></li> <li>Bump <code>pydantic-extra-types</code> to <code>v2.9.0</code> by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/9832">#9832</a></li> <li>Support compatibility with <code>pdm v2.18.1</code> by <a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10138">#10138</a></li> <li>Bump <code>v1</code> version stub to <code>v1.10.18</code> by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10214">#10214</a></li> <li>Bump <code>pydantic-core</code> to <code>v2.23.2</code> by <a href="https://github.com/sydney-runkle"><code>@​sydney-runkle</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10311">#10311</a></li> </ul> <h4>New Features</h4> <ul> <li>Add support for <code>ZoneInfo</code> by <a href="https://github.com/Youssefares"><code>@​Youssefares</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/9896">#9896</a></li> <li>Add <code>Config.val_json_bytes</code> by <a href="https://github.com/josh-newman"><code>@​josh-newman</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/9770">#9770</a></li> <li>Add DSN for Snowflake by <a href="https://github.com/aditkumar72"><code>@​aditkumar72</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/10128">#10128</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pydantic/pydantic/commit/7cedbfb03df82ac55c844c97e6f975359cb51bb9"><code>7cedbfb</code></a> history updates</li> <li><a href="https://github.com/pydantic/pydantic/commit/7eab2b8f7565077410ee6b5f59efc2a8245a7e34"><code>7eab2b8</code></a> v bump</li> <li><a href="https://github.com/pydantic/pydantic/commit/c0a288f1457734c0ae7ea8d3ae2f5e458327c4cd"><code>c0a288f</code></a> Fix <code>ZoneInfo</code> with various invalid types (<a href="https://redirect.github.com/pydantic/pydantic/issues/10408">#10408</a>)</li> <li><a href="https://github.com/pydantic/pydantic/commit/ea6115de0f36461b8fa9638c49249ebd4b9fd806"><code>ea6115d</code></a> Fix variance issue in <code>_IncEx</code> type alias, only allow <code>True</code> (<a href="https://redirect.github.com/pydantic/pydantic/issues/10414">#10414</a>)</li> <li><a href="https://github.com/pydantic/pydantic/commit/fbfe25a1195c1055034581e1a48ff6308231d70c"><code>fbfe25a</code></a> Fix serialization schema generation when using <code>PlainValidator</code> (<a href="https://redirect.github.com/pydantic/pydantic/issues/10427">#10427</a>)</li> <li><a href="https://github.com/pydantic/pydantic/commit/26cff3ccf65f29fd503c1357280a9f4d87f41fd6"><code>26cff3c</code></a> Adding notes on designing callable discriminators (<a href="https://redirect.github.com/pydantic/pydantic/issues/10400">#10400</a>)</li> <li><a href="https://github.com/pydantic/pydantic/commit/8a0e7adf6ac6d31056818f9bf8ce5a9dab6c9a6e"><code>8a0e7ad</code></a> Do not error when trying to evaluate annotations of private attributes (<a href="https://redirect.github.com/pydantic/pydantic/issues/10358">#10358</a>)</li> <li><a href="https://github.com/pydantic/pydantic/commit/ecc5275d01e3d8de15c3641d35eb5151f5778833"><code>ecc5275</code></a> bump</li> <li><a href="https://github.com/pydantic/pydantic/commit/2c61bfda43e67b8308f86c77ae4121f447f134dd"><code>2c61bfd</code></a> Fix evaluation of stringified annotations during namespace inspection (<a href="https://redirect.github.com/pydantic/pydantic/issues/10347">#10347</a>)</li> <li><a href="https://github.com/pydantic/pydantic/commit/3d364cbf994bc6676b8419b8ad588d4d49ab2f29"><code>3d364cb</code></a> Use correct types namespace when building namedtuple core schemas (<a href="https://redirect.github.com/pydantic/pydantic/issues/10337">#10337</a>)</li> <li>Additional commits viewable in <a href="https://github.com/pydantic/pydantic/compare/v2.8.2...v2.9.2">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pydantic&package-manager=pip&previous-version=2.8.2&new-version=2.9.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>
2024-09-24Bump types-pyyaml from 6.0.12.20240808 to 6.0.12.20240917 (#17755)dependabot[bot]1-3/+3
Bumps [types-pyyaml](https://github.com/python/typeshed) from 6.0.12.20240808 to 6.0.12.20240917. <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-pyyaml&package-manager=pip&previous-version=6.0.12.20240808&new-version=6.0.12.20240917)](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>
2024-09-24Bump prometheus-client from 0.20.0 to 0.21.0 (#17746)dependabot[bot]1-3/+3
Bumps [prometheus-client](https://github.com/prometheus/client_python) from 0.20.0 to 0.21.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/prometheus/client_python/releases">prometheus-client's releases</a>.</em></p> <blockquote> <h2>0.21.0 / 2024-09-20</h2> <h2>What's Changed</h2> <p>[CHANGE] Reject invalid (not GET or OPTION) HTTP methods. <a href="https://redirect.github.com/prometheus/client_python/issues/1019">#1019</a> [ENHANCEMENT] Allow writing metrics when holding a lock for the metric in the same thread. <a href="https://redirect.github.com/prometheus/client_python/issues/1014">#1014</a> [BUGFIX] Check for and error on None label values. <a href="https://redirect.github.com/prometheus/client_python/issues/1012">#1012</a> [BUGFIX] Fix timestamp comparison. <a href="https://redirect.github.com/prometheus/client_python/issues/1038">#1038</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/prometheus/client_python/commit/3b183b44994454be226c208037e1fe4b9a89dfc5"><code>3b183b4</code></a> Release 0.21.0</li> <li><a href="https://github.com/prometheus/client_python/commit/0014e9776350a252930671ed170edee464f9b428"><code>0014e97</code></a> Use re-entrant lock. (<a href="https://redirect.github.com/prometheus/client_python/issues/1014">#1014</a>)</li> <li><a href="https://github.com/prometheus/client_python/commit/7c45f84e5e3d2e0a75b3946408fec1a4d5c72841"><code>7c45f84</code></a> Reject invalid HTTP methods and resources (<a href="https://redirect.github.com/prometheus/client_python/issues/1019">#1019</a>)</li> <li><a href="https://github.com/prometheus/client_python/commit/09a5ae30602a7a81f6174dae4ba08b93ee7feed2"><code>09a5ae3</code></a> Fix timestamp comparison (<a href="https://redirect.github.com/prometheus/client_python/issues/1038">#1038</a>)</li> <li><a href="https://github.com/prometheus/client_python/commit/e364a96f506bbb70ae744e0b3307e4b693e28258"><code>e364a96</code></a> Fix a typo in ASGI docs (<a href="https://redirect.github.com/prometheus/client_python/issues/1036">#1036</a>)</li> <li><a href="https://github.com/prometheus/client_python/commit/eeec421b2f489d2c465bb8ca419b772829b7b16c"><code>eeec421</code></a> Pin python 3.8 and 3.9 at patch level (<a href="https://redirect.github.com/prometheus/client_python/issues/1024">#1024</a>)</li> <li><a href="https://github.com/prometheus/client_python/commit/7bc8cddfbbc9b72c98725a879d9b94a675a6c7da"><code>7bc8cdd</code></a> docs: correct link to multiprocessing docs (<a href="https://redirect.github.com/prometheus/client_python/issues/1023">#1023</a>)</li> <li><a href="https://github.com/prometheus/client_python/commit/4535ce0f43097aa48e44a65747d82064f2aadaf5"><code>4535ce0</code></a> Add sanity check for label value (<a href="https://redirect.github.com/prometheus/client_python/issues/1012">#1012</a>)</li> <li>See full diff in <a href="https://github.com/prometheus/client_python/compare/v0.20.0...v0.21.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prometheus-client&package-manager=pip&previous-version=0.20.0&new-version=0.21.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>