github encode/httpx 0.15.0
Version 0.15.0

latest releases: 0.27.0, 0.26.0, 0.25.2...
3 years ago

0.15.0 (22nd September 2020)

Added

  • Added support for curio. (Pull encode/httpcore#168)
  • Added support for event hooks. (Pull #1246)
  • Added support for authentication flows which require either sync or async I/O. (Pull #1217)
  • Added support for monitoring download progress with response.num_bytes_downloaded. (Pull #1268)
  • Added Request(content=...) for byte content, instead of overloading Request(data=...) (Pull #1266)
  • Added support for all URL components as parameter names when using url.copy_with(...). (Pull #1285)
  • Neater split between automatically populated headers on Request instances, vs default client.headers. (Pull #1248)
  • Unclosed AsyncClient instances will now raise warnings if garbage collected. (Pull #1197)
  • Support Response(content=..., text=..., html=..., json=...) for creating usable response instances in code. (Pull #1265, #1297)
  • Support instantiating requests from the low-level transport API. (Pull #1293)
  • Raise errors on invalid URL types. (Pull #1259)

Changed

  • Cleaned up expected behaviour for URL escaping. url.path is now URL escaped. (Pull #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 #1285)
  • Drop url.authority property in favour of url.netloc, since "authority" was semantically incorrect. (Pull #1285)
  • Drop url.full_path property in favour of url.raw_path, for better consistency with other parts of the API. (Pull #1285)
  • No longer use the chardet library for auto-detecting charsets, instead defaulting to a simpler approach when no charset is specified. (#1269)

Fixed

  • Swapped ordering of redirects and authentication flow. (Pull #1267)
  • .netrc lookups should use host, not host+port. (Pull #1298)

Removed

  • The URLLib3Transport class no longer exists. We've published it instead as an example of a custom transport class. (Pull #1182)
  • Drop request.timer attribute, which was being used internally to set response.elapsed. (Pull #1249)
  • Drop response.decoder attribute, which was being used internally. (Pull #1276)
  • Request.prepare() is now a private method. (Pull #1284)

Don't miss a new httpx release

NewReleases is sending notifications on new releases.