diff --git a/CHANGELOG-MOQ.md b/CHANGELOG-MOQ.md index 6a6eefefa..2007df159 100644 --- a/CHANGELOG-MOQ.md +++ b/CHANGELOG-MOQ.md @@ -6,6 +6,14 @@ covers the parent. Each entry names the parent commit it carries and every change the fork carries on top, with its upstream status, so an advisory against the parent can be checked against a release. +## 2.0.4 + +Parent: n0-computer/noq [`1a26a8b0`](https://github.com/n0-computer/noq/commit/1a26a8b064d21e316fe6769f068617975bd8a27b), unchanged since 1.3.0. + +- [#34](https://github.com/moq-dev/noq/pull/34) add `TransportConfig::handshake_idle_timeout`, default 10s (msquic's `HandshakeIdleTimeoutMs`). It bounds the handshake in place of `max_idle_timeout`, including an Initial waiting for `accept`, and picks the handshake's probe interval cap, so a short idle timeout meant for dead-peer detection no longer cuts a handshake to two Initial flights. Not offered upstream. + +API: adds `TransportConfig::handshake_idle_timeout`. Behavior: a handshake to an unreachable peer now gives up after the handshake idle timeout instead of the idle timeout (sooner with the 30s default, later with an idle timeout under 10s), and a server drops an Initial still waiting for `accept` after 10s by default. + ## 2.0.3 Parent: n0-computer/noq [`1a26a8b0`](https://github.com/n0-computer/noq/commit/1a26a8b064d21e316fe6769f068617975bd8a27b), unchanged since 1.3.0. diff --git a/Cargo.lock b/Cargo.lock index a9eb0cb0b..478d75dca 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1876,7 +1876,7 @@ dependencies = [ [[package]] name = "moq-noq" -version = "2.0.3" +version = "2.0.4" dependencies = [ "anyhow", "async-executor", @@ -1919,7 +1919,7 @@ dependencies = [ [[package]] name = "moq-noq-proto" -version = "2.0.3" +version = "2.0.4" dependencies = [ "aes-gcm", "arbitrary", @@ -1959,7 +1959,7 @@ dependencies = [ [[package]] name = "moq-noq-udp" -version = "2.0.3" +version = "2.0.4" dependencies = [ "cfg_aliases", "criterion", @@ -3531,7 +3531,7 @@ dependencies = [ [[package]] name = "web-transport-moq" -version = "2.0.3" +version = "2.0.4" dependencies = [ "anyhow", "bytes", diff --git a/Cargo.toml b/Cargo.toml index c740d89d3..d78e45c98 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ default-members = ["noq", "noq-proto", "noq-udp", "web-transport-moq", "bench", resolver = "2" [workspace.package] -version = "2.0.3" +version = "2.0.4" rust-version = "1.88" edition = "2024" license = "MIT OR Apache-2.0" diff --git a/noq/Cargo.toml b/noq/Cargo.toml index 9f8978700..8646d953e 100644 --- a/noq/Cargo.toml +++ b/noq/Cargo.toml @@ -67,13 +67,13 @@ derive_more = { workspace = true } futures-io = { workspace = true, optional = true } rustc-hash = { workspace = true } pin-project-lite = { workspace = true } -proto = { package = "moq-noq-proto", path = "../noq-proto", version = "2.0.3", default-features = false } +proto = { package = "moq-noq-proto", path = "../noq-proto", version = "2.0.4", default-features = false } rustls = { workspace = true, optional = true } smol = { workspace = true, optional = true } thiserror = { workspace = true } tracing = { workspace = true } tokio = { workspace = true } -udp = { package = "moq-noq-udp", path = "../noq-udp", version = "2.0.3", default-features = false, features = ["tracing"] } +udp = { package = "moq-noq-udp", path = "../noq-udp", version = "2.0.4", default-features = false, features = ["tracing"] } # Fix minimal dependencies for indirect deps async-global-executor = { workspace = true, optional = true } diff --git a/web-transport-moq/Cargo.toml b/web-transport-moq/Cargo.toml index 25ccaf840..8b3041ac9 100644 --- a/web-transport-moq/Cargo.toml +++ b/web-transport-moq/Cargo.toml @@ -28,7 +28,7 @@ bytes = "1" futures = "0.3" http = "1" kio = "0.5.4" -noq = { package = "moq-noq", path = "../noq", version = "2.0.3", default-features = false, features = [ +noq = { package = "moq-noq", path = "../noq", version = "2.0.4", default-features = false, features = [ "tracing-log", "platform-verifier", "runtime-tokio",