close
Skip to content

Fix support for older versions of zope-interface#19274

Merged
devonh merged 7 commits into
developfrom
devon/old-zope-interface
Dec 12, 2025
Merged

Fix support for older versions of zope-interface#19274
devonh merged 7 commits into
developfrom
devon/old-zope-interface

Conversation

@devonh
Copy link
Copy Markdown
Member

@devonh devonh commented Dec 3, 2025

Fixes #19269

Versions of zope-interface from RHEL, Ubuntu LTS 22 & 24 and OpenSuse don't support the new python union X | Y syntax for interfaces. This PR partially reverts the change over to fully use the new syntax, adds a minimum supported version of zope-interface to Synapse's dependency list, and removes the linter auto-upgrades which prefer the newer syntax.

Pull Request Checklist

  • Pull request is based on the develop branch
  • Pull request includes a changelog file. The entry should:
    • Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from EventStore to EventWorkerStore.".
    • Use markdown where necessary, mostly for code blocks.
    • End with either a period (.) or an exclamation mark (!).
    • Start with a capital letter.
    • Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry.
  • Code style is correct (run the linters)

@devonh devonh requested a review from a team as a code owner December 3, 2025 22:58
Comment thread changelog.d/19274.bugfix Outdated
@MadLittleMods MadLittleMods requested a review from a team December 3, 2025 23:47
devonh added a commit that referenced this pull request Dec 11, 2025
Stemming from #19274 this updates the `olddeps` CI to test against not
just the minimum version of our explicit dependencies, but also the
minimum version of all implicit (transitive) dependencies that are
pulled in from the explicit dependencies themselves.

### Pull Request Checklist

<!-- Please read
https://element-hq.github.io/synapse/latest/development/contributing_guide.html
before submitting your pull request -->

* [X] Pull request is based on the develop branch
* [X] Pull request includes a [changelog
file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog).
The entry should:
- Be a short description of your change which makes sense to users.
"Fixed a bug that prevented receiving messages from other servers."
instead of "Moved X method from `EventStore` to `EventWorkerStore`.".
  - Use markdown where necessary, mostly for `code blocks`.
  - End with either a period (.) or an exclamation mark (!).
  - Start with a capital letter.
- Feel free to credit yourself, by adding a sentence "Contributed by
@github_username." or "Contributed by [Your Name]." to the end of the
entry.
* [X] [Code
style](https://element-hq.github.io/synapse/latest/code_style.html) is
correct (run the
[linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters))
Copy link
Copy Markdown
Member

@anoadragon453 anoadragon453 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some minor bits, but on the whole lgtm. Thanks for cleaning this up!

Comment thread pyproject.toml Outdated
Comment thread changelog.d/19274.bugfix Outdated
Comment thread pyproject.toml Outdated
Comment on lines +46 to +47
# Specifying the dependency explicitly will ensure we test with the lowest version during the
# olddeps CI tests.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not the case anymore!

Comment thread pyproject.toml
@devonh devonh requested a review from anoadragon453 December 11, 2025 19:10
@devonh devonh merged commit df24e0f into develop Dec 12, 2025
78 of 82 checks passed
@devonh devonh deleted the devon/old-zope-interface branch December 12, 2025 15:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Server crash, cannot start. TypeError: unsupported operand type(s) for |: 'InterfaceClass' and 'NoneType'

3 participants