Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
2f65b9e
Update `oidc_session_no_samesite` cookie to be `Secure` (#19079)
kieranlane Oct 21, 2025
4427908
newsfile
anoadragon453 Oct 21, 2025
6c16734
Revert "newsfile"
anoadragon453 Oct 21, 2025
ff242fa
Don't exit the release script if there are uncommitted changes
anoadragon453 Oct 21, 2025
3b59ac3
Merge branch 'release-v1.141' into develop
anoadragon453 Oct 21, 2025
cba3a81
Fix lints on `develop` (#19092)
MadLittleMods Oct 22, 2025
fc244bb
Use type hinting generics in standard collections (#19046)
AndrewFerr Oct 22, 2025
b835eb2
Make optional networking and security settings for Redis more apparen…
servisbryce Oct 23, 2025
5556b49
Spruce up generated announcement text in the release script (#19089)
anoadragon453 Oct 24, 2025
72d0de9
Don't exit the release script if there are uncommitted changes (#19088)
anoadragon453 Oct 24, 2025
45a042a
Remove cibuildwheel `pp38*` skip selector (#19085)
anoadragon453 Oct 24, 2025
a092d20
Fix deprecation warning in release script (#19080)
anoadragon453 Oct 24, 2025
123eff1
Update poetry dev dependencies name (#19081)
anoadragon453 Oct 24, 2025
a2fa61d
Bump msgpack from 1.1.1 to 1.1.2 (#19050)
dependabot[bot] Oct 24, 2025
1419b35
Bump ijson from 3.4.0 to 3.4.0.post0 (#19051)
dependabot[bot] Oct 24, 2025
40893be
Bump idna from 3.10 to 3.11 (#19053)
dependabot[bot] Oct 24, 2025
9d81bb7
Always treat `RETURNING` as supported by SQL engines (#19047)
AndrewFerr Oct 24, 2025
f1695ac
Add an admin API to get the space hierarchy (#19021)
H-Shay Oct 24, 2025
f6ef9c1
Bump stefanzweifel/git-auto-commit-action from 6.0.1 to 7.0.0 (#19052)
dependabot[bot] Oct 27, 2025
634f7cf
Bump types-psycopg2 from 2.9.21.20250915 to 2.9.21.20251012 (#19054)
dependabot[bot] Oct 27, 2025
77c6905
Bump regex from 1.11.3 to 1.12.2 (#19074)
dependabot[bot] Oct 28, 2025
5cfe873
Bump tokio from 1.47.1 to 1.48.0 (#19076)
dependabot[bot] Oct 28, 2025
0d20f76
Bump reqwest from 0.12.23 to 0.12.24 (#19077)
dependabot[bot] Oct 28, 2025
cb0ed5e
Bump actions/download-artifact from 5.0.0 to 6.0.0 (#19102)
dependabot[bot] Oct 28, 2025
66a42d4
Bump hiredis from 3.2.1 to 3.3.0 (#19103)
dependabot[bot] Oct 28, 2025
1a78fc8
Bump pyyaml from 6.0.2 to 6.0.3 (#19105)
dependabot[bot] Oct 28, 2025
e23e7ae
Bump actions/upload-artifact from 4 to 5 (#19106)
dependabot[bot] Oct 28, 2025
086b887
Merge branch 'release-v1.141' into develop
anoadragon453 Oct 28, 2025
a07dd43
Use Pillow's non-experimental getexif (#19098)
AndrewFerr Oct 28, 2025
dc33ef9
Update docs on downstream Debian package (#19100)
AndrewFerr Oct 28, 2025
7897c8f
Add a docs page with common steps to review the release notes (#19109)
anoadragon453 Oct 29, 2025
1823287
Merge branch 'master' into develop
anoadragon453 Oct 29, 2025
0417296
Remove logcontext problems caused by awaiting raw `deferLater(...)` (…
MadLittleMods Oct 29, 2025
6facf98
Be mindful of other `SIGHUP` handlers in 3rd-party code (#19095)
MadLittleMods Oct 29, 2025
32998d0
Bump sigstore/cosign-installer from 3.10.0 to 4.0.0 (#19075)
dependabot[bot] Oct 29, 2025
e0838c2
Drop Python 3.9, bump tests/builds to Python 3.10 (#19099)
AndrewFerr Oct 29, 2025
7285129
Exclude `.lock` file from `/usr/local` when building docker images (#…
anoadragon453 Oct 30, 2025
f54ddbc
Prevent duplicate GH releases being created during Synapse release pr…
anoadragon453 Oct 30, 2025
2c4057b
Prevent duplicate logging setup when running multiple Synapse instanc…
MadLittleMods Oct 30, 2025
3495991
Move reading of multipart response into `try` body (#19062)
anoadragon453 Oct 30, 2025
f0aae62
Cheaper logcontext debug logs (`random_string_insecure_fast(...)`) (#…
MadLittleMods Oct 30, 2025
c0b9437
Fix lost logcontext when using `timeout_deferred(...)` (#19090)
MadLittleMods Oct 30, 2025
300c555
Update `check_dependencies` to support markers (#19110)
anoadragon453 Oct 30, 2025
3595ff9
Pydantic v2 (#19071)
V02460 Oct 31, 2025
07e7980
Fix Rust’s confusing lifetime lint (#19118)
V02460 Oct 31, 2025
3ccc518
Fix schema lint script to understand `CREATE TABLE IF NOT EXISTS` (#1…
erikjohnston Oct 31, 2025
41a2762
Be mindful of other logging context filters in 3rd-party code (#19068)
MadLittleMods Oct 31, 2025
69bab78
Python 3.14 support (#19055)
anoadragon453 Nov 3, 2025
bc926bd
Bump ruff from 0.12.10 to 0.14.3 (#19124)
dependabot[bot] Nov 3, 2025
e00a411
Move exception handling up the stack (avoid `exit(1)` in our composab…
MadLittleMods Nov 3, 2025
f02ac5a
Bump markdown-it-py from 3.0.0 to 4.0.0 (#19123)
dependabot[bot] Nov 3, 2025
a710745
Refactor app entrypoints (avoid `exit(1)` in our composable functions…
MadLittleMods Nov 3, 2025
2c5deb8
Bump icu_segmenter from 2.0.0 to 2.0.1 (#19126)
dependabot[bot] Nov 3, 2025
4f9dc3b
Bump psycopg2 from 2.9.10 to 2.9.11 (#19125)
dependabot[bot] Nov 3, 2025
e02a6f5
Fix lost logcontext on `HomeServer.shutdown()` (#19108)
MadLittleMods Nov 3, 2025
891acfd
Move `oidc.load_metadata()` startup into `_base.start()` (#19056)
MadLittleMods Nov 3, 2025
db00925
Redirect `stdout`/`stderr` to logs after initialization (#19131)
MadLittleMods Nov 3, 2025
08f570f
Fix "There is no current event loop in thread" error in tests (#19134)
anoadragon453 Nov 4, 2025
5408101
Speed up pruning of ratelimiter (#19129)
erikjohnston Nov 4, 2025
2760d15
1.142.0rc1
anoadragon453 Nov 4, 2025
b2237ff
Add sqlite deprecation to changelog and upgrade notes
anoadragon453 Nov 4, 2025
d888126
Drop period from title
anoadragon453 Nov 4, 2025
4bbde14
Skip building Python 3.9 wheels with cibuildwheel (#19119)
anoadragon453 Nov 4, 2025
5d71034
1.142.0rc2
anoadragon453 Nov 4, 2025
0cbb2a1
Don't build free-threaded wheels (#19140)
anoadragon453 Nov 4, 2025
2fd8d88
1.142.0rc3
anoadragon453 Nov 4, 2025
18f1d28
1.142.0rc1 regression fix: Allow coercing a `str` to a `FilePath` in …
anoadragon453 Nov 7, 2025
5d4a731
1.142.0rc4
anoadragon453 Nov 7, 2025
72073d8
Move important messages to the top of the changelog
anoadragon453 Nov 7, 2025
39f8e28
Update `cibuildwheel` config to stop building Python 3.9 and free-thr…
anoadragon453 Nov 10, 2025
8feb862
1.142.0
anoadragon453 Nov 11, 2025
d01a8ab
Allow subpaths in MAS endpoints (#19186)
devonh Nov 18, 2025
46efbae
1.142.1
devonh Nov 18, 2025
47de4c0
Merge remote-tracking branch 'upstream/release-v1.142' into famedly-r…
jason-famedly Nov 24, 2025
067a4a0
Remove CI lint testing for pydantic models
jason-famedly Nov 24, 2025
4ce5dad
Famedly Release v1.142.1_1
jason-famedly Nov 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .ci/scripts/calculate_jobs.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ def set_output(key: str, value: str):
"database": "sqlite",
"extras": "all",
}
for version in ("3.10", "3.11", "3.12", "3.13")
for version in ("3.11", "3.12", "3.13", "3.14")
)

trial_postgres_tests = [
Expand All @@ -68,7 +68,7 @@ def set_output(key: str, value: str):
if not IS_PR:
trial_postgres_tests.append(
{
"python-version": "3.13",
"python-version": "3.14",
"database": "postgres",
"postgres-version": "17",
"extras": "all",
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ jobs:
touch "${{ runner.temp }}/digests/${digest#sha256:}"

- name: Upload digest
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v5
with:
name: digests-${{ matrix.suffix }}
path: ${{ runner.temp }}/digests/*
Expand All @@ -95,7 +95,7 @@ jobs:
- build
steps:
- name: Download digests
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
path: ${{ runner.temp }}/digests
pattern: digests-*
Expand All @@ -120,7 +120,7 @@ jobs:
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1

- name: Install Cosign
uses: sigstore/cosign-installer@d7543c93d881b35a8faa02e8e3605f69b7a1ce62 # v3.10.0
uses: sigstore/cosign-installer@faadad0cce49287aee09b3a48701e75088a2c6ad # v4.0.0

- name: Calculate docker image tag
uses: docker/metadata-action@c1e51972afc2121e065aed6d45c65596fe445f3f # v5.8.0
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs-pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
cp book/welcome_and_overview.html book/index.html

- name: Upload Artifact
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: book
path: book
Expand Down
16 changes: 0 additions & 16 deletions .github/workflows/famedly-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -115,21 +115,6 @@ jobs:
- name: Check line endings
run: scripts-dev/check_line_terminators.sh

lint-pydantic:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
- uses: Swatinem/rust-cache@68b3cb7503c78e67dae8373749990a220eb65352
- uses: matrix-org/setup-python-poetry@v2
with:
poetry-version: "2.1.1"
python-version: "3.13"
extras: "all"
- run: poetry run scripts-dev/check_pydantic_models.py

#lint-clippy:
# runs-on: ubuntu-latest

Expand Down Expand Up @@ -175,7 +160,6 @@ jobs:
- lint
- lint-mypy
- lint-crlf
- lint-pydantic
- check-sampleconfig
#- check-schema-delta
- check-lockfile
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/fix_lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,6 @@ jobs:
- run: cargo fmt
continue-on-error: true

- uses: stefanzweifel/git-auto-commit-action@778341af668090896ca464160c2def5d1d1a3eb0 # v6.0.1
- uses: stefanzweifel/git-auto-commit-action@28e16e81777b558cc906c8750092100bbb34c5e3 # v7.0.0
with:
commit_message: "Attempt to fix linting"
6 changes: 3 additions & 3 deletions .github/workflows/latest_deps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -139,9 +139,9 @@ jobs:
fail-fast: false
matrix:
include:
- sytest-tag: bullseye
- sytest-tag: bookworm

- sytest-tag: bullseye
- sytest-tag: bookworm
postgres: postgres
workers: workers
redis: redis
Expand Down Expand Up @@ -173,7 +173,7 @@ jobs:
if: ${{ always() }}
run: /sytest/scripts/tap_to_gha.pl /logs/results.tap
- name: Upload SyTest logs
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
if: ${{ always() }}
with:
name: Sytest Logs - ${{ job.status }} - (${{ join(matrix.*, ', ') }})
Expand Down
40 changes: 20 additions & 20 deletions .github/workflows/release-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ jobs:
echo "ARTIFACT_NAME=${DISTRO#*:}" >> "$GITHUB_OUTPUT"

- name: Upload debs as artifacts
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: debs-${{ steps.artifact-name.outputs.ARTIFACT_NAME }}
path: debs/*
Expand Down Expand Up @@ -141,20 +141,25 @@ jobs:
python-version: "3.x"

- name: Install cibuildwheel
run: python -m pip install cibuildwheel==3.0.0
run: python -m pip install cibuildwheel==3.2.1

- name: Only build a single wheel on PR
if: startsWith(github.ref, 'refs/pull/')
run: echo "CIBW_BUILD="cp39-manylinux_*"" >> $GITHUB_ENV
run: echo "CIBW_BUILD="cp310-manylinux_*"" >> $GITHUB_ENV

- name: Build wheels
run: python -m cibuildwheel --output-dir wheelhouse
env:
# Skip testing for platforms which various libraries don't have wheels
# for, and so need extra build deps.
CIBW_TEST_SKIP: pp3*-* *i686* *musl*
# The platforms that we build for are determined by the
# `tool.cibuildwheel.skip` option in `pyproject.toml`.

- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
# We skip testing wheels for the following platforms in CI:
#
# pp3*-* (PyPy wheels) broke in CI (TODO: investigate).
# musl: (TODO: investigate).
CIBW_TEST_SKIP: pp3*-* *musl*

- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: Wheel-${{ matrix.os }}
path: ./wheelhouse/*.whl
Expand All @@ -175,7 +180,7 @@ jobs:
- name: Build sdist
run: python -m build --sdist

- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: Sdist
path: dist/*.tar.gz
Expand All @@ -191,7 +196,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Download all workflow run artifacts
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
- name: Build a tarball for the debs
# We need to merge all the debs uploads into one folder, then compress
# that.
Expand All @@ -200,16 +205,11 @@ jobs:
mv debs*/* debs/
tar -cvJf debs.tar.xz debs
- name: Attach to release
# Pinned to work around https://github.com/softprops/action-gh-release/issues/445
uses: softprops/action-gh-release@c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda # v0.1.15
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
files: |
Sdist/*
Wheel*/*
debs.tar.xz
# if it's not already published, keep the release as a draft.
draft: true
# mark it as a prerelease if the tag contains 'rc'.
prerelease: ${{ contains(github.ref, 'rc') }}
run: |
gh release upload "${{ github.ref_name }}" \
Sdist/* \
Wheel*/* \
debs.tar.xz \
--repo ${{ github.repository }}
28 changes: 3 additions & 25 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -207,26 +207,6 @@ jobs:
env:
PULL_REQUEST_NUMBER: ${{ github.event.number }}

lint-pydantic:
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.linting == 'true' }}

steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Install Rust
uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # master
with:
toolchain: ${{ env.RUST_VERSION }}
- uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # v2.8.1
- uses: matrix-org/setup-python-poetry@5bbf6603c5c930615ec8a29f1b5d7d258d905aa4 # v2.0.0
with:
poetry-version: "2.1.1"
extras: "all"
- run: poetry run scripts-dev/check_pydantic_models.py

lint-clippy:
runs-on: ubuntu-latest
needs: changes
Expand Down Expand Up @@ -341,7 +321,6 @@ jobs:
- lint-mypy
- lint-crlf
- lint-newsfile
- lint-pydantic
- check-sampleconfig
- check-schema-delta
- check-lockfile
Expand All @@ -363,7 +342,6 @@ jobs:
lint
lint-mypy
lint-newsfile
lint-pydantic
lint-clippy
lint-clippy-nightly
lint-rust
Expand Down Expand Up @@ -585,7 +563,7 @@ jobs:
if: ${{ always() }}
run: /sytest/scripts/tap_to_gha.pl /logs/results.tap
- name: Upload SyTest logs
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
if: ${{ always() }}
with:
name: Sytest Logs - ${{ job.status }} - (${{ join(matrix.job.*, ', ') }})
Expand Down Expand Up @@ -641,7 +619,7 @@ jobs:
- python-version: "3.10"
postgres-version: "13"

- python-version: "3.13"
- python-version: "3.14"
postgres-version: "17"

services:
Expand Down Expand Up @@ -683,7 +661,7 @@ jobs:
PGPASSWORD: postgres
PGDATABASE: postgres
- name: "Upload schema differences"
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
if: ${{ failure() && !cancelled() && steps.run_tester_script.outcome == 'failure' }}
with:
name: Schema dumps
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/twisted_trunk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,11 +108,11 @@ jobs:
if: needs.check_repo.outputs.should_run_workflow == 'true'
runs-on: ubuntu-latest
container:
# We're using debian:bullseye because it uses Python 3.10 which is our minimum supported Python version.
# We're using bookworm because that's what Debian oldstable is at the time of writing.
# This job is a canary to warn us about unreleased twisted changes that would cause problems for us if
# they were to be released immediately. For simplicity's sake (and to save CI runners) we use the oldest
# version, assuming that any incompatibilities on newer versions would also be present on the oldest.
image: matrixdotorg/sytest-synapse:bullseye
image: matrixdotorg/sytest-synapse:bookworm
volumes:
- ${{ github.workspace }}:/src

Expand Down Expand Up @@ -147,7 +147,7 @@ jobs:
if: ${{ always() }}
run: /sytest/scripts/tap_to_gha.pl /logs/results.tap
- name: Upload SyTest logs
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
if: ${{ always() }}
with:
name: Sytest Logs - ${{ job.status }} - (${{ join(matrix.*, ', ') }})
Expand Down
Loading
Loading