Merge remote-tracking branch 'origin/release-v1.98' into matrix-org-hotfixes

This commit is contained in:
Erik Johnston 2023-12-05 16:14:32 +00:00
commit f0b69250b5
147 changed files with 81 additions and 240 deletions

View File

@ -1,3 +1,76 @@
# Synapse 1.98.0rc1 (2023-12-05)
Synapse 1.98.0 will be the last Synapse release in 2023; the regular release cadence will resume in January 2024.
Synapse will soon be forked by Element under an AGPLv3.0 licence (with CLA, for
proprietary dual licensing). You can read more about this here:
- https://matrix.org/blog/2023/11/06/future-of-synapse-dendrite/
- https://element.io/blog/element-to-adopt-agplv3/
The Matrix.org Foundation copy of the project will be archived. Any changes needed
by server administrators will be communicated via our usual announcements channels,
but we are striving to make this as seamless as possible.
### Features
- Synapse now declares support for Matrix v1.7, v1.8, and v1.9. ([\#16707](https://github.com/matrix-org/synapse/issues/16707))
- Add `on_user_login` [module API](https://matrix-org.github.io/synapse/latest/modules/writing_a_module.html) callback allowing to execute custom code after (on) Auth. ([\#15207](https://github.com/matrix-org/synapse/issues/15207))
- Support [MSC4069: Inhibit profile propagation](https://github.com/matrix-org/matrix-spec-proposals/pull/4069). ([\#16636](https://github.com/matrix-org/synapse/issues/16636))
- Restore tracking of requests and monthly active users when delegating authentication via [MSC3861](https://github.com/matrix-org/synapse/pull/16672) to an OIDC provider. ([\#16672](https://github.com/matrix-org/synapse/issues/16672))
- Add an autojoin setting for server notices rooms, so users may be joined directly instead of receiving an invite. ([\#16699](https://github.com/matrix-org/synapse/issues/16699))
- Follow redirects when downloading media over federation (per [MSC3860](https://github.com/matrix-org/matrix-spec-proposals/pull/3860)). ([\#16701](https://github.com/matrix-org/synapse/issues/16701))
### Bugfixes
- Enable refreshable tokens on the admin registration endpoint. ([\#16642](https://github.com/matrix-org/synapse/issues/16642))
- Consistently bypass rate limits when using the server notice admin API. ([\#16670](https://github.com/matrix-org/synapse/issues/16670))
- Fix a bug introduced in Synapse 1.7.2 where rooms whose power levels lacked an `events` field could not be upgraded. ([\#16725](https://github.com/matrix-org/synapse/issues/16725))
- Fix `GET /_synapse/admin/v1/federation/destinations` [admin API](https://matrix-org.github.io/synapse/latest/usage/administration/admin_api/index.html) returning null (instead of 0) for `retry_last_ts` and `retry_interval`. ([\#16729](https://github.com/matrix-org/synapse/issues/16729))
### Improved Documentation
- Add schema rollback information to documentation. ([\#16661](https://github.com/matrix-org/synapse/issues/16661))
- Fix poetry version typo in the [contributors' guide](https://matrix-org.github.io/synapse/latest/development/contributing_guide.html). ([\#16695](https://github.com/matrix-org/synapse/issues/16695))
- Switch the example UNIX socket paths to `/run`. Add HAProxy example configuration for UNIX sockets. ([\#16700](https://github.com/matrix-org/synapse/issues/16700))
- Add documentation for how to validate the configuration file with `synapse.config` script. ([\#16714](https://github.com/matrix-org/synapse/issues/16714))
### Internal Changes
- Clean-up unused tables. ([\#16522](https://github.com/matrix-org/synapse/issues/16522))
- Reduce a little database load while processing state auth chains. ([\#16552](https://github.com/matrix-org/synapse/issues/16552))
- Reduce database load of pruning old `user_ips`. ([\#16667](https://github.com/matrix-org/synapse/issues/16667))
- Reduce DB load when forget on leave setting is disabled. ([\#16668](https://github.com/matrix-org/synapse/issues/16668))
- Ignore `encryption_enabled_by_default_for_room_type` setting when creating server notices room, since the notices will be send unencrypted anyway. ([\#16677](https://github.com/matrix-org/synapse/issues/16677))
- Correctly read the to-device stream ID on startup using SQLite. ([\#16682](https://github.com/matrix-org/synapse/issues/16682))
- Reoranganise test files. ([\#16684](https://github.com/matrix-org/synapse/issues/16684))
- Remove old full schema dumps which are no longer used. ([\#16697](https://github.com/matrix-org/synapse/issues/16697))
- Raise poetry-core upper bound to <=1.8.1. This allows contributors to import Synapse after `poetry install`ing with Poetry 1.6 and above. Contributed by Mo Balaa. ([\#16702](https://github.com/matrix-org/synapse/issues/16702))
- Add a workflow to try and automatically fixup linting in a PR. ([\#16704](https://github.com/matrix-org/synapse/issues/16704))
### Updates to locked dependencies
* Bump cryptography from 41.0.5 to 41.0.6. ([\#16703](https://github.com/matrix-org/synapse/issues/16703))
* Bump cryptography from 41.0.6 to 41.0.7. ([\#16721](https://github.com/matrix-org/synapse/issues/16721))
* Bump idna from 3.4 to 3.6. ([\#16720](https://github.com/matrix-org/synapse/issues/16720))
* Bump jsonschema from 4.19.1 to 4.20.0. ([\#16692](https://github.com/matrix-org/synapse/issues/16692))
* Bump matrix-org/netlify-pr-preview from 2 to 3. ([\#16719](https://github.com/matrix-org/synapse/issues/16719))
* Bump phonenumbers from 8.13.23 to 8.13.26. ([\#16722](https://github.com/matrix-org/synapse/issues/16722))
* Bump prometheus-client from 0.18.0 to 0.19.0. ([\#16691](https://github.com/matrix-org/synapse/issues/16691))
* Bump pyasn1 from 0.5.0 to 0.5.1. ([\#16689](https://github.com/matrix-org/synapse/issues/16689))
* Bump pydantic from 2.4.2 to 2.5.1. ([\#16663](https://github.com/matrix-org/synapse/issues/16663))
* Bump pyo3 (0.19.2→0.20.0), pythonize (0.19.0→0.20.0) and pyo3-log (0.8.1→0.9.0). ([\#16673](https://github.com/matrix-org/synapse/issues/16673))
* Bump pyopenssl from 23.2.0 to 23.3.0. ([\#16662](https://github.com/matrix-org/synapse/issues/16662))
* Bump ruff from 0.1.4 to 0.1.6. ([\#16690](https://github.com/matrix-org/synapse/issues/16690))
* Bump sentry-sdk from 1.32.0 to 1.35.0. ([\#16666](https://github.com/matrix-org/synapse/issues/16666))
* Bump serde from 1.0.192 to 1.0.193. ([\#16693](https://github.com/matrix-org/synapse/issues/16693))
* Bump sphinx-autodoc2 from 0.4.2 to 0.5.0. ([\#16723](https://github.com/matrix-org/synapse/issues/16723))
* Bump types-jsonschema from 4.19.0.4 to 4.20.0.0. ([\#16724](https://github.com/matrix-org/synapse/issues/16724))
* Bump types-pillow from 10.1.0.0 to 10.1.0.2. ([\#16664](https://github.com/matrix-org/synapse/issues/16664))
* Bump types-psycopg2 from 2.9.21.15 to 2.9.21.16. ([\#16665](https://github.com/matrix-org/synapse/issues/16665))
* Bump types-setuptools from 68.2.0.0 to 68.2.0.2. ([\#16688](https://github.com/matrix-org/synapse/issues/16688))
# Synapse 1.97.0 (2023-11-28)
Synapse will soon be forked by Element under an AGPLv3.0 licence (with CLA, for

View File

@ -1 +0,0 @@
Adds on_user_login ModuleAPI callback allowing to execute custom code after (on) Auth.

View File

@ -1 +0,0 @@
Clean-up unused tables.

View File

@ -1 +0,0 @@
Reduce a little database load while processing state auth chains.

View File

@ -1 +0,0 @@
Support MSC4069: Inhibit profile propagation.

View File

@ -1 +0,0 @@
Enable refreshable tokens on the admin registration endpoint.

View File

@ -1 +0,0 @@
Add a Postgres `REPLICA IDENTITY` to tables that do not have an implicit one. This should allow use of Postgres logical replication.

View File

@ -1 +0,0 @@
Add schema rollback information to documentation.

View File

@ -1 +0,0 @@
Reduce database load of pruning old `user_ips`.

View File

@ -1 +0,0 @@
Reduce DB load when forget on leave setting is disabled.

View File

@ -1 +0,0 @@
Consistently bypass rate limits when using the server notice admin API.

View File

@ -1 +0,0 @@
Restore tracking of requests and monthly active users when delegating authentication to an [MSC3861](https://github.com/matrix-org/synapse/pull/16672) OIDC provider.

View File

@ -1 +0,0 @@
Bump pyo3 (0.19.2→0.20.0), pythonize (0.19.0→0.20.0) and pyo3-log (0.8.1→0.9.0).

View File

@ -1 +0,0 @@
Ignore `encryption_enabled_by_default_for_room_type` setting when creating server notices room, since the notices will be send unencrypted anyway.

View File

@ -1 +0,0 @@
Correctly read the to-device stream ID on startup using SQLite.

View File

@ -1 +0,0 @@
Reoranganise test files.

View File

@ -1 +0,0 @@
Fix poetry version typo in [contributors' guide](https://matrix-org.github.io/synapse/latest/development/contributing_guide.html).

View File

@ -1 +0,0 @@
Remove old full schema dumps which are no longer used.

View File

@ -1 +0,0 @@
Add an autojoin setting for the notices room so users get joined directly instead of receiving an invite.

View File

@ -1 +0,0 @@
Switch the example UNIX socket paths to /run. Add HAProxy example configuration for UNIX sockets.

View File

@ -1 +0,0 @@
Follow redirects when downloading media over federation (per [MSC3860](https://github.com/matrix-org/matrix-spec-proposals/pull/3860)).

View File

@ -1 +0,0 @@
Raise poetry-core upper bound to <=1.8.1. This allows contributors to import Synapse after `poetry install`ing with Poetry 1.6 and above. Contributed by Mo Balaa.

View File

@ -1 +0,0 @@
Add a workflow to try and automatically fixup linting in a PR.

View File

@ -1 +0,0 @@
Synapse now declares support for Matrix v1.7, v1.8, and v1.9.

View File

@ -1 +0,0 @@
Add documentation for how to validate the configuration file with synapse.config script.

View File

@ -1 +0,0 @@
Fix a bug introduced in Synapse 1.7.2 where rooms whose power levels lacked an `events` field could not be upgraded.

View File

@ -1 +0,0 @@
Fix GET /_synapse/admin/v1/federation/destinations returning null (instead of 0) for `retry_last_ts` and `retry_interval`.

View File

@ -1 +0,0 @@
Add a Postgres `REPLICA IDENTITY` to tables that do not have an implicit one. This should allow use of Postgres logical replication.

6
debian/changelog vendored
View File

@ -1,3 +1,9 @@
matrix-synapse-py3 (1.98.0~rc1) stable; urgency=medium
* New Synapse release 1.98.0rc1.
-- Synapse Packaging team <packages@matrix.org> Tue, 05 Dec 2023 13:08:42 +0000
matrix-synapse-py3 (1.97.0) stable; urgency=medium
* New Synapse release 1.97.0.

View File

@ -96,7 +96,7 @@ module-name = "synapse.synapse_rust"
[tool.poetry]
name = "matrix-synapse"
version = "1.97.0"
version = "1.98.0rc1"
description = "Homeserver for the Matrix decentralised comms protocol"
authors = ["Matrix.org Team and Contributors <packages@matrix.org>"]
license = "Apache-2.0"

View File

@ -1 +0,0 @@
ALTER TABLE applied_module_schemas REPLICA IDENTITY USING INDEX applied_module_schemas_module_name_file_key;

View File

@ -1 +0,0 @@
ALTER TABLE applied_schema_deltas REPLICA IDENTITY USING INDEX applied_schema_deltas_version_file_key;

View File

@ -1 +0,0 @@
ALTER TABLE background_updates REPLICA IDENTITY USING INDEX background_updates_uniqueness;

View File

@ -1 +0,0 @@
ALTER TABLE schema_compat_version REPLICA IDENTITY USING INDEX schema_compat_version_lock_key;

View File

@ -1 +0,0 @@
ALTER TABLE schema_version REPLICA IDENTITY USING INDEX schema_version_lock_key;

View File

@ -1,13 +0,0 @@
The `10_replica_identity_xxx.sql.postgres` series of schema deltas adds replica identities for tables that do not have one implicitly as a result of having a primary key.
This is needed to use logical replication with Synapse (at least without `UPDATE` and `DELETE` statements failing!).
Where possible, we use an existing `UNIQUE` index on `NOT NULL` columns as the replica identity. Otherwise, we have to fall back to using the full row as a replica identity.
Unfortunately, by running all the `ALTER TABLE` statements in one schema delta per database, it was too likely to hit a deadlock as it would only take
one other transaction from a running Synapse worker to access the tables out of order and trigger a deadlock.
By having each statement in its own delta file, each one is run in its own transaction and only needs to take a very brief (instant) lock on the table but no other tables,
so there should be no chance of deadlock.
Like many schema deltas we already apply to Synapse, it is probably blocked by an ongoing `pg_dump`.

View File

@ -1 +0,0 @@
ALTER TABLE account_data REPLICA IDENTITY USING INDEX account_data_uniqueness;

View File

@ -1 +0,0 @@
ALTER TABLE application_services_txns REPLICA IDENTITY USING INDEX application_services_txns_as_id_txn_id_key;

View File

@ -1 +0,0 @@
ALTER TABLE appservice_room_list REPLICA IDENTITY USING INDEX appservice_room_list_idx;

View File

@ -1 +0,0 @@
ALTER TABLE appservice_stream_position REPLICA IDENTITY USING INDEX appservice_stream_position_lock_key;

View File

@ -1 +0,0 @@
ALTER TABLE blocked_rooms REPLICA IDENTITY USING INDEX blocked_rooms_idx;

View File

@ -1 +0,0 @@
ALTER TABLE cache_invalidation_stream_by_instance REPLICA IDENTITY USING INDEX cache_invalidation_stream_by_instance_id;

View File

@ -1 +0,0 @@
ALTER TABLE current_state_delta_stream REPLICA IDENTITY FULL;

View File

@ -1 +0,0 @@
ALTER TABLE current_state_events REPLICA IDENTITY USING INDEX current_state_events_event_id_key;

View File

@ -1 +0,0 @@
ALTER TABLE deleted_pushers REPLICA IDENTITY FULL;

View File

@ -1 +0,0 @@
ALTER TABLE device_auth_providers REPLICA IDENTITY FULL;

View File

@ -1 +0,0 @@
ALTER TABLE device_federation_inbox REPLICA IDENTITY FULL;

View File

@ -1 +0,0 @@
ALTER TABLE device_federation_outbox REPLICA IDENTITY FULL;

View File

@ -1 +0,0 @@
ALTER TABLE device_inbox REPLICA IDENTITY FULL;

View File

@ -1 +0,0 @@
ALTER TABLE device_lists_changes_converted_stream_position REPLICA IDENTITY USING INDEX device_lists_changes_converted_stream_position_lock_key;

View File

@ -1 +0,0 @@
ALTER TABLE device_lists_changes_in_room REPLICA IDENTITY USING INDEX device_lists_changes_in_stream_id;

View File

@ -1 +0,0 @@
ALTER TABLE device_lists_outbound_last_success REPLICA IDENTITY USING INDEX device_lists_outbound_last_success_unique_idx;

View File

@ -1 +0,0 @@
ALTER TABLE device_lists_outbound_pokes REPLICA IDENTITY FULL;

View File

@ -1 +0,0 @@
ALTER TABLE device_lists_remote_cache REPLICA IDENTITY USING INDEX device_lists_remote_cache_unique_id;

View File

@ -1 +0,0 @@
ALTER TABLE device_lists_remote_extremeties REPLICA IDENTITY USING INDEX device_lists_remote_extremeties_unique_idx;

View File

@ -1 +0,0 @@
ALTER TABLE device_lists_remote_resync REPLICA IDENTITY USING INDEX device_lists_remote_resync_idx;

View File

@ -1 +0,0 @@
ALTER TABLE device_lists_stream REPLICA IDENTITY FULL;

View File

@ -1 +0,0 @@
ALTER TABLE devices REPLICA IDENTITY USING INDEX device_uniqueness;

View File

@ -1 +0,0 @@
ALTER TABLE e2e_cross_signing_keys REPLICA IDENTITY USING INDEX e2e_cross_signing_keys_stream_idx;

View File

@ -1 +0,0 @@
ALTER TABLE e2e_cross_signing_signatures REPLICA IDENTITY FULL;

View File

@ -1 +0,0 @@
ALTER TABLE e2e_device_keys_json REPLICA IDENTITY USING INDEX e2e_device_keys_json_uniqueness;

View File

@ -1 +0,0 @@
ALTER TABLE e2e_fallback_keys_json REPLICA IDENTITY USING INDEX e2e_fallback_keys_json_uniqueness;

View File

@ -1 +0,0 @@
ALTER TABLE e2e_one_time_keys_json REPLICA IDENTITY USING INDEX e2e_one_time_keys_json_uniqueness;

View File

@ -1 +0,0 @@
ALTER TABLE e2e_room_keys REPLICA IDENTITY USING INDEX e2e_room_keys_with_version_idx;

View File

@ -1 +0,0 @@
ALTER TABLE e2e_room_keys_versions REPLICA IDENTITY USING INDEX e2e_room_keys_versions_idx;

View File

@ -1 +0,0 @@
ALTER TABLE erased_users REPLICA IDENTITY USING INDEX erased_users_user;

View File

@ -1 +0,0 @@
ALTER TABLE event_auth REPLICA IDENTITY FULL;

View File

@ -1 +0,0 @@
ALTER TABLE event_auth_chain_links REPLICA IDENTITY FULL;

View File

@ -1 +0,0 @@
ALTER TABLE event_backward_extremities REPLICA IDENTITY USING INDEX event_backward_extremities_event_id_room_id_key;

View File

@ -1 +0,0 @@
ALTER TABLE event_edges REPLICA IDENTITY USING INDEX event_edges_event_id_prev_event_id_idx;

View File

@ -1 +0,0 @@
ALTER TABLE event_forward_extremities REPLICA IDENTITY USING INDEX event_forward_extremities_event_id_room_id_key;

View File

@ -1 +0,0 @@
ALTER TABLE event_json REPLICA IDENTITY USING INDEX event_json_event_id_key;

View File

@ -1 +0,0 @@
ALTER TABLE event_push_actions REPLICA IDENTITY FULL;

View File

@ -1 +0,0 @@
ALTER TABLE event_push_actions_staging REPLICA IDENTITY FULL;

View File

@ -1 +0,0 @@
ALTER TABLE event_push_summary REPLICA IDENTITY FULL;

View File

@ -1 +0,0 @@
ALTER TABLE event_push_summary_last_receipt_stream_id REPLICA IDENTITY USING INDEX event_push_summary_last_receipt_stream_id_lock_key;

View File

@ -1 +0,0 @@
ALTER TABLE event_push_summary_stream_ordering REPLICA IDENTITY USING INDEX event_push_summary_stream_ordering_lock_key;

View File

@ -1 +0,0 @@
ALTER TABLE event_relations REPLICA IDENTITY USING INDEX event_relations_id;

View File

@ -1 +0,0 @@
ALTER TABLE event_search REPLICA IDENTITY FULL;

View File

@ -1 +0,0 @@
ALTER TABLE event_to_state_groups REPLICA IDENTITY USING INDEX event_to_state_groups_event_id_key;

View File

@ -1 +0,0 @@
ALTER TABLE event_txn_id_device_id REPLICA IDENTITY USING INDEX event_txn_id_device_id_event_id;

View File

@ -1 +0,0 @@
ALTER TABLE events REPLICA IDENTITY USING INDEX events_event_id_key;

View File

@ -1 +0,0 @@
ALTER TABLE federation_inbound_events_staging REPLICA IDENTITY USING INDEX federation_inbound_events_staging_instance_event;

View File

@ -1 +0,0 @@
ALTER TABLE federation_stream_position REPLICA IDENTITY USING INDEX federation_stream_position_instance;

View File

@ -1 +0,0 @@
ALTER TABLE ignored_users REPLICA IDENTITY USING INDEX ignored_users_uniqueness;

View File

@ -1 +0,0 @@
ALTER TABLE local_current_membership REPLICA IDENTITY USING INDEX local_current_membership_idx;

View File

@ -1 +0,0 @@
ALTER TABLE local_media_repository REPLICA IDENTITY FULL;

View File

@ -1 +0,0 @@
ALTER TABLE local_media_repository_thumbnails REPLICA IDENTITY FULL;

View File

@ -1 +0,0 @@
ALTER TABLE local_media_repository_url_cache REPLICA IDENTITY FULL;

View File

@ -1 +0,0 @@
ALTER TABLE monthly_active_users REPLICA IDENTITY USING INDEX monthly_active_users_users;

View File

@ -1 +0,0 @@
ALTER TABLE partial_state_events REPLICA IDENTITY USING INDEX partial_state_events_event_id_key;

View File

@ -1 +0,0 @@
ALTER TABLE partial_state_rooms_servers REPLICA IDENTITY USING INDEX partial_state_rooms_servers_room_id_server_name_key;

View File

@ -1 +0,0 @@
ALTER TABLE presence_stream REPLICA IDENTITY FULL;

View File

@ -1 +0,0 @@
ALTER TABLE profiles REPLICA IDENTITY USING INDEX profiles_user_id_key;

View File

@ -1 +0,0 @@
ALTER TABLE push_rules_stream REPLICA IDENTITY FULL;

View File

@ -1 +0,0 @@
ALTER TABLE ratelimit_override REPLICA IDENTITY USING INDEX ratelimit_override_idx;

View File

@ -1 +0,0 @@
ALTER TABLE receipts_graph REPLICA IDENTITY FULL;

View File

@ -1 +0,0 @@
ALTER TABLE receipts_linearized REPLICA IDENTITY FULL;

View File

@ -1 +0,0 @@
ALTER TABLE received_transactions REPLICA IDENTITY FULL;

View File

@ -1 +0,0 @@
ALTER TABLE redactions REPLICA IDENTITY USING INDEX redactions_event_id_key;

Some files were not shown because too many files have changed in this diff Show More