Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Python 3.6 / PostgreSQL 9.6 Deprecation Checklist / Chores #11552

Closed
10 of 11 tasks
callahad opened this issue Dec 10, 2021 · 11 comments
Closed
10 of 11 tasks

Python 3.6 / PostgreSQL 9.6 Deprecation Checklist / Chores #11552

callahad opened this issue Dec 10, 2021 · 11 comments
Assignees
Labels
P3 (OBSOLETE: use S- labels.) Approved backlog: not yet scheduled, will accept patches T-Task Refactoring, removal, replacement, enabling or disabling functionality, other engineering tasks.

Comments

@callahad
Copy link
Contributor

callahad commented Dec 10, 2021

  • Bump the version of Black we use for code formatting
  • Bump the tool.black.target-version in pyproject.toml
  • Run Black on all the things
  • Update our Trove classifiers to drop support for 3.6
  • Update CI configuration to stop testing on 3.6 (including updating the olddeps test run)
  • Update .deb build script to stop building for Ubuntu Bionic (18.04) and Ubuntu Hirsute (21.04)
  • Get rid of the SyTest image that uses Bionic (and figure out what to replace it with)
  • Grep source and docs for anything referencing Python 3.6, Bionic, or Hirsute and excise it
  • Run pyupgrade
  • Consider taking advantage of from __future__ import annotations from PEP 563 to speed up application start?
  • Get rid of anything referencing PostgreSQL 9.6; our new minimum version is 10. (Check SyTest too)
@callahad callahad added P3 (OBSOLETE: use S- labels.) Approved backlog: not yet scheduled, will accept patches T-Task Refactoring, removal, replacement, enabling or disabling functionality, other engineering tasks. labels Dec 10, 2021
@richvdh
Copy link
Member

richvdh commented Dec 10, 2021

Update .deb build script to stop building for Ubuntu Bionic (18.04) and Ubuntu Hirsute (21.04)

In theory we could support these versions of ubuntu via deadsnakes (https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa). I'm conscious that 21.04 is still the current LTS version of ubuntu, so is probably quite popular. (It's what I use on my dev box, which is going to make things interesting...)

@callahad
Copy link
Contributor Author

In theory we could support these versions of ubuntu via deadsnakes

Individuals are absolutely welcome to continue running Synapse on older Ubuntu releases, including via the deadsnakes PPA, but the Synapse team itself will not build third party Debian packages for those releases.

I'm conscious that 21.04 is still the current LTS version of ubuntu

It's not :) 20.04 (Focal) is the current LTS, and we will still support it.

21.04 (Hirsute) is a normal release which hits end-of-life on January 1st:

Ubuntu release lifecycle graph

@richvdh
Copy link
Member

richvdh commented Dec 10, 2021

I'm conscious that 21.04 is still the current LTS version of ubuntu

It's not :) 20.04 (Focal) is the current LTS, and we will still support it.

ohh, sorry, my mistake. More coffee needed.

In fairness, I think you introduced confusion by talking about dropping support for 21.04. That's fine, and a thing to do as per our support policy, but it's completely orthogonal to dropping support for python 3.6 (and it's already covered by #11525).

@richvdh
Copy link
Member

richvdh commented Dec 10, 2021

For the record:

@clokep
Copy link
Member

clokep commented Dec 10, 2021

Another task we should be able to do:

@DMRobertson
Copy link
Contributor

Consider taking advantage of from future import annotations from PEP 563 to speed up application start?

This comment suggests that from __future__ import annotations would allow us to define generic attrs slots classes that don't error at runtime.

@H-Shay
Copy link
Contributor

H-Shay commented Jan 6, 2022

After a brief consultation we decided adding the from __future__ import annotations was a bit of a faff for unclear gain so it has been removed from the list.

@ShadowJonathan
Copy link
Contributor

Maybe pyupgrade as well?

@clokep
Copy link
Member

clokep commented Jan 6, 2022

Maybe pyupgrade as well?

Already in the checklist (and done) in #11685

@ShadowJonathan
Copy link
Contributor

Whoops, I did not notice, thanks!

@H-Shay
Copy link
Contributor

H-Shay commented Jan 25, 2022

I think all these tasks are done and merged, so I will close this issue!

@H-Shay H-Shay closed this as completed Jan 25, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
P3 (OBSOLETE: use S- labels.) Approved backlog: not yet scheduled, will accept patches T-Task Refactoring, removal, replacement, enabling or disabling functionality, other engineering tasks.
Projects
None yet
Development

No branches or pull requests

6 participants