urllib3 v1.17 Release Notes

Release Date: 2016-09-06 // over 7 years ago
    • Accept SSLContext objects for use in SSL/TLS negotiation. (Issue #835)

    • 🌲 ConnectionPool debug log now includes scheme, host, and port. (Issue #897)

    • 📚 Substantially refactored documentation. (Issue #887)

    • 0️⃣ Used URLFetch default timeout on AppEngine, rather than hardcoding our own. (Issue #858)

    • 📜 Normalize the scheme and host in the URL parser (Issue #833)

    • HTTPResponse contains the last Retry object, which now also contains retries history. (Issue #848)

    • ⏱ Timeout can no longer be set as boolean, and must be greater than zero. (Pull #924)

    • ✂ Removed pyasn1 and ndg-httpsclient from dependencies used for PyOpenSSL. We now use cryptography and idna, both of which are already dependencies of PyOpenSSL. (Pull #930)

    • 🛠 Fixed infinite loop in stream when amt=None. (Issue #928)

    • Try to use the operating system's certificates when we are using an SSLContext. (Pull #941)

    • ⚡️ Updated cipher suite list to allow ChaCha20+Poly1305. AES-GCM is preferred to ChaCha20, but ChaCha20 is then preferred to everything else. (Pull #947)

    • ⚡️ Updated cipher suite list to remove 3DES-based cipher suites. (Pull #958)

    • ✂ Removed the cipher suite fallback to allow HIGH ciphers. (Pull #958)

    • Implemented length_remaining to determine remaining content to be read. (Pull #949)

    • Implemented enforce_content_length to enable exceptions when incomplete data chunks are received. (Pull #949)

    • ⬇️ Dropped connection start, dropped connection reset, redirect, forced retry, and new HTTPS connection log levels to DEBUG, from INFO. (Pull #967)