From 6326472dfaba099473261b718c2e707646e5432e Mon Sep 17 00:00:00 2001 From: "moq-bot[bot]" <186640430+moq-bot[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 22:02:42 +0000 Subject: [PATCH 1/2] chore: release --- Cargo.lock | 399 +++++++++++++++------------------- Cargo.toml | 32 +-- rs/hang/CHANGELOG.md | 18 ++ rs/hang/Cargo.toml | 2 +- rs/kio/CHANGELOG.md | 15 ++ rs/kio/Cargo.toml | 2 +- rs/libmoq/CHANGELOG.md | 12 + rs/libmoq/Cargo.toml | 2 +- rs/moq-audio/CHANGELOG.md | 13 ++ rs/moq-audio/Cargo.toml | 2 +- rs/moq-boy/CHANGELOG.md | 7 + rs/moq-boy/Cargo.toml | 2 +- rs/moq-cli/CHANGELOG.md | 12 + rs/moq-cli/Cargo.toml | 2 +- rs/moq-ffi/CHANGELOG.md | 11 + rs/moq-ffi/Cargo.toml | 2 +- rs/moq-flate/CHANGELOG.md | 14 ++ rs/moq-flate/Cargo.toml | 2 +- rs/moq-gst/CHANGELOG.md | 20 ++ rs/moq-gst/Cargo.toml | 2 +- rs/moq-hls/CHANGELOG.md | 23 ++ rs/moq-hls/Cargo.toml | 2 +- rs/moq-json/CHANGELOG.md | 16 ++ rs/moq-json/Cargo.toml | 2 +- rs/moq-loc/CHANGELOG.md | 8 + rs/moq-loc/Cargo.toml | 2 +- rs/moq-msf/CHANGELOG.md | 8 + rs/moq-msf/Cargo.toml | 2 +- rs/moq-mux/CHANGELOG.md | 22 ++ rs/moq-mux/Cargo.toml | 2 +- rs/moq-native/CHANGELOG.md | 19 ++ rs/moq-native/Cargo.toml | 2 +- rs/moq-net/CHANGELOG.md | 42 ++++ rs/moq-net/Cargo.toml | 2 +- rs/moq-relay/CHANGELOG.md | 21 ++ rs/moq-relay/Cargo.toml | 2 +- rs/moq-rtc/CHANGELOG.md | 17 ++ rs/moq-rtc/Cargo.toml | 2 +- rs/moq-rtmp/CHANGELOG.md | 17 ++ rs/moq-rtmp/Cargo.toml | 2 +- rs/moq-srt/CHANGELOG.md | 19 ++ rs/moq-srt/Cargo.toml | 2 +- rs/moq-stats/CHANGELOG.md | 27 +++ rs/moq-token-cli/CHANGELOG.md | 10 + rs/moq-token-cli/Cargo.toml | 2 +- rs/moq-token/CHANGELOG.md | 17 ++ rs/moq-token/Cargo.toml | 2 +- rs/moq-transcode/CHANGELOG.md | 24 ++ rs/moq-video/CHANGELOG.md | 54 +++++ rs/moq-video/Cargo.toml | 2 +- 50 files changed, 686 insertions(+), 257 deletions(-) create mode 100644 rs/moq-flate/CHANGELOG.md create mode 100644 rs/moq-stats/CHANGELOG.md diff --git a/Cargo.lock b/Cargo.lock index 0169ef06f1..4321f6e91c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -181,9 +181,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.103" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a4385e2e34eb35d6b3efe798b9eb88096925d87726c0798709bf56d9ed84af3" +checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470" [[package]] name = "arc-swap" @@ -298,7 +298,7 @@ dependencies = [ "nom 7.1.3", "num-traits", "rusticata-macros", - "thiserror 2.0.18", + "thiserror 2.0.19", "time", ] @@ -383,13 +383,13 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.89" +version = "0.1.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" +checksum = "ae36dc4177970ef04fde5178d3e2429882def40e57a451f919c098f72baa6cec" dependencies = [ "proc-macro2", "quote", - "syn 2.0.119", + "syn 3.0.3", ] [[package]] @@ -838,9 +838,9 @@ checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649" [[package]] name = "bytemuck" -version = "1.25.1" +version = "1.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6aedf8ae72766347502cf3cb4f41cf5e9cc37d28bee90f1fdaaae15f9cf9424" +checksum = "95832e849adfb21180ccb6826a99da14e5d266ae5c2e668e1602cf234f153797" [[package]] name = "byteorder" @@ -914,7 +914,7 @@ dependencies = [ "semver", "serde", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.19", ] [[package]] @@ -1106,9 +1106,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.6.2" +version = "4.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd059f9da4f5c36b3787f65d38ccaab1cc315f07b01f89abc8359ee6a8205011" +checksum = "d91e0c145792ef73a6ad36d27c75ac09f1832222a3c209689d90f534685ee5b7" dependencies = [ "clap_builder", "clap_derive", @@ -1128,14 +1128,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.6.1" +version = "4.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9" +checksum = "d012d2b9d65aca7f18f4d9878a045bc17899bba951561ba5ec3c2ba1eed9a061" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.119", + "syn 3.0.3", ] [[package]] @@ -1165,7 +1165,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1" dependencies = [ - "thiserror 2.0.18", + "thiserror 2.0.19", ] [[package]] @@ -1556,9 +1556,9 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "5.0.0-rc.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f359e08ca85e7bd759e1fd933ff2bccd81864c60a8fba0e259c7f822b0924bf" +checksum = "b5eed333089e2e1c1ac8c6c0398e5e2497b4c9926ca6d0365ed1e099afa5bc23" dependencies = [ "cfg-if", "cpufeatures 0.3.0", @@ -2033,9 +2033,9 @@ dependencies = [ [[package]] name = "ed25519-dalek" -version = "3.0.0-rc.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b011170fe4f04665565b4110afef66774fe9ffff278f3eb5b81cc73d26e27d60" +checksum = "6ebaa1a2bf1290ab3bfe5a7b771d050ebffab2711c19a81691c683a5144a25de" dependencies = [ "curve25519-dalek", "ed25519", @@ -2202,7 +2202,7 @@ dependencies = [ "cfg-if", "document-features", "num-traits", - "thiserror 2.0.18", + "thiserror 2.0.19", ] [[package]] @@ -2219,11 +2219,11 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" dependencies = [ - "getrandom 0.3.4", + "getrandom 0.4.3", ] [[package]] @@ -2306,13 +2306,13 @@ dependencies = [ [[package]] name = "foreign-types-macros" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" +checksum = "ea5190182e6915eb873ddbc16e23b711b6eb1f9c00a0d0a3a91b5f6228475225" dependencies = [ "proc-macro2", "quote", - "syn 2.0.119", + "syn 3.0.3", ] [[package]] @@ -2689,9 +2689,9 @@ dependencies = [ [[package]] name = "glob" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" +checksum = "e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b" [[package]] name = "gloo-timers" @@ -2793,7 +2793,7 @@ dependencies = [ "paste", "pin-project-lite", "smallvec", - "thiserror 2.0.18", + "thiserror 2.0.19", ] [[package]] @@ -2846,7 +2846,7 @@ dependencies = [ [[package]] name = "hang" -version = "0.19.5" +version = "0.20.0" dependencies = [ "anyhow", "bytes", @@ -2860,7 +2860,7 @@ dependencies = [ "serde", "serde_json", "serde_with", - "thiserror 2.0.18", + "thiserror 2.0.19", "tokio", "tracing", "url", @@ -2939,7 +2939,7 @@ dependencies = [ "jni 0.22.4", "rand 0.10.2", "rustls", - "thiserror 2.0.18", + "thiserror 2.0.19", "tinyvec", "tokio", "tokio-rustls", @@ -2961,7 +2961,7 @@ dependencies = [ "prefix-trie", "rand 0.10.2", "ring", - "thiserror 2.0.18", + "thiserror 2.0.19", "tinyvec", "tracing", "url", @@ -2989,7 +2989,7 @@ dependencies = [ "rustls", "smallvec", "system-configuration", - "thiserror 2.0.18", + "thiserror 2.0.19", "tokio", "tokio-rustls", "tracing", @@ -3169,9 +3169,9 @@ dependencies = [ [[package]] name = "hyper" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55281c53a1894c864990125767da440a4e630446785086f52523b20033b74498" +checksum = "d22053281f852e11534f5198498373cbb59295120a20771d90f7ed1897490a72" dependencies = [ "atomic-waker", "bytes", @@ -3493,9 +3493,9 @@ dependencies = [ [[package]] name = "iroh" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fca9b4b462c343ff88fc0af4096c186f939b602a0bc08723536ef2c31c93971" +checksum = "460de6bc52163b41b1646931f2897e5ab986f0966ade444467fec25024751a72" dependencies = [ "backon", "blake3", @@ -3544,9 +3544,9 @@ dependencies = [ [[package]] name = "iroh-base" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830a582cd54410dc1aa71d4786a82c3297d7b0165accd8b6dbbb3b240b48140d" +checksum = "6be73e16ee21c923aca9b3121aaa0db936f7c7ecc156ff47b8dac944c68d59a8" dependencies = [ "curve25519-dalek", "data-encoding", @@ -3563,9 +3563,9 @@ dependencies = [ [[package]] name = "iroh-dns" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "516e4eedc38e33ab69a6bd325520332dc3d67b25454e2d590ebb84a25240dd9a" +checksum = "46f6a9b39d18e6345f5c151afd299f2488e2cb5c520fe41b107b6bd3dc4c3349" dependencies = [ "arc-swap", "cfg_aliases", @@ -3614,9 +3614,9 @@ dependencies = [ [[package]] name = "iroh-relay" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8149bb6a57126225a07d6928846d82dcedfd24ea0f863ef7b2eb475e1d726354" +checksum = "24bd586cf927f7b700f56ec3639b53cb5fa901ce284784051ff71092bfbf8193" dependencies = [ "blake3", "bytes", @@ -3653,7 +3653,6 @@ dependencies = [ "tokio-websockets", "tracing", "url", - "vergen-gitcl", "webpki-roots", "ws_stream_wasm", ] @@ -3740,7 +3739,7 @@ dependencies = [ "jni-sys 0.4.1", "log", "simd_cesu8", - "thiserror 2.0.18", + "thiserror 2.0.19", "walkdir", "windows-link", ] @@ -3817,7 +3816,7 @@ dependencies = [ "jsonptr", "serde", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.19", ] [[package]] @@ -3859,7 +3858,7 @@ dependencies = [ [[package]] name = "kio" -version = "0.4.4" +version = "0.5.0" dependencies = [ "smallvec", "tokio", @@ -3902,9 +3901,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.186" +version = "0.2.189" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" +checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" [[package]] name = "libloading" @@ -3934,7 +3933,7 @@ checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" [[package]] name = "libmoq" -version = "0.3.14" +version = "0.4.0" dependencies = [ "anyhow", "bytes", @@ -3947,7 +3946,7 @@ dependencies = [ "moq-net", "moq-video", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.19", "tokio", "tracing", "url", @@ -4182,7 +4181,7 @@ dependencies = [ [[package]] name = "moq-audio" -version = "0.0.9" +version = "0.0.10" dependencies = [ "block2", "bytes", @@ -4198,7 +4197,7 @@ dependencies = [ "objc2-foundation", "objc2-screen-capture-kit", "rubato", - "thiserror 2.0.18", + "thiserror 2.0.19", "tokio", "tracing", "unsafe-libopus", @@ -4225,7 +4224,7 @@ dependencies = [ [[package]] name = "moq-boy" -version = "0.2.28" +version = "0.3.0" dependencies = [ "anyhow", "boytacean", @@ -4246,7 +4245,7 @@ dependencies = [ [[package]] name = "moq-cli" -version = "0.8.7" +version = "0.9.0" dependencies = [ "anyhow", "axum", @@ -4274,7 +4273,7 @@ dependencies = [ [[package]] name = "moq-ffi" -version = "0.2.33" +version = "0.3.0" dependencies = [ "bytes", "hang", @@ -4285,7 +4284,7 @@ dependencies = [ "moq-net", "pollster", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.19", "tokio", "tracing", "uniffi", @@ -4294,16 +4293,16 @@ dependencies = [ [[package]] name = "moq-flate" -version = "0.1.0" +version = "0.1.1" dependencies = [ "bytes", "flate2", - "thiserror 2.0.18", + "thiserror 2.0.19", ] [[package]] name = "moq-gst" -version = "0.2.12" +version = "0.3.0" dependencies = [ "anyhow", "bytes", @@ -4321,7 +4320,7 @@ dependencies = [ [[package]] name = "moq-hls" -version = "0.3.0" +version = "0.4.0" dependencies = [ "anyhow", "axum", @@ -4333,7 +4332,7 @@ dependencies = [ "moq-mux", "moq-net", "reqwest", - "thiserror 2.0.18", + "thiserror 2.0.19", "tokio", "tower", "tracing", @@ -4342,7 +4341,7 @@ dependencies = [ [[package]] name = "moq-json" -version = "0.2.0" +version = "0.3.0" dependencies = [ "bytes", "criterion", @@ -4352,22 +4351,22 @@ dependencies = [ "moq-net", "serde", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.19", "tracing", ] [[package]] name = "moq-loc" -version = "0.1.0" +version = "0.2.0" dependencies = [ "bytes", "moq-net", - "thiserror 2.0.18", + "thiserror 2.0.19", ] [[package]] name = "moq-msf" -version = "0.3.1" +version = "0.4.0" dependencies = [ "serde", "serde_json", @@ -4376,7 +4375,7 @@ dependencies = [ [[package]] name = "moq-mux" -version = "0.7.6" +version = "0.8.0" dependencies = [ "anyhow", "base64", @@ -4398,7 +4397,7 @@ dependencies = [ "serde", "serde_json", "serde_with", - "thiserror 2.0.18", + "thiserror 2.0.19", "tokio", "tracing", "url", @@ -4407,7 +4406,7 @@ dependencies = [ [[package]] name = "moq-native" -version = "0.18.3" +version = "0.19.0" dependencies = [ "anyhow", "bytes", @@ -4435,7 +4434,7 @@ dependencies = [ "serde_with", "socket2 0.6.5", "tempfile", - "thiserror 2.0.18", + "thiserror 2.0.19", "tikv-jemalloc-ctl", "tikv-jemallocator", "time", @@ -4458,7 +4457,7 @@ dependencies = [ [[package]] name = "moq-net" -version = "0.1.18" +version = "0.2.0" dependencies = [ "bytes", "criterion", @@ -4469,7 +4468,7 @@ dependencies = [ "rand 0.10.2", "serde", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.19", "tokio", "tracing", "wasm-bindgen-test", @@ -4488,7 +4487,7 @@ dependencies = [ [[package]] name = "moq-relay" -version = "0.13.7" +version = "0.14.0" dependencies = [ "anyhow", "axum", @@ -4515,7 +4514,7 @@ dependencies = [ "serde_with", "sysinfo", "tempfile", - "thiserror 2.0.18", + "thiserror 2.0.19", "tokio", "tokio-rustls", "toml 1.1.3+spec-1.1.0", @@ -4529,7 +4528,7 @@ dependencies = [ [[package]] name = "moq-rtc" -version = "0.1.5" +version = "0.2.0" dependencies = [ "anyhow", "aws-lc-rs", @@ -4540,7 +4539,7 @@ dependencies = [ "moq-net", "reqwest", "str0m", - "thiserror 2.0.18", + "thiserror 2.0.19", "tokio", "tracing", "url", @@ -4549,7 +4548,7 @@ dependencies = [ [[package]] name = "moq-rtmp" -version = "0.1.3" +version = "0.2.0" dependencies = [ "anyhow", "byteorder", @@ -4565,7 +4564,7 @@ dependencies = [ "rustls", "sha2", "socket2 0.6.5", - "thiserror 2.0.18", + "thiserror 2.0.19", "tokio", "tokio-rustls", "tracing", @@ -4573,7 +4572,7 @@ dependencies = [ [[package]] name = "moq-srt" -version = "0.1.2" +version = "0.2.0" dependencies = [ "anyhow", "bytes", @@ -4581,7 +4580,7 @@ dependencies = [ "moq-mux", "moq-net", "srt-tokio", - "thiserror 2.0.18", + "thiserror 2.0.19", "tokio", "tracing", ] @@ -4595,7 +4594,7 @@ dependencies = [ "moq-net", "serde", "serde_json", - "thiserror 2.0.18", + "thiserror 2.0.19", "tokio", "tracing", "web-async", @@ -4603,7 +4602,7 @@ dependencies = [ [[package]] name = "moq-token" -version = "0.6.3" +version = "0.7.0" dependencies = [ "anyhow", "aws-lc-rs", @@ -4616,13 +4615,13 @@ dependencies = [ "serde", "serde_json", "serde_with", - "thiserror 2.0.18", + "thiserror 2.0.19", "tokio", ] [[package]] name = "moq-token-cli" -version = "0.5.37" +version = "0.5.38" dependencies = [ "anyhow", "clap", @@ -4641,7 +4640,7 @@ dependencies = [ "moq-native", "moq-net", "moq-video", - "thiserror 2.0.18", + "thiserror 2.0.19", "tokio", "tracing", "url", @@ -4664,7 +4663,7 @@ dependencies = [ [[package]] name = "moq-video" -version = "0.0.6" +version = "0.0.7" dependencies = [ "anyhow", "ashpd", @@ -4691,7 +4690,7 @@ dependencies = [ "openh264", "openh264-sys2", "pipewire", - "thiserror 2.0.18", + "thiserror 2.0.19", "tokio", "tracing", "v4l", @@ -4709,7 +4708,7 @@ dependencies = [ "getrandom 0.4.3", "js-sys", "moq-net", - "thiserror 2.0.18", + "thiserror 2.0.19", "tracing-wasm", "url", "wasm-bindgen", @@ -4926,7 +4925,7 @@ dependencies = [ "log", "netlink-packet-core", "netlink-sys", - "thiserror 2.0.18", + "thiserror 2.0.19", ] [[package]] @@ -5019,9 +5018,9 @@ checksum = "38bf9645c8b145698bb0b18a4637dcacbc421ea49bef2317e4fd8065a387cf21" [[package]] name = "noq" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bf95190af1bd4a00a10e8255ca0c8ddd9e9a9f5e79151d7a7eb6d56aff5dc89" +checksum = "e11803df44ac03a30988d61585ea50885d5428e42da944fe1e498799da7886a2" dependencies = [ "bytes", "cfg_aliases", @@ -5032,7 +5031,7 @@ dependencies = [ "rustc-hash 2.1.3", "rustls", "socket2 0.6.5", - "thiserror 2.0.18", + "thiserror 2.0.19", "tokio", "tokio-stream", "tracing", @@ -5041,9 +5040,9 @@ dependencies = [ [[package]] name = "noq-proto" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa6c890013591e709a3e45dd53501351b7e27e7ff3c7e9fc3dce43e300e7e9d3" +checksum = "334c3c9833f7b2c573cceb9896ddc7aaeb58c8807cbb63211b24d1fe88bf866e" dependencies = [ "aes-gcm", "aws-lc-rs", @@ -5063,7 +5062,7 @@ dependencies = [ "rustls-platform-verifier", "slab", "sorted-index-buffer", - "thiserror 2.0.18", + "thiserror 2.0.19", "tinyvec", "tracing", "web-time", @@ -5071,9 +5070,9 @@ dependencies = [ [[package]] name = "noq-udp" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3137a52df66c20090a889828d1c655f21f52294cba64e5c4fbb04fc83eee7c8e" +checksum = "bde7a5d5102f1cff03d482240f0ed20551661f63663620f4b26112ed751165e9" dependencies = [ "cfg_aliases", "libc", @@ -5265,15 +5264,6 @@ dependencies = [ "syn 2.0.119", ] -[[package]] -name = "num_threads" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" -dependencies = [ - "libc", -] - [[package]] name = "nutype-enum" version = "0.1.5" @@ -5713,7 +5703,7 @@ dependencies = [ "futures-sink", "js-sys", "pin-project-lite", - "thiserror 2.0.18", + "thiserror 2.0.19", "tracing", ] @@ -5746,7 +5736,7 @@ dependencies = [ "opentelemetry", "percent-encoding", "rand 0.9.5", - "thiserror 2.0.18", + "thiserror 2.0.19", ] [[package]] @@ -6231,9 +6221,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.106" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" dependencies = [ "unicode-ident", ] @@ -6273,7 +6263,7 @@ dependencies = [ "memchr", "parking_lot", "procfs", - "thiserror 2.0.18", + "thiserror 2.0.19", ] [[package]] @@ -6374,7 +6364,7 @@ dependencies = [ "bytes", "futures", "rustls", - "thiserror 2.0.18", + "thiserror 2.0.19", "tokio", "tokio-rustls", "tokio-tungstenite", @@ -6447,7 +6437,7 @@ dependencies = [ "rustc-hash 2.1.3", "rustls", "socket2 0.6.5", - "thiserror 2.0.18", + "thiserror 2.0.19", "tokio", "tracing", "web-time", @@ -6472,7 +6462,7 @@ dependencies = [ "rustls-pki-types", "rustls-platform-verifier", "slab", - "thiserror 2.0.18", + "thiserror 2.0.19", "tinyvec", "tracing", "web-time", @@ -6494,9 +6484,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.46" +version = "1.0.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfbc457d0c7a0759a614551b11a6409e5951f6c7537be1f1b7682b9ae9230368" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" dependencies = [ "proc-macro2", ] @@ -6662,22 +6652,22 @@ dependencies = [ [[package]] name = "ref-cast" -version = "1.0.25" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" +checksum = "216e8f773d7923bcba9ceb86a86c93cabb3903a11872fc3f138c49630e50b96d" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.25" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" +checksum = "2c9283685feec7d69af75fb0e858d5e7378f33fe4fc699383b2916ab9273e03c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.119", + "syn 3.0.3", ] [[package]] @@ -6757,7 +6747,7 @@ dependencies = [ "async-trait", "http", "reqwest", - "thiserror 2.0.18", + "thiserror 2.0.19", "tower-service", ] @@ -6988,9 +6978,9 @@ checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" [[package]] name = "safe_arch" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f7caad094bd561859bcd467734a720c3c1f5d1f338995351fefe2190c45efed" +checksum = "3a52ec151f024d703f9fd65abb7cbe81e7cdb39f18917a3a37e3014470dc7c59" dependencies = [ "bytemuck", ] @@ -7071,9 +7061,9 @@ dependencies = [ [[package]] name = "sctp-proto" -version = "0.10.1" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "199c5c38008c2c151e27afd228230b1b69f849b1f7629f5df86662ee1f456187" +checksum = "801033d212d17c3ad6b523c3fb3a41de323707b10b75cb437d05d5eff3b15204" dependencies = [ "bytes", "crc", @@ -7081,7 +7071,7 @@ dependencies = [ "rand 0.9.5", "rustc-hash 2.1.3", "slab", - "thiserror 2.0.18", + "thiserror 2.0.19", ] [[package]] @@ -7225,9 +7215,9 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.228" +version = "1.0.229" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" dependencies = [ "serde_core", "serde_derive", @@ -7245,29 +7235,29 @@ dependencies = [ [[package]] name = "serde_core" -version = "1.0.228" +version = "1.0.229" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.228" +version = "1.0.229" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" dependencies = [ "proc-macro2", "quote", - "syn 2.0.119", + "syn 3.0.3", ] [[package]] name = "serde_json" -version = "1.0.150" +version = "1.0.151" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" dependencies = [ "indexmap 2.14.0", "itoa", @@ -7290,13 +7280,13 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.20" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" +checksum = "8d3b1629de253c70a0508c3899572da79ca359fdab27c7920ff00406df418906" dependencies = [ "proc-macro2", "quote", - "syn 2.0.119", + "syn 3.0.3", ] [[package]] @@ -7523,7 +7513,7 @@ checksum = "0d585997b0ac10be3c5ee635f1bab02d512760d14b7c468801ac8a01d9ae5f1d" dependencies = [ "num-bigint", "num-traits", - "thiserror 2.0.18", + "thiserror 2.0.19", "time", ] @@ -7871,6 +7861,17 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "syn" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + [[package]] name = "sync_wrapper" version = "1.0.2" @@ -8016,11 +8017,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.18" +version = "2.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" +checksum = "09a43598840e33d5b0331f38c5e30d13bb11c11210a4b58f0d9b18a5a5eefcd9" dependencies = [ - "thiserror-impl 2.0.18", + "thiserror-impl 2.0.19", ] [[package]] @@ -8036,13 +8037,13 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "2.0.18" +version = "2.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" +checksum = "43cbfe0cf76104d42a574802844187e84a305e531ed54455f11fbde0f10541cd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.119", + "syn 3.0.3", ] [[package]] @@ -8097,15 +8098,13 @@ dependencies = [ [[package]] name = "time" -version = "0.3.53" +version = "0.3.54" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18dfaaeddcb932337b5e7866ee7d0ce9b76d2fd092997146f187ec09b4558a50" +checksum = "3e1d5e639ff6bab73cb6885cc7e7b1de96c3f32c68ec55f3952614bec1092244" dependencies = [ "deranged", "js-sys", - "libc", "num-conv", - "num_threads", "powerfmt", "serde_core", "time-core", @@ -8120,9 +8119,9 @@ checksum = "9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109" [[package]] name = "time-macros" -version = "0.2.31" +version = "0.2.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c431b87111666e491a90baa837f914fb45cd5dc3c268591b0220ff5057f2085f" +checksum = "7e689342a48d2ea927c87ea50cabf8594854bf940e9310208848d680d668ed85" dependencies = [ "num-conv", "time-core", @@ -8165,9 +8164,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.53.0" +version = "1.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d988bcd52dbe076d3d46903332f58c912b87a2c49b1428419a5845154762ffee" +checksum = "202caea871b69668250d242070849eb495be178ed697a3e98aebce5bc81a0bed" dependencies = [ "bytes", "libc", @@ -8220,7 +8219,7 @@ dependencies = [ "slog-stdlog", "smallvec", "task-killswitch", - "thiserror 2.0.18", + "thiserror 2.0.19", "tokio", "tokio-stream", "tokio-util", @@ -8239,9 +8238,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.18" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" +checksum = "a3d06f0b082ba57c26b79407372e57cf2a1e28124f78e9479fe80322cf53420b" dependencies = [ "futures-core", "pin-project-lite", @@ -8267,15 +8266,16 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.18" +version = "0.7.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" +checksum = "494815d09bf52b5548659851081238f0ca39ff638363907596da739561c62c52" dependencies = [ "bytes", "futures-core", "futures-io", "futures-sink", "futures-util", + "libc", "pin-project-lite", "slab", "tokio", @@ -8671,7 +8671,7 @@ dependencies = [ "rustls", "rustls-pki-types", "sha1", - "thiserror 2.0.18", + "thiserror 2.0.19", ] [[package]] @@ -8956,43 +8956,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" -[[package]] -name = "vergen" -version = "9.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b849a1f6d8639e8de261e81ee0fc881e3e3620db1af9f2e0da015d4382ceaf75" -dependencies = [ - "anyhow", - "derive_builder", - "rustversion", - "vergen-lib", -] - -[[package]] -name = "vergen-gitcl" -version = "9.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ff3b5300a085d6bcd8fc96a507f706a28ae3814693236c9b409db71a1d15b9" -dependencies = [ - "anyhow", - "derive_builder", - "rustversion", - "time", - "vergen", - "vergen-lib", -] - -[[package]] -name = "vergen-lib" -version = "9.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b34a29ba7e9c59e62f229ae1932fb1b8fb8a6fdcc99215a641913f5f5a59a569" -dependencies = [ - "anyhow", - "derive_builder", - "rustversion", -] - [[package]] name = "version-compare" version = "0.2.1" @@ -9188,7 +9151,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48465a648c14f53f6d8319b95bc336a44627f6aa6bd94270463777af8ed65deb" dependencies = [ - "thiserror 2.0.18", + "thiserror 2.0.19", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -9234,9 +9197,9 @@ dependencies = [ [[package]] name = "web-transport-noq" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e189796e9bf7d01cbd0af81ee8dbc49f9e836a1ccd2807539b174edcf88a422b" +checksum = "1a0344a32000bbf11bd30e3c1244d223baac316c2a25e06eb638b5ca9322d589" dependencies = [ "bytes", "futures", @@ -9244,7 +9207,7 @@ dependencies = [ "noq", "rustls", "rustls-native-certs", - "thiserror 2.0.18", + "thiserror 2.0.19", "tokio", "tracing", "url", @@ -9261,7 +9224,7 @@ dependencies = [ "bytes", "http", "sfv", - "thiserror 2.0.18", + "thiserror 2.0.19", "tokio", "url", ] @@ -9278,7 +9241,7 @@ dependencies = [ "futures", "http", "rustls-pki-types", - "thiserror 2.0.18", + "thiserror 2.0.19", "tokio", "tokio-quiche", "tracing", @@ -9288,9 +9251,9 @@ dependencies = [ [[package]] name = "web-transport-quinn" -version = "0.11.11" +version = "0.11.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87a8e4c1283dd02f898390b9a570b738af05317ebfc482db30caa98f754fd47e" +checksum = "48ada8c56f3dc126fa3c9e6b8f31f3bff5dfd24458f6664743d936ecad741d15" dependencies = [ "bytes", "futures", @@ -9298,7 +9261,7 @@ dependencies = [ "quinn", "rustls", "rustls-native-certs", - "thiserror 2.0.18", + "thiserror 2.0.19", "tokio", "tracing", "url", @@ -9317,13 +9280,13 @@ dependencies = [ [[package]] name = "web-transport-wasm" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8b7de74b669f8671f260e27ffbb410b83d8ae3b07e18a714f981dfca6c24f7" +checksum = "e34a61f3c0bdb11d0fe4bb9813f4cdae82c1a19171afa5fa19e0c628b60f999b" dependencies = [ "bytes", "js-sys", - "thiserror 2.0.18", + "thiserror 2.0.19", "url", "wasm-bindgen", "wasm-bindgen-futures", @@ -9844,7 +9807,7 @@ dependencies = [ "futures", "log", "serde", - "thiserror 2.0.18", + "thiserror 2.0.19", "windows", "windows-core", ] @@ -9879,7 +9842,7 @@ dependencies = [ "pharos", "rustc_version", "send_wrapper", - "thiserror 2.0.18", + "thiserror 2.0.19", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -9911,7 +9874,7 @@ dependencies = [ "oid-registry", "ring", "rusticata-macros", - "thiserror 2.0.18", + "thiserror 2.0.19", "time", ] @@ -10051,18 +10014,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.54" +version = "0.8.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7cbbc0a705a0fd05cc3676525980d2bf5a9bc4adac6d6475209a7887cf59d19" +checksum = "b5a105cd7b140f6eeec8acff2ea38135d3cab283ada58540f629fe51e46696eb" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.54" +version = "0.8.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2e817b7b52d0c7358d3246da9d69935ebb18116b2b102b4230dac079b4862f5" +checksum = "0fe976fb70c78cd64cccfe3a6fc142244e8a77b70959b30faf9d0ac37ee228eb" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 73ad205f8e..365b8d1010 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -66,26 +66,26 @@ rust-version = "1.85" [workspace.dependencies] flate2 = "1.1" -hang = { version = "0.19", path = "rs/hang" } -kio = { version = "0.4", path = "rs/kio" } -moq-audio = { version = "0.0.9", path = "rs/moq-audio" } -moq-flate = { version = "0.1.0", path = "rs/moq-flate" } -moq-hls = { version = "0.3.0", path = "rs/moq-hls", default-features = false } -moq-json = { version = "0.2.0", path = "rs/moq-json" } -moq-loc = { version = "0.1", path = "rs/moq-loc" } -moq-msf = { version = "0.3", path = "rs/moq-msf" } -moq-mux = { version = "0.7", path = "rs/moq-mux" } -moq-native = { version = "0.18", path = "rs/moq-native", default-features = false } -moq-net = { version = "0.1", path = "rs/moq-net" } +hang = { version = "0.20", path = "rs/hang" } +kio = { version = "0.5", path = "rs/kio" } +moq-audio = { version = "0.0.10", path = "rs/moq-audio" } +moq-flate = { version = "0.1.1", path = "rs/moq-flate" } +moq-hls = { version = "0.4.0", path = "rs/moq-hls", default-features = false } +moq-json = { version = "0.3.0", path = "rs/moq-json" } +moq-loc = { version = "0.2", path = "rs/moq-loc" } +moq-msf = { version = "0.4", path = "rs/moq-msf" } +moq-mux = { version = "0.8", path = "rs/moq-mux" } +moq-native = { version = "0.19", path = "rs/moq-native", default-features = false } +moq-net = { version = "0.2", path = "rs/moq-net" } # NVENC bindings, forked from ViliamVadocz/nvidia-video-codec-sdk to dlopen the # driver at runtime. Compiles on any platform (macOS included) but only actually # used by moq-video on Linux. moq-nvenc = { version = "0.0.1", path = "rs/moq-nvenc" } -moq-rtc = { version = "0.1.5", path = "rs/moq-rtc" } -moq-rtmp = { version = "0.1.3", path = "rs/moq-rtmp" } -moq-srt = { version = "0.1.2", path = "rs/moq-srt" } +moq-rtc = { version = "0.2.0", path = "rs/moq-rtc" } +moq-rtmp = { version = "0.2.0", path = "rs/moq-rtmp" } +moq-srt = { version = "0.2.0", path = "rs/moq-srt" } moq-stats = { version = "0.1.0", path = "rs/moq-stats" } -moq-token = { version = "0.6", path = "rs/moq-token" } +moq-token = { version = "0.7", path = "rs/moq-token" } # default-features off (the hardware codecs) on moq-transcode and moq-video so # each consumer opts in: binaries (libmoq, moq-boy, moq-cli) enable them, but a # self-compiler can leave them off to drop the CUDA / libva deps. Both crates @@ -93,7 +93,7 @@ moq-token = { version = "0.6", path = "rs/moq-token" } moq-transcode = { version = "0.0.1", path = "rs/moq-transcode", default-features = false } # Standalone crate (moq-dev/vaapi); vendored from cros-libva + cros-codecs. moq-vaapi = "0.0.2" -moq-video = { version = "0.0.6", path = "rs/moq-video", default-features = false } +moq-video = { version = "0.0.7", path = "rs/moq-video", default-features = false } qmux = { version = "0.4.0", default-features = false } serde = { version = "1", features = ["derive"] } tokio = "1.48" diff --git a/rs/hang/CHANGELOG.md b/rs/hang/CHANGELOG.md index ffc225689f..efd0b95af4 100644 --- a/rs/hang/CHANGELOG.md +++ b/rs/hang/CHANGELOG.md @@ -7,6 +7,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.20.0](https://github.com/moq-dev/moq/compare/hang-v0.19.5...hang-v0.20.0) - 2026-07-22 + +### Fixed + +- [**breaking**] correct catalog, timeline, token, and teardown contracts found in API review ([#2439](https://github.com/moq-dev/moq/pull/2439)) + +### Other + +- [**breaking**] pre-bump API polish across the release batch ([#2423](https://github.com/moq-dev/moq/pull/2423)) +- compile doc examples across the workspace ([#2421](https://github.com/moq-dev/moq/pull/2421)) +- *(net)* [**breaking**] route everything through create_broadcast, gate announce on Route.live ([#2396](https://github.com/moq-dev/moq/pull/2396)) +- *(hang)* [**breaking**] non_exhaustive catalog sections, shared container::track_info, hang draft catch-up ([#2341](https://github.com/moq-dev/moq/pull/2341)) +- align media docs and priorities ([#2336](https://github.com/moq-dev/moq/pull/2336)) +- *(moq-net)* [**breaking**] remove Announced::Restart; a replacement is an unannounce/announce pair ([#2307](https://github.com/moq-dev/moq/pull/2307)) +- *(net)* remove implicit frame timestamp helpers ([#2232](https://github.com/moq-dev/moq/pull/2232)) +- moq-net + js/net: pre-merge API hardening for moq-lite-05 ([#2170](https://github.com/moq-dev/moq/pull/2170)) +- Merge origin/main into dev + ## [0.19.5](https://github.com/moq-dev/moq/compare/hang-v0.19.4...hang-v0.19.5) - 2026-07-09 ### Other diff --git a/rs/hang/Cargo.toml b/rs/hang/Cargo.toml index d66dad4b28..606e66b2cd 100644 --- a/rs/hang/Cargo.toml +++ b/rs/hang/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Luke Curley "] repository = "https://github.com/moq-dev/moq" license = "MIT OR Apache-2.0" -version = "0.19.5" +version = "0.20.0" edition = "2024" rust-version.workspace = true diff --git a/rs/kio/CHANGELOG.md b/rs/kio/CHANGELOG.md index 7667855131..e48ff4e499 100644 --- a/rs/kio/CHANGELOG.md +++ b/rs/kio/CHANGELOG.md @@ -7,6 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.5.0](https://github.com/moq-dev/moq/compare/kio-v0.4.4...kio-v0.5.0) - 2026-07-22 + +### Added + +- *(net)* route by cumulative cost on lite-06 announcements ([#2424](https://github.com/moq-dev/moq/pull/2424)) + +### Other + +- Merge branch 'main' into dev +- *(kio)* [**breaking**] rename Future to Pollable, return Closed from the async API ([#2343](https://github.com/moq-dev/moq/pull/2343)) +- *(net)* [**breaking**] caller-driven sessions via a (Session, Driver) pair ([#2302](https://github.com/moq-dev/moq/pull/2302)) +- *(kio)* [**breaking**] delete Consumer write access, add role-less Shared for reverse queues ([#2074](https://github.com/moq-dev/moq/pull/2074)) +- Merge branch 'main' into dev +- Merge branch 'main' into dev + ## [0.4.4](https://github.com/moq-dev/moq/compare/kio-v0.4.3...kio-v0.4.4) - 2026-07-15 ### Fixed diff --git a/rs/kio/Cargo.toml b/rs/kio/Cargo.toml index 6364aea3fa..9af0543701 100644 --- a/rs/kio/Cargo.toml +++ b/rs/kio/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Luke Curley"] repository = "https://github.com/moq-dev/moq" license = "MIT OR Apache-2.0" -version = "0.4.4" +version = "0.5.0" edition = "2024" rust-version.workspace = true diff --git a/rs/libmoq/CHANGELOG.md b/rs/libmoq/CHANGELOG.md index 71ab79cc66..5baf6e524d 100644 --- a/rs/libmoq/CHANGELOG.md +++ b/rs/libmoq/CHANGELOG.md @@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.4.0](https://github.com/moq-dev/moq/compare/libmoq-v0.3.14...libmoq-v0.4.0) - 2026-07-22 + +### Fixed + +- [**breaking**] correct catalog, timeline, token, and teardown contracts found in API review ([#2439](https://github.com/moq-dev/moq/pull/2439)) + +### Other + +- [**breaking**] pre-bump API polish across the release batch ([#2423](https://github.com/moq-dev/moq/pull/2423)) +- *(net)* [**breaking**] route everything through create_broadcast, gate announce on Route.live ([#2396](https://github.com/moq-dev/moq/pull/2396)) +- Merge branch 'main' into dev + ### Fixed - Linking `libmoq.a` on macOS no longer fails on undefined Apple framework diff --git a/rs/libmoq/Cargo.toml b/rs/libmoq/Cargo.toml index 6da59e03a5..3bad676b04 100644 --- a/rs/libmoq/Cargo.toml +++ b/rs/libmoq/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Luke Curley ", "Brian Medley " repository = "https://github.com/moq-dev/moq" license = "MIT OR Apache-2.0" -version = "0.3.14" +version = "0.4.0" edition = "2024" rust-version.workspace = true diff --git a/rs/moq-audio/CHANGELOG.md b/rs/moq-audio/CHANGELOG.md index d9fbf26ccf..a9701585bf 100644 --- a/rs/moq-audio/CHANGELOG.md +++ b/rs/moq-audio/CHANGELOG.md @@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.0.10](https://github.com/moq-dev/moq/compare/moq-audio-v0.0.9...moq-audio-v0.0.10) - 2026-07-22 + +### Fixed + +- [**breaking**] correct catalog, timeline, token, and teardown contracts found in API review ([#2439](https://github.com/moq-dev/moq/pull/2439)) + +### Other + +- *(mux)* [**breaking**] unseal catalog renditions and make timelines explicit/shareable ([#2420](https://github.com/moq-dev/moq/pull/2420)) +- compile doc examples across the workspace ([#2421](https://github.com/moq-dev/moq/pull/2421)) +- Merge remote-tracking branch 'origin/main' into dev +- *(deps)* bump the cargo group with 2 updates ([#2409](https://github.com/moq-dev/moq/pull/2409)) + ## [0.0.9](https://github.com/moq-dev/moq/compare/moq-audio-v0.0.8...moq-audio-v0.0.9) - 2026-07-16 ### Added diff --git a/rs/moq-audio/Cargo.toml b/rs/moq-audio/Cargo.toml index 2c67df4d9f..290eb891cf 100644 --- a/rs/moq-audio/Cargo.toml +++ b/rs/moq-audio/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Luke Curley "] repository = "https://github.com/moq-dev/moq" license = "MIT OR Apache-2.0" -version = "0.0.9" +version = "0.0.10" edition = "2024" rust-version.workspace = true diff --git a/rs/moq-boy/CHANGELOG.md b/rs/moq-boy/CHANGELOG.md index 760e22272d..22a334b1ef 100644 --- a/rs/moq-boy/CHANGELOG.md +++ b/rs/moq-boy/CHANGELOG.md @@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.3.0](https://github.com/moq-dev/moq/compare/moq-boy-v0.2.28...moq-boy-v0.3.0) - 2026-07-22 + +### Other + +- *(net)* [**breaking**] route everything through create_broadcast, gate announce on Route.live ([#2396](https://github.com/moq-dev/moq/pull/2396)) +- Merge branch 'main' into dev + ## [0.2.28](https://github.com/moq-dev/moq/compare/moq-boy-v0.2.27...moq-boy-v0.2.28) - 2026-07-18 ### Other diff --git a/rs/moq-boy/Cargo.toml b/rs/moq-boy/Cargo.toml index c94cdda7f6..85b5d55339 100644 --- a/rs/moq-boy/Cargo.toml +++ b/rs/moq-boy/Cargo.toml @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" keywords = ["moq", "gameboy", "streaming", "emulator", "live"] categories = ["multimedia::video", "emulators", "network-programming"] -version = "0.2.28" +version = "0.3.0" edition = "2024" rust-version.workspace = true diff --git a/rs/moq-cli/CHANGELOG.md b/rs/moq-cli/CHANGELOG.md index 7fd44559db..17c0fcbe0a 100644 --- a/rs/moq-cli/CHANGELOG.md +++ b/rs/moq-cli/CHANGELOG.md @@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.9.0](https://github.com/moq-dev/moq/compare/moq-cli-v0.8.7...moq-cli-v0.9.0) - 2026-07-22 + +### Fixed + +- [**breaking**] correct catalog, timeline, token, and teardown contracts found in API review ([#2439](https://github.com/moq-dev/moq/pull/2439)) + +### Other + +- [**breaking**] pre-bump API polish across the release batch ([#2423](https://github.com/moq-dev/moq/pull/2423)) +- *(net)* [**breaking**] route everything through create_broadcast, gate announce on Route.live ([#2396](https://github.com/moq-dev/moq/pull/2396)) +- Merge branch 'main' into dev + ## [0.8.7](https://github.com/moq-dev/moq/compare/moq-cli-v0.8.6...moq-cli-v0.8.7) - 2026-07-18 ### Other diff --git a/rs/moq-cli/Cargo.toml b/rs/moq-cli/Cargo.toml index b05fcfa49f..fb91eca551 100644 --- a/rs/moq-cli/Cargo.toml +++ b/rs/moq-cli/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Luke Curley "] repository = "https://github.com/moq-dev/moq" license = "MIT OR Apache-2.0" -version = "0.8.7" +version = "0.9.0" edition = "2024" rust-version.workspace = true diff --git a/rs/moq-ffi/CHANGELOG.md b/rs/moq-ffi/CHANGELOG.md index f354c1d529..8e056d2aa1 100644 --- a/rs/moq-ffi/CHANGELOG.md +++ b/rs/moq-ffi/CHANGELOG.md @@ -7,6 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.3.0](https://github.com/moq-dev/moq/compare/moq-ffi-v0.2.33...moq-ffi-v0.3.0) - 2026-07-22 + +### Fixed + +- [**breaking**] correct catalog, timeline, token, and teardown contracts found in API review ([#2439](https://github.com/moq-dev/moq/pull/2439)) + +### Other + +- Merge remote-tracking branch 'origin/main' into dev +- *(deps)* bump the cargo group with 2 updates ([#2409](https://github.com/moq-dev/moq/pull/2409)) + ### Added - Expose explicit raw group sequences, known track ends, and raw group aborts diff --git a/rs/moq-ffi/Cargo.toml b/rs/moq-ffi/Cargo.toml index 03242b5905..fdfc6dfd0c 100644 --- a/rs/moq-ffi/Cargo.toml +++ b/rs/moq-ffi/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Luke Curley ", "Brian Medley " repository = "https://github.com/moq-dev/moq" license = "MIT OR Apache-2.0" -version = "0.2.33" +version = "0.3.0" edition = "2024" keywords = ["quic", "http3", "webtransport", "media", "live"] diff --git a/rs/moq-flate/CHANGELOG.md b/rs/moq-flate/CHANGELOG.md new file mode 100644 index 0000000000..5bf40a9932 --- /dev/null +++ b/rs/moq-flate/CHANGELOG.md @@ -0,0 +1,14 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +## [0.1.1](https://github.com/moq-dev/moq/compare/moq-flate-v0.1.0...moq-flate-v0.1.1) - 2026-07-22 + +### Other + +- compile doc examples across the workspace ([#2421](https://github.com/moq-dev/moq/pull/2421)) diff --git a/rs/moq-flate/Cargo.toml b/rs/moq-flate/Cargo.toml index 69b0506c33..19eb7fefe4 100644 --- a/rs/moq-flate/Cargo.toml +++ b/rs/moq-flate/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Luke Curley "] repository = "https://github.com/moq-dev/moq" license = "MIT OR Apache-2.0" -version = "0.1.0" +version = "0.1.1" edition = "2024" rust-version.workspace = true diff --git a/rs/moq-gst/CHANGELOG.md b/rs/moq-gst/CHANGELOG.md index a558f9484c..7bdbb31cde 100644 --- a/rs/moq-gst/CHANGELOG.md +++ b/rs/moq-gst/CHANGELOG.md @@ -7,6 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.3.0](https://github.com/moq-dev/moq/compare/moq-gst-v0.2.12...moq-gst-v0.3.0) - 2026-07-22 + +### Added + +- *(net)* unannounce as soon as the last route detaches ([#2419](https://github.com/moq-dev/moq/pull/2419)) +- *(moq-video)* [**breaking**] adapt the encoder bitrate to the congestion-control estimate ([#2303](https://github.com/moq-dev/moq/pull/2303)) + +### Fixed + +- [**breaking**] correct catalog, timeline, token, and teardown contracts found in API review ([#2439](https://github.com/moq-dev/moq/pull/2439)) + +### Other + +- [**breaking**] pre-bump API polish across the release batch ([#2423](https://github.com/moq-dev/moq/pull/2423)) +- compile doc examples across the workspace ([#2421](https://github.com/moq-dev/moq/pull/2421)) +- *(net)* [**breaking**] route everything through create_broadcast, gate announce on Route.live ([#2396](https://github.com/moq-dev/moq/pull/2396)) +- *(hang)* [**breaking**] non_exhaustive catalog sections, shared container::track_info, hang draft catch-up ([#2341](https://github.com/moq-dev/moq/pull/2341)) +- Merge branch 'main' into dev +- Merge branch 'main' into dev + ## [0.2.12](https://github.com/moq-dev/moq/compare/moq-gst-v0.2.11...moq-gst-v0.2.12) - 2026-07-15 ### Fixed diff --git a/rs/moq-gst/Cargo.toml b/rs/moq-gst/Cargo.toml index 77c0e61e7d..5b60e061f6 100644 --- a/rs/moq-gst/Cargo.toml +++ b/rs/moq-gst/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Luke Curley"] repository = "https://github.com/kixelated/moq" license = "MIT OR Apache-2.0" -version = "0.2.12" +version = "0.3.0" edition = "2024" rust-version.workspace = true publish = true diff --git a/rs/moq-hls/CHANGELOG.md b/rs/moq-hls/CHANGELOG.md index c263ef33c0..949f584063 100644 --- a/rs/moq-hls/CHANGELOG.md +++ b/rs/moq-hls/CHANGELOG.md @@ -7,6 +7,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.4.0](https://github.com/moq-dev/moq/compare/moq-hls-v0.3.0...moq-hls-v0.4.0) - 2026-07-22 + +### Added + +- *(moq-hls)* [**breaking**] expose a credential-aware serve surface for embedders ([#2438](https://github.com/moq-dev/moq/pull/2438)) +- *(moq-hls)* Producer/Consumer cursors for recording a broadcast ([#2389](https://github.com/moq-dev/moq/pull/2389)) + +### Fixed + +- [**breaking**] correct catalog, timeline, token, and teardown contracts found in API review ([#2439](https://github.com/moq-dev/moq/pull/2439)) +- *(moq-hls)* release retired renditions instead of force-closing them ([#2394](https://github.com/moq-dev/moq/pull/2394)) + +### Other + +- [**breaking**] pre-bump API polish across the release batch ([#2423](https://github.com/moq-dev/moq/pull/2423)) +- *(mux)* [**breaking**] unseal catalog renditions and make timelines explicit/shareable ([#2420](https://github.com/moq-dev/moq/pull/2420)) +- compile doc examples across the workspace ([#2421](https://github.com/moq-dev/moq/pull/2421)) +- *(net)* [**breaking**] route everything through create_broadcast, gate announce on Route.live ([#2396](https://github.com/moq-dev/moq/pull/2396)) +- Merge main into dev +- *(moq-hls)* [**breaking**] replace the Authorizer callback with router middleware ([#2340](https://github.com/moq-dev/moq/pull/2340)) +- Merge branch 'main' into dev +- Merge branch 'main' into dev + ## [0.3.0](https://github.com/moq-dev/moq/compare/moq-hls-v0.2.0...moq-hls-v0.3.0) - 2026-07-16 ### Fixed diff --git a/rs/moq-hls/Cargo.toml b/rs/moq-hls/Cargo.toml index 6d24d6e9c9..85f4f94242 100644 --- a/rs/moq-hls/Cargo.toml +++ b/rs/moq-hls/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Luke Curley "] repository = "https://github.com/moq-dev/moq" license = "MIT OR Apache-2.0" -version = "0.3.0" +version = "0.4.0" edition = "2024" rust-version.workspace = true diff --git a/rs/moq-json/CHANGELOG.md b/rs/moq-json/CHANGELOG.md index 60c4da168c..4f94182bb6 100644 --- a/rs/moq-json/CHANGELOG.md +++ b/rs/moq-json/CHANGELOG.md @@ -7,6 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.3.0](https://github.com/moq-dev/moq/compare/moq-json-v0.2.0...moq-json-v0.3.0) - 2026-07-22 + +### Added + +- *(net)* [**breaking**] extract stats publishing into moq-stats with compressed tracks ([#2380](https://github.com/moq-dev/moq/pull/2380)) + +### Fixed + +- [**breaking**] correct catalog, timeline, token, and teardown contracts found in API review ([#2439](https://github.com/moq-dev/moq/pull/2439)) + +### Other + +- compile doc examples across the workspace ([#2421](https://github.com/moq-dev/moq/pull/2421)) +- *(net)* remove implicit frame timestamp helpers ([#2232](https://github.com/moq-dev/moq/pull/2232)) +- Merge origin/main into dev + ## [0.2.0](https://github.com/moq-dev/moq/compare/moq-json-v0.1.2...moq-json-v0.2.0) - 2026-07-12 ### Other diff --git a/rs/moq-json/Cargo.toml b/rs/moq-json/Cargo.toml index cf813ad4e3..d2d0666647 100644 --- a/rs/moq-json/Cargo.toml +++ b/rs/moq-json/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Luke Curley "] repository = "https://github.com/moq-dev/moq" license = "MIT OR Apache-2.0" -version = "0.2.0" +version = "0.3.0" edition = "2024" rust-version.workspace = true diff --git a/rs/moq-loc/CHANGELOG.md b/rs/moq-loc/CHANGELOG.md index cee77f1c0f..4f138e37c0 100644 --- a/rs/moq-loc/CHANGELOG.md +++ b/rs/moq-loc/CHANGELOG.md @@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.2.0](https://github.com/moq-dev/moq/compare/moq-loc-v0.1.0...moq-loc-v0.2.0) - 2026-07-22 + +### Other + +- compile doc examples across the workspace ([#2421](https://github.com/moq-dev/moq/pull/2421)) +- replace anyhow with thiserror ([#1495](https://github.com/moq-dev/moq/pull/1495)) +- runtime Timescale/Timestamp; container::Frame keeps source scale ([#1473](https://github.com/moq-dev/moq/pull/1473)) + ## [0.1.0] ### Added diff --git a/rs/moq-loc/Cargo.toml b/rs/moq-loc/Cargo.toml index 7ab9016f97..1ca32ecf18 100644 --- a/rs/moq-loc/Cargo.toml +++ b/rs/moq-loc/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Luke Curley "] repository = "https://github.com/moq-dev/moq" license = "MIT OR Apache-2.0" -version = "0.1.0" +version = "0.2.0" edition = "2024" rust-version.workspace = true diff --git a/rs/moq-msf/CHANGELOG.md b/rs/moq-msf/CHANGELOG.md index ff4209d359..5240023682 100644 --- a/rs/moq-msf/CHANGELOG.md +++ b/rs/moq-msf/CHANGELOG.md @@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.4.0](https://github.com/moq-dev/moq/compare/moq-msf-v0.3.1...moq-msf-v0.4.0) - 2026-07-22 + +### Other + +- compile doc examples across the workspace ([#2421](https://github.com/moq-dev/moq/pull/2421)) +- *(moq-msf)* [**breaking**] rename Catalog::to_string to to_json ([#2346](https://github.com/moq-dev/moq/pull/2346)) +- Merge remote-tracking branch 'origin/main' into dev + ### Changed - Preserve draft-00 `generatedAt` and `isComplete` as version-neutral `Catalog` fields so broadcast termination can be represented. diff --git a/rs/moq-msf/Cargo.toml b/rs/moq-msf/Cargo.toml index 148366f287..4690868038 100644 --- a/rs/moq-msf/Cargo.toml +++ b/rs/moq-msf/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Luke Curley "] repository = "https://github.com/moq-dev/moq" license = "MIT OR Apache-2.0" -version = "0.3.1" +version = "0.4.0" edition = "2024" rust-version.workspace = true diff --git a/rs/moq-mux/CHANGELOG.md b/rs/moq-mux/CHANGELOG.md index 9d4d942c3c..3bfb9b46c0 100644 --- a/rs/moq-mux/CHANGELOG.md +++ b/rs/moq-mux/CHANGELOG.md @@ -7,6 +7,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.8.0](https://github.com/moq-dev/moq/compare/moq-mux-v0.7.6...moq-mux-v0.8.0) - 2026-07-22 + +### Added + +- *(mux)* preserve the TS service layer as opaque SI sections ([#2440](https://github.com/moq-dev/moq/pull/2440)) + +### Fixed + +- [**breaking**] correct catalog, timeline, token, and teardown contracts found in API review ([#2439](https://github.com/moq-dev/moq/pull/2439)) +- *(mux)* emit timelines from the fMP4 CMAF passthrough importer ([#2428](https://github.com/moq-dev/moq/pull/2428)) +- *(moq-mux)* emit per-frame fragments without waiting for a successor frame ([#2426](https://github.com/moq-dev/moq/pull/2426)) + +### Other + +- *(mux)* cover the per-PID SI repetition interval ([#2447](https://github.com/moq-dev/moq/pull/2447)) +- *(mux)* extract shared video-import catalog helper ([#2425](https://github.com/moq-dev/moq/pull/2425)) +- [**breaking**] pre-bump API polish across the release batch ([#2423](https://github.com/moq-dev/moq/pull/2423)) +- *(mux)* [**breaking**] unseal catalog renditions and make timelines explicit/shareable ([#2420](https://github.com/moq-dev/moq/pull/2420)) +- compile doc examples across the workspace ([#2421](https://github.com/moq-dev/moq/pull/2421)) +- *(net)* [**breaking**] route everything through create_broadcast, gate announce on Route.live ([#2396](https://github.com/moq-dev/moq/pull/2396)) +- Merge branch 'main' into dev + ## [0.7.6](https://github.com/moq-dev/moq/compare/moq-mux-v0.7.5...moq-mux-v0.7.6) - 2026-07-18 ### Fixed diff --git a/rs/moq-mux/Cargo.toml b/rs/moq-mux/Cargo.toml index 22cb328aff..a8bd9d6616 100644 --- a/rs/moq-mux/Cargo.toml +++ b/rs/moq-mux/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Luke Curley "] repository = "https://github.com/moq-dev/moq" license = "MIT OR Apache-2.0" -version = "0.7.6" +version = "0.8.0" edition = "2024" rust-version.workspace = true diff --git a/rs/moq-native/CHANGELOG.md b/rs/moq-native/CHANGELOG.md index 3e337eede2..3da06731b3 100644 --- a/rs/moq-native/CHANGELOG.md +++ b/rs/moq-native/CHANGELOG.md @@ -7,6 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.19.0](https://github.com/moq-dev/moq/compare/moq-native-v0.18.3...moq-native-v0.19.0) - 2026-07-22 + +### Added + +- *(moq-native)* expose a congestion control knob on every QUIC backend ([#2432](https://github.com/moq-dev/moq/pull/2432)) +- *(net)* route by cumulative cost on lite-06 announcements ([#2424](https://github.com/moq-dev/moq/pull/2424)) +- *(net)* [**breaking**] accept an empty PATH and default it to "" across protocols ([#2414](https://github.com/moq-dev/moq/pull/2414)) + +### Fixed + +- [**breaking**] correct catalog, timeline, token, and teardown contracts found in API review ([#2439](https://github.com/moq-dev/moq/pull/2439)) + +### Other + +- *(stats)* [**breaking**] collect traffic counters in the model layer ([#2427](https://github.com/moq-dev/moq/pull/2427)) +- Merge branch 'main' into dev +- *(net)* [**breaking**] route everything through create_broadcast, gate announce on Route.live ([#2396](https://github.com/moq-dev/moq/pull/2396)) +- Merge branch 'main' into dev + ## [0.18.3](https://github.com/moq-dev/moq/compare/moq-native-v0.18.2...moq-native-v0.18.3) - 2026-07-18 ### Fixed diff --git a/rs/moq-native/Cargo.toml b/rs/moq-native/Cargo.toml index d75716ce44..7db2dc018e 100644 --- a/rs/moq-native/Cargo.toml +++ b/rs/moq-native/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Luke Curley"] repository = "https://github.com/moq-dev/moq" license = "MIT OR Apache-2.0" -version = "0.18.3" +version = "0.19.0" edition = "2024" rust-version.workspace = true diff --git a/rs/moq-net/CHANGELOG.md b/rs/moq-net/CHANGELOG.md index e2b467de8e..eb0b542c61 100644 --- a/rs/moq-net/CHANGELOG.md +++ b/rs/moq-net/CHANGELOG.md @@ -7,6 +7,48 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.2.0](https://github.com/moq-dev/moq/compare/moq-net-v0.1.18...moq-net-v0.2.0) - 2026-07-22 + +### Added + +- *(stats)* count datagrams in the model layer ([#2430](https://github.com/moq-dev/moq/pull/2430)) +- *(net)* route by cumulative cost on lite-06 announcements ([#2424](https://github.com/moq-dev/moq/pull/2424)) +- *(net)* [**breaking**] accept an empty PATH and default it to "" across protocols ([#2414](https://github.com/moq-dev/moq/pull/2414)) +- *(net)* [**breaking**] extract stats publishing into moq-stats with compressed tracks ([#2380](https://github.com/moq-dev/moq/pull/2380)) +- *(moq-net)* coalesce concurrent group fetches behind a shared Requests queue ([#2328](https://github.com/moq-dev/moq/pull/2328)) +- *(moq-net)* [**breaking**] unify the latency budget as latency_max ([#2176](https://github.com/moq-dev/moq/pull/2176)) +- *(moq-video)* [**breaking**] adapt the encoder bitrate to the congestion-control estimate ([#2303](https://github.com/moq-dev/moq/pull/2303)) + +### Fixed + +- [**breaking**] correct catalog, timeline, token, and teardown contracts found in API review ([#2439](https://github.com/moq-dev/moq/pull/2439)) +- *(moq-net)* exclude dropped subscribers from the aggregate ([#2351](https://github.com/moq-dev/moq/pull/2351)) ([#2370](https://github.com/moq-dev/moq/pull/2370)) +- *(net)* [**breaking**] align js/net and the moq-lite draft on the exclusive SUBSCRIBE_END ([#2333](https://github.com/moq-dev/moq/pull/2333)) +- *(bindings)* [**breaking**] honor declared track ends, unify abort error codes, and dedupe libmoq's native link list ([#2306](https://github.com/moq-dev/moq/pull/2306)) + +### Other + +- *(moq-net)* cover the announce loop's demand/linger state machine ([#2429](https://github.com/moq-dev/moq/pull/2429)) +- *(stats)* [**breaking**] collect traffic counters in the model layer ([#2427](https://github.com/moq-dev/moq/pull/2427)) +- Merge branch 'main' into dev +- *(stats)* [**breaking**] remove internal tier defaults ([#2411](https://github.com/moq-dev/moq/pull/2411)) +- *(net)* [**breaking**] route everything through create_broadcast, gate announce on Route.live ([#2396](https://github.com/moq-dev/moq/pull/2396)) +- migrate subscriptions transparently across connections ([#2241](https://github.com/moq-dev/moq/pull/2241)) +- *(net)* [**breaking**] drop moq-net's direct tokio dependency ([#2377](https://github.com/moq-dev/moq/pull/2377)) +- *(moq-net)* [**breaking**] rename Error::CacheFull to Lagged; document the App/Remote asymmetry ([#2367](https://github.com/moq-dev/moq/pull/2367)) +- *(moq-net)* [**breaking**] model Timestamp as an instant; drop panicking arithmetic operators ([#2366](https://github.com/moq-dev/moq/pull/2366)) +- *(kio)* [**breaking**] rename Future to Pollable, return Closed from the async API ([#2343](https://github.com/moq-dev/moq/pull/2343)) +- *(moq-net)* [**breaking**] expose a real stats module and make Role::Both unrepresentable ([#2348](https://github.com/moq-dev/moq/pull/2348)) +- *(moq-net)* [**breaking**] clamp the subscription latency budget once, in the aggregate ([#2349](https://github.com/moq-dev/moq/pull/2349)) +- *(moq-net)* [**breaking**] remove Subscriber::get_group; make the sync peek a test hook ([#2339](https://github.com/moq-dev/moq/pull/2339)) +- *(moq-net)* [**breaking**] fix Request::accept's lying doc + panic path and Session::closed's fake Result ([#2334](https://github.com/moq-dev/moq/pull/2334)) +- align media docs and priorities ([#2336](https://github.com/moq-dev/moq/pull/2336)) +- *(net)* [**breaking**] caller-driven sessions via a (Session, Driver) pair ([#2302](https://github.com/moq-dev/moq/pull/2302)) +- *(moq-net)* [**breaking**] remove Announced::Restart; a replacement is an unannounce/announce pair ([#2307](https://github.com/moq-dev/moq/pull/2307)) +- *(kio)* [**breaking**] delete Consumer write access, add role-less Shared for reverse queues ([#2074](https://github.com/moq-dev/moq/pull/2074)) +- Merge branch 'main' into dev +- Merge branch 'main' into dev + ## [0.1.18](https://github.com/moq-dev/moq/compare/moq-net-v0.1.17...moq-net-v0.1.18) - 2026-07-15 ### Fixed diff --git a/rs/moq-net/Cargo.toml b/rs/moq-net/Cargo.toml index 96f4f25ef8..956f1aca3b 100644 --- a/rs/moq-net/Cargo.toml +++ b/rs/moq-net/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Luke Curley"] repository = "https://github.com/moq-dev/moq" license = "MIT OR Apache-2.0" -version = "0.1.18" +version = "0.2.0" edition = "2024" rust-version.workspace = true diff --git a/rs/moq-relay/CHANGELOG.md b/rs/moq-relay/CHANGELOG.md index 5af3a0e469..7a23507fac 100644 --- a/rs/moq-relay/CHANGELOG.md +++ b/rs/moq-relay/CHANGELOG.md @@ -7,6 +7,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.14.0](https://github.com/moq-dev/moq/compare/moq-relay-v0.13.7...moq-relay-v0.14.0) - 2026-07-22 + +### Added + +- *(moq-native)* expose a congestion control knob on every QUIC backend ([#2432](https://github.com/moq-dev/moq/pull/2432)) +- *(stats)* count datagrams in the model layer ([#2430](https://github.com/moq-dev/moq/pull/2430)) +- *(net)* route by cumulative cost on lite-06 announcements ([#2424](https://github.com/moq-dev/moq/pull/2424)) +- *(net)* [**breaking**] accept an empty PATH and default it to "" across protocols ([#2414](https://github.com/moq-dev/moq/pull/2414)) + +### Fixed + +- [**breaking**] correct catalog, timeline, token, and teardown contracts found in API review ([#2439](https://github.com/moq-dev/moq/pull/2439)) + +### Other + +- *(stats)* [**breaking**] collect traffic counters in the model layer ([#2427](https://github.com/moq-dev/moq/pull/2427)) +- Merge branch 'main' into dev +- *(stats)* [**breaking**] remove internal tier defaults ([#2411](https://github.com/moq-dev/moq/pull/2411)) +- *(net)* [**breaking**] route everything through create_broadcast, gate announce on Route.live ([#2396](https://github.com/moq-dev/moq/pull/2396)) +- Merge branch 'main' into dev + ## [0.13.7](https://github.com/moq-dev/moq/compare/moq-relay-v0.13.6...moq-relay-v0.13.7) - 2026-07-18 ### Fixed diff --git a/rs/moq-relay/Cargo.toml b/rs/moq-relay/Cargo.toml index 59b060d046..48efdd4deb 100644 --- a/rs/moq-relay/Cargo.toml +++ b/rs/moq-relay/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Luke Curley"] repository = "https://github.com/moq-dev/moq" license = "MIT OR Apache-2.0" -version = "0.13.7" +version = "0.14.0" edition = "2024" rust-version.workspace = true diff --git a/rs/moq-rtc/CHANGELOG.md b/rs/moq-rtc/CHANGELOG.md index 0909b36bec..bc8a1ef008 100644 --- a/rs/moq-rtc/CHANGELOG.md +++ b/rs/moq-rtc/CHANGELOG.md @@ -7,6 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.2.0](https://github.com/moq-dev/moq/compare/moq-rtc-v0.1.5...moq-rtc-v0.2.0) - 2026-07-22 + +### Fixed + +- [**breaking**] correct catalog, timeline, token, and teardown contracts found in API review ([#2439](https://github.com/moq-dev/moq/pull/2439)) + +### Other + +- [**breaking**] pre-bump API polish across the release batch ([#2423](https://github.com/moq-dev/moq/pull/2423)) +- *(mux)* [**breaking**] unseal catalog renditions and make timelines explicit/shareable ([#2420](https://github.com/moq-dev/moq/pull/2420)) +- compile doc examples across the workspace ([#2421](https://github.com/moq-dev/moq/pull/2421)) +- *(net)* [**breaking**] route everything through create_broadcast, gate announce on Route.live ([#2396](https://github.com/moq-dev/moq/pull/2396)) +- Merge main into dev +- *(hang)* [**breaking**] non_exhaustive catalog sections, shared container::track_info, hang draft catch-up ([#2341](https://github.com/moq-dev/moq/pull/2341)) +- Merge branch 'main' into dev +- Merge branch 'main' into dev + ## [0.1.5](https://github.com/moq-dev/moq/compare/moq-rtc-v0.1.4...moq-rtc-v0.1.5) - 2026-07-17 ### Fixed diff --git a/rs/moq-rtc/Cargo.toml b/rs/moq-rtc/Cargo.toml index 6881b0a597..a6006ab8d1 100644 --- a/rs/moq-rtc/Cargo.toml +++ b/rs/moq-rtc/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Luke Curley "] repository = "https://github.com/moq-dev/moq" license = "MIT OR Apache-2.0" -version = "0.1.5" +version = "0.2.0" edition = "2024" rust-version.workspace = true diff --git a/rs/moq-rtmp/CHANGELOG.md b/rs/moq-rtmp/CHANGELOG.md index e112d26e69..3934b38379 100644 --- a/rs/moq-rtmp/CHANGELOG.md +++ b/rs/moq-rtmp/CHANGELOG.md @@ -7,6 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.2.0](https://github.com/moq-dev/moq/compare/moq-rtmp-v0.1.3...moq-rtmp-v0.2.0) - 2026-07-22 + +### Added + +- *(net)* unannounce as soon as the last route detaches ([#2419](https://github.com/moq-dev/moq/pull/2419)) + +### Fixed + +- [**breaking**] correct catalog, timeline, token, and teardown contracts found in API review ([#2439](https://github.com/moq-dev/moq/pull/2439)) + +### Other + +- [**breaking**] pre-bump API polish across the release batch ([#2423](https://github.com/moq-dev/moq/pull/2423)) +- compile doc examples across the workspace ([#2421](https://github.com/moq-dev/moq/pull/2421)) +- *(net)* [**breaking**] route everything through create_broadcast, gate announce on Route.live ([#2396](https://github.com/moq-dev/moq/pull/2396)) +- Merge origin/main into dev + ## [0.1.3](https://github.com/moq-dev/moq/compare/moq-rtmp-v0.1.2...moq-rtmp-v0.1.3) - 2026-07-12 ### Other diff --git a/rs/moq-rtmp/Cargo.toml b/rs/moq-rtmp/Cargo.toml index 668259925c..b87d6532ce 100644 --- a/rs/moq-rtmp/Cargo.toml +++ b/rs/moq-rtmp/Cargo.toml @@ -8,7 +8,7 @@ repository = "https://github.com/moq-dev/moq" # src/rml/LICENSE and applies to that module regardless of which option you pick. license = "MIT OR Apache-2.0" -version = "0.1.3" +version = "0.2.0" edition = "2024" rust-version.workspace = true diff --git a/rs/moq-srt/CHANGELOG.md b/rs/moq-srt/CHANGELOG.md index 50158ea00e..8897b2b3e4 100644 --- a/rs/moq-srt/CHANGELOG.md +++ b/rs/moq-srt/CHANGELOG.md @@ -7,6 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.2.0](https://github.com/moq-dev/moq/compare/moq-srt-v0.1.2...moq-srt-v0.2.0) - 2026-07-22 + +### Added + +- *(net)* unannounce as soon as the last route detaches ([#2419](https://github.com/moq-dev/moq/pull/2419)) + +### Fixed + +- [**breaking**] correct catalog, timeline, token, and teardown contracts found in API review ([#2439](https://github.com/moq-dev/moq/pull/2439)) + +### Other + +- [**breaking**] pre-bump API polish across the release batch ([#2423](https://github.com/moq-dev/moq/pull/2423)) +- compile doc examples across the workspace ([#2421](https://github.com/moq-dev/moq/pull/2421)) +- *(net)* [**breaking**] route everything through create_broadcast, gate announce on Route.live ([#2396](https://github.com/moq-dev/moq/pull/2396)) +- *(moq-net)* [**breaking**] model Timestamp as an instant; drop panicking arithmetic operators ([#2366](https://github.com/moq-dev/moq/pull/2366)) +- Merge branch 'main' into dev +- Merge branch 'main' into dev + ## [0.1.2](https://github.com/moq-dev/moq/compare/moq-srt-v0.1.1...moq-srt-v0.1.2) - 2026-07-15 ### Fixed diff --git a/rs/moq-srt/Cargo.toml b/rs/moq-srt/Cargo.toml index c0c83ea6bc..6e0934ac0a 100644 --- a/rs/moq-srt/Cargo.toml +++ b/rs/moq-srt/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Luke Curley "] repository = "https://github.com/moq-dev/moq" license = "MIT OR Apache-2.0" -version = "0.1.2" +version = "0.2.0" edition = "2024" rust-version.workspace = true diff --git a/rs/moq-stats/CHANGELOG.md b/rs/moq-stats/CHANGELOG.md new file mode 100644 index 0000000000..48b94743ba --- /dev/null +++ b/rs/moq-stats/CHANGELOG.md @@ -0,0 +1,27 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +## [0.1.0](https://github.com/moq-dev/moq/releases/tag/moq-stats-v0.1.0) - 2026-07-22 + +### Added + +- *(net)* unannounce as soon as the last route detaches ([#2419](https://github.com/moq-dev/moq/pull/2419)) +- *(net)* [**breaking**] extract stats publishing into moq-stats with compressed tracks ([#2380](https://github.com/moq-dev/moq/pull/2380)) + +### Fixed + +- [**breaking**] correct catalog, timeline, token, and teardown contracts found in API review ([#2439](https://github.com/moq-dev/moq/pull/2439)) + +### Other + +- *(stats)* [**breaking**] collect traffic counters in the model layer ([#2427](https://github.com/moq-dev/moq/pull/2427)) +- [**breaking**] pre-bump API polish across the release batch ([#2423](https://github.com/moq-dev/moq/pull/2423)) +- compile doc examples across the workspace ([#2421](https://github.com/moq-dev/moq/pull/2421)) +- *(stats)* [**breaking**] remove internal tier defaults ([#2411](https://github.com/moq-dev/moq/pull/2411)) +- *(net)* [**breaking**] route everything through create_broadcast, gate announce on Route.live ([#2396](https://github.com/moq-dev/moq/pull/2396)) diff --git a/rs/moq-token-cli/CHANGELOG.md b/rs/moq-token-cli/CHANGELOG.md index 2b8cb4a1ce..1a4f835fd1 100644 --- a/rs/moq-token-cli/CHANGELOG.md +++ b/rs/moq-token-cli/CHANGELOG.md @@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.5.38](https://github.com/moq-dev/moq/compare/moq-token-cli-v0.5.37...moq-token-cli-v0.5.38) - 2026-07-22 + +### Added + +- *(token)* scope signing keys to publish/subscribe paths ([#2416](https://github.com/moq-dev/moq/pull/2416)) + +### Other + +- Merge branch 'main' into dev + ## [0.5.37](https://github.com/moq-dev/moq/compare/moq-token-cli-v0.5.36...moq-token-cli-v0.5.37) - 2026-07-18 ### Other diff --git a/rs/moq-token-cli/Cargo.toml b/rs/moq-token-cli/Cargo.toml index dfe40d38b5..ff08d96c2a 100644 --- a/rs/moq-token-cli/Cargo.toml +++ b/rs/moq-token-cli/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Luke Curley"] repository = "https://github.com/moq-dev/moq" license = "MIT OR Apache-2.0" -version = "0.5.37" +version = "0.5.38" edition = "2024" rust-version.workspace = true diff --git a/rs/moq-token/CHANGELOG.md b/rs/moq-token/CHANGELOG.md index 0d36a12e78..c97b1a67d7 100644 --- a/rs/moq-token/CHANGELOG.md +++ b/rs/moq-token/CHANGELOG.md @@ -7,6 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.7.0](https://github.com/moq-dev/moq/compare/moq-token-v0.6.3...moq-token-v0.7.0) - 2026-07-22 + +### Added + +- *(token)* scope signing keys to publish/subscribe paths ([#2416](https://github.com/moq-dev/moq/pull/2416)) + +### Fixed + +- *(moq-token)* default missing key_ops to sign and verify ([#2436](https://github.com/moq-dev/moq/pull/2436)) +- [**breaking**] correct catalog, timeline, token, and teardown contracts found in API review ([#2439](https://github.com/moq-dev/moq/pull/2439)) + +### Other + +- [**breaking**] pre-bump API polish across the release batch ([#2423](https://github.com/moq-dev/moq/pull/2423)) +- compile doc examples across the workspace ([#2421](https://github.com/moq-dev/moq/pull/2421)) +- Merge branch 'main' into dev + ## [0.6.3](https://github.com/moq-dev/moq/compare/moq-token-v0.6.2...moq-token-v0.6.3) - 2026-07-18 ### Other diff --git a/rs/moq-token/Cargo.toml b/rs/moq-token/Cargo.toml index 7d181c3ff8..1bd034c16f 100644 --- a/rs/moq-token/Cargo.toml +++ b/rs/moq-token/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Luke Curley"] repository = "https://github.com/moq-dev/moq" license = "MIT OR Apache-2.0" -version = "0.6.3" +version = "0.7.0" edition = "2024" rust-version.workspace = true diff --git a/rs/moq-transcode/CHANGELOG.md b/rs/moq-transcode/CHANGELOG.md index a085b5964f..5df31c552e 100644 --- a/rs/moq-transcode/CHANGELOG.md +++ b/rs/moq-transcode/CHANGELOG.md @@ -7,6 +7,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.0.1](https://github.com/moq-dev/moq/releases/tag/moq-transcode-v0.0.1) - 2026-07-22 + +### Added + +- *(moq-net)* let finish_at declare a future exclusive end group ([#2219](https://github.com/moq-dev/moq/pull/2219)) ([#2234](https://github.com/moq-dev/moq/pull/2234)) +- *(moq-transcode)* decode once per source, GPU resize fanout, and a moq transcode verb ([#2158](https://github.com/moq-dev/moq/pull/2158)) +- *(moq-video)* NVDEC hardware decode, zero-copy NVDEC -> NVENC transcode ([#2145](https://github.com/moq-dev/moq/pull/2145)) +- moq-transcode, just-in-time transcoding for hang broadcasts (NVENC-capable) ([#2140](https://github.com/moq-dev/moq/pull/2140)) + +### Fixed + +- [**breaking**] correct catalog, timeline, token, and teardown contracts found in API review ([#2439](https://github.com/moq-dev/moq/pull/2439)) +- *(moq-video)* mark the macOS Surface Sync so moq-transcode compiles ([#2225](https://github.com/moq-dev/moq/pull/2225)) + +### Other + +- compile doc examples across the workspace ([#2421](https://github.com/moq-dev/moq/pull/2421)) +- *(net)* [**breaking**] route everything through create_broadcast, gate announce on Route.live ([#2396](https://github.com/moq-dev/moq/pull/2396)) +- *(audio)* [**breaking**] align the moq-audio capture/encode surface with moq-video ([#2350](https://github.com/moq-dev/moq/pull/2350)) +- *(hang)* [**breaking**] non_exhaustive catalog sections, shared container::track_info, hang draft catch-up ([#2341](https://github.com/moq-dev/moq/pull/2341)) +- moq-net + js/net: pre-merge API hardening for moq-lite-05 ([#2170](https://github.com/moq-dev/moq/pull/2170)) +- add NVDEC AV1 decode support ([#2178](https://github.com/moq-dev/moq/pull/2178)) +- carry moq-video decode timestamps as moq_net::Timestamp ([#2146](https://github.com/moq-dev/moq/pull/2146)) + ### Added - Shared live decode: all rungs of a source with live demand now share one diff --git a/rs/moq-video/CHANGELOG.md b/rs/moq-video/CHANGELOG.md index a61af93efb..a0962e3482 100644 --- a/rs/moq-video/CHANGELOG.md +++ b/rs/moq-video/CHANGELOG.md @@ -7,6 +7,60 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.0.7](https://github.com/moq-dev/moq/compare/moq-video-v0.0.6...moq-video-v0.0.7) - 2026-07-22 + +### Added + +- *(moq-video)* [**breaking**] adapt the encoder bitrate to the congestion-control estimate ([#2303](https://github.com/moq-dev/moq/pull/2303)) +- *(capture)* macOS window/app/system-audio sources and device enumeration ([#2293](https://github.com/moq-dev/moq/pull/2293)) +- *(moq-video)* PipeWire screen capture on Linux ([#2238](https://github.com/moq-dev/moq/pull/2238)) +- *(moq-transcode)* decode once per source, GPU resize fanout, and a moq transcode verb ([#2158](https://github.com/moq-dev/moq/pull/2158)) +- *(moq-video)* NVDEC hardware decode, zero-copy NVDEC -> NVENC transcode ([#2145](https://github.com/moq-dev/moq/pull/2145)) +- moq-transcode, just-in-time transcoding for hang broadcasts (NVENC-capable) ([#2140](https://github.com/moq-dev/moq/pull/2140)) +- *(moq-mux,moq-ffi)* catalog init from hints and configs ([#2102](https://github.com/moq-dev/moq/pull/2102)) +- *(moq-net)* require broadcast close() + propagate real errors on abrupt teardown ([#2087](https://github.com/moq-dev/moq/pull/2087)) ([#2108](https://github.com/moq-dev/moq/pull/2108)) +- *(moq-mux)* gate initial catalog publish until reserved tracks resolve ([#2072](https://github.com/moq-dev/moq/pull/2072)) +- *(moq-video)* H.265 hardware decode on macOS (VideoToolbox) ([#1859](https://github.com/moq-dev/moq/pull/1859)) +- *(moq-video)* opt-out nvenc/vaapi features (default-on) + correct libva docs ([#1860](https://github.com/moq-dev/moq/pull/1860)) +- *(moq-video)* H.265 decode + Media Foundation HEVC backend ([#1854](https://github.com/moq-dev/moq/pull/1854)) +- *(moq-video)* Windows screen capture via DXGI Desktop Duplication ([#1855](https://github.com/moq-dev/moq/pull/1855)) +- *(moq-video)* H.264 hardware decode on Windows via Media Foundation ([#1853](https://github.com/moq-dev/moq/pull/1853)) +- *(moq-video)* [**breaking**] make hardware encoders always-on (openh264 stays the software fallback) ([#1819](https://github.com/moq-dev/moq/pull/1819)) +- *(moq-video)* NVENC H.265 encode + refresh README ([#1840](https://github.com/moq-dev/moq/pull/1840)) +- *(moq-video,libmoq)* native H.264 decode (drop ffmpeg dependency) ([#1796](https://github.com/moq-dev/moq/pull/1796)) +- *(moq-video)* H.265 (VideoToolbox) encode ([#1802](https://github.com/moq-dev/moq/pull/1802)) +- *(moq-video)* replace cros-codecs git dep with the published moq-vaapi crate ([#1757](https://github.com/moq-dev/moq/pull/1757)) + +### Fixed + +- [**breaking**] correct catalog, timeline, token, and teardown contracts found in API review ([#2439](https://github.com/moq-dev/moq/pull/2439)) +- *(moq-video)* mark the macOS Surface Sync so moq-transcode compiles ([#2225](https://github.com/moq-dev/moq/pull/2225)) +- *(moq-video)* make decode Frame/Consumer Send on macOS ([#2162](https://github.com/moq-dev/moq/pull/2162)) +- *(moq-video, moq-audio)* threading/correctness fixes + dedicated capture encode thread ([#2038](https://github.com/moq-dev/moq/pull/2038)) +- *(moq-video, moq-audio)* non-contiguous VT output, blocking mic prompt, DXVA NV12 offset ([#2034](https://github.com/moq-dev/moq/pull/2034)) +- *(moq-video)* make NVENC encode correct on hardware (forced IDR, in-band param sets, pitched input) ([#1997](https://github.com/moq-dev/moq/pull/1997)) +- *(moq-video)* request camera access before capture on macOS ([#1803](https://github.com/moq-dev/moq/pull/1803)) + +### Other + +- compile doc examples across the workspace ([#2421](https://github.com/moq-dev/moq/pull/2421)) +- *(audio)* [**breaking**] align the moq-audio capture/encode surface with moq-video ([#2350](https://github.com/moq-dev/moq/pull/2350)) +- align media docs and priorities ([#2336](https://github.com/moq-dev/moq/pull/2336)) +- add NVDEC AV1 decode support ([#2178](https://github.com/moq-dev/moq/pull/2178)) +- carry moq-video decode timestamps as moq_net::Timestamp ([#2146](https://github.com/moq-dev/moq/pull/2146)) +- Factor stats snapshot types +- *(moq-net)* split flat type names into role modules ([#2070](https://github.com/moq-dev/moq/pull/2070)) +- *(moq-video)* vendor NVENC fork in-tree as moq-nvenc ([#2042](https://github.com/moq-dev/moq/pull/2042)) +- Merge main into dev +- Merge main into dev +- *(moq-net)* make request_broadcast/subscribe/fetch_group infallible ([#1890](https://github.com/moq-dev/moq/pull/1890)) +- *(moq-video, moq-audio)* make device capture async (fixes Ctrl+C shutdown hang) ([#1807](https://github.com/moq-dev/moq/pull/1807)) +- decouple importers from the catalog, split byte-parsing into per-codec splitters, and make importers pure frame publishers ([#1749](https://github.com/moq-dev/moq/pull/1749)) +- Merge origin/main into dev +- *(moq-video)* cover the Windows hardware encoder ([#1740](https://github.com/moq-dev/moq/pull/1740)) +- Merge remote-tracking branch 'origin/dev' into claude/epic-hamilton-e9edf7 +- Merge branch 'main' into dev + ### Added - `decode::Frame::resize(width, height)`: a scaled copy of a decoded frame, diff --git a/rs/moq-video/Cargo.toml b/rs/moq-video/Cargo.toml index b4e3fc78e7..cce4973d7a 100644 --- a/rs/moq-video/Cargo.toml +++ b/rs/moq-video/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Luke Curley "] repository = "https://github.com/moq-dev/moq" license = "MIT OR Apache-2.0" -version = "0.0.6" +version = "0.0.7" edition = "2024" rust-version.workspace = true From 18d470d0842686c207468b661e70f9d41f0aff8e Mon Sep 17 00:00:00 2001 From: Luke Curley Date: Wed, 22 Jul 2026 14:59:36 -0700 Subject: [PATCH 2/2] chore: bump non-Rust package versions for the release release-plz only owns the Rust crates, so the npm packages and the py/swift/kt/go wrappers still sit at their last published versions despite carrying the whole dev-merge batch. Bump each by semver against the commits landed since its own last version bump, which is the publish gate for all four release workflows. Breaking (0.x minor): @moq/net, @moq/signals, @moq/json, @moq/loc, @moq/msf, @moq/hang, @moq/token, @moq/watch, @moq/publish, @moq/boy, py moq-rs, kt dev.moq:moq, swift Moq, go moq-go. Left alone: @moq/clock and @moq/wasm are private, and @moq/flate saw only a pako range widening that its existing caret already covered. Also refresh the Swift/Kotlin install snippets in doc/lib and the per-language READMEs so they name the versions being published. Co-Authored-By: Claude Opus 4.8 --- bun.lock | 20 ++++++++++---------- doc/lib/kt/index.md | 2 +- doc/lib/kt/moq.md | 2 +- doc/lib/swift/index.md | 2 +- doc/lib/swift/moq.md | 2 +- go/wrapper/VERSION | 2 +- js/hang/package.json | 2 +- js/json/package.json | 2 +- js/loc/package.json | 2 +- js/moq-boy/package.json | 2 +- js/msf/package.json | 2 +- js/net/package.json | 2 +- js/publish/package.json | 2 +- js/signals/package.json | 2 +- js/token/package.json | 2 +- js/watch/package.json | 2 +- kt/README.md | 2 +- kt/gradle.properties | 2 +- py/moq-rs/pyproject.toml | 2 +- swift/README.md | 2 +- swift/VERSION | 2 +- uv.lock | 4 ++-- 22 files changed, 32 insertions(+), 32 deletions(-) diff --git a/bun.lock b/bun.lock index 2378705095..31b04ff0fe 100644 --- a/bun.lock +++ b/bun.lock @@ -94,7 +94,7 @@ }, "js/hang": { "name": "@moq/hang", - "version": "0.2.16", + "version": "0.3.0", "dependencies": { "@kixelated/libavjs-webcodecs-polyfill": "^0.5.5", "@libav.js/variant-opus-af": "^6.9.8", @@ -116,7 +116,7 @@ }, "js/json": { "name": "@moq/json", - "version": "0.2.2", + "version": "0.3.0", "dependencies": { "@moq/flate": "workspace:^", "@moq/net": "workspace:^", @@ -133,7 +133,7 @@ }, "js/loc": { "name": "@moq/loc", - "version": "0.1.2", + "version": "0.2.0", "dependencies": { "@moq/net": "workspace:^", }, @@ -145,7 +145,7 @@ }, "js/moq-boy": { "name": "@moq/boy", - "version": "0.2.14", + "version": "0.3.0", "dependencies": { "@moq/json": "workspace:^", "@moq/net": "workspace:^", @@ -165,7 +165,7 @@ }, "js/msf": { "name": "@moq/msf", - "version": "0.1.4", + "version": "0.2.0", "dependencies": { "@moq/net": "workspace:^", "zod": "^4.4.3", @@ -177,7 +177,7 @@ }, "js/net": { "name": "@moq/net", - "version": "0.1.9", + "version": "0.2.0", "dependencies": { "@moq/qmux": "^0.3.1", "@moq/signals": "workspace:*", @@ -197,7 +197,7 @@ }, "js/publish": { "name": "@moq/publish", - "version": "0.3.3", + "version": "0.4.0", "dependencies": { "@moq/hang": "workspace:^", "@moq/net": "workspace:^", @@ -215,7 +215,7 @@ }, "js/signals": { "name": "@moq/signals", - "version": "0.1.10", + "version": "0.2.0", "devDependencies": { "@types/bun": "^1.3.11", "@types/react": "^19.2.17", @@ -237,7 +237,7 @@ }, "js/token": { "name": "@moq/token", - "version": "0.2.3", + "version": "0.3.0", "bin": { "moq-token": "./src/cli.ts", }, @@ -260,7 +260,7 @@ }, "js/watch": { "name": "@moq/watch", - "version": "0.3.2", + "version": "0.4.0", "dependencies": { "@moq/hang": "workspace:^", "@moq/msf": "workspace:^", diff --git a/doc/lib/kt/index.md b/doc/lib/kt/index.md index 384dca5d25..a92d5ecec3 100644 --- a/doc/lib/kt/index.md +++ b/doc/lib/kt/index.md @@ -26,7 +26,7 @@ The raw UniFFI bindings (`uniffi.moq.*`) plus the native binaries (JNI on Androi ```kotlin // build.gradle.kts dependencies { - implementation("dev.moq:moq:0.3.0") + implementation("dev.moq:moq:0.4.0") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0") } ``` diff --git a/doc/lib/kt/moq.md b/doc/lib/kt/moq.md index 0c2b2b7d34..03a879a0bf 100644 --- a/doc/lib/kt/moq.md +++ b/doc/lib/kt/moq.md @@ -12,7 +12,7 @@ The ergonomic Kotlin wrapper for [Media over QUIC](/), layered on the [`dev.moq: ```kotlin // build.gradle.kts dependencies { - implementation("dev.moq:moq:0.3.0") + implementation("dev.moq:moq:0.4.0") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0") } ``` diff --git a/doc/lib/swift/index.md b/doc/lib/swift/index.md index 95d33732cf..3a8c886872 100644 --- a/doc/lib/swift/index.md +++ b/doc/lib/swift/index.md @@ -39,7 +39,7 @@ Add the `Moq` wrapper; SPM resolves `MoqFFI` (and its XCFramework) transitively: ```swift dependencies: [ - .package(url: "https://github.com/moq-dev/moq-swift", from: "0.3.0"), + .package(url: "https://github.com/moq-dev/moq-swift", from: "0.4.0"), ], targets: [ .target( diff --git a/doc/lib/swift/moq.md b/doc/lib/swift/moq.md index c384d15c43..26eb80b077 100644 --- a/doc/lib/swift/moq.md +++ b/doc/lib/swift/moq.md @@ -12,7 +12,7 @@ A Swift-native wrapper over the UniFFI-generated bindings: de-prefixed types, `A ## Install ```swift -.package(url: "https://github.com/moq-dev/moq-swift", from: "0.3.0"), +.package(url: "https://github.com/moq-dev/moq-swift", from: "0.4.0"), ``` Add `Moq` to your target's dependencies: diff --git a/go/wrapper/VERSION b/go/wrapper/VERSION index bd73f47072..2eb3c4fe4e 100644 --- a/go/wrapper/VERSION +++ b/go/wrapper/VERSION @@ -1 +1 @@ -0.4 +0.5 diff --git a/js/hang/package.json b/js/hang/package.json index 34b30d061b..aa7f378c93 100644 --- a/js/hang/package.json +++ b/js/hang/package.json @@ -1,7 +1,7 @@ { "name": "@moq/hang", "type": "module", - "version": "0.2.16", + "version": "0.3.0", "description": "WebCodecs-based media format for MoQ", "license": "(MIT OR Apache-2.0)", "repository": "github:moq-dev/moq", diff --git a/js/json/package.json b/js/json/package.json index c1aac2a3aa..e12900b7e1 100644 --- a/js/json/package.json +++ b/js/json/package.json @@ -1,7 +1,7 @@ { "name": "@moq/json", "type": "module", - "version": "0.2.2", + "version": "0.3.0", "description": "JSON publishing over MoQ tracks: snapshot/delta (RFC 7396 merge patch) objects, or append-log NDJSON streams.", "license": "(MIT OR Apache-2.0)", "repository": "github:moq-dev/moq", diff --git a/js/loc/package.json b/js/loc/package.json index 2228a0fe0d..56dceddd96 100644 --- a/js/loc/package.json +++ b/js/loc/package.json @@ -1,7 +1,7 @@ { "name": "@moq/loc", "type": "module", - "version": "0.1.2", + "version": "0.2.0", "description": "Low Overhead Container (LOC) frame encoding for MoQ", "license": "(MIT OR Apache-2.0)", "repository": "github:moq-dev/moq", diff --git a/js/moq-boy/package.json b/js/moq-boy/package.json index 44119ec0a9..5b4585cb93 100644 --- a/js/moq-boy/package.json +++ b/js/moq-boy/package.json @@ -1,7 +1,7 @@ { "name": "@moq/boy", "type": "module", - "version": "0.2.14", + "version": "0.3.0", "jsr": false, "description": "MoQ Boy - Crowd-controlled Game Boy streaming via MoQ", "license": "(MIT OR Apache-2.0)", diff --git a/js/msf/package.json b/js/msf/package.json index 9d99376c66..c2534b9f32 100644 --- a/js/msf/package.json +++ b/js/msf/package.json @@ -1,7 +1,7 @@ { "name": "@moq/msf", "type": "module", - "version": "0.1.4", + "version": "0.2.0", "description": "MSF (MOQT Streaming Format) catalog types for MoQ", "license": "(MIT OR Apache-2.0)", "repository": "github:moq-dev/moq", diff --git a/js/net/package.json b/js/net/package.json index 82640f12f1..490cd61ccb 100644 --- a/js/net/package.json +++ b/js/net/package.json @@ -1,7 +1,7 @@ { "name": "@moq/net", "type": "module", - "version": "0.1.9", + "version": "0.2.0", "description": "The networking layer for Media over QUIC: real-time pub/sub with built-in caching, fan-out, and prioritization.", "license": "(MIT OR Apache-2.0)", "repository": "github:moq-dev/moq", diff --git a/js/publish/package.json b/js/publish/package.json index 8ffc3d6ab7..605700c00c 100644 --- a/js/publish/package.json +++ b/js/publish/package.json @@ -1,7 +1,7 @@ { "name": "@moq/publish", "type": "module", - "version": "0.3.3", + "version": "0.4.0", "jsr": false, "description": "Publish Media over QUIC broadcasts", "license": "(MIT OR Apache-2.0)", diff --git a/js/signals/package.json b/js/signals/package.json index aa5617cbe6..dc1b4b63c6 100644 --- a/js/signals/package.json +++ b/js/signals/package.json @@ -1,7 +1,7 @@ { "name": "@moq/signals", "type": "module", - "version": "0.1.10", + "version": "0.2.0", "description": "Reactive and safe signals", "license": "(MIT OR Apache-2.0)", "repository": "github:moq-dev/moq", diff --git a/js/token/package.json b/js/token/package.json index bcd967ee20..fd69c8d43f 100644 --- a/js/token/package.json +++ b/js/token/package.json @@ -1,7 +1,7 @@ { "name": "@moq/token", "type": "module", - "version": "0.2.3", + "version": "0.3.0", "description": "Media over QUIC - Token Generation and Validation", "license": "(MIT OR Apache-2.0)", "repository": "github:moq-dev/moq", diff --git a/js/watch/package.json b/js/watch/package.json index b1be421973..c75781ec7e 100644 --- a/js/watch/package.json +++ b/js/watch/package.json @@ -1,7 +1,7 @@ { "name": "@moq/watch", "type": "module", - "version": "0.3.2", + "version": "0.4.0", "jsr": false, "description": "Watch Media over QUIC broadcasts", "license": "(MIT OR Apache-2.0)", diff --git a/kt/README.md b/kt/README.md index 10b4ab951f..507a1d2c26 100644 --- a/kt/README.md +++ b/kt/README.md @@ -14,7 +14,7 @@ Most apps want `dev.moq:moq`. Reach for `dev.moq:moq-ffi` directly only if you w ```kotlin // build.gradle.kts dependencies { - implementation("dev.moq:moq:0.3.0") + implementation("dev.moq:moq:0.4.0") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0") } ``` diff --git a/kt/gradle.properties b/kt/gradle.properties index deeeb0f5cd..83d4b979fb 100644 --- a/kt/gradle.properties +++ b/kt/gradle.properties @@ -14,7 +14,7 @@ moqffi.version=0.0.0-dev # Wrapper (`dev.moq:moq`) version. Source of truth, bumped by hand. Independent # of the crate: release-kt-lib.yml publishes a new version only when this # changes. Must stay >= the last published wrapper version. -moq.version=0.3.0 +moq.version=0.4.0 # Publishing is disabled by default. CI flips this when MAVEN_CENTRAL_USERNAME # and SIGNING_KEY secrets are configured. See README.md for setup details. diff --git a/py/moq-rs/pyproject.toml b/py/moq-rs/pyproject.toml index 1e4f5501d4..05f91d781f 100644 --- a/py/moq-rs/pyproject.toml +++ b/py/moq-rs/pyproject.toml @@ -14,7 +14,7 @@ name = "moq-rs" # isn't already there (no tag needed; the registry is the gate). # Starts at 0.3.0 to open a new line above the old lockstep 0.2.x releases that # bundled the bindings. -version = "0.3.3" +version = "0.4.0" description = "Media over QUIC: real-time pub/sub with built-in caching, fan-out, and prioritization, with a Pythonic API. Import as `moq`." readme = "README.md" license = "MIT OR Apache-2.0" diff --git a/swift/README.md b/swift/README.md index 37da91ef6f..b6962770ff 100644 --- a/swift/README.md +++ b/swift/README.md @@ -16,7 +16,7 @@ The Swift integration ships as two SPM packages, each mirrored to its own repo: ## Install ```swift -.package(url: "https://github.com/moq-dev/moq-swift", from: "0.3.0"), +.package(url: "https://github.com/moq-dev/moq-swift", from: "0.4.0"), ``` SPM resolves `MoqFFI` (and its prebuilt `MoqFFI.xcframework`, attached to the matching `moq-ffi-v*` GitHub Release) transitively. You only depend on `moq-swift`. diff --git a/swift/VERSION b/swift/VERSION index 0d91a54c7d..1d0ba9ea18 100644 --- a/swift/VERSION +++ b/swift/VERSION @@ -1 +1 @@ -0.3.0 +0.4.0 diff --git a/uv.lock b/uv.lock index 3d2874b05c..58e329627b 100644 --- a/uv.lock +++ b/uv.lock @@ -32,7 +32,7 @@ name = "exceptiongroup" version = "1.3.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "typing-extensions", marker = "python_full_version < '3.13'" }, + { name = "typing-extensions" }, ] sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" } wheels = [ @@ -103,7 +103,7 @@ source = { editable = "py/moq-ffi" } [[package]] name = "moq-rs" -version = "0.3.3" +version = "0.4.0" source = { editable = "py/moq-rs" } dependencies = [ { name = "moq-ffi" },