Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions CHANGELOG-MOQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,20 @@ 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.1

Parent: n0-computer/noq [`1a26a8b0`](https://github.com/n0-computer/noq/commit/1a26a8b064d21e316fe6769f068617975bd8a27b), unchanged since 1.3.0.

- [#25](https://github.com/moq-dev/noq/pull/25) bound the stream and CRYPTO reassembly buffers at 1024 chunks after compaction, closing the connection with `INTERNAL_ERROR` past it ([RUSTSEC-2026-0185](https://rustsec.org/advisories/RUSTSEC-2026-0185.html)). Carries [quinn-rs/quinn#2694](https://github.com/quinn-rs/quinn/pull/2694), [#2789](https://github.com/quinn-rs/quinn/pull/2789), and [#2814](https://github.com/quinn-rs/quinn/pull/2814), matching quinn-proto 0.11.18, plus a fix so compacting an unordered stream keeps its unread data (upstream noq starts compaction at `bytes_read`, which the new count trigger made reachable). Also in 1.3.3 ([#26](https://github.com/moq-dev/noq/pull/26)). Upstream: [n0-computer/noq#828](https://github.com/n0-computer/noq/pull/828) (open).
- [#19](https://github.com/moq-dev/noq/pull/19) report a stream reset before its WebTransport header as the reset (`WebTransportError::ReadError`), logged at debug, instead of `UnknownSession` at WARN. `UnknownSession` now means only a missing or mismatched session ID. Also in 1.3.3 ([#20](https://github.com/moq-dev/noq/pull/20)). Fork-only.
- [#23](https://github.com/moq-dev/noq/pull/23) keep a `web-transport-moq` session's HTTP/3 control and QPACK streams open until its close capsule is delivered, so browsers see the close code and reason instead of "Connection lost.". Also in 1.3.3 ([#24](https://github.com/moq-dev/noq/pull/24)). Fork-only.
- [#27](https://github.com/moq-dev/noq/pull/27) send a raw QUIC session's (`Session::raw`) stream reset and stop codes as is, instead of mapping them into the HTTP/3 WebTransport range, and read a peer's code as is. Not in 1.3.3. Fork-only.

No API change. Wire:

- A peer that exceeds the reassembly cap is now closed.
- Raw QUIC stream codes are compatible in one direction only: 2.0.1 still reads an older raw peer's mapped codes, but an older raw peer reads 2.0.1's codes as `InvalidReset` / `InvalidStopped`. HTTP/3 sessions are unchanged.

Comment thread
coderabbitai[bot] marked this conversation as resolved.
## 2.0.0

Parent: n0-computer/noq [`1a26a8b0`](https://github.com/n0-computer/noq/commit/1a26a8b064d21e316fe6769f068617975bd8a27b), unchanged since 1.3.0.
Expand Down
8 changes: 4 additions & 4 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ default-members = ["noq", "noq-proto", "noq-udp", "web-transport-moq", "bench",
resolver = "2"

[workspace.package]
version = "2.0.0"
version = "2.0.1"
rust-version = "1.88"
edition = "2024"
license = "MIT OR Apache-2.0"
Expand Down
4 changes: 2 additions & 2 deletions noq/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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.0", default-features = false }
proto = { package = "moq-noq-proto", path = "../noq-proto", version = "2.0.1", 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.0", default-features = false, features = ["tracing"] }
udp = { package = "moq-noq-udp", path = "../noq-udp", version = "2.0.1", default-features = false, features = ["tracing"] }

# Fix minimal dependencies for indirect deps
async-global-executor = { workspace = true, optional = true }
Expand Down
2 changes: 1 addition & 1 deletion web-transport-moq/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ bytes = "1"
futures = "0.3"
http = "1"
kio = "0.5.4"
noq = { package = "moq-noq", path = "../noq", version = "2.0.0", default-features = false, features = [
noq = { package = "moq-noq", path = "../noq", version = "2.0.1", default-features = false, features = [
"tracing-log",
"platform-verifier",
"runtime-tokio",
Expand Down
Loading