diff --git a/changelog.md b/changelog.md index 0304a19..d82c382 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,11 @@ # Changelog +## 2026-03-12 - 25.10.5 - fix(rustproxy-http) +configure HTTP/2 client builders with a Tokio timer for keep-alive handling + +- Adds TokioTimer to all HTTP/2 client builder instances in proxy_service. +- Ensures configured HTTP/2 keep-alive interval and timeout settings have the required timer runtime support. + ## 2026-03-12 - 25.10.4 - fix(rustproxy-http) stabilize upstream HTTP/2 forwarding and fallback behavior diff --git a/rust/crates/rustproxy-http/src/proxy_service.rs b/rust/crates/rustproxy-http/src/proxy_service.rs index 4f4a10d..268b70c 100644 --- a/rust/crates/rustproxy-http/src/proxy_service.rs +++ b/rust/crates/rustproxy-http/src/proxy_service.rs @@ -912,6 +912,7 @@ impl HttpProxyService { let exec = hyper_util::rt::TokioExecutor::new(); let mut h2_builder = hyper::client::conn::http2::Builder::new(exec); h2_builder + .timer(hyper_util::rt::TokioTimer::new()) .keep_alive_interval(std::time::Duration::from_secs(10)) .keep_alive_timeout(std::time::Duration::from_secs(5)) .adaptive_window(true) @@ -1052,6 +1053,7 @@ impl HttpProxyService { let exec = hyper_util::rt::TokioExecutor::new(); let mut h2_builder = hyper::client::conn::http2::Builder::new(exec); h2_builder + .timer(hyper_util::rt::TokioTimer::new()) .keep_alive_interval(std::time::Duration::from_secs(10)) .keep_alive_timeout(std::time::Duration::from_secs(5)) .adaptive_window(true) @@ -1142,6 +1144,7 @@ impl HttpProxyService { let exec = hyper_util::rt::TokioExecutor::new(); let mut h2_builder = hyper::client::conn::http2::Builder::new(exec); h2_builder + .timer(hyper_util::rt::TokioTimer::new()) .keep_alive_interval(std::time::Duration::from_secs(10)) .keep_alive_timeout(std::time::Duration::from_secs(5)) .adaptive_window(true) diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index fb505f7..9a958e7 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@push.rocks/smartproxy', - version: '25.10.4', + version: '25.10.5', description: 'A powerful proxy package with unified route-based configuration for high traffic management. Features include SSL/TLS support, flexible routing patterns, WebSocket handling, advanced security options, and automatic ACME certificate management.' }