[python ci] Update Python CI dependencies (major) - autoclosed #285
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.
This PR contains the following updates:
^23.7.0
->^24.3.0
^6.0.0
->^7.0.0
^27.2.0
->^29.0.0
^7.4.0
->^8.1.1
^1.26.16
->^2.2.1
Release Notes
psf/black (black)
v24.3.0
Compare Source
Highlights
This release is a milestone: it fixes Black's first CVE security vulnerability. If you
run Black on untrusted input, or if you habitually put thousands of leading tab
characters in your docstrings, you are strongly encouraged to upgrade immediately to fix
CVE-2024-21503.
This release also fixes a bug in Black's AST safety check that allowed Black to make
incorrect changes to certain f-strings that are valid in Python 3.12 and higher.
Stable style
of Black would incorrectly format the contents of certain unusual f-strings containing
nested strings with the same quote type. Now, Black will crash on such strings until
support for the new f-string syntax is implemented. (#4270)
(#4273)
Performance
characters. This fixes
CVE-2024-21503.
(#4278)
Documentation
--check
is used with--quiet
(#4236)v24.2.0
Compare Source
Stable style
(#4218)
Preview style
hug_parens_with_braces_and_square_brackets
feature to the unstable styledue to an outstanding crash and proposed formatting tweaks (#4198)
expression (#4154)
(#4185)
case
statementif
guards (#4214).Configuration
pyproject.toml
that is missing atool.black
section whendiscovering project root and configuration. Since Black continues to use version
control as an indicator of project root, this is expected to primarily change behavior
for users in a monorepo setup (desirably). If you wish to preserve previous behavior,
simply add an empty
[tool.black]
to the previously discoveredpyproject.toml
(#4204)
Output
SyntaxWarning
s orDeprecationWarning
s produced by theast
module when performing equivalence checks (#4189)
Integrations
v24.1.1
Compare Source
Bugfix release to fix a bug that made Black unusable on certain file systems with strict
limits on path length.
Preview style
Configuration
do not support long paths (#4176)
v24.1.0
Compare Source
Highlights
This release introduces the new 2024 stable style (#4106), stabilizing the following
changes:
if
-else
expressions (#2278)...
are formatted morecompactly (#3796)
(#3368)
with
statement(#3489)
entry (#3393)
--skip-magic-trailing-comma
or-C
, trailing commas are stripped fromsubscript expressions with more than 1 element (#3209)
# fmt: skip
with other comments (#3959)There are already a few improvements in the
--preview
style, which are slated for the2025 stable style. Try them out and
share your feedback. In the past, the preview
style has included some features that we were not able to stabilize. This year, we're
adding a separate
--unstable
style for features with known problems. Now, the--preview
style only includes features that we actually expect to make it into nextyear's stable style.
Stable style
Several bug fixes were made in features that are moved to the stable style in this
release:
unlike other binary operators (#4109)
blocks, except immediately before a docstring (#4130)
Preview style
--unstable
style, covering preview features that have known problems that wouldblock them from going into the stable style. Also add the
--enable-unstable-feature
flag; for example, use
--enable-unstable-feature hug_parens_with_braces_and_square_brackets
to apply thispreview feature throughout 2024, even if a later Black release downgrades the feature
to unstable (#4096)
# fmt: skip
comments (#4146)Configuration
pyproject.toml
contains an invalid key (#4165)--experimental-string-processing
flag. This feature cancurrently be enabled with
--preview --enable-unstable-feature string_processing
.(#4096)
Integrations
(#3940) for better compatibility with older versions of pre-commit (#4137)
v23.12.1
Compare Source
Packaging
d
extra by default (#4108)v23.12.0
Compare Source
Highlights
It's almost 2024, which means it's time for a new edition of Black's stable style!
Together with this release, we'll put out an alpha release 24.1a1 showcasing the draft
2024 stable style, which we'll finalize in the January release. Please try it out and
share your feedback.
This release (23.12.0) will still produce the 2023 style. Most but not all of the
changes in
--preview
mode will be in the 2024 stable style.Stable style
# fmt: off
automatically dedents when used with the--line-ranges
option, even when it is not within the specified line range. (#4084)
Preview style
indented less (#4012)
docstring (#4060)
--line-length
(#4086)functions or class definitions (#4066) (#4103)
Configuration
--line-ranges
now skips Black's internal stability check in--safe
mode. Thisavoids a crash on rare inputs that have many unformatted same-content lines. (#4034)
Packaging
Integrations
v23.11.0
Compare Source
Highlights
--line-ranges
command-line option(#4020)
Stable style
await (a ** b)
(#3994)fixes a crash (#4019)
Preview style
less (#3964)
indented less (#3992)
now preserved (#4005)
case
blocks were not split into multiple lines. Also enablegeneral trailing comma rules on
case
blocks (#4024)class definition (#4028)
Configuration
--include
(#3976)Performance
Integrations
formatter (#3940)
v23.10.1
Compare Source
Highlights
Preview style
Packaging
Integrations
summary
parameter. (#3958)
Documentation
https://github.com/psf/black/issues/39683968
v23.10.0
Compare Source
Stable style
Preview style
multiple lines (#3899)
Configuration
BLACK_CACHE_DIR
is set (#3937)Parser
type
were not acccepted insidematch
statements(#3950)
(#3949)
Output
code (#3933)
(#3938)
Integrations
v23.9.1
Compare Source
Due to various issues, the previous release (23.9.0) did not include compiled mypyc
wheels, which make Black significantly faster. These issues have now been fixed, and
this release should come with compiled wheels once again.
There will be no wheels for Python 3.12 due to a bug in mypyc. We will provide 3.12
wheels in a future release as soon as the mypyc bug is fixed.
Packaging
Performance
decreasing the size of the cache (#3877)
v23.9.0
Compare Source
Preview style
if sys.version_info > (3, x):
) and a function definition on the same level (#3862)Configuration
Performance
IPython
if notebook cells do not contain magics (#3782)Blackd
blackd
with single character input (#3558)Integrations
official pre-commit mirror. Swapping
https://github.com/psf/black
tohttps://github.com/psf/black-pre-commit-mirror
inyour
.pre-commit-config.yaml
will make Black about 2x faster (#3828).black.env
folder specified byENV_PATH
will now be removed on the completionof the GitHub Action (#3759)
pycqa/flake8 (flake8)
v7.0.0
Compare Source
v6.1.0
Compare Source
kubernetes-client/python (kubernetes)
v29.0.0
Compare Source
Kubernetes API Version: v1.29.0
Bug or Regression
v28.1.0
Compare Source
Kubernetes API Version: v1.28.2
API Change
The incorrect cost was evident when the result of a function was used in subsequent operations. (kubernetes/kubernetes#119807, @jpbetz) [SIG API Machinery, Auth and Cloud Provider]
pytest-dev/pytest (pytest)
v8.1.1
Compare Source
pytest 8.1.1 (2024-03-08)
::: {.note}
::: {.title}
Note
:::
This release is not a usual bug fix release -- it contains features and improvements, being a follow up
to
8.1.0
, which has been yanked from PyPI.:::
Features
#11475: Added the new
consider_namespace_packages
{.interpreted-text role="confval"} configuration option, defaulting toFalse
.If set to
True
, pytest will attempt to identify modules that are part of namespace packages when importing modules.#11653: Added the new
verbosity_test_cases
{.interpreted-text role="confval"} configuration option for fine-grained control of test execution verbosity.See
Fine-grained verbosity <pytest.fine_grained_verbosity>
{.interpreted-text role="ref"} for more details.Improvements
#10865:
pytest.warns
{.interpreted-text role="func"} now validates thatwarnings.warn
{.interpreted-text role="func"} was called with a [str]{.title-ref} or a [Warning]{.title-ref}.Currently in Python it is possible to use other types, however this causes an exception when
warnings.filterwarnings
{.interpreted-text role="func"} is used to filter those warnings (see CPython #103577 for a discussion).While this can be considered a bug in CPython, we decided to put guards in pytest as the error message produced without this check in place is confusing.
#11311: When using
--override-ini
for paths in invocations without a configuration file defined, the current working directory is usedas the relative directory.
Previoulsy this would raise an
AssertionError
{.interpreted-text role="class"}.#11475:
--import-mode=importlib <import-mode-importlib>
{.interpreted-text role="ref"} now tries to import modules using the standard import mechanism (but still without changing :pysys.path
{.interpreted-text role="data"}), falling back to importing modules directly only if that fails.This means that installed packages will be imported under their canonical name if possible first, for example
app.core.models
, instead of having the module name always be derived from their path (for example.env310.lib.site_packages.app.core.models
).#11801: Added the
iter_parents() <_pytest.nodes.Node.iter_parents>
{.interpreted-text role="func"} helper method on nodes.It is similar to
listchain <_pytest.nodes.Node.listchain>
{.interpreted-text role="func"}, but goes from bottom to top, and returns an iterator, not a list.#11850: Added support for
sys.last_exc
{.interpreted-text role="data"} for post-mortem debugging on Python>=3.12.#11962: In case no other suitable candidates for configuration file are found, a
pyproject.toml
(even without a[tool.pytest.ini_options]
table) will be considered as the configuration file and define therootdir
.#11978: Add
--log-file-mode
option to the logging plugin, enabling appending to log-files. This option accepts either"w"
or"a"
and defaults to"w"
.Previously, the mode was hard-coded to be
"w"
which truncates the file before logging.#12047: When multiple finalizers of a fixture raise an exception, now all exceptions are reported as an exception group.
Previously, only the first exception was reported.
Bug Fixes
#11475: Fixed regression where
--importmode=importlib
would import non-test modules more than once.#11904: Fixed a regression in pytest 8.0.0 that would cause test collection to fail due to permission errors when using
--pyargs
.This change improves the collection tree for tests specified using
--pyargs
, see12043
{.interpreted-text role="pull"} for a comparison with pytest 8.0 and <8.#12011: Fixed a regression in 8.0.1 whereby
setup_module
xunit-style fixtures are not executed when--doctest-modules
is passed.#12014: Fix the
stacklevel
used when warning about marks used on fixtures.#12039: Fixed a regression in
8.0.2
where tests created usingtmp_path
{.interpreted-text role="fixture"} have been collected multiple times in CI under Windows.Improved Documentation
tmp_path
fixture in more detail.Trivial/Internal Changes
#11785: Some changes were made to private functions which may affect plugins which access them:
FixtureManager._getautousenames()
now takes aNode
itself instead of the nodeid.FixtureManager.getfixturedefs()
now takes theNode
itself instead of the nodeid._pytest.nodes.iterparentnodeids()
function is removed without replacement.Prefer to traverse the node hierarchy itself instead.
If you really need to, copy the function from the previous pytest release.
#12069: Delayed the deprecation of the following features to
9.0.0
:node-ctor-fspath-deprecation
{.interpreted-text role="ref"}.legacy-path-hooks-deprecated
{.interpreted-text role="ref"}.It was discovered after
8.1.0
was released that the warnings about the impeding removal were not being displayed, so the team decided to revert the removal.This is the reason for
8.1.0
being yanked.pytest 8.1.0 (YANKED)
::: {.note}
::: {.title}
Note
:::
This release has been yanked: it broke some plugins without the proper warning period, due to
some warnings not showing up as expected.
See #12069.
:::
v8.1.0
Compare Source
pytest 8.1.0 (YANKED)
Features
#11475: Added the new
consider_namespace_packages
{.interpreted-text role="confval"} configuration option, defaulting toFalse
.If set to
True
, pytest will attempt to identify modules that are part of namespace packages when importing modules.#11653: Added the new
verbosity_test_cases
{.interpreted-text role="confval"} configuration option for fine-grained control of test execution verbosity.See
Fine-grained verbosity <pytest.fine_grained_verbosity>
{.interpreted-text role="ref"} for more details.Improvements
#10865:
pytest.warns
{.interpreted-text role="func"} now validates thatwarnings.warn
{.interpreted-text role="func"} was called with a [str]{.title-ref} or a [Warning]{.title-ref}.Currently in Python it is possible to use other types, however this causes an exception when
warnings.filterwarnings
{.interpreted-text role="func"} is used to filter those warnings (see CPython #103577 for a discussion).While this can be considered a bug in CPython, we decided to put guards in pytest as the error message produced without this check in place is confusing.
#11311: When using
--override-ini
for paths in invocations without a configuration file defined, the current working directory is usedas the relative directory.
Previoulsy this would raise an
AssertionError
{.interpreted-text role="class"}.#11475:
--import-mode=importlib <import-mode-importlib>
{.interpreted-text role="ref"} now tries to import modules using the standard import mechanism (but still without changing :pysys.path
{.interpreted-text role="data"}), falling back to importing modules directly only if that fails.This means that installed packages will be imported under their canonical name if possible first, for example
app.core.models
, instead of having the module name always be derived from their path (for example.env310.lib.site_packages.app.core.models
).#11801: Added the
iter_parents() <_pytest.nodes.Node.iter_parents>
{.interpreted-text role="func"} helper method on nodes.It is similar to
listchain <_pytest.nodes.Node.listchain>
{.interpreted-text role="func"}, but goes from bottom to top, and returns an iterator, not a list.#11850: Added support for
sys.last_exc
{.interpreted-text role="data"} for post-mortem debugging on Python>=3.12.#11962: In case no other suitable candidates for configuration file are found, a
pyproject.toml
(even without a[tool.pytest.ini_options]
table) will be considered as the configuration file and define therootdir
.#11978: Add
--log-file-mode
option to the logging plugin, enabling appending to log-files. This option accepts either"w"
or"a"
and defaults to"w"
.Previously, the mode was hard-coded to be
"w"
which truncates the file before logging.#12047: When multiple finalizers of a fixture raise an exception, now all exceptions are reported as an exception group.
Previously, only the first exception was reported.
Bug Fixes
#11904: Fixed a regression in pytest 8.0.0 that would cause test collection to fail due to permission errors when using
--pyargs
.This change improves the collection tree for tests specified using
--pyargs
, see12043
{.interpreted-text role="pull"} for a comparison with pytest 8.0 and <8.#12011: Fixed a regression in 8.0.1 whereby
setup_module
xunit-style fixtures are not executed when--doctest-modules
is passed.#12014: Fix the
stacklevel
used when warning about marks used on fixtures.#12039: Fixed a regression in
8.0.2
where tests created usingtmp_path
{.interpreted-text role="fixture"} have been collected multiple times in CI under Windows.Improved Documentation
tmp_path
fixture in more detail.Trivial/Internal Changes
FixtureManager._getautousenames()
now takes aNode
itself instead of the nodeid.FixtureManager.getfixturedefs()
now takes theNode
itself instead of the nodeid._pytest.nodes.iterparentnodeids()
function is removed without replacement.Prefer to traverse the node hierarchy itself instead.
If you really need to, copy the function from the previous pytest release.
v8.0.2
Compare Source
pytest 8.0.2 (2024-02-24)
Bug Fixes
c:\PROGRA~1\tests
).IndexError
crash raising fromgetstatementrange_ast
.v8.0.1
Compare Source
pytest 8.0.1 (2024-02-16)
Bug Fixes
getpass.getuser
{.interpreted-text role="func"} in Python 3.13.ExceptionInfo._stringify_exception
could crashpytest.raises
{.interpreted-text role="func"}.pytest.warns
{.interpreted-text role="func"} using custom warning subclasses which have more than one parameter in their [__init__]{.title-ref}.pytest.skip
{.interpreted-text role="func"} and similar control-flow exceptions within apytest.warns()
{.interpreted-text role="func"} block would get suppressed instead of propagating.v8.0.0
: pytest 8.0.0 (2024-01-27)Compare Source
See 8.0.0rc1 and 8.0.0rc2 for the full changes since pytest 7.4!
Bug Fixes
reason
of askip <pytest.mark.skip ref>
{.interpreted-text role="ref"} mark when writing JUnit XML files.1_000_000
when usinglog-date-format
with%f
specifier, which might cause the test suite to crash.urllib3/urllib3 (urllib3)
v2.2.1
Compare Source
==================
InsecureRequestWarning
was emitted for HTTPS connections when using Emscripten. (#​3331 <https://github.com/urllib3/urllib3/issues/3331>
__)HTTPConnectionPool.urlopen
to stop automatically casting non-proxy headers toHTTPHeaderDict
. This change was premature as it did not apply to proxy headers andHTTPHeaderDict
does not handle byte header values correctly yet. (#​3343 <https://github.com/urllib3/urllib3/issues/3343>
__)InvalidChunkLength
toProtocolError
when response terminates before the chunk length is sent. (#​2860 <https://github.com/urllib3/urllib3/issues/2860>
__)ProtocolError
to be more verbose on incomplete reads with excess content. (#​3261 <https://github.com/urllib3/urllib3/issues/3261>
__)v2.2.0
Compare Source
==================
Emscripten and Pyodide <https://urllib3.readthedocs.io/en/latest/reference/contrib/emscripten.html>
, including streaming support in cross-origin isolated browser environments where threading is enabled. (#​2951 <https://github.com/urllib3/urllib3/issues/2951>
)HTTPResponse.read1()
method. (#​3186 <https://github.com/urllib3/urllib3/issues/3186>
__)#​3284 <https://github.com/urllib3/urllib3/issues/3284>
__)when using proxy. (
#​2244 <https://github.com/urllib3/urllib3/issues/2244>
__)HTTPConnection.proxy_is_verified
andHTTPSConnection.proxy_is_verified
to be always set to a boolean after connecting to a proxy. It could be
None
in some cases previously. (#​3130 <https://github.com/urllib3/urllib3/issues/3130>
__)headers
passed in a request withjson=
would be mutated (#​3203 <https://github.com/urllib3/urllib3/issues/3203>
__)HTTPSConnection.is_verified
to be set toFalse
when connectingfrom a HTTPS proxy to an HTTP target. It was set to
True
previously. (#​3267 <https://github.com/urllib3/urllib3/issues/3267>
__)#​3268 <https://github.com/urllib3/urllib3/issues/3268>
__)#​3325 <https://github.com/urllib3/urllib3/issues/3325>
__)time with the
--integration
pytest flag. (#​3181 <https://github.com/urllib3/urllib3/issues/3181>
__)v2.1.0
Compare Source
==================
Read the
v2 migration guide <https://urllib3.readthedocs.io/en/latest/v2-migration-guide.html>
__ for help upgrading to the latest version of urllib3.Removals
#​2680 <https://github.com/urllib3/urllib3/issues/2680>
__)#​2681 <https://github.com/urllib3/urllib3/issues/2681>
__)#​3143 <https://github.com/urllib3/urllib3/issues/3143>
__)Bugfixes
#​3065 <https://github.com/urllib3/urllib3/issues/3065>
__)x-gzip
content-encoding. (#​3174 <https://github.com/urllib3/urllib3/issues/3174>
__)v2.0.7
Compare Source
==================
v2.0.6
Compare Source
==================
Cookie
header to the list of headers to strip from requests when redirecting to a different host. As before, different headers can be set viaRetry.remove_headers_on_redirect
.v2.0.5
Compare Source
==================
#​3126 <https://github.com/urllib3/urllib3/issues/3126>
__)blocksize
ofHTTPConnection
classes to match high-level classes. Previously was 8KiB, now 16KiB. (#​3066 <https://github.com/urllib3/urllib3/issues/3066>
__)v2.0.4
Compare Source
==================
HTTPHeaderDict
(#​2254 <https://github.com/urllib3/urllib3/issues/2254>
__)BaseHTTPResponse
tourllib3.__all__
(#​3078 <https://github.com/urllib3/urllib3/issues/3078>
__)urllib3.connection.HTTPConnection
to raise thehttp.client.connect
audit event to have the same behavior as the standard library HTTP client (#​2757 <https://github.com/urllib3/urllib3/issues/2757>
__)#​3087 <https://github.com/urllib3/urllib3/issues/3087>
__)v2.0.3
Compare Source
==================
#​3020 <https://github.com/urllib3/urllib3/issues/3020>
__)#​2950 <https://github.com/urllib3/urllib3/pull/2950>
_)#​3008 <https://github.com/urllib3/urllib3/issues/3008>
__)assert_hostname=False
to correctly skip hostname check. (#​3051 <https://github.com/urllib3/urllib3/issues/3051>
__)v2.0.2
Compare Source
==================
HTTPResponse.stream()
to continue yielding bytes if buffered decompressed datawas still available to be read even if the underlying socket is closed. This prevents
a compressed response from being truncated. (
#​3009 <https://github.com/urllib3/urllib3/issues/3009>
__)v2.0.1
Compare Source
==================
#​2991 <https://github.com/urllib3/urllib3/issues/2991>
__)HTTPResponse.read(0)
was the firstread
call or when the internal response body buffer was otherwise empty. (#​2998 <https://github.com/urllib3/urllib3/issues/2998>
__)v2.0.0
Compare Source
==================
Read the
v2.0 migration guide <https://urllib3.readthedocs.io/en/latest/v2-migration-guide.html>
__ for help upgrading to the latest version of urllib3.Removed
#​883 <https://github.com/urllib3/urllib3/issues/883>
,#​2336 <https://github.com/urllib3/urllib3/issues/2336>
).commonName
inmatch_hostname()
function.This behavior was deprecated in May 2000 in RFC 2818. Instead only
subjectAltName
is used to verify the hostname by default. To enable verifying the hostname against
commonName
useSSLContext.hostname_checks_common_name = True
(#​2113 <https://github.com/urllib3/urllib3/issues/2113>
__).ssl
module compiled with LibreSSL, CiscoSSL,wolfSSL, and all other OpenSSL alternatives. Python is moving to require OpenSSL with PEP 644 (
#​2168 <https://github.com/urllib3/urllib3/issues/2168>
__).When an incompatible OpenSSL version is detected an
ImportError
is raised (#​2168 <https://github.com/urllib3/urllib3/issues/2168>
__).#​2082 <https://github.com/urllib3/urllib3/issues/2082>
__).urllib3.contrib.appengine.AppEngineManager
and support for Google App Engine Standard Environment (#​2044 <https://github.com/urllib3/urllib3/issues/2044>
__).Retry
optionsmethod_whitelist
,DEFAULT_REDIRECT_HEADERS_BLACKLIST
(#​2086 <https://github.com/urllib3/urllib3/issues/2086>
__).urllib3.HTTPResponse.from_httplib
(#​2648 <https://github.com/urllib3/urllib3/issues/2648>
__).None
for therequest_context
parameter ofurllib3.PoolManager.connection_from_pool_key
. This change should have no effect on users as the default value ofNone
was an invalid option and was never used (#​1897 <https://github.com/urllib3/urllib3/issues/1897>
__).urllib3.request
module.urllib3.request.RequestMethods
has been made a private API.This change was made to ensure that
from urllib3 import request
imported the top-levelrequest()
function instead of the
urllib3.request
module (#​2269 <https://github.com/urllib3/urllib3/issues/2269>
__).urllib3.contrib.pyopenssl
even when support is available from the compiled OpenSSL library (#​2233 <https://github.com/urllib3/urllib3/issues/2233>
__).urllib3.contrib.ntlmpool
module (#​2339 <https://github.com/urllib3/urllib3/issues/2339>
__).DEFAULT_CIPHERS
,HAS_SNI
,USE_DEFAULT_SSLCONTEXT_CIPHERS
, from the private moduleurllib3.util.ssl_
(#​2168 <https://github.com/urllib3/urllib3/issues/2168>
__).urllib3.exceptions.SNIMissingWarning
(#​2168 <https://github.com/urllib3/urllib3/issues/2168>
__)._prepare_conn
method fromHTTPConnectionPool
. Previously this was only used to callHTTPSConnection.set_cert()
byHTTPSConnectionPool
(#​1985 <https://github.com/urllib3/urllib3/issues/1985>
__).tls_in_tls_required
property fromHTTPSConnection
. This is now determined from thescheme
parameter inHTTPConnection.set_tunnel()
(#​1985 <https://github.com/urllib3/urllib3/issues/1985>
__).strict
parameter/attribute fromHTTPConnection
,HTTPSConnection
,HTTPConnectionPool
,HTTPSConnectionPool
, andHTTPResponse
(#​2064 <https://github.com/urllib3/urllib3/issues/2064>
__).Deprecated
HTTPResponse.getheaders()
andHTTPResponse.getheader()
which will be removed in urllib3 v2.1.0. Instead useHTTPResponse.headers
andHTTPResponse.headers.get(name, default)
. (#​1543 <https://github.com/urllib3/urllib3/issues/1543>
,#​2814 <https://github.com/urllib3/urllib3/issues/2814>
).urllib3.contrib.pyopenssl
module which will be removed in urllib3 v2.1.0 (#​2691 <https://github.com/urllib3/urllib3/issues/2691>
__).urllib3.contrib.securetransport
module which will be removed in urllib3 v2.1.0 (#​2692 <https://github.com/urllib3/urllib3/issues/2692>
__).ssl_version
option in favor ofssl_minimum_version
.ssl_version
will be removed in urllib3 v2.1.0 (#​2110 <https://github.com/urllib3/urllib3/issues/2110>
__).strict
parameter ofPoolManager.connection_from_context()
as it's not longer needed in Python 3.x. It will be removed in urllib3 v2.1.0 (#​2267 <https://github.com/urllib3/urllib3/issues/2267>
__)NewConnectionError.pool
attribute which will be removed in urllib3 v2.1.0 (#​2271 <https://github.com/urllib3/urllib3/issues/2271>
__).format_header_param_html5
andformat_header_param
in favor offormat_multipart_header_param
(#​2257 <https://github.com/urllib3/urllib3/issues/2257>
__).RequestField.header_formatter
parameter which will be removed in urllib3 v2.1.0 (#​2257 <https://github.com/urllib3/urllib3/issues/2257>
__).HTTPSConnection.set_cert()
method. Instead pass parameters to theHTTPSConnection
constructor (#​1985 <https://github.com/urllib3/urllib3/issues/1985>
__).HTTPConnection.request_chunked()
method which will be removed in urllib3 v2.1.0. Instead passchunked=True
toHTTPConnection.request()
(#​1985 <https://github.com/urllib3/urllib3/issues/1985>
__).Added
urllib3.request
function which uses a preconfigured module-globalPoolManager
instance (#​2150 <https://github.com/urllib3/urllib3/issues/2150>
__).json
parameter tourllib3.request()
,PoolManager.request()
, andConnectionPool.request()
methods to send JSON bodies in requests. Using this parameter will set the headerContent-Type: application/json
ifContent-Type
isn't already defined.Added support for parsing JSON response bodies with
HTTPResponse.json()
method (#​2243 <https://github.com/urllib3/urllib3/issues/2243>
__).urllib3
module (#​1897 <https://github.com/urllib3/urllib3/issues/1897>
__).ssl_minimum_version
andssl_maximum_version
options which setSSLContext.minimum_version
and `SSLContextConfiguration
📅 Schedule: Branch creation - "after 1am and before 3am every weekday" in timezone Etc/UTC, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate. View repository job log here.