All notable changes to this project will be documented in this file.
- (proxy) Add support for SOCKS4 (#27)
- (tls) Fix default tls configuration to use websocket (#30)
- (proxy) Remove internal proxy sys cache (#26)
- (brotli) 7.0.0 (#22)
- (tokio-socks) 0.5.2 (#23)
- (async-tungstenite) 0.28.0 (#24)
- (windows-registry) 0.3.0 (#25)
- (ipnet) 2.10.0 (#15)
- (typed-builder) V0.20.0 (#16)
- (tls) Fix default TLS SNI context configuration conflict (#13)
- (tls) Enable permute extensions for
Chrome
/Edge
106 and above (#6) - (tls) Some
Chrome
/Edge
versions haveECH
enabled by default (#8) - (tls) Some
Chrome
/Edge
versions haveECH
enabled by default (#9) - (impersonate) Add
Safari iPad 18
impersonate (#10)
- (client) Turn off default redirect (#4)
- (tls) Simplify TLS configuration (#5)
- (tls) Simplify TLS/HTTP2 configuration (#7)
- (impersonate) Add Safari 18 impersonate
- Rename the
client
module tohttp
- (tls) Refactored changes and refactored TLS build
- (client) Optional setting of default accept (#133)
- (websocket) Fix websocket upgrade builder (#134)
- (impersonate) Add Chrome 128 impersonate (#130)
- (client) Fix the header sending order, set accept before request (#131)
- (client) Add
impersonate_with_headers
allows optionally setting request headers (#128)
- (client) Simplify Headers Frame priority settings (#126)
- (client) Suggest
inline
to the compiler (#122)
- (client) Remove blocking client support (#123) (#124) (#125)
- Fix
--no-default-features
build
- (client) Fix http version setting order (#120)
- (tls/settings) Generate configuration using builder mode (#121)
- (tls) Add preconfigured TLS settings (#118)
- (client) Set_proxies accepts an slice of references (#119)
- (dns) Enable happy eyeballs when using hickory-dns (#115)
- (proxy) Use instead of for reading proxy settings on Windows (#116)
- (tls) Add option to configure TLS server name indication (SNI) (#117)
- (tls) Optimize tls configuration process (#113)
- (client) Simplify client configuration (#110)
- (tls) Add
CA Certificate
settings (#112)
- (tls) Refactor TLS connection layer configuration (#111)
- (boring/hyper/h2) Migration patch crate name (#109)
- (http2) Add headers frame default priority (#106)
- (tls) Reuse https connector layer (#107)
- (tls) Remove unused closure
- (tls) Revert tls_built_in_root_certs option (#105)
- (client) Simplify the header configuration process
- (extension) Set application protocol (ALPN) for http1 (#104)
- (tls) Fix setting config TLS version
- (tls) Simplify TLS connector configuration (#103)
- (client) Remove use of unused TLS Server Name Indication
- (system-configuration) V0.6.0
- (winreg) V0.52.0
- (client) Allow binding interface (#92)
- (tls) Add zstd support for chrome models and derivatives (#93)
- (proxy) Make HTTP(S)_PROXY variables take precedence over ALL_PROXY (#87)
- Fix incorrect Accept-Encoding header combinations in Accepts::as_str (#89)
- (client)
headers_order
error - (tls) Fix optional config TLS size version
- Change Debug of Error to output url as str (#88)
- Blocking feature doesn't need multi-threaded tokio runtime (#90)
- (tls) Major module changes (#91)
- (websocket) Major changes, abstract WebSocket message structure (#94)
- Enabling
accept-encoding
will be determined by the feature - Enabled
accept-encoding
will be determined by thefeature
(#95)
- Remove unnecessary tls feature
- (client) Add custom header order support (#83)
- (hickory-dns) Async
new_resolver
(#84)
- (http2) Optimize http2 frame order settings (#80)
- Fix docs build (#81)
- Update docs (#82)
- (impersonate) Add
Safari17_0
impersonate (#71) - (websocket) Improve websocket upgrade (#73)
- (connector) Using session cache to delay initialization of connector (#78)
- (impersonate) Fix
safari15_3
/safari15_5
http2 fingerprint (#70) - (impersonate) Fix safari header order (#72)
- 1.80 as MSRV (#74)
- (percent-encoding) V2.3 (#75)
- (boring) V4.x (#76)
- (extension) Fix configure chrome new curves (#67)
- (impersonate) Export the Impersonate custom extension configuration (#64)
- (impersonate) Reuse Safari cipher list in groups (#65)
- (impersonate) Revert Edge122 configure new curves (#66)
- (impersonate) Optimize reuse of impersonate configuration (#61)
- (connect) Reduce unnecessary connection overhead (#62)
- (connect) Add PSK extension (#52)
- (impersonate) Add Edge_127 impersonate (#59)
- (connector) Fix TLS session failure when changing address (#55)
- Remove unused crates (#54)
- Remove unused crates
- (impersonate) Remove dead code (#51)
- 1.70 as MSRV (#53)
- 1.70 as MSRV
- (ipnet) V2.9.0 (#56)
- (mime) V0.3.17 (#57)
- (url) V2.5 (#58)
- (connect) Replace all non-refutable if let patterns with let statements (#44)
- (base64) Bump version to v0.22.x (#46)
- (cookie_store) Bump version to v0.21.x (#47)
- (impersonate) Optimize TLS connector context handle (#37)
- (impersonate) Remove chrome99 impersonate (#38)
- (deps) Bump softprops/action-gh-release from 1 to 2 (#36)
- (deps) Bump actions/checkout from 3 to 4 (#35)
- (client) Support client proxy settings (#32)
- (client) Add ability to set proxies/address after client has been initialised (#34)
- (impersonate) Add Safari17_5 from string
- (impersonate) Add Safari_17_5 impersonate (#28)
- (impersonate) Add Safari_17_5 impersonate
- (impersonate) Specification version number match
- (impersonate) Add Safari_IOS_16_5 impersonate
- (impersonate) Add Safari_IOS_17_4_1 impersonate
- Add zstd support
- (impersonate) Refactor unnecessary settings
- Migrate trust-dns to hickory-dns
- Migrate trust-dns to hickory-dns
- (impersonate) Reuse code
- Bugfix
chrome_123
,chrome_124
headers
- Chrome_123, chrome_125 - add
zstd
to Accept-Encoding header - Add
chrome_126
- (websocket) Export
UpgradedRequestBuilder
- (websocket) Export header method
- (websocket) Export header method
- (websocket) Add upgrade with custom handshake key
- (impersonate) Add Chrome124 impersonate
- (tungstenite) Backport dependencies
- (impersonate) Add Safari_17_4_1 impersonate
- Fix test_badssl_no_built_in_roots
- (impersonate) Add Safari_IOS_17_2 impersonate
- (impersonate) Improve fingerprint OkHttp fingerprint UserAgent
- (impersonate) Add Chrome123 impersonate
- (feature) Optional enable websocket
- (impersonate) Add Edge122 impersonate
- (impersonate) Optimize the overhead of parsing request headers at runtime
- (websocket) Support configuration websocket
- (async/client) Add try get user agent
- (impersonate) Optimize the overhead of parsing request headers at runtime
- (client) Support impersonate webSocket
- (impersonate) Add Edge99 impersonate
- (impersonate) Add Edge101 impersonate
- (impersonate) Add Safari17_2_1 impersonate
- Set nodelay correctly to handle when a tls feature is enabled but connection is to an http server (#2062)
- Remove redundant link targets (#2019)
- Add cfg notes about http3 builder methods (#2070)
- (hyper) Bump version to v0.14.33
- Upgrade dependencies (#2028)
- Add support for proxy authentication with user-specified header values (#2053)
- Add method
user_agent
toClientBuilder
. (#2018)
- (boring-sys) Bump version to v2.0.6
- (boring-sys) Bump version to v2.0.5
- (impersonate) Add Safari16_5 impersonate
- (boring-sys) Bump version to v2.0.4
- (impersonate) Add Chrome117 impersonate
- (boring-sys) Bump version to v2.0.3
- (impersonate) Add Chrome120 impersonate
- (impersonate) Add Chrome100 impersonate
- (impersonate) Add Chrome101 impersonate
- (impersonate) Improve safari fingerprint impersonate
- (hyper_imp) Bump version to v0.14.30
- (impersonate) Add Chrome v118 Impersonate
- (connector) Enable encrypted client hello
- (client) Optional enable_ech_grease, only effective for Chrome
- (client) Optional enable permute_extensions
- (impersonate) Remove max_concurrent_streams for v118
- (impersonate) Use the default locations of trusted certificates for verification.
- (impersonate) Add Chrome v119 Impersonate
- (impersonate) Add Chrome v116 Impersonate
- (impersonate) Add Safari 15_3/15_5 Impersonate
- Update safari impersonate
- (impersonate) Add Safari15_6_1 impersonate
- (impersonate) Add Safari16 impersonate
- (impersonate) Fix v116 impersonate
- (impersonate) Add OkHttp3 Impersonate
- (impersonate) Add OkHttp5-alpha Impersonate
- (impersonate) Support more OkHttp fingerprints
- (impersonate) Add Safari 12 Impersonate
- (hyper) Bump version to v0.14.28
- (impersonate) Support disable certs verification
- (impersonate) Revert to SslVerifyMode::NONE
- (client) Support configured IPv4 or IPv6 address (depending on host's preferences) before connection
- (impersonate) Update SSL verify mode
- Set default headers
- Add Response::text()
- (proxy) Adds NO_PROXY environment variable support (#877)
- (multipart) Adds support for manually setting size
- Enable client to be a service without ownership (#1556)
- Tests::support::server
- (response)
copy_to()
andtext()
returnreqwest::Result
- Upgrade to http2 if the server reports that it supports it (#1166)
- Respect https_only option when redirecting (#1313)
- Wasm client: pass response header to builder by reference (#1350)
- Strip BOM in Response::text_with_charset
- Strip BOM in
Response::text_with_charset
(#1898) - Split connect timeout for multiple IPs (#1940)
- Disable ssl verify
- Make encoding_rs link clickable (#674)
- Build wasm32-unknown-unknown docs (#998)
- Adds amplifying note about private key formats (#1335)
- Fix some typos (#1346)
- Provide basic auth example (#1362)
- Fix some typos (#1531)
- Fix broken doc comment example. (#1584)
- Fix some typos (#1562)
- Fix wording on main docs page (#1765)
- Fix building on docs.rs (#1789)
- Added some trivial tests for the RequestBuilder
- Fixed up issue with reading a Body and finished RequestBuilder tests
- Use verbose output
- Add tests for setting default headers
- Response::text()
- Add more badssl tests for rustls
- Update gitignore
- Fix appveyor build for backtrace-sys dependency (#526)
- (docs) Fix missing link for 'blocking'
- Update changelog for 0.11.15
- A few simple cleanups/lints (#1849)
- Don't call poll_ready on tx when 0 bytes remaining. (#479)
- Check documentation (#1246)
- Make a single final job that depends on all others (#1291)
- Enable dependabot for GitHub Action Workflow (#1831)
stream
feature is needed forwrap_stream
andFrom<File>
forBody
(#1456)
- Add functions to check more error types. (#945)
- Allow passing URL via CLI
- Auto detect MacOS proxy settings (#1955)
- :Response> for Response (#360)
- Fix unused
Identity
if only usingdefault-tls
(#1164)
- Fix docs markup
- Set RequestCredentials to None by default (#1249)
- Add
try_clone
implementations toRequest
andRequestBuilder
(#1286)
- Implement
basic_auth
for WASM
- Remove --all flag from rustfmt (#795)
- Add conversions from static slices to Body
- Return a impl Future on execute()
- Return a impl Future on json()
- Return a impl Future on send()
- Add a basic example for send()
- Add methods to split and reassemble a RequestBuilder (#1770)
- Opt-out CPUs auto-detection in debug mode (#807)
- Add tcp_keepalive option (#1100)
- Upgrade latest version
- Add SSL_set_permute_extensions
- Fix custom content-type overidden by json method
- Fix custom content-type overidden by json method (#1833)
- Update to rustls 0.16
- Add convenience method for DELETE
- Upgrade trust-dns-resolver from v0.22 to v0.23 (#1965)
- Upgrade base64 to latest version (#692)
- (chore) Update to the latest rustls (#969)
- Update async-compression v0.3.13 => v0.4.0 (#1828)
- Update rustls v0.20.1 -> v0.21.0 (#1791)
- Update winrege 0.10 -> 0.50 (#1869)
- Update usage doc for blocking example (#1112)
- Wasm body (#1359)
- Don't force
webpki
when experiementalhttp3
is enabled (#1845) - Enable
runtime-tokio
forquinn
(#1846)
- Bump to 1.63 (#1947)
- Force a CRLF at the end of request
- Add Identiy::from_pkcs8_pem (#1655)
- Refactor a collapsible_match (#1214)
- Test adding duplicate headers to the request (#519)
- Use upstream git repo for hyper-native-tls
- Translate over response headers (#689)
- Add bytes method to wasm response (#694)
- Add request body in the form of Bytes (#696)
- Add url function to wasm response (#777)
- Add error_for_status to wasm response (#779)
- Impl TryFrom<HttpRequest> for Request (#997)
- Omit request body if it's empty (#1012)
- Avoid dependency on serde-serialize feature (#1337)
- Add missing
as_bytes
method toBody
implementation (#1270) - Don't send request body as plain uint8 array (#1358)
- Fix standalone/multipart body conversion to JsValue (#1364)
- Fix premature abort for streaming bodies (#1782)
- Blob url support (#1797)