Skip to content

Releases: twisted/treq

Treq 24.9.0

18 Sep 17:41
@twm twm
ca3966f
Compare
Choose a tag to compare

Features

  • treq now ships type annotations. (#366)
  • The new treq.cookies module provides helper functions for working with http.cookiejar.Cookie and CookieJar objects. (#384)
  • Python 3.13 is now supported. (#391)

Bugfixes

  • treq.content.text_content() no longer generates deprecation warnings due to use of the cgi module. (#355)

Deprecations and Removals

  • Mixing the json argument with files or data now raises TypeError. (#297)
  • Passing non-string (str or bytes) values as part of a dict to the headers argument now results in a TypeError, as does passing any collection other than a dict or Headers instance. (#302)
  • Support for Python 3.7 and PyPy 3.8, which have reached end of support, has been dropped. (#378)

Misc

Treq 23.11.0

04 Nov 05:30
@twm twm
Compare
Choose a tag to compare

Features

  • When the collector passed to treq.collect(response, collector) throws an exception, that error will now be returned to the caller of collect() via the result Deferred, and the underlying HTTP transport will be closed. (#347)
  • Python 3.11 is now supported. (#364)
  • Python 3.12 is now supported. (#375)
  • PyPy 3.9 is now supported. (#365)
  • PyPy 3.10 is now supported. (#374)

Deprecations and Removals

  • The minimum supported Twisted version has increased to 22.10.0. Older versions are no longer tested in CI. (#374)
  • Support for Python 3.6, which has reached end of support, has been dropped. (#363)
  • Support for Python 3.7, which reaches end of support 2023-06-27, is deprecated. This is the last release with support for Python 3.7. (#361)
  • Support for PyPy 3.7, which has reached end of support, has been removed. (#365)
  • Support for PyPy 3.8, which has reached end of support, is deprecated. This is the last release with support for PyPy 3.8. (#374)

Misc

Treq 22.2.0 (2022-02-08)

09 Feb 07:32
@twm twm
Compare
Choose a tag to compare

Features

  • Python 3.10 and PyPy 3.8 are now supported. (#338)

Bugfixes

  • Address a regression introduced in Treq 22.1.0 that prevented transmission of cookies with requests to ports other than 80, including HTTPS (443). (#343)

Deprecations and Removals

  • Support for Python 3.6, which has reached end of support, is deprecated. This is the last release with support for Python 3.6. (#338)

Treq 22.1.0

30 Jan 05:42
@twm twm
Compare
Choose a tag to compare

22.1.0 (2022-01-29)

Bugfixes

  • Cookies specified as a dict were sent to every domain, not just the domain of the request, potentially exposing them on redirect. See GHSA-fhpf-pp6p-55qc. Addresses CVE-2022-23607. #339

treq 21.5.0

24 May 20:38
@twm twm
Compare
Choose a tag to compare

Features

  • PEP 517/518 build-system metadata is now provided in pyproject.toml. (#329)

Bugfixes

  • treq.testing.StubTreq now persists twisted.web.server.Session instances between requests. (#327)

Improved Documentation

  • The dependency on Sphinx required to build the documentation has been moved from the dev extra to the new docs extra. (#296)

Deprecations and Removals

  • Support for Python 2.7 and 3.5 has been dropped. treq no longer depends on six or mock. (#318)

treq 21.1.0

15 Jan 07:41
@twm twm
Compare
Choose a tag to compare

Features

  • Support for Python 3.9: treq is now tested with CPython 3.9. (#305)
  • The auth parameter now accepts arbitrary text and bytes for usernames and passwords. Text is encoded as UTF-8, per RFC 7617. Previously only ASCII was allowed. (#268)
  • treq produces a more helpful exception when passed a tuple of the wrong size in the files parameter. (#299)

Bugfixes

  • The params argument once more accepts non-ASCII bytes, fixing a regression first introduced in treq 20.4.1. (#303)
  • treq request APIs no longer mutates a http_headers.Headers passed as the headers parameter when the auth parameter is also passed. (#314)
  • The agent returned by treq.auth.add_auth() and treq.auth.add_basic_auth() is now marked to provide twisted.web.iweb.IAgent. (#312)
  • treq's package metadata has been updated to require six >= 1.13, noting a dependency introduced in treq 20.9.0. (#295)

Improved Documentation

  • The documentation of the params argument has been updated to more accurately describe its type-coercion behavior. (#281)
  • The treq.auth module has been documented. (#313)

Deprecations and Removals

  • Support for Python 2.7, which has reached end of support, is deprecated. This is the last release with support for Python 2.7. (#309)
  • Support for Python 3.5, which has reached end of support, is deprecated. This is the last release with support for Python 3.5. (#306)
  • Deprecate tolerance of non-string values when passing headers as a dict. They have historically been silently dropped, but will raise TypeError in the next treq release. Also deprecate passing headers other than dict, twisted.web.http_headers.Headers, or None. Historically falsy values like [] or () were accepted. (#294)
  • treq request functions and methods like treq.get() and HTTPClient.post() now issue a DeprecationWarning when passed unknown keyword arguments, rather than ignoring them. Mixing the json argument with files or data is also deprecated. These warnings will change to a TypeError in the next treq release. (#297)
  • The minimum supported Twisted version has increased to 18.7.0. Older versions are no longer tested in CI. (#307)

treq 20.9.0

27 Sep 21:56
@twm twm
Compare
Choose a tag to compare

Features

  • The url parameter of HTTPClient.request() (and shortcuts like get()) now accept hyperlink.DecodedURL and hyperlink.URL in addition to str and bytes. (#212)
  • Compatibility with the upcoming Twisted 20.9.0 release (#290).

Improved Documentation

  • An example of sending and receiving JSON has been added. (#278)

treq 20.9.0rc1

27 Sep 21:48
@twm twm
Compare
Choose a tag to compare
treq 20.9.0rc1 Pre-release
Pre-release

Features

  • The url parameter of :meth:HTTPClient.request() (and shortcuts like :meth:~HTTPClient.get()) now accept :class:hyperlink.DecodedURL and :class:hyperlink.URL in addition to :class:str and :class:bytes. (#212 <https://github.com/twisted/treq/issues/212>__)

Improved Documentation

  • An example of sending and receiving JSON has been added. (#278 <https://github.com/twisted/treq/issues/278>__)

treq 20.4.1

17 Apr 05:03
@twm twm
Compare
Choose a tag to compare

Bugfixes

  • Correct a typo in the treq 20.4.0 package metadata that prevented upload to PyPI (pypa/twine#589)

treq 20.4.0

17 Apr 04:35
@twm twm
Compare
Choose a tag to compare

Features

  • Support for Python 3.8 and PyPy3: treq is now tested with these interpreters. (#271)

Bugfixes

  • treq.client.HTTPClient.request() and its aliases no longer raise UnicodeEncodeError when passed a Unicode url and non-empty params. Now the URL and query parameters are concatenated as documented. (#264)
  • In treq 20.3.0 the params argument didn't accept parameter names or values that contain the characters & or #. Now these characters are properly escaped. (#282)

Improved Documentation

  • The treq documentation has been revised to emphasize use of treq.client.HTTPClient over the module-level convenience functions in the treq module. (#276)