Skip to content

Latest commit

 

History

History
995 lines (567 loc) · 20 KB

CHANGELOG.md

File metadata and controls

995 lines (567 loc) · 20 KB

Changelog

All notable changes to this project will be documented in this file.

[unreleased]

🚀 Features

  • Optionl BoringSSL PQ experimental feature (#84)

[0.27.2] - 2024-11-01

🚀 Features

  • (tls) Add option session_ticket extension (#79)
  • (tls) Implement Debug for TlsSettings (#80)
  • (tls) Update session ticket setting
  • (tls) No additional WebSocket connector is needed for HTTP/1 client (#81)

[0.27.1] - 2024-11-01

🚀 Features

  • (http2) Exposing Http2Settings fields (#75)
  • (tls) Expose more custom TL settings (#76)
  • (client) Optional configuration of Client TLS extension (#78)

🚜 Refactor

  • Integrate tls/http2 unified configuration module (#77)

[0.27.0] - 2024-10-31

Deps

  • (hyper) Bump version to v0.14.60 (#74)

[0.26.3] - 2024-10-30

🚀 Features

  • (http2) Add http2_max_frame_size settings (#73)

[0.26.2] - 2024-10-27

🚜 Refactor

  • (tls) Refactor internal TLS/HTTP2 module (#69)
  • (tls) Simplified TLS version mappr (#70)
  • (impersonate) Simplify Impersonate enum parsing with macro (#71)

[0.26.1] - 2024-10-26

🚀 Features

  • (tls) Simplify TLS version settings (#66)

🐛 Bug Fixes

  • Update Chrome version from 129 to 130 (#68)

📚 Documentation

  • Improve TLS/HTTP2 custom configuration documentation (#67)

[0.26.0] - 2024-10-25

🚀 Features

  • (impersonate) Add Chrome 130 impersonate (#65)

🚜 Refactor

  • Normalize DNS module exports (#64)

[0.25.7] - 2024-10-25

🚀 Features

  • (client) Default send header names as title case (only http1) (#61)

Deps

  • (h2) Use h2 dependencies export by hyper (#63)

[0.25.6] - 2024-10-24

🚀 Features

  • (dns) Export dns resolver HickoryDnsResolver (#55)

🐛 Bug Fixes

  • (http) Compatible with some CDN servers, Http1 retains case by default when sending headers(#56)

📚 Documentation

  • Update docs (#54)

Deps

  • Remove unnecessary libc dependencies (#53)

[0.25.5] - 2024-10-23

🐛 Bug Fixes

  • (tls) Fix unsafe code block warnings (#52)

[0.25.2] - 2024-10-23

🚀 Features

  • (websocket) Add websocket handshake with a specified websocket key (#50)

🐛 Bug Fixes

  • (client) Fix ClientBuilder not Send + Sync (#51)

[0.25.1] - 2024-10-22

🚀 Features

  • (websocket) Improve websocket API usage (#49)

[0.25.0] - 2024-10-22

🚀 Features

  • (client) Adaptively select and upgrade the websocket connector (#48)

[0.23.3] - 2024-10-17

🚜 Refactor

  • (tls) Simplify TLS custom settings (#46)

[0.23.2] - 2024-10-16

Deps

  • (hyper) Bump version to v0.14.50 (#45)

[0.23.1] - 2024-10-16

🚀 Features

  • Improve header sort (#43)
  • Improve unnecessary header sorting storage overhead (#44)

[0.23.0] - 2024-10-13

🚀 Features

  • (tls) Optional webpki root certificates feature (#40)

🐛 Bug Fixes

  • (tls) Fix CA certificate conditional compilation (#41)

🚜 Refactor

  • (tls) Public and reuse tls/http2 templates (#42)

[0.22.2] - 2024-10-12

🚀 Features

  • (tls) Avoid repeated loading of native root CA (#37)

🚜 Refactor

  • Refactor custom root CA certificate loading source (#38)

[0.22.1] - 2024-10-12

🚀 Features

  • (tls) Optional built-in root certificates feature (#36)

[0.22.0] - 2024-10-11

🚀 Features

  • Add file function to async::multipart (#32)
  • (dns) Optional LookupIpStrategy for hickory_dns (#33)

🚜 Refactor

  • (client) Removed confusing way to enable hickory-dns (#34)

[0.21.20] - 2024-10-10

🚀 Features

  • (proxy) Add support for SOCKS4 (#27)

🐛 Bug Fixes

  • (tls) Fix default tls configuration to use websocket (#30)

🚜 Refactor

  • (proxy) Remove internal proxy sys cache (#26)

[0.21.15] - 2024-10-09

Deps

  • (brotli) 7.0.0 (#22)
  • (tokio-socks) 0.5.2 (#23)
  • (async-tungstenite) 0.28.0 (#24)
  • (windows-registry) 0.3.0 (#25)

[0.21.12] - 2024-10-06

Deps

  • (ipnet) 2.10.0 (#15)

Dpes

  • (typed-builder) V0.20.0 (#16)

[0.21.11] - 2024-09-27

🐛 Bug Fixes

  • (tls) Fix default TLS SNI context configuration conflict (#13)

[0.21.10] - 2024-09-23

🚀 Features

  • (tls) Enable permute extensions for Chrome/Edge 106 and above (#6)
  • (tls) Some Chrome/Edge versions have ECH enabled by default (#8)
  • (tls) Some Chrome/Edge versions have ECH enabled by default (#9)
  • (impersonate) Add Safari iPad 18 impersonate (#10)

🚜 Refactor

  • (client) Turn off default redirect (#4)
  • (tls) Simplify TLS configuration (#5)
  • (tls) Simplify TLS/HTTP2 configuration (#7)

[0.21.1] - 2024-09-22

🚀 Features

  • (impersonate) Add Safari 18 impersonate

🚜 Refactor

  • Rename the client module to http
  • (tls) Refactored changes and refactored TLS build

[0.20.85] - 2024-09-08

🐛 Bug Fixes

  • (client) Optional setting of default accept (#133)
  • (websocket) Fix websocket upgrade builder (#134)

[0.20.80] - 2024-09-03

🚀 Features

  • (impersonate) Add Chrome 128 impersonate (#130)

🐛 Bug Fixes

  • (client) Fix the header sending order, set accept before request (#131)

[0.20.49] - 2024-08-16

🚀 Features

  • (client) Add impersonate_with_headers allows optionally setting request headers (#128)

🚜 Refactor

  • (client) Simplify Headers Frame priority settings (#126)

[0.20.35] - 2024-08-15

🚀 Features

  • (client) Suggest inline to the compiler (#122)

Remove

  • (client) Remove blocking client support (#123) (#124) (#125)

[0.20.30] - 2024-08-15

Build

  • Fix --no-default-features build

[0.20.25] - 2024-08-15

🐛 Bug Fixes

  • (client) Fix http version setting order (#120)

Refractor

  • (tls/settings) Generate configuration using builder mode (#121)

[0.20.23] - 2024-08-14

🚀 Features

  • (tls) Add preconfigured TLS settings (#118)

🚜 Refactor

  • (client) Set_proxies accepts an slice of references (#119)

[0.20.22] - 2024-08-13

🚀 Features

  • (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)

[0.20.21] - 2024-08-12

🚀 Features

  • (tls) Optimize tls configuration process (#113)

[0.20.20] - 2024-08-12

🚀 Features

  • (client) Simplify client configuration (#110)
  • (tls) Add CA Certificate settings (#112)

🚜 Refactor

  • (tls) Refactor TLS connection layer configuration (#111)

Deps

  • (boring/hyper/h2) Migration patch crate name (#109)

[0.20.10] - 2024-08-10

🚀 Features

  • (http2) Add headers frame default priority (#106)
  • (tls) Reuse https connector layer (#107)

🎨 Styling

  • (tls) Remove unused closure

◀️ Revert

  • (tls) Revert tls_built_in_root_certs option (#105)

[0.20.1] - 2024-08-08

🚀 Features

  • (client) Simplify the header configuration process
  • (extension) Set application protocol (ALPN) for http1 (#104)

🐛 Bug Fixes

  • (tls) Fix setting config TLS version

🚜 Refactor

  • (tls) Simplify TLS connector configuration (#103)

◀️ Revert

  • (client) Remove use of unused TLS Server Name Indication

Deps

  • (system-configuration) V0.6.0
  • (winreg) V0.52.0

[0.20.0] - 2024-08-07

🚀 Features

  • (client) Allow binding interface (#92)
  • (tls) Add zstd support for chrome models and derivatives (#93)

🐛 Bug Fixes

  • (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

🚜 Refactor

  • 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 the feature (#95)

⚙️ Miscellaneous Tasks

  • Remove unnecessary tls feature

[0.11.103] - 2024-08-06

🚀 Features

  • (client) Add custom header order support (#83)

🚜 Refactor

  • (hickory-dns) Async new_resolver (#84)

[0.11.102] - 2024-08-05

🚀 Features

  • (http2) Optimize http2 frame order settings (#80)

📚 Documentation

  • Fix docs build (#81)
  • Update docs (#82)

[0.11.99] - 2024-08-04

🚀 Features

  • (impersonate) Add Safari17_0 impersonate (#71)
  • (websocket) Improve websocket upgrade (#73)
  • (connector) Using session cache to delay initialization of connector (#78)

🐛 Bug Fixes

  • (impersonate) Fix safari15_3/safari15_5 http2 fingerprint (#70)
  • (impersonate) Fix safari header order (#72)

⚙️ Miscellaneous Tasks

  • 1.80 as MSRV (#74)

Deps

  • (percent-encoding) V2.3 (#75)
  • (boring) V4.x (#76)

[0.11.97] - 2024-07-28

🐛 Bug Fixes

  • (extension) Fix configure chrome new curves (#67)

[0.11.96] - 2024-07-28

🚀 Features

  • (impersonate) Export the Impersonate custom extension configuration (#64)
  • (impersonate) Reuse Safari cipher list in groups (#65)

◀️ Revert

  • (impersonate) Revert Edge122 configure new curves (#66)

[0.11.93] - 2024-07-27

🚀 Features

  • (impersonate) Optimize reuse of impersonate configuration (#61)
  • (connect) Reduce unnecessary connection overhead (#62)

[0.11.92] - 2024-07-27

🚀 Features

  • (connect) Add PSK extension (#52)
  • (impersonate) Add Edge_127 impersonate (#59)

🐛 Bug Fixes

  • (connector) Fix TLS session failure when changing address (#55)

🚜 Refactor

  • Remove unused crates (#54)
  • Remove unused crates

🎨 Styling

  • (impersonate) Remove dead code (#51)

⚙️ Miscellaneous Tasks

  • 1.70 as MSRV (#53)
  • 1.70 as MSRV

Deps

  • (ipnet) V2.9.0 (#56)
  • (mime) V0.3.17 (#57)
  • (url) V2.5 (#58)

[0.11.91] - 2024-07-25

🎨 Styling

  • (connect) Replace all non-refutable if let patterns with let statements (#44)

Deps

  • (base64) Bump version to v0.22.x (#46)
  • (cookie_store) Bump version to v0.21.x (#47)

[0.11.90] - 2024-07-25

🚀 Features

  • (impersonate) Optimize TLS connector context handle (#37)

◀️ Revert

  • (impersonate) Remove chrome99 impersonate (#38)

Build

  • (deps) Bump softprops/action-gh-release from 1 to 2 (#36)
  • (deps) Bump actions/checkout from 3 to 4 (#35)

[0.11.89] - 2024-07-25

🚀 Features

  • (client) Support client proxy settings (#32)
  • (client) Add ability to set proxies/address after client has been initialised (#34)

[0.11.88] - 2024-07-09

🐛 Bug Fixes

  • (impersonate) Add Safari17_5 from string

[0.11.87] - 2024-07-07

🚀 Features

  • (impersonate) Add Safari_17_5 impersonate (#28)
  • (impersonate) Add Safari_17_5 impersonate

[0.11.85] - 2024-06-24

🚀 Features

  • (impersonate) Specification version number match
  • (impersonate) Add Safari_IOS_16_5 impersonate
  • (impersonate) Add Safari_IOS_17_4_1 impersonate
  • Add zstd support

🚜 Refactor

  • (impersonate) Refactor unnecessary settings
  • Migrate trust-dns to hickory-dns
  • Migrate trust-dns to hickory-dns
  • (impersonate) Reuse code

Impersonate

  • Bugfix chrome_123, chrome_124 headers

Impersonate

  • Chrome_123, chrome_125 - add zstd to Accept-Encoding header
  • Add chrome_126

[0.11.78] - 2024-05-08

🚀 Features

  • (websocket) Export UpgradedRequestBuilder
  • (websocket) Export header method
  • (websocket) Export header method
  • (websocket) Add upgrade with custom handshake key
  • (impersonate) Add Chrome124 impersonate

Deps

  • (tungstenite) Backport dependencies

[0.11.71] - 2024-04-30

🚀 Features

  • (impersonate) Add Safari_17_4_1 impersonate

🧪 Testing

  • Fix test_badssl_no_built_in_roots

[0.11.69] - 2024-04-10

🚀 Features

  • (impersonate) Add Safari_IOS_17_2 impersonate

[0.11.68] - 2024-04-10

🚀 Features

  • (impersonate) Improve fingerprint OkHttp fingerprint UserAgent
  • (impersonate) Add Chrome123 impersonate

[0.11.65] - 2024-03-05

🚀 Features

  • (feature) Optional enable websocket
  • (impersonate) Add Edge122 impersonate
  • (impersonate) Optimize the overhead of parsing request headers at runtime

[0.11.60] - 2024-02-27

🚀 Features

  • (websocket) Support configuration websocket

[0.11.52] - 2024-02-27

🚀 Features

  • (async/client) Add try get user agent
  • (impersonate) Optimize the overhead of parsing request headers at runtime
  • (client) Support impersonate webSocket

[0.11.48] - 2024-01-09

🚀 Features

  • (impersonate) Add Edge99 impersonate
  • (impersonate) Add Edge101 impersonate
  • (impersonate) Add Safari17_2_1 impersonate

🐛 Bug Fixes

  • Set nodelay correctly to handle when a tls feature is enabled but connection is to an http server (#2062)

📚 Documentation

  • Remove redundant link targets (#2019)
  • Add cfg notes about http3 builder methods (#2070)

Deps

  • (hyper) Bump version to v0.14.33

Http3

  • Upgrade dependencies (#2028)

Proxy

  • Add support for proxy authentication with user-specified header values (#2053)

Wasm

  • Add method user_agent to ClientBuilder. (#2018)

[0.11.46] - 2023-12-23

Deps

  • (boring-sys) Bump version to v2.0.6

[0.11.45] - 2023-12-22

Deps

  • (boring-sys) Bump version to v2.0.5

[0.11.43] - 2023-12-21

🚀 Features

  • (impersonate) Add Safari16_5 impersonate

Deps

  • (boring-sys) Bump version to v2.0.4

[0.11.40] - 2023-12-18

🚀 Features

  • (impersonate) Add Chrome117 impersonate

Deps

  • (boring-sys) Bump version to v2.0.3

[0.11.39] - 2023-12-17

🚀 Features

  • (impersonate) Add Chrome120 impersonate
  • (impersonate) Add Chrome100 impersonate
  • (impersonate) Add Chrome101 impersonate
  • (impersonate) Improve safari fingerprint impersonate

Deps

  • (hyper_imp) Bump version to v0.14.30

[0.11.38] - 2023-12-14

🚀 Features

  • (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

🐛 Bug Fixes

  • (impersonate) Fix v116 impersonate

[0.11.30] - 2023-11-11

🚀 Features

  • (impersonate) Add OkHttp3 Impersonate
  • (impersonate) Add OkHttp5-alpha Impersonate
  • (impersonate) Support more OkHttp fingerprints
  • (impersonate) Add Safari 12 Impersonate

Deps

  • (hyper) Bump version to v0.14.28

[0.11.26] - 2023-10-19

🚀 Features

  • (impersonate) Support disable certs verification

[0.11.25] - 2023-10-19

🚜 Refactor

  • (impersonate) Revert to SslVerifyMode::NONE

[0.11.24] - 2023-10-19

🚀 Features

  • (client) Support configured IPv4 or IPv6 address (depending on host's preferences) before connection

🚜 Refactor

  • (impersonate) Update SSL verify mode

[0.11.22] - 2023-10-15

🚀 Features

  • 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)

🐛 Bug Fixes

  • Tests::support::server
  • (response) copy_to() and text() return reqwest::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)

🚜 Refactor

  • Disable ssl verify

📚 Documentation

  • 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)

🧪 Testing

  • 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

⚙️ Miscellaneous Tasks

  • 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)

Body

  • Don't call poll_ready on tx when 0 bytes remaining. (#479)

CI

  • Check documentation (#1246)
  • Make a single final job that depends on all others (#1291)
  • Enable dependabot for GitHub Action Workflow (#1831)

Doc

  • stream feature is needed for wrap_stream and From<File> for Body (#1456)

Error

  • Add functions to check more error types. (#945)

Examples

  • Allow passing URL via CLI

Feature

  • Auto detect MacOS proxy settings (#1955)

From<http

  • :Response> for Response (#360)

Lint

  • Fix unused Identity if only using default-tls (#1164)

Response.copy_to

  • Fix docs markup

WASM

  • Set RequestCredentials to None by default (#1249)
  • Add try_clone implementations to Request and RequestBuilder (#1286)

[#1095]

  • Implement basic_auth for WASM

Actions

  • Remove --all flag from rustfmt (#795)

Async

  • Add conversions from static slices to Body

Async/client

  • Return a impl Future on execute()

Async/reponse

  • Return a impl Future on json()

Async/request

  • Return a impl Future on send()
  • Add a basic example for send()
  • Add methods to split and reassemble a RequestBuilder (#1770)

Blocking

  • Opt-out CPUs auto-detection in debug mode (#807)
  • Add tcp_keepalive option (#1100)

Boring

  • Upgrade latest version

Boringssl

  • Add SSL_set_permute_extensions

Bug

  • Fix custom content-type overidden by json method
  • Fix custom content-type overidden by json method (#1833)

Cargo

  • Update to rustls 0.16

Client

  • Add convenience method for DELETE

Dep

  • Upgrade trust-dns-resolver from v0.22 to v0.23 (#1965)

Dependencies

  • Upgrade base64 to latest version (#692)

Deps

  • (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)

Example

  • Update usage doc for blocking example (#1112)

Fmt

  • Wasm body (#1359)

Http3

  • Don't force webpki when experiemental http3 is enabled (#1845)
  • Enable runtime-tokio for quinn (#1846)

Msrv

  • Bump to 1.63 (#1947)

Multipart

  • Force a CRLF at the end of request

Native-tls

  • Add Identiy::from_pkcs8_pem (#1655)

Proxy

  • Refactor a collapsible_match (#1214)

Request

  • Test adding duplicate headers to the request (#519)

Tmp

  • Use upstream git repo for hyper-native-tls

Wasm

  • 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 to Body 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)