Shay
b6baa46db0
Fix a bug where the joined hosts for a given event were not being properly cached ( #14125 )
2022-10-12 11:01:00 -07:00
Patrick Cloke
e6e876b9b1
Return the thread ID properly down sync. ( #14159 )
...
A receipt's thread ID, if one exists, should be added to the
body of a receipt.
2022-10-12 12:18:34 -04:00
Patrick Cloke
87099b6ea5
Return the main timeline for events which are not part of a thread. ( #14140 )
...
Fixes a bug where threaded receipts could not be sent for the
main timeline.
2022-10-12 12:15:52 -04:00
dependabot[bot]
e4e55f8eef
Bump typing-extensions from 4.1.1 to 4.4.0 ( #14134 )
2022-10-12 14:37:36 +01:00
Andrew Morgan
9c23442ac9
Correct field name for stripped state events when knocking. knock_state_events
-> knock_room_state
( #14102 )
2022-10-12 14:37:20 +01:00
dependabot[bot]
c152e58116
Bump bleach from 4.1.0 to 5.0.1 ( #14116 )
2022-10-12 14:37:04 +01:00
dependabot[bot]
10a432a5f0
Bump idna from 3.3 to 3.4 ( #14115 )
2022-10-12 14:34:50 +01:00
Patrick Cloke
c604d2c218
Mark /relations endpoint as usable on workers. ( #14028 )
...
Co-authored-by: Eric Eastwood <erice@element.io>
2022-10-12 06:46:13 -04:00
Nick Mills-Barrett
f9bc5428c4
Batch up calls to get_rooms_for_users
( #14109 )
2022-10-12 11:36:22 +01:00
Patrick Cloke
09be8ab5f9
Remove the experimental implementation of MSC3772. ( #14094 )
...
MSC3772 has been abandoned.
2022-10-12 06:26:39 -04:00
David Robertson
3f057e4c54
Use minimal Rust installation in docker images and CI ( #14141 )
2022-10-12 10:47:02 +01:00
Shay
a86b2f6837
Fix a bug where redactions were not being sent over federation if we did not have the original event. ( #13813 )
2022-10-11 11:18:45 -07:00
David Robertson
6a92944854
Handle gottestfmt
repository move ( #14144 )
2022-10-11 17:54:06 +00:00
Patrick Cloke
6136768e76
Remove the groups config code. ( #14142 )
...
This has been unused for a long time, but missed removal in #11584 .
2022-10-11 13:14:57 -04:00
Abdullah Osama
a9934d48c1
Making parse_server_name more consistent ( #14007 )
...
Fixes #12122
2022-10-11 12:42:11 +00:00
Erik Johnston
17c031b251
Enable dependabot for Rust dependencies ( #14132 )
2022-10-11 12:26:40 +01:00
Andrew Morgan
e580f03e02
Fix name of "alias_creation_rules" option in config manual ( #14124 )
2022-10-10 20:01:05 +00:00
dependabot[bot]
544cc400e3
Bump types-psycopg2 from 2.9.9 to 2.9.21.1 ( #14114 )
...
* Bump types-psycopg2 from 2.9.9 to 2.9.21.1
Bumps [types-psycopg2](https://github.com/python/typeshed ) from 2.9.9 to 2.9.21.1.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-psycopg2
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-10 13:41:21 +01:00
dependabot[bot]
475bc8acb9
Bump types-pillow from 9.0.15 to 9.2.2 ( #14113 )
...
* Bump types-pillow from 9.0.15 to 9.2.2
Bumps [types-pillow](https://github.com/python/typeshed ) from 9.0.15 to 9.2.2.
- [Release notes](https://github.com/python/typeshed/releases )
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-pillow
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Changelog
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-10 13:36:26 +01:00
Eric Eastwood
1bf2832714
Indicate what endpoint came back with a JSON response we were unable to parse ( #14097 )
...
**Before:**
```
WARNING - POST-11 - Unable to parse JSON: Expecting value: line 1 column 1 (char 0) (b'')
```
**After:**
```
WARNING - POST-11 - Unable to parse JSON from POST /_matrix/client/v3/join/%21ZlmJtelqFroDRJYZaq:hs1?server_name=hs1 response: Expecting value: line 1 column 1 (char 0) (b'')
```
---
It's possible to figure out which endpoint these warnings were coming from before but you had to follow the request ID `POST-11` to the log line that says `Completed request [...]`. Including this key information next to the JSON parsing error makes it much easier to reason whether it matters or not.
```
2022-09-29T08:23:25.7875506Z synapse_main | 2022-09-29 08:21:10,336 - synapse.http.matrixfederationclient - 299 - INFO - POST-11 - {GET-O-13} [hs1] Completed request: 200 OK in 0.53 secs, got 450 bytes - GET matrix://hs1/_matrix/federation/v1/make_join/%21ohtKoQiXlPePSycXwp%3Ahs1/%40charlie%3Ahs2?ver=1&ver=2&ver=3&ver=4&ver=5&ver=6&ver=org.matrix.msc2176&ver=7&ver=8&ver=9&ver=org.matrix.msc3787&ver=10&ver=org.matrix.msc2716v4
```
---
As a note, having no `body` is normal for the `/join` endpoint and it can handle it.
0c853e0970/synapse/rest/client/room.py (L398-L403)
Alternatively we could remove these extra logs but they are probably more usually helpful to figure out what went wrong.
2022-10-07 11:39:45 -05:00
Patrick Cloke
e03d7c5fd0
Remove support for the unstable dir flag on relations. ( #14106 )
...
From MSC3715, this was unused by clients (and there was no
way for clients to know it was supported).
Matrix 1.4 defines the stable field.
2022-10-07 12:38:46 -04:00
Patrick Cloke
ab8047b4bf
Apply & bundle edits for non-message events. ( #14034 )
...
Fixes two related bugs:
* No edit information was bundled for events which aren't `m.room.message`.
* `m.new_content` was not applied for those events.
2022-10-07 15:27:50 +00:00
Paul Tötterman
8074430d25
Document Google OpenID Connect email attribute ( #14081 )
2022-10-07 14:22:25 +00:00
Quentin Gliech
dc37b68a25
Parse SYNAPSE_ASYNC_IO_REACTOR env variable & log the reactor on startup ( #14092 )
2022-10-07 15:19:59 +01:00
dependabot[bot]
8faf7245fd
Bump phonenumbers from 8.12.44 to 8.12.56 ( #14043 )
...
* Bump phonenumbers from 8.12.44 to 8.12.56
Bumps [phonenumbers](https://github.com/daviddrysdale/python-phonenumbers ) from 8.12.44 to 8.12.56.
- [Release notes](https://github.com/daviddrysdale/python-phonenumbers/releases )
- [Commits](https://github.com/daviddrysdale/python-phonenumbers/compare/v8.12.44...v8.12.56 )
---
updated-dependencies:
- dependency-name: phonenumbers
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-07 15:17:00 +01:00
dependabot[bot]
cb72c65609
Bump pydantic from 1.9.1 to 1.10.2 ( #14044 )
...
* Bump pydantic from 1.9.1 to 1.10.2
Bumps [pydantic](https://github.com/pydantic/pydantic ) from 1.9.1 to 1.10.2.
- [Release notes](https://github.com/pydantic/pydantic/releases )
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md )
- [Commits](https://github.com/pydantic/pydantic/compare/v1.9.1...v1.10.2 )
---
updated-dependencies:
- dependency-name: pydantic
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-07 15:08:24 +01:00
dependabot[bot]
5e2cfb64d7
Bump msgpack from 1.0.3 to 1.0.4 ( #14040 )
...
* Bump msgpack from 1.0.3 to 1.0.4
Bumps [msgpack](https://github.com/msgpack/msgpack-python ) from 1.0.3 to 1.0.4.
- [Release notes](https://github.com/msgpack/msgpack-python/releases )
- [Changelog](https://github.com/msgpack/msgpack-python/blob/main/ChangeLog.rst )
- [Commits](https://github.com/msgpack/msgpack-python/compare/v1.0.3...v1.0.4 )
---
updated-dependencies:
- dependency-name: msgpack
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-10-07 15:08:06 +01:00
Dirk Klimpel
c0e868e423
Improve the listener example on the metrics documentation ( #14078 )
...
Signed-off-by: Dirk Klimpel <dirk@klimpel.org>
2022-10-07 14:54:01 +01:00
Patrick Cloke
00c93d2e7e
Be more lenient in the oEmbed response parsing. ( #14089 )
...
Attempt to parse any valid information from an oEmbed response
(instead of bailing at the first unexpected data). This should allow
for more partial oEmbed data to be returned, resulting in better /
more URL previews, even if those URL previews are only partial.
2022-10-07 09:29:43 -04:00
Patrick Cloke
66a7857334
Use stable identifiers for MSC3771 & MSC3773. ( #14050 )
...
These are both part of Matrix 1.4 which has now been released.
For now, support both the unstable and stable identifiers.
2022-10-07 09:26:40 -04:00
Dirk Klimpel
0adeccafc6
Add sample worker files for pusher
and federation_sender
( #14077 )
...
Signed-off-by: Dirk Klimpel <dirk@klimpel.org>
2022-10-07 14:25:28 +01:00
David Robertson
2295095c97
Use Pydantic to validate /devices endpoints ( #14054 )
2022-10-07 13:54:07 +01:00
David Robertson
1fa2e58772
Catch BrokenPipeError from metrics server, and log as a warning ( #14072 )
2022-10-07 13:35:44 +01:00
David Robertson
d6ae14e60e
Update frozendict 2.3.3 -> 2.3.4 ( #13955 )
...
* Update frozendict 2.3.3 -> 2.3.4
This claims to fix more memory leaks.
Could have automated this upgrade with #11828 if we wanted.
* Changelog
2022-10-07 12:13:37 +01:00
David Robertson
0c853e0970
Fix broken links to README ( #14093 )
2022-10-06 22:49:51 +00:00
David Robertson
cb20b885cb
Always close _all_ ijson
coroutines, even if doing so raises Exceptions ( #14065 )
2022-10-06 18:17:50 +00:00
Andre Klärner
b753f63000
The changelog entry ending in a .
or !
is not optional ( #14087 )
2022-10-06 17:11:32 +00:00
Shay
7b7478e8b6
Batch up notifications after event persistence ( #14033 )
2022-10-05 10:12:48 -07:00
Richard van der Hoff
51436c8dd5
Complement test image: capture logs from nginx ( #14063 )
...
Have nginx send its logs to stderr/out, so that we can debug
https://github.com/matrix-org/synapse/issues/13334 .
2022-10-05 17:37:34 +01:00
Patrick Cloke
0b037d6c91
Fix handling of public rooms filter with a network tuple. ( #14053 )
...
Fixes two related bugs:
* The handling of `[null]` for a `room_types` filter was incorrect.
* The ordering of arguments when providing both a network tuple
and room type field was incorrect.
2022-10-05 12:49:52 +00:00
Patrick Cloke
dcced5a8d7
Use threaded receipts when fetching events for push. ( #13878 )
...
Update the HTTP and email pushers to consider threaded read receipts
when fetching unread events.
2022-10-04 12:07:02 -04:00
dependabot[bot]
c3b0e5e178
Bump types-pyyaml from 6.0.4 to 6.0.12 ( #14041 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2022-10-04 15:53:47 +00:00
Nick Mills-Barrett
0506bb100e
Remove get rooms for user with stream ordering ( #13991 )
...
By getting the joined rooms before the current token we avoid any reading
history to confirm a user *was* in a room. We can then use any membership
change events, which we already fetch during sync, to determine the final
list of joined room IDs.
2022-10-04 16:42:59 +01:00
Patrick Cloke
2b6d41ebd6
Recursively fetch the thread for receipts & notifications. ( #13824 )
...
Consider an event to be part of a thread if you can follow a
chain of relations up to a thread root.
Part of MSC3773 & MSC3771.
2022-10-04 11:36:16 -04:00
ffaex
3e74ad20db
update authlib from 0.15.5 to 1.1.0 ( #14006 )
...
Signed-off-by: Fyodor Fomichev <fyodor.fomichev@gmail.com>
2022-10-04 14:49:07 +00:00
Patrick Cloke
a7ba457b2b
Mark events as read using threaded read receipts from MSC3771. ( #13877 )
...
Applies the proper logic for unthreaded and threaded receipts to either
apply to all events in the room or only events in the same thread, respectively.
2022-10-04 10:46:42 -04:00
Sean Quah
f0019f3f3b
Synapse 1.69.0rc1 (2022-10-04)
...
==============================
Please note that legacy Prometheus metric names are now deprecated and will be removed in Synapse 1.73.0.
Server administrators should update their dashboards and alerting rules to avoid using the deprecated metric names.
See the [upgrade notes](https://matrix-org.github.io/synapse/v1.69/upgrade.html#upgrading-to-v1690 ) for more details.
Features
--------
- Allow application services to set the `origin_server_ts` of a state event by providing the query parameter `ts` in [`PUT /_matrix/client/r0/rooms/{roomId}/state/{eventType}/{stateKey}`](https://spec.matrix.org/v1.4/client-server-api/#put_matrixclientv3roomsroomidstateeventtypestatekey ), per [MSC3316](https://github.com/matrix-org/matrix-doc/pull/3316 ). Contributed by @lukasdenk. ([\#11866](https://github.com/matrix-org/synapse/issues/11866 ))
- Allow server admins to require a manual approval process before new accounts can be used (using [MSC3866](https://github.com/matrix-org/matrix-spec-proposals/pull/3866 )). ([\#13556](https://github.com/matrix-org/synapse/issues/13556 ))
- Exponentially backoff from backfilling the same event over and over. ([\#13635](https://github.com/matrix-org/synapse/issues/13635 ), [\#13936](https://github.com/matrix-org/synapse/issues/13936 ))
- Add cache invalidation across workers to module API. ([\#13667](https://github.com/matrix-org/synapse/issues/13667 ), [\#13947](https://github.com/matrix-org/synapse/issues/13947 ))
- Experimental implementation of [MSC3882](https://github.com/matrix-org/matrix-spec-proposals/pull/3882 ) to allow an existing device/session to generate a login token for use on a new device/session. ([\#13722](https://github.com/matrix-org/synapse/issues/13722 ), [\#13868](https://github.com/matrix-org/synapse/issues/13868 ))
- Experimental support for thread-specific receipts ([MSC3771](https://github.com/matrix-org/matrix-spec-proposals/pull/3771 )). ([\#13782](https://github.com/matrix-org/synapse/issues/13782 ), [\#13893](https://github.com/matrix-org/synapse/issues/13893 ), [\#13932](https://github.com/matrix-org/synapse/issues/13932 ), [\#13937](https://github.com/matrix-org/synapse/issues/13937 ), [\#13939](https://github.com/matrix-org/synapse/issues/13939 ))
- Add experimental support for [MSC3881: Remotely toggle push notifications for another client](https://github.com/matrix-org/matrix-spec-proposals/pull/3881 ). ([\#13799](https://github.com/matrix-org/synapse/issues/13799 ), [\#13831](https://github.com/matrix-org/synapse/issues/13831 ), [\#13860](https://github.com/matrix-org/synapse/issues/13860 ))
- Keep track when an event pulled over federation fails its signature check so we can intelligently back-off in the future. ([\#13815](https://github.com/matrix-org/synapse/issues/13815 ))
- Improve validation for the unspecced, internal-only `_matrix/client/unstable/add_threepid/msisdn/submit_token` endpoint. ([\#13832](https://github.com/matrix-org/synapse/issues/13832 ))
- Faster remote room joins: record _when_ we first partial-join to a room. ([\#13892](https://github.com/matrix-org/synapse/issues/13892 ))
- Support a `dir` parameter on the `/relations` endpoint per [MSC3715](https://github.com/matrix-org/matrix-doc/pull/3715 ). ([\#13920](https://github.com/matrix-org/synapse/issues/13920 ))
- Ask mail servers receiving emails from Synapse to not send automatic replies (e.g. out-of-office responses). ([\#13957](https://github.com/matrix-org/synapse/issues/13957 ))
Bugfixes
--------
- Send push notifications for invites received over federation. ([\#13719](https://github.com/matrix-org/synapse/issues/13719 ), [\#14014](https://github.com/matrix-org/synapse/issues/14014 ))
- Fix a long-standing bug where typing events would be accepted from remote servers not present in a room. Also fix a bug where incoming typing events would cause other incoming events to get stuck during a fast join. ([\#13830](https://github.com/matrix-org/synapse/issues/13830 ))
- Fix a bug introduced in Synapse v1.53.0 where the experimental implementation of [MSC3715](https://github.com/matrix-org/matrix-spec-proposals/pull/3715 ) would give incorrect results when paginating forward. ([\#13840](https://github.com/matrix-org/synapse/issues/13840 ))
- Fix access token leak to logs from proxy agent. ([\#13855](https://github.com/matrix-org/synapse/issues/13855 ))
- Fix `have_seen_event` cache not being invalidated after we persist an event which causes inefficiency effects like extra `/state` federation calls. ([\#13863](https://github.com/matrix-org/synapse/issues/13863 ))
- Faster room joins: Fix a bug introduced in 1.66.0 where an error would be logged when syncing after joining a room. ([\#13872](https://github.com/matrix-org/synapse/issues/13872 ))
- Fix a bug introduced in 1.66.0 where some required fields in the pushrules sent to clients were not present anymore. Contributed by Nico. ([\#13904](https://github.com/matrix-org/synapse/issues/13904 ))
- Fix packaging to include `Cargo.lock` in `sdist`. ([\#13909](https://github.com/matrix-org/synapse/issues/13909 ))
- Fix a long-standing bug where device updates could cause delays sending out to-device messages over federation. ([\#13922](https://github.com/matrix-org/synapse/issues/13922 ))
- Fix a bug introduced in v1.68.0 where Synapse would require `setuptools_rust` at runtime, even though the package is only required at build time. ([\#13952](https://github.com/matrix-org/synapse/issues/13952 ))
- Fix a long-standing bug where `POST /_matrix/client/v3/keys/query` requests could result in excessively large SQL queries. ([\#13956](https://github.com/matrix-org/synapse/issues/13956 ))
- Fix a performance regression in the `get_users_in_room` database query. Introduced in v1.67.0. ([\#13972](https://github.com/matrix-org/synapse/issues/13972 ))
- Fix a bug introduced in v1.68.0 bug where Rust extension wasn't built in `release` mode when using `poetry install`. ([\#14009](https://github.com/matrix-org/synapse/issues/14009 ))
- Do not return an unspecified `original_event` field when using the stable `/relations` endpoint. Introduced in Synapse v1.57.0. ([\#14025](https://github.com/matrix-org/synapse/issues/14025 ))
- Correctly handle a race with device lists when a remote user leaves during a partial join. ([\#13885](https://github.com/matrix-org/synapse/issues/13885 ))
- Correctly handle sending local device list updates to remote servers during a partial join. ([\#13934](https://github.com/matrix-org/synapse/issues/13934 ))
Improved Documentation
----------------------
- Add `worker_main_http_uri` for the worker generator bash script. ([\#13772](https://github.com/matrix-org/synapse/issues/13772 ))
- Update URL for the NixOS module for Synapse. ([\#13818](https://github.com/matrix-org/synapse/issues/13818 ))
- Fix a mistake in sso_mapping_providers.md: `map_user_attributes` is expected to return `display_name`, not `displayname`. ([\#13836](https://github.com/matrix-org/synapse/issues/13836 ))
- Fix a cross-link from the registration admin API to the `registration_shared_secret` configuration documentation. ([\#13870](https://github.com/matrix-org/synapse/issues/13870 ))
- Update the man page for the `hash_password` script to correct the default number of bcrypt rounds performed. ([\#13911](https://github.com/matrix-org/synapse/issues/13911 ), [\#13930](https://github.com/matrix-org/synapse/issues/13930 ))
- Emphasize the right reasons when to use `(room_id, event_id)` in a database schema. ([\#13915](https://github.com/matrix-org/synapse/issues/13915 ))
- Add instruction to contributing guide for running unit tests in parallel. Contributed by @ashfame. ([\#13928](https://github.com/matrix-org/synapse/issues/13928 ))
- Clarify that the `auto_join_rooms` config option can also be used with Space aliases. ([\#13931](https://github.com/matrix-org/synapse/issues/13931 ))
- Add some cross references to worker documentation. ([\#13974](https://github.com/matrix-org/synapse/issues/13974 ))
- Linkify urls in config documentation. ([\#14003](https://github.com/matrix-org/synapse/issues/14003 ))
Deprecations and Removals
-------------------------
- Remove the `complete_sso_login` method from the Module API which was deprecated in Synapse 1.13.0. ([\#13843](https://github.com/matrix-org/synapse/issues/13843 ))
- Announce that legacy metric names are deprecated, will be turned off by default in Synapse v1.71.0 and removed altogether in Synapse v1.73.0. See the upgrade notes for more information. ([\#14024](https://github.com/matrix-org/synapse/issues/14024 ))
Internal Changes
----------------
- Speed up creation of DM rooms. ([\#13487](https://github.com/matrix-org/synapse/issues/13487 ), [\#13800](https://github.com/matrix-org/synapse/issues/13800 ))
- Port push rules to using Rust. ([\#13768](https://github.com/matrix-org/synapse/issues/13768 ), [\#13838](https://github.com/matrix-org/synapse/issues/13838 ), [\#13889](https://github.com/matrix-org/synapse/issues/13889 ))
- Optimise get rooms for user calls. Contributed by Nick @ Beeper (@fizzadar). ([\#13787](https://github.com/matrix-org/synapse/issues/13787 ))
- Update the script which makes full schema dumps. ([\#13792](https://github.com/matrix-org/synapse/issues/13792 ))
- Use shared methods for cache invalidation when persisting events, remove duplicate codepaths. Contributed by Nick @ Beeper (@fizzadar). ([\#13796](https://github.com/matrix-org/synapse/issues/13796 ))
- Improve the `synapse.api.auth.Auth` mock used in unit tests. ([\#13809](https://github.com/matrix-org/synapse/issues/13809 ))
- Faster Remote Room Joins: tell remote homeservers that we are unable to authorise them if they query a room which has partial state on our server. ([\#13823](https://github.com/matrix-org/synapse/issues/13823 ))
- Carry IdP Session IDs through user-mapping sessions. ([\#13839](https://github.com/matrix-org/synapse/issues/13839 ))
- Fix the release script not publishing binary wheels. ([\#13850](https://github.com/matrix-org/synapse/issues/13850 ))
- Raise issue if complement fails with latest deps. ([\#13859](https://github.com/matrix-org/synapse/issues/13859 ))
- Correct the comments in the complement dockerfile. ([\#13867](https://github.com/matrix-org/synapse/issues/13867 ))
- Create a new snapshot of the database schema. ([\#13873](https://github.com/matrix-org/synapse/issues/13873 ))
- Faster room joins: Send device list updates to most servers in rooms with partial state. ([\#13874](https://github.com/matrix-org/synapse/issues/13874 ), [\#14013](https://github.com/matrix-org/synapse/issues/14013 ))
- Add comments to the Prometheus recording rules to make it clear which set of rules you need for Grafana or Prometheus Console. ([\#13876](https://github.com/matrix-org/synapse/issues/13876 ))
- Only pull relevant backfill points from the database based on the current depth and limit (instead of all) every time we want to `/backfill`. ([\#13879](https://github.com/matrix-org/synapse/issues/13879 ))
- Faster room joins: Avoid waiting for full state when processing `/keys/changes` requests. ([\#13888](https://github.com/matrix-org/synapse/issues/13888 ))
- Improve backfill robustness by trying more servers when we get a `4xx` error back. ([\#13890](https://github.com/matrix-org/synapse/issues/13890 ))
- Fix mypy errors with canonicaljson 1.6.3. ([\#13905](https://github.com/matrix-org/synapse/issues/13905 ))
- Faster remote room joins: correctly handle remote device list updates during a partial join. ([\#13913](https://github.com/matrix-org/synapse/issues/13913 ))
- Complement image: propagate SIGTERM to all workers. ([\#13914](https://github.com/matrix-org/synapse/issues/13914 ))
- Update an innaccurate comment in Synapse's upsert database helper. ([\#13924](https://github.com/matrix-org/synapse/issues/13924 ))
- Update mypy (0.950 -> 0.981) and mypy-zope (0.3.7 -> 0.3.11). ([\#13925](https://github.com/matrix-org/synapse/issues/13925 ), [\#13993](https://github.com/matrix-org/synapse/issues/13993 ))
- Use dedicated `get_local_users_in_room(room_id)` function to find local users when calculating users to copy over during a room upgrade. ([\#13960](https://github.com/matrix-org/synapse/issues/13960 ))
- Refactor language in user directory `_track_user_joined_room` code to make it more clear that we use both local and remote users. ([\#13966](https://github.com/matrix-org/synapse/issues/13966 ))
- Revert catch-all exceptions being recorded as event pull attempt failures (only handle what we know about). ([\#13969](https://github.com/matrix-org/synapse/issues/13969 ))
- Speed up calculating push actions in large rooms. ([\#13973](https://github.com/matrix-org/synapse/issues/13973 ), [\#13992](https://github.com/matrix-org/synapse/issues/13992 ))
- Enable update notifications from Github's dependabot. ([\#13976](https://github.com/matrix-org/synapse/issues/13976 ))
- Prototype a workflow to automatically add changelogs to dependabot PRs. ([\#13998](https://github.com/matrix-org/synapse/issues/13998 ), [\#14011](https://github.com/matrix-org/synapse/issues/14011 ), [\#14017](https://github.com/matrix-org/synapse/issues/14017 ), [\#14021](https://github.com/matrix-org/synapse/issues/14021 ), [\#14027](https://github.com/matrix-org/synapse/issues/14027 ))
- Fix type annotations to be compatible with new annotations in development versions of twisted. ([\#14012](https://github.com/matrix-org/synapse/issues/14012 ))
- Clear out stale entries in `event_push_actions_staging` table. ([\#14020](https://github.com/matrix-org/synapse/issues/14020 ))
- Bump versions of GitHub actions. ([\#13978](https://github.com/matrix-org/synapse/issues/13978 ), [\#13979](https://github.com/matrix-org/synapse/issues/13979 ), [\#13980](https://github.com/matrix-org/synapse/issues/13980 ), [\#13982](https://github.com/matrix-org/synapse/issues/13982 ), [\#14015](https://github.com/matrix-org/synapse/issues/14015 ), [\#14019](https://github.com/matrix-org/synapse/issues/14019 ), [\#14022](https://github.com/matrix-org/synapse/issues/14022 ), [\#14023](https://github.com/matrix-org/synapse/issues/14023 ))
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEWMTnW8Z8khaaf90R+84KzgcyGG8FAmM8IQMACgkQ+84Kzgcy
GG+eewv/fl+SluS/J5xQ/bJU/rCp1TREd29vafWbCapjLFI4g/2CsLjWXXfP+zFi
xHbGA/lWK7Vju/SV/9cURbouosxeCtbc5MrB5l2WmQB21Uw1Ql2DUkGBPVQKb45/
OkCG3J5qAID9r+OsGf6Ir1pJ6+38r5zliEuTn7557B5Fuawjbx7BWX5dfotjH49r
WvhyKV+2EzVenmA82iLwC+RSykYcbTkCvKyoNd4Ry6oBOIBDFgLQIVivnQp6W/RK
CneP7Q64Ga9+WvLUt9Xgp0B1vIWJcPoM9uPeeifb9Pzq7m7jPo48Zld6Sxdp/zAs
NrLFdTQa+YfgvyvtxDXr8fLPjJ91F1Gv6wyPPtd57tZDLgcn3U2UMifDAjMgCWKB
7IEKNOH5fSY00q50cnSr2wS2azYPAS4KFfgXArZ0t1RaU2LDkjyZVjJj7eI7zuex
rlqVqvZtqjdreOVUBkf401zTD/hD4+Vld8BnbHX3liAcGObOUIRSsGCwhFh6bquw
8hYy9V6Y
=wV0r
-----END PGP SIGNATURE-----
Merge tag 'v1.69.0rc1' into develop
Synapse 1.69.0rc1 (2022-10-04)
==============================
Please note that legacy Prometheus metric names are now deprecated and will be removed in Synapse 1.73.0.
Server administrators should update their dashboards and alerting rules to avoid using the deprecated metric names.
See the [upgrade notes](https://matrix-org.github.io/synapse/v1.69/upgrade.html#upgrading-to-v1690 ) for more details.
Features
--------
- Allow application services to set the `origin_server_ts` of a state event by providing the query parameter `ts` in [`PUT /_matrix/client/r0/rooms/{roomId}/state/{eventType}/{stateKey}`](https://spec.matrix.org/v1.4/client-server-api/#put_matrixclientv3roomsroomidstateeventtypestatekey ), per [MSC3316](https://github.com/matrix-org/matrix-doc/pull/3316 ). Contributed by @lukasdenk. ([\#11866](https://github.com/matrix-org/synapse/issues/11866 ))
- Allow server admins to require a manual approval process before new accounts can be used (using [MSC3866](https://github.com/matrix-org/matrix-spec-proposals/pull/3866 )). ([\#13556](https://github.com/matrix-org/synapse/issues/13556 ))
- Exponentially backoff from backfilling the same event over and over. ([\#13635](https://github.com/matrix-org/synapse/issues/13635 ), [\#13936](https://github.com/matrix-org/synapse/issues/13936 ))
- Add cache invalidation across workers to module API. ([\#13667](https://github.com/matrix-org/synapse/issues/13667 ), [\#13947](https://github.com/matrix-org/synapse/issues/13947 ))
- Experimental implementation of [MSC3882](https://github.com/matrix-org/matrix-spec-proposals/pull/3882 ) to allow an existing device/session to generate a login token for use on a new device/session. ([\#13722](https://github.com/matrix-org/synapse/issues/13722 ), [\#13868](https://github.com/matrix-org/synapse/issues/13868 ))
- Experimental support for thread-specific receipts ([MSC3771](https://github.com/matrix-org/matrix-spec-proposals/pull/3771 )). ([\#13782](https://github.com/matrix-org/synapse/issues/13782 ), [\#13893](https://github.com/matrix-org/synapse/issues/13893 ), [\#13932](https://github.com/matrix-org/synapse/issues/13932 ), [\#13937](https://github.com/matrix-org/synapse/issues/13937 ), [\#13939](https://github.com/matrix-org/synapse/issues/13939 ))
- Add experimental support for [MSC3881: Remotely toggle push notifications for another client](https://github.com/matrix-org/matrix-spec-proposals/pull/3881 ). ([\#13799](https://github.com/matrix-org/synapse/issues/13799 ), [\#13831](https://github.com/matrix-org/synapse/issues/13831 ), [\#13860](https://github.com/matrix-org/synapse/issues/13860 ))
- Keep track when an event pulled over federation fails its signature check so we can intelligently back-off in the future. ([\#13815](https://github.com/matrix-org/synapse/issues/13815 ))
- Improve validation for the unspecced, internal-only `_matrix/client/unstable/add_threepid/msisdn/submit_token` endpoint. ([\#13832](https://github.com/matrix-org/synapse/issues/13832 ))
- Faster remote room joins: record _when_ we first partial-join to a room. ([\#13892](https://github.com/matrix-org/synapse/issues/13892 ))
- Support a `dir` parameter on the `/relations` endpoint per [MSC3715](https://github.com/matrix-org/matrix-doc/pull/3715 ). ([\#13920](https://github.com/matrix-org/synapse/issues/13920 ))
- Ask mail servers receiving emails from Synapse to not send automatic replies (e.g. out-of-office responses). ([\#13957](https://github.com/matrix-org/synapse/issues/13957 ))
Bugfixes
--------
- Send push notifications for invites received over federation. ([\#13719](https://github.com/matrix-org/synapse/issues/13719 ), [\#14014](https://github.com/matrix-org/synapse/issues/14014 ))
- Fix a long-standing bug where typing events would be accepted from remote servers not present in a room. Also fix a bug where incoming typing events would cause other incoming events to get stuck during a fast join. ([\#13830](https://github.com/matrix-org/synapse/issues/13830 ))
- Fix a bug introduced in Synapse v1.53.0 where the experimental implementation of [MSC3715](https://github.com/matrix-org/matrix-spec-proposals/pull/3715 ) would give incorrect results when paginating forward. ([\#13840](https://github.com/matrix-org/synapse/issues/13840 ))
- Fix access token leak to logs from proxy agent. ([\#13855](https://github.com/matrix-org/synapse/issues/13855 ))
- Fix `have_seen_event` cache not being invalidated after we persist an event which causes inefficiency effects like extra `/state` federation calls. ([\#13863](https://github.com/matrix-org/synapse/issues/13863 ))
- Faster room joins: Fix a bug introduced in 1.66.0 where an error would be logged when syncing after joining a room. ([\#13872](https://github.com/matrix-org/synapse/issues/13872 ))
- Fix a bug introduced in 1.66.0 where some required fields in the pushrules sent to clients were not present anymore. Contributed by Nico. ([\#13904](https://github.com/matrix-org/synapse/issues/13904 ))
- Fix packaging to include `Cargo.lock` in `sdist`. ([\#13909](https://github.com/matrix-org/synapse/issues/13909 ))
- Fix a long-standing bug where device updates could cause delays sending out to-device messages over federation. ([\#13922](https://github.com/matrix-org/synapse/issues/13922 ))
- Fix a bug introduced in v1.68.0 where Synapse would require `setuptools_rust` at runtime, even though the package is only required at build time. ([\#13952](https://github.com/matrix-org/synapse/issues/13952 ))
- Fix a long-standing bug where `POST /_matrix/client/v3/keys/query` requests could result in excessively large SQL queries. ([\#13956](https://github.com/matrix-org/synapse/issues/13956 ))
- Fix a performance regression in the `get_users_in_room` database query. Introduced in v1.67.0. ([\#13972](https://github.com/matrix-org/synapse/issues/13972 ))
- Fix a bug introduced in v1.68.0 bug where Rust extension wasn't built in `release` mode when using `poetry install`. ([\#14009](https://github.com/matrix-org/synapse/issues/14009 ))
- Do not return an unspecified `original_event` field when using the stable `/relations` endpoint. Introduced in Synapse v1.57.0. ([\#14025](https://github.com/matrix-org/synapse/issues/14025 ))
- Correctly handle a race with device lists when a remote user leaves during a partial join. ([\#13885](https://github.com/matrix-org/synapse/issues/13885 ))
- Correctly handle sending local device list updates to remote servers during a partial join. ([\#13934](https://github.com/matrix-org/synapse/issues/13934 ))
Improved Documentation
----------------------
- Add `worker_main_http_uri` for the worker generator bash script. ([\#13772](https://github.com/matrix-org/synapse/issues/13772 ))
- Update URL for the NixOS module for Synapse. ([\#13818](https://github.com/matrix-org/synapse/issues/13818 ))
- Fix a mistake in sso_mapping_providers.md: `map_user_attributes` is expected to return `display_name`, not `displayname`. ([\#13836](https://github.com/matrix-org/synapse/issues/13836 ))
- Fix a cross-link from the registration admin API to the `registration_shared_secret` configuration documentation. ([\#13870](https://github.com/matrix-org/synapse/issues/13870 ))
- Update the man page for the `hash_password` script to correct the default number of bcrypt rounds performed. ([\#13911](https://github.com/matrix-org/synapse/issues/13911 ), [\#13930](https://github.com/matrix-org/synapse/issues/13930 ))
- Emphasize the right reasons when to use `(room_id, event_id)` in a database schema. ([\#13915](https://github.com/matrix-org/synapse/issues/13915 ))
- Add instruction to contributing guide for running unit tests in parallel. Contributed by @ashfame. ([\#13928](https://github.com/matrix-org/synapse/issues/13928 ))
- Clarify that the `auto_join_rooms` config option can also be used with Space aliases. ([\#13931](https://github.com/matrix-org/synapse/issues/13931 ))
- Add some cross references to worker documentation. ([\#13974](https://github.com/matrix-org/synapse/issues/13974 ))
- Linkify urls in config documentation. ([\#14003](https://github.com/matrix-org/synapse/issues/14003 ))
Deprecations and Removals
-------------------------
- Remove the `complete_sso_login` method from the Module API which was deprecated in Synapse 1.13.0. ([\#13843](https://github.com/matrix-org/synapse/issues/13843 ))
- Announce that legacy metric names are deprecated, will be turned off by default in Synapse v1.71.0 and removed altogether in Synapse v1.73.0. See the upgrade notes for more information. ([\#14024](https://github.com/matrix-org/synapse/issues/14024 ))
Internal Changes
----------------
- Speed up creation of DM rooms. ([\#13487](https://github.com/matrix-org/synapse/issues/13487 ), [\#13800](https://github.com/matrix-org/synapse/issues/13800 ))
- Port push rules to using Rust. ([\#13768](https://github.com/matrix-org/synapse/issues/13768 ), [\#13838](https://github.com/matrix-org/synapse/issues/13838 ), [\#13889](https://github.com/matrix-org/synapse/issues/13889 ))
- Optimise get rooms for user calls. Contributed by Nick @ Beeper (@fizzadar). ([\#13787](https://github.com/matrix-org/synapse/issues/13787 ))
- Update the script which makes full schema dumps. ([\#13792](https://github.com/matrix-org/synapse/issues/13792 ))
- Use shared methods for cache invalidation when persisting events, remove duplicate codepaths. Contributed by Nick @ Beeper (@fizzadar). ([\#13796](https://github.com/matrix-org/synapse/issues/13796 ))
- Improve the `synapse.api.auth.Auth` mock used in unit tests. ([\#13809](https://github.com/matrix-org/synapse/issues/13809 ))
- Faster Remote Room Joins: tell remote homeservers that we are unable to authorise them if they query a room which has partial state on our server. ([\#13823](https://github.com/matrix-org/synapse/issues/13823 ))
- Carry IdP Session IDs through user-mapping sessions. ([\#13839](https://github.com/matrix-org/synapse/issues/13839 ))
- Fix the release script not publishing binary wheels. ([\#13850](https://github.com/matrix-org/synapse/issues/13850 ))
- Raise issue if complement fails with latest deps. ([\#13859](https://github.com/matrix-org/synapse/issues/13859 ))
- Correct the comments in the complement dockerfile. ([\#13867](https://github.com/matrix-org/synapse/issues/13867 ))
- Create a new snapshot of the database schema. ([\#13873](https://github.com/matrix-org/synapse/issues/13873 ))
- Faster room joins: Send device list updates to most servers in rooms with partial state. ([\#13874](https://github.com/matrix-org/synapse/issues/13874 ), [\#14013](https://github.com/matrix-org/synapse/issues/14013 ))
- Add comments to the Prometheus recording rules to make it clear which set of rules you need for Grafana or Prometheus Console. ([\#13876](https://github.com/matrix-org/synapse/issues/13876 ))
- Only pull relevant backfill points from the database based on the current depth and limit (instead of all) every time we want to `/backfill`. ([\#13879](https://github.com/matrix-org/synapse/issues/13879 ))
- Faster room joins: Avoid waiting for full state when processing `/keys/changes` requests. ([\#13888](https://github.com/matrix-org/synapse/issues/13888 ))
- Improve backfill robustness by trying more servers when we get a `4xx` error back. ([\#13890](https://github.com/matrix-org/synapse/issues/13890 ))
- Fix mypy errors with canonicaljson 1.6.3. ([\#13905](https://github.com/matrix-org/synapse/issues/13905 ))
- Faster remote room joins: correctly handle remote device list updates during a partial join. ([\#13913](https://github.com/matrix-org/synapse/issues/13913 ))
- Complement image: propagate SIGTERM to all workers. ([\#13914](https://github.com/matrix-org/synapse/issues/13914 ))
- Update an innaccurate comment in Synapse's upsert database helper. ([\#13924](https://github.com/matrix-org/synapse/issues/13924 ))
- Update mypy (0.950 -> 0.981) and mypy-zope (0.3.7 -> 0.3.11). ([\#13925](https://github.com/matrix-org/synapse/issues/13925 ), [\#13993](https://github.com/matrix-org/synapse/issues/13993 ))
- Use dedicated `get_local_users_in_room(room_id)` function to find local users when calculating users to copy over during a room upgrade. ([\#13960](https://github.com/matrix-org/synapse/issues/13960 ))
- Refactor language in user directory `_track_user_joined_room` code to make it more clear that we use both local and remote users. ([\#13966](https://github.com/matrix-org/synapse/issues/13966 ))
- Revert catch-all exceptions being recorded as event pull attempt failures (only handle what we know about). ([\#13969](https://github.com/matrix-org/synapse/issues/13969 ))
- Speed up calculating push actions in large rooms. ([\#13973](https://github.com/matrix-org/synapse/issues/13973 ), [\#13992](https://github.com/matrix-org/synapse/issues/13992 ))
- Enable update notifications from Github's dependabot. ([\#13976](https://github.com/matrix-org/synapse/issues/13976 ))
- Prototype a workflow to automatically add changelogs to dependabot PRs. ([\#13998](https://github.com/matrix-org/synapse/issues/13998 ), [\#14011](https://github.com/matrix-org/synapse/issues/14011 ), [\#14017](https://github.com/matrix-org/synapse/issues/14017 ), [\#14021](https://github.com/matrix-org/synapse/issues/14021 ), [\#14027](https://github.com/matrix-org/synapse/issues/14027 ))
- Fix type annotations to be compatible with new annotations in development versions of twisted. ([\#14012](https://github.com/matrix-org/synapse/issues/14012 ))
- Clear out stale entries in `event_push_actions_staging` table. ([\#14020](https://github.com/matrix-org/synapse/issues/14020 ))
- Bump versions of GitHub actions. ([\#13978](https://github.com/matrix-org/synapse/issues/13978 ), [\#13979](https://github.com/matrix-org/synapse/issues/13979 ), [\#13980](https://github.com/matrix-org/synapse/issues/13980 ), [\#13982](https://github.com/matrix-org/synapse/issues/13982 ), [\#14015](https://github.com/matrix-org/synapse/issues/14015 ), [\#14019](https://github.com/matrix-org/synapse/issues/14019 ), [\#14022](https://github.com/matrix-org/synapse/issues/14022 ), [\#14023](https://github.com/matrix-org/synapse/issues/14023 ))
2022-10-04 15:26:37 +01:00
Patrick Cloke
d8663f5e63
Advertise supporting version 1.3 of the Matrix spec. ( #14032 )
...
Now that all features / changes in 1.3 are supported in Synapse.
2022-10-04 10:21:16 -04:00
David Robertson
04ce2edddc
Fix building wheels on OSX ( #14046 )
...
* Fix building wheels on OSX
Follow-up to #13983 . I missed a breaking change in setup-python v4.
Serves me right for rushing to cut through the dependabot spam.
* Changelog
* Merge changelog
2022-10-04 14:59:30 +01:00
Patrick Cloke
b4ec4f5e71
Track notification counts per thread (implement MSC3773). ( #13776 )
...
When retrieving counts of notifications segment the results based on the
thread ID, but choose whether to return them as individual threads or as
a single summed field by letting the client opt-in via a sync flag.
The summarization code is also updated to be per thread, instead of per
room.
2022-10-04 09:47:04 -04:00