Skip to content

0.8 Release#41

Merged
liquidsec merged 17 commits into
stablefrom
dev
Jun 3, 2026
Merged

0.8 Release#41
liquidsec merged 17 commits into
stablefrom
dev

Conversation

@liquidsec

Copy link
Copy Markdown
Collaborator

No description provided.

dependabot Bot and others added 16 commits May 23, 2026 19:42
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.149 to 1.0.150.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](serde-rs/json@v1.0.149...v1.0.150)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-version: 1.0.150
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [hyper](https://github.com/hyperium/hyper) from 1.9.0 to 1.10.1.
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md)
- [Commits](hyperium/hyper@v1.9.0...v1.10.1)

---
updated-dependencies:
- dependency-name: hyper
  dependency-version: 1.10.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [http](https://github.com/hyperium/http) from 1.4.0 to 1.4.1.
- [Release notes](https://github.com/hyperium/http/releases)
- [Changelog](https://github.com/hyperium/http/blob/master/CHANGELOG.md)
- [Commits](hyperium/http@v1.4.0...v1.4.1)

---
updated-dependencies:
- dependency-name: http
  dependency-version: 1.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [brotli](https://github.com/dropbox/rust-brotli) from 8.0.2 to 8.0.3.
- [Release notes](https://github.com/dropbox/rust-brotli/releases)
- [Commits](https://github.com/dropbox/rust-brotli/commits)

---
updated-dependencies:
- dependency-name: brotli
  dependency-version: 8.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.15.13 to 0.15.15.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.15.13...0.15.15)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.15.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Per-request no_proxy list that bypasses the configured proxy. Matches
exact hostnames, domain suffixes (*.corp), IPs, and CIDRs. Exposed on
request/download/raw_connect/BatchConfig and the --no-proxy CLI flag.
Bump to 0.8.0.
…uff-0.15.15

chore(deps-dev): bump ruff from 0.15.13 to 0.15.15
…/brotli-8.0.3

chore(deps): bump brotli from 8.0.2 to 8.0.3
…/http-1.4.1

chore(deps): bump http from 1.4.0 to 1.4.1
…/hyper-1.10.1

chore(deps): bump hyper from 1.9.0 to 1.10.1
…/serde_json-1.0.150

chore(deps): bump serde_json from 1.0.149 to 1.0.150
Compare host against suffixes on bytes via eq_ignore_ascii_case instead
of lowercasing the host and building a format! string per pattern. Runs
per request when a proxy is set.
The connection mode (direct vs forward-proxy/tunnel/socks5) was decided once before the redirect loop, so a cross-host redirect kept the first URL's decision. With no_proxy set this could route a redirected request directly past the proxy, or send a no_proxy host through the proxy.

Move the conn_mode decision inside the redirect loop so it is recomputed against each hop's host. Clients are still cached per mode, so hops that share a mode reuse the same client.

Add CLI (tests/cli_no_proxy.rs) and Python-binding (tests/python/test_no_proxy.py) regression tests covering both directions of a cross-host redirect.
no_proxy only has an effect alongside a proxy (it lists hosts that bypass it), so setting it without one was silently a no-op. Add RequestConfig::validate_proxy(), enforced in send() and connect_stream(), so request()/download()/batch/raw_connect() and the CLI all reject it up front.

Document no_proxy in the README (CLI example, flags table, a dedicated subsection covering match forms + per-redirect-hop re-evaluation, and the raw_connect knobs list). Add Rust unit + CLI and Python regression tests.
@ausmaster
ausmaster self-requested a review June 3, 2026 16:17
@liquidsec
liquidsec merged commit 1b9d643 into stable Jun 3, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants