shahar1 opened a new pull request, #74151:
URL: https://github.com/apache/airflow/pull/74151

   Python 3.10 reaches end of life in October 2026 and a growing number of 
dependencies have already dropped it. This layer removes 3.10 from the CI 
matrix, Breeze and the images, and moves the default Python to 3.11.
   
   - Breeze: `ALLOWED_PYTHON_MAJOR_MINOR_VERSIONS` / 
`ALL_PYTHON_MAJOR_MINOR_VERSIONS` are `3.11`–`3.14`, providers compatibility 
matrix runs on 3.11, dead `PYTHON_TO_MIN_AIRFLOW_MAPPING` + unused 
`is_airflow_version_supported_for_python` removed. Breeze command output docs 
regenerated (the ~100 SVG/TXT files are hook output).
   - CI: default `3.11` in composite actions and workflows; the 
`--no-explain-why` workaround for 3.10 in `finalize-tests.yml` goes away.
   - Images: default `AIRFLOW_PYTHON_VERSION` is 3.11; the PGP branch for 
verifying the Python tarball is removed (3.11+ publish Sigstore bundles), 
`python-3.10.asc` and its key entry go with it.
   - Scripts/tests: 3.11 defaults in `scripts/`, test constants and prek 
utility messages; `get_min_airflow_version_for_python` keyed from 3.11.
   - README/prerequisites regenerated by the `update-tested-versions` hook; 
newsfragment added.
   
   Deliberately kept: `.github/actions/prepare_all_ci_images` still restores 
3.9/3.10 images (shared with release branches, #45268); 
`ALL_HISTORICAL_PYTHON_VERSIONS`, `PYTHON_3_10_TO_3_14`, 
`ALL_PYTHON_VERSION_TO_PATCHLEVEL_VERSION["3.10"]` stay for older Airflow 
releases.
   
   Distributions still declare Python 3.10 in this layer; layer 7 bumps them 
once the code carries no 3.10-only constructs.
   
   ### Stack
   
   Layer 1 of 9 of the Python 3.10 drop (supersedes #74144, which carried the 
whole change in one PR). Each layer is meant to be green on its own: the script 
metadata bump comes first because prek picks the hook interpreter from it, and 
the ruff fixes land before the `requires-python` bump because ruff infers its 
target per distribution from the nearest `pyproject.toml`.
   
   1. Drop Python 3.10 from CI, Breeze and the container images
   2. Bump inline script metadata to Python 3.11
   3. Remove Python 3.10 compatibility shims
   4. Apply ruff Python 3.11 fixes to core, Task SDK, shared and airflowctl
   5. Apply ruff Python 3.11 fixes to providers
   6. Apply ruff Python 3.11 fixes to dev tooling, scripts and test suites
   7. Require Python 3.11 in all distributions
   8. Update provider READMEs for the Python 3.11 baseline
   9. Update docs for the Python 3.11 baseline
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes — Claude Code (Fable 5.1)
   
   Generated-by: Claude Code (Fable 5.1) following [the 
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to