Skip to content

Releases: 0x676e67/wreq

v6.0.0-rc.29

03 Jun 08:15
18436d1

Choose a tag to compare

What's Changed

  • perf(request): static init for common content-type header by @0x676e67 in #1060
  • perf(error): hint compiler to inline trivial error-handling functions by @0x676e67 in #1061
  • perf(response): hint compiler to inline trivial response-handling functions by @0x676e67 in #1062
  • perf(http2): backport and apply hyper client's H2 configuration by @0x676e67 in #1063
  • fix(rt): support fake time in legacy client and TokioTimer by @0x676e67 in #1064
  • bench: add benchmarks for HTTP/1.1 and HTTP/2 by @0x676e67 in #1065
  • build(deps): replace schnellru with lru implementation by @0x676e67 in #1066
  • docs: clarify symbol conflict with OpenSSL by @0x676e67 in #1068
  • bench: Add benchmarks for full and streaming bodies by @0x676e67 in #1069
  • fix(http2): prevent panic when calling to_str on non-UTF8 headers by @0x676e67 in #1070
  • chore: lint core by @0x676e67 in #1071
  • build(deps): bump nttld/setup-ndk from 1.5.0 to 1.6.0 by @dependabot[bot] in #1072
  • perf(bench): optimize benchmark server by @0x676e67 in #1073
  • fix: disable Nagle's algorithm to resolve HTTP/2 performance dip by @0x676e67 in #1074
  • bench: improve benchmark test coverage by @0x676e67 in #1075
  • docs(hash): simplify documentation for HashMemo creation by @0x676e67 in #1076
  • build(deps): replace raw-cpuid with sysinfo implementation by @0x676e67 in #1077
  • fix(bench): fix CPU sysinfo reading in benchmark by @0x676e67 in #1080
  • bench: add missing TokioTimer to http1 server builder by @0x676e67 in #1081
  • feat(cookie): fill missing domain/path in get_all from stored scope by @0x676e67 in #1082
  • build(deps): migrate from boring2 to btls by @0x676e67 in #1083
  • build(deps): replace ahash with foldhash in lru cache by @0x676e67 in #1084
  • perf(http1): eliminate ParserConfig clones on the HTTP/1.1 request hot path by @0x676e67 in #1088
  • build(deps): bump btls from 0.5.3 to 0.5.4 by @0x676e67 in #1090
  • perf(buf): make BufList::remaining O(1) by caching length by @0x676e67 in #1091
  • feat(multipart): add Form::set_boundary for custom boundaries by @sqdshguy in #1094
  • perf(multipart): Improve memory layout of multipart::Form by @0x676e67 in #1095
  • refactor(conn): modular connector component by @0x676e67 in #1100
  • feat(tls): allow pluggable TLS session cache by @0x676e67 in #1101
  • fix(tcp): restore the missing TCP nodelay setting by @0x676e67 in #1102
  • refactor(pool): redesign emulation and pool ID strategy by @0x676e67 in #1103
  • refactor(tls): expose certificate compression APIs by @0x676e67 in #1085
  • refactor(tls): decouple TLS backend logic into sub-modules by @0x676e67 in #1105
  • feat(cookie): RFC 9113 compliant cookie handling by @0x676e67 in #1106
  • chore(tcp): prune redundant local address handling by @0x676e67 in #1107
  • chore(conn): optimize ConnectionId cloning by @0x676e67 in #1108
  • revert(http2): remove unstable APIs by @0x676e67 in #1109
  • revert(response): replace chunk usage with BodyExt::frame by @0x676e67 in #1111
  • fix(http1): allow keep-alive for chunked requests with trailers by @0x676e67 in #1112
  • feat(response): allow forbidding connection recycling via Response::forbid_recycle by @0x676e67 in #1110
  • build(deps): update tokio-tungstenite to version 0.29.0 by @0x676e67 in #1113
  • feat(ws): expose underlying stream via WebSocket::into_inner by @0x676e67 in #1114
  • feat(multipart): use WebKit style boundary generation by default by @0x676e67 in #1118
  • feat(request): introduce Group for explicit request differentiation by @0x676e67 in #1117
  • fix(http2): cancel pipe_task and send RST_STREAM on response future drop by @0x676e67 in #1116
  • feat(request): expose Extensions for tower middleware compatibility by @0x676e67 in #1119
  • revert(ws): "feat(request): introduce Group for explicit request differentiation" by @0x676e67 in #1120
  • build(deps): update http2 dependency version to 0.5.15 by @0x676e67 in #1122
  • perf(ws): rewrite sec-websocket-protocol handling by @0x676e67 in #1121
  • chore(http2): fmt code by @0x676e67 in #1124
  • build(deps): remove implicit feature by @0x676e67 in #1123
  • style(lib): format exported http1 and http2 modules by @0x676e67 in #1129
  • fix(tcp): ensure socket bind options is not accidentally cleared by @0x676e67 in #1131
  • chore(tcp): fmt code by @0x676e67 in #1133
  • build(deps): update http2 dependency version to 0.5.16 by @0x676e67 in #1134
  • build(deps): optional parking_lot support by @0x676e67 in #1126
  • style(sync): fmt export by @0x676e67 in #1136
  • style(core): fmt import by @0x676e67 in #1138
  • refactor(ws): replace force_http2 with version for HTTP version selection by @0x676e67 in #1139
  • perf(http1/io): leverage tokio_util::io to reduce vectorized write overhead by @0x676e67 in #1141
  • build(deps): bump softprops/action-gh-release from 2 to 3 by @dependabot[bot] in #1140
  • perf(tunnel): standardize zero-copy parsing by @0x676e67 in #1142
  • test(cookie): add subdomain cookie scoping tests for Jar by @0x676e67 in #1143
  • perf(http1/encode): Add inline annotations to Encoder methods by @0x676e67 in #1144
  • build(deps): update lru dependency version to 0.17.0 by @0x676e67 in #1145
  • build(deps): replace serde_html_form with serde_urlencoded by @0x676e67 in #1146
  • build(style): fix clippy warnings for Rust 1.95.0 by @0x676e67 in #1147
  • refactor(tls): expose certificate compression APIs by @0x676e67 in #1151
  • build(deps): reduce dependency on futures-channel by @0x676e67 in #1127
  • build(deps): update hickory-resolver requirement from 0.25 to 0.26 by @0x676e67 in #1149
  • build(deps): update http dependency version to 1.4.0 by @0x676e67 in #1152
  • refactor(tcp): reduce dependency on futures-util by @0x676e67 in #1154
  • fix(http2): reading trailers shouldn't propagate NO_ERROR from early response by @0x676e67 in #1156
  • fix(http1): send error when dispatcher is dropped mid-body by @0x676e67 in #1155
  • fix(http1): fix rare missed write wakeup on connections by @0x676e67 in #1153
  • fix(http1): fix possibly short reads when decoding a large body by @0x676e67 in #1157
  • build(deps): update lru dependency version to 0.18.0 by @0x676e67 in #1158
  • refactor(timer): add reset to Sleep trait, remove unsafe downcasting by @0x676e67 in #1159
  • chore(core): migrate core module to wreq-proto by @0x676e67 in #1160
  • build(deps): update wreq-proto dependency version to 0.2.1 by @0x676e67 in #1163
  • style: fmt code by @0x676e67 in #1164
  • chore(conn): split client conn responsibilities across modules by @0x676e67 in #1165
  • chore(keylog): separate TLS keylog responsibilities by @0x676e67 in #1166
  • chore(header): rename OrigHeaderName to HeaderCaseName by @0x676e67 in #1174
  • chore(trust): improve unreachable branch in certificate loading by @0x676e67 in https://github.com...
Read more

v6.0.0-rc.28

11 Feb 09:50

Choose a tag to compare

What's Changed

  • perf(request): reduce overhead by lazy-loading headers for json/form data by @0x676e67 in #1058
  • fix(http1): use case-insensitive matching for trailer fields by @0x676e67 in #1059

Full Changelog: v6.0.0-rc.27...v6.0.0-rc.28

v6.0.0-rc.27

17 Jan 06:57

Choose a tag to compare

What's Changed

  • ci(test): fix windows tests by @0x676e67 in #1042
  • style(cookie): prefer Duration::is_zero() in Max-Age=0 check by @0x676e67 in #1044
  • style(cookie): prefer dt <= SystemTime::now() in expires check by @0x676e67 in #1045
  • refactor(redirect): expose Attempt fields as public API by @0x676e67 in #1046
  • perf(redirect): use static HeaderName for cookie2 to avoid allocation by @0x676e67 in #1047
  • feat(tls): Add peer certificate chain to TlsInfo by @Abernson in #1049
  • perf(tls): use Bytes for peer_certificate to enable cheap cloning by @0x676e67 in #1050
  • build(deps): update http2 dependency version to 0.5.11 by @0x676e67 in #1051
  • feat(cookie): unify cookie addition methods into add() by @0x676e67 in #1043
  • build(deps): Bump url dependency version to 2.5.8 by @0x676e67 in #1053
  • fix(verbose): correct connection verbose tracing by @0x676e67 in #1055
  • build(deps): add prefix-symbols to resolve OpenSSL symbol conflicts by @0x676e67 in #1056

New Contributors

Full Changelog: v6.0.0-rc.26...v6.0.0-rc.27

v6.0.0-rc.26

31 Dec 08:30

Choose a tag to compare

What's Changed

  • fix(redirect): fix redirect location encoding by @0x676e67 in #1034
  • feat: add query and form crate features by @0x676e67 in #1035
  • refactor(header): hide internal details of OrigHeaderName by @0x676e67 in #1036
  • perf(uri): improve String to Uri conversion performance by @0x676e67 in #1038
  • fix(proxy): skip proxy headers for HTTPS destinations by @blinjrm in #1039
  • perf(proxy): improve proxy credential handling for concurrent requests by @0x676e67 in #1041

New Contributors

Full Changelog: v6.0.0-rc.25...v6.0.0-rc.26

v6.0.0-rc.25

23 Dec 03:39

Choose a tag to compare

What's Changed

  • perf(client): reduce one HeaderMap clone during header merge by @0x676e67 in #987
  • fix(proxy): fix HTTP requests proxied through an SOCKS5/HTTPS tunnel by @0x676e67 in #990
  • feat(proxy): compatibility for sending HTTP requests without HTTPS tunneling by @0x676e67 in #991
  • perf(proxy): reduce branch matching by @0x676e67 in #992
  • refactor(mod): use flat module style and merge legacy client by @0x676e67 in #993
  • revert(request): restore upstream header insertion strategy by @0x676e67 in #995
  • feat(redirect): add async support to redirect policy by @0x676e67 in #996
  • fix(test): fix decompression test by @0x676e67 in #998
  • refactor(ext): remove extension wrapper types by @0x676e67 in #999
  • fix(request): fix missing http::Request conversion extensions by @0x676e67 in #1000
  • refactor(redirect): refactor handling of redirect history by @0x676e67 in #1002
  • feat(cookie): refactor CookieStore cookie compression strategy by @0x676e67 in #1005
  • perf(ext): update query handling to avoid copying by @0x676e67 in #1007
  • docs: fix documentation build warning by @0x676e67 in #1008
  • refactor(config): simplify extension config type wrappers by @0x676e67 in #1009
  • docs(proxy): fix docs prompt by @0x676e67 in #1010
  • ci: add Android NDK CI/CD by @0x676e67 in #1011
  • feat(error): add is_proxy_connect for proxy connection errors by @0x676e67 in #1014
  • chore: use http_body_util::BodyDataStream by @0x676e67 in #1015
  • chore(response): simplify response construction by @0x676e67 in #1016
  • fix(redirect): ensure redirect URLs are properly encoded by @0x676e67 in #1017
  • chore(request): simplify request construction by @0x676e67 in #1018
  • chore(body): simplify body construction by @0x676e67 in #1020
  • chore(req/resp): fmt docs by @0x676e67 in #1022
  • build(deps): bump actions/checkout from 5 to 6 by @dependabot[bot] in #1023
  • build(deps): update system-configuration version to 0.7.0 by @0x676e67 in #1024
  • refactor(layer): reorder decoder tower layers by @0x676e67 in #1026
  • style(layer): use flat module style by @0x676e67 in #1027
  • perf(redirect): avoid cloning inner service for non-redirect requests by @0x676e67 in #1028
  • feat(response): introduce trailers support by @0x676e67 in #1021
  • fix(proxy): improve domain matching case insensitivity by @0x676e67 in #1031
  • chore(layer): move body timeout layer to the outermost layer by @0x676e67 in #1032

Full Changelog: v6.0.0-rc.23...v6.0.0-rc.25

v6.0.0-rc.23

28 Nov 04:49

Choose a tag to compare

What's Changed

  • build(deps): bump actions/checkout from 5 to 6 by @dependabot[bot] in #978
  • fix(test): fix decompression empty body test by @0x676e67 in #979
  • deps: update tokio-tungstenite version to 0.28.0 by @0x676e67 in #982
  • refactor: change fast_random from xorshift to siphash a counter by @0x676e67 in #983
  • fix(client): handle multi-value default headers without overriding requests by @0x676e67 in #986

Full Changelog: v6.0.0-rc.22...v6.0.0-rc.23

v6.0.0-rc.22

21 Nov 10:07

Choose a tag to compare

What's Changed

  • fix(http1): fix rare missed write wakeup on connections by @0x676e67 in #974
  • fix(proxy): fix 407 proxy auth failures for HTTP requests by @0x676e67 in #975
  • feat(rt): add Timer::now() method to allow overriding the instant returned by @0x676e67 in #976
  • perf(uri): avoid double copying during URI percent encoding by @0x676e67 in #977

Full Changelog: v6.0.0-rc.21...v6.0.0-rc.22

v6.0.0-rc.21

07 Nov 12:22

Choose a tag to compare

What's Changed

  • chore(docs): improve API docs by @0x676e67 in #954
  • perf(connector): disable Nagle's algorithm for TLS handshake by @0x676e67 in #955
  • refactor(proxy): consolidate platform-specific modules into mod.rs by @0x676e67 in #956
  • docs(retry): fix typo by @0x676e67 in #957
  • ci: fix style check by @0x676e67 in #959
  • build(deps): update windows-registry requirement from 0.5.0 to 0.6.0 by @0x676e67 in #962
  • test(redirect): improve redirect cookie tests by @0x676e67 in #963
  • refactor(dns): redesign DNS API for improved ergonomics and functionality by @0x676e67 in #968
  • fix(proxy): support proxy auth where password is omitted by @0x676e67 in #971
  • feat(uri): percent-encode spaces when building request URLs by @0x676e67 in #972

Full Changelog: v6.0.0-rc.20...v6.0.0-rc.21

v6.0.0-rc.20

19 Sep 11:40

Choose a tag to compare

What's Changed

  • refactor(tls): replace prefer_chacha20 with preserve_tls13_cipher_list by @0x676e67 in #953

Full Changelog: v6.0.0-rc.16...v6.0.0-rc.20

v6.0.0-rc.16

17 Sep 08:55

Choose a tag to compare

What's Changed

  • fix(client): allow absolute-form if is_proxied is set even on HTTPS by @0x676e67 in #945
  • refactor(ws): improve close method API ergonomics by @0x676e67 in #947
  • fix(error): drop leftover debug logging by @0x676e67 in #948
  • feat(ws): implement FusedStream trait for WebSocket by @0x676e67 in #949
  • fix(http2): fix chained calls by @0x676e67 in #952

Full Changelog: v6.0.0-rc.15...v6.0.0-rc.16