element-hq / element-hq/synapse

Drop support for Python 3.10 (action on 2026-11-01)

Open
#20,041 0 comments 0 reactions 0 assignees View on GitHub
python
Dominant language
Python
Stars
4.6k
Forks
600
Avg merge
5d 22h
Merged PRs (30d)
51

Description

Drop support for Python 3.10 which is end-of-life (EOL) on 2026-10-31 ("Security Support" column on https://endoflife.date/python) - which means we can action on 2026-11-01.

### Dev notes

Previous times we had to drop Python versions:

Python 3.9

- https://github.com/element-hq/synapse/pull/19099
- https://github.com/element-hq/synapse/pull/19119
- https://github.com/element-hq/synapse/pull/19154

Python 3.8:

- https://github.com/element-hq/synapse/pull/17908
- https://github.com/element-hq/synapse/pull/17909

Python 3.7:

- https://github.com/matrix-org/synapse/pull/15851
- https://github.com/matrix-org/synapse/pull/15892
- https://github.com/matrix-org/synapse/pull/15893
- https://github.com/matrix-org/synapse/pull/15917

### Todo

- [ ] Drop Python 3.10 support from the codebase after [2026-10-31 (EOL)](https://endoflife.date/python)
- [ ] Drop `ubuntu:jammy` support because it [uses Python 3.10](https://packages.ubuntu.com/jammy/python3), see [`scripts-dev/build_debian_packages.py#L32`](https://github.com/element-hq/synapse/blob/2c8bf9a3ab0132b430c7e0f859257b79b8b6cb40/scripts-dev/build_debian_packages.py#L32)

Contributor guide

Open the contributing guide

Research direction

Start after 2026-10-31 by reviewing the linked Python 3.9, 3.8, and 3.7 support-drop pull requests for the expected scope. Inspect scripts-dev/build_debian_packages.py around line 32 and identify the remaining Python 3.10 and ubuntu:jammy references. Done means Python 3.10 and ubuntu:jammy support are removed from the codebase.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, devops
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.