Skip to content

Version 0.15.0 - #1301

Merged
lovelydinosaur merged 10 commits into
masterfrom
version-0.15.0
Sep 22, 2020
Merged

Version 0.15.0#1301
lovelydinosaur merged 10 commits into
masterfrom
version-0.15.0

Conversation

@lovelydinosaur

@lovelydinosaurlovelydinosaur commented Sep 21, 2020

Copy link
Copy Markdown
Contributor

Pushing this up so that we can figure out what else we want to block a 0.15 release on.

At the moment my thoughts would be...

  • Change the Transport API to .request, .arequest, since it'll otherwise end up blocking other work.
  • Possibly also switching the transport API to request(method, url, headers, stream, ext) -> status_code, headers, stream, ext. See https://github.com/encode/httpx/issues/1274#issuecomment-694884553 - Might need discussion, but it's an easy switch to make, and better to make it sooner rather than later.
  • Possibly get in the CLI. Because it's lovely, and might be a nice driver of adoption. Add an HTTPX cli. 😇 #1212
  • Go through an escalate any deprecations that we've got in the codebase into outright removals.

I think other stuff can wait for nice smaller increments in the 0.15.x series. The only remaining API changes expected at that point are the possible transport API -> transport API as a context manager switch, and some very minor review over all the model classes. (Note that URL is now complete in this regard.)

What do we think, and am I missing anything critical here?

0.15.0

Added

Changed

  • Cleaned up expected behaviour for URL escaping. url.path is now URL escaped. (Pull Finesse URL properties #1285)
  • Cleaned up expected behaviour for bytes vs str in URL components. url.userinfo and url.query are not URL escaped, and so return bytes. (Pull Finesse URL properties #1285)
  • Drop url.authority property in favour of url.netloc, since "authority" was semantically incorrect. (Pull Finesse URL properties #1285)
  • Drop url.full_path property in favour of url.raw_path, for better consistency with other parts of the API. (Pull Finesse URL properties #1285)
  • No longer use the chardet library for auto-detecting charsets, instead defaulting to a simpler approach when no charset is specified. (Drop chardet #1269)

Fixed

Removed

@lovelydinosaurlovelydinosaur added the release A new package release label Sep 21, 2020
Comment threadCHANGELOG.md Outdated
Co-authored-by: Jamie Hewland <jamie.hewland@hpe.com>
@florimondmanca

florimondmanca commented Sep 21, 2020

Copy link
Copy Markdown
Contributor

Sounds good to me, great one!

@lovelydinosaur

Copy link
Copy Markdown
ContributorAuthor

Right, let's keep the CLI separate. No good reason for us to bog ourselves down in a whole extra layer of API considerations (eg. which flags do we support on the command line) when we're so very close to a 1.0 release now.

I'm going to push on again, and get this released.

Where does this leave us after this?...

Our 1.0 milestone is here.

  • There's one significantly complex bug that needs resolving in httpcore around connection pooling. https://github.com/encode/httpx/issues/1171 - It'll be a decent chunk of work, and it's right in the guts of things, so I want to deal with this in a dedicated httpcore minor point release, that should only include that bugfix and nothing else. Eg. 0.11.1, or wherever we're at.
  • Review any other bug-labelled tickets.
  • Mount API, httpx.HTTPTransport, httpx.MockTransport - #977, #1302, #1303 are all in the same area. I figure we'll have a minor httpx release that's dedicated just to adding those, and sprucing up our docs on mounting transports etc.
  • chunk_size #394 - We've got an outstanding PR for this, but I'd like to pull it in, in it's own minor point release. Since all response.text/response.content runs through that code I'd like it to be really nicely isolated from any other changes, just in case we needed to very quickly identify any unexpected problems.
  • Tightening public API on models. #1275 I think this might just be Cookies that's left to review here now.
  • Preserving HTTP Header casing. Blocked on Preserve header casing. Take two. 🎬 python-hyper/h11#104
  • Retries #1141
  • Transport API as a context manager. Our last API change still to be made. Add support for streaming responses to ASGITransport #998 and #1274

We'll then also want to go through the API docs, and make sure that all the public API is being properly exposed in the docs.

@lovelydinosaur
lovelydinosaur merged commit f932af9 into masterSep 22, 2020
@lovelydinosaur
lovelydinosaur deleted the version-0.15.0 branch September 22, 2020 10:44
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

releaseA new package release

Development

Successfully merging this pull request may close these issues.

3 participants

@lovelydinosaur@florimondmanca@JayH5