Skip to content

chore(deps): bump niquests from 3.20.1 to 3.21.0 - #289

Merged
edward-ly merged 1 commit into
mainfrom
dependabot/pip/niquests-3.21.0
Aug 10, 2026
Merged

chore(deps): bump niquests from 3.20.1 to 3.21.0#289
edward-ly merged 1 commit into
mainfrom
dependabot/pip/niquests-3.21.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 8, 2026

Copy link
Copy Markdown
Contributor

Bumps niquests from 3.20.1 to 3.21.0.

Release notes

Sourced from niquests's releases.

Version 3.21.0

3.21.0 (2026-07-29)

Added

  • First-class support for the WebAssembly System Interface (WASI) Component Model. (#364)

    Niquests can now run inside sandboxed WebAssembly components using the same Requests-compatible API available on native Python. This enables HTTP clients for edge functions, plug-ins, agent runtimes, and other capability-constrained applications without requiring application-specific adapters.

    Niquests automatically discovers the interfaces imported by the component and selects the most capable available transport. Synchronous applications can use native WASI Preview 2 sockets, while asynchronous applications can use Preview 3 sockets. The socket transports retain urllib3.future's native behavior, including connection pooling, HTTP/2 multiplexing, streaming, trailers, WebSocket, SSE, redirects, retries, cookies, and timeout handling.

    Components that intentionally omit raw socket authority can instead use the host-managed wasi:http interfaces: HTTP 0.2 for synchronous applications and HTTP 0.3 for asynchronous applications. This provides a narrower capability surface in which the host controls DNS, TCP, TLS, certificate trust, protocol negotiation, and connection reuse. Niquests also supports hybrid worlds, using sockets where possible and WIT HTTP where host-managed TLS is required.

    No network or filesystem authority is ambient under WASI. A component's WIT world declares which interfaces it can access, while the runtime independently decides which capabilities to grant. Native hostname resolution therefore requires an explicit DNS grant, and host filesystem access remains unavailable unless a directory is deliberately preopened.

    HTTPS over native WASI sockets requires the rtls extra and urllib3.future 2.24.900 or newer. When using WIT HTTP, TLS is provided according to the host's security policy instead.

    With this release, Niquests supports native Python, browser-side WebAssembly through Pyodide, and server-side WebAssembly through WASI while preserving the same familiar request API. See the WASI quickstart and advanced capability guide for deployment examples and transport-specific constraints.

  • Explicit support for Python 3.15

  • Custom json_encoder in Session and AsyncSession for request bodies. (#437)

  • Top-level request APIs accept custom JSON encoders and TLS configuration.

Fixed

  • CRL or OCSP unparsable/corrupted may raise CryptoError. (#430)
  • A demoted (i.e. failed) HTTP/3 upgrade attempt could be retried when it should be permanently disabled. (#431)
Changelog

Sourced from niquests's changelog.

3.21.0 (2026-07-29)

Added

  • First-class support for the WebAssembly System Interface (WASI) Component Model. (#364)

    Niquests can now run inside sandboxed WebAssembly components using the same Requests-compatible API available on native Python. This enables HTTP clients for edge functions, plug-ins, agent runtimes, and other capability-constrained applications without requiring application-specific adapters.

    Niquests automatically discovers the interfaces imported by the component and selects the most capable available transport. Synchronous applications can use native WASI Preview 2 sockets, while asynchronous applications can use Preview 3 sockets. The socket transports retain urllib3.future's native behavior, including connection pooling, HTTP/2 multiplexing, streaming, trailers, WebSocket, SSE, redirects, retries, cookies, and timeout handling.

    Components that intentionally omit raw socket authority can instead use the host-managed wasi:http interfaces: HTTP 0.2 for synchronous applications and HTTP 0.3 for asynchronous applications. This provides a narrower capability surface in which the host controls DNS, TCP, TLS, certificate trust, protocol negotiation, and connection reuse. Niquests also supports hybrid worlds, using sockets where possible and WIT HTTP where host-managed TLS is required.

    No network or filesystem authority is ambient under WASI. A component's WIT world declares which interfaces it can access, while the runtime independently decides which capabilities to grant. Native hostname resolution therefore requires an explicit DNS grant, and host filesystem access remains unavailable unless a directory is deliberately preopened.

    HTTPS over native WASI sockets requires the rtls extra and urllib3.future 2.24.900 or newer. When using WIT HTTP, TLS is provided according to the host's security policy instead.

    With this release, Niquests supports native Python, browser-side WebAssembly through Pyodide, and server-side WebAssembly through WASI while preserving the same familiar request API. See the WASI quickstart and advanced capability guide for deployment examples and transport-specific constraints.

  • Explicit support for Python 3.15

  • Custom json_encoder in Session and AsyncSession for request bodies. (#437)

  • Top-level request APIs accept custom JSON encoders and TLS configuration.

Fixed

  • CRL or OCSP unparsable/corrupted may raise CryptoError. (#430)
  • A demoted (i.e. failed) HTTP/3 upgrade attempt could be retried when it should be permanently disabled. (#431)
Commits
  • 7633aa3 Feat custom json encoder (#438)
  • e4165cb feat: top-level apis to accept json_encoder+tls_configuration
  • 6466cea feat: custom json encoder
  • edef42d Release 3.21 (#436)
  • b1e7791 Merge branch 'main' into release-3.21
  • 4a1ada3 chore: ignore py3.15 deprecation warning
  • 312bc32 chore: fix comment in typing.py for TimeoutType
  • 5c5b5dd chore: fix CI wasmtime setup
  • 972a511 docs: mention missing wit by default from pypi whl
  • 76436b6 chore: add nox session py3.15
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies python Pull requests that update python code labels Aug 8, 2026
@edward-ly

Copy link
Copy Markdown
Contributor

@dependabot rebase

Bumps [niquests](https://github.com/jawah/niquests) from 3.20.1 to 3.21.0.
- [Release notes](https://github.com/jawah/niquests/releases)
- [Changelog](https://github.com/jawah/niquests/blob/main/HISTORY.md)
- [Commits](jawah/niquests@v3.20.1...v3.21.0)

---
updated-dependencies:
- dependency-name: niquests
  dependency-version: 3.21.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/pip/niquests-3.21.0 branch from d016f11 to 754a575 Compare August 10, 2026 06:31
@edward-ly
edward-ly merged commit f6ef679 into main Aug 10, 2026
8 checks passed
@edward-ly
edward-ly deleted the dependabot/pip/niquests-3.21.0 branch August 10, 2026 07:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant