Skip to content

Latest commit

 

History

History
81 lines (54 loc) · 3.07 KB

3.0-HISTORY.rst

File metadata and controls

81 lines (54 loc) · 3.07 KB

3.0.0 (2017-xx-xx)

  • Support for Python 2.6 has been dropped.

    • The OrderedDict import no longer exists in compat.py because it is part of collections in Python 2.7 and newer.
  • Simplified logic for determining Content-Length and Transfer-Encoding. Requests will now avoid setting both headers on the same request, and raise an exception if this is done manually by a user.

  • Remove the HTTPProxyAuth class in favor of supporting proxy auth via the proxies parameter.

  • Relax how Requests strips bodies from redirects. 3.0.0 only supports body removal on 301/302 POST redirects and all 303 redirects.

  • Remove support for non-string/bytes parameters in _basic_auth_str.

  • Prevent Session.merge_environment from erroneously setting the verify parameter to None instead of True.

  • Streaming responses with Response.iter_lines or Response.iter_content now requires an encoding to be set if one isn't provided by the server.

  • Exception raised during read timeout for Response.iter_content and Response.iter_lines changed from ConnectionError to more specific ReadTimeout.

  • Raise exception if multiple locations are returned during a redirect.

  • Update ConnectionPool connections when TLS/SSL settings change.

  • Remove simplejson import and only use standard json module.

  • Strip surrounding whitespace from urls.

  • MissingSchema and InvalidSchema renamed to MissingScheme and InvalidScheme respectively.

  • Change merge order for environment settings to avoid excluding Session-level settings.

  • Encode redirect URIs as latin-1 before performing redirects in Python 3 to avoid mangling during the requoting process.

  • Remove the __bool__ and __nonzero__ methods from a Response object.

    This has been a planned feature for over a year. The behaviour is surprising to most people and breaks most of the assumptions that people have about Response objects. This resolves issue #2002

  • Skip over empty chunks in iterators. Empty chunks could prematurely signal the end of a request body's transmission, skipping them allows all of the data through. See #2631 for more details.

  • Rename the req argument from Session.resolve_redirects method to request.

  • Rename the resp argument from Session.resolve_redirects to response.

  • New PreparedRequest.send method. Now, you can Request().prepare().send().

  • All porcelain API functions (e.g. requests.get, etc) now accept an optional session parameter. If provided, the session given will be used for the request, in place of one being created for you.

  • URLs are now automatically stripped of leading/trailing whitespace.

  • Response.raise_for_status() now returns the response object for good responses

  • Use HTTPHeaderDict for response headers, allowing easier access to individual values when multiple response headers are sent using the same header name.