Skip to content

Releases: jawah/niquests

Version 3.10.3

13 Nov 07:18
d14091e
Compare
Choose a tag to compare

3.10.3 (2024-11-13)

Fixed

  • Resolving lazy responses when emitted through a SOCKS, HTTP or HTTPS proxy. (#170)

Version 3.10.2

25 Oct 08:06
bdf7f83
Compare
Choose a tag to compare

3.10.2 (2024-10-25)

Fixed

  • Ensure stream, and verify both defaults to your Session parameters. (#165)

Version 3.10.1

22 Oct 18:58
5dd7d8f
Compare
Choose a tag to compare

3.10.1 (2024-10-22)

Fixed

  • Exception leak from urllib3-future when gathering / resolving lazy responses.

Version 3.10.0

21 Oct 11:53
1933840
Compare
Choose a tag to compare

3.10.0 (2024-10-21)

Added

  • Automatic Advanced Keep-Alive for HTTP/2 and HTTP/3 over QUIC by sending PING frames.
    New Session, and Adapter parameters are now available: keepalive_delay, and keepalive_idle_window.
    This greatly improves your daily experience working with HTTP/2+ remote peers.

Fixed

  • Unshielded picotls assertion error in Python < 3.10 when trying to fetch the peer intermediate certificate. (#157)

Version 3.9.1

13 Oct 16:23
2463bd6
Compare
Choose a tag to compare

3.9.1 (2024-10-13)

Fixed

  • Exception leak from urllib3-future when using WebSocket.
  • Enforcing HTTP/3 in an AsyncSession. (#152)
  • Adapter kwargs fallback to support old Requests extensions.
  • Type hint for Response.extension linked to the generic interface instead of the inherited ones.
  • Accessing WS over HTTP/2+ using the synchronous session object.

Misc

  • Documentation improvement for in-memory certificates and WebSocket use cases. (#151)

Changed

  • urllib3-future lower bound version is raised to 2.10.904 to ensure exception are properly translated into urllib3-future ones for WS.

Version 3.9.0

08 Oct 06:59
654b5f4
Compare
Choose a tag to compare

3.9.0 (2024-10-08)

Added

  • Support for WebSocket over HTTP/1, HTTP/2 and HTTP/3. It brings a unified API that makes you leverage
    our powerful features like Happy Eyeballs, SOCKS/HTTP/HTTPS proxies, thread/task safety etc...
  • Hook for catching early responses like "103 Early Hints".

Fixed

  • Informational responses are fully supported over HTTP/1, HTTP/2 and HTTP/3.

Changed

  • urllib3-future lower bound version is raised to 2.10.900.

We are thankful to @microsoft and involved parties for funding our work through the Microsoft FOSS Fund program.

Version 3.8.0

24 Sep 07:32
b2bdac6
Compare
Choose a tag to compare

3.8.0 (2024-09-24)

Added

  • Support for HTTP Trailers.
  • Help script now yield warnings if update are available for each sub dependencies.

Fixed

  • Setting a list of Resolver.

Changed

  • urllib3-future lower bound version is raised to 2.9.900 (for http trailer support).
  • relax strict kwargs passing in Session adapters (required for some plugins).

Version 3.7.2

09 Jul 14:43
3285732
Compare
Choose a tag to compare

3.7.2 (2024-07-09)

Fixed

  • DummyLock injected into RequestsCookieJar is not fully compatible, thus breaking AsyncSession on certain scenario. (#136)

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