All Versions
Latest Version
Avg Release Cycle
51 days
Latest Release
32 days ago

Changelog History
Page 1

  • v1.26.7 Changes

    September 22, 2021
    • ๐Ÿ›  Fixed a bug with HTTPS hostname verification involving IP addresses and lack of SNI. (Issue #2400)
    • ๐Ÿ›  Fixed a bug where IPv6 braces weren't stripped during certificate hostname matching. (Issue #2240)
  • v1.26.6 Changes

    June 25, 2021
    • ๐Ÿ—„ Deprecated the urllib3.contrib.ntlmpool module. urllib3 is not able to support it properly due to reasons listed in this issue <>_. If you are a user of this module please leave a comment.
    • ๐Ÿ”„ Changed HTTPConnection.request_chunked() to not erroneously emit multiple Transfer-Encoding headers in the case that one is already specified.
    • ๐Ÿ‘ Fixed typo in deprecation message to recommend Retry.DEFAULT_ALLOWED_METHODS.
  • v1.26.5 Changes

    May 26, 2021
    • ๐Ÿ›  Fixed deprecation warnings emitted in Python 3.10.
    • โšก๏ธ Updated vendored six library to 1.16.0.
    • ๐Ÿ‘Œ Improved performance of URL parser when splitting the authority component.
  • v1.26.4 Changes

    March 15, 2021
    • ๐Ÿ”„ Changed behavior of the default SSLContext when connecting to HTTPS proxy during HTTPS requests. The default SSLContext now sets check_hostname=True.
  • v1.26.3 Changes

    January 26, 2021
    • ๐Ÿ›  Fixed bytes and string comparison issue with headers (Pull #2141)

    • ๐Ÿ”„ Changed ProxySchemeUnknown error message to be more actionable if the user supplies a proxy URL without a scheme. (Pull #2107)

  • v1.26.2 Changes

    November 12, 2020

    ๐Ÿ‘ โš ๏ธ IMPORTANT: urllib3 v2.0 will drop support for Python 2 : Read more in the v2.0 Roadmap

    • Fixed an issue where wrap_socket and CERT_REQUIRED wouldn't be imported properly on Python 2.7.8 and earlier (Pull #2052)
  • v1.26.1 Changes

    November 11, 2020

    ๐Ÿ‘ โš ๏ธ IMPORTANT: urllib3 v2.0 will drop support for Python 2 : Read more in the v2.0 Roadmap

    • ๐Ÿ›  Fixed an issue where two User-Agent headers would be sent if a User-Agent header key is passed as bytes (Pull #2047)
  • v1.26.0 Changes

    November 10, 2020

    ๐Ÿ‘ โš ๏ธ IMPORTANT: urllib3 v2.0 will drop support for Python 2 : Read more in the v2.0 Roadmap

    โž• Added support for HTTPS proxies contacting HTTPS servers (Pull #1923, Pull #1806)

    ๐Ÿ—„ Deprecated negotiating TLSv1 and TLSv1.1 by default. Users that
    ๐Ÿ—„ still wish to use TLS earlier than 1.2 without a deprecation warning
    ๐Ÿ”– should opt-in explicitly by setting ssl_version=ssl.PROTOCOL_TLSv1_1 (Pull #2002)
    ๐Ÿ—„ Starting in urllib3 v2.0: Connections that receive a DeprecationWarning will fail

    0๏ธโƒฃ and Retry(method_whitelist=...) in favor of Retry.DEFAULT_ALLOWED_METHODS,
    โœ‚ Retry.DEFAULT_REMOVE_HEADERS_ON_REDIRECT, and Retry(allowed_methods=...)
    ๐Ÿšš (Pull #2000) Starting in urllib3 v2.0: Deprecated options will be removed

    โž• Added default User-Agent header to every request (Pull #1750)

    โž• Added urllib3.util.SKIP_HEADER for skipping User-Agent, Accept-Encoding,
    and Host headers from being automatically emitted with requests (Pull #2018)

    Collapse transfer-encoding: chunked request data and framing into
    the same socket.send() call (Pull #1906)

    0๏ธโƒฃ Send http/1.1 ALPN identifier with every TLS handshake by default (Pull #1894)

    Properly terminate SecureTransport connections when CA verification fails (Pull #1977)

    โš  Don't emit an SNIMissingWarning when passing server_hostname=None
    to SecureTransport (Pull #1903)

    Disabled requesting TLSv1.2 session tickets as they weren't being used by urllib3 (Pull #1970)

    Suppress BrokenPipeError when writing request body after the server
    has closed the socket (Pull #1524)

    Wrap ssl.SSLError that can be raised from reading a socket (e.g. "bad MAC")
    into an urllib3.exceptions.SSLError (Pull #1939)

  • v1.25.11 Changes

    October 19, 2020

    ๐Ÿ›  Fix retry backoff time parsed from Retry-After header when given in the HTTP date format. The HTTP date was parsed as the local timezone rather than accounting for the timezone in the HTTP date (typically UTC) (#1932, #1935, #1938, #1949)

    ๐Ÿ›  Fix issue where an error would be raised when the SSLKEYLOGFILE environment variable was set to the empty string. Now SSLContext.keylog_file is not set in this situation (#2016)

  • v1.25.10 Changes

    July 22, 2020
    • โž• Added support for SSLKEYLOGFILE environment variable for logging TLS session keys with use with programs like Wireshark for decrypting captured web traffic (Pull #1867)

    • ๐Ÿ›  Fixed loading of SecureTransport libraries on macOS Big Sur due to the new dynamic linker cache (Pull #1905)

    • Collapse chunked request bodies data and framing into one call to send() to reduce the number of TCP packets by 2-4x (Pull #1906)

    • Don't insert None into ConnectionPool if the pool was empty when requesting a connection (Pull #1866)

    • Avoid hasattr call in BrotliDecoder.decompress() (Pull #1858)