All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Optional progress reporting for batch operations via the new
progress-rich(rich) andprogress-tqdm(tqdm) extras. Both are opt-in (pip install fastreq[progress-rich]), keeping the core dependency surface unchanged.
version-bump.ymlworkflow now correctly detects version changes by comparing againstHEAD~1instead oforigin/main(the previous logic always saw the new version onorigin/mainafter the push completed, silently skipping tag creation and blocking PyPI releases).
fastreq.__version__now matches the package version (was stale at 3.0.0).
- New optional
curl_cffibackend (pip install fastreq[curl]) with browser TLS/JA3 impersonation via theimpersonateparameter (explicit target like"chrome131","random", orNone). Defeats bot detection that blocks plain HTTP clients. impersonateparameter onFastRequests,fastreq(), andfastreq_async();FASTREQ_IMPERSONATEenvironment variable.- User-agent rotation is disabled automatically when
impersonateis set (curl_cffi supplies the browser-matching User-Agent). - curl_cffi included in the shared hermetic transport contract tests.
- Initial changelog structure
- Automated CI/CD workflows for testing, versioning, and publishing