Brendan Abolivier
14656fe03f
Merge tag 'v1.43.0' into babolivier/dinsic_1.48.0
2021-12-06 12:28:25 +00:00
Brendan Abolivier
1f5829dd7f
Merge tag 'v1.42.0' into babolivier/dinsic_1.48.0
...
Synapse 1.42.0 (2021-09-07)
===========================
This version of Synapse removes deprecated room-management admin APIs, removes out-of-date email pushers, and improves error handling for fallback templates for user-interactive authentication. For more information on these points, server administrators are encouraged to read [the upgrade notes](docs/upgrade.md#upgrading-to-v1420).
No significant changes since 1.42.0rc2.
Synapse 1.42.0rc2 (2021-09-06)
==============================
Features
--------
- Support room version 9 from [MSC3375](https://github.com/matrix-org/matrix-doc/pull/3375 ). ([\#10747](https://github.com/matrix-org/synapse/issues/10747 ))
Internal Changes
----------------
- Print a warning when using one of the deprecated `template_dir` settings. ([\#10768](https://github.com/matrix-org/synapse/issues/10768 ))
Synapse 1.42.0rc1 (2021-09-01)
==============================
Features
--------
- Add support for [MSC3231](https://github.com/matrix-org/matrix-doc/pull/3231 ): Token authenticated registration. Users can be required to submit a token during registration to authenticate themselves. Contributed by Callum Brown. ([\#10142](https://github.com/matrix-org/synapse/issues/10142 ))
- Add support for [MSC3283](https://github.com/matrix-org/matrix-doc/pull/3283 ): Expose `enable_set_displayname` in capabilities. ([\#10452](https://github.com/matrix-org/synapse/issues/10452 ))
- Port the `PresenceRouter` module interface to the new generic interface. ([\#10524](https://github.com/matrix-org/synapse/issues/10524 ))
- Add pagination to the spaces summary based on updates to [MSC2946](https://github.com/matrix-org/matrix-doc/pull/2946 ). ([\#10613](https://github.com/matrix-org/synapse/issues/10613 ), [\#10725](https://github.com/matrix-org/synapse/issues/10725 ))
Bugfixes
--------
- Validate new `m.room.power_levels` events. Contributed by @aaronraimist. ([\#10232](https://github.com/matrix-org/synapse/issues/10232 ))
- Display an error on User-Interactive Authentication fallback pages when authentication fails. Contributed by Callum Brown. ([\#10561](https://github.com/matrix-org/synapse/issues/10561 ))
- Remove pushers when deleting an e-mail address from an account. Pushers for old unlinked emails will also be deleted. ([\#10581](https://github.com/matrix-org/synapse/issues/10581 ), [\#10734](https://github.com/matrix-org/synapse/issues/10734 ))
- Reject Client-Server `/keys/query` requests which provide `device_ids` incorrectly. ([\#10593](https://github.com/matrix-org/synapse/issues/10593 ))
- Rooms with unsupported room versions are no longer returned via `/sync`. ([\#10644](https://github.com/matrix-org/synapse/issues/10644 ))
- Enforce the maximum length for per-room display names and avatar URLs. ([\#10654](https://github.com/matrix-org/synapse/issues/10654 ))
- Fix a bug which caused the `synapse_user_logins_total` Prometheus metric not to be correctly initialised on restart. ([\#10677](https://github.com/matrix-org/synapse/issues/10677 ))
- Improve `ServerNoticeServlet` to avoid duplicate requests and add unit tests. ([\#10679](https://github.com/matrix-org/synapse/issues/10679 ))
- Fix long-standing issue which caused an error when a thumbnail is requested and there are multiple thumbnails with the same quality rating. ([\#10684](https://github.com/matrix-org/synapse/issues/10684 ))
- Fix a regression introduced in v1.41.0 which affected the performance of concurrent fetches of large sets of events, in extreme cases causing the process to hang. ([\#10703](https://github.com/matrix-org/synapse/issues/10703 ))
- Fix a regression introduced in Synapse 1.41 which broke email transmission on Systems using older versions of the Twisted library. ([\#10713](https://github.com/matrix-org/synapse/issues/10713 ))
Improved Documentation
----------------------
- Add documentation on how to connect Django with Synapse using OpenID Connect and django-oauth-toolkit. Contributed by @HugoDelval. ([\#10192](https://github.com/matrix-org/synapse/issues/10192 ))
- Advertise https://matrix-org.github.io/synapse documentation in the `README` and `CONTRIBUTING` files. ([\#10595](https://github.com/matrix-org/synapse/issues/10595 ))
- Fix some of the titles not rendering in the OpenID Connect documentation. ([\#10639](https://github.com/matrix-org/synapse/issues/10639 ))
- Minor clarifications to the documentation for reverse proxies. ([\#10708](https://github.com/matrix-org/synapse/issues/10708 ))
- Remove table of contents from the top of installation and contributing documentation pages. ([\#10711](https://github.com/matrix-org/synapse/issues/10711 ))
Deprecations and Removals
-------------------------
- Remove deprecated Shutdown Room and Purge Room Admin API. ([\#8830](https://github.com/matrix-org/synapse/issues/8830 ))
Internal Changes
----------------
- Improve type hints for the proxy agent and SRV resolver modules. Contributed by @dklimpel. ([\#10608](https://github.com/matrix-org/synapse/issues/10608 ))
- Clean up some of the federation event authentication code for clarity. ([\#10614](https://github.com/matrix-org/synapse/issues/10614 ), [\#10615](https://github.com/matrix-org/synapse/issues/10615 ), [\#10624](https://github.com/matrix-org/synapse/issues/10624 ), [\#10640](https://github.com/matrix-org/synapse/issues/10640 ))
- Add a comment asking developers to leave a reason when bumping the database schema version. ([\#10621](https://github.com/matrix-org/synapse/issues/10621 ))
- Remove not needed database updates in modify user admin API. ([\#10627](https://github.com/matrix-org/synapse/issues/10627 ))
- Convert room member storage tuples to `attrs` classes. ([\#10629](https://github.com/matrix-org/synapse/issues/10629 ), [\#10642](https://github.com/matrix-org/synapse/issues/10642 ))
- Use auto-attribs for the attrs classes used in sync. ([\#10630](https://github.com/matrix-org/synapse/issues/10630 ))
- Make `backfill` and `get_missing_events` use the same codepath. ([\#10645](https://github.com/matrix-org/synapse/issues/10645 ))
- Improve the performance of the `/hierarchy` API (from [MSC2946](https://github.com/matrix-org/matrix-doc/pull/2946 )) by caching responses received over federation. ([\#10647](https://github.com/matrix-org/synapse/issues/10647 ))
- Run a nightly CI build against Twisted trunk. ([\#10651](https://github.com/matrix-org/synapse/issues/10651 ), [\#10672](https://github.com/matrix-org/synapse/issues/10672 ))
- Do not print out stack traces for network errors when fetching data over federation. ([\#10662](https://github.com/matrix-org/synapse/issues/10662 ))
- Simplify tests for device admin rest API. ([\#10664](https://github.com/matrix-org/synapse/issues/10664 ))
- Add missing type hints to REST servlets. ([\#10665](https://github.com/matrix-org/synapse/issues/10665 ), [\#10666](https://github.com/matrix-org/synapse/issues/10666 ), [\#10674](https://github.com/matrix-org/synapse/issues/10674 ))
- Flatten the `tests.synapse.rests` package by moving the contents of `v1` and `v2_alpha` into the parent. ([\#10667](https://github.com/matrix-org/synapse/issues/10667 ))
- Update `complement.sh` to rebuild the base Docker image when run with workers. ([\#10686](https://github.com/matrix-org/synapse/issues/10686 ))
- Split the event-processing methods in `FederationHandler` into a separate `FederationEventHandler`. ([\#10692](https://github.com/matrix-org/synapse/issues/10692 ))
- Remove unused `compare_digest` function. ([\#10706](https://github.com/matrix-org/synapse/issues/10706 ))
2021-12-06 12:00:41 +00:00
Brendan Abolivier
4737a7fd11
Remove DomainRuleChecker module ( #113 )
...
The module has now moved to https://github.com/matrix-org/synapse-domain-rule-checker
__Note to ops__:
To deploy this change, the module needs to be installed in addition to Synapse (from the aforementioned repo, or the PyPI project mentioned its readme). The configuration doesn't change besides a) `default` is renamed into `can_invite_if_not_in_domain_mapping` and b) the module's configuration has moved to the `modules` section of the configuration file (though that was already the case as of https://github.com/matrix-org/synapse-dinsic/pull/108 ).
2021-12-06 11:23:04 +01:00
Brendan Abolivier
29168d86c5
Delete local RoomAccessRules module ( #112 )
2021-11-12 14:19:01 +01:00
Brendan Abolivier
cef83c759d
Merge pull request #108 from matrix-org/babolivier/update_spam_checker
...
Bring spamchecker to parity with mainline
2021-11-11 13:52:24 +01:00
Brendan Abolivier
d859a6adeb
Merge branch 'dinsic' into babolivier/update_spam_checker
2021-11-04 10:41:43 +01:00
Brendan Abolivier
ed31c6b1f8
Remove now useless config option
2021-11-04 10:37:41 +01:00
Brendan Abolivier
1e73b59126
Lint
2021-11-04 10:37:41 +01:00
Brendan Abolivier
726f13ee79
Delete custom user_may_create_room
...
Because we already do these checks with RoomAccessRules
2021-11-04 10:37:40 +01:00
Brendan Abolivier
58d6cdd10d
Update tests
2021-11-04 10:37:40 +01:00
Brendan Abolivier
481fbb0a67
Update DomainRuleChecker to use the new interface
2021-11-04 10:37:40 +01:00
Brendan Abolivier
dd19126ae1
Fix debian package builds. ( #10931 ) ( #109 )
...
This was due to dh-virtualenv builds being broken due to Shpinx removing
deprecated APIs.
Co-authored-by: Erik Johnston <erik@matrix.org >
2021-11-03 15:16:44 +01:00
Brendan Abolivier
23e48a1f8e
Add a module API method to retrieve state from a room ( #11204 )
2021-11-01 14:24:25 +00:00
Brendan Abolivier
c9c1bed22c
Converge with mainline
...
Bring other callbacks to party with mainline, and fixup code calling to
the various callbacks.
2021-10-26 17:33:27 +01:00
Brendan Abolivier
dfcb52c24f
Add a spamchecker method to allow or deny 3pid invites ( #10894 )
...
This is in the context of creating new module callbacks that modules in https://github.com/matrix-org/synapse-dinsic can use, in an effort to reconcile the spam checker API in synapse-dinsic with the one in mainline.
Note that a module callback already exists for 3pid invites (https://matrix-org.github.io/synapse/develop/modules/third_party_rules_callbacks.html#check_threepid_can_be_invited ) but it doesn't check whether the sender of the invite is allowed to send it.
2021-10-26 11:29:27 +01:00
Brendan Abolivier
6bcb28bfd1
Add a spamchecker callback to allow or deny room joins ( #10910 )
...
Co-authored-by: Erik Johnston <erik@matrix.org >
2021-10-26 11:13:42 +01:00
Brendan Abolivier
262163c63c
Add a spamchecker callback to allow or deny room creation based on invites ( #10898 )
...
This is in the context of creating new module callbacks that modules in https://github.com/matrix-org/synapse-dinsic can use, in an effort to reconcile the spam checker API in synapse-dinsic with the one in mainline.
This adds a callback that's fairly similar to user_may_create_room except it also allows processing based on the invites sent at room creation.
2021-10-26 11:11:31 +01:00
Brendan Abolivier
95f29bce7f
Revert shadow HS support ( #104 )
...
Revert shadow HS support added in matrix-org/synapse#4145
Fixes matrix-org/matrix-dinsic#803
Part of that PR isn't reverted because it relates to matrix-org/matrix-dinsic#793
2021-09-27 16:12:12 +02:00
Brendan Abolivier
6b439a7d65
Remove duplicate job
...
Forgot to include this commit in #106
2021-09-27 12:29:36 +01:00
Brendan Abolivier
c16eb52571
Use correct tag for sytest ( #106 )
2021-09-27 13:26:50 +02:00
Brendan Abolivier
d55437772d
Use the BaseReporter super-class for _WrappedRustReporter ( #105 )
...
* Use the BaseReporter super-class for _WrappedRustReporter. (#10799 )
This fixes mypy errors with jaeger-client >= 4.7.0 and should be a no-op
for versions before that.
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com >
2021-09-22 17:00:54 +02:00
David Robertson
9ffa787eb2
Fix typo again
v1.43.0
2021-09-21 12:24:47 +01:00
David Robertson
9b5782d51d
Specify MSC name; fix typo
...
one day I'll learn how to spell hierarchy
2021-09-21 12:10:50 +01:00
David Robertson
c17e698e1b
Point to upgrade notes
2021-09-21 12:01:54 +01:00
David Robertson
6c92ba3eac
Move deprecation notice from 1.43 rc to release
2021-09-21 11:52:37 +01:00
David Robertson
c4ef61136f
1.43.0
2021-09-21 11:49:15 +01:00
David Robertson
4ed4ab0e93
Add hyperlink to #9424 in changelog
v1.43.0rc2
2021-09-17 10:48:07 +01:00
David Robertson
daac1e645c
1.43.0rc2
2021-09-17 10:43:51 +01:00
Erik Johnston
9a6f4a684f
Cleanup opentracing logging for syncs ( #10828 )
...
We added a bunch of spans in #10704 , but this ended up adding a lot of
redundant spans for rooms where nothing changed, so instead we only
start the span if there might be something interesting going on.
2021-09-15 17:14:25 +01:00
Andrew Morgan
474edce1c4
update changelog wording
v1.43.0rc1
2021-09-14 12:04:28 +01:00
Andrew Morgan
5acc2f1f6f
changelog improvements
2021-09-14 11:55:02 +01:00
Andrew Morgan
814b4be08e
update changelog wording
2021-09-14 11:52:19 +01:00
Andrew Morgan
8fdcf45be0
update wording
2021-09-14 11:48:34 +01:00
Andrew Morgan
d725e0956f
1.43.0rc1
2021-09-14 11:47:11 +01:00
Patrick Cloke
01c88a09cd
Use direct references for some configuration variables ( #10798 )
...
Instead of proxying through the magic getter of the RootConfig
object. This should be more performant (and is more explicit).
2021-09-13 13:07:12 -04:00
BramvdnHeuvel
9f111075e8
Fix copy-paste error in the password section of the sample-config. ( #10804 )
2021-09-13 08:58:34 -04:00
Patrick Cloke
003846d68a
Use the BaseReporter super-class for _WrappedRustReporter. ( #10799 )
...
This fixes mypy errors with jaeger-client >= 4.7.0 and should be a no-op
for versions before that.
2021-09-13 08:54:01 -04:00
reivilibre
524b8ead77
Add types to synapse.util. ( #10601 )
2021-09-10 17:03:18 +01:00
reivilibre
ceab5a4bfa
Fix 2 typos in docs/log_contexts.md ( #10795 )
2021-09-10 16:33:36 +01:00
Patrick Cloke
63f28e4a0c
Handle room upgrades for spaces ( #10774 )
...
By copying the `room_type` field of the create event and
migrating any non-empty `m.space.child` events to the
new room that is created.
2021-09-10 07:30:05 -04:00
David Robertson
318162f5de
Easy refactors of the user directory ( #10789 )
...
No functional changes here. This came out as I was working to tackle #5677
2021-09-10 10:54:38 +01:00
David Robertson
c6f5fb5477
Remove fixed and flakey tests from the sytest blacklist ( #10788 )
...
We want to blacklist only known, consistent failures. We should deflake tests rather than ignoring them.
2021-09-10 10:53:04 +01:00
AndrewFerr
0c0da36a68
Ask consent on SSO registration with default mxid ( #10733 )
...
Fixes #10732 : consent flow skipped during SSO user registration if username is left at default
Signed-off-by: Andrew Ferrazzutti fair@miscworks.net
2021-09-10 10:36:45 +01:00
Erik Johnston
7f0565e029
Don't needlessly batch in add_event_to_cache ( #10784 )
...
We've already batched up the events previously, and assume in other
places in the events.py file that we have. Removing this makes it easier
to adjust the batch sizes in one place.
2021-09-10 10:16:52 +01:00
Sean
273b6861f2
Remove unstable MSC2858 API, including experimental.msc2858_enabled config option ( #10693 )
...
Signed-off-by: Sean Quah <seanq@element.io >
2021-09-09 17:59:59 +01:00
Patrick Cloke
a621ba0259
Prefer room v9 for restricted rooms. ( #10772 )
...
Hint to clients via the room capabilities API (MSC3244) that
room version 9 should be preferred for creating a room with
restricted join rules (instead of room version 8).
2021-09-09 07:37:33 -04:00
Richard van der Hoff
abedf7d77f
Get rid of _auth_and_persist_event ( #10781 )
...
This is only called in two places, and the code seems much clearer without it.
2021-09-08 19:03:08 +01:00
Brendan Abolivier
03caba6577
Improve the modules doc ( #10758 )
...
* Split up the documentation in several files rather than one huge one
* Add examples for each callback category
* Other niceties like fixing https://github.com/matrix-org/synapse/issues/10632
* Add titles to callbacks so they're easier to find in the navigation panels and link to
2021-09-08 17:14:54 +00:00
kegsay
01df612e1e
Fix frontend_proxy jinja script in docker workers ( #10783 )
2021-09-08 17:24:53 +01:00
Brendan Abolivier
5154afc00d
Add a script to update the debian changelog for non-Debian systems ( #10778 )
...
When releasing 1.42.0 with @Azrenbeth and talking with @clokep yesterday I realised doing the dch incantations related to releasing Synapse wasn't trivial on eg a macOS system, so this is a script to run in a Debian container to make things a bit easier.
2021-09-08 17:03:25 +02:00