name: deploy
steps:
- - uses: "actions/checkout@v3"
+ - uses: "actions/checkout@v4"
- uses: "actions/setup-python@v4"
with:
python-version: 3.8
strategy:
matrix:
- python-version: ["3.8", "3.9", "3.10", "3.11"]
+ python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
steps:
- - uses: "actions/checkout@v3"
+ - uses: "actions/checkout@v4"
- uses: "actions/setup-python@v4"
with:
python-version: "${{ matrix.python-version }}"
+ allow-prereleases: true
- name: "Install dependencies"
run: "scripts/install"
- name: "Run linting checks"
## Unreleased
+### Added
+
+* Add support for Python 3.12. (#2854)
+
### Fixed
* Raise `ValueError` on `Response.encoding` being set after `Response.text` has been accessed. (#2852)
except ImportError:
brotli = None
-if sys.version_info >= (3, 10) or (
- sys.version_info >= (3, 8) and ssl.OPENSSL_VERSION_INFO >= (1, 1, 0, 7)
-):
+if sys.version_info >= (3, 10) or ssl.OPENSSL_VERSION_INFO >= (1, 1, 0, 7):
def set_minimum_tls_version_1_2(context: ssl.SSLContext) -> None:
# The OP_NO_SSL* and OP_NO_TLS* become deprecated in favor of
import logging
import os
import ssl
-import sys
import typing
from pathlib import Path
# Signal to server support for PHA in TLS 1.3. Raises an
# AttributeError if only read-only access is implemented.
- if sys.version_info >= (3, 8): # pragma: no cover
- try:
- context.post_handshake_auth = True
- except AttributeError: # pragma: no cover
- pass
+ try:
+ context.post_handshake_auth = True
+ except AttributeError: # pragma: no cover
+ pass
# Disable using 'commonName' for SSLContext.check_hostname
# when the 'subjectAltName' extension isn't available.
alpn_idents = ["http/1.1", "h2"] if self.http2 else ["http/1.1"]
context.set_alpn_protocols(alpn_idents)
- if sys.version_info >= (3, 8): # pragma: no cover
- keylogfile = os.environ.get("SSLKEYLOGFILE")
- if keylogfile and self.trust_env:
- context.keylog_filename = keylogfile
+ keylogfile = os.environ.get("SSLKEYLOGFILE")
+ if keylogfile and self.trust_env:
+ context.keylog_filename = keylogfile
return context
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
+ "Programming Language :: Python :: 3.12",
"Topic :: Internet :: WWW/HTTP",
]
dependencies = [