Skip to content

Commit 86d3eb3

Browse files
committed
Merge tag 'v1.55.0' into beeper-master
Synapse 1.55.0 (2022-03-22) =========================== This release removes a workaround introduced in Synapse 1.50.0 for Mjolnir compatibility. **This breaks compatibility with Mjolnir 1.3.1 and earlier. ([\matrix-org#11700](matrix-org#11700; Mjolnir users should upgrade Mjolnir before upgrading Synapse to this version. This release also moves the location of the `synctl` script; see the [upgrade notes](https://github.com/matrix-org/synapse/blob/develop/docs/upgrade.md#synctl-script-has-been-moved) for more details. Internal Changes ---------------- - Tweak copy for default Single Sign-On account details template to better adhere to mobile app store guidelines. ([\matrix-org#12265](matrix-org#12265), [\matrix-org#12260](matrix-org#12260)) Synapse 1.55.0rc1 (2022-03-15) ============================== Features -------- - Add third-party rules callbacks `check_can_shutdown_room` and `check_can_deactivate_user`. ([\matrix-org#12028](matrix-org#12028)) - Improve performance of logging in for large accounts. ([\matrix-org#12132](matrix-org#12132)) - Add experimental env var `SYNAPSE_ASYNC_IO_REACTOR` that causes Synapse to use the asyncio reactor for Twisted. ([\matrix-org#12135](matrix-org#12135)) - Support the stable identifiers from [MSC3440](matrix-org/matrix-spec-proposals#3440): threads. ([\matrix-org#12151](matrix-org#12151)) - Add a new Jinja2 template filter to extract the local part of an email address. ([\matrix-org#12212](matrix-org#12212)) Bugfixes -------- - Use the proper serialization format for bundled thread aggregations. The bug has existed since Synapse v1.48.0. ([\matrix-org#12090](matrix-org#12090)) - Fix a long-standing bug when redacting events with relations. ([\matrix-org#12113](matrix-org#12113), [\matrix-org#12121](matrix-org#12121), [\matrix-org#12130](matrix-org#12130), [\matrix-org#12189](matrix-org#12189)) - Fix a bug introduced in Synapse 1.7.2 whereby background updates are never run with the default background batch size. ([\matrix-org#12157](matrix-org#12157)) - Fix a bug where non-standard information was returned from the `/hierarchy` API. Introduced in Synapse v1.41.0. ([\matrix-org#12175](matrix-org#12175)) - Fix a bug introduced in Synapse 1.54.0 that broke background updates on sqlite homeservers while search was disabled. ([\matrix-org#12215](matrix-org#12215)) - Fix a long-standing bug when a `filter` argument with `event_fields` which did not include the `unsigned` field could result in a 500 error on `/sync`. ([\matrix-org#12234](matrix-org#12234)) Improved Documentation ---------------------- - Fix complexity checking config example in [Resource Constrained Devices](https://matrix-org.github.io/synapse/v1.54/other/running_synapse_on_single_board_computers.html) docs page. ([\matrix-org#11998](matrix-org#11998)) - Improve documentation for demo scripts. ([\matrix-org#12143](matrix-org#12143)) - Updates to the Room DAG concepts development document. ([\matrix-org#12179](matrix-org#12179)) - Document that the `typing`, `to_device`, `account_data`, `receipts`, and `presence` stream writer can only be used on a single worker. ([\matrix-org#12196](matrix-org#12196)) - Document that contributors can sign off privately by email. ([\matrix-org#12204](matrix-org#12204)) Deprecations and Removals ------------------------- - **Remove workaround introduced in Synapse 1.50.0 for Mjolnir compatibility. Breaks compatibility with Mjolnir 1.3.1 and earlier. ([\matrix-org#11700](matrix-org#11700 - **`synctl` has been moved into into `synapse._scripts` and is exposed as an entry point; see [upgrade notes](https://github.com/matrix-org/synapse/blob/develop/docs/upgrade.md#synctl-script-has-been-moved). ([\matrix-org#12140](matrix-org#12140)) - Remove backwards compatibilty with pagination tokens from the `/relations` and `/aggregations` endpoints generated from Synapse < v1.52.0. ([\matrix-org#12138](matrix-org#12138)) - The groups/communities feature in Synapse has been deprecated. ([\matrix-org#12200](matrix-org#12200)) Internal Changes ---------------- - Simplify the `ApplicationService` class' set of public methods related to interest checking. ([\matrix-org#11915](matrix-org#11915)) - Add config settings for background update parameters. ([\matrix-org#11980](matrix-org#11980)) - Correct type hints for txredis. ([\matrix-org#12042](matrix-org#12042)) - Limit the size of `aggregation_key` on annotations. ([\matrix-org#12101](matrix-org#12101)) - Add type hints to tests files. ([\matrix-org#12108](matrix-org#12108), [\matrix-org#12146](matrix-org#12146), [\matrix-org#12207](matrix-org#12207), [\matrix-org#12208](matrix-org#12208)) - Move scripts to Synapse package and expose as setuptools entry points. ([\matrix-org#12118](matrix-org#12118)) - Add support for cancellation to `ReadWriteLock`. ([\matrix-org#12120](matrix-org#12120)) - Fix data validation to compare to lists, not sequences. ([\matrix-org#12128](matrix-org#12128)) - Fix CI not attaching source distributions and wheels to the GitHub releases. ([\matrix-org#12131](matrix-org#12131)) - Remove unused mocks from `test_typing`. ([\matrix-org#12136](matrix-org#12136)) - Give `scripts-dev` scripts suffixes for neater CI config. ([\matrix-org#12137](matrix-org#12137)) - Move the snapcraft configuration file to `contrib`. ([\matrix-org#12142](matrix-org#12142)) - Enable [MSC3030](matrix-org/matrix-spec-proposals#3030) Complement tests in CI. ([\matrix-org#12144](matrix-org#12144)) - Enable [MSC2716](matrix-org/matrix-spec-proposals#2716) Complement tests in CI. ([\matrix-org#12145](matrix-org#12145)) - Add test for `ObservableDeferred`'s cancellation behaviour. ([\matrix-org#12149](matrix-org#12149)) - Use `ParamSpec` in type hints for `synapse.logging.context`. ([\matrix-org#12150](matrix-org#12150)) - Prune unused jobs from `tox` config. ([\matrix-org#12152](matrix-org#12152)) - Move CI checks out of tox, to facilitate a move to using poetry. ([\matrix-org#12153](matrix-org#12153)) - Avoid generating state groups for local out-of-band leaves. ([\matrix-org#12154](matrix-org#12154)) - Avoid trying to calculate the state at outlier events. ([\matrix-org#12155](matrix-org#12155), [\matrix-org#12173](matrix-org#12173), [\matrix-org#12202](matrix-org#12202)) - Fix some type annotations. ([\matrix-org#12156](matrix-org#12156)) - Add type hints for `ObservableDeferred` attributes. ([\matrix-org#12159](matrix-org#12159)) - Use a prebuilt Action for the `tests-done` CI job. ([\matrix-org#12161](matrix-org#12161)) - Reduce number of DB queries made during processing of `/sync`. ([\matrix-org#12163](matrix-org#12163)) - Add `delay_cancellation` utility function, which behaves like `stop_cancellation` but waits until the original `Deferred` resolves before raising a `CancelledError`. ([\matrix-org#12180](matrix-org#12180)) - Retry HTTP replication failures, this should prevent 502's when restarting stateful workers (main, event persisters, stream writers). Contributed by Nick @ Beeper. ([\matrix-org#12182](matrix-org#12182)) - Add cancellation support to `@cached` and `@cachedList` decorators. ([\matrix-org#12183](matrix-org#12183)) - Remove unused variables. ([\matrix-org#12187](matrix-org#12187)) - Add combined test for HTTP pusher and push rule. Contributed by Nick @ Beeper. ([\matrix-org#12188](matrix-org#12188)) - Rename `HomeServer.get_tcp_replication` to `get_replication_command_handler`. ([\matrix-org#12192](matrix-org#12192)) - Remove some dead code. ([\matrix-org#12197](matrix-org#12197)) - Fix a misleading comment in the function `check_event_for_spam`. ([\matrix-org#12203](matrix-org#12203)) - Remove unnecessary `pass` statements. ([\matrix-org#12206](matrix-org#12206)) - Update the SSO username picker template to comply with SIWA guidelines. ([\matrix-org#12210](matrix-org#12210)) - Improve code documentation for the typing stream over replication. ([\matrix-org#12211](matrix-org#12211)) # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCAAdFiEEgQG31Z317NrSMt0QiISIDS7+X/QFAmI53SwACgkQiISIDS7+ # X/RlgQ/9HX3moAXQw67uIII5BnSGAYdgovL2uM990urQ6HVYRxcnidRlWQUyqlJ0 # qbvpOrJXRpK5MvoFyrJg+ryJLEncoUiccs5WQHNt4t22zmUXusLH/Bxxc/U24s5D # 3gQVhYdjiyyR0dIzr/EwZsYGSgl9wANoKVJXbRInrE7gdMP5RT/IcifWBZETNWjQ # zPGp3R5RDYzFecDiZUcGJCldXC+WPOw0YlhMdR7Rm5NkiE6eM1kAREH+K5vxBM7i # H+nP//NLl+wL4nxb3f3paEgCakPkB+xuC6bZZ3NA7LfMw2OKBHdUqEl4rmXr4vCS # lboF9kDhb42uIKgVPBnVcf3hv4m5NbVA7f6k3tpFJOvqk9G58UhnqcjdXS8DBso6 # gQpk7Zk6ILU0j8i7N21R/aZLSwmQ96h1O3lNO+43usPbh6WjqMIHR/kv/ADyZEhZ # /6taXiOHtg7KaqtpHAy2UVuWjJ8c3a0vHbReRe77S+yMD7iggHbBTpSNMfgcM4yi # gimKq55Z0qhPLI7vjr4IOB5irEd64ciKnUI3IQfkyFoCMyJHo0fw7+boC/Kc5FgM # O7V69r+CBfJ9SsGeSlheiCTv6fGyh4n960ya2BQY+BHDjTFW+BUkTyjXkIeiIJ04 # CihTgluISePbrdRKL4JkceL+Im6NmpJhTOe1+Pjsncy/8WkOeos= # =HvNr # -----END PGP SIGNATURE----- # gpg: Signature made Tue Mar 22 14:29:00 2022 GMT # gpg: using RSA key 8101B7D59DF5ECDAD232DD108884880D2EFE5FF4 # gpg: Can't check signature: No public key # Conflicts: # synapse/appservice/__init__.py # synapse/handlers/pagination.py # synapse/push/baserules.py
2 parents 129aca1 + 6b26536 commit 86d3eb3

File tree

185 files changed

+4187
-2128
lines changed

Some content is hidden

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

185 files changed

+4187
-2128
lines changed

.ci/scripts/test_export_data_command.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ python -m synapse.app.homeserver --generate-keys -c .ci/sqlite-config.yaml
2121
echo "--- Prepare test database"
2222

2323
# Make sure the SQLite3 database is using the latest schema and has no pending background update.
24-
scripts/update_synapse_database --database-config .ci/sqlite-config.yaml --run-background-updates
24+
update_synapse_database --database-config .ci/sqlite-config.yaml --run-background-updates
2525

2626
# Run the export-data command on the sqlite test database
2727
python -m synapse.app.admin_cmd -c .ci/sqlite-config.yaml export-data @anon-20191002_181700-832:localhost:8800 \
@@ -41,7 +41,7 @@ fi
4141

4242
# Port the SQLite databse to postgres so we can check command works against postgres
4343
echo "+++ Port SQLite3 databse to postgres"
44-
scripts/synapse_port_db --sqlite-database .ci/test_db.db --postgres-config .ci/postgres-config.yaml
44+
synapse_port_db --sqlite-database .ci/test_db.db --postgres-config .ci/postgres-config.yaml
4545

4646
# Run the export-data command on postgres database
4747
python -m synapse.app.admin_cmd -c .ci/postgres-config.yaml export-data @anon-20191002_181700-832:localhost:8800 \

.ci/scripts/test_synapse_port_db.sh

+7-5
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,19 @@ python -m synapse.app.homeserver --generate-keys -c .ci/sqlite-config.yaml
2525
echo "--- Prepare test database"
2626

2727
# Make sure the SQLite3 database is using the latest schema and has no pending background update.
28-
scripts/update_synapse_database --database-config .ci/sqlite-config.yaml --run-background-updates
28+
update_synapse_database --database-config .ci/sqlite-config.yaml --run-background-updates
2929

3030
# Create the PostgreSQL database.
3131
.ci/scripts/postgres_exec.py "CREATE DATABASE synapse"
3232

3333
echo "+++ Run synapse_port_db against test database"
34-
coverage run scripts/synapse_port_db --sqlite-database .ci/test_db.db --postgres-config .ci/postgres-config.yaml
34+
# TODO: this invocation of synapse_port_db (and others below) used to be prepended with `coverage run`,
35+
# but coverage seems unable to find the entrypoints installed by `pip install -e .`.
36+
synapse_port_db --sqlite-database .ci/test_db.db --postgres-config .ci/postgres-config.yaml
3537

3638
# We should be able to run twice against the same database.
3739
echo "+++ Run synapse_port_db a second time"
38-
coverage run scripts/synapse_port_db --sqlite-database .ci/test_db.db --postgres-config .ci/postgres-config.yaml
40+
synapse_port_db --sqlite-database .ci/test_db.db --postgres-config .ci/postgres-config.yaml
3941

4042
#####
4143

@@ -46,12 +48,12 @@ echo "--- Prepare empty SQLite database"
4648
# we do this by deleting the sqlite db, and then doing the same again.
4749
rm .ci/test_db.db
4850

49-
scripts/update_synapse_database --database-config .ci/sqlite-config.yaml --run-background-updates
51+
update_synapse_database --database-config .ci/sqlite-config.yaml --run-background-updates
5052

5153
# re-create the PostgreSQL database.
5254
.ci/scripts/postgres_exec.py \
5355
"DROP DATABASE synapse" \
5456
"CREATE DATABASE synapse"
5557

5658
echo "+++ Run synapse_port_db against empty database"
57-
coverage run scripts/synapse_port_db --sqlite-database .ci/test_db.db --postgres-config .ci/postgres-config.yaml
59+
synapse_port_db --sqlite-database .ci/test_db.db --postgres-config .ci/postgres-config.yaml

.dockerignore

-2
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,9 @@
33

44
# things to include
55
!docker
6-
!scripts
76
!synapse
87
!MANIFEST.in
98
!README.rst
109
!setup.py
11-
!synctl
1210

1311
**/__pycache__

.github/workflows/release-artifacts.yml

+4-3
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
# if we're running from a tag, get the full list of distros; otherwise just use debian:sid
3232
dists='["debian:sid"]'
3333
if [[ $GITHUB_REF == refs/tags/* ]]; then
34-
dists=$(scripts-dev/build_debian_packages --show-dists-json)
34+
dists=$(scripts-dev/build_debian_packages.py --show-dists-json)
3535
fi
3636
echo "::set-output name=distros::$dists"
3737
# map the step outputs to job outputs
@@ -74,7 +74,7 @@ jobs:
7474
# see https://github.com/docker/build-push-action/issues/252
7575
# for the cache magic here
7676
run: |
77-
./src/scripts-dev/build_debian_packages \
77+
./src/scripts-dev/build_debian_packages.py \
7878
--docker-build-arg=--cache-from=type=local,src=/tmp/.buildx-cache \
7979
--docker-build-arg=--cache-to=type=local,mode=max,dest=/tmp/.buildx-cache-new \
8080
--docker-build-arg=--progress=plain \
@@ -112,7 +112,8 @@ jobs:
112112
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
113113
with:
114114
files: |
115-
python-dist/*
115+
Sdist/*
116+
Wheel/*
116117
debs.tar.xz
117118
# if it's not already published, keep the release as a draft.
118119
draft: true

.github/workflows/tests.yml

+13-24
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ jobs:
1616
- uses: actions/checkout@v2
1717
- uses: actions/setup-python@v2
1818
- run: pip install -e .
19-
- run: scripts-dev/generate_sample_config --check
19+
- run: scripts-dev/generate_sample_config.sh --check
20+
- run: scripts-dev/config-lint.sh
2021

2122
lint:
2223
runs-on: ubuntu-latest
@@ -51,7 +52,7 @@ jobs:
5152
fetch-depth: 0
5253
- uses: actions/setup-python@v2
5354
- run: "pip install 'towncrier>=18.6.0rc1'"
54-
- run: scripts-dev/check-newsfragment
55+
- run: scripts-dev/check-newsfragment.sh
5556
env:
5657
PULL_REQUEST_NUMBER: ${{ github.event.number }}
5758

@@ -376,7 +377,7 @@ jobs:
376377
# Run Complement
377378
- run: |
378379
set -o pipefail
379-
go test -v -json -p 1 -tags synapse_blacklist,msc2403 ./tests/... 2>&1 | gotestfmt
380+
go test -v -json -p 1 -tags synapse_blacklist,msc2403,msc2716,msc3030 ./tests/... 2>&1 | gotestfmt
380381
shell: bash
381382
name: Run Complement Tests
382383
env:
@@ -387,34 +388,22 @@ jobs:
387388
tests-done:
388389
if: ${{ always() }}
389390
needs:
391+
- check-sampleconfig
390392
- lint
391393
- lint-crlf
392394
- lint-newsfile
393395
- trial
394396
- trial-olddeps
395397
- sytest
398+
- export-data
396399
- portdb
397400
- complement
398401
runs-on: ubuntu-latest
399402
steps:
400-
- name: Set build result
401-
env:
402-
NEEDS_CONTEXT: ${{ toJSON(needs) }}
403-
# the `jq` incantation dumps out a series of "<job> <result>" lines.
404-
# we set it to an intermediate variable to avoid a pipe, which makes it
405-
# hard to set $rc.
406-
run: |
407-
rc=0
408-
results=$(jq -r 'to_entries[] | [.key,.value.result] | join(" ")' <<< $NEEDS_CONTEXT)
409-
while read job result ; do
410-
# The newsfile lint may be skipped on non PR builds
411-
if [ $result == "skipped" ] && [ $job == "lint-newsfile" ]; then
412-
continue
413-
fi
414-
415-
if [ "$result" != "success" ]; then
416-
echo "::set-failed ::Job $job returned $result"
417-
rc=1
418-
fi
419-
done <<< $results
420-
exit $rc
403+
- uses: matrix-org/done-action@v2
404+
with:
405+
needs: ${{ toJSON(needs) }}
406+
407+
# The newsfile lint may be skipped on non PR builds
408+
skippable:
409+
lint-newsfile

CHANGES.md

+97
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,100 @@
1+
Synapse 1.55.0 (2022-03-22)
2+
===========================
3+
4+
This release removes a workaround introduced in Synapse 1.50.0 for Mjolnir compatibility. **This breaks compatibility with Mjolnir 1.3.1 and earlier. ([\#11700](https://github.com/matrix-org/synapse/issues/11700))**; Mjolnir users should upgrade Mjolnir before upgrading Synapse to this version.
5+
6+
This release also moves the location of the `synctl` script; see the [upgrade notes](https://github.com/matrix-org/synapse/blob/develop/docs/upgrade.md#synctl-script-has-been-moved) for more details.
7+
8+
9+
Internal Changes
10+
----------------
11+
12+
- Tweak copy for default Single Sign-On account details template to better adhere to mobile app store guidelines. ([\#12265](https://github.com/matrix-org/synapse/issues/12265), [\#12260](https://github.com/matrix-org/synapse/issues/12260))
13+
14+
15+
Synapse 1.55.0rc1 (2022-03-15)
16+
==============================
17+
18+
Features
19+
--------
20+
21+
- Add third-party rules callbacks `check_can_shutdown_room` and `check_can_deactivate_user`. ([\#12028](https://github.com/matrix-org/synapse/issues/12028))
22+
- Improve performance of logging in for large accounts. ([\#12132](https://github.com/matrix-org/synapse/issues/12132))
23+
- Add experimental env var `SYNAPSE_ASYNC_IO_REACTOR` that causes Synapse to use the asyncio reactor for Twisted. ([\#12135](https://github.com/matrix-org/synapse/issues/12135))
24+
- Support the stable identifiers from [MSC3440](https://github.com/matrix-org/matrix-doc/pull/3440): threads. ([\#12151](https://github.com/matrix-org/synapse/issues/12151))
25+
- Add a new Jinja2 template filter to extract the local part of an email address. ([\#12212](https://github.com/matrix-org/synapse/issues/12212))
26+
27+
28+
Bugfixes
29+
--------
30+
31+
- Use the proper serialization format for bundled thread aggregations. The bug has existed since Synapse v1.48.0. ([\#12090](https://github.com/matrix-org/synapse/issues/12090))
32+
- Fix a long-standing bug when redacting events with relations. ([\#12113](https://github.com/matrix-org/synapse/issues/12113), [\#12121](https://github.com/matrix-org/synapse/issues/12121), [\#12130](https://github.com/matrix-org/synapse/issues/12130), [\#12189](https://github.com/matrix-org/synapse/issues/12189))
33+
- Fix a bug introduced in Synapse 1.7.2 whereby background updates are never run with the default background batch size. ([\#12157](https://github.com/matrix-org/synapse/issues/12157))
34+
- Fix a bug where non-standard information was returned from the `/hierarchy` API. Introduced in Synapse v1.41.0. ([\#12175](https://github.com/matrix-org/synapse/issues/12175))
35+
- Fix a bug introduced in Synapse 1.54.0 that broke background updates on sqlite homeservers while search was disabled. ([\#12215](https://github.com/matrix-org/synapse/issues/12215))
36+
- Fix a long-standing bug when a `filter` argument with `event_fields` which did not include the `unsigned` field could result in a 500 error on `/sync`. ([\#12234](https://github.com/matrix-org/synapse/issues/12234))
37+
38+
39+
Improved Documentation
40+
----------------------
41+
42+
- Fix complexity checking config example in [Resource Constrained Devices](https://matrix-org.github.io/synapse/v1.54/other/running_synapse_on_single_board_computers.html) docs page. ([\#11998](https://github.com/matrix-org/synapse/issues/11998))
43+
- Improve documentation for demo scripts. ([\#12143](https://github.com/matrix-org/synapse/issues/12143))
44+
- Updates to the Room DAG concepts development document. ([\#12179](https://github.com/matrix-org/synapse/issues/12179))
45+
- Document that the `typing`, `to_device`, `account_data`, `receipts`, and `presence` stream writer can only be used on a single worker. ([\#12196](https://github.com/matrix-org/synapse/issues/12196))
46+
- Document that contributors can sign off privately by email. ([\#12204](https://github.com/matrix-org/synapse/issues/12204))
47+
48+
49+
Deprecations and Removals
50+
-------------------------
51+
52+
- **Remove workaround introduced in Synapse 1.50.0 for Mjolnir compatibility. Breaks compatibility with Mjolnir 1.3.1 and earlier. ([\#11700](https://github.com/matrix-org/synapse/issues/11700))**
53+
- **`synctl` has been moved into into `synapse._scripts` and is exposed as an entry point; see [upgrade notes](https://github.com/matrix-org/synapse/blob/develop/docs/upgrade.md#synctl-script-has-been-moved). ([\#12140](https://github.com/matrix-org/synapse/issues/12140))
54+
- Remove backwards compatibilty with pagination tokens from the `/relations` and `/aggregations` endpoints generated from Synapse < v1.52.0. ([\#12138](https://github.com/matrix-org/synapse/issues/12138))
55+
- The groups/communities feature in Synapse has been deprecated. ([\#12200](https://github.com/matrix-org/synapse/issues/12200))
56+
57+
58+
Internal Changes
59+
----------------
60+
61+
- Simplify the `ApplicationService` class' set of public methods related to interest checking. ([\#11915](https://github.com/matrix-org/synapse/issues/11915))
62+
- Add config settings for background update parameters. ([\#11980](https://github.com/matrix-org/synapse/issues/11980))
63+
- Correct type hints for txredis. ([\#12042](https://github.com/matrix-org/synapse/issues/12042))
64+
- Limit the size of `aggregation_key` on annotations. ([\#12101](https://github.com/matrix-org/synapse/issues/12101))
65+
- Add type hints to tests files. ([\#12108](https://github.com/matrix-org/synapse/issues/12108), [\#12146](https://github.com/matrix-org/synapse/issues/12146), [\#12207](https://github.com/matrix-org/synapse/issues/12207), [\#12208](https://github.com/matrix-org/synapse/issues/12208))
66+
- Move scripts to Synapse package and expose as setuptools entry points. ([\#12118](https://github.com/matrix-org/synapse/issues/12118))
67+
- Add support for cancellation to `ReadWriteLock`. ([\#12120](https://github.com/matrix-org/synapse/issues/12120))
68+
- Fix data validation to compare to lists, not sequences. ([\#12128](https://github.com/matrix-org/synapse/issues/12128))
69+
- Fix CI not attaching source distributions and wheels to the GitHub releases. ([\#12131](https://github.com/matrix-org/synapse/issues/12131))
70+
- Remove unused mocks from `test_typing`. ([\#12136](https://github.com/matrix-org/synapse/issues/12136))
71+
- Give `scripts-dev` scripts suffixes for neater CI config. ([\#12137](https://github.com/matrix-org/synapse/issues/12137))
72+
- Move the snapcraft configuration file to `contrib`. ([\#12142](https://github.com/matrix-org/synapse/issues/12142))
73+
- Enable [MSC3030](https://github.com/matrix-org/matrix-doc/pull/3030) Complement tests in CI. ([\#12144](https://github.com/matrix-org/synapse/issues/12144))
74+
- Enable [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) Complement tests in CI. ([\#12145](https://github.com/matrix-org/synapse/issues/12145))
75+
- Add test for `ObservableDeferred`'s cancellation behaviour. ([\#12149](https://github.com/matrix-org/synapse/issues/12149))
76+
- Use `ParamSpec` in type hints for `synapse.logging.context`. ([\#12150](https://github.com/matrix-org/synapse/issues/12150))
77+
- Prune unused jobs from `tox` config. ([\#12152](https://github.com/matrix-org/synapse/issues/12152))
78+
- Move CI checks out of tox, to facilitate a move to using poetry. ([\#12153](https://github.com/matrix-org/synapse/issues/12153))
79+
- Avoid generating state groups for local out-of-band leaves. ([\#12154](https://github.com/matrix-org/synapse/issues/12154))
80+
- Avoid trying to calculate the state at outlier events. ([\#12155](https://github.com/matrix-org/synapse/issues/12155), [\#12173](https://github.com/matrix-org/synapse/issues/12173), [\#12202](https://github.com/matrix-org/synapse/issues/12202))
81+
- Fix some type annotations. ([\#12156](https://github.com/matrix-org/synapse/issues/12156))
82+
- Add type hints for `ObservableDeferred` attributes. ([\#12159](https://github.com/matrix-org/synapse/issues/12159))
83+
- Use a prebuilt Action for the `tests-done` CI job. ([\#12161](https://github.com/matrix-org/synapse/issues/12161))
84+
- Reduce number of DB queries made during processing of `/sync`. ([\#12163](https://github.com/matrix-org/synapse/issues/12163))
85+
- Add `delay_cancellation` utility function, which behaves like `stop_cancellation` but waits until the original `Deferred` resolves before raising a `CancelledError`. ([\#12180](https://github.com/matrix-org/synapse/issues/12180))
86+
- Retry HTTP replication failures, this should prevent 502's when restarting stateful workers (main, event persisters, stream writers). Contributed by Nick @ Beeper. ([\#12182](https://github.com/matrix-org/synapse/issues/12182))
87+
- Add cancellation support to `@cached` and `@cachedList` decorators. ([\#12183](https://github.com/matrix-org/synapse/issues/12183))
88+
- Remove unused variables. ([\#12187](https://github.com/matrix-org/synapse/issues/12187))
89+
- Add combined test for HTTP pusher and push rule. Contributed by Nick @ Beeper. ([\#12188](https://github.com/matrix-org/synapse/issues/12188))
90+
- Rename `HomeServer.get_tcp_replication` to `get_replication_command_handler`. ([\#12192](https://github.com/matrix-org/synapse/issues/12192))
91+
- Remove some dead code. ([\#12197](https://github.com/matrix-org/synapse/issues/12197))
92+
- Fix a misleading comment in the function `check_event_for_spam`. ([\#12203](https://github.com/matrix-org/synapse/issues/12203))
93+
- Remove unnecessary `pass` statements. ([\#12206](https://github.com/matrix-org/synapse/issues/12206))
94+
- Update the SSO username picker template to comply with SIWA guidelines. ([\#12210](https://github.com/matrix-org/synapse/issues/12210))
95+
- Improve code documentation for the typing stream over replication. ([\#12211](https://github.com/matrix-org/synapse/issues/12211))
96+
97+
198
Synapse 1.54.0 (2022-03-08)
299
===========================
3100

MANIFEST.in

-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
include synctl
21
include LICENSE
32
include VERSION
43
include *.rst
@@ -17,7 +16,6 @@ recursive-include synapse/storage *.txt
1716
recursive-include synapse/storage *.md
1817

1918
recursive-include docs *
20-
recursive-include scripts *
2119
recursive-include scripts-dev *
2220
recursive-include synapse *.pyi
2321
recursive-include tests *.py
@@ -53,5 +51,4 @@ prune contrib
5351
prune debian
5452
prune demo/etc
5553
prune docker
56-
prune snap
5754
prune stubs

README.rst

+3
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,9 @@ We recommend using the demo which starts 3 federated instances running on ports
312312

313313
(to stop, you can use `./demo/stop.sh`)
314314

315+
See the [demo documentation](https://matrix-org.github.io/synapse/develop/development/demo.html)
316+
for more information.
317+
315318
If you just want to start a single instance of the app and run it directly::
316319

317320
# Create the homeserver.yaml config once

snap/snapcraft.yaml renamed to contrib/snap/snapcraft.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ apps:
2020
generate-config:
2121
command: generate_config
2222
generate-signing-key:
23-
command: generate_signing_key.py
23+
command: generate_signing_key
2424
register-new-matrix-user:
2525
command: register_new_matrix_user
2626
plugs: [network]

debian/changelog

+12
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
matrix-synapse-py3 (1.55.0) stable; urgency=medium
2+
3+
* New synapse release 1.55.0.
4+
5+
-- Synapse Packaging team <[email protected]> Tue, 22 Mar 2022 13:59:26 +0000
6+
7+
matrix-synapse-py3 (1.55.0~rc1) stable; urgency=medium
8+
9+
* New synapse release 1.55.0~rc1.
10+
11+
-- Synapse Packaging team <[email protected]> Tue, 15 Mar 2022 10:59:31 +0000
12+
113
matrix-synapse-py3 (1.54.0) stable; urgency=medium
214

315
* New synapse release 1.54.0.

demo/.gitignore

+4-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
*.db
2-
*.log
3-
*.log.*
4-
*.pid
5-
6-
/media_store.*
7-
/etc
1+
# Ignore all the temporary files from the demo servers.
2+
8080/
3+
8081/
4+
8082/

demo/README

-26
This file was deleted.

demo/clean.sh

+3
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ set -e
44

55
DIR="$( cd "$( dirname "$0" )" && pwd )"
66

7+
# Ensure that the servers are stopped.
8+
$DIR/stop.sh
9+
710
PID_FILE="$DIR/servers.pid"
811

912
if [ -f "$PID_FILE" ]; then

0 commit comments

Comments
 (0)