Skip to content
This repository has been archived by the owner on Apr 29, 2024. It is now read-only.

chore(deps): update dependency requests to v2.31.0 #4

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

mend-for-github-com[bot]
Copy link

This PR contains the following updates:

Package Update Change
requests (source, changelog) minor ==2.18.4 -> ==2.31.0

By merging this PR, the below vulnerabilities will be automatically resolved:

Severity CVSS Score CVE
Critical Critical 9.8 CVE-2018-20060
High High 8.1 CVE-2023-43804
High High 7.5 CVE-2018-18074
High High 7.5 CVE-2019-11324
High High 7.5 CVE-2021-33503
Medium Medium 6.5 CVE-2020-26137
Medium Medium 6.1 CVE-2019-11236
Medium Medium 6.1 CVE-2019-9740
Medium Medium 6.1 CVE-2023-32681
Medium Medium 4.2 CVE-2023-45803

Release Notes

psf/requests (requests)

v2.31.0

Compare Source

Security

  • Versions of Requests between v2.3.0 and v2.30.0 are vulnerable to potential
    forwarding of Proxy-Authorization headers to destination servers when
    following HTTPS redirects.

    When proxies are defined with user info (https://user:pass@proxy:8080), Requests
    will construct a Proxy-Authorization header that is attached to the request to
    authenticate with the proxy.

    In cases where Requests receives a redirect response, it previously reattached
    the Proxy-Authorization header incorrectly, resulting in the value being
    sent through the tunneled connection to the destination server. Users who rely on
    defining their proxy credentials in the URL are strongly encouraged to upgrade
    to Requests 2.31.0+ to prevent unintentional leakage and rotate their proxy
    credentials once the change has been fully deployed.

    Users who do not use a proxy or do not supply their proxy credentials through
    the user information portion of their proxy URL are not subject to this
    vulnerability.

    Full details can be read in our Github Security Advisory
    and CVE-2023-32681.

v2.30.0

Compare Source

Dependencies

v2.29.0

Compare Source

Improvements

  • Requests now defers chunked requests to the urllib3 implementation to improve
    standardization. (#​6226)
  • Requests relaxes header component requirements to support bytes/str subclasses. (#​6356)

v2.28.2

Compare Source

Dependencies

  • Requests now supports charset_normalizer 3.x. (#​6261)

Bugfixes

  • Updated MissingSchema exception to suggest https scheme rather than http. (#​6188)

v2.28.1

Compare Source

Improvements

  • Speed optimization in iter_content with transition to yield from. (#​6170)

Dependencies

  • Added support for chardet 5.0.0 (#​6179)
  • Added support for charset-normalizer 2.1.0 (#​6169)

v2.28.0

Compare Source

Deprecations

  • ⚠️ Requests has officially dropped support for Python 2.7. ⚠️ (#​6091)
  • Requests has officially dropped support for Python 3.6 (including pypy3.6). (#​6091)

Improvements

  • Wrap JSON parsing issues in Request's JSONDecodeError for payloads without
    an encoding to make json() API consistent. (#​6097)
  • Parse header components consistently, raising an InvalidHeader error in
    all invalid cases. (#​6154)
  • Added provisional 3.11 support with current beta build. (#​6155)
  • Requests got a makeover and we decided to paint it black. (#​6095)

Bugfixes

  • Fixed bug where setting CURL_CA_BUNDLE to an empty string would disable
    cert verification. All Requests 2.x versions before 2.28.0 are affected. (#​6074)
  • Fixed urllib3 exception leak, wrapping urllib3.exceptions.SSLError with
    requests.exceptions.SSLError for content and iter_content. (#​6057)
  • Fixed issue where invalid Windows registry entries caused proxy resolution
    to raise an exception rather than ignoring the entry. (#​6149)
  • Fixed issue where entire payload could be included in the error message for
    JSONDecodeError. (#​6036)

v2.27.1

Compare Source

Bugfixes

  • Fixed parsing issue that resulted in the auth component being
    dropped from proxy URLs. (#​6028)

v2.27.0

Compare Source

Improvements

  • Officially added support for Python 3.10. (#​5928)

  • Added a requests.exceptions.JSONDecodeError to unify JSON exceptions between
    Python 2 and 3. This gets raised in the response.json() method, and is
    backwards compatible as it inherits from previously thrown exceptions.
    Can be caught from requests.exceptions.RequestException as well. (#​5856)

  • Improved error text for misnamed InvalidSchema and MissingSchema
    exceptions. This is a temporary fix until exceptions can be renamed
    (Schema->Scheme). (#​6017)

  • Improved proxy parsing for proxy URLs missing a scheme. This will address
    recent changes to urlparse in Python 3.9+. (#​5917)

Bugfixes

  • Fixed defect in extract_zipped_paths which could result in an infinite loop
    for some paths. (#​5851)

  • Fixed handling for AttributeError when calculating length of files obtained
    by Tarfile.extractfile(). (#​5239)

  • Fixed urllib3 exception leak, wrapping urllib3.exceptions.InvalidHeader with
    requests.exceptions.InvalidHeader. (#​5914)

  • Fixed bug where two Host headers were sent for chunked requests. (#​5391)

  • Fixed regression in Requests 2.26.0 where Proxy-Authorization was
    incorrectly stripped from all requests sent with Session.send. (#​5924)

  • Fixed performance regression in 2.26.0 for hosts with a large number of
    proxies available in the environment. (#​5924)

  • Fixed idna exception leak, wrapping UnicodeError with
    requests.exceptions.InvalidURL for URLs with a leading dot (.) in the
    domain. (#​5414)

Deprecations

  • Requests support for Python 2.7 and 3.6 will be ending in 2022. While we
    don't have exact dates, Requests 2.27.x is likely to be the last release
    series providing support.

v2.26.0

Compare Source

Improvements

  • Requests now supports Brotli compression, if either the brotli or
    brotlicffi package is installed. (#​5783)

  • Session.send now correctly resolves proxy configurations from both
    the Session and Request. Behavior now matches Session.request. (#​5681)

Bugfixes

  • Fixed a race condition in zip extraction when using Requests in parallel
    from zip archive. (#​5707)

Dependencies

  • Instead of chardet, use the MIT-licensed charset_normalizer for Python3
    to remove license ambiguity for projects bundling requests. If chardet
    is already installed on your machine it will be used instead of charset_normalizer
    to keep backwards compatibility. (#​5797)

    You can also install chardet while installing requests by
    specifying [use_chardet_on_py3] extra as follows:

    pip install "requests[use_chardet_on_py3]"

    Python2 still depends upon the chardet module.

  • Requests now supports idna 3.x on Python 3. idna 2.x will continue to
    be used on Python 2 installations. (#​5711)

Deprecations

  • The requests[security] extra has been converted to a no-op install.
    PyOpenSSL is no longer the recommended secure option for Requests. (#​5867)

  • Requests has officially dropped support for Python 3.5. (#​5867)

v2.25.1

Compare Source

Bugfixes

  • Requests now treats application/json as utf8 by default. Resolving
    inconsistencies between r.text and r.json output. (#​5673)

Dependencies

  • Requests now supports chardet v4.x.

v2.25.0

Compare Source

Improvements

  • Added support for NETRC environment variable. (#​5643)

Dependencies

  • Requests now supports urllib3 v1.26.

Deprecations

  • Requests v2.25.x will be the last release series with support for Python 3.5.
  • The requests[security] extra is officially deprecated and will be removed
    in Requests v2.26.0.

v2.24.0

Compare Source

Improvements

  • pyOpenSSL TLS implementation is now only used if Python
    either doesn't have an ssl module or doesn't support
    SNI. Previously pyOpenSSL was unconditionally used if available.
    This applies even if pyOpenSSL is installed via the
    requests[security] extra (#​5443)

  • Redirect resolution should now only occur when
    allow_redirects is True. (#​5492)

  • No longer perform unnecessary Content-Length calculation for
    requests that won't use it. (#​5496)

v2.23.0

Compare Source

Improvements

  • Remove defunct reference to prefetch in Session __attrs__ (#​5110)

Bugfixes

  • Requests no longer outputs password in basic auth usage warning. (#​5099)

Dependencies

  • Pinning for chardet and idna now uses major version instead of minor.
    This hopefully reduces the need for releases every time a dependency is updated.

v2.22.0

Compare Source

Dependencies

  • Requests now supports urllib3 v1.25.2.
    (note: 1.25.0 and 1.25.1 are incompatible)

Deprecations

  • Requests has officially stopped support for Python 3.4.

v2.21.0

Compare Source

Dependencies

  • Requests now supports idna v2.8.

v2.20.1

Compare Source

Bugfixes

  • Fixed bug with unintended Authorization header stripping for
    redirects using default ports (http/80, https/443).

v2.20.0

Compare Source

Bugfixes

  • Content-Type header parsing is now case-insensitive (e.g.
    charset=utf8 v Charset=utf8).
  • Fixed exception leak where certain redirect urls would raise
    uncaught urllib3 exceptions.
  • Requests removes Authorization header from requests redirected
    from https to http on the same hostname. (CVE-2018-18074)
  • should_bypass_proxies now handles URIs without hostnames (e.g.
    files).

Dependencies

  • Requests now supports urllib3 v1.24.

Deprecations

  • Requests has officially stopped support for Python 2.6.

v2.19.1

Compare Source

Bugfixes

  • Fixed issue where status_codes.py's init function failed trying
    to append to a __doc__ value of None.

v2.19.0

Compare Source

Improvements

  • Warn user about possible slowdown when using cryptography version
    < 1.3.4
  • Check for invalid host in proxy URL, before forwarding request to
    adapter.
  • Fragments are now properly maintained across redirects. (RFC7231
    7.1.2)
  • Removed use of cgi module to expedite library load time.
  • Added support for SHA-256 and SHA-512 digest auth algorithms.
  • Minor performance improvement to Request.content.
  • Migrate to using collections.abc for 3.7 compatibility.

Bugfixes

  • Parsing empty Link headers with parse_header_links() no longer
    return one bogus entry.
  • Fixed issue where loading the default certificate bundle from a zip
    archive would raise an IOError.
  • Fixed issue with unexpected ImportError on windows system which do
    not support winreg module.
  • DNS resolution in proxy bypass no longer includes the username and
    password in the request. This also fixes the issue of DNS queries
    failing on macOS.
  • Properly normalize adapter prefixes for url comparison.
  • Passing None as a file pointer to the files param no longer
    raises an exception.
  • Calling copy on a RequestsCookieJar will now preserve the cookie
    policy correctly.

Dependencies

  • We now support idna v2.7.
  • We now support urllib3 v1.23.

  • If you want to rebase/retry this PR, check this box

@mend-for-github-com mend-for-github-com bot added the security fix Security fix generated by Mend label Apr 26, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
security fix Security fix generated by Mend
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants