diff options
| author | natsuoto <[email protected]> | 2026-06-25 12:18:49 +0530 |
|---|---|---|
| committer | natsuoto <[email protected]> | 2026-06-25 12:18:49 +0530 |
| commit | def4fe7c458c983340545dc89ef93aabf8b94a99 (patch) | |
| tree | 7fe4bdd755f10b3e68af89b9ac7015f9d4664504 | |
| parent | 10e511b5476df7ddf77b1eafdbb311a90f6005fa (diff) | |
| download | edify-def4fe7c458c983340545dc89ef93aabf8b94a99.tar.xz edify-def4fe7c458c983340545dc89ef93aabf8b94a99.zip | |
feat!: drop Python 3.8 support
Python 3.8 reached end-of-life on 2024-10-07. Dependencies are now
actively dropping it — Dependabot PR #62 surfaced the first concrete
instance (virtualenv 21.5+ requires Python 3.9+, breaking the py38
CI job). Same rationale that drove dropping Python 3.7 in #32
applies more strongly here.
- setup.py: drop the 3.8 classifier; bump python_requires to >=3.9
- pyproject.toml: bump black target-version to py39
- tox.ini: drop py38 env and basepython entry
- README.rst: bump quick-start to Python 3.9-3.14
- .github/workflows/github-actions.yml: drop py38 (ubuntu) matrix
entry (the only py38 job left after the multi-OS drop in #60)
- CHANGELOG.rst: add Unreleased section covering this PR, #60, #56,
and #58
Branch protection on main was updated in lockstep — required
contexts dropped from 13 to 12.
BREAKING CHANGE: Edify now requires Python 3.9 or newer.
Closes #63
| -rw-r--r-- | .github/workflows/github-actions.yml | 6 | ||||
| -rw-r--r-- | CHANGELOG.rst | 18 | ||||
| -rw-r--r-- | README.rst | 2 | ||||
| -rw-r--r-- | pyproject.toml | 2 | ||||
| -rwxr-xr-x | setup.py | 3 | ||||
| -rw-r--r-- | tox.ini | 3 |
6 files changed, 22 insertions, 12 deletions
diff --git a/.github/workflows/github-actions.yml b/.github/workflows/github-actions.yml index a52b114..61665e0 100644 --- a/.github/workflows/github-actions.yml +++ b/.github/workflows/github-actions.yml @@ -19,12 +19,6 @@ jobs: toxpython: 'python3.9' tox_env: 'docs' os: 'ubuntu-latest' - - name: 'py38 (ubuntu)' - python: '3.8' - toxpython: 'python3.8' - python_arch: 'x64' - tox_env: 'py38' - os: 'ubuntu-latest' - name: 'py39 (ubuntu)' python: '3.9' toxpython: 'python3.9' diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 1fb2f99..baf7c6f 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,6 +1,24 @@ Changelog ========= +Unreleased +---------- + +Breaking +~~~~~~~~ + +* Dropped support for Python 3.8. Edify now requires Python 3.9 or newer (:pr:`64`). Python 3.8 reached EOL on 2024-10-07; dependencies are now actively dropping it (e.g. ``virtualenv`` 21.5+ requires ``>=3.9``). + +Tooling and CI +~~~~~~~~~~~~~~ + +* Dropped macOS and Windows runners from the CI matrix; Linux-only from here on. Edify is a pure-Python wheel with no platform-specific code, so the multi-OS jobs were buying ~zero signal and produced false negatives. Branch-protection required contexts went from 31 → 13 in lockstep (and now 12 with the Python 3.8 drop) (:pr:`60`). + +Dependencies +~~~~~~~~~~~~ + +* Bumped the minimum ``virtualenv`` floor for the CI bootstrap to ``>=21.4.2`` (:pr:`56`, :pr:`58`). + 0.3.0 (2026-04-29) ------------------ @@ -53,7 +53,7 @@ It also allows you to verify a string quickly by providing commonly used regex p Quick Start ============= -To get started make sure you have Python 3.8-3.14 installed and then, install Edify from ``pip``: +To get started make sure you have Python 3.9-3.14 installed and then, install Edify from ``pip``: .. code-block:: bash diff --git a/pyproject.toml b/pyproject.toml index 4dc0ff5..6baa4ee 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,5 +6,5 @@ requires = [ [tool.black] line-length = 140 -target-version = ['py38'] +target-version = ['py39'] skip-string-normalization = true @@ -46,7 +46,6 @@ setup( 'Programming Language :: Python', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3 :: Only', - 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', @@ -69,7 +68,7 @@ setup( keywords=[ # eg: 'keyword1', 'keyword2', 'keyword3', ], - python_requires='>=3.8', + python_requires='>=3.9', install_requires=[ # eg: 'aspectlib==1.1.1', 'six>=1.7', ], @@ -5,7 +5,7 @@ envlist = clean, check, docs, - {py38,py39,py310,py311,py312,py313,py314,pypy310,pypy311}, + {py39,py310,py311,py312,py313,py314,pypy310,pypy311}, report ignore_basepython_conflict = true @@ -13,7 +13,6 @@ ignore_basepython_conflict = true basepython = pypy310: {env:TOXPYTHON:pypy3.10} pypy311: {env:TOXPYTHON:pypy3.11} - py38: {env:TOXPYTHON:python3.8} py39: {env:TOXPYTHON:python3.9} py310: {env:TOXPYTHON:python3.10} py311: {env:TOXPYTHON:python3.11} |
