Requests v1.7.0 Release Notes

Release Date: 2016-10-13 // about 5 years ago
    • ➕ Add support for HHVM and PHP 7

    Requests is now tested against both HHVM and PHP 7, and they are supported as first-party platforms.

    (props @rmccue, #106, #176)

    • Transfer & connect timeouts, in seconds & milliseconds

    cURL is unable to handle timeouts under a second in DNS lookups, so we round those up to ensure 1-999ms isn't counted as an instant failure.

    (props @ozh, @rmccue, #97, #216)

    • Rework cookie handling to be more thorough.

    Cookies are now restricted to the same-origin by default, expiration is checked.

    (props @catharsisjelly, @rmccue, #120, #124, #130, #132, #156)

    • 👌 Improve testing

    Tests are now run locally to speed them up, as well as further general improvements to the quality of the testing suite. There are now also comprehensive proxy tests to ensure coverage there.

    (props @rmccue, #75, #107, #170, #177, #181, #183, #185, #196, #202, #203)

    • 👌 Support custom HTTP methods

    Previously, custom HTTP methods were only supported on sockets; they are now supported across all transports.

    (props @ocean90, #227)

    • ➕ Add byte limit option

    (props @rmccue, #172)

    • Support a Requests_Proxy_HTTP() instance for the proxy setting.

    (props @ocean90, #223)

    • ➕ Add progress hook

    (props @rmccue, #180)

    • ➕ Add a before_redirect hook to alter redirects

    (props @rmccue, #205)

    • Pass cURL info to after_request

    (props @rmccue, #206)

    • ✂ Remove explicit autoload in Composer installation instructions

    (props @SlikNL, #86)

    • Restrict CURLOPT_PROTOCOLS on defined() instead of version_compare()

    (props @ozh, #92)

    • 🛠 Fix doc - typo in "Authentication"

    (props @remik, #99)

    • Contextually check for a valid transport

    (props @ozh, #101)

    • Follow relative redirects correctly

    (props @ozh, #103)

    • 👉 Use cURL's version_number

    (props @mishan, #104)

    • ✂ Removed duplicated option docs

    (props @staabm, #112)

    • 🛠 code styling fixed

    (props @imsaintx, #113)

    • 🛠 Fix IRI "normalization"

    (props @ozh, #128)

    • Mention two PHP extension dependencies in the README.

    (props @orlitzky, #136)

    • Ignore coverage report files

    (props @ozh, #148)

    • ⬇️ drop obsolete "return" after throw

    (props @staabm, #150)

    • ⚡️ Updated exception message to specify both http + https

    (props @beutnagel, #162)

    • Sets stream_headers method to public to allow calling it from other places.

    (props @adri, #158)

    • Remove duplicated stream_get_meta_data call

    (props @rmccue, #179)

    • Transmits $errno from stream_socket_client in exception

    (props @laurentmartelli, #174)

    • Correct methods to use snake_case

    (props @rmccue, #184)

    • 👌 Improve code quality

    (props @rmccue, #186)

    • ⚡️ Update Build Status image

    (props @rmccue, #187)

    • 🛠 Fix/Rationalize transports (v2)

    (props @rmccue, #188)

    • Surface cURL errors

    (props @ifwe, #194)

    • 🛠 Fix for memleak and curl_close() never being called

    (props @kwuerl, #200)

    • ➕ addex how to install with composer

    (props @royopa, #164)

    • Uppercase the method to ensure compatibility

    (props @rmccue, #207)

    • 0️⃣ Store default certificate path

    (props @rmccue, #210)

    • 👮 Force closing keep-alive connections on old cURL

    (props @rmccue, #211)

    • 📄 Docs: Updated HTTP links with HTTPS links where applicable

    (props @ntwb, #215)

    • ✂ Remove the executable bit

    (props @ocean90, #224)

    • 🔄 Change more links to HTTPS

    (props @rmccue, #217)

    • Bail from cURL when either curl_init() OR curl_exec() are unavailable

    (props @dd32, #230)

    • Disable OpenSSL's internal peer_name checking when verifyname is disabled.

    (props @dd32, #239)

    • Only include the port number in the Host header when it differs from 0️⃣ default

    (props @dd32, #238)

    • Respect port if specified for HTTPS connections

    (props @dd32, #237)

    • 👍 Allow paths starting with a double-slash

    (props @rmccue, #240)

    • 🛠 Fixes bug in rfc2616 #3.6.1 implementation.

    (props @stephenharris, #236, #3)

    • CURLOPT_HTTPHEADER在php7接受空数组导致php-fpm奔溃

    (props @qibinghua, #219)


Previous changes from v1.6.1

    • Fix compatibility with HHVM - Using HHVM with Requests would
      previously cause either exceptions with SSL or segfaults with the cURL
      🖐 handler. Props Ozh for his work here.