Skip to content

Commit b4863c7

Browse files
committed
Merge tag 'v1.64.0' into merge_v1_64_0
Synapse 1.64.0 (2022-08-02) =========================== No significant changes since 1.64.0rc2. Deprecation Warning ------------------- Synapse v1.66.0 will remove the ability to delegate the tasks of verifying email address ownership, and password reset confirmation, to an identity server. If you require your homeserver to verify e-mail addresses or to support password resets via e-mail, please configure your homeserver with SMTP access so that it can send e-mails on its own behalf. [Consult the configuration documentation for more information.](https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#email) Synapse 1.64.0rc2 (2022-07-29) ============================== This RC reintroduces support for `account_threepid_delegates.email`, which was removed in 1.64.0rc1. It remains deprecated and will be removed altogether in Synapse v1.66.0. ([\matrix-org#13406](matrix-org#13406)) Synapse 1.64.0rc1 (2022-07-26) ============================== This RC removed the ability to delegate the tasks of verifying email address ownership, and password reset confirmation, to an identity server. We have also stopped building `.deb` packages for Ubuntu 21.10 as it is no longer an active version of Ubuntu. Features -------- - Improve error messages when media thumbnails cannot be served. ([\matrix-org#13038](matrix-org#13038)) - Allow pagination from remote event after discovering it from [MSC3030](matrix-org/matrix-spec-proposals#3030) `/timestamp_to_event`. ([\matrix-org#13205](matrix-org#13205)) - Add a `room_type` field in the responses for the list room and room details admin APIs. Contributed by @andrewdoh. ([\matrix-org#13208](matrix-org#13208)) - Add support for room version 10. ([\matrix-org#13220](matrix-org#13220)) - Add per-room rate limiting for room joins. For each room, Synapse now monitors the rate of join events in that room, and throttles additional joins if that rate grows too large. ([\matrix-org#13253](matrix-org#13253), [\matrix-org#13254](matrix-org#13254), [\matrix-org#13255](matrix-org#13255), [\matrix-org#13276](matrix-org#13276)) - Support Implicit TLS (TLS without using a STARTTLS upgrade, typically on port 465) for sending emails, enabled by the new option `force_tls`. Contributed by Jan Schär. ([\matrix-org#13317](matrix-org#13317)) Bugfixes -------- - Fix a bug introduced in Synapse 1.15.0 where adding a user through the Synapse Admin API with a phone number would fail if the `enable_email_notifs` and `email_notifs_for_new_users` options were enabled. Contributed by @thomasweston12. ([\matrix-org#13263](matrix-org#13263)) - Fix a bug introduced in Synapse 1.40.0 where a user invited to a restricted room would be briefly unable to join. ([\matrix-org#13270](matrix-org#13270)) - Fix a long-standing bug where, in rare instances, Synapse could store the incorrect state for a room after a state resolution. ([\matrix-org#13278](matrix-org#13278)) - Fix a bug introduced in v1.18.0 where the `synapse_pushers` metric would overcount pushers when they are replaced. ([\matrix-org#13296](matrix-org#13296)) - Disable autocorrection and autocapitalisation on the username text field shown during registration when using SSO. ([\matrix-org#13350](matrix-org#13350)) - Update locked version of `frozendict` to 2.3.3, which has fixes for memory leaks affecting `/sync`. ([\matrix-org#13284](matrix-org#13284), [\matrix-org#13352](matrix-org#13352)) Improved Documentation ---------------------- - Provide an example of using the Admin API. Contributed by @jejo86. ([\matrix-org#13231](matrix-org#13231)) - Move the documentation for how URL previews work to the URL preview module. ([\matrix-org#13233](matrix-org#13233), [\matrix-org#13261](matrix-org#13261)) - Add another `contrib` script to help set up worker processes. Contributed by @villepeh. ([\matrix-org#13271](matrix-org#13271)) - Document that certain config options were added or changed in Synapse 1.62. Contributed by @behrmann. ([\matrix-org#13314](matrix-org#13314)) - Document the new `rc_invites.per_issuer` throttling option added in Synapse 1.63. ([\matrix-org#13333](matrix-org#13333)) - Mention that BuildKit is needed when building Docker images for tests. ([\matrix-org#13338](matrix-org#13338)) - Improve Caddy reverse proxy documentation. ([\matrix-org#13344](matrix-org#13344)) Deprecations and Removals ------------------------- - Drop tables that were formerly used for groups/communities. ([\matrix-org#12967](matrix-org#12967)) - Drop support for delegating email verification to an external server. ([\matrix-org#13192](matrix-org#13192)) - Drop support for calling `/_matrix/client/v3/account/3pid/bind` without an `id_access_token`, which was not permitted by the spec. Contributed by @Vetchu. ([\matrix-org#13239](matrix-org#13239)) - Stop building `.deb` packages for Ubuntu 21.10 (Impish Indri), which has reached end of life. ([\matrix-org#13326](matrix-org#13326)) Internal Changes ---------------- - Use lower transaction isolation level when purging rooms to avoid serialization errors. Contributed by Nick @ Beeper. ([\matrix-org#12942](matrix-org#12942)) - Remove code which incorrectly attempted to reconcile state with remote servers when processing incoming events. ([\matrix-org#12943](matrix-org#12943)) - Make the AS login method call `Auth.get_user_by_req` for checking the AS token. ([\matrix-org#13094](matrix-org#13094)) - Always use a version of canonicaljson that supports the C implementation of frozendict. ([\matrix-org#13172](matrix-org#13172)) - Add prometheus counters for ephemeral events and to device messages pushed to app services. Contributed by Brad @ Beeper. ([\matrix-org#13175](matrix-org#13175)) - Refactor receipts servlet logic to avoid duplicated code. ([\matrix-org#13198](matrix-org#13198)) - Preparation for database schema simplifications: populate `state_key` and `rejection_reason` for existing rows in the `events` table. ([\matrix-org#13215](matrix-org#13215)) - Remove unused database table `event_reference_hashes`. ([\matrix-org#13218](matrix-org#13218)) - Further reduce queries used sending events when creating new rooms. Contributed by Nick @ Beeper (@Fizzadar). ([\matrix-org#13224](matrix-org#13224)) - Call the v2 identity service `/3pid/unbind` endpoint, rather than v1. Contributed by @Vetchu. ([\matrix-org#13240](matrix-org#13240)) - Use an asynchronous cache wrapper for the get event cache. Contributed by Nick @ Beeper (@Fizzadar). ([\matrix-org#13242](matrix-org#13242), [\matrix-org#13308](matrix-org#13308)) - Optimise federation sender and appservice pusher event stream processing queries. Contributed by Nick @ Beeper (@Fizzadar). ([\matrix-org#13251](matrix-org#13251)) - Log the stack when waiting for an entire room to be un-partial stated. ([\matrix-org#13257](matrix-org#13257)) - Fix spurious warning when fetching state after a missing prev event. ([\matrix-org#13258](matrix-org#13258)) - Clean-up tests for notifications. ([\matrix-org#13260](matrix-org#13260)) - Do not fail build if complement with workers fails. ([\matrix-org#13266](matrix-org#13266)) - Don't pull out state in `compute_event_context` for unconflicted state. ([\matrix-org#13267](matrix-org#13267), [\matrix-org#13274](matrix-org#13274)) - Reduce the rebuild time for the complement-synapse docker image. ([\matrix-org#13279](matrix-org#13279)) - Don't pull out the full state when creating an event. ([\matrix-org#13281](matrix-org#13281), [\matrix-org#13307](matrix-org#13307)) - Upgrade from Poetry 1.1.12 to 1.1.14, to fix bugs when locking packages. ([\matrix-org#13285](matrix-org#13285)) - Make `DictionaryCache` expire full entries if they haven't been queried in a while, even if specific keys have been queried recently. ([\matrix-org#13292](matrix-org#13292)) - Use `HTTPStatus` constants in place of literals in tests. ([\matrix-org#13297](matrix-org#13297)) - Improve performance of query `_get_subset_users_in_room_with_profiles`. ([\matrix-org#13299](matrix-org#13299)) - Up batch size of `bulk_get_push_rules` and `_get_joined_profiles_from_event_ids`. ([\matrix-org#13300](matrix-org#13300)) - Remove unnecessary `json.dumps` from tests. ([\matrix-org#13303](matrix-org#13303)) - Reduce memory usage of sending dummy events. ([\matrix-org#13310](matrix-org#13310)) - Prevent formatting changes of [matrix-org#3679](matrix-org#3679) from appearing in `git blame`. ([\matrix-org#13311](matrix-org#13311)) - Change `get_users_in_room` and `get_rooms_for_user` caches to enable pruning of old entries. ([\matrix-org#13313](matrix-org#13313)) - Validate federation destinations and log an error if a destination is invalid. ([\matrix-org#13318](matrix-org#13318)) - Fix `FederationClient.get_pdu()` returning events from the cache as `outliers` instead of original events we saw over federation. ([\matrix-org#13320](matrix-org#13320)) - Reduce memory usage of state caches. ([\matrix-org#13323](matrix-org#13323)) - Reduce the amount of state we store in the `state_cache`. ([\matrix-org#13324](matrix-org#13324)) - Add missing type hints to open tracing module. ([\matrix-org#13328](matrix-org#13328), [\matrix-org#13345](matrix-org#13345), [\matrix-org#13362](matrix-org#13362)) - Remove old base slaved store and de-duplicate cache ID generators. Contributed by Nick @ Beeper (@Fizzadar). ([\matrix-org#13329](matrix-org#13329), [\matrix-org#13349](matrix-org#13349)) - When reporting metrics is enabled, use ~8x less data to describe DB transaction metrics. ([\matrix-org#13342](matrix-org#13342)) - Faster room joins: skip soft fail checks while Synapse only has partial room state, since the current membership of event senders may not be accurately known. ([\matrix-org#13354](matrix-org#13354))
2 parents db00818 + c2f4871 commit b4863c7

File tree

1,441 files changed

+151240
-78361
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,441 files changed

+151240
-78361
lines changed

.buildkite/.env

Lines changed: 0 additions & 13 deletions
This file was deleted.

.buildkite/merge_base_branch.sh

Lines changed: 0 additions & 35 deletions
This file was deleted.

.buildkite/scripts/create_postgres_db.py

Lines changed: 0 additions & 37 deletions
This file was deleted.

.buildkite/scripts/test_old_deps.sh

Lines changed: 0 additions & 16 deletions
This file was deleted.

.buildkite/scripts/test_synapse_port_db.sh

Lines changed: 0 additions & 36 deletions
This file was deleted.

.buildkite/worker-blacklist

Lines changed: 0 additions & 10 deletions
This file was deleted.

.ci/complement_package.gotpl

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
{{- /*gotype: github.com/haveyoudebuggedit/gotestfmt/parser.Package*/ -}}
2+
{{- /*
3+
This template contains the format for an individual package. GitHub actions does not currently support nested groups so
4+
we are creating a stylized header for each package.
5+
6+
This template is based on https://github.com/haveyoudebuggedit/gotestfmt/blob/f179b0e462a9dcf7101515d87eec4e4d7e58b92a/.gotestfmt/github/package.gotpl
7+
which is under the Unlicense licence.
8+
*/ -}}
9+
{{- $settings := .Settings -}}
10+
{{- if and (or (not $settings.HideSuccessfulPackages) (ne .Result "PASS")) (or (not $settings.HideEmptyPackages) (ne .Result "SKIP") (ne (len .TestCases) 0)) -}}
11+
{{- if eq .Result "PASS" -}}
12+
{{ "\033" }}[0;32m
13+
{{- else if eq .Result "SKIP" -}}
14+
{{ "\033" }}[0;33m
15+
{{- else -}}
16+
{{ "\033" }}[0;31m
17+
{{- end -}}
18+
📦 {{ .Name }}{{- "\033" }}[0m
19+
{{- with .Coverage -}}
20+
{{- "\033" -}}[0;37m ({{ . }}% coverage){{- "\033" -}}[0m
21+
{{- end -}}
22+
{{- "\n" -}}
23+
{{- with .Reason -}}
24+
{{- " " -}}🛑 {{ . -}}{{- "\n" -}}
25+
{{- end -}}
26+
{{- with .Output -}}
27+
{{- . -}}{{- "\n" -}}
28+
{{- end -}}
29+
{{- with .TestCases -}}
30+
{{- /* Failing tests are first */ -}}
31+
{{- range . -}}
32+
{{- if and (ne .Result "PASS") (ne .Result "SKIP") -}}
33+
::group::{{ "\033" }}[0;31m❌{{ " " }}{{- .Name -}}
34+
{{- "\033" -}}[0;37m ({{if $settings.ShowTestStatus}}{{.Result}}; {{end}}{{ .Duration -}}
35+
{{- with .Coverage -}}
36+
, coverage: {{ . }}%
37+
{{- end -}})
38+
{{- "\033" -}}[0m
39+
{{- "\n" -}}
40+
41+
{{- with .Output -}}
42+
{{- formatTestOutput . $settings -}}
43+
{{- "\n" -}}
44+
{{- end -}}
45+
46+
::endgroup::{{- "\n" -}}
47+
{{- end -}}
48+
{{- end -}}
49+
50+
51+
{{- /* Then skipped tests are second */ -}}
52+
{{- range . -}}
53+
{{- if eq .Result "SKIP" -}}
54+
::group::{{ "\033" }}[0;33m🚧{{ " " }}{{- .Name -}}
55+
{{- "\033" -}}[0;37m ({{if $settings.ShowTestStatus}}{{.Result}}; {{end}}{{ .Duration -}}
56+
{{- with .Coverage -}}
57+
, coverage: {{ . }}%
58+
{{- end -}})
59+
{{- "\033" -}}[0m
60+
{{- "\n" -}}
61+
62+
{{- with .Output -}}
63+
{{- formatTestOutput . $settings -}}
64+
{{- "\n" -}}
65+
{{- end -}}
66+
67+
::endgroup::{{- "\n" -}}
68+
{{- end -}}
69+
{{- end -}}
70+
71+
72+
{{- /* Then passing tests are last */ -}}
73+
{{- range . -}}
74+
{{- if eq .Result "PASS" -}}
75+
::group::{{ "\033" }}[0;32m✅{{ " " }}{{- .Name -}}
76+
{{- "\033" -}}[0;37m ({{if $settings.ShowTestStatus}}{{.Result}}; {{end}}{{ .Duration -}}
77+
{{- with .Coverage -}}
78+
, coverage: {{ . }}%
79+
{{- end -}})
80+
{{- "\033" -}}[0m
81+
{{- "\n" -}}
82+
83+
{{- with .Output -}}
84+
{{- formatTestOutput . $settings -}}
85+
{{- "\n" -}}
86+
{{- end -}}
87+
88+
::endgroup::{{- "\n" -}}
89+
{{- end -}}
90+
{{- end -}}
91+
{{- end -}}
92+
{{- "\n" -}}
93+
{{- end -}}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
title: CI run against latest deps is failing
3+
---
4+
See https://github.com/{{env.GITHUB_REPOSITORY}}/actions/runs/{{env.GITHUB_RUN_ID}}

.buildkite/postgres-config.yaml renamed to .ci/postgres-config.yaml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,17 @@
33
# CI's Docker setup at the point where this file is considered.
44
server_name: "localhost:8800"
55

6-
signing_key_path: "/src/.buildkite/test.signing.key"
6+
signing_key_path: ".ci/test.signing.key"
77

88
report_stats: false
99

1010
database:
1111
name: "psycopg2"
1212
args:
1313
user: postgres
14-
host: postgres
14+
host: localhost
1515
password: postgres
1616
database: synapse
1717

1818
# Suppress the key server warning.
19-
trusted_key_servers:
20-
- server_name: "matrix.org"
21-
suppress_key_server_warning: true
19+
trusted_key_servers: []

.ci/scripts/checkout_complement.sh

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#!/bin/bash
2+
#
3+
# Fetches a version of complement which best matches the current build.
4+
#
5+
# The tarball is unpacked into `./complement`.
6+
7+
set -e
8+
mkdir -p complement
9+
10+
# Pick an appropriate version of complement. Depending on whether this is a PR or release,
11+
# etc. we need to use different fallbacks:
12+
#
13+
# 1. First check if there's a similarly named branch (GITHUB_HEAD_REF
14+
# for pull requests, otherwise GITHUB_REF).
15+
# 2. Attempt to use the base branch, e.g. when merging into release-vX.Y
16+
# (GITHUB_BASE_REF for pull requests).
17+
# 3. Use the default complement branch ("HEAD").
18+
for BRANCH_NAME in "$GITHUB_HEAD_REF" "$GITHUB_BASE_REF" "${GITHUB_REF#refs/heads/}" "HEAD"; do
19+
# Skip empty branch names and merge commits.
20+
if [[ -z "$BRANCH_NAME" || $BRANCH_NAME =~ ^refs/pull/.* ]]; then
21+
continue
22+
fi
23+
24+
(wget -O - "https://github.com/matrix-org/complement/archive/$BRANCH_NAME.tar.gz" | tar -xz --strip-components=1 -C complement) && break
25+
done

0 commit comments

Comments
 (0)