Skip to content

Conversation

@dependabot-preview
Copy link
Contributor

Bumps httpx from 0.13.3 to 0.14.0.

Release notes

Sourced from httpx's releases.

Version 0.14.0

0.14.0 (August 7th, 2020)

The 0.14 release includes a range of improvements to the public API, intended on preparing for our upcoming 1.0 release.

  • Our HTTP/2 support is now fully optional. You now need to use pip install httpx[http2] if you want to include the HTTP/2 dependancies.
  • Our HSTS support has now been removed. Rewriting URLs from http to https if the host is on the HSTS list can be beneficial in avoiding roundtrips to incorrectly formed URLs, but on balance we've decided to remove this feature, on the principle of least surprise. Most programmatic clients do not include HSTS support, and for now we're opting to remove our support for it.
  • Our exception hierarchy has been overhauled. Most users will want to stick with their existing httpx.HTTPError usage, but we've got a clearer overall structure now. See https://www.python-httpx.org/exceptions/ for more details.

When upgrading you should be aware of the following public API changes. Note that deprecated usages will currently continue to function, but will issue warnings.

  • You should now use httpx.codes consistently in favour of httpx.StatusCodes.
  • Usage of httpx.Timeout() should now always include an explicit default. Eg. httpx.Timeout(None, pool=5.0).
  • When using httpx.Timeout(), we now have more concisely named keyword arguments. Eg. read=5.0, instead of read_timeout=5.0.
  • Use httpx.Limits() instead of httpx.PoolLimits(), and limits=... instead of pool_limits=....
  • The httpx.Limits(max_keepalive=...) argument is now deprecated in favour of a more explicit httpx.Limits(max_keepalive_connections=...)
  • Keys used with Client(proxies={...}) should now be in the style of {"http://": ...}, rather than {"http": ...}.
  • The multidict methods Headers.getlist() and QueryParams.getlist() are deprecated in favour of more consistent .get_list() variants.
  • The URL.is_ssl property is deprecated in favour of URL.scheme == "https".
  • The URL.join(relative_url=...) method is now URL.join(url=...). This change does not support warnings for the deprecated usage style.

One notable aspect of the 0.14.0 release is that it tightens up the public API for httpx, by ensuring that several internal attributes and methods have now become strictly private.

The following previously had nominally public names on the client, but were all undocumented and intended solely for internal usage. They are all now replaced with underscored names, and should not be relied on or accessed.

These changes should not affect users who have been working from the httpx documentation.

  • .merge_url(), .merge_headers(), .merge_cookies(), .merge_queryparams()
  • .build_auth(), .build_redirect_request()
  • .redirect_method(), .redirect_url(), .redirect_headers(), .redirect_stream()
  • .send_handling_redirects(), .send_handling_auth(), .send_single_request()
  • .init_transport(), .init_proxy_transport()
  • .proxies, .transport, .netrc, .get_proxy_map()

See pull requests #997, #1065, #1071.

Some areas of API which were already on the deprecation path, and were raising warnings or errors in 0.13.x have now been escalated to being fully removed.

  • Drop ASGIDispatch, WSGIDispatch, which have been replaced by ASGITransport, WSGITransport.
  • Drop dispatch=...`` on client, which has been replaced by transport=...``
  • Drop soft_limit, hard_limit, which have been replaced by max_keepalive and max_connections.
  • Drop Response.stream and Response.raw, which have been replaced by ``.aiter_bytes and .aiter_raw.
  • Drop proxies=<transport instance> in favor of proxies=httpx.Proxy(...).

See pull requests #1057, #1058.

### Added

  • Added dedicated exception class httpx.HTTPStatusError for .raise_for_status() exceptions. (Pull #1072)
  • Added httpx.create_ssl_context() helper function. (Pull #996)
Changelog

Sourced from httpx's changelog.

0.14.0 (August 7th, 2020)

The 0.14 release includes a range of improvements to the public API, intended on preparing for our upcoming 1.0 release.

  • Our HTTP/2 support is now fully optional. You now need to use pip install httpx[http2] if you want to include the HTTP/2 dependancies.
  • Our HSTS support has now been removed. Rewriting URLs from http to https if the host is on the HSTS list can be beneficial in avoiding roundtrips to incorrectly formed URLs, but on balance we've decided to remove this feature, on the principle of least surprise. Most programmatic clients do not include HSTS support, and for now we're opting to remove our support for it.
  • Our exception hierarchy has been overhauled. Most users will want to stick with their existing httpx.HTTPError usage, but we've got a clearer overall structure now. See https://www.python-httpx.org/exceptions/ for more details.

When upgrading you should be aware of the following public API changes. Note that deprecated usages will currently continue to function, but will issue warnings.

  • You should now use httpx.codes consistently instead of httpx.StatusCodes.
  • Usage of httpx.Timeout() should now always include an explicit default. Eg. httpx.Timeout(None, pool=5.0).
  • When using httpx.Timeout(), we now have more concisely named keyword arguments. Eg. read=5.0, instead of read_timeout=5.0.
  • Use httpx.Limits() instead of httpx.PoolLimits(), and limits=... instead of pool_limits=....
  • The httpx.Limits(max_keepalive=...) argument is now deprecated in favour of a more explicit httpx.Limits(max_keepalive_connections=...).
  • Keys used with Client(proxies={...}) should now be in the style of {"http://": ...}, rather than {"http": ...}.
  • The multidict methods Headers.getlist() and QueryParams.getlist() are deprecated in favour of more consistent .get_list() variants.
  • The URL.is_ssl property is deprecated in favour of URL.scheme == "https".
  • The URL.join(relative_url=...) method is now URL.join(url=...). This change does not support warnings for the deprecated usage style.

One notable aspect of the 0.14.0 release is that it tightens up the public API for httpx, by ensuring that several internal attributes and methods have now become strictly private.

The following previously had nominally public names on the client, but were all undocumented and intended solely for internal usage. They are all now replaced with underscored names, and should not be relied on or accessed.

These changes should not affect users who have been working from the httpx documentation.

  • .merge_url(), .merge_headers(), .merge_cookies(), .merge_queryparams()
  • .build_auth(), .build_redirect_request()
  • .redirect_method(), .redirect_url(), .redirect_headers(), .redirect_stream()
  • .send_handling_redirects(), .send_handling_auth(), .send_single_request()
  • .init_transport(), .init_proxy_transport()
  • .proxies, .transport, .netrc, .get_proxy_map()

See pull requests #997, #1065, #1071.

Some areas of API which were already on the deprecation path, and were raising warnings or errors in 0.13.x have now been escalated to being fully removed.

  • Drop ASGIDispatch, WSGIDispatch, which have been replaced by ASGITransport, WSGITransport.
  • Drop dispatch=...`` on client, which has been replaced by transport=...``
  • Drop soft_limit, hard_limit, which have been replaced by max_keepalive and max_connections.
  • Drop Response.stream and Response.raw, which have been replaced by ``.aiter_bytes and .aiter_raw.
  • Drop proxies=<transport instance> in favor of proxies=httpx.Proxy(...).

See pull requests #1057, #1058.

Added

  • Added dedicated exception class httpx.HTTPStatusError for .raise_for_status() exceptions. (Pull #1072)
  • Added httpx.create_ssl_context() helper function. (Pull #996)
  • Support for proxy exlcusions like proxies={"https://www.example.com": None}. (Pull #1099)
Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
  • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot dashboard:

  • Update frequency (including time of day and day of week)
  • Pull request limits (per update run and/or open at any time)
  • Out-of-range updates (receive only lockfile updates, if desired)
  • Security updates (receive only security updates, if desired)

Bumps [httpx](https://github.com/encode/httpx) from 0.13.3 to 0.14.0.
- [Release notes](https://github.com/encode/httpx/releases)
- [Changelog](https://github.com/encode/httpx/blob/master/CHANGELOG.md)
- [Commits](encode/httpx@0.13.3...0.14.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
@codecov
Copy link

codecov bot commented Aug 10, 2020

Codecov Report

Merging #145 into main will increase coverage by 0.08%.
The diff coverage is n/a.

Impacted file tree graph

@@             Coverage Diff             @@
##             main      #145      +/-   ##
===========================================
+ Coverage   99.91%   100.00%   +0.08%     
===========================================
  Files          41        41              
  Lines        1153      1178      +25     
===========================================
+ Hits         1152      1178      +26     
+ Misses          1         0       -1     
Impacted Files Coverage Δ
openapi_python_client/parser/errors.py 100.00% <0.00%> (ø)
openapi_python_client/parser/openapi.py 100.00% <0.00%> (ø)
openapi_python_client/parser/reference.py 100.00% <0.00%> (ø)
openapi_python_client/parser/responses.py 100.00% <0.00%> (ø)
openapi_python_client/parser/properties.py 100.00% <0.00%> (ø)
openapi_python_client/__init__.py 100.00% <0.00%> (+0.64%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 656ad66...2d73e01. Read the comment docs.

@dbanty dbanty merged commit b0a2c07 into main Aug 10, 2020
@dependabot-preview dependabot-preview bot deleted the dependabot/pip/httpx-0.14.0 branch August 10, 2020 13:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants