✨ feat: drop Python 3.8 support#3170
Merged
Merged
Conversation
CPython 3.8 reached end of life on 2024-10-07, more than 18 months ago, which meets the project policy for dropping a version. virtualenv now requires Python 3.9 or later to run and to create environments. virtualenv bundled the embedded wheel seed package only for Python 3.8, so this removes it: the wheel files, the 3.8 bundle entry, and the wheel handling in the upgrade tooling. The --wheel and --no-wheel options stay as no-ops, but the deprecation warning is louder and now states that virtualenv will remove them in a release after 2026-12. This also drops the macOS pyvenv launcher patch, which only applied to CPython 3.8.0-3.8.2, and updates packaging metadata, the CI matrix, tox environments, tests, and docs.
for more information, see https://pre-commit.ci
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CPython 3.8 reached end of life on 2024-10-07, more than 18 months ago, which meets the project policy for dropping a version. 🐍 virtualenv now requires Python 3.9 or later, both to run and to create environments, so this raises
requires-pythonto>=3.9and clears the 3.8 entries out of the packaging metadata, CI matrix, and tox environments.virtualenv bundled the embedded
wheelseed package only for Python 3.8, so dropping 3.8 lets me remove it outright: thewheelfiles, the3.8bundle entry (which also orphanedpip-25.0.1andsetuptools-75.3.4), and the wheel handling intasks/upgrade_wheels.py. Removing the only 3.8-specific creator code, the macOS__PYVENV_LAUNCHER__patch that applied to CPython 3.8.0 through 3.8.2, falls out of the same cleanup.#3168removed the orphanedwheel-0.47.0on its own; this supersedes it, so close that one once this merges. PR#2884restored--wheel/--no-wheelafter an earlier removal broke Fedora and other downstream callers, so I kept both flags as no-ops rather than repeat that breakage. They now warn louder: the message states that virtualenv will remove them in a release after 2026-12, giving downstream tooling a deadline to stop passing them.