Skip to content

[rust] update reqwest to 0.13#17488

Merged
titusfortner merged 1 commit into
trunkfrom
rust_reqwest
May 18, 2026
Merged

[rust] update reqwest to 0.13#17488
titusfortner merged 1 commit into
trunkfrom
rust_reqwest

Conversation

@titusfortner
Copy link
Copy Markdown
Member

🔗 Related Issues

This is the last suggested update from #13964

💥 What does this PR do?

Bump reqwest and run update on it

@selenium-ci selenium-ci added C-rust Rust code is mostly Selenium Manager B-manager Selenium Manager labels May 16, 2026
@qodo-code-review
Copy link
Copy Markdown
Contributor

Review Summary by Qodo

Update reqwest dependency to 0.13.3

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Update reqwest dependency from 0.12.23 to 0.13.3
• Change rustls feature from "rustls-tls" to "rustls"
• Remove deprecated use_rustls_tls() method call
Diagram
flowchart LR
  A["reqwest 0.12.23<br/>rustls-tls feature"] -- "upgrade" --> B["reqwest 0.13.3<br/>rustls feature"]
  C["use_rustls_tls()<br/>method call"] -- "remove" --> D["implicit TLS config"]
Loading

Grey Divider

File Changes

1. rust/Cargo.toml Dependencies +1/-1

Update reqwest dependency and feature flag

• Bump reqwest version from 0.12.23 to 0.13.3
• Update feature flag from "rustls-tls" to "rustls"

rust/Cargo.toml


2. rust/src/lib.rs ✨ Enhancement +0/-1

Remove deprecated TLS configuration method

• Remove deprecated use_rustls_tls() method call from HTTP client builder
• TLS configuration now handled implicitly by reqwest 0.13 with rustls feature

rust/src/lib.rs


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown
Contributor

qodo-code-review Bot commented May 16, 2026

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (0) 📎 Requirement gaps (0)

Context used

Grey Divider


Remediation recommended

1. Dual reqwest majors included 🐞 Bug ⚙ Maintainability
Description
Updating the direct dependency to reqwest 0.13.3 still leaves a transitive dependency chain pulling
reqwest 0.12.28, so the build includes both reqwest 0.12.x and 0.13.x simultaneously. This increases
compile time/binary size and means older reqwest code remains in the final artifact despite the
bump.
Code

rust/Cargo.toml[21]

+reqwest = { version = "0.13.3", default-features = false, features = ["rustls"] }
Evidence
The PR updates the direct reqwest dependency to 0.13.3, while the lockfile shows that a transitive
dependency (apple-xar, via apple-flat-package) still requires reqwest 0.12.28, and the
lockfile contains entries for both reqwest versions. This demonstrates that the final build includes
both majors concurrently.

rust/Cargo.toml[14-24]
rust/Cargo.lock[85-128]
rust/Cargo.lock[1709-1782]
rust/Cargo.lock[2001-2035]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
The dependency graph currently pulls in both `reqwest 0.13.3` (direct) and `reqwest 0.12.28` (transitive via `apple-xar`/`apple-flat-package`). This keeps an older reqwest major in the final build and adds duplicate networking/TLS stacks.

### Issue Context
- `selenium-manager` depends on `reqwest 0.13.3`, but `apple-xar` (pulled by `apple-flat-package`) still depends on `reqwest 0.12.28`.

### Fix Focus Areas
- rust/Cargo.toml[14-24]
- rust/Cargo.lock[85-128]
- rust/Cargo.lock[1709-1782]
- rust/Cargo.lock[2001-2035]

### Suggested fix
- Prefer upgrading `apple-flat-package` (and/or its transitive `apple-xar`) to a version compatible with `reqwest 0.13.x` so the graph converges on a single reqwest major.
- If an upgrade is not available, evaluate whether `apple-flat-package` can be replaced or whether its reqwest usage can be feature-gated/disabled to avoid pulling reqwest 0.12.x.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Qodo Logo

@titusfortner titusfortner merged commit 2a80fb9 into trunk May 18, 2026
71 checks passed
@titusfortner titusfortner deleted the rust_reqwest branch May 18, 2026 12:15
shs96c added a commit to shs96c/selenium that referenced this pull request May 19, 2026
* origin/trunk: (97 commits)
  [py] update python dependencies (SeleniumHQ#17490)
  [build] fix renovate reported issues with configuration
  [build] remove base-ref from renovate workflows it does not work for the use case I had for them
  [build] add renovate dependency workflow (SeleniumHQ#17504)
  [build] simplify commit-changes workflow (SeleniumHQ#17503)
  [build] clarify dependency pin and update tasks (SeleniumHQ#17463)
  [build] do not rerun or attempt to upload logs unless workflow failure is from the Bazel step
  [build] fix renovate ignore rules_python to v2 until upstream fixed
  [build] renovate ignore rules_python until upstream fixed
  [build] bump rules_closure version (SeleniumHQ#17500)
  [build] bump rules_jvm_external (SeleniumHQ#17501)
  [js] remove npm dependency by using bazel for everything (SeleniumHQ#17499)
  [build] bump ruby versions to latest patch releases (SeleniumHQ#17496)
  [dotnet] [build] Support deterministic build output (SeleniumHQ#17497)
  [build] remove renovate update requests pending work done in SeleniumHQ#17427 (SeleniumHQ#17498)
  [dotnet] [build] Fix remote linkage in SourceLink (SeleniumHQ#17495)
  [rust] update reqwest to 0.13 (SeleniumHQ#17488)
  [build] bump low-risk Bazel module dependencies (SeleniumHQ#17494)
  [dotnet] run format against slnx instead of looping csproj (SeleniumHQ#17483)
  [build] ignore renovate.json references in renovate recommendations
  ...

# Conflicts:
#	MODULE.bazel
#	rust/BUILD.bazel
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

B-manager Selenium Manager C-rust Rust code is mostly Selenium Manager

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants