diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 052560153c..fc9047cee3 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -12,7 +12,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "pypy-3.10", "pypy-3.11"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14-dev", "pypy-3.10", "pypy-3.11"] os: [ubuntu-22.04, macOS-latest, windows-latest] # Pypy-3.11 can't install openssl-sys with rust # which prevents us from testing in GHA. @@ -42,10 +42,10 @@ jobs: steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 - - name: 'Set up Python 3.8' + - name: 'Set up Python 3.9' uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 with: - python-version: '3.8' + python-version: '3.9' - name: Install dependencies run: | make @@ -62,10 +62,10 @@ jobs: steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 - - name: 'Set up Python 3.8' + - name: 'Set up Python 3.9' uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 with: - python-version: '3.8' + python-version: '3.9' - name: Install dependencies run: | make diff --git a/HISTORY.md b/HISTORY.md index ed4d652b1a..e274ecac36 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -6,6 +6,10 @@ dev - \[Short description of non-trivial change.\] +**Deprecations** +- Added support for Python 3.14. +- Dropped support for Python 3.8 following its end of support. + 2.32.4 (2025-06-10) ------------------- diff --git a/README.md b/README.md index 18d9723c7d..74adab80dd 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ Requests is available on PyPI: $ python -m pip install requests ``` -Requests officially supports Python 3.8+. +Requests officially supports Python 3.9+. ## Supported Features & Best–Practices diff --git a/docs/community/faq.rst b/docs/community/faq.rst index b6ea654e60..2804b1d3de 100644 --- a/docs/community/faq.rst +++ b/docs/community/faq.rst @@ -55,7 +55,8 @@ Chris Adams gave an excellent summary on Python 3 Support? ----------------- -Yes! Requests officially supports Python 3.8+ and PyPy. +Yes! Requests supports all `officially supported versions of Python `_ +and recent releases of PyPy. Python 2 Support? ----------------- @@ -64,8 +65,8 @@ No! As of Requests 2.28.0, Requests no longer supports Python 2.7. Users who have been unable to migrate should pin to `requests<2.28`. Full information can be found in `psf/requests#6023 `_. -It is *highly* recommended users migrate to Python 3.8+ now since Python -2.7 is no longer receiving bug fixes or security updates as of January 1, 2020. +It is *highly* recommended users migrate to a supported Python 3.x version now since +Python 2.7 is no longer receiving bug fixes or security updates as of January 1, 2020. What are "hostname doesn't match" errors? ----------------------------------------- diff --git a/docs/index.rst b/docs/index.rst index 289250c2a4..aef47a8906 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -72,7 +72,7 @@ Requests is ready for today's web. - Chunked Requests - ``.netrc`` Support -Requests officially supports Python 3.8+, and runs great on PyPy. +Requests officially supports Python 3.9+, and runs great on PyPy. The User Guide diff --git a/setup.py b/setup.py index 7d9b52bc3b..ff65d39102 100755 --- a/setup.py +++ b/setup.py @@ -6,7 +6,7 @@ from setuptools import setup CURRENT_PYTHON = sys.version_info[:2] -REQUIRED_PYTHON = (3, 8) +REQUIRED_PYTHON = (3, 9) if CURRENT_PYTHON < REQUIRED_PYTHON: sys.stderr.write( @@ -69,7 +69,7 @@ package_data={"": ["LICENSE", "NOTICE"]}, package_dir={"": "src"}, include_package_data=True, - python_requires=">=3.8", + python_requires=">=3.9", install_requires=requires, license=about["__license__"], zip_safe=False, @@ -82,12 +82,12 @@ "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", diff --git a/tox.ini b/tox.ini index 79f74b2567..70c2855123 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py{38,39,310,311,312,313}-{default, use_chardet_on_py3} +envlist = py{39,310,311,312,313,314}-{default, use_chardet_on_py3} [testenv] deps = -rrequirements-dev.txt