Skip to content

feat: add reqwest-rustls-no-provider-tls feature#7582

Merged
Xuanwo merged 1 commit into
apache:mainfrom
valkum:feat/reqwest-rustls-no-provider
May 22, 2026
Merged

feat: add reqwest-rustls-no-provider-tls feature#7582
Xuanwo merged 1 commit into
apache:mainfrom
valkum:feat/reqwest-rustls-no-provider

Conversation

@valkum
Copy link
Copy Markdown
Contributor

@valkum valkum commented May 21, 2026

Which issue does this PR close?

Part of #7571.

Rationale for this change

#7365 placed a hard dependency on aws-lc-rs by enabling the reqwest/rustls feature.

This prevents downstream users from providing their own crypto provider such as ring.

What changes are included in this PR?

A new feature is added reqwest-rustls-no-provider-tls which will forward to reqwest and enables reqwests's rustls-no-provider feature.

The cargo tree output after applying this looks like:

# cargo tree -p opendal --no-default-features --features services-gcs --edges normal,build -i aws-lc-rs
aws-lc-rs v1.16.3
└── jsonwebtoken v10.3.0
    └── reqsign-google v3.0.0
        └── opendal-service-gcs v0.56.0 (/Users/valkum/git/opendal/core/services/gcs)
            └── opendal v0.56.0 (/Users/valkum/git/opendal/core)

There is apache/opendal-reqsign#754 to remove aws-lc-rs from reqsign-google

Other ideas floating around in #7571 are disabling any default HTTP client. This PR does not try to implement that.

Are there any user-facing changes?

The current reqwest-rustls feature and the default feature set are unchanged.

AI Usage Statement

I used Claude Code Opus 4.7 to review my state and impact before submitting.

@valkum valkum requested a review from Xuanwo as a code owner May 21, 2026 15:19
@dosubot dosubot Bot added size:XS This PR changes 0-9 lines, ignoring generated files. releases-note/feat The PR implements a new feature or has a title that begins with "feat" labels May 21, 2026
Copy link
Copy Markdown
Member

@Xuanwo Xuanwo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@dosubot dosubot Bot added the lgtm This PR has been approved by a maintainer label May 21, 2026
@Xuanwo
Copy link
Copy Markdown
Member

Xuanwo commented May 21, 2026

Adds a new opt-in Cargo feature `reqwest-rustls-no-provider-tls` that maps
to `reqwest/rustls-no-provider`. This lets downstream users enable rustls
without forcing `aws-lc-rs` as the crypto provider, so they can install
their own (e.g. `ring`).

The existing `reqwest-rustls-tls` feature and the default feature set are
unchanged, so this is purely additive.

Part of: apache#7571
@valkum valkum force-pushed the feat/reqwest-rustls-no-provider branch from 1b9a002 to e5549f9 Compare May 21, 2026 17:07
@valkum
Copy link
Copy Markdown
Contributor Author

valkum commented May 21, 2026

Taplo should be happy now. At least locally :) Fix is rebased into the commit to keep the history clean.

Copy link
Copy Markdown
Member

@Xuanwo Xuanwo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love it, thank you!

@Xuanwo Xuanwo merged commit 8270cdc into apache:main May 22, 2026
376 of 378 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm This PR has been approved by a maintainer releases-note/feat The PR implements a new feature or has a title that begins with "feat" size:XS This PR changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants