diff --git a/CHANGES.md b/CHANGES.md index f4f498ea93..0337374035 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,62 @@ +# Synapse 1.164.0rc1 (2026-10-20) + +## Features + +- MSC4140: Add a dedicated endpoint for scheduling delayed events. ([\#19354](https://github.com/element-hq/synapse/issues/19354)) +- Stabilise [MSC4222](https://github.com/matrix-org/matrix-spec-proposals/pull/4222): support the stable `use_state_after` query parameter and `state_after` response field on `/sync`, as per Matrix v1.16, and remove the `msc4222_enabled` experimental config flag. ([\#20170](https://github.com/element-hq/synapse/issues/20170)) +- Require authentication for the [MSC4140](https://github.com/matrix-org/matrix-spec-proposals/pull/4140) delayed event management endpoints, restrict them to the requesting user's own delayed events, and allow guests to use them. ([\#20257](https://github.com/element-hq/synapse/issues/20257)) +- [MSC4140: Cancellable delayed events](https://github.com/matrix-org/matrix-spec-proposals/pull/4140): Reject requests to schedule a delayed event that the sender could not send at that time, such as in a room they are not joined to, unless the event changes their own membership. ([\#20266](https://github.com/element-hq/synapse/issues/20266)) +- Add the `m.preview_url` capability (stabilizes support for MSC4452). ([\#20298](https://github.com/element-hq/synapse/issues/20298)) +- Advertise support for Matrix v1.16. ([\#20333](https://github.com/element-hq/synapse/issues/20333)) +- Advertise support for Matrix v1.17. ([\#20334](https://github.com/element-hq/synapse/issues/20334)) +- Catch up historical [MSC4354 Sticky Events](https://github.com/matrix-org/matrix-spec-proposals/pull/4354) to remote homeservers that are newly joining the room. ([\#20337](https://github.com/element-hq/synapse/issues/20337)) +- In legacy sync, lazy-load the memberships of the senders of [MSC4354 Sticky Events](https://github.com/matrix-org/matrix-spec-proposals/pull/4354). ([\#20362](https://github.com/element-hq/synapse/issues/20362)) + +## Bugfixes + +- Fix media uploads that exceed a configured `media_upload_limits` limit leaving an orphaned file on disk with no corresponding database entry. ([\#20006](https://github.com/element-hq/synapse/issues/20006)) +- Fix the leave event being missing from `state_after` ([MSC4222](https://github.com/matrix-org/matrix-spec-proposals/pull/4222)) on incremental `/sync` when the leaving user was the last local user in the room. ([\#20081](https://github.com/element-hq/synapse/issues/20081)) +- Reject setting `null` profile field values (following [an optional clause in the specification](https://spec.matrix.org/v1.19/client-server-api/#put_matrixclientv3profileuseridkeyname:~:text=Servers%20MAY%20reject%20null%20values%2E)), in order to avoid clients accidentally harming interoperability. ([\#20153](https://github.com/element-hq/synapse/issues/20153)) +- Fix a bug where server-default push rules that are disabled by the server's configuration, and thus not served to clients, could still be modified through the client API instead of returning a 404. ([\#20202](https://github.com/element-hq/synapse/issues/20202)) +- Default `request_token_inhibit_3pid_errors` to `true` to prevent `/requestToken` endpoints from revealing whether an email address is associated with an account. Contributed by @Manixhor. ([\#20243](https://github.com/element-hq/synapse/issues/20243)) +- Stop queueing events and ephemeral data for application services registered with `url: null` (such as bridges' double-puppeting registrations), which wasted work on every matching event and, when no other application service was registered, made Synapse read through its whole event history. ([\#20273](https://github.com/element-hq/synapse/issues/20273)) +- Apply the [MSC4354 Sticky Events](https://github.com/matrix-org/matrix-spec-proposals/pull/4354) history visibility exemptions on all client-server endpoints. ([\#20295](https://github.com/element-hq/synapse/issues/20295)) +- Set up `un_partial_stated_room_stream_sequence` during SQLite -> PostgreSQL DB porting, preventing a PostgreSQL sequence inconsistency error on startup. ([\#20302](https://github.com/element-hq/synapse/issues/20302)) +- Fix new state saved with the last local user's leave being missing from `state_after` ([MSC4222](https://github.com/matrix-org/matrix-spec-proposals/pull/4222)) on incremental `/sync`. ([\#20314](https://github.com/element-hq/synapse/issues/20314)) +- Fix verbose Pydantic validation error messages leaking internal details in client API error responses. ([\#20321](https://github.com/element-hq/synapse/issues/20321)) +- Prevent [MSC4354 Sticky Events](https://github.com/matrix-org/matrix-spec-proposals/pull/4354) being sticky when they were redacted in the same persistence batch. ([\#20322](https://github.com/element-hq/synapse/issues/20322)) +- Remove the stickiness of [MSC4354 Sticky Events](https://github.com/matrix-org/matrix-spec-proposals/pull/4354) when they are redacted after persistence. ([\#20323](https://github.com/element-hq/synapse/issues/20323)) +- Fix the expiry of [MSC4354 Sticky Events](https://github.com/matrix-org/matrix-spec-proposals/pull/4354) being reported differently to how the server tracks them. ([\#20324](https://github.com/element-hq/synapse/issues/20324)) +- Filter out [MSC4426](https://github.com/matrix-org/matrix-spec-proposals/pull/4426) User Status fields for remote user profile lookups which become stale on clients without [MSC4259](https://github.com/matrix-org/matrix-spec-proposals/pull/4259) to get updates about profiles over federation. ([\#20328](https://github.com/element-hq/synapse/issues/20328)) +- Stop forwarding non-compliant (grandfathered historical) remote user IDs to clients outside the context of an event, by dropping their incoming presence, typing, read receipt, to-device and signing key updates, and by leaving them out of `/sync` device list changes and newly joined users' presence, as per [the spec](https://spec.matrix.org/v1.19/appendices/#historical-user-ids). ([\#20338](https://github.com/element-hq/synapse/issues/20338)) +- Fix a bug introduced in Synapse v1.130.0 where Sliding Sync would consider a displayname or avatar change in a room to mean that room was newly-joined. ([\#20339](https://github.com/element-hq/synapse/issues/20339)) + +## Improved Documentation + +- Document that the `/auth_metadata` endpoints can be handled by workers. ([\#20331](https://github.com/element-hq/synapse/issues/20331)) +- Fix `complete` task status typo in `/redact_status` admin API docs. ([\#20379](https://github.com/element-hq/synapse/issues/20379)) +- Update `/redact_status` admin API docs to reflect better response example and document the `error` field. ([\#20380](https://github.com/element-hq/synapse/issues/20380)) + +## Deprecations and Removals + +- [MSC4140: Cancellable delayed events](https://github.com/matrix-org/matrix-spec-proposals/pull/4140): No longer cancel a user's delayed state events due to a more recent state event sent from a different user. ([\#19495](https://github.com/element-hq/synapse/issues/19495)) +- Remove support for unstable [MSC2965](https://github.com/matrix-org/matrix-spec-proposals/pull/2965) `.well-known` endpoint. ([\#20143](https://github.com/element-hq/synapse/issues/20143)) +- Remove the legacy mention push rules by default, as per [MSC4210](https://github.com/matrix-org/matrix-spec-proposals/pull/4210). The `experimental_features.msc4210_enabled` flag now defaults to `true`. ([\#20220](https://github.com/element-hq/synapse/issues/20220)) + +## Internal Changes + +- Add foundations for a Rust backed database pool and bump minimum supported Rust version to 1.85.0. ([\#19996](https://github.com/element-hq/synapse/issues/19996)) +- Stop reading from `event_edges.is_state` to prepare for dropping it. The column has been obsolete since Synapse 1.62.0. ([\#20069](https://github.com/element-hq/synapse/issues/20069)) +- Add support for joining [MSC4242](https://github.com/matrix-org/matrix-spec-proposals/pull/4242) rooms over federation. ([\#20194](https://github.com/element-hq/synapse/issues/20194)) +- Add a clock to the Rust side of Synapse, and use it in the rendezvous handlers. ([\#20294](https://github.com/element-hq/synapse/issues/20294)) +- Add `received_ts` to the in-memory event internal metadata struct. ([\#20312](https://github.com/element-hq/synapse/issues/20312)) +- Speed up push rule evaluation by not checking rules for the sender. ([\#20315](https://github.com/element-hq/synapse/issues/20315)) +- Require a strictly positive stickiness duration for [MSC4354 Sticky Events](https://github.com/matrix-org/matrix-spec-proposals/pull/4354). ([\#20350](https://github.com/element-hq/synapse/issues/20350)) +- Remove unused `lxml` packaging and type-stub dependencies, and update URL-preview tests to check for BeautifulSoup instead. ([\#20356](https://github.com/element-hq/synapse/issues/20356)) + + + + # Synapse 1.163.0 (2026-10-14) ## Bugfixes diff --git a/changelog.d/19354.feature b/changelog.d/19354.feature deleted file mode 100644 index 3d4e79e687..0000000000 --- a/changelog.d/19354.feature +++ /dev/null @@ -1 +0,0 @@ -MSC4140: Add a dedicated endpoint for scheduling delayed events. diff --git a/changelog.d/19495.removal b/changelog.d/19495.removal deleted file mode 100644 index 06e53d3969..0000000000 --- a/changelog.d/19495.removal +++ /dev/null @@ -1 +0,0 @@ -[MSC4140: Cancellable delayed events](https://github.com/matrix-org/matrix-spec-proposals/pull/4140): No longer cancel a user's delayed state events due to a more recent state event sent from a different user. diff --git a/changelog.d/19996.misc b/changelog.d/19996.misc deleted file mode 100644 index 0666dcaaa7..0000000000 --- a/changelog.d/19996.misc +++ /dev/null @@ -1 +0,0 @@ -Add foundations for a Rust backed database pool and bump minimum supported Rust version to 1.85.0. diff --git a/changelog.d/20006.bugfix b/changelog.d/20006.bugfix deleted file mode 100644 index 0f51cc870c..0000000000 --- a/changelog.d/20006.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix media uploads that exceed a configured `media_upload_limits` limit leaving an orphaned file on disk with no corresponding database entry. diff --git a/changelog.d/20069.misc b/changelog.d/20069.misc deleted file mode 100644 index 474f95d0e6..0000000000 --- a/changelog.d/20069.misc +++ /dev/null @@ -1 +0,0 @@ -Stop reading from `event_edges.is_state` to prepare for dropping it. The column has been obsolete since Synapse 1.62.0. \ No newline at end of file diff --git a/changelog.d/20081.bugfix b/changelog.d/20081.bugfix deleted file mode 100644 index c927f19e2a..0000000000 --- a/changelog.d/20081.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix the leave event being missing from `state_after` ([MSC4222](https://github.com/matrix-org/matrix-spec-proposals/pull/4222)) on incremental `/sync` when the leaving user was the last local user in the room. diff --git a/changelog.d/20143.removal b/changelog.d/20143.removal deleted file mode 100644 index 1861595cc6..0000000000 --- a/changelog.d/20143.removal +++ /dev/null @@ -1 +0,0 @@ -Remove support for unstable [MSC2965](https://github.com/matrix-org/matrix-spec-proposals/pull/2965) `.well-known` endpoint. diff --git a/changelog.d/20153.bugfix b/changelog.d/20153.bugfix deleted file mode 100644 index c42d7af883..0000000000 --- a/changelog.d/20153.bugfix +++ /dev/null @@ -1,2 +0,0 @@ -Reject setting `null` profile field values (following [an optional clause in the specification](https://spec.matrix.org/v1.19/client-server-api/#put_matrixclientv3profileuseridkeyname:~:text=Servers%20MAY%20reject%20null%20values%2E)), in order to avoid clients accidentally harming interoperability. - diff --git a/changelog.d/20170.feature b/changelog.d/20170.feature deleted file mode 100644 index aa271eb45f..0000000000 --- a/changelog.d/20170.feature +++ /dev/null @@ -1 +0,0 @@ -Stabilise [MSC4222](https://github.com/matrix-org/matrix-spec-proposals/pull/4222): support the stable `use_state_after` query parameter and `state_after` response field on `/sync`, as per Matrix v1.16, and remove the `msc4222_enabled` experimental config flag. diff --git a/changelog.d/20194.misc b/changelog.d/20194.misc deleted file mode 100644 index 40cdf30f80..0000000000 --- a/changelog.d/20194.misc +++ /dev/null @@ -1 +0,0 @@ -Add support for joining [MSC4242](https://github.com/matrix-org/matrix-spec-proposals/pull/4242) rooms over federation. diff --git a/changelog.d/20202.bugfix b/changelog.d/20202.bugfix deleted file mode 100644 index 3416987fc8..0000000000 --- a/changelog.d/20202.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix a bug where server-default push rules that are disabled by the server's configuration, and thus not served to clients, could still be modified through the client API instead of returning a 404. diff --git a/changelog.d/20220.removal b/changelog.d/20220.removal deleted file mode 100644 index 245a1592ff..0000000000 --- a/changelog.d/20220.removal +++ /dev/null @@ -1 +0,0 @@ -Remove the legacy mention push rules by default, as per [MSC4210](https://github.com/matrix-org/matrix-spec-proposals/pull/4210). The `experimental_features.msc4210_enabled` flag now defaults to `true`. diff --git a/changelog.d/20243.bugfix b/changelog.d/20243.bugfix deleted file mode 100644 index 8cb821303e..0000000000 --- a/changelog.d/20243.bugfix +++ /dev/null @@ -1 +0,0 @@ -Default `request_token_inhibit_3pid_errors` to `true` to prevent `/requestToken` endpoints from revealing whether an email address is associated with an account. Contributed by @Manixhor. diff --git a/changelog.d/20257.feature b/changelog.d/20257.feature deleted file mode 100644 index 8bda322dc4..0000000000 --- a/changelog.d/20257.feature +++ /dev/null @@ -1 +0,0 @@ -Require authentication for the [MSC4140](https://github.com/matrix-org/matrix-spec-proposals/pull/4140) delayed event management endpoints, restrict them to the requesting user's own delayed events, and allow guests to use them. diff --git a/changelog.d/20266.feature b/changelog.d/20266.feature deleted file mode 100644 index d6208770f9..0000000000 --- a/changelog.d/20266.feature +++ /dev/null @@ -1 +0,0 @@ -[MSC4140: Cancellable delayed events](https://github.com/matrix-org/matrix-spec-proposals/pull/4140): Reject requests to schedule a delayed event that the sender could not send at that time, such as in a room they are not joined to, unless the event changes their own membership. diff --git a/changelog.d/20273.bugfix b/changelog.d/20273.bugfix deleted file mode 100644 index d55b641c75..0000000000 --- a/changelog.d/20273.bugfix +++ /dev/null @@ -1 +0,0 @@ -Stop queueing events and ephemeral data for application services registered with `url: null` (such as bridges' double-puppeting registrations), which wasted work on every matching event and, when no other application service was registered, made Synapse read through its whole event history. diff --git a/changelog.d/20294.misc b/changelog.d/20294.misc deleted file mode 100644 index 45b6efc572..0000000000 --- a/changelog.d/20294.misc +++ /dev/null @@ -1 +0,0 @@ -Add a clock to the Rust side of Synapse, and use it in the rendezvous handlers. diff --git a/changelog.d/20295.bugfix b/changelog.d/20295.bugfix deleted file mode 100644 index 85e428acb2..0000000000 --- a/changelog.d/20295.bugfix +++ /dev/null @@ -1 +0,0 @@ -Apply the [MSC4354 Sticky Events](https://github.com/matrix-org/matrix-spec-proposals/pull/4354) history visibility exemptions on all client-server endpoints. \ No newline at end of file diff --git a/changelog.d/20298.feature b/changelog.d/20298.feature deleted file mode 100644 index cf2479f571..0000000000 --- a/changelog.d/20298.feature +++ /dev/null @@ -1 +0,0 @@ -Add the `m.preview_url` capability (stabilizes support for MSC4452). diff --git a/changelog.d/20302.bugfix b/changelog.d/20302.bugfix deleted file mode 100644 index f563c2959d..0000000000 --- a/changelog.d/20302.bugfix +++ /dev/null @@ -1 +0,0 @@ -Set up `un_partial_stated_room_stream_sequence` during SQLite -> PostgreSQL DB porting, preventing a PostgreSQL sequence inconsistency error on startup. diff --git a/changelog.d/20312.misc b/changelog.d/20312.misc deleted file mode 100644 index e56408bda7..0000000000 --- a/changelog.d/20312.misc +++ /dev/null @@ -1 +0,0 @@ -Add `received_ts` to the in-memory event internal metadata struct. \ No newline at end of file diff --git a/changelog.d/20314.bugfix b/changelog.d/20314.bugfix deleted file mode 100644 index f48f96aa82..0000000000 --- a/changelog.d/20314.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix new state saved with the last local user's leave being missing from `state_after` ([MSC4222](https://github.com/matrix-org/matrix-spec-proposals/pull/4222)) on incremental `/sync`. diff --git a/changelog.d/20315.misc b/changelog.d/20315.misc deleted file mode 100644 index c4ae25ed03..0000000000 --- a/changelog.d/20315.misc +++ /dev/null @@ -1 +0,0 @@ -Speed up push rule evaluation by not checking rules for the sender. diff --git a/changelog.d/20321.bugfix b/changelog.d/20321.bugfix deleted file mode 100644 index 09d9884530..0000000000 --- a/changelog.d/20321.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix verbose Pydantic validation error messages leaking internal details in client API error responses. diff --git a/changelog.d/20322.bugfix b/changelog.d/20322.bugfix deleted file mode 100644 index 3614b64d8a..0000000000 --- a/changelog.d/20322.bugfix +++ /dev/null @@ -1 +0,0 @@ -Prevent [MSC4354 Sticky Events](https://github.com/matrix-org/matrix-spec-proposals/pull/4354) being sticky when they were redacted in the same persistence batch. \ No newline at end of file diff --git a/changelog.d/20323.bugfix b/changelog.d/20323.bugfix deleted file mode 100644 index 7b5cd5fbef..0000000000 --- a/changelog.d/20323.bugfix +++ /dev/null @@ -1 +0,0 @@ -Remove the stickiness of [MSC4354 Sticky Events](https://github.com/matrix-org/matrix-spec-proposals/pull/4354) when they are redacted after persistence. \ No newline at end of file diff --git a/changelog.d/20324.bugfix b/changelog.d/20324.bugfix deleted file mode 100644 index 62478357dd..0000000000 --- a/changelog.d/20324.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix the expiry of [MSC4354 Sticky Events](https://github.com/matrix-org/matrix-spec-proposals/pull/4354) being reported differently to how the server tracks them. \ No newline at end of file diff --git a/changelog.d/20328.bugfix b/changelog.d/20328.bugfix deleted file mode 100644 index 54d33d0d47..0000000000 --- a/changelog.d/20328.bugfix +++ /dev/null @@ -1 +0,0 @@ -Filter out [MSC4426](https://github.com/matrix-org/matrix-spec-proposals/pull/4426) User Status fields for remote user profile lookups which become stale on clients without [MSC4259](https://github.com/matrix-org/matrix-spec-proposals/pull/4259) to get updates about profiles over federation. \ No newline at end of file diff --git a/changelog.d/20331.doc b/changelog.d/20331.doc deleted file mode 100644 index 6c6ece86ce..0000000000 --- a/changelog.d/20331.doc +++ /dev/null @@ -1 +0,0 @@ -Document that the `/auth_metadata` endpoints can be handled by workers. diff --git a/changelog.d/20333.feature b/changelog.d/20333.feature deleted file mode 100644 index aab5c8f812..0000000000 --- a/changelog.d/20333.feature +++ /dev/null @@ -1 +0,0 @@ -Advertise support for Matrix v1.16. diff --git a/changelog.d/20334.feature b/changelog.d/20334.feature deleted file mode 100644 index e8483f344f..0000000000 --- a/changelog.d/20334.feature +++ /dev/null @@ -1 +0,0 @@ -Advertise support for Matrix v1.17. diff --git a/changelog.d/20337.feature b/changelog.d/20337.feature deleted file mode 100644 index b2050b8548..0000000000 --- a/changelog.d/20337.feature +++ /dev/null @@ -1 +0,0 @@ -Catch up historical [MSC4354 Sticky Events](https://github.com/matrix-org/matrix-spec-proposals/pull/4354) to remote homeservers that are newly joining the room. \ No newline at end of file diff --git a/changelog.d/20338.bugfix b/changelog.d/20338.bugfix deleted file mode 100644 index 18fb50e741..0000000000 --- a/changelog.d/20338.bugfix +++ /dev/null @@ -1 +0,0 @@ -Stop forwarding non-compliant (grandfathered historical) remote user IDs to clients outside the context of an event, by dropping their incoming presence, typing, read receipt, to-device and signing key updates, and by leaving them out of `/sync` device list changes and newly joined users' presence, as per [the spec](https://spec.matrix.org/v1.19/appendices/#historical-user-ids). diff --git a/changelog.d/20339.bugfix b/changelog.d/20339.bugfix deleted file mode 100644 index 1f4cfc53dc..0000000000 --- a/changelog.d/20339.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix a bug introduced in Synapse v1.130.0 where Sliding Sync would consider a displayname or avatar change in a room to mean that room was newly-joined. \ No newline at end of file diff --git a/changelog.d/20350.misc b/changelog.d/20350.misc deleted file mode 100644 index 5eb9ec959c..0000000000 --- a/changelog.d/20350.misc +++ /dev/null @@ -1 +0,0 @@ -Require a strictly positive stickiness duration for [MSC4354 Sticky Events](https://github.com/matrix-org/matrix-spec-proposals/pull/4354). \ No newline at end of file diff --git a/changelog.d/20356.misc b/changelog.d/20356.misc deleted file mode 100644 index 8279850972..0000000000 --- a/changelog.d/20356.misc +++ /dev/null @@ -1 +0,0 @@ -Remove unused `lxml` packaging and type-stub dependencies, and update URL-preview tests to check for BeautifulSoup instead. diff --git a/changelog.d/20362.feature b/changelog.d/20362.feature deleted file mode 100644 index c9acabecf9..0000000000 --- a/changelog.d/20362.feature +++ /dev/null @@ -1 +0,0 @@ -In legacy sync, lazy-load the memberships of the senders of [MSC4354 Sticky Events](https://github.com/matrix-org/matrix-spec-proposals/pull/4354). \ No newline at end of file diff --git a/changelog.d/20379.doc b/changelog.d/20379.doc deleted file mode 100644 index baffd79c68..0000000000 --- a/changelog.d/20379.doc +++ /dev/null @@ -1 +0,0 @@ -Fix `complete` task status typo in `/redact_status` admin API docs. diff --git a/changelog.d/20380.doc b/changelog.d/20380.doc deleted file mode 100644 index de359fad75..0000000000 --- a/changelog.d/20380.doc +++ /dev/null @@ -1 +0,0 @@ -Update `/redact_status` admin API docs to reflect better response example and document the `error` field. diff --git a/debian/changelog b/debian/changelog index f54149e400..735acf05cf 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,9 @@ -matrix-synapse-py3 (1.163.0+unreleased1) UNRELEASED; urgency=medium +matrix-synapse-py3 (1.164.0~rc1) stable; urgency=medium * Stop preinstalling the unused Python lxml package. + * New synapse release 1.164.0rc1. - -- Synapse Packaging team Wed, 14 Oct 2026 11:30:04 +0100 + -- Synapse Packaging team Tue, 20 Oct 2026 14:46:37 +0000 matrix-synapse-py3 (1.163.0) stable; urgency=medium diff --git a/pyproject.toml b/pyproject.toml index 2454a8429d..23c1e22500 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "matrix-synapse" -version = "1.163.0" +version = "1.164.0rc1" description = "Homeserver for the Matrix decentralised comms protocol" readme = "README.rst" authors = [ diff --git a/schema/synapse-config.schema.yaml b/schema/synapse-config.schema.yaml index 0ab65a5300..22ed084c72 100644 --- a/schema/synapse-config.schema.yaml +++ b/schema/synapse-config.schema.yaml @@ -1,5 +1,5 @@ $schema: https://element-hq.github.io/synapse/latest/schema/v1/meta.schema.json -$id: https://element-hq.github.io/synapse/schema/synapse/v1.163/synapse-config.schema.json +$id: https://element-hq.github.io/synapse/schema/synapse/v1.164/synapse-config.schema.json type: object properties: modules: