Skip to content

Releases: jawah/niquests

Version 3.7.1

07 Jul 22:32
2a4397d
Compare
Choose a tag to compare

3.7.1 (2024-07-07)

Added

  • Official support for Python 3.13
    This has been tested outside GitHub CI due to httpbin unready state for 3.13[...]
  • Support for asynchronous auth callables.
  • Support for asynchronous bodies through AsyncIterable that yield either bytes or str.
  • Support for purposely excluding a domain/port from connecting to QUIC/HTTP3 via the quic_cache_layer property of Session.
    In order to exclude cloudflare.com from HTTP3 auto-upgrade:
    from niquests import Session
    
    s = Session()
    s.quic_cache_layer.exclude_domain("cloudflare.com")

Fixed

  • auth argument not accepting a function according to static type checkers. (#133)
  • RequestsCookieJar having a lock in AsyncSession. Its effect has been nullified to improve performances.

Changed

  • urllib3-future lower bound version is raised to 2.8.902

Version 3.7.0

24 Jun 18:25
d83ab6b
Compare
Choose a tag to compare

3.7.0 (2024-06-24)

Added

  • TransferProgress tracking in Response when downloading using stream=True based on the Content-Length. (#127)
    There's no easy way to track the "real" amount of bytes consumed using "iter_content" when the remote is
    sending a compressed body. This change makes it possible to track the amount of bytes consumed.
    The Response object now contain a property named download_progress that is either None or a TransferProgress object.
  • HTTP/2 with prior knowledge over TLS or via an unencrypted connection.
    disable_http1 toggle is now available through your Session constructor.
    In consequence, you may leverage all HTTP/2 capabilities like multiplexing using a plain (e.g. non-TLS) socket.
    You may enable/disable any protocols per Session object (but not all of them at once!).
    In non-TLS connections, you have to keep one of HTTP/1.1 or HTTP/2 enabled.
    Otherwise, one of HTTP/1.1, HTTP/2 or HTTP/3. A RuntimeError may be thrown if no protocol can be used in a
    given context.

Changed

  • Relax main API constraint in get, head, options and delete methods / functions by accepting kwargs.
  • urllib3-future lower bound version is raised to 2.8.900

Version 3.6.7

19 Jun 13:16
d2e8efa
Compare
Choose a tag to compare

3.6.7 (2024-06-19)

Fixed

  • CaseInsensitiveDict repr (to string) causing an unexpected error when upstream have multiple values for a single header. (#129)

Misc

  • Minor docs typos (#128)
  • Reformated error messages in our OCSP module for better readability.
  • Added real test cases for our OCSP module to ensure its reliability.

Version 3.6.6

27 May 05:49
7df6aec
Compare
Choose a tag to compare

3.6.6 (2024-05-27)

Fixed

  • ReasonFlag not properly translated to readable text when peer or intermediate certificate is revoked.

Version 3.6.5

22 May 05:50
2b0f99d
Compare
Choose a tag to compare

3.6.5 (2024-05-22)

Fixed

  • Support localhost as a valid domain for cookies. The standard library does not allow this special
    domain. Researches showed that a valid domain should have at least two dots (e.g. abc.com. and xyz.tld. but not com.).
    Public suffixes cannot be used as a cookie domain for security reasons, but as localhost isn't one we are explicitly
    allowing it. Reported in httpie/cli#602
    RequestsCookieJar set a default policy that circumvent that limitation, if you specified a custom cookie policy then this
    fix won't be applied.

Changed

  • Lazy load the OCSP extension in order to improve the import performance.

Removed

  • Class variable disable_thread in AsyncSession that is no longer relevant since the native asyncio implementation. (PR #122)

Version 3.6.4

16 May 05:55
41eab91
Compare
Choose a tag to compare

3.6.4 (2024-05-16)

Changed

  • Avoid parsing X509 peer certificate in the certificate revocation check process over and over again.
  • Avoid iterating over header items redundantly or needlessly.

Version 3.6.3

06 May 07:03
6940d55
Compare
Choose a tag to compare

3.6.3 (2024-05-06)

Fixed

  • Fixed encoding data with None values and other objects. This was a regression introduced in our v3. #119

Changed

  • Various minor performance improvements.

version 3.6.2

02 May 06:06
b29a4b6
Compare
Choose a tag to compare

3.6.2 (2024-05-02)

Fixed

  • "Help" program python -m niquests.help that depended on h2 while not required anymore.
  • Minor performance regression in async while checking OCSP when certificate isn't eligible (e.g. no OCSP url provided).

Changed

  • urllib3.future lower bound constraint has been raised to version 2.7.905 to ensure inclusion of jh2 instead of h2.

Version 3.6.1

22 Apr 05:41
57e6c29
Compare
Choose a tag to compare

3.6.1 (2024-04-22)

Fixed

  • Handling broken environments with a graceful exception using a detailed error message.

Version 3.6.0

20 Apr 06:45
f7b53e6
Compare
Choose a tag to compare

3.6.0 (2024-04-20)

Added

  • Support for qh3 version 1.0.0
    This qh3 release enable a greater flexibility by dropping cryptography. We had to adapt the OCSP code as we
    relied on cryptography. HTTP/3 experience is greatly improved.

Changed

  • urllib3.future lower bound constraint has been raised to version 2.7.904 to ensure support for the last qh3 release.

Fixed

  • Improved compatibility with third party mocking tool that are bound to requests.
  • OCSP check did not warn if the HTTP server responded with a non 2xx response in strict mode.