Skip to content

@sethmlarson sethmlarson released this Jan 26, 2021 · 57 commits to main since this release

⚠️ IMPORTANT: urllib3 v2.0 will drop support for Python 2: Read more in the v2.0 Roadmap

  • 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)

If you or your organization rely on urllib3 consider supporting us via GitHub Sponsors

Assets 2

@sethmlarson sethmlarson released this Nov 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)
Assets 2

@sethmlarson sethmlarson released this Nov 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)
Assets 2

@sethmlarson sethmlarson released this Nov 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

  • Deprecated Retry options Retry.DEFAULT_METHOD_WHITELIST, Retry.DEFAULT_REDIRECT_HEADERS_BLACKLIST
    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)

  • 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)

Assets 2

@sethmlarson sethmlarson released this Oct 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)

Assets 2

@sethmlarson sethmlarson released this Jul 22, 2020

Release: 1.25.10

Assets 2

@sethmlarson sethmlarson released this Jul 16, 2020

Release: 1.25.9
Assets 2

@sethmlarson sethmlarson released this Jan 21, 2020

Release: 1.25.8

Assets 2

@sethmlarson sethmlarson released this Dec 29, 2019

Release: 1.25.7
Assets 2

@sethmlarson sethmlarson released this Sep 24, 2019

Release: 1.25.6

Assets 2