Releases: 0x676e67/wreq
Releases · 0x676e67/wreq
v6.0.0-rc.29
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
schnellruwithlruimplementation 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
HashMemocreation by @0x676e67 in #1076 - build(deps): replace
raw-cpuidwithsysinfoimplementation by @0x676e67 in #1077 - fix(bench): fix CPU sysinfo reading in benchmark by @0x676e67 in #1080
- bench: add missing
TokioTimerto http1 server builder by @0x676e67 in #1081 - feat(cookie): fill missing domain/path in
get_allfrom stored scope by @0x676e67 in #1082 - build(deps): migrate from
boring2tobtlsby @0x676e67 in #1083 - build(deps): replace
ahashwithfoldhashinlrucache by @0x676e67 in #1084 - perf(http1): eliminate
ParserConfigclones 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::remainingO(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::Formby @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
ConnectionIdcloning by @0x676e67 in #1108 - revert(http2): remove unstable APIs by @0x676e67 in #1109
- revert(response): replace
chunkusage withBodyExt::frameby @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_recycleby @0x676e67 in #1110 - build(deps): update
tokio-tungsteniteto version 0.29.0 by @0x676e67 in #1113 - feat(ws): expose underlying stream via
WebSocket::into_innerby @0x676e67 in #1114 - feat(multipart): use
WebKitstyle boundary generation by default by @0x676e67 in #1118 - feat(request): introduce
Groupfor 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
Extensionsfor tower middleware compatibility by @0x676e67 in #1119 - revert(ws): "feat(request): introduce
Groupfor explicit request differentiation" by @0x676e67 in #1120 - build(deps): update
http2dependency version to 0.5.15 by @0x676e67 in #1122 - perf(ws): rewrite
sec-websocket-protocolhandling 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
http2dependency version to 0.5.16 by @0x676e67 in #1134 - build(deps): optional
parking_lotsupport by @0x676e67 in #1126 - style(sync): fmt export by @0x676e67 in #1136
- style(core): fmt import by @0x676e67 in #1138
- refactor(ws): replace
force_http2withversionfor HTTP version selection by @0x676e67 in #1139 - perf(http1/io): leverage
tokio_util::ioto 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
Jarby @0x676e67 in #1143 - perf(http1/encode): Add
inlineannotations to Encoder methods by @0x676e67 in #1144 - build(deps): update
lrudependency version to 0.17.0 by @0x676e67 in #1145 - build(deps): replace
serde_html_formwithserde_urlencodedby @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-channelby @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-utilby @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
lrudependency 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-protoby @0x676e67 in #1160 - build(deps): update
wreq-protodependency 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
OrigHeaderNametoHeaderCaseNameby @0x676e67 in #1174 - chore(trust): improve unreachable branch in certificate loading by @0x676e67 in https://github.com...
v6.0.0-rc.28
What's Changed
- perf(request): reduce overhead by lazy-loading headers for
json/formdata 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
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
Attemptfields as public API by @0x676e67 in #1046 - perf(redirect): use static
HeaderNameforcookie2to avoid allocation by @0x676e67 in #1047 - feat(tls): Add peer certificate chain to
TlsInfoby @Abernson in #1049 - perf(tls): use
Bytesforpeer_certificateto enable cheap cloning by @0x676e67 in #1050 - build(deps): update
http2dependency version to 0.5.11 by @0x676e67 in #1051 - feat(cookie): unify cookie addition methods into
add()by @0x676e67 in #1043 - build(deps): Bump
urldependency version to 2.5.8 by @0x676e67 in #1053 - fix(verbose): correct connection verbose tracing by @0x676e67 in #1055
- build(deps): add
prefix-symbolsto resolveOpenSSLsymbol conflicts by @0x676e67 in #1056
New Contributors
Full Changelog: v6.0.0-rc.26...v6.0.0-rc.27
v6.0.0-rc.26
What's Changed
- fix(redirect): fix redirect
locationencoding by @0x676e67 in #1034 - feat: add
queryandformcrate features by @0x676e67 in #1035 - refactor(header): hide internal details of
OrigHeaderNameby @0x676e67 in #1036 - perf(uri): improve
StringtoUriconversion 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
What's Changed
- perf(client): reduce one
HeaderMapclone during header merge by @0x676e67 in #987 - fix(proxy): fix HTTP requests proxied through an
SOCKS5/HTTPS tunnelby @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::Requestconversion extensions by @0x676e67 in #1000 - refactor(redirect): refactor handling of redirect history by @0x676e67 in #1002
- feat(cookie): refactor
CookieStorecookie 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_connectfor proxy connection errors by @0x676e67 in #1014 - chore: use
http_body_util::BodyDataStreamby @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-configurationversion 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
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
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
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
What's Changed
Full Changelog: v6.0.0-rc.16...v6.0.0-rc.20
v6.0.0-rc.16
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
FusedStreamtrait 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