-
-
Notifications
You must be signed in to change notification settings - Fork 864
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Version 0.11.0 #724
Comments
I think the breaking in this release should not be underestimated from a user perspective. Granted, we’re still pre1.0, but a second abrupt round of breaking changes after 0.8 dropped sync might not be what we need. So while I agree with basically reswitching from async to sync as the default, I’m thinking of ways we could help users migrate. At the very least we could probably add a migration guide item to this checklist, as a prose-form and hand-guided tour of the change log, with hints on migrating a codebase that uses 0.10. Thoughts? |
Things we could potentially could defer, pass-on, or mitigate: #678, #723. The big one is the sync API, which for our existing users means...
If we're very clear about that, then I think the "okay we're done here API-wise" trade-off is probably worth it? |
Yes, those recommendations sound like a good plan to provide some proactive communication. Should we roll them out now, i.e. some time before 0.11 is out? |
Still itching for |
Sure, I could potentially see us including that. Few things higher up on the priority list still atm, and wouldn’t strictly need to be a 1.0 feature (ie add more features/API post 1.0 is totally fine, the cutoff is for making sure any API we have introduced is in a final state.) But yeah may not be a bad idea. |
A big +1 for built-in retry, though I've made a very simple and very silly recursive retry wrapper that appears to work reasonably well, other than polluting up your stack trace when something does go wrong. |
Note 0.10.1 hasnt been tagged. |
This one is a big deal, since it reintroduces the sync client, and is essentially a 1.0 pre-release in terms of how the API looks.
🎉✨ TA-DA! ✨🎉
Release notes
0.11.0 (January 9th, 2019)
The 0.11 release reintroduces our sync support, so that
httpx
now supports both a standard thread-concurrency API, and an async API.Existing async
httpx
users that are upgrading to 0.11 should ensure that:httpx.AsyncClient()
, instead ofhttpx.Client()
.httpx.Proxy()
class, instead of the previoushttpx.HTTPProxy()
. This new configuration class works for configuring both sync and async clients.We believe the API is now pretty much stable, and are aiming for a 1.0 release sometime on or before April 2020.
Changed
httpx.get(url, ...)
,httpx.post(url, ...)
,httpx.request(method, url, ...)
becomes synchronous.httpx.Client()
for synchronous clients, withhttpx.AsyncClient
being used for async clients.proxies=httpx.Proxy(...)
for proxy configuration.httpx.NetworkError
, rather than exposing lower-level exception types directly.Removed
request.url.origin
property andhttpx.Origin
class are no longer available.cert
,verify
, andtrust_env
arguments are escalated from raising errors if used, to no longer being available. These arguments should be used on a per-client instance instead, or in the top-level API.stream
argument has escalated from raising an error when used, to no longer being available. Use theclient.stream(...)
orhttpx.stream()
streaming API instead.Fixed
(method, url)
rather thanurl
. (Pull Fixed redirect loop #734)What's next...
I'd expect that we'll likely end up waiting for a period of time after this release, and then end up releasing a 1.0 with either no API changes, or only very minimal API changes. (The only remaining area I can see us still wanting to refine/change, would be some review making sure we've got an exception heirarchy/naming that we're entirely happy to stick with for 1.0 onwards)
Checklist
Client
as a sync client. Reintroduce sync API. #735WSGIDispatch
. Reintroduce sync API. #735Origin
from public API. DropOrigin
from public API #688httpx.Proxy()
for proxy configuration, not thehttpx.HTTPProxy
dispatch class. Prep for introducing SyncClient #713Consider switchingRefs Make client.cookies setter expect a Cookies instance #678 use properties to allow more easily changing cookies/headers after init #274client.params
,client.headers
,client.cookies
so that they don't have a setter/getter mismatch.Consider dropping UDS support.Consider pushing back on UDS support. #723httpx.Auth
becomes public API. Public Auth API #732 Public API for auth flow. #731The text was updated successfully, but these errors were encountered: