Repository navigation
chore: add selective CI, SemVer changelog and update dependencies - #2
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add selective CI for relevant pull requests, pushes to master, and manual runs. Path filters skip documentation-only changes; concurrency cancels superseded runs. Quality checks run formatting, locked cargo check and pedantic Clippy with warnings denied. Test jobs run Rust regressions and build/install the Python wheel before public API tests on Python 3.10 and 3.15 (allow prerelease builds until stable 3.15 is available).
Update Rust rsloop to stable crate 0.1.56, wreq to stable 0.16.1, and PyO3 to 0.29.3; refresh Cargo.lock and uv.lock (Python rsloop 0.1.59). Declare Python >=3.10 and Rust >=1.98. Adapt proxy parsing, idle-pool disabling, and streaming reads to the current wreq API.
The new wreq proxy matcher silently ignores unsupported schemes: invalid://proxy can send a request directly and report success. Validate supported HTTP/HTTPS/SOCKS schemes before sending, retain bare host:port inputs, and return failed outcomes for unsupported schemes. Add parser tests and a local Python HTTP target test that verifies invalid proxies never reach the target directly. Preserve full-body return and body-read error behavior.
Add a Keep a Changelog / Semantic Versioning changelog with Unreleased changes; retain package version 0.1.0. Document build prerequisites and checks. Fix Clippy findings; allow only the owned PyO3 iterator receiver lint.
Validation: pedantic Clippy passed; 5 Rust tests passed; rebuilt CPython 3.12 wheel and 3 Python API tests passed; formatting and diff checks passed. The deterministic proxy-bypass regression reproduces the failure against the previous wheel and passes with this fix. Earlier wheel/API checks also passed on CPython 3.14. GitHub CI is rerun for the updated head.