Skip to content

Commit 0da1831

Browse files
Famedly release/v1.150 (#248)
# Famedly Synapse release v1.150.0_1 Docker image tags available: * `v1.150.0_1-mod024` * `v1.150.0_1-mod025` ### Famedly additions for v1.150.0_1 * chore: Prohibit dependencies on included modules from causing unexpected version changes ([\#247](#247)) * chore: bump synapse token authenticator to version 0.13.0 ### Notes for Famedly: * [MSC4140: Cancellable delayed events](matrix-org/matrix-spec-proposals#4140): When persisting a delayed event to the timeline, include its `delay_id` in the event's `unsigned` section in `/sync` responses to the event sender.
2 parents d0e3246 + e2bb843 commit 0da1831

67 files changed

Lines changed: 2321 additions & 407 deletions

Some content is hidden

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

.ci/scripts/calculate_builds.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,11 +71,17 @@ def set_output(key: str, value: str) -> None:
7171
"sta-version": "0.12.0",
7272
"fcs-version": "0.0.2",
7373
},
74+
"mod024": {"sic-version": "0.2.2", "sta-version": "0.13.0", "fcs-version": "0.0.2"},
75+
"mod025": {
76+
"sic-version": "0.4.13",
77+
"sta-version": "0.13.0",
78+
"fcs-version": "0.0.2",
79+
},
7480
}
7581

7682
# Adjust this section to decide what gets built and layered on top
7783
# THIS IS THE SECTION TO EDIT, after you have added the new versions above
78-
current_mod_packs_to_build = ["mod022", "mod023"]
84+
current_mod_packs_to_build = ["mod024", "mod025"]
7985

8086
generated_jobs: list[dict[str, Any]] = []
8187
for mod_pack_job in current_mod_packs_to_build:

.github/workflows/docker.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ jobs:
8787

8888
- name: Build and push by digest
8989
id: build
90-
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
90+
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2
9191
with:
9292
push: true
9393
labels: |

.github/workflows/famedly-tests.yml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
- uses: matrix-org/setup-python-poetry@v2
2727
with:
2828
python-version: "3.13"
29-
poetry-version: "2.1.1"
29+
poetry-version: "2.2.1"
3030
extras: "all"
3131
- run: poetry run scripts-dev/generate_sample_config.sh --check
3232
- run: poetry run scripts-dev/config-lint.sh
@@ -62,7 +62,7 @@ jobs:
6262
- name: Setup Poetry
6363
uses: matrix-org/setup-python-poetry@v2
6464
with:
65-
poetry-version: "2.1.1"
65+
poetry-version: "2.2.1"
6666
python-version: "3.13"
6767
install-project: "false"
6868

@@ -93,7 +93,7 @@ jobs:
9393
# To make CI green, err towards caution and install the project.
9494
install-project: "true"
9595
python-version: "3.13"
96-
poetry-version: "2.1.1"
96+
poetry-version: "2.2.1"
9797

9898
# Cribbed from
9999
# https://github.com/AustinScola/mypy-cache-github-action/blob/85ea4f2972abed39b33bd02c36e341b28ca59213/src/restore.ts#L10-L17
@@ -223,7 +223,7 @@ jobs:
223223
- uses: matrix-org/setup-python-poetry@v2
224224
with:
225225
python-version: ${{ matrix.job.python-version }}
226-
poetry-version: "2.1.1"
226+
poetry-version: "2.2.1"
227227
extras: ${{ matrix.job.extras }}
228228
- name: Await PostgreSQL
229229
if: ${{ matrix.job.postgres-version }}
@@ -333,6 +333,13 @@ jobs:
333333
with:
334334
path: synapse
335335

336+
# `poetry` is used in `complement.sh`
337+
- uses: matrix-org/setup-python-poetry@v2
338+
with:
339+
poetry-version: "2.2.1"
340+
# Matches the `path` where we checkout Synapse above
341+
working-directory: "synapse"
342+
336343
- name: Prepare Complement's Prerequisites
337344
run: synapse/.ci/scripts/setup_complement_prerequisites.sh
338345

.github/workflows/fix_lint.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
uses: matrix-org/setup-python-poetry@5bbf6603c5c930615ec8a29f1b5d7d258d905aa4 # v2.0.0
3232
with:
3333
install-project: "false"
34-
poetry-version: "2.1.1"
34+
poetry-version: "2.2.1"
3535

3636
- name: Run ruff check
3737
continue-on-error: true

.github/workflows/latest_deps.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ jobs:
5454
- uses: matrix-org/setup-python-poetry@5bbf6603c5c930615ec8a29f1b5d7d258d905aa4 # v2.0.0
5555
with:
5656
python-version: "3.x"
57-
poetry-version: "2.1.1"
57+
poetry-version: "2.2.1"
5858
extras: "all"
5959
# Dump installed versions for debugging.
6060
- run: poetry run pip list > before.txt

.github/workflows/push_complement_image.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ jobs:
6969
run: |
7070
for TAG in ${{ join(fromJson(steps.meta.outputs.json).tags, ' ') }}; do
7171
echo "tag and push $TAG"
72-
docker tag complement-synapse $TAG
72+
# `localhost/complement-synapse` should match the image created by `scripts-dev/complement.sh`
73+
docker tag localhost/complement-synapse $TAG
7374
docker push $TAG
7475
done

.github/workflows/tests.yml

Lines changed: 41 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ jobs:
9595
- uses: matrix-org/setup-python-poetry@5bbf6603c5c930615ec8a29f1b5d7d258d905aa4 # v2.0.0
9696
with:
9797
python-version: "3.x"
98-
poetry-version: "2.1.1"
98+
poetry-version: "2.2.1"
9999
extras: "all"
100100
- run: poetry run scripts-dev/generate_sample_config.sh --check
101101
- run: poetry run scripts-dev/config-lint.sh
@@ -134,7 +134,7 @@ jobs:
134134
- name: Setup Poetry
135135
uses: matrix-org/setup-python-poetry@5bbf6603c5c930615ec8a29f1b5d7d258d905aa4 # v2.0.0
136136
with:
137-
poetry-version: "2.1.1"
137+
poetry-version: "2.2.1"
138138
install-project: "false"
139139

140140
- name: Run ruff check
@@ -169,7 +169,7 @@ jobs:
169169
# https://github.com/matrix-org/synapse/pull/15376#issuecomment-1498983775
170170
# To make CI green, err towards caution and install the project.
171171
install-project: "true"
172-
poetry-version: "2.1.1"
172+
poetry-version: "2.2.1"
173173

174174
# Cribbed from
175175
# https://github.com/AustinScola/mypy-cache-github-action/blob/85ea4f2972abed39b33bd02c36e341b28ca59213/src/restore.ts#L10-L17
@@ -265,7 +265,7 @@ jobs:
265265
# Install like a normal project from source with all optional dependencies
266266
extras: all
267267
install-project: "true"
268-
poetry-version: "2.1.1"
268+
poetry-version: "2.2.1"
269269

270270
- name: Ensure `Cargo.lock` is up to date (no stray changes after install)
271271
# The `::error::` syntax is using GitHub Actions' error annotations, see
@@ -398,7 +398,7 @@ jobs:
398398
- uses: matrix-org/setup-python-poetry@5bbf6603c5c930615ec8a29f1b5d7d258d905aa4 # v2.0.0
399399
with:
400400
python-version: ${{ matrix.job.python-version }}
401-
poetry-version: "2.1.1"
401+
poetry-version: "2.2.1"
402402
extras: ${{ matrix.job.extras }}
403403
- name: Await PostgreSQL
404404
if: ${{ matrix.job.postgres-version }}
@@ -500,7 +500,7 @@ jobs:
500500
- uses: matrix-org/setup-python-poetry@5bbf6603c5c930615ec8a29f1b5d7d258d905aa4 # v2.0.0
501501
with:
502502
python-version: ${{ matrix.python-version }}
503-
poetry-version: "2.1.1"
503+
poetry-version: "2.2.1"
504504
extras: ${{ matrix.extras }}
505505
- run: poetry run trial --jobs=2 tests
506506
- name: Dump logs
@@ -595,7 +595,7 @@ jobs:
595595
- run: sudo apt-get -qq install xmlsec1 postgresql-client
596596
- uses: matrix-org/setup-python-poetry@5bbf6603c5c930615ec8a29f1b5d7d258d905aa4 # v2.0.0
597597
with:
598-
poetry-version: "2.1.1"
598+
poetry-version: "2.2.1"
599599
extras: "postgres"
600600
- run: .ci/scripts/test_export_data_command.sh
601601
env:
@@ -648,7 +648,7 @@ jobs:
648648
- uses: matrix-org/setup-python-poetry@5bbf6603c5c930615ec8a29f1b5d7d258d905aa4 # v2.0.0
649649
with:
650650
python-version: ${{ matrix.python-version }}
651-
poetry-version: "2.1.1"
651+
poetry-version: "2.2.1"
652652
extras: "postgres"
653653
- run: .ci/scripts/test_synapse_port_db.sh
654654
id: run_tester_script
@@ -705,6 +705,13 @@ jobs:
705705
toolchain: ${{ env.RUST_VERSION }}
706706
- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
707707

708+
# We use `poetry` in `complement.sh`
709+
- uses: matrix-org/setup-python-poetry@5bbf6603c5c930615ec8a29f1b5d7d258d905aa4 # v2.0.0
710+
with:
711+
poetry-version: "2.2.1"
712+
# Matches the `path` where we checkout Synapse above
713+
working-directory: "synapse"
714+
708715
- name: Prepare Complement's Prerequisites
709716
run: synapse/.ci/scripts/setup_complement_prerequisites.sh
710717

@@ -713,6 +720,32 @@ jobs:
713720
cache-dependency-path: complement/go.sum
714721
go-version-file: complement/go.mod
715722

723+
# Run the image sanity check test first as this is the first thing we want to know
724+
# about (are we actually testing what we expect?) and we don't want to debug
725+
# downstream failures (wild goose chase).
726+
- name: Sanity check Complement image
727+
id: run_sanity_check_complement_image_test
728+
# -p=1: We're using `-p 1` to force the test packages to run serially as GHA boxes
729+
# are underpowered and don't like running tons of Synapse instances at once.
730+
# -json: Output JSON format so that gotestfmt can parse it.
731+
#
732+
# tee /tmp/gotest-complement.log: We tee the output to a file so that we can re-process it
733+
# later on for better formatting with gotestfmt. But we still want the command
734+
# to output to the terminal as it runs so we can see what's happening in
735+
# real-time.
736+
run: |
737+
set -o pipefail
738+
COMPLEMENT_DIR=`pwd`/complement synapse/scripts-dev/complement.sh --in-repo -p 1 -json -run 'TestSynapseVersion/Synapse_version_matches_current_git_checkout' 2>&1 | tee /tmp/gotest-sanity-check-complement.log
739+
shell: bash
740+
env:
741+
POSTGRES: ${{ (matrix.database == 'Postgres') && 1 || '' }}
742+
WORKERS: ${{ (matrix.arrangement == 'workers') && 1 || '' }}
743+
744+
- name: Formatted sanity check Complement test logs
745+
# Always run this step if we attempted to run the Complement tests.
746+
if: always() && steps.run_sanity_check_complement_image_test.outcome != 'skipped'
747+
run: cat /tmp/gotest-sanity-check-complement.log | gotestfmt -hide "successful-downloads,empty-packages"
748+
716749
- name: Run Complement Tests
717750
id: run_complement_tests
718751
# -p=1: We're using `-p 1` to force the test packages to run serially as GHA boxes

.github/workflows/twisted_trunk.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ jobs:
5454
with:
5555
python-version: "3.x"
5656
extras: "all"
57-
poetry-version: "2.1.1"
57+
poetry-version: "2.2.1"
5858
- run: |
5959
poetry remove twisted
6060
poetry add --extras tls git+https://github.com/twisted/twisted.git#${{ inputs.twisted_ref || 'trunk' }}
@@ -82,7 +82,7 @@ jobs:
8282
with:
8383
python-version: "3.x"
8484
extras: "all test"
85-
poetry-version: "2.1.1"
85+
poetry-version: "2.2.1"
8686
- run: |
8787
poetry remove twisted
8888
poetry add --extras tls git+https://github.com/twisted/twisted.git#trunk

CHANGES.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,46 @@
1+
# Synapse 1.150.0 (2026-03-24)
2+
3+
No significant changes since 1.150.0rc1.
4+
5+
### Famedly additions for v1.150.0_1
6+
7+
- chore: Prohibit dependencies on included modules from causing unexpected version changes ([\#247](https://github.com/famedly/synapse/pull/247))
8+
- fix(again): Allow account deactivation even with disabled profile changes ([\#248](https://github.com/famedly/synapse/pull/249))
9+
10+
11+
# Synapse 1.150.0rc1 (2026-03-17)
12+
13+
## Features
14+
15+
- Add experimental support for the [MSC4370](https://github.com/matrix-org/matrix-spec-proposals/pull/4370) Federation API `GET /extremities` endpoint. ([\#19314](https://github.com/element-hq/synapse/issues/19314))
16+
- [MSC4140: Cancellable delayed events](https://github.com/matrix-org/matrix-spec-proposals/pull/4140): When persisting a delayed event to the timeline, include its `delay_id` in the event's `unsigned` section in `/sync` responses to the event sender. ([\#19479](https://github.com/element-hq/synapse/issues/19479))
17+
- Expose [MSC4354 Sticky Events](https://github.com/matrix-org/matrix-spec-proposals/pull/4354) over the legacy (v3) /sync API. ([\#19487](https://github.com/element-hq/synapse/issues/19487))
18+
- When Matrix Authentication Service (MAS) integration is enabled, allow MAS to set the user locked status in Synapse. ([\#19554](https://github.com/element-hq/synapse/issues/19554))
19+
20+
## Bugfixes
21+
22+
- Fix `Build and push complement image` CI job pointing to non-existent image. ([\#19523](https://github.com/element-hq/synapse/issues/19523))
23+
- Fix a bug introduced in v1.26.0 that caused deactivated, erased users to not be removed from the user directory. ([\#19542](https://github.com/element-hq/synapse/issues/19542))
24+
25+
## Improved Documentation
26+
27+
- In the Admin API documentation, always express path parameters as `/<param>` instead of as `/$param`. ([\#19307](https://github.com/element-hq/synapse/issues/19307))
28+
- Update docs to clarify `outbound_federation_restricted_to` can also be used with the [Secure Border Gateway (SBG)](https://element.io/en/server-suite/secure-border-gateways). ([\#19517](https://github.com/element-hq/synapse/issues/19517))
29+
- Unify Complement developer docs. ([\#19518](https://github.com/element-hq/synapse/issues/19518))
30+
31+
## Internal Changes
32+
33+
- Put membership updates in a background resumable task when changing the avatar or the display name. ([\#19311](https://github.com/element-hq/synapse/issues/19311))
34+
- Add in-repo Complement test to sanity check Synapse version matches git checkout (testing what we think we are). ([\#19476](https://github.com/element-hq/synapse/issues/19476))
35+
- Migrate `dev` dependencies to [PEP 735](https://peps.python.org/pep-0735/) dependency groups. ([\#19490](https://github.com/element-hq/synapse/issues/19490))
36+
- Remove the optional `systemd-python` dependency and the `systemd` extra on the `synapse` package. ([\#19491](https://github.com/element-hq/synapse/issues/19491))
37+
- Avoid re-computing the event ID when cloning events. ([\#19527](https://github.com/element-hq/synapse/issues/19527))
38+
- Allow caching of the `/versions` and `/auth_metadata` public endpoints. ([\#19530](https://github.com/element-hq/synapse/issues/19530))
39+
- Add a few labels to the number groupings in the `Processed request` logs. ([\#19548](https://github.com/element-hq/synapse/issues/19548))
40+
41+
42+
43+
144
# Synapse 1.149.1 (2026-03-11)
245

346
## Internal Changes

Cargo.lock

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)