Summary of active discussions in the MOQ ecosystem during August 2026.
Activity (Aug 31 → Sep 1) — draft-20 published; AI-generated content draws WG/community pushback; moq-rs conformance jumps and the Eyevinn stack tags v0.14.0. The window’s durable spec fact is moq-transport draft-20: after the interim-21 cadence forecast (draft-20 = editorial cut → draft-21 → draft-22 interop target), the editors landed ~11 cleanup PRs plus the release-notes PR (#1873, afrind) on Aug-31 and submitted draft-ietf-moq-transport-20 to the datatracker at 20:11 UTC (158 pages). It removes dead wire elements (leftover UNSUBSCRIBE #1864, VERSION_NEGOTIATION_FAILED #1867), tightens “Parameters” terminology (FILL_PARAMETERS not KVPs #1868; SUBSCRIBE_TRACKS simplification #1869; SUBSCRIBE_TRACKS_OK alias #1870; #1871), drops the requirement to retain Largest Location (#1872), lands Track-Alias-re-use guidance (#1856, Swett), and clarifies track-name encoding isn’t filename-safe (#1863). A cross-cutting theme runs through the window: AI-generated content getting pushback. afrind closed tobbee’s issue #1861 as “agentic output” (“we would prefer not to digest agentic output … file the issue in the style of the last several issues filed by afrind or ianswett”) — the same day he said on Slack he’s “cracking down on ai generated issues in the repo” — and separately Luke Curley retracted his Aug-30 OpenMOQ-86bbc5e conformance diagnosis as an AI hallucination (“ignore me i trusted AI”). On implementations, the draft-18 conformance/rewrite wave accelerated: moq-rs landed three heavy draft-18 fixes (subgroup modifiers #224, datagram semantics #225, publish terminal delivery #226) and, per afrind’s moxygen conformance run, went from failing before SUBSCRIBE to passing Section 1 tests 1–3 (datagrams pending); the Eyevinn stack tagged v0.14.0 “draft-18 rewrite” (moqlivemock v0.14.0, warp-player v0.14.0 draft-18-only, on moqtransport v0.11.1); moq merged ~20 PRs (protocol-hardening + a “quest” planning system, no release); imquic fixed FETCH subgroup-flag parsing (#35); moxygen pushed a FETCH-conformance + MoQ-proxy series; libquicr merged its per-stream-contexts refactor (#923). Interop recovered +9 across two Aug-31 cuts (116 → 122 → 125), lining up with the moq-rs fixes. On the community side, Miniero declined deMOQed (won’t travel to the US; only IETF in November). Mailing list: only the I-D Action for transport-20 + a Swett reply, plus the Aug-30 weekly digest; no new MoQ Monthly (#2, May 31); no open wiki issues. Sep-2 draft-18 interop hackathon is now imminent, then interim-23 on Sep-8 and deMOQed on Oct-8.
WG: draft-20 published — an editorial cleanup cut
moq-transport draft-20 was cut on Aug-31 and submitted to the datatracker at 20:11 UTC (rev 20, 158 pages) — the purely-editorial cut the interim-2026-moq-21 minutes forecast. ~11 cleanup PRs plus the release-notes PR (#1873, afrind) merged the same afternoon; no new wire mechanisms. Highlights: removing leftover UNSUBSCRIBE (#1864, vasilvv) and the VERSION_NEGOTIATION_FAILED error (#1867); dropping the requirement to retain Largest Location (#1872); a cluster of “Parameters” terminology fixes (#1868/#1869/#1870/#1871); Track-Alias-re-use guidance (#1856, Swett, previously OPEN); a track-name-not-filename-safe clarification (#1863); and an editorial typo pass (#1862, +59/−59). Left OPEN after the cut: two structural diagrams (#1866/#1865, vasilvv) and a §11 editorial refactor (#1874, suhasHere). All other WG repos (msf/loc/secure-objects/cmsf/catalog-format/privacy-pass) quiet. Details on moq-transport.
AI-generated content draws pushback — issue #1861 closed, a conformance diagnosis retracted
Two independent threads converged on the same theme this window: the MoQ WG and community pushing back on AI-generated content.
- afrind closed tobbee’s moq-transport #1861 as “agentic output” (Aug-31 21:16 UTC) — not on the merits: “This repo is maintained and consumed by humans and we would prefer not to digest agentic output. If you would like to use agents to help you file issues, please add the following prompt: ‘File the issue in the style of the last several issues filed by afrind or ianswett.‘” The underlying §11.4.4.2 End-of-Range clarity question (absolute IDs, no Object Payload Length) stands unresolved; a re-file in the WG’s preferred human style is the path forward. On Slack the same morning afrind said he’s “cracking down on ai generated issues in the repo” (“I’ve been burned a couple times”).
- Luke Curley retracted his Aug-30 OpenMOQ conformance diagnosis. His Aug-30 23:53 claim (OpenMOQ commit
86bbc5emis-decoding raw-uint8SUBSCRIBE parameters as varints) was AI-hallucinated: on Aug-31 afrind noted “This isn’t OpenMOQ — this is facebookexperimental/moxygen. The paths you reference aren’t moxygen code,” and Luke replied “oof … ignore me i trusted AI.” moxygen and moqx were in fact the two relays that passed Section 1, so the diagnosis was void from the start. The prior interop-runner and Aug-30→31 write-ups have been corrected.
Slack: moq-rs conformance jumps; runner folds in the conformance tests
After the retraction, the conformance thread turned productive. Mike English landed real moq-rs fixes (“We definitely weren’t handling all of the permutations correctly before”), and a re-run of afrind’s moxygen conformance suite showed moq-rs now passing Section 1 tests 1, 2 and 3 on both QUIC and WebTransport — up from failing before SUBSCRIBE completed on Aug-30 — with only Test 4 (DATAGRAM) still failing (0 objects on QUIC; “subscribe rejected: internal error” on WebTransport); English said he’s “about to land a fix for datagrams to our draft-18-dev branch” (Aug-31 23:35). In parallel, in the dedicated #moq-interop-runner channel, English began folding this conformance coverage into the interop runner — runner PR #103 adds PUBLISH-focused test cases, and he plans to add afrind’s subgroup-delivery permutations — reusing afrind’s now-portable moq-test publisher class, with a floated idea of per-run unique track IDs (test-<128-bit-run-id>) to avoid cross-contamination between test runs. See interop-runner.
Implementations: the draft-18 conformance/rewrite wave
- moq-rs — three heavy draft-18 conformance fixes (englishm): #224 “support draft-18 subgroup modifiers” (+1568/−165, Aug-31 02:39 UTC), #225 “preserve draft-18 datagram semantics” (+1141/−575), #226 “await publish terminal delivery” (+1763/−293, Sep-01). No new release — v0.7.26 stands.
- Eyevinn stack tagged v0.14.0 “draft-18 rewrite”: moqlivemock v0.14.0 (Aug-31, also moving the LOC Timestamp property to
0x10per loc-04, #130); warp-player v0.14.0 — breaking #190 “speak MoQ Transport draft-18 only” (+2554/−4245), dropping the draft-14/16 paths; on moqtransport v0.11.1 (“qlog payload cap”). - moq (Curley) — ~20 merges, no release (moq-relay v0.14.12 stands): protocol-hardening (#3232 send registered PUBLISH_DONE statuses, #3231 reject lossy u53 wire ints, #3230 reject malformed UTF-8, #3226 escape slashes in IETF namespaces, #3222 bound lite message sizes), a breaking #3243
refactor(rs)!: keep dependency errors out of public APIs, and a large “quest” planning/milestone system (#3239, +12,589/−7 — a dev-workflow scaffold, not protocol). - imquic — #35 “correct FETCH object parsing of subgroup flags and object status” (Zafer Gürel, Aug-31). moxygen — ~19 direct commits: a FETCH-conformance series (joining FETCH tests/ranges, datagram end-of-group fixes) + new MoQ proxy work (subscription coordinator, track lifecycle) + version stream-reset/PUBLISH_DONE codes; moqx re-synced the mirror (#660) and cut a rolling
snapshot-latest. libquicr — merged #923 “Replace DataContext with per-stream contexts” (+2098/−1650, previously OPEN; no release). - Quiet: quiche (moqt dir last
3c4812cAug-28), moqtail (relay@0.14.1), moq-js (draft-14), birneee/quiche_moq.
Community: Miniero declines deMOQed
On the deMOQed 2026 thread, Lorenzo Miniero replied (Aug-31) — “Cool idea for a conference! But I’m not stepping foot in the US anytime soon 😀 Just the IETF in November” — declining the Oct-8 SF event over US travel. A small marker that the first standalone MoQ conference will draw a partly US-centric crowd, with European regulars routing their in-person time to IETF instead.
Interop: +9 recovery to 125 across two Aug-31 cuts
The runner published two Aug-31 cuts: 00:29:26 UTC — 351 / 122 / 219 / 10 — then 04:12:16 UTC — 351 / 125 / 216 / 10 (at-target draft-18 210 · ahead 3 · behind 138). Pass climbed 116 (Aug-30) → 122 → 125, a +9 recovery erasing the Aug-30 low and setting a new high on the expanded 351-cell matrix, on a byte-flat version breakdown (210·3·138, six straight cuts). The gain lines up with moq-rs #224 landing at 02:39 UTC (between the two cuts) — the automated matrix and afrind’s manual conformance run telling the same recovery story ahead of Sep-2. See interop-runner.
Activity (Aug 30 → Aug 31) — Three days before the Sep-2 draft-18 hackathon, the readiness picture sharpens: afrind’s conformance sweep finds most relays failing at SUBSCRIBE, and the Eyevinn stack migrates to draft-18. All the in-window activity landed Aug-30 (Aug-31 was silent across every source). The window’s headline is an interop-readiness snapshot on Slack #moq: afrind (Aug-30 19:14 CEST) reported he has been driving moxygen’s draft-18 conformance script against the live relays registered in the interop-runner and expanding it (PUBLISH tests landed; FETCH + joining-FETCH by the Sep-2 hackathon), and the current draft-18 results are “bad” — of eight relays probed, only moxygen (Meta) and moqx (OpenMOQ) clear Section 1 (Basic Forwarding Preferences) 4/4 over both QUIC and WebTransport, while moq-rs, moq-dev-rs, imquic, Nokia (moqt-nr), and stitcher-moq all fail before a subscribe completes (per-relay diagnostics in interop-runner). afrind allowed the failures “could well be moxygen bugs too”, and Luke Curley posted what looked like a concrete OpenMOQ-86bbc5e uint8-vs-varint diagnosis — but it was retracted Aug-31 as AI-hallucinated (“ignore me i trusted AI”; see the Aug 31 → Sep 1 section above). Separately, the Eyevinn stack migrated to draft-18 the same day (pre-hackathon prep): moqtransport shipped a full draft-18 rewrite as v0.11.0 (#18, +16,989/−13,359) and moqlivemock migrated on main (#129, +977/−436), the migration surfacing a WG spec-clarity issue — moq-transport issue #1861 (tobbee, Aug-30, §11.4.4.2 End-of-Range indicators: absolute IDs, no Object Payload Length). moq-transport merged nothing (transport-19 stands; #1834 last merge); datatracker flat (no revision bump, no new draft; interim-22 minutes still unposted). On the mailing list, the overdue weekly GitHub digest posted Aug-30 (permalink, verified 200 + fabricated-ID 404) — the only in-window list message. On implementations, moq merged 11 Aug-30 PRs (perf/net tuning + a “discover MSF broadcasts in watch demo” step), moq-rs landed the tracked #223 “preserve subgroup object IDs” fix (+408/−55, no new release — v0.7.26 stands), and moxygen/moqx saw small fixes/syncs. Interop: the Aug-30 cut slipped −7 to 116 pass (351 / 116 / 225 / 10, at-target 210 · 3 · 138), a new low on the expanded matrix that gives back the Aug-29 bounce — consistent with the conformance sweep’s poor draft-18 picture. No new MoQ Monthly (#2, May 31); no open wiki issues. Sep-2 draft-18 interop hackathon is now the imminent milestone, then interim-23 on Sep-8 and deMOQed on Oct-8.
Slack: afrind’s draft-18 conformance sweep — most relays fail at SUBSCRIBE
afrind posted (Slack #moq, Aug-30 19:14 CEST) a draft-18 conformance snapshot — he has been driving moxygen’s conformance script against the live relay endpoints listed in the interop-runner and expanding its coverage (PUBLISH tests have landed; FETCH and joining-FETCH expected in place by the Sep-2 hackathon). The results were “bad right now (draft 18)”: of eight relays, only moxygen (Meta) and moqx (OpenMOQ) cleared Section 1 (Basic Forwarding Preferences) 4/4 over both QUIC and WebTransport; the rest failed before a subscribe could complete, with per-relay breakage:
- moq-rs (draft-18): SUBSCRIBE reaches the server, SubscribeOk is sent, the relay opens subgroup stream id=6 — then resets it ~39 ms later, error=0. No objects flow.
- moq-dev-rs: PUBLISH accepted, but the relay never forwards the subscribe upstream (0 received); the client gets
onSubscribeOk, then nothing. - imquic: H3
connectSuccess, then total silence — no MoQ SETUP on either side. - Nokia (
moqt-nr): frame underflow → parse error, connection error=3 parsing their SETUP (wire-format mismatch). stitcher-moq(Pluto TV / Paramount):PublishNamespaceError code=400 reason=unauthorizedonmoq-test-00.
afrind noted the failures “could well be moxygen bugs too” (moxygen being the test client). Luke Curley replied (Aug-30 23:53 CEST) with what looked like a concrete spec-conformance diagnosis for the moqx/OpenMOQ path (an “OpenMOQ commit 86bbc5e decodes raw-uint8 SUBSCRIBE parameters as varints” claim). ⚠️ Retracted Aug-31 — see the Aug 31 → Sep 1 section above: afrind pointed out the referenced code “isn’t OpenMOQ — this is facebookexperimental/moxygen. The paths you reference aren’t moxygen code,” and Luke withdrew it: “ignore me i trusted AI.” The diagnosis was AI-hallucinated (a commit/paths that don’t exist in the real code, and moxygen/moqx were the two relays that passed Section 1), so it is void. The real fixes came from Mike English on moq-rs the next morning (Aug-31). Recorded on interop-runner.
Eyevinn migrates the stack to draft-18; Tobbe files EOR-indicators issue #1861; audio glitch fixed
Ahead of the Sep-2 hackathon, the Eyevinn MoQ stack moved off draft-14/16 to draft-18 on Aug-30:
- moqtransport shipped a full draft-18 rewrite as v0.11.0 (PR #18, tobbee, +16,989/−13,359, tagged 17:21 UTC) — the first time the Eyevinn fork’s draft support has diverged materially from the
mengelbart/moqtransportupstream (still draft-11/13). - moqlivemock migrated in PR #129 (+977/−436, merged to
main21:03 UTC — not yet tagged; the last release, v0.13.0, is draft-14/16). - The migration surfaced a WG spec-clarity issue: moq-transport issue #1861 (tobbee, Aug-30 16:35 UTC) asks the WG to clarify §11.4.4.2 End-of-Range indicators — that the Group/Object IDs they carry are absolute, and that an End-of-Range object carries no Object Payload Length. Added to the moq-transport open-questions list.
Separately, on the Slack #moq thread under Tobbe’s Aug-6 caption post, the long-standing audio-glitch report was root-caused and fixed (Aug-30): Tobbe traced the “frequent small audio glitches” Jordi Cenzano first flagged (Aug-7, testing from the USA) to the MSF playback-rate mechanism being too nervous — oscillating 1.001 / 0.9998 every second instead of holding a constant 1.000, for both Opus and AAC — and patched the player so the glitches are gone (CMSF was unaffected). A tidy cross-continent interop-debugging close-out on the Eyevinn demo stack.
WG + list + datatracker: quiet; the weekly digest finally posts
- moq-wg: no PR merged in any repo (transport-19 stands; #1834 last merge). The only new WG artifact is moq-transport issue #1861 (above). msf / loc / secure-objects / cmsf / catalog-format / privacy-pass all quiet.
- Mailing list: the overdue weekly GitHub digest (Media Over QUIC Activity Summary, Repository Activity Summary Bot) posted Aug-30 (permalink, verified via raw permalink → 200 and a fabricated-ID control → 404) — the only in-window list message, resolving the “digest overdue ~Aug-30” watch. No consensus call / WGLC / new draft.
- Datatracker: no revision bump and no new draft — transport-19 (2026-07-06), loc-04, msf-01, secure-objects-01, cmsf-01, c4m-01, privacy-pass-auth-03 all stand. The interim-2026-moq-22 minutes (Aug-24 session) remain unposted (API count 0).
Implementations: moq-dev perf churn; moq-rs subgroup-ID fix; Eyevinn draft-18
- moq (Curley) merged 11 PRs Aug-30 (zero Aug-31), continuing the perf/net work with no new release (moq-relay v0.14.12 stands): #3211
perf(net)reduce priority-queue churn, #3196perf(net)avoid repeated live-edge scans, #3194perf(kio)lazily allocate waiter-list IDs, #3195fix(rtc)complete client media negotiation, #3180fix(uring)cancel staged receives on worker drop, #3178fix(publish)apply audio gain before first frame, #3176fix(js)validate fanout queue limits, #3114fix(watch)apply Sync max-age to audio subscriptions, plus #3206 “discover MSF broadcasts in the watch demo”, a docs reorg (#3186) and a uring test (#3153). - moq-rs landed the tracked OPEN #223 “fix(moq-transport): preserve subgroup object IDs” (englishm, +408/−55, merged 21:47 UTC) — a subgroup wire-fidelity fix, no new release (v0.7.26 stands).
- moxygen — two direct Aug-30 commits:
0d886e3efixing a use-after-free inMoQCache::evictTrack’s debug log, and10d0bb78a hash bump. moqx re-synced the moxygen mirror (#659, automated bot). - Quiet: quiche (moqt dir last
3c4812cAug-28), moqtail, imquic, libquicr, moq-js (draft-14), warp-player (v0.13.1, Aug-29), birneee/quiche_moq.
Interop: −7 to a new expanded-matrix low (116)
The runner published Aug-30 00:28:30 UTC: 351 / 116 / 225 / 10 (at-target draft-18 210 · ahead 3 · behind 138) — a −7 pass / +7 fail slip that gives back the Aug-29 bounce and sets a new low on the expanded 351-cell matrix (previous low 121, Aug-28), on a byte-flat matrix (version breakdown 210 · 3 · 138 now held for four straight cuts). The dip lines up with afrind’s Aug-30 conformance sweep finding most draft-18 relays still failing at SUBSCRIBE. Still targets draft-18. See interop-runner.
Activity (Aug 29 → Aug 30) — A genuinely quiet window: every source layer holds flat, and the one moving number is the interop runner ticking +2 off its expanded-matrix low. No new top-level Slack #moq traffic since afrind’s Aug-29 01:24 CEST CACHE_DISTANCE musing (logged the prior window); the deMOQed 2026 thread stays at 4 replies (Aug-28); #moq-rs/#moq-js/#libquicr all silent. moq-transport merged nothing and opened nothing new — issue #1860 (atomic subscription bundles, sharmafb, Aug-28) is still the newest artifact; transport-19 stands, #1834 last merge. Datatracker flat — no WG revision bump (transport-19 / loc-04 / msf-01 / secure-objects-01 / cmsf-01 all stand); the only recent individual-draft motion is draft-yuyou-moq-conditional-filtering-00 (a rename of the earlier draft-yuyou-conditional-filtering, still rev-00, Aug-26 — outside-window, no content change). Mailing list flat — newest is still the Aug-27 PR#1770 PUBLISHER_PRIORITY replies; the weekly GitHub digest (last Aug-23) is now overdue (~Aug-30). On implementations, only moq stayed busy — ~6 more Aug-29 merges continuing the io_uring / net / cli churn, including a breaking feat(net)! (#3158) that resolves a subscribe’s start from max-age with Group Start as an absolute floor — but no new release (moq-relay v0.14.12 stands), so no entity-page change. moq-rs is quiet since its Aug-29 ~00:33 UTC v0.7.26 cut (new OPEN #223 preserve-subgroup-object-IDs, no merge); quiche (last 3c4812c Aug-28), moqtail (#377 OPEN, relay@0.14.1), and moq-js (draft-14) all flat. Interop: the runner’s Aug-29 00:23:47 UTC cut — 351 / 123 / 218 / 10 (at-target draft-18 210 · ahead 3 · behind 138) — a +2 pass / −2 fail bounce off the Aug-28 low (121), the first up-day since the matrix expanded to 351, on a byte-flat matrix (version breakdown 210 · 3 · 138 now held for three cuts). No new MoQ Monthly (#2, May 31); no open wiki issues. Sep-2 draft-18 interop hackathon stays the next milestone, then interim-23 on Sep-8 and deMOQed on Oct-8.
Slack + WG + list: all quiet
- Slack
#moq: no new top-level message in-window; the newest is still afrind’s Aug-29 01:24 CESTCACHE_DISTANCEfetch-extension idea (logged the prior window). The deMOQed 2026 announcement thread holds at 4 replies (latest Aug-28 20:56 CEST).#moq-rs/#moq-js/#libquicrsilent. - moq-wg: no PR merged, no new issue — issue #1860 (atomic subscription bundles) remains the newest artifact; open PR set (#1858 / #1856 / #1855) unchanged. msf / loc / secure-objects / cmsf / catalog-format / privacy-pass / CAT-4-MOQT all quiet.
- Mailing list: no new message; the three newest remain the Aug-27 PR#1770 replies. The weekly GitHub digest (last posted Aug-23) is now due/overdue (~Aug-30) — not yet posted at check time.
- Datatracker: no WG revision bump and no new draft. The one flicker is
draft-yuyou-moq-conditional-filtering-00, a rename (adding themoqstream segment) of the earlierdraft-yuyou-conditional-filtering-00that datatracker stamps Aug-26 — still rev-00, no content change, and outside the window.
Implementations: moq-dev keeps churning; everyone else flat
- moq (Curley) kept the io_uring / net push rolling with ~6 more Aug-29 merges: a breaking #3158
feat(net)!: resolve the subscribe start from max age, with Group Start as an absolute floor, #3156 CLI name-completion at the prompt, #3146feat(json)snapshot-publisher group cuts, #3166 remove native deadlock detection, #3167fix(net)bound reach by the immediate successor, and #3162 nix fix. No new release (moq-relay v0.14.12 stands, latest tags from the Aug-27 train), so no entity-page edit; OPEN to watch: #3169 (wall-clock LRU expiry to the cache pool) and #3168 (sliding-window JSON mode). - moq-rs — quiet since the Aug-29 ~00:33 UTC
moq-relay-ietfv0.7.26 cut; one new OPEN #223 “preserve subgroup object IDs” (Aug-28), no merge. - Quiet: quiche (moqt dir last
3c4812cAug-28), moqtail (#377 OPEN, relay@0.14.1), moq-js (draft-14), imquic, libquicr, moxygen, moqx, Eyevinn, warp-player, moqtransport, birneee/quiche_moq.
Interop: first up-day on the expanded matrix — 123 pass (+2)
The runner published Aug-29 00:23:47 UTC: 351 / 123 / 218 / 10 (at-target draft-18 210 · ahead 3 · behind 138) — a +2 pass / −2 fail bounce off the Aug-28 low (121). The version breakdown (210 · 3 · 138) has now held byte-identical for three straight cuts, so this is a genuine same-matrix uptick and the first up-day since the matrix expanded to 351, consistent with the freshly-wired stitcher-moq cells starting to settle ahead of Sep-2. Still targets draft-18. See interop-runner.
Activity (Aug 28 → Aug 29) — Slack breaks its quiet with a community headline — a first dedicated MoQ conference — plus early transport design musings, while cloudflare/moq-rs wakes up with a v0.7.26 relay release and the WG/spec layer stays flat. The window’s most durable item is a community one: Luke Curley announced deMOQed 2026 (Slack #moq, Aug-28 17:52 CEST; moq.dev/blog/demoqed), the first dedicated MoQ conference — Oct 8, 2026, 1–8pm at the Alamo Drafthouse in San Francisco (during SF Tech Week), hosted by the MoQ Alliance, a practical-applications counterpart to IETF’s technical sessions (“actually building something, not just speculating”), $99 entry deliberately in lieu of sponsors. In the thread, Mike English noted the MoQ Alliance is open to new members (logos), Luke stressed it is not exclusive with OpenMOQ, and English confirmed OpenMOQ is itself a member. Separately, afrind floated two early transport ideas on #moq: a CACHE_DISTANCE fetch-response extension (a sticky varint signalling cache hit/miss depth across relay chains — 0/absent = origin, 1 = relay cache, >1 = upstream fetch) and a small EOG-redundancy question (setting the header EOG bit and Object Status = EOG — “wasteful”). The only new WG artifact is moq-transport issue #1860 (sharmafb, Aug-28) — interest-check for an atomic subscription bundles extension. moq-transport merged nothing (transport-19 stands; #1834 last merge); datatracker flat — no revision bump, no new draft; the interim-22 minutes are still pending (Aug-24 session; count 0). On implementations, moq-rs broke ~7 quiet days — merged #220 (peer-forwarded PUBLISH_NAMESPACE → discovery-only), #222 (rendezvous-timeout support), #217 (session-correlated observability) and cut the moq-relay-ietf v0.7.26 train (#212). Mailing list flat (newest still the Aug-27 PR#1770 replies; weekly GitHub digest due ~Aug-30). #moq-rs/#moq-js/#libquicr silent; no new MoQ Monthly (#2, May 31); no open wiki issues. The Sep-2 draft-18 interop hackathon stays the next community milestone, then interim-23 on Sep-8, and now deMOQed on Oct-8 joins the calendar.
Community: deMOQed 2026 — the first dedicated MoQ conference
Luke Curley announced (Slack #moq, Aug-28 17:52 CEST; details at moq.dev/blog/demoqed and moqalliance.org/demoqed-2026) deMOQed 2026, the ecosystem’s first dedicated conference:
- When/where: Oct 8, 2026, 1pm–8pm (+ afterparty) at the Alamo Drafthouse, San Francisco, timed to SF Tech Week (organizers tried but couldn’t line the dates up with an IETF meeting).
- Who: hosted by the MoQ Alliance — “a collection of companies implementing MoQ that want it to succeed” — with Renan (Cloudflare) and Matt (Mux) doing the heavy lifting.
- Focus: practical applications and real deployments, an explicit complement to IETF’s every-two-months technical work — “you gotta actually be building something, not just speculating,” and sales pitches are discouraged. Talk submissions go by email.
- Money/membership: $99 entry, deliberately chosen to avoid sponsors. In the thread Mike English said the MoQ Alliance welcomes new members (just send a company logo); Luke noted membership is not exclusive with OpenMOQ, and English added that OpenMOQ is itself a MoQ Alliance member. Alliance membership is “free and non-committal” via Discord or email.
This is the first standalone MoQ event on the calendar and a marker of the ecosystem maturing from spec work toward productization. Recorded in the index Community Resources.
Slack: afrind floats CACHE_DISTANCE and an EOG-redundancy question
Two early transport ideas from afrind on #moq, both standalone (no replies yet):
CACHE_DISTANCE(Aug-29 01:24 CEST) — an extension property to convey cache hit/miss ranges in fetch responses that also composes across chains of caches. A varint: missing or0→ sent by the original publisher or unknown;1→ served from the relay’s cache;>1→ received from an upstream fetch, each relay bumping the distance when proxying. The value is sticky in the fetch stream (only sent when it changes) and can be cast to a bool for miss/hit semantics.- EOG redundancy (Aug-28 21:45 CEST) — whether it is allowed to set the EOG bit in the header and send Object Status = EOG: “Seems not entirely wrong, just wasteful.”
Both are pre-PR musings; noted on the moq-transport open-design-questions list, no artifact yet.
Mailing list + WG: quiet; one interest-check issue (#1860)
The IETF list saw no new message in-window — the three newest remain the Aug-27 PR#1770 PUBLISHER_PRIORITY replies (Suhas / afrind / Vasiliev), already logged; the weekly GitHub digest last posted Aug-23 (next due ~Aug-30). No moq-wg PR merged (transport-19 stands). The one new WG artifact is moq-transport issue #1860 “Interest in an extension for atomic subscription bundles?” (sharmafb, Aug-28 23:36 UTC) — a request-for-interest on subscribing to a set of tracks as an atomic unit. Datatracker flat; the interim-2026-moq-22 minutes (Aug-24 session) are still not posted (API count 0). msf/loc/secure-objects/cmsf/catalog-format/privacy-pass/CAT-4-MOQT all quiet.
Implementations: moq-rs wakes with a v0.7.26 relay release; moq-dev perf churn; quiche cleanup
- moq-rs broke ~7 quiet days with a draft-18 relay push (pre-Sep-2 prep): merged #220 “treat peer-forwarded PUBLISH_NAMESPACE as discovery-only” (englishm, +430/−14) — the tracked OPEN #220 now landed — #222 “Add rendezvous timeout support” (Jacob/@nnazo, +2010/−158), #217 “correlate logs by MoQ session” (Manish/@itzmanish, +1675/−192), and #221 TrackName test fixes; then the queued release-please round (#212) merged Aug-29 ~00:33 UTC, cutting
moq-relay-ietfv0.7.26 (+ moq-pub v0.9.4 / moq-sub v0.4.15 / moq-clock-ietf v0.6.21 / moq-test-client v0.1.13) — the repo’s first tagged release since July 31. A durable version + capability change, folded into the moq-rs page. - moq (Curley) stayed heavy (~16 merges Aug-28/29), tuning the fresh io_uring path — #3133 “grow UDP pools when the socket starves” (+377/−59), #3135 fast hashes for trusted packet maps, #3149 “serve TCP/Unix without QUIC”, #3151 cross-origin-isolated demos, #3148 restore upstream quiche deps — plus JSON/watch/cli fixes. No new release (moq-relay v0.14.12 stands); tracked OPEN PRs #3109 (catalog data tracks) and #3099 (group-order-as-handle) remain open.
- quiche — one small moqt cleanup commit
3c4812c“Remove leftover UNSUBSCRIBE message code” (Aug-28 15:50 UTC), tidying after the Aug-27 control-channel refactor; no entity-page edit. - moqtransport — two Aug-28 merges: #16 “Eyevinn fixes” (paulharter, +169/−15) and #17 “Follow-ups to #16: document delivery semantics, guard against goroutine leaks” (tobbee, +34/−3); no release.
- moqx — moxygen mirror syncs (#656/#649) + per-track-QoS dashboard wiring (#640) + ccache hardening (#636); snapshot re-cut.
- Quiet: moq-js, moqtail (relay@0.14.1; #377 still OPEN), imquic, libquicr (#923 still OPEN), moxygen (moves via the moqx mirror), Eyevinn, warp-player, birneee/quiche_moq.
Interop: first clean nightly on the 351-cell matrix — 121 pass (−8)
The runner published Aug-28 02:52:10 UTC: 351 / 121 / 220 / 10 (at-target draft-18 210 · ahead 3 · behind 138) — the first clean nightly on the expanded 351-cell matrix (the Aug-27 14:16 cut was the expansion re-run itself). Matrix flat at 351 and the version breakdown byte-identical (210 · 3 · 138), but pass −8 (129 → 121), fail +8 — a small same-matrix regression as the freshly-wired stitcher-moq cells and drift settle in; 121 is a new low on the expanded matrix. Still targets draft-18. See interop-runner.
Activity (Aug 27 → Aug 28) — The interop and implementation planes carry the window while the WG/spec layer holds flat, and the PUBLISHER_PRIORITY design debate sharpens from whether to how on the list. Two things move. (1) The interop-runner posted its first matrix growth since the Aug-19 contraction: after a ~nightly Aug-27 01:30 UTC cut slipped −6 to a post-contraction-low 122 on the old 321-cell matrix, a second same-day cut at 14:16 UTC ran an expanded 351-cell matrix (129 / 212 / 10, at-target 210 · ahead 3 · behind 138) after runner PR #112 merged 14:01 UTC, enrolling Steven Riedl’s stitcher-moq relay (Pluto TV / Paramount) — at-target +20, and (as with every prior expansion) fail jumped +29 as the freshly-wired cells failed on their first cut. This is the pre-Sep-2 hackathon broadening Mike English flagged. (2) moq landed its io_uring / WebTransport worker push — the PRs that were OPEN the day before (#3082/#3081/#3078) merged Aug-27, plus a reusable-buffer batched-I/O change (#3090). On the list, the PUBLISHER_PRIORITY / PR #1770 thread got three substantive Aug-27 replies that shift the debate from whether to allow priority changes (broad agreement) to how to signal them — Suhas floats a NOTIFY, afrind argues REQUEST_UPDATE + LARGEST_OBJECT, Vasiliev defends the status-quo one-byte-per-datagram scheme. moq-transport merged nothing (transport-19 stands; #1834 last merge); datatracker flat — no revision bump, no new draft; the interim-22 minutes are still pending (Aug-24 session; count 0). quiche reworked its control channel onto a pair of unidirectional streams (Vasiliev, e88d141). moq-rs opened PR #220 (peer-forwarded PUBLISH_NAMESPACE → discovery-only). #moq/#moq-rs/#moq-js/#libquicr all silent in-window; no new MoQ Monthly (#2, May 31); no open wiki issues. The Sep-2 draft-18 hackathon stays the next community milestone, then interim-23 on Sep-8.
Mailing list: the PUBLISHER_PRIORITY debate sharpens from whether to how
The “PR #1770 — changes to PUBLISHER_PRIORITY” thread (afrind’s Aug-26 reply was the prior window’s item) drew three more replies on Aug-27, all verified via raw permalink + a 404 control. The consensus has settled on the whether — allowing a publisher to change priority mid-stream is useful, and (per the interim) a perfect race-avoidance solution is not required — so the live question is now the mechanism:
- Suhas Nandakumar (03:45 UTC, permalink) — “Yes for allowing publisher priority to be modified and also yes for relays using it for compression scheme. Agree that the sentiment in the meeting was not to worry about perfect solution for avoiding races. Wonder if we should use notify to let the subscribers know of change in publisher priority?”
- afrind (15:06 UTC, permalink) — argues REQUEST_UPDATE is better than PUBLISH_STATE_NOTIFY for this: the REQUEST_OK gives the publisher an unequivocal signal of when it is safe to drop explicit per-object priority and resume compressing. Adds that, assuming priority changes happen over many-RTT timescales and publishers publish at increasing locations, including
LARGEST_OBJECTwhen changingDEFAULT_PUBLISHER_PRIORITYgives the receiver a high chance of reconstructing priority correctly while holding only the Location and the previous priority value. - Victor Vasiliev (15:31 UTC, permalink) — skeptical of the PR’s scheme. Frames three mutually-exclusive costs when changing publisher priority: (1) a byte per datagram (the status quo), (2) participants holding a consistent view of publisher priority, or (3) QPACK-style update complexity. He calls #1 “the sweet spot” — suboptimal for audio but far from the lowest-hanging byte-saving fruit — and warns that people underestimate the downside of inconsistent priority views: “things will work most of the time, but once in a while, active speaker detection will break for some users, and it will be a giant pain to debug.”
Recorded as an in-place update to the moq-transport PUBLISHER_PRIORITY open-question. The PR stays OPEN, no merge; transport-19 stands. The related sharmafb issue #1859 (equal-priority interleaving, Aug-26) saw no new discussion. No consensus call, no WGLC, no new draft; the weekly GitHub digest last posted Aug-23 (next due ~Aug-30).
Interop: first matrix growth since the contraction — stitcher-moq (Pluto TV) enrolled
The runner posted two Aug-27 cuts — a story of a regression followed by an expansion:
- The 01:30:43 UTC ~nightly cut ran on the old 321-cell matrix: 321 / 122 / 189 / 10 (at-target 190 · ahead 1 · behind 130) — a −6 pass slip vs Aug-26 that broke the four-day climb (123 → 124 → 125 → 128) and set a new post-contraction low of 122.
- Then, once runner PR #112 (Steven Riedl,
stitcher-moqrelay) merged 14:01 UTC and PR #111 (moxygen/moqx draft-18 client ALPN doc) merged 14:02, the matrix rebuilt and the 14:16:15 UTC cut ran the expanded 351-cell matrix: 351 / 129 / 212 / 10 (at-target 210 · ahead 3 · behind 138). Matrix +30, at-target +20, ahead +2, behind +8; pass ticked +1 to 129 while fail jumped +29 to 212 as the freshly-wiredstitcher-moqcells failed on their first cut — the runner’s recurring first-cut-of-an-expansion pattern (pass rate 39.9% → 36.8%).
stitcher-moq is Pluto TV / Paramount’s public relay, enrolled ahead of the Sep-2 draft-18 hackathon; it is the runner’s 17th relay endpoint and (like moq-go/moq5/moqt-nr) has no wiki page yet. See interop-runner.
Implementations: moq-dev io_uring push lands; quiche control-channel refactor; moq-rs #220
- moq (Curley) landed 8 merges Aug-27, the headline being the io_uring / WebTransport worker track that had been OPEN the day before: #3082 “serve QUIC from io_uring workers” (+1604/−356), #3081 “speak WebTransport for browser peers” (+1875/−94), #3078 shared-listener plumbing (+455/−109), plus #3090 “batch frame reads/writes through a reusable buffer” (+1306/−276) and workspace-deps chores (#3098/#3095/#3091/#3088). Two OPEN PRs are worth watching: #3109 “add json and binary data tracks to the catalog” (+3416/−26) and #3099 “make group delivery order a handle, retire the Ordered wire field” (+920/−1434). The Aug-27 release train (moq-gst v0.3.7 / moq-ffi v0.3.14 / libmoq v0.5.11 / obs-moq v0.5.11) was already logged; moq-relay v0.14.12 stands, so no entity-page edit.
- quiche — Vasiliev’s commit
e88d141(Aug-27 23:38 UTC) “Use a pair of unidirectional streams for control messages” reworks the control channel itself, a step beyond the July–Aug work that peeled individual control messages onto dedicated bidirectional streams. Folded into the quiche-moq Recent Highlights as a durable migration milestone. - moq-rs — English opened OPEN PR #220 “treat peer-forwarded PUBLISH_NAMESPACE as discovery-only” (+430/−14); no merge/release,
moq-relay-ietfv0.7.25 stands. - moxygen — 9 Aug-27 commits (internal→mirror), including “Fix subgroup ID encoding for subscribers that join mid-subgroup,” compact subgroup/datagram encodings + conformance-suite coverage, and splitting
MoQTestPublisherout ofMoQTestServer. - moqx — merged Aug-27 #649 (moxygen sync) and #640 (dashboard per-track QoS wiring, +459/−191); OPEN #651 (>1 TLS cert, +3306/−261) and afrind’s #647 Python topology test harness (+1812/−606).
- libquicr — no merge in-window (Aug-26’s 922 were the last); OPEN #923 “Replace DataContext with per-stream contexts” (+2183/−1636).
- Quiet: moq-js, moqtail (#377 still OPEN; relay@0.14.1 stands), imquic (last PR #35, Aug-25), Eyevinn repos, warp-player, moqtransport, birneee/quiche_moq.
Activity (Aug 26 → Aug 27) — The LOC private-properties ambiguity flagged on Aug-25 gets an author-level answer, the WG-list PUBLISHER_PRIORITY debate advances, and the implementation layer stays busy while the WG/spec layer holds flat. The window’s most substantive item is on the media plane: Jordi Cenzano’s Aug-5 moq-encoder-player thread grew from 2 → 9 replies across Aug-26, and the LOC private-properties encoding mismatch resolved into an author-level reading — Suhas Nandakumar (a LOC author): private properties are not Secure-Objects-specific, they are ordinary payload properties encoded as standard Key-Value-Pairs, so an empty set is a zero-length KVP (working out to a 0xA 0x00 object-payload prefix, type + zero length), not omission (moq-encoder-player) and not a bare 0x00 count byte (imquic). Both implementations were off; Suhas to confirm, then Miniero aligns imquic and retries imquic ↔ moq-encoder-player media interop. On the list, afrind advanced the PUBLISHER_PRIORITY / PR #1770 trade-off (Aug-26 15:35 UTC, permalink): the savings are at most one byte per datagram/subgroup (not the “2-3 bytes” Cullen cited), few in the WG find it worth the machinery, so gate the priority-change feature behind a SETUP opt-in or an extension document — but the PR’s base-draft changes (Default Publisher Priority back to a parameter; relaxed malformed-track rules) land regardless. The only new WG artifact is moq-transport issue #1859 (sharmafb, Aug-26) — how to signal that equal-priority data should interleave vs be sent serially. moq-transport merged nothing (transport-19 stands); datatracker flat — no revision bump, no new draft; the interim-22 minutes are still pending (Aug-24 session; interim-21’s lagged ~4 days, so still normal). On implementations, moq’s io_uring/quiche worker push rolled on with a release train, and — notably — Steven Riedl (Pluto TV) moved from interop-testing into code contribution (landed a moq-dev PR, opened issues). #moq-rs/#moq-js/#libquicr silent; no new MoQ Monthly (#2, May 31); no open wiki issues. The Sep-2 draft-18 interop hackathon stays the next community milestone, then interim-23 on Sep-8.
Slack + LOC: Suhas resolves the private-properties encoding — an empty set is 0xA 0x00
The Aug-25 mismatch (see the prior window) resolved on Aug-26 in Jordi Cenzano’s moq-encoder-player thread, which jumped from 2 → 9 replies:
- Miniero (Aug-26 10:46 CEST) corrected his earlier “it works” — he could receive and decode what moq-encoder-player sends, but moq-encoder-player rejects the video imquic sends (a second-direction failure). So the pairing is not yet clean either way.
- Suhas Nandakumar (Aug-26 12:39 CEST) — a LOC author — gave the authoritative reading: “Private Properties are not specific to secure objects other than being defined in that spec for convenience. They are payload properties and follow the standard Key-Value-Pairs. So having zero length is [the] recommended way for these structures. So yes, the implementations need to signal that.” Working it through with Miniero, the object-payload prefix for an empty private-properties set lands at
0xA 0x00— type0xA, length0— not omission (moq-encoder-player) and not a bare0x00count byte (imquic). Suhas said he’ll “confirm as soon as I get a better connectivity … but above looks about right.” - Net: the LOC-04 §3.1.3 ambiguity that surfaced Aug-25 now has an author-level answer but no draft text yet; Miniero will change imquic once Suhas confirms and then attempt real imquic ↔ moq-encoder-player media interop — exactly the kind of media-plane friction the Sep-2 hackathon is meant to shake out. Recorded on the moq-loc private-properties open-item.
Slack: moxygen’s announce-subscribe interop case publishes the wrong namespace
Steven Riedl (Pluto TV) posted (Aug-26 18:10 CEST) that, pre-running the interop matrix against Pluto’s relay, he found moxygen’s announce-subscribe interop case publishes namespace moq-interop-test (MoQInteropClient.cpp:375) instead of the runner-spec moq-test/interop its other five cases use — so it fails as unauthorized against any relay that scopes anonymous publish to the moq-test prefix (Pluto’s relay and cdn.moq.dev both show it as the lone 5/6). A one-line fix should turn those columns to 6/6. afrind replied “Thanks. Will fix it” and pointed to the #moxygen channel (CC Aman Sharma, sandarsh). This is a config-not-protocol interop bug in the same family as moxygen’s earlier interop-client ALPN gap — recorded on interop-runner.
Mailing list: afrind advances the PUBLISHER_PRIORITY trade-off
afrind’s Aug-26 15:35 UTC reply on the “PR #1770 — changes to PUBLISHER_PRIORITY” thread (permalink) answers Cullen Jennings’s Aug-24 pushback and moves the design forward:
- The savings are at most one byte per datagram/subgroup (the priority byte) — afrind corrects Cullen’s “2-3 bytes.” He agrees there is probably a use case, and everyone interested has said perfect fidelity is not required.
- Sentiment is against the machinery: “few people in the working group (zero in the interim) found the savings compelling enough to justify the suggested machinery.” His proposal: add a SETUP option that lets the receiver opt in, or go further and define the feature in an extension document.
- But the base-draft changes stay regardless: moving Default Publisher Priority back from a property to a parameter, and relaxing the malformed-track rules around priority, “need to happen in the base draft regardless.”
Recorded as a new moq-transport open-design-question bullet. Adjacent to it, sharmafb opened issue #1859 (Aug-26 21:47 UTC) — “No way to specify equal-pri data: interleave vs serially?” — a fresh question about how a publisher signals interleaving for equal-priority streams (the priority scheme orders unequal priorities but leaves equal-priority delivery unspecified). New, no PR. No datatracker revision, no consensus call, no WGLC; the weekly GitHub digest last posted Aug-23 (next due ~Aug-30).
Implementations: moq-dev io_uring push + Pluto TV joins as a contributor; libquicr perf; moqx /state refactor
- moq stayed heavy Aug-26 → Aug-27 (Curley unless noted): the io_uring / quiche worker track continued — #3073 “serve many QUIC connections per socket with an Endpoint” (+1335/−229) merged, with OPEN follow-ups #3082 “serve QUIC from io_uring workers” (+1491/−356), #3081 “speak WebTransport for browser peers” (+1685/−90), and #3078 shared-listener plumbing — plus a bandwidth-estimate-divided-among-tracks change (#2854, +1829/−468), an auth-API-as-source-of-truth-for-live-sessions relay change (#3041, +1747/−132; OPEN companion #3044
--auth-api-mode proxy), ausage-rsCLI-parsing migration (#3030, +2480/−1419), an Opus-decoder-description publish fix (#3071), and many net/cache fixes. A release train cut Aug-27 00:10–00:33 UTC — moq-gst v0.3.7, moq-ffi v0.3.14, libmoq v0.5.11, obs-moq v0.5.11 — but moq-relay stays v0.14.12 (Aug-21). - Steven Riedl (Pluto TV) crossed from interop-testing into code contribution: he landed moq-dev #3075 “fix(moq-srt): preserve SCTE-35 through the SRT gateway” (+135/−4, Aug-26) and opened issue #3076 (moq-relay should fail-fast on an unimplemented PUBLISH), on top of his Slack interop findings. A concrete sign of a new production operator (Pluto TV/Paramount) investing in the moq-dev stack.
- moq-rs merged nothing new in-window (its four Aug-25 draft-18 fixes were the prior window), but two items are worth watching: OPEN observability PR #217 “correlate logs by MoQ session” (itzmanish, +1457/−204) and a production-implementer-feedback issue #218 (Norman Todd, Aug-26) giving relay + provisioning-API feedback and asking whether
draft-englishm-moq-cdn-provisioningwill be refreshed before it expires Sep-2. - libquicr (Cisco) landed two performance merges Aug-26: #922 “Rich shard perf markactive” (Rich Logan, +324/−196) and #921 “Use queue to mark active instead of function pointer” (Tim Evens, +360/−229) — reworking the “mark active” path. No release.
- moqx — afrind’s relay/admin refactor landed Aug-26: #633 stream
/stateas the walk produces it (+850/−52), #632/#630/#627 executor-ownership + ingest-count fixes, plus a moxygen sync (#643); michalhosna opened config issues #644/#645. - moqtail — one OPEN PR, #377 “Check id gaps for malformed tracks” (sharmafb, +54/−1); no merge, relay@0.14.1 stands.
- Quiet: moq-js, quiche (no
quiche/quic/moqtcommit), moxygen (moves only via downstream moqx syncs), imquic (only Aug-25’s macOSsocklenPR #34), Eyevinn repos, warp-player, moqtransport, birneee/quiche_moq, englishm/moq-interop-runner.
Interop: +3 pass to 128, biggest gain since the contraction
The nightly runner published Aug-26 00:13:53: 321 / 128 / 183 / 10 (at-target draft-18 190 · ahead 1 · behind 130) — a +3 pass / −3 fail move versus Aug-25 on a byte-flat 321-cell matrix (at-target/ahead/behind all unchanged), the biggest single-day gain since the Aug-19 contraction and a fourth straight up-day (123 → 124 → 125 → 128), back to the top of the post-contraction 123–129 band. Still targets draft-18. See interop-runner.
Activity (Aug 25 → Aug 26) — The ecosystem grinds on draft-18 / loc-04 media-plane interop ahead of Sep-2: a concrete LOC private-properties mismatch surfaces, cloudflare/moq-rs wakes with four draft-18 fixes, and MSF lands two more editorial merges. No moq-transport merge (transport-19 stands; PR #1858 NAMESPACE-Parameters and issue #1857 metadata-scope both still OPEN with no in-window discussion), and the datatracker is flat — no revision bumps, no new drafts; the interim-22 minutes are still pending (Aug-24 session; interim-21’s lagged ~4 days, so still normal). The window’s real motion is on the media plane and in the implementations. (1) On Slack #moq, Lorenzo Miniero — back from summer break — reported (Aug-25 16:06 CEST, reply on Jordi Cenzano’s Aug-5 moq-encoder-player thread) that after updating imquic to loc-04 he got media working end-to-end against moq-encoder-player except for a private-properties encoding mismatch: moq-encoder-player omits the LOC private-properties block entirely while imquic expects a leading 0x00 count byte, so imquic’s receiver mis-parses unless the block is skipped. He reads LOC-04 §3.1.3 as ambiguous and asked Suhas Nandakumar for the right interop behaviour when Secure Objects aren’t used — the exact “omit-the-block vs write-a-zero-count” ambiguity imquic’s own PR #29 had picked a side on, now biting a real cross-implementation pairing. (2) msf merged two more editorial PRs (Will Law): #199 “Refactor initialization track and object properties” (+22/−26, Aug-25 08:19 UTC — the companion PR flagged OPEN the prior two windows, now landed) and #207 “Update MSF_COMPRESSION property definition” (+3/−5, Aug-25 13:23 UTC); repo-level toward a future msf-02, msf-01 datatracker stands. (3) moq-rs broke ~7 days of dormancy — Mike English merged four draft-18 conformance/hardening PRs Aug-25 (see below), reading as pre-hackathon prep. #moq-rs/#moq-js/#libquicr silent; no new MoQ Monthly (#2, May 31); no open wiki issues. The Sep-2 draft-18 interop hackathon stays the next community milestone, then interim-23 on Sep-8.
Slack + LOC: imquic hits loc-04 and finds a private-properties interop mismatch
Miniero’s Aug-25 16:06 CEST reply (on Jordi Cenzano’s Aug-5 draft-18 + LOCv4 moq-encoder-player announcement) is the window’s most substantive spec-relevant item, and it is confirmed by imquic’s own commit log the same day (commit 8d26c94 “Updated LOC properties to v04”, 13:56 UTC):
- After updating imquic to loc-04, Miniero got media to work end-to-end against
moq-encoder-player— but moq-encoder-player “is not putting any private property as part of the payload, which confuses my receiver. If I skip that part, it works as expected.” Neither side actually uses private properties, but per LOC-04 the frame payload must still be prepended with a0x00to signal “no private properties” — which moq-encoder-player omits and imquic expects. - Miniero finds LOC-04 §3.1.3 (Private Properties) genuinely ambiguous — “section 3.1.3 in the LOC draft confuses the hell out of me” — wondering whether the receiver check should instead be “first byte is
0xA⇒ private properties present,” which ties into the Secure Objects draft he says he hasn’t read in detail. He pinged Suhas Nandakumar (a LOC author) for how this should be handled “for proper interop even when secure objects aren’t used.” - This is the same underspecified point imquic resolved implementation-side (its PR #29 writes an explicit prefix); it has now caused a concrete two-impl media mismatch, with a reproducing pair (imquic ↔ moq-encoder-player) and an open question to a LOC author. Recorded on the moq-loc page’s private-properties open-item.
moq-wg: two more MSF editorial merges; transport quiet
The only moq-wg merges were on msf (@wilaw), both Aug-25 and both editorial:
- #199 “Refactor initialization track and object properties” (+22/−26, merged 08:19 UTC) — the companion to Aug-23’s event-timeline refactor #206; it had stayed OPEN through the prior two windows and now landed.
- #207 “Update MSF_COMPRESSION property definition” (+3/−5, merged 13:23 UTC) — a small property-definition tidy-up.
Both are a GitHub-repo pass toward a future msf-02; the published msf-01 datatracker revision is unchanged, so the moq-msf draft page was not touched. moq-transport merged nothing (transport-19 stands): PR #1858 “Add Parameters back to NAMESPACE” and issue #1857 “Metadata in the data plane” are both still OPEN with no new discussion; Mo Zanaty’s Top Tracks Filter #1830 saw a minor Aug-25 update. CAT-4-MOQT #46 still OPEN, no activity; loc, secure-objects, cmsf, catalog-format, privacy-pass quiet. Datatracker flat — no revision bump, no new draft; interim-22 minutes still pending.
Implementations: moq-rs wakes for draft-18; moq-dev io_uring/quiche worker day
- moq-rs broke ~7 days of dormancy (last push Aug-18) with four
draft-18fixes merged Aug-25 (@englishm-cloudflare): #216 “correct draft-18 error code registry” (+82/−8 — un-swapsTOO_FAR_BEHIND/EXPIREDand adds missing codes), #214 “honor PUBLISH_DONE Stream Count before teardown” (+1644/−148), #213 “explain WebTransport CONNECT rejections” (+107/−4), and #215 “stop publish-track-subscribe failing on a clean end” (+61/−11). Conformance-facing hardening that reads as pre-Sep-2-hackathon prep; no new release (moq-relay-ietfv0.7.25 stands). - moq posted a heavy ~19-merge Aug-25 (Curley unless noted), led by the io_uring / quiche worker track — #3014 “add thread-per-core worker skeleton” (+2791/−51) and #3033 “run moq-lite sessions over quiche on the worker” (+2082/−4) — plus breaking net-layer refactors severing the session from the transport (#3027 “sever Session from the transport” +376/−170, #3031 “run moq-lite machines unboxed over any transport” +754/−297, #3028 named-machine Tasks, #3040 enforce peer-identity config, #3038/#3029 dynamic-routing rework), GStreamer QUIC-timeout + sink-container work (#3032/#2997), and transcode rung reporting (#2965). Releases moq-ffi v0.3.13 / obs-moq v0.5.10 / libmoq v0.5.10 cut Aug-25, but moq-relay stays v0.14.12 (Aug-21). New OPEN protocol-facing PRs worth watching: #3035 “Add the MoQ Namespace Tail extension draft” and #3034 “Remove the Ended announce flag from moq-lite”.
- moqx — gmarzot’s #539 “per-track metrics: scrape stack, relay-visible dashboard, public variant” (+1002/−348) landed Aug-25, plus a moxygen sync (#639); new issues #641/#642 and OPEN dashboard PR #640. Still container tag v0.3.1 (Aug-23).
- imquic — the loc-04 update above (
8d26c94), a non-standard stream-closed qlog event (094c099), and a macOSsocklenfix (PR #34, Zafer Gürel). - libquicr — one trivial merge, #917 “Update picoquic” (+1/−1). Quiet: moq-js, quiche (no
quiche/quic/moqtcommit), moqtail (relay@0.14.1; Aug-24’s 376 were the last merges), moxygen (moved only via direct pushes synced into moqx), Eyevinn repos, warp-player, moqtransport (open PR #16 touched), birneee/quiche_moq.
Interop: a new cut, +1 pass (third straight)
The nightly runner published Aug-25 00:12:46: 321 / 125 / 186 / 10 (at-target draft-18 190 · ahead 1 · behind 130) — a +1 pass / −1 fail move versus Aug-24 on a byte-flat 321-cell matrix (at-target/ahead/behind all unchanged), the third straight +1/day climb (123 → 124 → 125) back to the top of the post-contraction 123–129 band. Still targets draft-18. See interop-runner.
Activity (Aug 24 → Aug 25) — The 8/24 interim was held, and its decisions show up as GitHub PRs and issues before any minutes post. The interim-2026-moq-22 virtual session ran Aug-24 16:30–18:00 UTC as scheduled. Its materials are on the datatracker — agenda (rev-01), chair slides, a “PRs and Issues” deck, bluesheets, a YouTube recording, and a chatlog — but the formal minutes are still pending (interim-21’s Aug-10 minutes lagged ~4 days, so this is normal, not a miss). The meeting merged nothing, yet its two agenda issues resolved into concrete artifacts the same day: on the parked NAMESPACE-Parameters question (#1800), Ian Swett opened PR #1858 “Add Parameters back to NAMESPACE” (+7/−0, Aug-24 18:03 UTC, Fixes #1800) minutes after the session — giving the mid-August PUBLISH_NAMESPACE debate a concrete direction (#1854 stays BLOCKED); and Michal Hošna opened issue #1857 “Metadata in the data plane: no scope between Track and Object” mid-meeting (Aug-24 17:11 UTC), arguing that emulating a Subgroup/Group metadata scope via object parameters (SUBGROUP/OBJECT_DELIVERY_TIMEOUT, PRIOR_GROUP_ID_GAP) is problematic. On the list, Cullen Jennings replied to PR #1770 (updatable PUBLISHER_PRIORITY; Aug-24 17:29 UTC, permalink) — a direct follow-up from the interim — arguing to separate “allow publisher-priority changes” (which he supports) from “eliminate race conditions” (which he says need not be solved), and that rejecting the feature to save “2-3 bytes of compression” is the wrong trade. Review-churn also touched open PRs #1856 (Track-Alias reuse), #1830 (Top Tracks Filter), and #1673 (fill-fetch). moq-transport merged nothing (transport-19 stands; #1834 remains the last merge); datatracker flat (no revision bump, no new draft). Slack #moq: no new top-level message, but the Aug-19 mlog thread grew a 5th reply — Lorenzo Miniero (Aug-24 08:55 CEST): “I think mlog specific events would help, especially in cases where it’s the only thing you log.” #moq-rs/#moq-js/#libquicr silent. CAT-4-MOQT issue #46 (“Clarify CAT token serialization”, MaxF12, Aug-24 10:22 UTC) opened before the meeting. No new MoQ Monthly (#2, May 31); no open wiki issues. The Sep-2 draft-18 hackathon remains the next community milestone.
moq-wg: the interim’s outcomes land as one PR and one issue
The 8/24 interim merged nothing on any moq-wg repo, but two of its agenda items produced GitHub artifacts within the hour:
- PR #1858 “Add Parameters back to NAMESPACE” (@ianswett, opened Aug-24 18:03 UTC, +7/−0, Fixes #1800) is the concrete outcome of the “NAMESPACE lacks Parameters support” discussion — the venue afrind and Swett agreed on for the parked PUBLISH_NAMESPACE debate. It restores a Parameters field to
NAMESPACE, so the direction coming out of the interim is extend NAMESPACE rather than add a separate PUBLISH_NAMESPACE message. #1854 “to PUBLISH_NAMESPACE or to not PUBLISH_NAMESPACE” remains BLOCKED. PR is OPEN (not yet merged). - issue #1857 “Metadata in the data plane: no scope between Track and Object” (michalhosna, Aug-24 17:11 UTC, opened mid-meeting) is a new design question: there is Track-scoped metadata (Track properties) and Object-scoped metadata (object parameters), but nothing scoped to a Subgroup or Group, and the current practice of emulating that with object parameters (e.g.
SUBGROUP_DELIVERY_TIMEOUT/OBJECT_DELIVERY_TIMEOUT,PRIOR_GROUP_ID_GAP) is awkward. - Review activity (no merge) touched #1856 (Track-Alias reuse), #1830 (Mo Zanaty’s Top Tracks Filter), and #1673 (fill-fetch). CAT-4-MOQT got a new pre-meeting issue #46 (“Clarify CAT token serialization”, MaxF12). msf #199 stayed OPEN (Aug-24 revision); loc, secure-objects, cmsf, catalog-format, privacy-pass all quiet.
See interim-meetings, moq-transport.
Mailing list: Cullen reopens the publisher-priority trade-off
Cullen Jennings’s Aug-24 17:29 UTC reply on the “PR #1770 — changes to PUBLISHER_PRIORITY” thread (permalink) is the one new list item, and it pushes back on the interim-21 lean toward rejecting PR #1770. Cullen splits the PR into two goals: allowing publisher-priority changes — which he supports (he cites conferencing active-speaker prioritization as a real use case) — and eliminating race conditions, which he argues need not be solved because relay priorities are imprecise anyway. Rejecting the whole feature just to save “2-3 bytes of compression” is, in his view, the wrong trade. No new datatracker revision, no consensus call, no WGLC; the routine weekly GitHub digest already posted in the prior window.
Slack: an implementer’s vote for dedicated mlog events
#moq had no new top-level message, but afrind’s Aug-19 mlog gap thread grew a 5th reply: Lorenzo Miniero (Aug-24 08:55 CEST) weighed in — “I think mlog specific events would help, especially in cases where it’s the only thing you log.” That backs the Pardue/Engelbart side of the thread (add dedicated mlog events / the missing stream types) over afrind’s “if mlog is layered over qlog, quic will carry the stream resets” framing — the observability-gap discussion (no defined events for the QUIC-level resets that replaced draft-16’s FETCH_CANCEL/UNSUBSCRIBE) is still open and now has three implementers favoring explicit mlog events. #moq-rs, #moq-js, #libquicr all silent.
Implementations: moqtail breaks quiet; moq-dev exposes raw-track demand
- moqtail broke a multi-week quiet with two Aug-24 merges (@zafergurel): #376 “Fix/upstream subscribe request leak” (+601/−315, Aug-24 19:34 UTC) and #375 “Refactor handling of namespace prefixes and pending requests cleanup” (+583/−309, Aug-24 19:07 UTC) — relay-side lifecycle hardening (leaked upstream subscribe requests; namespace-prefix/pending-request cleanup). No new release — relay@0.14.1 stands.
- moq stayed active Aug-24 (Curley unless noted): moq-ffi now exposes raw-track demand — #3020 “expose raw audio track demand” (+244/−2) and #3013 “expose raw video track demand” (+199/−84) — plus a named-fanout-delivery benchmark (#3024, +380/−100), a breaking
refactor!: hide media backend error types(#3019), and dependency bumps (#3017/#3018). A release-pleasechore: release(#3025, +298/−180) bumped versions but published no new tags — the Aug-21 train (moq-relay v0.14.12, libmoq v0.5.9, moq-ffi v0.3.12, …) still stands. - moqx — #638 moxygen-sync plus rolling snapshot builds; container tags v0.3.0/v0.3.1 cut Aug-23. Internal plumbing, no protocol-facing change.
- Quiet: moq-rs (last push Aug-18), moq-js, quiche (no
quiche/quic/moqtcommit since Aug-23), moxygen (only unrelated internal fbcode moves), libquicr, imquic, Eyevinn repos, warp-player, moqtransport, birneee/quiche_moq.
Interop: a new cut, +1 pass
The nightly runner published Aug-24 00:13:06: 321 / 124 / 187 / 10 (at-target draft-18 190 · ahead 1 · behind 130) — a +1 pass / −1 fail move versus Aug-23 on a byte-flat 321-cell matrix (at-target/ahead/behind all unchanged), recovering one cell off the post-contraction low. Still targets draft-18. See interop-runner.
Activity (Aug 23 → Aug 24) — The interim comes back into view: an MSF event-timeline refactor lands and Swett posts the 8/24 agenda. After a thin overnight window, the durable layer produced two things. (1) msf merged its first PR since Aug-13 — Will Law’s #206 “Refactor event timeline attributes and requirements” (+31/−17, Aug-23 14:15 UTC, closes #76/#83): it removes the mimeType attribute from identified-objects and scte35 entries, updates name attributes for tracking objects, and clarifies event-timeline track requirements and the updating process — an editorial cleanup of the same event-timeline surface that Will Law’s draft-wilaw-moq-cmcd-event-timeline-00 targets. It is a repo-level merge; msf-01 on the datatracker still stands (no revision bump). (2) On the list, Ian Swett posted the draft agenda for today’s 24 virtual interim (interim-22, Aug-23 17:47 UTC) — see below. moq-transport itself merged nothing (transport-19 stands; #1834 remains the last merge). Datatracker flat; the routine weekly GitHub digest finally posted (was due ~Aug-23). Slack #moq silent since the Aug-19 mlog thread (held at 4 replies) + Glenn Deen (Comcast) joining, both logged; #moq-rs/#moq-js/#libquicr all silent. No new MoQ Monthly (#2, May 31); no open wiki issues. The 8/24 interim runs 16:30–18:00 UTC today (after check time), so its outcomes land in the next update; the Sep-2 draft-18 hackathon remains the ecosystem’s next community milestone.
moq-wg: an MSF event-timeline cleanup, and the 8/24 interim agenda
msf #206 “Refactor event timeline attributes and requirements” (@wilaw, merged Aug-23 14:15 UTC, +31/−17) is the window’s one WG-repo merge. It removes the mimeType attribute from the identified-objects and scte35 event-timeline entries (the media/track already carries the codec/container signalling, so mimeType on the timeline entry was redundant), renames the name attributes used for tracking objects, and tightens the normative language on what an event-timeline track must contain and how it is updated. It closes issues #76 and #83. A companion PR, #199 “Refactor initialization track and object properties” (+22/−26), stayed OPEN with an Aug-23 revision. This is a GitHub-repo editorial pass toward a future msf-02; the published msf-01 datatracker revision is unchanged, so the moq-msf draft page was not touched.
moq-transport, loc, secure-objects, cmsf, catalog-format, privacy-pass, and CAT-4-MOQT had no merges. transport-19 stands; the open draft-20 PRs (#1856/#1855/#1853/#1852/#1851) are untouched since Aug-21.
Mailing list: Ian Swett’s 8/24 interim draft agenda
Ian Swett posted the draft agenda for the 8/24 virtual interim (interim-22) to the list on Aug-23 17:47 UTC (permalink). Two blocks:
- In-flight PRs (draft-20-bound), for re-review not detailed discussion. Location Filter rewrite #1809 and PUBLISH_NOTIFY #1820 are already merged; Fill-Fetch #1673 and SWITCH_FROM (hard) #1674 are under review — Swett asks the WG to re-review the updated PRs but does not plan to spend meeting time on them unless issues surface.
- Issues needing discussion (the bulk of the meeting). #1801 “Reconsider ‘OR’ functionality in range filters” and #1800 “NAMESPACE lacks Parameters support” — the latter is the venue afrind and Swett agreed on in the prior window for the parked PUBLISH_NAMESPACE debate (#1854, BLOCKED).
The routine weekly GitHub digest (Repository Activity Summary Bot) also posted, its first since Aug-16; no WGLC/consensus/interop-report content. See interim-meetings.
Implementations: moq-dev audio + opaque-data tracks; moqx release plumbing
- moq posted two Aug-23 (early-UTC) merges (Curley): #3008 “drain Opus lookahead on finish” (+1261/−174) — flushes the encoder’s lookahead samples so the tail of an Opus stream is not truncated on stream close — and
feat(moq-gst): publish opaque application data tracks(13abb8f, +363/−28), letting the GStreamer element carry non-media application-data tracks. No new release — moq-relay v0.14.12 stands. - moqx merged release/CI plumbing on Aug-23: #634 syncing moxygen to
02eaa88, #635 fixing the benchmark build and giving it PR coverage, and #637 baking the release version into the release container — following the Aug-22 afrind admin/relay refactor (#621–#625). Internal plumbing, no protocol-facing change. - moxygen posted a routine “Updating hashes” commit (
0ca32b1). Quiet: moq-rs, moq-js, quiche (an Aug-22 export commit touched noquiche/quic/moqtfile), moqtail, libquicr, imquic, Eyevinn repos, warp-player, moqtransport, birneee/quiche_moq.
Interop: a new cut, −3 pass
The nightly runner published Aug-23 00:14:05: 321 / 123 / 188 / 10 (at-target draft-18 190 · ahead 1 · behind 130) — a −3 pass / +3 fail slip versus Aug-22 on a byte-flat 321-cell matrix (at-target/ahead/behind all unchanged), the low end of the post-contraction 123–129 band. Still targets draft-18. See interop-runner.
Activity (Aug 22 → Aug 23) — A thin overnight window; the only motion is implementation churn. No moq-wg merge, no datatracker revision, no new draft, no new mailing-list message, and Slack #moq silent since the Aug-19 mlog thread — the durable spec/WG/community layer produced nothing since the last update ran Aug-22 08:23 UTC. transport-19 stands; Swett’s #1834 (Aug-21) remains the last transport merge, and open PRs #1855/#1856 are untouched. The Aug-21 Sep-2 draft-18 interop hackathon (English’s announce + Riedl’s RSVP) remains the ecosystem’s next scheduled milestone and the newest mailing-list item. No new MoQ Monthly (#2, May 31); no open wiki issues.
Implementations: moq-dev’s Aug-22 evening, plus a moqx admin refactor
- moq carried the window with ~7 Aug-22-evening merges (Curley unless noted). The most durable is #2993 “cancel IETF subscriptions instead of only closing the stream” (+1426/−93): the client now issues a proper subscription cancel rather than silently dropping the QUIC stream — the same draft-17/18 stream-reset behaviour that afrind’s Aug-19 mlog thread noted has no defined log event. Alongside it: the #3003 M3 io_uring UDP-batching spike (+1075/−79, a performance experiment), #3006 moq-cli TS-stdout frame pacing (+425/−150), #3004 moq-net “let a ready response beat local abandonment”, #2949 moq-ffi uniffi-0.32 (Python memmove copies), and CI hygiene (#2995 SHA256SUMS + tag-named archives, #2970 py build/docs tooling lock). No new release — moq-relay v0.14.12 stands from the Aug-21 train.
- moqx merged five afrind admin/relay refactor PRs on Aug-22 (#621–#625): a chunked
/stateJSON writer with the visitors split into their own header, egress-gated route handlers, and hoistingTrackStatsFilter’s recent-group window into aRecentGroupWindowtype. Internal plumbing, no protocol-facing change. - moxygen posted a single routine “Updating hashes” commit (
3f0f288). Quiet: moq-rs (last push Aug-18), moq-js, quiche (noquiche/quic/moqtcommits), moqtail, libquicr, imquic, Eyevinn repos, warp-player, moqtransport, birneee/quiche_moq.
Interop: no new cut
The nightly runner published no new report in-window; the newest is still Aug-22 00:13:58: 321 / 126 / 185 / 10 (at-target draft-18 190 · ahead 1 · behind 130), already logged. The gh-pages results/ directory holds no Aug-23 folder at check time. Matrix flat at 321 cells; still targets draft-18. See interop-runner.
Activity (Aug 19 → Aug 22) — A date on the calendar: the Sep-2 virtual interop hackathon on draft-18, plus the first transport merge in eight days. The window’s durable headline is scheduling, not design. Mike English announced a Virtual Interop Hackathon for Wednesday 2026-09-02 (list, Aug-21 17:54 UTC, permalink) — all-day, drop-in/drop-out, targeting draft-ietf-moq-transport-18, and framed explicitly as hardening draft-18 interop before draft-20 becomes the target at the Oct 12–15 Seattle hybrid interim. It is not a datatracker-scheduled interim: it sits between interim-22 (Aug 24) and interim-23 (Sep 8) with no meeting entry. English flagged two runner changes he expects to bring: broader data-plane test coverage and a possible redesign of the results presentation. Steven Riedl (Pluto TV/Paramount) RSVP’d within 42 minutes — offering a public relay on moq-relay v0.14.8 supporting drafts 14–19, two continuously-running live SSAI channels, and catalog/session inspection tooling, registered as stitcher-moq in runner PR #112 — and argued for live media over short clips: continuously-running channels with mid-stream joiners “surface different behavior than short test clips.” On the spec side, moq-transport merged its first PR since Aug-13: Ian Swett’s #1834 “PUBLISH can contain Subscription Parameters” (+22/−13, Aug-21), closing issue #1803. transport-19 still stands; no datatracker revisions anywhere. The PUBLISH_NAMESPACE debate was formally parked — afrind labeled #1854 BLOCKED, and Swett booked #1800 for the Aug-24 interim. Slack #moq broke three windows of silence with an mlog/qlog gap thread. The nightly runner contracted from 350 to 321 cells — not a runner change, but moq-go moving to draft-19 and losing every version-matched pairing.
The Sep-2 hackathon: a draft-18 consolidation window before draft-20
The announcement matters because it puts a deliberate pause between two interop targets. draft-18 has been the automated target since July; the interim-2026-moq-21 minutes name draft-22 as the eventual successor, with draft-20 serving as the Seattle-interim target in October. English’s framing is that draft-18 interop should be hardened, not abandoned, before the ecosystem chases the next revision.
Two concrete asks went out to participants: register implementations in the interop-runner, and refresh Docker images and relay endpoints in advance — with higher-level findings filed on the ad-hoc interop reports wiki.
Riedl’s reply is the more interesting half. Pluto TV is a large ad-supported streaming operator, and the offer — two live SSAI (server-side ad insertion) channels running continuously — targets exactly the behaviour the automated matrix cannot reach. SSAI exercises track switching, discontinuities, and mid-stream joins; the runner’s short-clip cases do not. That lines up with English’s own stated plan to broaden data-plane coverage, and it is the clearest signal yet that the runner’s next evolution is about media correctness rather than handshake correctness. See interim-meetings, interop-runner, interop-status.
moq-wg: one merge, one PR parked, one scheduled for Monday
#1834 “PUBLISH can contain Subscription Parameters” (@ianswett, merged Aug-21 13:53 UTC, +22/−13, labels Design/Publish) lets PUBLISH carry Subscription Parameters, closing #1803 “How do you know what Parameters a PUBLISH has?“. It adds no normative MUST — a subscriber falls back to defaults — so it is a small, low-risk draft-20-bound clarification rather than a design change. Commit e1ae858d is the only main-branch commit in the window.
Three threads moved without merging:
- #1856 “Beware re-using a Track Alias” (Swett, opened Aug-20, +13/−0, fixes #1795) adds guidance on re-using a Track Alias for a different Track. afrind asked whether same-track re-use should also require the previous subscription to be done; Swett revised twice on Aug-21 and concluded “I don’t think a subscriber can enforce that MUST”, landing instead on advising receivers to treat stray objects as an unknown Track Alias.
- #1837 “FETCH and REQUEST_ERROR encoding” (Mathis Engelbart) reactivated: afrind posted a “reminder to chime in if you want this change,” and Martin Duke introduced a third option (Aug-21) — “I would prefer three message types to the status quo, but moving joining fetch to a SUBSCRIBE parameter is superior to both.” That ties an encoding-hygiene issue directly into the fill-fetch redesign in #1673, where @vasilvv also left six review comments on Aug-20 (range filters vs fills, subscriber priority within a subscription, out-of-range object handling).
- #1855 “Exclude URI query component from MOQT scope” (afrind) was approved by @vasilvv on Aug-19 — “counterintuitive to me, but I do not see any strong reason to do this one way or another” — and remains open. Suhas’s IANA private-use rename #1853 drew a vasilvv question about what “not defined” means for IANA.
The PUBLISH_NAMESPACE question is now explicitly parked. afrind labeled Luke Curley’s #1854 “to PUBLISH_NAMESPACE or to not PUBLISH_NAMESPACE” BLOCKED and self-assigned it (Aug-20), while Swett wrote on the adjacent #1800 (“NAMESPACE doesn’t allow parameters like PUBLISH_NAMESPACE”): “I’d like to discuss this at Monday’s interim on 8/24.” So the debate that dominated mid-August windows now has a scheduled venue rather than a PR.
msf, loc, secure-objects, cmsf, catalog-format, privacy-pass, and CAT-4-MOQT all had no activity.
Slack: the mlog gap for QUIC-level resets
#moq broke a three-window silence. Alan Frindell asked (Aug-19 15:53 UTC) whether mlog defines events for the QUIC-level stream resets that replaced draft-16’s frames — FETCH_CANCEL, UNSUBSCRIBE — or for a peer resetting a track-status response bidi stream, CC’ing Lucas Pardue, Mathis Engelbart, and Aman Sharma.
The answers sketch a real specification gap:
- Engelbart: no — mlog has only
stream_type_set, and “it is missing the new stream types.” With correct types you could match a QUICreset_stream_frameevent to the originating MoQ request; otherwise dedicated events are needed. - Frindell: “If mlog is layered over qlog, then quic will carry the stream resets” — i.e. maybe the layering already answers it.
- Pardue: “MoQ defines application-layer error codes for resets right? If that’s not already in the mlog draft it should be added (like how H3 error codes do)” — with raw values acceptable in the interim.
This is a direct consequence of draft-17/18 replacing explicit control frames with QUIC stream resets: the observability layer did not follow the wire change. It bears on Pardue’s draft-pardue-moq-qlog-moq-events (at -07, 2026-07-28) and on every relay shipping mlog today (moq-rs --mlog-serve, moxygen, moqx). No PR yet.
Also of note: Glenn Deen (Comcast) joined #moq on Aug-19 — another large operator arriving in the channel. #moq-rs, #moq-js, and #libquicr were all silent.
Datatracker: nothing new — and a note on the Nokia draft
No WG document or related individual draft has a revision dated on or after 2026-08-19. transport-19 (2026-07-06), msf-01, cmsf-01, loc-04, c4m-01, privacy-pass-auth-03, secure-objects-01 all stand, as do the recent individual drafts (jennings-discovery-00, wilaw-cmcd-event-timeline-00, altanai-geocode-02, lcurley hang-02/timestamp-01/cluster-00, liu-feedback-00, pardue-qlog-moq-events-07, moq-lite-05).
Two corrections to the prior window’s record of [[moq-conditional-filtering|draft-yuyou-conditional-filtering-00]]:
- It has four authors, not one. Yu You (Nokia) is the corresponding author, joined by Serhan Gül (Nokia), Ali Cengiz Begen (Networked Media), and ANM Zaheduzzaman Sarker (Nokia) — who is a sitting MOQ WG co-chair. Co-chairs routinely author individual drafts in a personal capacity, so this carries no procedural weight for adoption, but the author list is materially stronger than a single-implementer submission.
- It is not group-associated on the datatracker. It does not appear in the MOQ group’s Related I-D list (32 rows), so it is discoverable only via the mailing-list announcement or a direct document URL. The document itself is real and Active (Standards Track, expires 2027-02-18).
Implementations: moq-dev’s biggest window yet; libquicr wakes up; a spatial-audio fork surfaces
- moq — 26 main-branch commits, ~30 merged PRs, and six releases. The release train cut Aug-21 00:43–00:57 UTC: libmoq v0.5.9, moq-cli v0.9.12, moq-gst v0.3.6, obs-moq v0.5.9, moq-relay v0.14.12, moq-ffi v0.3.12. The durable packaging fact: #2957 (breaking) — the Go wrapper is now published as
moq.dev/moq. Media work: AAC-LC decode (#2968), MPEG-TS PCR as a uniform grid (#2967), containers mapped one-to-one onto MSF packaging (#2987, @arielmol, closing #2986), resampler timestamp correctness (#2992). Relay work: per-core QUIC workers steered by connection ID (#2921), warm/cold route pricing (#2925), partial PROBE reporting (#2945),Latencyreplaced by plainmax_age(#2955, breaking). A GStreamer front is now third-party-driven (@arielmol: 2983 merged, #2996–#2998 opened Aug-22 05:17–05:26). - moxygen — 19 main-branch commits, headlined by @sandarsh’s request-stream GOAWAY series (Aug-21): context-aware GOAWAY framing, admitting GOAWAY on established SUBSCRIBE/FETCH streams, a
MoQSession::requestStreamGoawayAPI, migration surfaced toTrackConsumer/FetchConsumer, and reset-with-GOING_AWAYafter timeout — the implementation counterpart to Suhas’s GOAWAY-restriction #1852. Plus afrind’s subgroup End of Group bit, publisher-priority-from-track-property-extensions, and SUBSCRIBE routing past publisher-less namespace nodes. The interop-client ALPN gap (issue #219) is the notable interop story — see below. - libquicr — two breaking API changes, its first substantial public-surface work since the Go bindings: a New Session Callback API (#911, @GhostofCookie, +1916/−1634, Aug-19) and spdlog removed in favour of an abstract logger interface (#904, +1353/−1180, Aug-20), plus a
timequpdate (#916, @RichLogan). No release cut. - moqtail —
moqt://shipped: #369 “JS-2 —moqt://” merged Aug-19 (+209/−16, closes #278) makes moqtail one of the first implementations to consume the URI scheme the WG has been tightening; #370 fixed the TS stream-reset path. Sender-side track switching is now in flight (#374, +1759/−34, OPEN) — the first SSTS implementation work in this codebase. Relay stands atrelay@0.14.1. - moqtransport — a third-tier fork chain surfaces. PR #16 “Eyevinn fixes” (@paulharter, Aug-21, +34/−5, OPEN) cherry-picks three fixes from
panaudia/moqtransport, a further-downstream fork used by LASA — live spatial audio over MoQ. The substantive one: backpressure for stream-read objects, because subgroup and fetch objects shared the same drop-on-overflow channel as datagrams and reliable stream data could be silently lost. Also exposes the publisher-assigned track alias onRemoteTrack, and makes subgroup handling atomic. This is the wiki’s first record of a MoQ spatial-audio application. - Quiet: moq-rs (last push Aug-18), moq-js, quiche (nine repo-wide commits, none under
quiche/quic/moqt), imquic, Eyevinn moqlivemock (v0.13.0 stands) and warp-player, birneee/quiche_moq. aiomoqt saw a branch push to the long-open v0.11.0 PR #36.
Interop: the matrix shrank because one implementation moved forward
Four new cuts, and a structural change that needs care in reading:
| Cut (UTC) | Cells | Pass | Fail | Skip | At-target | Ahead |
|---|---|---|---|---|---|---|
| 2026-08-22 00:13:58 | 321 | 126 | 185 | 10 | 190 | 1 |
| 2026-08-21 00:13:55 | 321 | 126 | 185 | 10 | 190 | 1 |
| 2026-08-20 00:12:54 | 321 | 128 | 183 | 10 | 190 | 1 |
| 2026-08-19 00:12:57 | 321 | 129 | 182 | 10 | 190 | 1 |
| (2026-08-18 baseline) | 350 | 135 | 204 | 11 | 220 | 0 |
The cause is specific: moq-go upgraded from draft-18 to draft-19. Through the Aug-18 cut it ran at draft-18 against ~13 relay endpoints — about 30 at-target runs, most failing 0/6. From Aug-19 it is labeled draft-19 and, because the runner only pairs version-matched endpoints, appears in exactly one cell: moq-go → moq-go, draft-19, docker, 6/6 pass. That single move accounts for the entire delta — at-target 220 → 190, ahead 0 → 1, cells 350 → 321.
Two readings follow. First, the raw pass drop is not a regression: pass rate rose from 38.6% (135/350) to 39.3% (126/321), because the vanished cells were disproportionately failures. The real signal is a mild −3 drift across Aug-19 → Aug-21 on a constant matrix, then flat. Second, and more consequential: running ahead of the interop target currently costs an implementation all of its cross-implementation coverage. With the Sep-2 hackathon targeting draft-18 and draft-20 not arriving until October, an early mover is effectively invisible in the shared matrix. See moq-go, interop-runner.
A separate finding worth carrying: moxygen’s interop client was failing draft-18 relays for a configuration reason, not a protocol one — kInteropAlpns lacked moqt-18, so the handshake failed even though the moxygen relay negotiates draft-18 correctly. Documented in runner PR #111 (which notes moqx likely shares the gap), with fixes in flight. A reminder that matrix cells can be red for reasons that have nothing to do with the specification.
Ecosystem survey: implementations the wiki was not tracking
A sweep for untracked implementations this window surfaced a substantial coverage gap, now partly closed with new pages:
- MediaMTX (
bluenviron/mediamtx, Go, MIT, ~19.9k stars) — the biggest find. A mainstream production media server (RTSP/RTMP/SRT/WebRTC/LL-HLS) that added a native, from-scratch MoQ server in June 2026 and now leads its own project description with “Media-over-QUIC”. It negotiatesmoqt-16throughmoqt-19, preferring draft-19 — the widest draft range of any implementation tracked here — with MSF catalogs, LOC framing, WebTransport and native QUIC. Not registered in the interop runner, which makes it the single highest-value addition available before Sep-2. - moq-go (
floatdrop/moq-go, Go, Vsevolod Strukchinsky) — already load-bearing in this wiki’s interop analysis as the draft-19 “ahead” cell, but never previously identified by repo, language, or maintainer. - LAPS (
Quicr/laps, Cisco) — a MOQT relay with Edge/Via/Stub relay-mesh roles, source-routed forwarding, and control/data peering separation. Notably its peering protocol is LAPS-specific, not MOQT — a different answer to the same problem moq-cluster addresses over moq-transport. Runs a public “MOQT Developer Playground” endpoint and a#lapsSlack channel, neither in interop-endpoints. - moqtransport (
mengelbart/moqtransport) — the upstream of Eyevinn’s fork and the interop-registered entry; the wiki previously referenced only the fork. - warp-player — Eyevinn’s CMSF/MSE player, a tracked repo that had no page.
- MOQ5 and Playa (Red5 Pro, via openmoq) — MOQ5 is an interop-registered sans-I/O C protocol core with seed-replayable simulation testing; Playa is a shipping TypeScript player suite at v0.5.7. The wiki previously recorded Playa as “planned / not yet publicly available” — now corrected.
Also noted but not yet given pages (listed on overview): shiguredo/moqt-js (draft-19, from the Sora SFU vendor), qumo-dev/gomoqt (second moq-lite implementation), kt81/Spangle.Net.Moqt (the only .NET implementation), the moqtap/* debugging toolchain with cross-implementation test vectors, two independent Elixir lines, and shermerL/moq-cast (first native Android app). Three name collisions now documented on overview: two moq-go, two moqx, two moqtail.
No new MoQ Monthly (still #2, 2026-05-31 — now three months dormant). No open issues on the wiki repo.
Activity (Aug 18 → Aug 19) — The consolidation lull broke on two fronts: a new Nokia individual draft and a merged draft-18 relay. After three quiet windows the datatracker picked up draft-yuyou-conditional-filtering-00 “Conditional Range Filters for MOQT” (submitted Aug-17, announced on the moq list Aug-18 07:40 UTC) by Yu You (Nokia) — Nokia’s first individual MoQ I-D, proposing a RANGE_FILTER_CONDITION parameter that lets a relay activate/deactivate filter sets autonomously on real-time metrics (e.g. throughput thresholds) without a subscriber REQUEST_UPDATE, plus a PRIOR_SUBGROUP_ID_GAP signal so a subscriber can tell intentional shedding from network loss. It grows straight out of Nokia’s relay-implementation work — the Aug-17 Top-Tracks-Filter feedback and the Aug-3 DATAGRAM-fragmentation thread. In parallel, moq-rs merged PR #211 “Restore relay work for draft-18 and port missing session layer” (+12164/−778, @nnazo, Aug-18) — the OPEN PR from the last two windows now landed, bringing the moq-rs relay (long dormant on draft-14/16) back onto draft-18. No moq-transport PR merged (transport-19 stands), but three draft-20-target PRs saw Aug-18 revisions (afrind’s Fill-Fetch #1673 +192/−152, Suhas’s GOAWAY-restrict #1852, Mo Zanaty’s Top Tracks #1830 +129/−4). moq had a heavy ~15-merge day (MoQ Cluster extension #2910, subscriber-latency-budget enforcement #2919, a breaking CLI renamed-flag migration #2915); quiche landed its first moqt commit since Aug-12 (“Implement object ACKs across relay”); moxygen added a new MoQMediaServer server+binary. Slack #moq silent (newest still Steven Riedl’s Aug-14 aiomoqt post, thread held at 22 replies, latest Aug-15 13:58, both already logged). The nightly runner recovered +2 to 135 pass (second-best on the 350-cell matrix). No new MoQ Monthly (#2, May 31); no open wiki issues.
The Aug 18 → Aug 19 window had one new datatracker document — the Nokia conditional-filtering I-D above (individual, not a WG document) — and no WG-document revision bumps: the datatracker shows transport-19 (2026-07-06), loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01, privacy-pass-auth-03 all standing, plus draft-lcurley-moq-lite -05, hang-02/cluster-00/timestamp-01/qmux-websocket-00, draft-wilaw-moq-cmcd-event-timeline -00, draft-liu-moq-feedback -00, draft-altanai-moq-relay-geocode -02, draft-jennings-moq-discovery -00 (Aug-14), and now draft-yuyou-conditional-filtering -00 (Aug-17). The IETF list’s one new message is Yu You’s Aug-18 draft announcement; the next weekly GitHub digest is due ~Aug-23. IETF-126 minutes remain the single Monday doc at rev -01; the Aug-10-interim minutes doc stands.
New individual draft: Conditional Range Filters (Nokia)
The window’s durable spec headline is draft-yuyou-conditional-filtering-00 “Conditional Range Filters for Media over QUIC Transport” — an individual I-D submitted 2026-08-17 and announced on moq@ietf.org Aug-18 07:40 UTC (permalink) by Yu You (Nokia). It argues that MOQT’s current range filters are static — changing them requires the subscriber to send a REQUEST_UPDATE, which reacts too slowly precisely under congestion — and proposes making filters conditional:
RANGE_FILTER_CONDITION— a parameter binding a filter set to a real-time trigger (e.g. a throughput threshold) so the relay activates/deactivates the filter autonomously, with no extra subscriber signaling.PRIOR_SUBGROUP_ID_GAP— a companion signal so a subscriber can distinguish an intentional gap (a conditional filter deactivating) from network loss.- Designed to stay compatible with the existing SetID-based filters.
It is Nokia’s first individual MoQ draft and reads as implementer feedback turning into a spec proposal: Yu You raised it while implementing filters “in our Relay” (the Aug-17 Top Tracks Filter #1830 comment) and had earlier driven the Aug-3 DATAGRAM-fragmentation Slack thread. Individual draft, not adopted — logged as a first-look on the new moq-conditional-filtering page. See also the WG’s static-filter work (Mo Zanaty’s Top Tracks, Location filters, the IETF-126 split-filters direction).
moq-wg: no merges, but the draft-20 filter/fetch PRs get revisions
No moq-transport PR merged in-window — transport-19 stands and all draft-20 target PRs remain OPEN — but three of them saw Aug-18 revision activity, notably on the filter/fetch front the Nokia draft touches: afrind’s Fill-Fetch #1673 (“Replace Joining FETCH with fill fetch streams”, now +192/−152), Suhas’s GOAWAY-on-request-streams restriction #1852, and Mo Zanaty’s Top Tracks Filter #1830 (now +129/−4, revised after Yu You’s Aug-17 implementer feedback). afrind’s URI-query-scope #1855 and the rest of the target set (SWITCH_FROM #1674, FORWARD→range-pausing #1825, PUBLISH-sub-params #1834, publisher-priority #1770, Suhas’s 1853) stay OPEN. msf, loc, secure-objects, cmsf, catalog-format, and privacy-pass all had no new PRs or issues in the window.
Implementations: moq-rs relay draft-18 lands; moq-dev Cluster extension; quiche object-ACKs
- moq-rs — the draft-18 relay work merged. PR #211 “Restore relay work for draft-18 and port missing session layer” (@nnazo, +12164/−778) merged Aug-18 15:08, along with a unit-test PR #156 (+950/−71). The moq-rs relay role — which had lagged on draft-14/16 while the client tracked draft-18 — is now brought onto draft-18 with the missing session layer ported. A
moq-transportcrate v0.16.2 release is queued in PR #212 (OPEN, release-please, not yet cut);moq-relay-ietfv0.7.25 still stands. Reflected in the moq-rs Draft Support section. - moq — a heavy ~15-merge day (mostly Luke Curley unless noted): implement the MoQ Cluster extension for moq-transport (#2910, +1012/−78 — wiring the cluster relay-mesh extension into the JS/net stack), carry standalone SI on per-table snapshot tracks (#2909, +1729/−227), enforce a subscriber latency budget (#2919, +1142/−126), a breaking CLI: refuse renamed flags with a migration message (#2915, +1149/−826), a breaking caller-driven origin lifecycle refactor (#2897, +1268/−737), sreejon’s libmoq: configure and label media renditions (#2831, +884/−236), run wasm browser bindings in headless Chromium (#2904, +975/−6), a moq-ffi wasm32 target (#2911), and t0ms’s sparse-EIT TS test cases (#2920, +810/−4). No new release train — moq-relay v0.14.11 (Aug-15) still Latest; the release PR #2866 stays OPEN.
- quiche (moqt) — one new commit, “Implement object ACKs across relay” (
6b922c0f, Aug-18 18:54) — the first moqt-directory commit since Aug-12 (d01a24d4). - moxygen — active via direct-to-main commits: a new MoQMediaServer server+binary (
5d7c16b4, Aug-18), “Reject extensions on subgroups opened with includeExtensions=false” and “Detach SubgroupForwarder before removing it” (both Aug-19), “re-configure when pinned dep rev changes” (#216), and “Count active subscriptions only once they go active” (#211); gmarzot’s WebTransport version-negotiation issue #173 was closed Aug-18. - moqtail — no merges (relay@0.14.1 stands), but three OPEN kerembkmz PRs were updated Aug-18: #369 “JS-2 — moqt://” (URI scheme), #370 “Fix/ts stream reset path”, #371 “expose media wire options”.
- moqx — no in-window merges (last merges were Aug-17); afrind’s forwarder-registry PRs 574 and 604 updated Aug-18 (still OPEN); new gmarzot metrics issues 596.
- Everything else quiet: moq-js, imquic (#35 OPEN, last touched Aug-11), aiomoqt (v0.10.6; v0.11.0 PR #36 OPEN, last updated Aug-15), warp-player, moqlivemock, moqtransport (post-v0.13.0), Moqtopus, and birneee/quiche_moq all had no in-window activity.
Interop runner: +2 pass to 135, second-best on the 350-cell matrix
The nightly runner’s Aug-18 00:13 UTC cut was 350 / 135 / 204 / 11 (~38.6% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a +2 pass / −2 fail move versus the Aug-17 cut (matrix, skip, and at-target all flat), the second consecutive +2 recovery and the second-best pass on the 350-cell matrix (behind only Aug-12’s 136, tying Aug-13’s 135). Twenty-seventh straight cut on that settled 350-cell / at-target-220 matrix. Still targets draft-18 (interim minutes name draft-22 as the eventual next target). No Aug-19 cut at check time. See interop-runner.
Activity (Aug 17 → Aug 18) — A second straight quiet consolidation window. For the second update running there was no moq-wg PR merged, no datatracker document, no new draft, and no Slack #moq traffic — the Jennings discovery I-D (Aug-14) remains the newest MoQ document, transport-19 stands, and the mailing list is unchanged since the Aug-16 weekly GitHub digest. The one WG-thread motion was implementer feedback on the open Top Tracks Filter PR #1830 (Mo Zanaty): Yu You (Nokia) posted an Aug-17 comment asking for clarification “while implementing the Track Filter in our Relay.” The window’s substance was again implementation churn — but at a much lower tempo: moq slowed to just two merges (after a busy ~11-merge Aug-16), led by the breaking moq-native → moq-tokio crate rename (#2896, +1722/−1662) and a kio poll-native Tasks/FuturesUnordered primitive (#2901, +813/−18); moq-rs opened PR #211 “Restore relay work for draft-18 and port missing session layer” (OPEN Aug-17) — the first sign of the moq-rs relay returning to draft-18; and moqx merged two routine Aug-17 PRs (a gmarzot cache-purge-race test fix #602, a moxygen-sync-bot merge #600). The nightly runner recovered +2 to 133 pass. No new MoQ Monthly (#2, May 31); no open wiki issues.
The Aug 17 → Aug 18 window had no WG-document revision bumps and no new individual drafts: the datatracker shows transport-19 (2026-07-06), loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01, privacy-pass-auth-03 all standing, plus draft-lcurley-moq-lite -05, hang-02/cluster-00/timestamp-01/qmux-websocket-00, draft-wilaw-moq-cmcd-event-timeline -00, draft-liu-moq-feedback -00, draft-altanai-moq-relay-geocode -02, and draft-jennings-moq-discovery -00 (Aug-14, the newest MoQ doc). The IETF list is unchanged since the routine Aug-16 weekly GitHub digest; Slack #moq is silent (newest still Steven Riedl’s Aug-14 aiomoqt post, its thread held at 22 replies, latest Aug-15 13:58, both already logged). IETF-126 minutes remain the single Monday doc at rev -01; the Aug-10-interim minutes doc stands.
No moq-wg merges; Nokia asks about the Top Tracks Filter
The WG side was flat for a second straight window. No moq-transport PR merged — afrind’s PR #1855 “Exclude URI query component from MOQT scope” (the Aug-10 interim action item, Fixes #1835) remains OPEN, and all other draft-20 target PRs (Fill-Fetch #1673, SWITCH_FROM #1674, FORWARD→range-pausing #1825, PUBLISH-sub-params #1834, publisher-priority #1770, Suhas’s #1851–#1853) stay OPEN. The only design-thread motion was on Mo Zanaty’s open Top Tracks Filter PR #1830 (a filter that subscribes a relay to only the top-N most-viewed tracks under a namespace): Yu You (Nokia) posted an Aug-17 implementer-feedback comment — “I need some confirmation/clarification while implementing the Track Filter in our Relay” — the second Nokia contribution to move a WG thread this month (after the Aug-3 DATAGRAM-fragmentation discussion). msf (#206 unchanged since Aug-12), loc (#29 since Aug-5), secure-objects, cmsf, catalog-format, and privacy-pass all had no new PRs or issues. The mailing list carried no new message after the Aug-16 weekly digest.
Implementations: moq-dev cools to two merges; moq-rs relay eyes draft-18
- moq — just two in-window merges (both Luke Curley) after the busy Aug-16 day: the breaking
moq-native→moq-tokiocrate rename (#2896, +1722/−1662 — a straight rename of the QUIC-helpers crate, following the Aug-13 endpoint-roleconnect/listenrename), and a kioTasksprimitive — a poll-nativeFuturesUnordered(#2901, +813/−18, landed Aug-18 00:07 UTC), extending the in-housekioasync runtime. No new release train — moq-relay v0.14.11 (Aug-15) is still Latest. The Aug-13 DVB/MPEG-TS front and the earlier OPEN feature PRs (#2854/#2828/#2830/#2765) stay OPEN. - moq-rs — new OPEN PR #211 “Restore relay work for draft-18 and port missing session layer” (updated Aug-17 21:13) — the first motion toward bringing the moq-rs relay (long dormant on draft-14/16 while the client tracked draft-18) back onto draft-18, porting the missing session layer. Still OPEN;
moq-relay-ietfv0.7.25 stands. PRs #206–#209 also remain OPEN. - moqx — two Aug-17 merges: gmarzot’s test: fix spurious SIGPIPE failure in cache-purge race check (#602) and a routine moxygen-sync-bot merge (#600, moxygen c8cff3a). afrind opened two new OPEN PRs — a
metrics: omit_metadataquery param (#604) and a build--sync-moxygen-dirhelper (#603); the forwarder-registry PRs #573–#590 remain OPEN. - Everything else quiet: quiche (moqt, no new commits since Aug-12 d01a24d4), moqtail (relay@0.14.1; no new merges since the Aug-16 ts-18 batch #368), moq-js, moxygen, imquic (#35 OPEN), aiomoqt (v0.10.6; v0.11.0 in-flight, PR #36 OPEN), warp-player, moqlivemock, moqtransport (post-v0.13.0), Moqtopus, and birneee/quiche_moq all had no in-window merges.
Interop runner: +2 pass, back to the band’s middle
The nightly runner’s Aug-17 00:12 UTC cut was 350 / 133 / 206 / 11 (~38.0% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a +2 pass / −2 fail move versus the Aug-16 cut (matrix, skip, and at-target all flat), recovering the Aug-16 −3 slip and returning pass to the middle of the settled band (126–136). Twenty-sixth straight cut on that 350-cell / at-target-220 matrix (13 clients × 16 relays). Still targets draft-18 (interim minutes name draft-22 as the eventual next target). No Aug-18 cut at check time. See interop-runner.
Activity (Aug 16 → Aug 17) — A genuinely quiet consolidation window. For the first time in several updates there was no new datatracker document, no moq-wg PR merged, and no Slack #moq traffic — the Jennings discovery I-D logged Aug-14 remains the newest MoQ document, afrind’s URI-query-scope PR #1855 is still OPEN, and transport-19 stands. The one new mailing-list message was the Aug-16 weekly GitHub digest (Repository Activity Summary Bot) — the recap flagged “due ~Aug-16” the prior day — with no consensus/WGLC/interop-report content. Slack was silent (newest still Steven Riedl’s Aug-14 aiomoqt post; the thread held at 22 replies, latest Aug-15 13:58, already logged). The window’s substance was implementation churn: moq posted a busy Aug-16 (~11 merges) spanning wire encoding (draft-17 message-parameter-by-type #2884), a breaking libmoq config-struct refactor #2880, TCP/Unix listeners without QUIC #2879, and PipeWire NV12 ingest #2871 — but no new release tags (moq-relay v0.14.11 stands); moqtail merged its moqtail-ts ts-18 conformance vector #368. The nightly runner slipped −3 to 131 pass. No new MoQ Monthly (#2, May 31); no open wiki issues.
The Aug 16 → Aug 17 window had no WG-document revision bumps and no new individual drafts: the datatracker shows transport-19 (2026-07-06), loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01, privacy-pass-auth-03 all standing, plus draft-lcurley-moq-lite -05, hang-02/cluster-00/timestamp-01/qmux-websocket-00, draft-wilaw-moq-cmcd-event-timeline -00, draft-liu-moq-feedback -00, draft-altanai-moq-relay-geocode -02, and draft-jennings-moq-discovery -00 (Aug-14, the newest MoQ doc). The IETF list’s one new message is the routine Aug-16 weekly GitHub digest; the Jennings I-D submission is still not reflected in the moq@ietf.org browse index. IETF-126 minutes remain the single Monday doc at rev -01; the Aug-10-interim minutes doc stands.
No moq-wg activity; the weekly digest posts on schedule
The WG side was flat. No moq-transport PR merged in-window — afrind’s PR #1855 “Exclude URI query component from MOQT scope” (the Aug-10 interim action item, Fixes #1835) is still OPEN, and issue #1835 “Is query in URI scoping?” is unchanged since Aug-14. Suhas’s #1851–#1853 readability/IANA-naming batch and all other draft-20 target PRs (Fill-Fetch #1673, SWITCH_FROM #1674, FORWARD→range-pausing #1825, PUBLISH-sub-params #1834, publisher-priority #1770, Top Tracks #1830) remain OPEN. msf (#206 unchanged since Aug-12), loc (#29 since Aug-5), secure-objects, cmsf, catalog-format, and privacy-pass all had no new PRs or issues. The only new list item was the Aug-16 weekly GitHub digest — the routine mnot.net-bot recap that the prior day’s log noted was due — carrying no consensus call, WGLC, or interop report.
Implementations: moq-dev breadth, moqtail ts-18 conformance
- moq — a busy Aug-16 (~11 merges) (all Luke Curley unless noted): encode draft-17 message parameters by type (#2884, +343/−56) — a wire-encoding fix for the draft-17 path moq-dev still speaks; a breaking replace the libmoq client setters with a config struct (#2880, +958/−1428); serve TCP and Unix listeners without QUIC (#2879, +217/−56); validate PipeWire chunk ranges and accept NV12 (#2871, +605/−37); moq-mux: accept refreshed clocks on TS duplicates (#2891, +71/−5); a large main→dev sync (#2883, +4730/−1406); a docs note reserving package bumps for releases (#2889); and four dependabot bumps (#2885–#2888). No new release train — moq-relay v0.14.11 (Aug-15) is still Latest. The Aug-13 DVB/MPEG-TS front and the bandwidth-split/CMAF-FFI PRs stay OPEN (#2828/#2830/#2824/#2831/#2854/#2765).
- moqtail — kerembkmz’s moqtail-ts
ts-18conformance vector (#368), the eighth draft-18/19 test-vector batch in a week-long sweep (ts-6b/8/9/14/15/16/18/19). No new relay release; relay@0.14.1 stands. - moqx — one routine moxygen-sync-bot merge (#599); afrind’s forwarder-registry PRs #573–#590 remain OPEN.
- Everything else quiet: quiche (moqt, no new commits since Aug-12 d01a24d4), moq-rs (v0.7.25; #204–#209 OPEN), moq-js, moxygen, imquic (#35 OPEN), aiomoqt (v0.10.6; v0.11.0 in-flight, PR #36 OPEN), warp-player, moqlivemock, moqtransport (post-v0.13.0), Moqtopus, and birneee/quiche_moq all had no in-window merges.
Interop runner: −3 pass, back to the band’s low-middle
The nightly runner’s Aug-16 00:12 UTC cut was 350 / 131 / 208 / 11 (~37.4% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a −3 pass / +3 fail move versus the Aug-15 cut (matrix, skip, and at-target all flat), giving back most of the Aug-15 +5 recovery and returning pass to the low-middle of the settled band (126–136). Twenty-fifth straight cut on that 350-cell / at-target-220 matrix (13 clients × 16 relays). Still targets draft-18 (interim minutes name draft-22 as the eventual next target). No Aug-17 cut at check time. See interop-runner.
Activity (Aug 15 → Aug 16) — A quiet window whose one durable artifact is a new individual Internet-Draft: datatracker picked up draft-jennings-moq-discovery-00 “DNS and mDNS Discovery for MOQT” (rev -00, submitted 2026-08-14, 9 pages) by Cullen Fluffy Jennings + Suhas Nandakumar (both Cisco) — the first new MoQ I-D submission since the Aug-3/4 batch, and the first to tackle endpoint discovery (mapping the moqt URI scheme onto SVCB/HTTPS records, SRV as a backup, and DNS-SD over mDNS for local networks). It lands squarely alongside the WG’s live URI-scoping work (the Aug-10 interim’s “query component is out of MoQT scope” call, afrind’s PR #1855, issues #1835/#1839). On Slack, the Aug-14 aiomoqt↔moq-dev interop thread added two Aug-15 replies that qualify the prior window’s “0.14.8 fixes the dangling SUBSCRIBE” line — Steven Riedl (Pluto TV) verified 0.14.8 fixes the subscribe-error/404 case (#2673) but the unknown-namespace SUBSCRIBE still hangs silently, and 0.14.8’s stricter NAMESPACE handling (#2667) now makes aiomoqt 0.10.6 session-fatal. No moq-wg PR merged (transport-19 stands; #1855 OPEN); moq cooled to ~5 merges and settled its Aug-15 release-train tags (moq-relay v0.14.11 now Latest). The nightly runner recovered +5 to 134 pass.
The Aug 15 → Aug 16 window had one new datatracker artifact — the Jennings discovery I-D above — and no WG-document revision bumps: the datatracker shows transport-19 (2026-07-06), loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, privacy-pass-auth-03 all standing, plus draft-lcurley-moq-lite -05, hang-02/cluster-00/timestamp-01/qmux-websocket-00, draft-wilaw-moq-cmcd-event-timeline -00, draft-liu-moq-feedback -00, and draft-altanai-moq-relay-geocode -02. The IETF list’s newest message is still Duke’s Aug-14 “8/10 minutes” post; the discovery I-D submission is not yet reflected in the moq@ietf.org browse index. IETF-126 minutes remain the single Monday doc at rev -01; the Aug-10-interim minutes doc stands. No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (+5 pass, see below).
New individual draft: DNS and mDNS discovery for MOQT
The window’s durable headline is draft-jennings-moq-discovery-00 “DNS and mDNS Discovery for MOQT” — a 9-page individual I-D submitted 2026-08-14 by Cullen Fluffy Jennings and Suhas Nandakumar (both Cisco). It specifies how MOQT clients locate a server endpoint, the layer moq-transport leaves out of scope:
- SVCB / HTTPS records for the
moqtURI scheme — a single service-binding lookup yields the endpoint, ports, and supported protocols/ALPN. - SRV records as a backup for load-balancing/failover where SVCB/HTTPS is unavailable.
- DNS-SD over mDNS for zero-config discovery on local networks without a central DNS server.
It is the first endpoint-discovery/bootstrapping draft the wiki has tracked, and the third Jennings/Nandakumar Cisco MoQ individual draft after MOCHA and TEMPO. It is thematically adjacent to the WG’s active URI-scoping work — the interim’s decision that a URI’s query component is out of MoQT scope, afrind’s PR #1855 (OPEN) implementing it, and transport issues #1835 (query-in-URI scoping) / #1839 (URI resolution). Individual draft, not adopted, no list traffic yet — logged as a first-look on a new moq-discovery page. No moq-wg PR merged in-window; transport-19 stands and #1855 is OPEN.
Slack: the aiomoqt↔moq-dev thread qualifies yesterday’s interop win
The prior window’s Aug-14 aiomoqt bug-hunt thread (Steven Riedl / Pluto TV driving aiomoqt against a public moq-dev relay) grew from 20 to 22 replies with two Aug-15 posts that sharpen — rather than overturn — the “moq-dev 0.14.8 fixes the dangling SUBSCRIBE” claim logged the day before:
- 0.14.8 fixes the subscribe-error case, but not the silent hang. Riedl (Aug-15 03:59 CEST) built moq-dev’s relay from the v0.14.8 tag and ran the interop runner’s subscribe-error case: it fails at his pinned
525d74ef, passes at 0.14.8 (a404is delivered) — “the one upstream failure on our conformance row, so we’ll take the bump before registering in September.” But “the unknown-namespace subscribe we originally reported still waits silently at 0.14.8” — a separate behavior from what PR #2673 fixed, and “if that’s intended subscribe-before-publish semantics, no complaint, just confirming.” So the moq-dev 0.14.8 fix is narrower than “the dangling SUBSCRIBE is resolved.” - 0.14.8 is now stricter — and that breaks aiomoqt 0.10.6. Riedl also warned Marzot that moq-relay 0.14.8 got stricter (PR #2667: session closed on a malformed NAMESPACE), so aiomoqt 0.10.6’s draft-18 subscribe flow is now session-fatal against ≥0.14.8 relays (
session error err=unexpected message), where older relays warned and continued. He recommends testing v0.11.0 against a ≥0.14.8 relay before release — Pluto’s public relay will speak it once they take the bump. - The fix stimulated further aiomoqt bugs. Marzot (Aug-15 13:58 CEST): the
vi64fix is “fixed in dev branch already but this stimulated some additional bug finds in filter support. I will validate against your relay endpoint (among others) before the next release.” So aiomoqt v0.11.0 now carries thevi64decode fix plus filter-support fixes, and will be validated against Pluto’s relay before shipping. The aiomoqt page’s Draft-Support notes were updated for all three points.
Implementations & interop: moq-dev cools, runner rebounds +5
- moq — a quieter ~5-merge Aug-15/16 day after three consecutive ~13–27-merge days (all Luke Curley unless noted): relay redials reconfigured cluster peers (#2874, +562/−221), a breaking js: default standalone components to enabled (#2872, +279/−42), a chat-workload benchmark harness with JSONL stats + a production-safe host sampler (#2877, +917/−35), compile the OBS plugin in CI and type-check it without obs-deps (#2867, +385/−55), and a main→dev sync (#2852). The Aug-15 release-train tags settled: moq-relay v0.14.11 is now Latest, alongside moq-cli v0.9.11, libmoq v0.5.8, moq-ffi v0.3.11, and obs-moq v0.5.8.
- moqx — one routine moxygen-sync-bot merge (#597); afrind’s forwarder-registry PRs #573–#590 remain OPEN.
- Everything else quiet: quiche (moqt, no new commits since Aug-12), moqtail (relay@0.14.1; #367 stands, #221 [ci] release OPEN), moq-rs (v0.7.25), moq-js, moxygen, imquic, aiomoqt (v0.10.6; v0.11.0 in-flight), warp-player, moqlivemock, moqtransport (post-v0.13.0), Moqtopus, and birneee/quiche_moq all had no in-window merges. msf / loc / secure-objects / cmsf / catalog-format / privacy-pass all quiet.
- Interop runner: +5 pass. The nightly runner’s Aug-15 00:12 UTC cut was 350 / 134 / 205 / 11 (~38.3% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a +5 pass / −5 fail move versus the Aug-14 cut (matrix, skip, and at-target all flat), recovering most of the Aug-14 −6 dip and returning pass to the middle of the settled band (126–136). Twenty-fourth straight cut on that 350-cell / at-target-220 matrix (13 clients × 16 relays). Still targets draft-18 (minutes name draft-22 as the eventual next target). No Aug-16 cut at check time. See interop-runner.
Activity (Aug 14 → Aug 15) — A window whose durable headline is the Aug-10 virtual-interim minutes finally posting (datatracker minutes-interim-2026-moq-21-202608101630 rev -00, Aug-14 17:49 UTC; Martin Duke’s “[Moq] 8/10 minutes” list post) after four updates of “still unposted.” The minutes ratify the filter/fetch decisions already visible in the Aug-13 merge batch and, more importantly, set the editorial pipeline to WGLC: draft-20 = a purely-editorial cut just before the editorial meeting, draft-21 = the editorial meeting’s output, draft-22 = the next official interop target — so the runner’s long-standing draft-18 target now has a named successor. The minutes also record a lean toward rejecting PR #1770 (updatable default publisher priority, “error-prone … probably not needed”) and that the URI query component is out of MoQT scope, the latter producing afrind’s action-item PR #1855 “Exclude URI query component from MOQT scope” (Fixes #1835) the same day. On Slack, a full-day Pluto TV ↔ moq-dev/aiomoqt draft-18 interop push closed two bugs same-day — Giovanni Marzot’s aiomoqt vi64 decode bug (fix now targeting aiomoqt v0.11.0 + aiopquic v0.4.0) and a moq-dev dangling-SUBSCRIBE-on-unannounced-namespace hang (Luke Curley: fixed in 0.14.8). No moq-wg PR merged (transport-19 stands, #1855 OPEN); moq had a third straight large day (~13 merged) and moqtail shipped a moqtail-ts conformance batch. The nightly runner slipped −6 to 129 pass, erasing the Aug-12→13 spike.
The Aug 14 → Aug 15 window had no WG-document revision bumps — the datatracker shows transport-19 (2026-07-06), loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01, privacy-pass-auth-03 all standing, plus draft-lcurley-moq-lite -05, hang-02/cluster-00/timestamp-01/qmux-websocket-00, draft-wilaw-moq-cmcd-event-timeline -00, draft-liu-moq-feedback -00, and draft-altanai-moq-relay-geocode -02 — and no new individual drafts (no submissions since Aug-1). The one new datatracker artifact is the Aug-10-interim minutes doc (below). The IETF list’s one new message is Duke’s “8/10 minutes” announcement; the next weekly GitHub digest is not due until ~Aug-16. IETF-126 minutes remain the single Monday doc at rev -01. No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (−6 pass, see below).
The Aug-10 virtual interim: minutes posted, draft-20→22 pipeline set
Monday’s Aug-10 virtual interim (interim-2026-moq-21, 1630–1800 UTC, Meetecho) was logged at the time as discussion-only — no merges toward draft-20. Its written record landed Aug-14: Martin Duke posted “[Moq] 8/10 minutes” to the list and the datatracker doc minutes-interim-2026-moq-21-202608101630 (rev -00) was uploaded 17:49 UTC. Duke chaired; afrind led the transport-issue review and Will Law presented FETCH pacing. The durable outcomes:
- The draft pipeline to WGLC. “Draft 20 will be cut immediately prior to the editorial meeting and will consist of purely editorial changes … Draft 21 will capture the output of the editorial meeting … Draft 22 will be published as the next official interop target.” This frames the Aug-13 “first draft-20-bound merges” as an editorial cut, and gives the interop runner (still on draft-18) a named future target.
- Filter/range decisions: Location filters behave unfiltered when a subscriber requests groups before any publication; the Invalid-Range error is removed (out-of-bounds requests clamp to
(0,0)); a subscription stays open even if it is entirely in the past; andSUBSCRIBER_PRIORITYchanges affect only live subscriptions, not active fill-fetch streams. - PR #1770 leaning reject. On Michal Hošna’s PR #1770 (make the default publisher priority an updatable parameter), “the group agreed that this is an error-prone mechanism that probably is not needed” — Duke committed to email the list to solicit wider opinion given the proponents were absent.
- URI query out of scope. “The group agreed that the query parameter of a URI is not part of the MoQT scope. Alan Frindell will draft text to make this explicit.” afrind opened PR #1855 “Exclude URI query component from MOQT scope” (+10/−5, Fixes #1835) the same day — naming the RFC 3986 components explicitly in the scope-equality rule and stating the query component is not part of the scope.
- FETCH pacing stays an extension. Will Law’s proposal — a boolean setup option
fetch_pacing_supportedplus a logarithmicpacing_rateparameter on FETCH requests to smooth the bursty traffic standard congestion control produces — got consensus to continue as an external extension draft (cf. issue #1453).
The interim-meetings page got a new dated note and moq-transport’s draft-20 milestone bullet folded in the pipeline. No moq-wg PR merged in-window; transport-19 stands and #1855 is OPEN.
Slack: a full-day Pluto TV ↔ moq-dev/aiomoqt draft-18 interop push
The prior window’s aiomoqt bug-hunt thread (Steven Riedl / Pluto TV, driving aiomoqt as a library against a public moq-dev relay) grew from 6 to 20 replies across Aug-14 into a day-long draft-18 interop session — Pluto TV runs moq-dev as their GCP “origin” relay:
- Bug 1 — aiomoqt
vi64decode, closed. Giovanni Marzot confirmed moq-dev’s SUBSCRIBE_OK is spec-correct (Track PropertiesTIMESCALE=1000, minimalvi6483 e8) and the parse failure was aiomoqt v0.10.6 decoding that block with RFC-9000 varints; the fix is now bound for aiomoqt v0.11.0 + aiopquic v0.4.0 (both in-flight, with the encode/decode fixes; a shout-out to Christian Huitema on aiopquic). Riedl confirmed the_tolerate_trailing_extensions = Trueworkaround completes the full -18 loop and receives the MSF catalog, same as -16. - Bug 2 — moq-dev dangling SUBSCRIBE, fixed same day. Riedl found that at draft-18 a SUBSCRIBE for a namespace nobody has announced never gets a response — no SUBSCRIBE_OK, no SUBSCRIBE_ERROR — it just hangs until the client times out (repro’d on both
cdn.moq.pro/anonand Pluto’s own relay), so a subscriber “can’t distinguish ‘no such track’ from ‘slow relay.‘” Luke Curley agreed: “we do need a PUBLISH_NAMESPACE (or NAMESPACE response) before we can route any SUBSCRIBE but obviously it should REQUEST_ERROR instead of hanging” — and reported moq-dev 0.14.8 fixes that issue hours later. This is the operational tail of the same PUBLISH_NAMESPACE routing question Luke has been working on (moq-transport issue #1854 / moq-dev #2748). - WebTransport path discovery, resolved by tooling. Riedl couldn’t get a WebTransport session against
fb.mvfst.net:9448ormoqx-main.ci.openmoq.org:4433(404 on/,/moq,/moq-relay). Marzot ran aiomoqt’srelay_probetool: both want/moq-relay, negotiate draft-14/16/18 (400 on 19), and answer in ~450–520 ms. Riedl now has “session receipts for every public endpoint,” offered Pluto’s relay (34-72-6-160.sslip.io, anonymous subscribe, moqt-14→19) as a moq-dev target for aiomoqt CI, and suggested shippingrelay_probein the next aiomoqt release. afrind’s moqxmoq_decode.pywas again cited as the neutral wire arbiter.
Implementations: moq-dev’s third big day, moqtail-ts conformance
- moq — another ~13-merge Aug-14 day (all Luke Curley unless noted): reload custom root CAs without restart (#2863, +855/−113), resolve catalog references like URLs (#2855, +736/−195), fetch and decode a retained media group in bindings (#2827, +669/−28), stop blocking connect on the initial announce set (#2856) with arctic-uno-0144’s serve an IETF subscribe from the live edge (#2862) — together the 0.14.8 dangling-SUBSCRIBE fix — plus honor server version over WebSocket (#2841), signal stalled video renditions (#2865), serialize subscription updates with group pops (#2820), and TS-discontinuity/mux/rtc fixes (#2823/#2840/#2845), landing release trains (moq-cli 0.9.11, libmoq 0.5.8, moq-relay 0.14.10). The Aug-13 DVB/MPEG-TS front stayed OPEN (t0ms EIT/broadcast recipe #2828/#2830/#2824, sreejon optional-track-name #2831), joined by a breaking divide one connection’s bandwidth estimate among its tracks (#2854) and Qizot’s generic-CMAF-muxing FFI (#2765).
- moqtail — Kerem Bekmez’s moqtail-ts
TS-8, TS-9, TS-14, TS-15conformance batch (#367), continuing the draft-18/19 test-vector work. No new relay release; relay@0.14.1 stands. - Everything else quiet: quiche (moqt, no new commits since Aug-12), moqx (no Aug-14 merges; afrind’s forwarder-registry PRs #573–#590 OPEN), moq-rs (v0.7.25 stands), moq-js, moxygen, imquic (#35 OPEN), warp-player, moqlivemock, moqtransport (post-v0.13.0), Moqtopus, and birneee/quiche_moq all had no in-window merges. msf / loc / secure-objects / cmsf / catalog-format / privacy-pass all quiet.
Interop runner: −6 pass, back to the band’s middle-low
The nightly runner’s Aug-14 00:24 UTC cut was 350 / 129 / 210 / 11 (~36.9% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a −6 pass / +6 fail move versus the Aug-13 cut (matrix, skip, and at-target all flat), erasing the Aug-12→13 spike and returning pass to the middle-low of the settled band (126–136). Twenty-third straight cut on that matrix, at-target holding 220. Still targets draft-18 — though the newly-posted interim minutes now name draft-22 as the eventual next interop target. No Aug-15 cut at check time. See interop-runner.
Activity (Aug 13 → Aug 14) — A window whose headline is the WG breaking its month-long “nothing lands” streak: the editors merged four moq-transport PRs toward draft-20 on Aug-13 — Mo Zanaty’s Location-Filter redesign (#1809), afrind’s new PUBLISH_STATE_NOTIFY informative control message (#1820), afrind’s “recommend Secure Objects for confidentiality from relays” security note (#1755, closes #1711), and sharmafb’s “first byte of object” fix for payload-less objects (#1844, closes #1841) — the first draft-20-bound merges since draft-19 shipped July 6, though transport-19 still stands on the datatracker (no -20 uploaded) and the remaining filter/fetch/switch redesign PRs stay OPEN. On Slack, a fresh draft-18 interop bug-hunt closed inside an hour: Steven Riedl (Pluto TV) ran aiomoqt v0.10.6 against moq-dev’s public relay — draft-16 Just Worked end-to-end (MSF catalog received), but draft-18 hit a SUBSCRIBE_OK parse failure, which Giovanni Marzot root-caused as an aiomoqt bug (it decodes Track Properties with RFC-9000 varints instead of LOC vi64, running off the end when a value is ≥ 64, e.g. TIMESCALE=1000); moq-dev’s SUBSCRIBE_OK is spec-correct, and afrind’s moqx moq_decode.py served as the neutral arbiter. moq had another large Aug-13 day (~14 merged), moqtail landed relay object-fanout perf work + a moqtail-ts batch, and moqx merged afrind’s /info and /metrics/track admin PRs. Datatracker no bumps; mailing list, MoQ Monthly, and wiki issues all flat. The nightly runner slipped −1 to 135 pass, giving back one of the prior day’s +9 jump.
The Aug 13 → Aug 14 window (checked ~00:40 CEST Aug-14) had no WG-document revision bumps — the datatracker shows transport-19 (2026-07-06), loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01, privacy-pass-auth-03 all standing, plus draft-lcurley-moq-lite -05, hang-02/cluster-00/timestamp-01/qmux-websocket-00, draft-wilaw-moq-cmcd-event-timeline -00, draft-liu-moq-feedback -00, and draft-altanai-moq-relay-geocode -02 — and no new individual drafts (no submissions since Aug-1). The IETF list’s newest messages are still the five Aug-10 interim-adjacent posts (all logged); the next weekly GitHub digest is not due until ~Aug-16. IETF-126 minutes remain the single Monday doc at rev -01; the Aug-10-interim minutes are still unposted. No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (−1 pass, see below).
WG transport: the first draft-20-bound merge batch lands
After a month in which the log’s refrain was “no moq-wg PR merged, all draft-20 target PRs stay OPEN, transport-19 stands,” the editors landed four moq-transport PRs on Aug-13 (all into the editor’s copy — no -20 revision published yet):
- #1809 “Location filter changed to match the design of other filters” (Mo Zanaty, +75/−85) — the Location-Filter redesign walked at the Aug-10 interim, aligning it with the shape of the other subscription filters.
- #1820 “Add PUBLISH_STATE_NOTIFY message” (afrind, +65/−14) — the new strictly-informative control message afrind had floated as PUBLISH_NOTIFY / SUBSCRIPTION_STATE_UPDATE; it lands under the name PUBLISH_STATE_NOTIFY.
- #1755 “Recommend Secure Objects for confidentiality from relays” (afrind, +8/−9) — a security-considerations note steering deployments toward Secure Objects for relay-opaque confidentiality; closes issue #1711 “Protecting end to end content from relays.”
- #1844 “Change ‘first byte of object’ for objects that have no payload” (sharmafb, +5/−5) — fixes the OBJECT_DELIVERY_TIMEOUT “first payload byte” definition for payload-less objects; closes issue #1841.
The rest of the draft-20 target set — Fill-Fetch #1673, SWITCH_FROM #1674, FORWARD→range-pausing #1825, PUBLISH-sub-params #1834, Michal Hošna’s publisher-priority #1770, and Suhas’s #1851–#1853 clarification batch — remains OPEN, and transport-19 still stands on the datatracker. The moq-transport page’s Recent Highlights got a milestone bullet for the batch. Design discussion also continued on issues #1854 (PUBLISH_NAMESPACE signaling) and #1845 (Yu You’s Prior-Subgroup-ID gap).
Slack: an aiomoqt ↔ moq-dev draft-18 interop bug, root-caused in under an hour
The channel broke its post-Aug-11 quiet with a genuine cross-implementation interop bug-hunt (Steven Riedl / Pluto TV, a new name in #moq, driving aiomoqt as a library):
- The report. Riedl (Aug-14 00:38 CEST) ran aiomoqt v0.10.6 against Vivoh’s public moq-dev relay (
34-72-6-160.sslip.io, anonymous subscribe). draft-16: full success — WebTransport session, SUBSCRIBE_OK, and the MSF catalog object received end-to-end. draft-18: SUBSCRIBE_OK parse failure, transport-independent (same over raw QUIC) — “truncated trailing extensions block (kvp_start=7 tell=8 exts_end=10 parsed_kvps=0).” Session setup and the SUBSCRIBE itself were fine; only moq-dev’s OK response failed to parse. - The root cause. Giovanni Marzot (aiomoqt’s author, Vivoh) repro’d and diagnosed within the hour: moq-dev’s SUBSCRIBE_OK is spec-correct (Track Properties
TIMESCALE=1000, minimalvi6483 e8); aiomoqt v0.10.6 decodes that block with RFC-9000 varints instead ofvi64and runs off the end — it works for property values < 64 but breaks at ≥ 64. Fixed on his dev branch, shipping in the next release; workaround until then isMOQTMessage._tolerate_trailing_extensions = True. Riedl confirmed the workaround completes the full -18 loop and receives the MSF catalog, same as -16. - A neutral-decoder win. afrind pointed both at moqx’s
moq_decode.pyas a “neutral 3rd party” to arbitrate the hex — Riedl bookmarked it “for exactly this … it’s going in our October kit.” The aiomoqt page got a note on the -18 varint bug + workaround.
Implementations: moq-dev’s second big day, moqtail relay-fanout perf, moqx admin
- moq — another ~14-merge Aug-13 day (all Luke Curley unless noted): run multiple import/export stages over one connection (#2809, +860/−118), the breaking moq-native endpoint-role rename to
connect/listen(#2750, +3270/−1470), start dialing before the AAAA answer lands (Happy-Eyeballs, #2749, +1305/−356), surface a dropped resume producer instead of stalling readers forever (#2804, +593/−73), arielmol’s catalog container for manually-authored renditions (#2805), decode largest object in subscribe ok (#2837, Glenn444), advertise ALPN so the browser can negotiate a version (#2811), and count advertisements per namespace (#2803, extending the #2748 announce-unasked work), plus TS-cadence/frame-floor/CI fixes. A DVB/MPEG-TS front opened in OPEN PRs — t0ms’s EIT SI-routing test (#2828) and broadcast recipe (#2830), EIT present/following through a TS round-trip (#2824), and sreejon’s optional-track-name binding (#2831). - moqtail — Aug-13: relay object-fanout performance optimizations (#366, Zafer Gürel, +983/−100) and Kerem Bekmez’s moqtail-ts
ts6b, 16 and 19batch (#365, +563/−874). No new relay release; relay@0.14.1 stands. - moqx — afrind’s two admin PRs from the prior window merged Aug-13:
start_time/uptime_secondson/info(#572) and?limit=on/metrics/track(#561); gmarzot capped asan-build parallelism (#588) and the moxygen-sync bot landed #578. - Everything else quiet: quiche (moqt, no new commits since Aug-12), moq-rs (v0.7.25 stands), moq-js, moxygen, imquic (#35 OPEN), warp-player, moqlivemock, moqtransport (post-v0.13.0), Moqtopus, and birneee/quiche_moq all had no in-window merges. msf / loc / secure-objects / cmsf / catalog-format / privacy-pass all quiet (msf #206, loc #30 unchanged since Aug-12).
Interop runner: −1 pass, second-best on the 350-cell matrix
The nightly runner’s Aug-13 00:23 UTC cut was 350 / 135 / 204 / 11 (~38.6% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a −1 pass / +1 fail move versus the Aug-12 cut (matrix, skip, and at-target all flat), giving back one of the +9 that set the 350-cell high the prior day. Pass 135 is the second-best on the 350-cell matrix (behind Aug-12’s 136); twenty-second straight cut on that matrix, at-target holding 220. Still targets draft-18. No Aug-14 cut at check time. See interop-runner.
Activity (Aug 12 → Aug 13) — A GitHub-carried window whose headline is a two-codebase convergence on PUBLISH_NAMESPACE. Luke Curley’s moq #2748 “announce namespaces unasked, with a SETUP opt-out” — the concrete code for his moq-transport issue #1854 extension proposal — MERGED Aug-12 22:14 UTC (+1618/−262, Fixes #2730), closing the loop from wire-design debate to shipped behaviour. Independently and the same day, quiche resumed its stalled moqt wire-migration (first activity since Aug-4): PUBLISH_NAMESPACE moved onto a dedicated bidirectional stream (4b2d81f4) + TRACK_STATUS to its own stream (c57a70d2). Beyond #2748, moq-dev had a large Aug-12 day (~27 merged, ≈+21.6k/−6.4k LOC) centred on ordered-group-delivery correctness (#2766/#2767/#2771/#2772), catalog-rendition advertisement, and moq-hls binding; moqtail carried its relay-hardening sprint into Aug-12 (#361 send SUBSCRIBE to every matching publisher), and moqx merged Michal Hošna’s multiple-AUTHORIZATION_TOKEN support (#552). No moq-wg PR merged (transport-19 stands), but three design threads moved: msf #206 (Will Law event-timeline attribute refactor), loc #30 (Luke Curley: remove VideoConfig/AudioConfig from LOC properties, punt to catalog), and moq-transport #1832 (PUBLISH_DONE/SUBSCRIPTION_ENDED-vs-filter semantics). Datatracker no bumps; mailing list, Slack, and MoQ Monthly flat; no open wiki issues. The nightly runner jumped +9 to a new high of 136 pass.
The Aug 12 → Aug 13 window (checked early Aug-13 UTC) had no WG-document revision bumps — the datatracker shows transport-19, loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01, privacy-pass-auth-03 all standing, plus draft-lcurley-moq-lite -05, hang-02/cluster-00/timestamp-01/qmux-websocket-00, draft-wilaw-moq-cmcd-event-timeline -00, draft-liu-moq-feedback -00, and draft-altanai-moq-relay-geocode -02 — and no new individual drafts. The IETF list’s newest messages are still the five Aug-10 interim-adjacent posts (all logged); the next weekly GitHub digest is not due until ~Aug-16. Slack #moq’s newest top-level message is still Tobbe’s Aug-6 caption post (its Aug-11 reply already logged); no new Aug-12/Aug-13 traffic. IETF-126 minutes remain the single Monday doc at rev -01; the Aug-10-interim minutes are still unposted. No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (+9 pass, see below).
Implementations & spec: the PUBLISH_NAMESPACE loop closes, quiche re-engages the wire
The window’s spine is PUBLISH_NAMESPACE, touched from two independent directions the same day:
- The code side of #1854 lands. Luke Curley’s moq #2748 “feat(net): announce namespaces unasked, with a SETUP opt-out” — implementing exactly the SETUP-negotiated capability he proposed on moq-transport issue #1854 (if the extension is not negotiated, publishers
PUBLISH_NAMESPACEunsolicited; if it is, they wait for interest) — MERGED Aug-12 22:14 UTC (+1618/−262, Fixes #2730). It reverts to announcing unprompted (with the SETUP opt-out to avoid the draft-16-era double-announce), fixing the concrete bug thatmoq importagainst moxygen/imquic/moqx/Cloudflare “emits no control messages at all” because no third-party relay sendsSUBSCRIBE_NAMESPACE. This is the Aug-11 debate resolved into shipped behaviour. - quiche resumes its draft wire-migration. After no moqt-dir activity since Aug-4 (
52cc2fef), Google landed four commits Aug-11–12 continuing the “peel control messages onto dedicated bidirectional streams” pattern of its July-17 SUBSCRIBE-to-bidi burst: TRACK_STATUS moved to a separate stream (c57a70d2, Aug-11), aMoqtResponseCallbackconsistency fix (8a147ac8), PUBLISH_NAMESPACE moved onto a bidi stream (4b2d81f4, Aug-12), and an OSS-build fix (d01a24d4). Google’s change is about stream carriage (a different axis from #1854’s whether/when to send), but both codebases touchPUBLISH_NAMESPACEin the same 48 hours — the quiche-moq Recent Highlights got a bullet for the resumption. - moq’s large Aug-12 day (≈27 merged, +21.6k/−6.4k LOC, all Luke Curley unless noted): an ordered-group-delivery correctness cluster — serve subscription groups in arrival order (#2772) and the net-side serve subscriptions in arrival order so reordered groups aren’t dropped (#2771), transmit groups in sequence order for ordered subscriptions (#2767), and resolve
nextGroupas finished when the track closes above the cap (#2766); catalog-rendition advertisement — advertise the catalog rendition before the first keyframe (#2768) with arielmol’s OPEN manual-rendition catalog container (#2805); moq-hls — bind renditions to the broadcast their catalog came from (#2795) and arielmol’s keep a live-edge subscriber at the live edge across a takeover (#2785); relay — give a peer one key across both discovery paths (#2793) and drop every empty subscription range, not just group 0 (#2791); plus a nix/moq-mux/moq-native/ci sweep (#2790/#2782/#2781/#2780/#2777/#2770/#2769). Notable OPEN: a breaking separate session and stream errors (#2794), solicit announcements lazily, per interested prefix (#2775), count advertisements per namespace (#2803) — the last two extending the namespace-announcement work — plus slide the media timeline over the publisher’s cache (#2787) and a dropped-resume-producer fix (#2804). - moqtail carried its Aug-11 relay-hardening sprint into Aug-12 (all Zafer Gürel unless noted): the relay now sends SUBSCRIBE to every matching publisher — both those publishing a track by name and those that announced a namespace it falls under (#361, +255/−164, fixing a lookup that returned only the first match), a FETCH-OK-after-range fix (#363), and a
wtransportpin to crates.io 0.7.2 (#360, finalizing the Aug-11 git-rev pin). Kerem Bekmez continued the moqtail-ts draft-18 alignment (feat/ts12-13#362); dependabot #364 alongside. No new relay release — relay@0.14.1 stands. - moqx — Michal Hošna’s #552 “auth: support multiple AUTHORIZATION_TOKEN in single message” (+545/−58) MERGED Aug-12 — the code side of transport issue #1838 (semantics of multiple AUTHORIZATION_TOKEN parameters), prep for #530. Still OPEN: afrind’s
/infostart-time/uptime (#572) and/metrics/track?limit=(#561), michalhosna’s clang-tidy tooling (#563) and anonymous-claim grants (#553), and gmarzot’s dashboard/docs (#539/#555). - Everything else quiet: moq-rs (v0.7.25 stands), moq-js, moxygen (#211/#212 OPEN, no merges), imquic (#35 still OPEN), warp-player (two dependabot PRs #182/#183 OPEN), moqlivemock, moqtransport (post-v0.13.0), Moqtopus, aiomoqt,
moq-encoder-player, and birneee/quiche_moq all had no in-window activity.
WG: no merges, three design threads move
No moq-wg PR merged in-window (all the interim’s draft-20 target PRs remain OPEN, transport-19 stands), but three threads advanced:
- msf PR #206 “Refactor event timeline attributes and requirements” (Will Law, OPEN, +31/−17) — removes the
mimeTypeattribute from identified-objects and scte35 entries, updatesnameattributes for tracking objects, and clarifies event-timeline track requirements and the updating process. Fixes #76 and #83, continuing Will Law’s MSF Event Timeline design work (cf. his Aug-10draft-wilaw-moq-cmcd-event-timeline-00). - loc issue #30 “When are configs legal?” (Luke Curley, Aug-12) — asks whether
VideoConfigis legal as a track property, on object 0, on a sub-group, on any object, or any combination. Luke argues each placement is redundant or nonsensical: a track-level config duplicates the catalog (which already signals the codec out-of-band); per-sub-group configs make no sense with a single decoder; per-keyframe configs “reinvent Annex.B.” His conclusion: “I would remove VideoConfig and AudioConfig, punting them to the catalog.” A concrete simplification proposal for the LOC container. - moq-transport issue #1832 “Publish Done should not depend on subscriber location filter” (Mo Zanaty / mzanaty, opened Jul-27) drew Aug-12 discussion: laiDisney (Disney) asked two questions about the pending PR that removes PUBLISH_DONE’s
SUBSCRIPTION_ENDEDreason — whether a publisher must therefore not close a subscription at filter-end, and whether MOQT allows a publisher to proactively close a subscription for a non-error application reason. afrind replied that a publisher often does know a track is done, but “it seems like we don’t want to proactively close the subscription here to allow the client to send arequest_updateand change the filter,” and pointed to the existing non-error close codes (Track Ended, Goaway, or an application-defined code).
Interop runner: +9 pass, a new 350-cell high of 136
The nightly runner’s Aug-12 00:22 UTC cut was 350 / 136 / 203 / 11 (~38.9% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a +9 pass / −9 fail move versus the Aug-11 cut (matrix, skip, and at-target all flat), the biggest single-cut swing since Vienna week. Pass 136 is a new high for the 350-cell matrix, edging past the 133 first set July 31 (tied Aug-10); twenty-first straight cut on that matrix, at-target holding 220. The jump plausibly reflects the moqtail relay-hardening and moq-dev delivery-ordering fixes converging, though the at-target set is unchanged. Still targets draft-18. No Aug-13 cut at check time. See interop-runner.
Activity (Aug 11 → Aug 12) — A GitHub-carried, implementation-heavy window whose headline is a same-day loop from wire-design debate to code: Luke Curley’s moq-transport issue #1854 (“to PUBLISH_NAMESPACE or to not PUBLISH_NAMESPACE”) matured through an Aug-11 exchange with afrind into a concrete extension proposal — a peer advertises (via SETUP) whether it requires an explicit SUBSCRIBE_NAMESPACE, else the publisher PUBLISH_NAMESPACEs — and hours later Luke opened moq #2748 “announce namespaces unasked, with a SETUP opt-out” (+1618/−262, Fixes #2730) implementing exactly that. On the implementation side, moqtail had its biggest single relay-hardening day — Zafer Gürel landed ~11 relay conformance/correctness fixes (#348–#359) while Kerem Bekmez continued the moqtail-ts draft-18 alignment (#355) — moq-dev merged a large net-hardening batch, and afrind landed a local-forwarder-registry refactor on moqx (#541–#546). Slack’s only new traffic was Tobbe answering Jordi’s Aug-7 QUIC-mapping / audio-glitch question. No moq-wg PR merged (all draft-20 target PRs stay OPEN, transport-19 stands); datatracker no bumps; mailing list nothing new since Aug-10 (weekly digest not due until ~Aug-16); no new MoQ Monthly; no open wiki issues. The nightly runner slipped −6 to 127 pass.
The Aug 11 → Aug 12 window (checked early Aug-12 UTC) had no WG-document revision bumps — the datatracker shows transport-19, loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01, privacy-pass-auth-03 all standing, plus draft-lcurley-moq-lite -05, hang-02/cluster-00/timestamp-01, draft-wilaw-moq-cmcd-event-timeline -00 (Aug-10), draft-liu-moq-feedback -00, and draft-altanai-moq-relay-geocode -02 — and no new individual drafts. The IETF list’s newest message is still the five Aug-10 interim-adjacent posts (all logged); the next weekly GitHub digest is not due until ~Aug-16. Slack #moq’s newest top-level message is still Tobbe’s Aug-6 caption post, but its thread grew a new Aug-11 reply (below). IETF-126 minutes remain the single Monday doc at rev -01; the Aug-10-interim minutes are still unposted. No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (−6 pass, see below).
WG transport: the PUBLISH_NAMESPACE debate turns into an extension proposal — and code
The Aug-10 interim’s one on-repo artifact, Luke Curley’s issue #1854 “to PUBLISH_NAMESPACE or to not PUBLISH_NAMESPACE”, drew the window’s most substantive WG discussion — and, unusually, produced an implementation the same day:
- The debate. afrind (Aug-11 01:12 UTC) held the line that “moq-transport is not about how to build the inner workings of a CDN. That is explicitly out of scope. A CDN is a single relay from the perspective of the document.” Luke (Aug-11 19:47) accepted the reframing (swap “CDN” for “relay”) but argued a generic relay still can’t know whether a connecting peer intends to publish or subscribe, so blindly emitting
PUBLISH/PUBLISH_NAMESPACE“feels wrong.” - The pivot to an extension. Luke then proposed (Aug-11 19:49) a concrete, backward-safe mechanism: “The peer can advertise if it requires an [explicit]
SUBSCRIBE_NAMESPACE… far safer than expecting the application to know/configure if the peer willPUBLISH_NAMESPACE.” — if the extension is not negotiated, the publisherPUBLISH_NAMESPACEs (unsolicited); if it is, the publisher waits for interest. This turns the Hackathon-era P2P-vs-relay signaling gap into a SETUP-negotiated capability rather than an out-of-band assumption. - The code. Hours later Luke opened moq #2748 “feat(net): announce namespaces unasked, with a SETUP opt-out” (OPEN, +1618/−262, Fixes #2730 — t0ms’s matching impl-side bug). The PR text spells out the motivating bug: “On the IETF path we only advertised a namespace in response to a
SUBSCRIBE_NAMESPACE. No third-party relay sends one to a publisher, somoq importagainst moxygen, imquic, moqx, or Cloudflare connects, negotiates a version, and then emits no control messages at all for the life of the process.” The fix reverts to announcing unprompted, with the SETUP opt-out to avoid the draft-16-era double-announce it originally solved.
No moq-wg PR merged in-window; all the interim’s draft-20 target PRs (#1809/#1820/#1673/#1674/#1834/#1825/#1830 + Suhas’s #1851/#1852/#1853 batch) remain OPEN, and transport-19 stands.
Implementations: moqtail’s biggest relay-hardening day, moq-dev net batch, moqx forwarder-registry rework
- moqtail — a ~11-PR relay conformance/hardening sprint (Aug-11), all Zafer Gürel. With the draft-18 wire aligned, the relay’s runtime correctness got a concentrated pass: build the relay’s own SETUP parameters instead of forwarding them upstream (#359, +307/−100), end a namespace announcement when its request stream ends (#358), deduplicate Objects and raise Forward State for publishers (#356), wait for a track alias on notification (and abandon) (#354), reset a cancelled subscription’s streams (#353), report the true
LARGEST_OBJECTdownstream (#352), reject a duplicate SUBSCRIBE withDUPLICATE_SUBSCRIPTION(#351), apply forward state and the subscription filter to datagrams (#350), pin the FETCH object layout to the wire in a test (#349), a subscribe-error-after-accept fix (#348), and awtransportgit-rev pin (#357). Alongside, Kerem Bekmez continued the moqtail-ts draft-18 alignment (#355 “feat/ts10-11”, +657/−94, closes 266). Zafer also opened imquic #35 “correct FETCH object parsing of subgroup flags and object status” — cross-pollinating his moqtail FETCH-layout work into Miniero’s C library. No new relay release — relay@0.14.1 stands. See moqtail. - moq merged a large Aug-11 net-hardening batch (all Luke Curley unless noted): prioritize moq-lite group streams by send order (#2737, +679/−38, OPEN→MERGED), expose the incoming request path and query to bindings (#2738, +469/−84, shermerL), open send streams with
waitUntilAvailable(#2741, +511/−42), restore displaced broadcast publishers (#2740), re-arm the origin takeover gate on every route observation (#2742), account for per-rendition jitter when switching renditions (#2739) + a follow-up moving rendition jitter into the decoder (#2747), and amoq-ffivideo-capability py fix (#2744). Still OPEN: the 1854-driven announce-unasked/SETUP-opt-out #2748 (above), Happy-Eyeballs parallel A/AAAA dials (#2749, +1123/−336), a breakingmoq-nativemerge of the client/server split into one endpointConfig(#2750, +2264/−1577), and a takeover-gate refinement (#2746). - moqx — afrind landed a local-forwarder-registry refactor (five MERGED Aug-11): install the local forwarder chain on subscribe-created tracks (#546, +401/−31), make subscribers wait for an in-flight local forwarder setup (#545, +246/−16), fold registry replacement into
installPublisherForwarder(#544), giveLocalForwarderRegistrya three-state entry (#542, +647/−67), and name the initial track state a subscriber must observe (#541) — the relay-plumbing counterpart to its subscribe/publish path. Giovanni Marzot’s gtest-discovery build fix (#556) merged; afrind’s/metrics/track?limit=PR (#561), gmarzot’s dashboard wiring (#539)/docs (#555), and Michal Hošna’s auth-token PRs (#552/#553) stay OPEN. - Everything else quiet: moq-rs (v0.7.25 stands), moq-js, quiche (moqt, newest commit Aug-4
52cc2fef), moxygen (#211/#212 OPEN, no merges), warp-player (two dependabot PRs #182/#183 OPEN), moqlivemock, moqtransport (post-v0.13.0), Moqtopus, aiomoqt,moq-encoder-player, and birneee/quiche_moq all had no in-window activity. msf / loc / secure-objects / cmsf / catalog-format / privacy-pass all quiet.
Slack: Tobbe answers Jordi’s QUIC-mapping / audio-glitch question
The channel’s only new traffic was a second thread reply on Tobbe’s Aug-6 caption-announcement post (the first new Slack message since Aug-7). Answering Jordi Cenzano’s Aug-7 question — “What is the QUIC mapping you are doing for video and audio? GOP = QUICStream, audio = Datagram?” + the report of frequent small audio glitches from the USA — Tobbe (Aug-11 11:11 CEST) explained his mapping: he uses MOQ streams, one per group (not datagrams), with audio groups “aligned” with the 1-second-GOP video groups — so each audio group averages ~1 s, its frame count ±1 so audio starts at the same time as (or less than one frame after) video. He committed to investigating the glitch: “Maybe there is some timestamp mismatch…” A small but concrete data point that the Eyevinn stack maps both media types onto per-group QUIC streams, not audio-over-datagram.
Interop runner: −6 pass, near the band low
The nightly runner’s Aug-11 00:18 UTC cut was 350 / 127 / 212 / 11 (~36.3% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a −6 pass / +6 fail move versus the Aug-10 cut (matrix, skip, and at-target all flat). Pass 127 sits near the low of the settled 350-cell band (126–133, high 133 on July 31 and Aug-10); twentieth straight cut on that matrix, at-target holding 220. Still targets draft-18. No Aug-12 cut at check time. See interop-runner.
Activity (Aug 10 → Aug 11) — The Aug-10 virtual interim ran — and it was a discussion-only session: not one PR merged toward draft-20 on any moq-wg repo. The interim (interim-2026-moq-21, 1630–1800 UTC Monday) walked the core-transport filter/fetch/switch PR set live, but every target PR (moq-transport #1809/#1820/#1673/#1674/#1834/#1825 + the #1851/#1852/#1853 clarification batch) remains OPEN, transport-19 stands, and no minutes are posted yet. The one concrete on-repo artifact of the day is Luke Curley’s new wire-affecting issue #1854 — “to PUBLISH_NAMESPACE or to not PUBLISH_NAMESPACE” — questioning whether the wire needs to distinguish the P2P case (both PUBLISH_NAMESPACE + SUBSCRIBE_NAMESPACE) from S2S relay-to-relay (neither), with afrind pushing back on the framing. The list carried five interim-adjacent Aug-10 messages, including Will Law’s new individual draft draft-wilaw-moq-cmcd-event-timeline-00 (CMCD carried over MSF Event Timeline) and Luke Curley’s moq-lite drafts orientation post. On the implementation side, moqtail’s TypeScript library began its draft-18 alignment (Kerem Bekmez, 336 all MERGED), moq-dev merged minor net fixes and opened a large breaking transport-interface refactor, and afrind merged a per-track /metrics endpoint on moqx. The nightly runner ticked +2 to 133 pass, tying its 350-cell high. Slack quiet; no new MoQ Monthly; no open wiki issues.
The Aug 10 → Aug 11 window (checked the morning after the interim) had no WG-document revision bumps — the datatracker shows transport-19, loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01, privacy-pass-auth-03 all standing, plus draft-lcurley-moq-lite -05, hang-02/cluster-00/timestamp-01, draft-liu-moq-feedback -00, and draft-altanai-moq-relay-geocode -02. The only new individual draft is Will Law’s draft-wilaw-moq-cmcd-event-timeline-00 (below); Luke’s post also surfaced two lcurley individual drafts the wiki had not tracked — draft-lcurley-qmux-websocket-00 (Aug-4) and draft-lcurley-moq-probe-00 (Mar-17). Slack #moq’s newest message is still Tobbe’s Aug-6 caption post and its single Aug-7 Jordi reply (both logged). IETF-126 minutes remain the single Monday doc at rev -01. No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (+2 pass, see below).
The Aug-10 virtual interim: discussion only, nothing lands toward draft-20
Monday’s Aug-10 virtual interim (interim-2026-moq-21, 1630–1800 UTC, via Meetecho) ran on schedule, but produced no merges on any moq-wg repo — the first datable read on the session shows the core-transport PR set the Aug-5 agenda named for draft-20 was discussed live, not landed. As of the next-morning check, all target PRs remain OPEN and wire-neutral to the published spec (transport-19 stands, no -20 published):
- Location Filter rewrite #1809 (Mo Zanaty, +72/−82), PUBLISH_NOTIFY #1820 (afrind, +61/−11; afrind clarified on-thread it is “strictly informative”), Fill-Fetch #1673 (afrind, +211/−181), SWITCH_FROM #1674 (afrind, +109/−0), PUBLISH-subscription-params #1834 (Ian Swett, +19/−11), FORWARD→range-pausing #1825 (Suhas, +171/−167), and the #1851/#1852/#1853 clarification batch — all touched in the days before the meeting, none merged.
- “Needs Discussion” issue #1801 (reconsider “OR” in range filters, Victor Vasiliev) drew a fresh Aug-10 15:49 comment from Cullen Jennings (fluffy) — backing afrind’s point about avoiding sending the same object twice (e.g. cell-phone ingest with poor uplink) but asking for a concrete problematic use case before acting.
Datatracker materials for the session: agenda agenda-interim-2026-moq-21-moq-01 at rev -01 (Aug-7), three slide decks all at rev -00 — “FETCH pacing for MOQT” (Will Law, for issue #1453), “Chair Slides,” and “MOQT PRs and Issues 8/10” — and no minutes posted yet. The interim outcomes that actually reshape -20 will surface as merges (and eventually a -20 upload) in a later window.
WG transport: Luke Curley opens the PUBLISH_NAMESPACE-vs-relay signaling question
The interim’s one concrete on-repo artifact is a new wire-design issue Luke Curley filed during/just after the call:
- issue #1854 “to PUBLISH_NAMESPACE or to not PUBLISH_NAMESPACE” (kixelated, Aug-10 17:09 UTC) — argues there is an interop gap: nothing in-band distinguishes the P2P case (both
PUBLISH_NAMESPACEandSUBSCRIBE_NAMESPACEsent) from the S2S / relay-to-relay case (neither sent), so a generic CDN (e.g. Cloudflare) is oblivious to the application’s intent and blindly sendingPUBLISH/PUBLISH_NAMESPACE“feels wrong.” afrind pushed back on the framing (“applications know what they want and send what they need”); Luke countered with the generic-CDN-doesn’t-know case. Unresolved — a continuation of the Hackathon-eraSUBSCRIBE_NAMESPACE-mandatory-vs-PUBLISH_NAMESPACE-optional / different-authorization-models debate. (moq-dev contributor t0ms filed a matching implementation-side issue #2730 on PUBLISH_NAMESPACE withholding the same day.)
Mailing list: five interim-adjacent Aug-10 messages, two new drafts
All five verified via raw permalink (200; fabricated-ID control 404). The two most substantive introduce new individual drafts:
- Will Law — CMCD over MSF Event Timeline announces a new individual draft,
draft-wilaw-moq-cmcd-event-timeline-00“CMCD transmission over MSF Event Timeline” (submitted Aug-10 16:06 UTC). It specifies how an MSF catalog can instruct a publisher to publish configurable CMCD (Common Media Client Data) at target destinations using MSF Event Timeline tracks (a generic ad-hoc-data mechanism on MSF media tracks) — defining both the catalogcmcdConfigconfiguration syntax and the on-wire carriage (eventType: "urn:cta:cmcd:2026"). Issues/PRs at wilaw/CMCD-over-MSF-event-timeline. This turns the MSF Event Timeline into a concrete telemetry-carriage vehicle and extends Will Law’s running MSF-timeline design work. - Luke Curley — moq-lite drafts is an orientation post on the moq-lite family:
draft-lcurley-moq-lite-05is “my subset of moq-transport … my API serialized to the wire” (e.g. no sub-groups), with new features split into IETF extensions — moq-cluster (NAMESPACE carries a hop list + cost for shortest-path SUBSCRIBE routing across a relay cluster), moq-timestamp (promotes the LOC timestamp/timescale to the transport layer), and two drafts the wiki had not tracked:draft-lcurley-moq-probe-00“MoQ Probe Extension” (Mar-17; subscriber requests current bitrate and targets a higher bitrate via padding) anddraft-lcurley-qmux-websocket-00“QMux over WebSocket” (Aug-4; TCP support in browsers, “not MoQ”). Candid caveat: “Claude wrote these moq-transport extensions so I can’t promise they work (the moq-lite code-path gets far more test[ing]).” - Three shorter interim-adjacent threads: Martin Duke — PR #1770 - changes to PUBLISHER_PRIORITY (on Michal Hošna’s agenda-review PR #1770, make Default Publisher Priority updatable), Altanai B — Re: MoQT relay diagnostics follow-up from IETF 126 / issue #1692, and Cullen Fluffy Jennings — Re: Draft Agenda for 8/10 moq interim (the range-filter-OR reply mirrored in his #1801 comment). No WGLC, consensus call, or interop-report post; the next weekly GitHub digest is not due until ~Aug-16.
Implementations: moqtail-ts starts draft-18, moq-dev’s breaking net refactor, moqx metrics
- moqtail — TypeScript draft-18 alignment begins. After July aligned the Rust side, the
moqtail-tslibrary landed its first draft-18 wire batch Aug-10 (all Kerem Bekmez, inlibs/moqtail-ts): CLIENT_SETUP/SERVER_SETUP collapsed into SETUP (#334, +506/−434 — OPEN→MERGED), control streams reworked per draft-18 (#335, +191/−70), and request types moved onto their own bidirectional stream (#336, +718/−124) — the TS counterpart of the RS-side 297 work, drawing down the ~20-issue moqtail-ts API-break backlog. (Two dependabot merges 337 alongside.) See moqtail. - moq merged minor items — docs(drafts): spec timeline track + compressed catalog in moq-hang (#2732, +74/−0), the prior-window net fixes invert stream priority (#2720, OPEN→MERGED, +232/−26) and tolerate streams that die before their first byte (#2721), and iOS-simulator builds (#2710) — and opened a large breaking net refactor: #2736 “refactor(net)!: require the poll-based transport interface” (+2049/−671, OPEN), plus moq-lite group-stream send-order prioritization (#2737, +512/−36) and a native-package release repair (#2731). New issues: kixelated’s hang-stats track proposals (#2735/#2734/#2733, viewer-feedback / publisher-stats / moq-net send-backlog) and t0ms’s two bug reports (#2730 PUBLISH_NAMESPACE withholding, #2729 import-ts audio-frame resync). The DON’T-MERGE route-replace refactor #2723, release PR #2724, and dependabot batch #2725–#2728 stay OPEN.
- moqx — afrind merged a substantial per-track stats endpoint #533 “stats: per-track counters exposed at /metrics/track” (+2510/−22) and a MoQT-safe name render/parse helper #532 (+350/−0); Giovanni Marzot opened docs/CI PRs #555/#556 (OPEN), and a
snapshot-latestbuild was published. Correction to the prior window’s entries: the auth-token PRs #552 (multipleAUTHORIZATION_TOKEN) and #553 (anonymous-claim grants / per-message token cap) were authored by Michal Hošna (michalhosna), not afrind (the Aug-7/8 entries mis-attributed them); both remain OPEN. - moxygen #212 (Giovanni Marzot, per-layer XLOG logging) and #211 still OPEN; no merges. warp-player took two dependabot dev-dep PRs (#182/#183, OPEN).
- Everything else quiet: moq-rs (v0.7.25 stands), moq-js, quiche (moqt, newest commit Aug-4
52cc2fef), imquic (#34 still OPEN), moqlivemock, moqtransport (post-v0.13.0), Moqtopus, aiomoqt,moq-encoder-player, and birneee/quiche_moq all had no in-window activity. msf / loc / secure-objects / cmsf / catalog-format / privacy-pass all quiet.
Interop runner: +2 pass, ties the 350-cell high
The nightly runner’s Aug-10 00:19 UTC cut (taken the morning of the interim) was 350 / 133 / 206 / 11 (~38.0% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a +2 pass / −2 fail move versus the Aug-9 cut (matrix, skip, and at-target all flat). Pass 133 ties the 350-cell-matrix pass high first reached July 31; nineteenth straight cut on that matrix, at-target holding 220. Still targets draft-18. No Aug-11 cut at check time. See interop-runner.
Activity (Aug 9 → Aug 10) — The small hours of interim day, and a quiet window whose one genuinely new source item is a piece of list hygiene: the overdue weekly GitHub digest finally posted (Sun Aug-9 08:09 UTC, mnot.net bot) — a routine recap, ending the ~week-long gap since Aug-2. With Monday’s Aug-10 virtual interim (interim-2026-moq-21, 1630–1800 UTC) not yet run at check time, the WG stayed in interim-prep mode: no merges on any moq-wg repo, but the core-transport agenda PRs got their pre-meeting rebases on moq-transport — Suhas’s #1825 (replace FORWARD with Range-Filter pausing, the PR behind “Needs Discussion” issue #1352), Ian Swett’s #1834 (PUBLISH subscription params), and Suhas’s Range-Filters readability #1851 — all OPEN, all wire-neutral, all toward draft-20. The implementations had their quietest window in weeks: moq merged one net fix and took a dependabot batch, and the one fresh item elsewhere was a moxygen diagnostics PR from Giovanni Marzot. No datatracker bumps; Slack quiet; no new MoQ Monthly; no open wiki issues.
The Aug 9 → Aug 10 window (checked ~00:00–01:00 UTC Monday, before the interim) had no new draft revisions and no new Slack traffic, and its only new mailing-list message was the overdue weekly GitHub digest (below). The datatracker shows transport-19, loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01, privacy-pass-auth-03 all standing, plus draft-lcurley-moq-lite -05, the three Aug-4 lcurley drafts (hang-02/cluster-00/timestamp-01), draft-liu-moq-feedback -00, and draft-altanai-moq-relay-geocode -02. The Aug-10-interim materials are unchanged since Aug-7 (agenda rev 01, chair slides rev 00, Will Law’s FETCH-pacing slides rev 00 from Aug-6). Slack #moq’s newest message is still Tobbe’s Aug-6 caption post and its single Aug-7 Jordi reply (both logged). IETF-126 minutes remain the single Monday doc at rev -01. No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (−1 pass, see below).
Mailing list: the overdue weekly GitHub digest finally posts
The window’s only genuinely new list item is the Weekly github digest (Media Over QUIC Activity Summary) — posted Sun Aug-9 08:09 UTC (01:09 PDT; raw-verified 200 + DKIM d=mnot.net; fabricated-ID control 404). The digest had been missing since Aug-2 (expected ~Aug-9), and the wiki flagged the gap in the Aug-8 and Aug-9 entries; its content is the routine auto-generated recap of the week’s GitHub activity across the MoQ repos — all items already tracked here — so it carries no new durable fact, but it closes the “digest overdue” watch. No WGLC announcement, consensus call, or interop-report post accompanied it, and all other list messages remain Aug-5-or-earlier (afrind’s Aug-10 agenda, the ITU-T SG21 liaison, Jordi’s LOCv4 post — all logged).
WG transport: interim-prep rebasing of the draft-20 agenda PRs
No moq-transport PR merged, but on the eve of Monday’s Aug-10 virtual interim the core-transport PRs the agenda targets for draft-20 were updated (all OPEN, all wire-neutral; transport-19 stands, no new issues):
- #1825 “Replace FORWARD parameter with Range Filter-based pausing” (Suhas, +171/−167, updated Aug-9 16:03) — the concrete PR behind the agenda’s “Needs Discussion” issue #1352 (“SUBSCRIBE does not need a forward parameter if we have filters”), replacing the standalone FORWARD parameter with range-filter-based pausing semantics.
- #1834 “PUBLISH can contain Subscription Parameters” (Ian Swett, +18/−10, updated Aug-9 18:50) — the agenda’s “reflects Vienna discussions” review PR.
- #1851 “Clarify Range Filters section for readability” (Suhas, updated Aug-9 18:49) — the readability tail of Mo Zanaty’s Location-Filter rewrite (issue #1810), part of the three-PR clarification batch logged the prior window; #1853 (IANA rename) also saw a touch.
These are normal pre-meeting rebases; which of the filter/fetch/switch PRs actually land toward -20 will surface after Monday’s session in the next update.
Implementations: the quietest window in weeks
- moq merged just one net-layer fix — #2721 “fix(net): tolerate incoming streams that die before their first byte” (+224/−4, mmcc, MERGED Aug-9 01:07 UTC; it was OPEN in the Aug-9 log) — and otherwise took a routine dependabot batch (#2725/#2726/#2727/#2728, all OPEN). Its prior-window OPEN PRs — the moq-net v0.2.11 release #2724, invert-stream-priority #2720, iOS-simulator #2710, protocol-version-help #2719, and the large DON’T-MERGE route-replace refactor #2723 (+538/−6073) — all remain in flight. No new issues.
- moxygen: the one fresh item elsewhere — #212 “standalone: root every layer’s XLOG category so per-layer
--loggingselectors work” (Giovanni Marzot / gmarzot, +146/−0, OPEN Aug-9), a diagnostics/logging refinement. Notable as the aiomoqt author contributing tooling to Meta’s C++ relay; #211 (active-subscription counting) still OPEN. - moqx: the auth-token PRs #552 (multiple
AUTHORIZATION_TOKENper message) and #553 (anonymous-claim grants / per-message token cap) remain OPEN (#552 rebased Aug-9 21:55). - Everything else quiet: moq-rs (v0.7.25 stands), moq-js, quiche (moqt, newest commit Aug-4), moqtail (#334 still OPEN), imquic (#34 still OPEN), moqlivemock, warp-player, moqtransport (post-v0.13.0), Moqtopus, birneee/quiche_moq, and
moq-encoder-playerall had no in-window activity.
Interop runner: −1 pass, still in-band
The nightly runner’s Aug-9 00:18 UTC cut was 350 / 131 / 208 / 11 (~37.4% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a marginal −1 pass / +1 fail move versus the Aug-8 cut (matrix, skip, and at-target all flat). Pass 131 stays inside the settled 350-cell band (126–133, high 133 on July 31); eighteenth straight cut on that matrix, at-target holding 220. Still targets draft-18. No Aug-10 cut at check time. See interop-runner.
Activity (Aug 8 → Aug 9) — A quiet, pre-interim Sunday on the eve of Monday’s Aug-10 virtual interim. The one substantive WG-repo item was Suhas Nandakumar opening a three-PR moq-transport clarification batch — #1851 (Range Filters readability, fixes #1810), #1852 (restrict GOAWAY on request streams to the data sender, fixes #1655), #1853 (rename IANA “application-specific” range to “private use”, fixes #1828) — all OPEN, all wire-neutral, all closing “Path-to-WGLC” cleanup issues the interim agenda tracks toward draft-20. No merges (transport-19 stands); no draft bumps; the mailing list and Slack produced nothing new; the nightly runner cut was byte-for-byte identical to Aug-7 (350/132/207/11). moq-dev/moq had its quietest day in weeks.
The Aug 8 → Aug 9 window had no new draft revisions, no new mailing-list messages, and no new Slack traffic — the datatracker shows transport-19, loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01, privacy-pass-auth-03 all standing, plus draft-lcurley-moq-lite -05, the three Aug-4 lcurley drafts (hang-02/cluster-00/timestamp-01), and draft-liu-moq-feedback -00. The IETF list’s newest message is still Aug-5 (afrind’s agenda, the ITU-T liaison, Jordi’s LOCv4 post — all logged) and the weekly GitHub digest had still not posted (last Aug-2, expected ~Aug 9). Slack #moq’s newest message is still Tobbe’s Aug-6 caption post and its single Aug-7 Jordi reply (both logged). IETF-126 minutes remain the single Monday doc at rev -01. No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (flat, see below).
WG transport: Suhas opens a three-PR clarification batch ahead of the interim
Suhas Nandakumar (suhasHere) opened three OPEN moq-transport PRs Aug 8–9, each fixing a specific “Path-to-WGLC” cleanup issue — none touching the wire, so transport-19 stands:
- #1851 “Clarify Range Filters section for readability” (+59/−25) — fixes #1810 “New section on filters hard to process”; readjusts the Range Filters prose and keeps the filter-type definition multi-line (asks Mo Zanaty to review). This is the readability tail of Mo Zanaty’s Location-filter redesign, one of the core-transport items the Aug-10 interim agenda targets for draft-20.
- #1852 “Restrict GOAWAY on request streams to the data sender (#1655)” (+19/−7) — fixes #1655 “Tighter language around GOAWAYs on a request stream” by clarifying which side may send GOAWAY in a given session.
- #1853 “Rename application-specific to private use in IANA registry ranges” (+8/−8) — fixes #1828, replacing the ambiguous “application-specific” label on IANA registry ranges with the standard “private use” term (one of the July-25 IANA/naming issues).
The batch is the code-editing counterpart to the interim agenda’s core-transport filter/fetch/switch/IANA cleanup — worth watching for whether these land at or just after Monday’s session.
Everything else: quiet
- moq-wg repos msf / loc / secure-objects / cmsf / catalog-format / privacy-pass merged nothing and opened nothing in-window. On moq-transport there were no merges (the Aug-7 editorial batch #1846–#1849 is already logged); #1844 (first byte of a zero-payload object) stays OPEN.
- moq had its quietest day in weeks — only two prior-window OPEN PRs merged (a multi-track-failover net test #2713 +193/−0 and “docs: welcome AI contributions” #2722), a routine OPEN moq-net v0.2.11 release PR #2724, and its prior-window net fixes (#2720/#2721/#2719) plus a large DON’T-MERGE route-replace refactor (#2723, +538/−6073) still OPEN. No new issues.
- Implementations quiet: moqx (afrind) auth-token PRs #552/#553 still OPEN; moq-rs (v0.7.25 stands), moq-js, quiche (moqt, newest commit Aug-4), moqtail, moxygen (#211 still OPEN), imquic, moqlivemock, warp-player, moqtransport (post-v0.13.0), Moqtopus, aiomoqt, birneee/quiche_moq, and
moq-encoder-playerall had no in-window activity.
Interop runner: flat Aug-8 cut
The nightly runner’s Aug-8 00:18 UTC cut was 350 / 132 / 207 / 11 (~37.7% pass; at-target draft-18 220 · 0 ahead · 130 behind) — byte-for-byte identical to the Aug-7 cut (0 pass change; matrix, skip, and at-target all flat). Pass 132 stays inside the settled 350-cell band (126–133, high 133 on July 31); seventeenth straight cut on that matrix, at-target holding 220. Still targets draft-18. No Aug-9 cut at check time. See interop-runner.
Activity (Aug 7 → Aug 8) — Another implementation-carried window, with the WG side in Aug-10-interim-prep mode. moq lands its new moq play CLI player (#2697, OPEN→MERGED) — the prior window’s headline OPEN PR — alongside stateful per-frame fMP4 fragmenting (#2680, +1408/−264) and a fresh net-layer batch, cut as a relay v0.14.9 / libmoq v0.5.6 release train (#2703). afrind opens a coherent auth-token front on moqx — multiple AUTHORIZATION_TOKEN per message (#552) + anonymous-claim grants / per-message token cap (#553) + a CAT4MOQ→draft-01 issue (#551) — the code side of the transport auth-token-semantics threads. On the WG repo, four tiny editorial moq-transport PRs merge and Will Law files issue #1850 (define Track/Object properties to signal payload compression). Datatracker shows no draft bumps but the Aug-10 virtual-interim materials go live (agenda → rev 01, chair slides posted). Slack surfaces one interop observation: Jordi Cenzano tests Tobbe’s captioned stack from the USA and reports frequent small audio glitches, asking about its QUIC mapping.
The Aug 7 → Aug 8 window had no new draft revisions and no new mailing-list messages — the datatracker shows transport-19, loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01, privacy-pass-auth-03 all standing, plus draft-lcurley-moq-lite -05 and the three Aug-4 lcurley drafts (hang-02/cluster-00/timestamp-01) and draft-liu-moq-feedback -00. The only Datatracker-side movement was prep for Monday’s Aug-10 virtual interim (below). The IETF list’s newest message is still Aug-5 (afrind’s agenda, the ITU-T liaison, Jordi’s LOCv4 post — all logged); the weekly GitHub digest had not yet posted (expected ~Aug 9). IETF-126 minutes remain the single Monday doc at rev -01. No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (+3 pass, see below).
Slack: Jordi Cenzano tests the captioned Eyevinn stack — audio glitches from the USA
The channel’s only new traffic was a thread reply on Tobbe’s Aug-6 caption-announcement post (logged in the prior window). Jordi Cenzano (Meta) replied (Aug 7 21:02 CEST): “that is a very complete implementation!!!!” and asked what QUIC mapping the stack uses for video and audio — “GOP = QUICStream, audio = Datagram?” — while reporting that, testing from the USA, he hears quite frequent (small) audio glitches. No answer had been posted at check time. It is a small but concrete cross-continent interop observation on the freshly-released Eyevinn v0.13.0 stack, and echoes the recurring audio-over-datagram vs. audio-over-stream question (cf. the Aug-3 DATAGRAM-fragmentation thread and Ian Swett’s July-25 MoQ-over-MoQ audio-drop note).
WG process: Aug-10 virtual-interim materials go live
Ahead of Monday’s Aug-10 virtual interim (interim-2026-moq-21, 1630–1800 UTC), the Datatracker meeting materials moved on Aug 7 (~22:08 UTC) — no mailing-list message, just document activity:
- Agenda bumped to rev 01 (
agenda-interim-2026-moq-21-moq-01) — a revision of the draft agenda afrind circulated Aug 5 (which named draft-20 as the target for the in-flight filter/fetch/switch PR set: moq-transport #1809/#1820/#1673/#1674). - Chair slides posted at rev 00 (
slides-interim-2026-moq-21-sessa-chair-slides). - (Context: Will Law’s FETCH-pacing slides —
slides-interim-2026-moq-21-sessa-fetch-pacing-for-moqt— were posted Aug 6, matching his Aug-4 “Pacing for FETCH” thread and the “Needs Discussion” issue #1453 on the agenda.)
moq-dev: moq play lands, per-frame fMP4 fragmenting, and a v0.14.9 release train
moq (all Luke Curley) had another busy day:
moq playCLI player lands. #2697 “feat(cli): add moq play” (MERGED Aug 7, +2190/−128) — the native command-line player verb that was OPEN in the prior window — with the Windows-gate compile fix (#2712) merged alongside.moq-clinow has a first-class playback command.- Stateful per-frame fMP4 fragmenting. #2680 “feat(moq-mux): add stateful per-frame fMP4 fragmenting” (MERGED, +1408/−264) — the muxing layer can now emit one fMP4 fragment per frame, building on the Aug-6 init-segment/timescale refactor.
- Net-layer batch (MERGED): expose JavaScript subscription options (#2716, +464/−69), keep UNKNOWN publishers announced across relay loops (#2718, +395/−3), a web-transport dependency bump (#2717), and dropping the Intel-macOS release targets (#2715).
- Release train prepared via release-plz #2703 (merged Aug 8 00:59): moq-relay 0.14.8→0.14.9, libmoq 0.5.5→0.5.6, moq-cli 0.9.8→0.9.9, moq-ffi 0.3.8→0.3.9, moq-net 0.2.9→0.2.10, moq-mux 0.9.4→0.9.5 (+ moq-native/audio/video/transcode/gst/boy bumps); the git tags had not yet appeared at check time.
- OPEN net fixes: invert stream priority to match transport send-order semantics (#2720, +96/−13), tolerate incoming streams that die before their first byte (#2721, +194/−3), generate protocol-version help (#2719), a multi-track-failover test (#2713), and a “docs: welcome AI contributions” PR (#2722). New issue #2714 asks for a per-subscriber path predicate on OriginConsumer/AnnounceConsumer (postanteGames). The prior window’s large Origins single-connection rework (#2705) remains OPEN.
moqx: afrind opens an auth-token front
afrind opened a coherent authorization-token cluster on moqx Aug 7 — the code side of the transport-layer auth-token discussions (Michal Hošna’s #1838 “Semantics of multiple AUTHORIZATION TOKEN parameters” and Flynn’s #1843 CAT-token renewal, both logged earlier this month):
- #552 “auth: support multiple AUTHORIZATION_TOKEN in single message” (OPEN, +545/−58) — directly implements the semantics of transport #1838.
- #553 “auth: add anonymous_claim grants and per-message token cap” (OPEN, +1290/−155).
- issue #551 “auth: CAT4MOQ update to draft-01” (michalhosna / Michal Hošna) — tracking the CAT4MOQ (Common Access Token for MoQ) draft-01 revision, the token format behind Flynn’s transport issue #1843 (CAT-token expiration/renewal).
A routine moxygen sync (#550) merged; a rolling snapshot-latest build was published.
WG transport: four editorial merges + a payload-compression issue
- Four tiny editorial PRs merged Aug 7 (all ~05:18–05:20 UTC): #1846 “Too much partying” (−1), #1847 add
INCLUDE_PROPERTIESto the Message Params IANA table (+1) — both OPEN→MERGED — plus #1848 (AUIDO_CONFIG→AUDIO_CONFIGtypo) and #1849 (one-byte wording fix). No wire change; transport-19 stands. - issue #1850 “MOQT should define Track and Object properties to signal payload compression” (Will Law, Aug 7) — a new proposal to add properties advertising per-payload compression, so a receiver knows whether/how object payloads are compressed. Adds to the running properties-semantics front (INCLUDE_PROPERTIES, delivery-timeout).
Everything else: quiet
- moq-wg repos msf / loc / secure-objects / cmsf / catalog-format / privacy-pass merged nothing and opened nothing in-window.
- Implementations quiet: moq-rs (v0.7.25 stands), moq-js, quiche (moqt, newest commit Aug-4), moqtail, moxygen (#211 still OPEN), imquic, moqlivemock, warp-player, moqtransport (post-v0.13.0), Moqtopus, aiomoqt, birneee/quiche_moq, and
moq-encoder-playerall had no in-window activity. - Datatracker catch-up note: the individual draft
draft-altanai-moq-relay-geocode-02“Geographic Location for Media over QUIC Relays” (submitted Aug 4, 22:56 UTC) sits on the datatracker — individual, not WG-adopted, and not discussed on-list or referenced in implementations; noted here as a first-look (it predates this window and had escaped prior individual-draft scans).
Interop runner: +3 pass, still in-band
The nightly runner’s Aug-7 01:14 UTC cut was 350 / 132 / 207 / 11 (~37.7% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a +3 pass / −3 fail move versus the Aug-6 cut (matrix, skip, and at-target all flat). Pass 132 stays inside the settled 350-cell band (126–133, high 133 on July 31); sixteenth straight cut on that matrix, at-target holding 220. Still targets draft-18. No Aug-8 cut at check time. See interop-runner.
Activity (Aug 6 → Aug 7) — The Eyevinn stack cuts a coordinated v0.13.0 release wave — moqlivemock v0.13.0 + warp-player v0.13.0 + moqtransport v0.10.0 — completing AV1 video + CTA-608 captions across all three video codecs, with a selectable -cc608mode (paint-on/pop-on/roll-up), announced by Tobbe on Slack (the caveat: the player renders AVC/HEVC captions but not AV1 yet, pending common-media-library support). An ITU-T SG21 liaison statement lands on the WG list — a new work item H.CVR-MP (functional requirements for cloud-VR systems with multi-path transmission) asking MOQ + QUIC to share relevant work. Will Law opens a four-issue MSF media-timeline design review (msf #202–#205), Yu You files moq-transport issue #1845 (a “Prior Subgroup ID Gap” for range-filter omissions), and moq adds a new moq play playback client + a moq-mux fMP4 refactor, cut as relay v0.14.8. No moq-wg PR merged; no datatracker bumps.
The Aug 6 → Aug 7 window mixed an implementation release milestone (the Eyevinn v0.13.0 wave), an external-body signal (the ITU-T liaison), and WG design discussion (Will Law’s MSF issues + Yu You’s range-filter gap) — but no moq-wg repo merged a PR and the datatracker shows no revision bumps (transport-19, loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01, privacy-pass-auth-03 all stand; draft-lcurley-moq-lite -05 and the three Aug-4 lcurley drafts hang-02/cluster-00/timestamp-01 all stand; draft-liu-moq-feedback -00). Slack #moq broke its quiet with Tobbe’s Aug-6 caption post (below). IETF-126 minutes remain the single Monday doc at rev -01. No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (−1 pass, see below).
Slack + release: the Eyevinn stack cuts a coordinated v0.13.0 wave
On Aug 6 the three Eyevinn repos released together — moqlivemock v0.13.0, warp-player v0.13.0, and moqtransport v0.10.0 — consolidating the CTA-608 caption work and the AV1 path. Tobbe announced it on Slack #moq (Aug 6 17:45 CEST, breaking the channel’s quiet):
- AV1 joins AVC + HEVC as a fully-captioned codec. The MSF/CMSF source now serves AV1 video alongside AVC and HEVC, each carrying embedded generated CTA-608 captions (the overlay text shows wall-clock + group number), and captions are enabled on both the WebCodecs and MSE/EME playback paths.
- Selectable caption presentation mode. moqlivemock #125 added a
-cc608modeflag (paint-on / pop-on / roll-up, paint-on the default) — paint-on emits two bytes per frame so the text grows two characters at a time. Ago-608v0.9.0 bump (#124) and a deterministic catalog codec ordering (video AVC → HEVC → AV1, audio AAC → Opus → AC-3, #126) landed with it. - The one open gap: warp-player renders captions for AVC and HEVC but not yet for AV1, because AV1 caption extraction is not yet supported in the common media library it uses. warp-player’s v0.13.0 also added a UX touch — the CC button is struck through when captions are impossible (#180) — plus a completed cc608 end-to-end verification test (#177).
- The stack is still on MOQT draft-14 & draft-16 (ALPN version negotiation); Tobbe notes a draft-18 update is coming “relatively soon.” Player + links at moqlivemock.demo.osaas.io.
Separately, Lorenzo Miniero replied (Aug 6 12:59 CEST) to Jordi Cenzano’s Aug-5 moq-encoder-player LOCv4 post (logged in the prior window): he’s on holiday but will test the new endpoints for media interop when back.
Mailing list: an ITU-T SG21 liaison on cloud VR + multi-path transmission
The WG list received a new incoming liaison statement (Aug 5, permalink, raw-verified 200 + valid title; fabricated-ID control 404). Sent from ITU-T Study Group 21 (Working Party 4, Question 9 — Q9/21), it announces the initiation of a new work item, H.CVR-MP “Functional requirements for cloud virtual reality systems supporting multi-path transmission” — a Recommendation aiming to specify service-data-processing, network-capability, and cooperation/management requirements for coordinated network/transport/application-layer optimization to overcome transmission bottlenecks in cloud-VR delivery. It asks the MOQ and QUIC groups to “share with us any relevant work, if you have in these matters” — informational, with no deadline. It is the first ITU-T liaison on a MoQ-adjacent media-transport work item the wiki has tracked; whether the WG responds (multi-path is not currently a MoQT feature) is worth watching.
WG msf: Will Law opens a four-issue media-timeline design review
Will Law (Akamai) filed four new msf issues Aug 6, a coherent review of the MSF media-timeline model ahead of the WGLC push (no PRs; msf-01 stands):
- #202 — add a default track from an altGroup (which alternative a player should pick when none is specified).
- #203 — the media timeline should “depend” on a renderGroup rather than on a media track directly.
- #204 — the media timeline must accommodate tracks appearing and being removed over a session (dynamic track lifecycle).
- #205 — how do we implement DVR with MSF? (time-shift / recording semantics on the streaming format).
Together they probe how MSF describes selection, dependency, dynamic membership, and time-shift — the media-catalog side of the same delivery-model cleanup the transport document has been working through.
WG transport: a range-filter “Prior Subgroup ID Gap” and two small PRs
- issue #1845 “[MOQT] New Prior Subgroup ID Gap” (Yu You / Nokia, Aug 6) — the Range Filter (draft-19) lets a subscriber name the subgroups it wants, so when a relay filters some out, the subscriber sees gaps in the Object ID sequence it can’t distinguish from congestion loss. Yu You proposes a Prior Subgroup ID Gap field — analogous to the existing Prior Group ID Gap and Prior Object ID Gap — to explicitly mark objects intentionally omitted by an applied range filter. A concrete design consequence of the filter/fetch rewrite the Aug-10 interim is landing toward draft-20.
- PR #1847 (sharmafb, Aug 7, +1/−0) adds
INCLUDE_PROPERTIESto the Message Params IANA table, and PR #1846 “Too much partying” (sharmafb, Aug 7, +0/−1) is a one-line editorial fix — both OPEN. sharmafb’s Aug-5 “first byte of object” #1844 and the PUBLISH-subscription-params #1834 / Top Tracks Filter #1830 PRs remain OPEN (all on the Aug-10 agenda). No moq-transport PR merged.
moq-dev: a moq play client, a moq-mux fMP4 refactor, and net-layer correctness (v0.14.8)
moq (all Luke Curley) had another busy day, cut as moq-relay v0.14.8 / libmoq v0.5.5 / obs-moq v0.5.5 (Aug 6):
- New
moq playCLI playback client: OPEN #2697 “feat(cli): add moq play” (+2009/−124) adds a native command-line player verb tomoq-cli(previously publish/serve/token-oriented), with a Windows fix already in flight (#2712) — a genuinely new capability direction. - moq-mux fMP4 refactor: #2692 “split the fMP4 init segment out of Fragment” (+185/−83) and #2693 “timescale control, and two duration fixes” (+310/−68) both MERGED — tightening the media-muxing layer’s fMP4 handling.
- Net-layer correctness sweep (all MERGED): remove linger so a broadcast closes with its last source (#2704, +203/−652), stop a takeover from resurrecting dead-source verdicts (#2701, +250/−1), name a broadcast by where its reader found it (#2694, +299/−49), support the Chromium
WebTransportErrorconstructor (#2698), amoq-nativeServer → builder + Listener split (#2700, +377/−154) with serve-over-tcp:///unix://(#2689), and configurable fallback cache retention (#2702). - OPEN net refactor: #2705 “route publish and consume through Origins, share one connection per relay” (+3166/−450) — a large connection-sharing rework of the JS
netstack. The mDNS peer-mesh (#2585) front remains OPEN.
Everything else: quiet, plus small stirrings
- moqtail opened OPEN #334 “collapse CLIENT SETUP SERVER SETUP into SETUP” — the draft-18/19 single-SETUP-message alignment, tracking transport #1836.
- moqx (afrind) opened OPEN #549 “implement rendezvous timeout feature in MoqxRelay” (the RENDEZVOUS_TIMEOUT behaviour debated at the Vienna Hackathon), plus a routine moxygen sync (#548); the Aug-5 local-forwarder refactor cluster (#542/#544/#545/#546) and #541 remain OPEN. moxygen #211 (active-subscription counting) still OPEN.
moq-encoder-player(Jordi Cenzano) added post-LOC-migration tweaks — a low-latency congestion-control hint (Aug 6) after the Aug-5 #45 LOCv4 migration merge.- imquic opened a minor macOS
socklenfix (#34). moq-rs (v0.7.25 stands), quiche (moqt, 0 in-window commits), moq-js, Moqtopus, aiomoqt, and birneee/quiche_moq were all quiet. - moq-wg repos loc / secure-objects / cmsf / catalog-format / privacy-pass merged nothing.
Interop runner: −1 pass, still in-band
The nightly runner’s Aug-6 00:29 UTC cut was 350 / 129 / 210 / 11 (~36.9% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a marginal −1 pass / +1 fail move versus the Aug-5 cut (matrix, skip, and at-target all flat). Pass 129 stays inside the settled 350-cell band (126–133, high 133 on July 31); fifteenth straight cut on that matrix, at-target holding 220. Still targets draft-18. No Aug-7 cut at check time. See interop-runner.
Activity (Aug 5 → Aug 6) — The WG process side moves for the first time in weeks: afrind posts the draft agenda for the Aug-10 virtual interim, and it names draft-20 as the target for the current in-flight filter/fetch/switch PR set (moq-transport 1674) — the first datable sign the WG is landing PRs past -19 toward -20. On the media side, Jordi Cenzano (Meta) announces (on Slack and the list) that moq-encoder-player has finally dropped its proprietary MOQ-MI packaging for standard LOCv4 + codec string (draft-18), with public encoder/player demo URLs. moq merges the MoQ Cluster extension over moq-transport (#2629, +2662/−408) — the prior window’s headline OPEN PR lands — then drains a ~22-merge moq-net/libmoq hardening pass cut as relay v0.14.7, and afrind runs a cross-repo local-forwarder / active-subscription-count cleanup across moqx + moxygen. Two new transport items round it out (a CAT-token-renewal issue and sharmafb’s “first byte of object” PR).
The Aug 5 → Aug 6 window tilted back toward the working group after a long implementation-carried run — the durable new facts are a WG interim agenda and an interop-tooling milestone, not code alone. No datatracker changes (transport-19, loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, draft-lcurley-moq-lite -05, and the three Aug-4 lcurley drafts hang-02/cluster-00/timestamp-01 all stand). Slack #moq broke its quiet with Jordi Cenzano’s Aug-5 moq-encoder-player post (below). IETF-126 minutes remain the single Monday doc at rev -01. No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (+1 pass, see below).
Mailing list: the Aug-10 interim draft agenda names draft-20
afrind (co-chair, with Ian Swett) posted the draft agenda for the 8/10 (Aug 10, Monday) virtual interim (Aug 5 21:26 UTC, DKIM-verified). It is the clearest process signal in weeks — and the first time the wiki has seen draft-20 named as the target for the current in-flight PR set:
- In-flight PRs targeted for draft-20 (listed in intended landing order; one or more may merge before the meeting): Location Filter rewrite #1809, PUBLISH_NOTIFY #1820, Fill Fetch #1673, and SWITCH_FROM (hard) #1674 — the latter two to be updated once the first two merge.
- Other PRs to review: PUBLISH contains subscription params #1834 (“reflects Vienna discussions”) and Publisher default priority update #1770 (Michal Hošna’s PR from the London ask).
- “Needs Discussion” issues: #1453 — Send Rate parameter (“Will has a short presentation for his proposal” — i.e. Will Law’s Pacing-for-FETCH / SCONE rate-signal proposal from his Aug-4 list thread), #1352 — SUBSCRIBE does not need a forward parameter if we have filters (Suhas wrote the PR the chairs asked for), and #1801 — reconsider “OR” functionality in range filters (Victor Vasiliev, re draft-19).
- New (the sharmafb/URI cluster already logged): #1842 (subgroup timeout overrides not propagated by mid-join relays), #1840 (INCLUDE_PROPERTIES=0 vs mandatory track properties), #1835 (query-in-URI scoping).
Note the interim’s focus is the core-transport filter/fetch/switch cleanup (the Path-to-WGLC work Vienna flagged), not the newer individual drafts — SSTS and Feedback are not on this agenda (candidates for the Aug-24 slot). This is the first time the target draft is called out as -20 rather than -19.
Slack + list: moq-encoder-player finally drops MOQ-MI for LOCv4 + codec string
Jordi Cenzano (Meta) announced — on both Slack #moq (Aug 5 02:51 UTC, breaking the channel’s quiet; 2 👍 / 2 🎉) and the list (“moq-encoder-player finally in LOCv4+codecstring (no more MOQ-MI)”) — that moq-encoder-player now targets draft-18 + LOCv4 (LOC-04) + codec string (per loc PR #29), retiring its proprietary MOQ-MI (MoQ Media Interop) packaging in favour of the standard LOC container. Public demo endpoints are live — encoder moq-madrid.jordicenzano.name/demo/encoder and player .../demo/player — offered to Miniero and Suhas for media interop. This is a genuine interop-tooling milestone: moq-encoder-player was the Meta reference tool at the centre of the Vienna interop matrix (previously carrying “MOQ-MIv3”), and moving it onto standard LOC v4 removes a bespoke packaging layer from the media-interop story.
moq-dev: the MoQ Cluster extension merges, then a moq-net hardening pass (v0.14.7)
moq (all Luke Curley) landed the prior window’s headline OPEN PR: #2629 “implement the MoQ Cluster extension over moq-transport” (merged Aug 5 01:30 UTC, +2662/−408) carries the just-submitted [[moq-cluster|draft-lcurley-moq-cluster-00]] onto the IETF moq-transport wire (not just moq-lite). The rest of the ~22-merge day was moq-net/libmoq hardening on top of the merged cluster code, cut as a fresh release train moq-relay v0.14.7 / moq-cli v0.9.7 / libmoq v0.5.4 (Aug 5 06:03–06:51 UTC):
- Mesh/routing correctness: origin resume/route serving hardened (#2666, +678/−118), a reflected announce no longer evicts the source we publish (#2684, +292/−45), publisher group order moved out of message parameters (#2677, +614/−157), and the v14/v15 namespace lookup keyed by direction (#2664, +428/−419).
- IETF wire correctness: subscribe/fetch rejections sent without resetting the stream (#2673), a malformed-NAMESPACE session close (#2667), and synthesized-fMP4-init playability on strict players (#2679); the accepting side may now pick the retention window when the wire carries none (#2657).
- libmoq: stop holding the global locks across a video encode (#2663, +319/−79) and an HEVC codec-string fix (#2668).
- OPEN capability PRs: classify/pace/publish
accept(2)failures (#2687, +948/−75), tell OBS when a session gives up (#2681), per-frame fMP4 fragmenting + timescale control (#2680, Zac Shenker’s earlier #2623 evolved), and honor--latency-maxon RTMP/SRT/RTC gateway ingest (#2660) — the latter tying into the transport delivery-timeout theme. New issue #2685 (stamp requested path on broadcast consumers).
afrind cross-repo: local-forwarder cleanup (moqx) + active-subscription counting (moxygen)
afrind ran a coherent relay-plumbing cleanup across two repos:
- moqx — a local-forwarder refactor cluster (all OPEN): give
LocalForwarderRegistrya three-state entry (#542, +647/−67), fold registry replacement intoinstallPublisherForwarder(#544), make subscribers wait for an in-flight local-forwarder setup (#545, +246/−16), and install the forwarder chain on subscribe-created tracks (#546, +252/−29). The routine moxygen sync-bot (#547) merged. - moxygen — #211 “Count active subscriptions only once they go active” (+151/−13, OPEN) — the fix for the negative active-subscription counter, matching moqx issue #538 (
moqx_pubActiveSubscriptionsgoing negative after teardown) logged the prior window.
WG transport: a CAT-token-renewal issue and a “first byte of object” PR
Two genuinely new moq-transport items beyond the sharmafb delivery-timeout cluster already logged:
- issue #1843 “Recommendations for CAT token expiration & renewal in control signaling” (Flynn / leonardovon-mcqueen, Aug 5 02:56 UTC) — how MoQT should handle expiry/renewal of CTA Common Access Tokens carried in control signalling; the first token-lifecycle issue in the auth thread.
- PR #1844 “Change ‘first byte of object’ for objects that have no payload” (sharmafb, Aug 5 16:52 UTC, +5/−4, OPEN) — a concrete follow-up to sharmafb’s own #1841 (“first payload byte” for
OBJECT_DELIVERY_TIMEOUT), defining the semantics for zero-payload objects.
Eyevinn: moqlivemock caption-mode work
moqlivemock (Tobbe) opened two OPEN PRs continuing the CTA-608 caption thread: #125 “add -cc608mode with paint-on as the default” (+449/−107) — a selectable caption presentation mode (paint-on vs roll-up) — and a go-608 v0.9.0 dependency bump (#124).
Everything else: quiet
- moq-rs (v0.7.25 stands), quiche (moqt, 0 commits in-window), moq-js, moqtail, imquic, moqtransport, warp-player, Moqtopus, aiomoqt, and birneee/quiche_moq were all quiet.
- moq-wg repos loc / msf / secure-objects / cmsf / catalog-format / privacy-pass merged nothing.
Interop runner: +1 pass, still in-band
The nightly runner’s Aug-5 00:32 UTC cut was 350 / 130 / 209 / 11 (~37.1% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a marginal +1 pass / −1 fail move versus the Aug-4 cut (matrix, skip, and at-target all flat). Pass 130 stays inside the settled 350-cell band (126–133); fourteenth straight cut on that matrix, at-target holding 220. Still targets draft-18. No Aug-6 cut at check time. See interop-runner.
Activity (Aug 4 → Aug 5) — A genuinely spec-heavy window after weeks of implementation-carried days: Luke Curley files a three-draft batch on the IETF Datatracker — the new [[moq-cluster|draft-lcurley-moq-cluster-00]] “MoQ Cluster Extension” (relay-mesh Hop-ID path vector + accumulated route cost) plus revisions [[moq-timestamp|draft-lcurley-moq-timestamp-01]] and [[moq-hang|draft-lcurley-moq-hang-02]] — giving datatracker homes to the moq-net cluster / timestamp / Hang work moq-dev has been building in-code for weeks, and Will Law posts two new WG-list threads prepping Internet-Drafts for the Aug-24 virtual interim: Sender-Side Track Switching (SSTS) and Pacing for FETCH. Meanwhile moq drains a ~26-merge burst into main (native raw-video encoder, Happy-Eyeballs dialing, and OPEN #2629 implementing the cluster extension over moq-transport), the Feedback draft thread turns into a real multi-party discussion, and the WG repos merge one small MSF editorial PR plus three new transport delivery-timeout issues.
The Aug 4 → Aug 5 window inverted the recent pattern — after a long run of implementation-carried days, the durable substance was specs: three new/revised individual Internet-Drafts on the datatracker and two new WG-list design threads. No WG revision bumps (transport-19, loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, draft-lcurley-moq-lite -05 all stand) but one new individual draft (moq-cluster-00) and two revisions (moq-timestamp-01, moq-hang-02). Slack #moq stayed quiet (newest is still Yu You’s Aug-3 DATAGRAM-fragmentation thread — already logged; no new traffic). IETF-126 minutes remain the single Monday doc at rev -01. No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (−2 pass, see below).
Datatracker: Luke Curley files three individual I-Ds (one brand-new)
On 2026-08-04 ~02:08 UTC, Luke Curley submitted three individual Internet-Drafts in one batch — the datatracker-side counterpart to weeks of in-repo draft authoring (the vendored moq-drafts set, most recently PR #2607 “drafts: render gate, Hop ID 0, cluster rename, and a simplification pass”):
- [[moq-cluster|
draft-lcurley-moq-cluster-00]] “MoQ Cluster Extension” (NEW, 10 pp) — a clustering extension for moq-transport to build a mesh of relays. Each namespace advertisement carries the ordered list of Hop IDs it has traversed (starting with the origin publisher) plus the accumulated cost of that path; a receiver uses the list to detect routing loops and to identify which advertisements come from the same publisher, so it can pick the lowest-cost of interchangeable routes. This is the standards form of moq-dev’s cost-based cache-aware routing (shipped in code July 20, PR #2424) — the first MoQ relay-clustering / routing draft the wiki tracks. See moq-cluster. - [[moq-timestamp|
draft-lcurley-moq-timestamp-01]] (revision, 6 pp) — the -01 abstract re-frames the extension onto the LOC-registered TIMESTAMP/TIMESCALE properties (“independent of the LOC container itself”) rather than defining its own IDs, tracking the LOC-04 registry fix (July 20) and moq-dev’s in-code adoption (PR #2581). Same goal: exposing media time to the transport so relays make uniform age-based drop/timeout decisions. See moq-timestamp. - [[moq-hang|
draft-lcurley-moq-hang-02]] (revision, 11 pp) — “Media over QUIC - Hang”, the real-time conferencing profile on moq-lite (thehangcrate +js/hang). Given its first wiki page this window; also the intended home for MoQ recording/DVR after PR #2574 foldedmoq-archivein as a “Recording” section. See moq-hang.
Mailing list: Will Law preps two new drafts, and the Feedback thread comes alive
Will Law (Akamai) opened two new WG-list threads Aug 4, each announcing an external-hosted draft he’s readying as an Internet-Draft for the Aug-24 virtual interim:
- “Sender Side Track Switching (SSTS)” (Aug 4 14:41 UTC) — Law has converted the SSTS PR into an external draft (HTML + GitHub repo + issue tracker, with security considerations and IANA actions), defining a base mechanism for multiple switching algorithms plus a concrete “algorithm 0” with an improved publisher algorithm. His open question echoes Vienna feedback: whether to put the SSTS base into the core MOQT spec and move the algorithms into external drafts, rather than keep everything in one document. SSTS was one of the mechanisms the IETF-126 minutes flagged for splitting out of core transport.
- “Pacing for FETCH” (Aug 4 12:10 UTC) — a draft addressing transport issue #1453: because standard congestion control downloads FETCH data as fast as possible, relay→client throughput bursts well above the encoding rate, feeding bufferbloat and loss. The proposal is “as fast as needed” delivery — negotiate a pacing extension in SETUP, activate it via a new FETCH parameter, and use the rate signal defined in SCONE — citing research that shows improved throughput and reduced retransmissions/RTT.
Both target review-before-I-D-submission and a virtual-interim presentation. Separately, the MoQ Feedback (MMF) draft thread (announced Aug 3) turned into a real multi-party discussion Aug 4–5: co-author Ronghua Wu (Ant Group) responded to Cullen Jennings’ Aug-3 reply and traded several messages, with Suhas Nandakumar and Yu You (Nokia) also engaging — the delivery-quality-feedback idea drawing sustained attention rather than a one-off announcement.
WG transport: a delivery-timeout / properties issue cluster
The moq-wg repos merged one PR — msf #195 “Update event timeline index references to uppercase in JSON examples” (Will Law, +41/−6, Aug 4) — a small editorial fix to the event-timeline JSON examples (msf-01 stands). On moq-transport, no PRs but three new issues Aug 5 from sharmafb, a coherent OBJECT_DELIVERY_TIMEOUT / properties-semantics cluster in the Path-to-WGLC editorial vein:
- #1842 — timeout overrides for subgroups are not propagated by relays that join in the middle of a stream.
- #1841 — the meaning of “first payload byte” for
OBJECT_DELIVERY_TIMEOUT. - #1840 — interaction of
INCLUDE_PROPERTIES=0with mandatory track properties.
These sit alongside the Aug-3 URI-resolution (#1839, Cullen Jennings) and AUTHORIZATION-TOKEN-semantics (#1838, Michal Hošna) issues already logged — a running message/URI/property-semantics cleanup on the editor’s copy. transport-19 stands, no wire change.
moq-dev: a ~26-merge burst that implements the cluster extension
moq (mostly Luke Curley) drained the Aug-4 moq-net cluster into main — ~26 merges across Aug 4–5 (relay v0.14.6 stands; no new release):
- MoQ Cluster extension (the durable new front): OPEN #2629 “implement MoQ Cluster extension over moq-transport” (+2418/−403) carries the just-submitted [[moq-cluster|
draft-lcurley-moq-cluster-00]] onto the IETF moq-transport wire (not just moq-lite), with #2607 (Hop ID 0 / cluster rename / draft render-gate, +820/−766) and #2613 (scope route cost to interchangeable advertisements) merged as the draft-side prep. - Native raw-video encoder: #2608 “publish raw video with a native encoder” (+3076/−248, MERGED) — a large native-media capability — with #2626 confining the encoder to one thread and #2601 (D3D11 GPU texture resize) landed.
- Connection resilience: Happy-Eyeballs dialing merged (#2594, +979/−252, closing the DNS/RFC-8305 thread), plus an OPEN reconnect/retry stack — auto-reconnecting sessions (#2618), a reconnecting
connecthandle (#2614), and transient-only retry with backoff+jitter (#2647). - Also merged: solicited
PUBLISH_NAMESPACE+ rejected-PUBLISH (#2643),announcedBroadcast/ resolve-lite-restarts-by-publisher-identity (#2617), a WebSocket subprotocol-mismatch handshake fix (#2625). Open capability PRs: a JSON codec-split refactor (#2636, +3371/−1208), media-timeline cache trimming (#2631), an OBS-plugin client-config surface (#2650), and Zac Shenker’s per-frame fMP4 fragmenting (#2623) from an external contributor. New issues flag alatency_maxpropagation gap on IETF-relayed tracks (#2645) — tying back to the transport delivery-timeout theme — and video-encoder locking/stall bugs (#2649, #2635).
Eyevinn: CTA-608 in AV1, a clearkey fix, encrypted-audio bug closed
- moqlivemock (Tobbe) extended the caption work to a fourth codec — #119 “carry CTA-608 captions in AV1 too” (+523/−517, MERGED) — and fixed a DRM bug: #123 “serve the configured content key from /clearkey” (+261/−45, MERGED, closing issue #122 where
/clearkeyreturned the KID instead of the-cenckeycontent key). - warp-player — the encrypted-playback bug issue #175 (playback failing on the first audio packet) is now CLOSED, clearing the blocker on the encrypted rows of the interop matrix (#166); the CC-toggle #173 and cbcs caption test #174 were already logged.
Everything else: a quiche moqt commit, a moqx relay PR
- quiche (moqt) landed one commit Aug 4 — a new
MoqtStreamTypeParserthat can later be converted into either a data-stream parser or a control-message parser — its first moqt-directory commit since July 30. - moqx — afrind opened #541 “relay: name the initial track state a subscriber must observe” (+176/−22, OPEN), plus the routine moxygen sync-bot (#540). Giovanni Marzot’s version/dashboard #505 (already logged) merged.
- moq-rs (v0.7.25 stands), moq-js, moqtail, moxygen, imquic, moqtransport, Moqtopus, aiomoqt, and birneee/quiche_moq were all quiet.
Interop runner: −2 pass, still in-band
The nightly runner’s Aug-4 00:34 UTC cut was 350 / 129 / 210 / 11 (~36.9% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a marginal −2 pass / +2 fail move versus the Aug-3 cut (matrix, skip, and at-target all flat). Pass 129 stays inside the settled 350-cell band (126–133); thirteenth straight cut on that matrix, at-target holding 220. Still targets draft-18. No Aug-5 cut at check time. See interop-runner.
Activity (Aug 3 → Aug 4) — A quiet-WG window gets two genuinely spec-adjacent items: Slack #moq breaks a ~5-day silence with a substantive DATAGRAM object-fragmentation design thread (Yu You/Nokia, 20 replies with afrind, Mathis Engelbart, and Luke Curley converging on “all roads lead to reimplementing QUIC streams”), and a new individual I-D — [[moq-feedback|draft-liu-moq-feedback-00]] “MoQ Feedback” (Multimodal Feedback, Yanmei Liu et al., Alibaba/Ant) — is announced to the list. Meanwhile moq carries another busy implementation day (~12 merges, a v0.14.6 release train, moq-lite-06 draft authoring), warp-player completes its CTA-608 caption pipeline (CC toggle #173 merged) and pivots to encrypted-playback testing, and the WG repos merge nothing (two new transport issues only).
The Aug 3 → Aug 4 window mixed live design discussion (Slack + the list) with the now-familiar implementation-carried substance (moq-dev + Eyevinn). No moq-wg repo merged a PR. The two headline items are spec-adjacent rather than code: a DATAGRAM object-fragmentation design thread on Slack and the MoQ Feedback individual draft. The datatracker shows no WG revision bumps (transport-19, loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, privacy-pass-auth-03, warp-01 all stand; draft-lcurley-moq-lite still -05; still no draft-lcurley-moq-archive) but one new individual draft (the Feedback draft, below). IETF-126 minutes remain the single Monday doc at rev -01. No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (+1 pass, see below).
Slack: how do you carry a video frame bigger than the datagram MTU?
Slack #moq broke its ~5-day silence Aug 3 with the channel’s first substantive technical design thread in weeks. Yu You (Nokia) asked how to handle object fragmentation for encoded video objects carried in MOQT DATAGRAMs when a frame exceeds the practical ~1200-byte QUIC datagram payload limit (“Subgroups work with larger objects, though”). The 20-reply thread is a compact tour of the MoQ partial-reliability design space:
- Datagrams don’t fragment. Ali Begen: you must chunk the data at the application layer before handing it to QUIC. Giovanni Marzot cited draft-18 §11.3: an Object larger than the session’s maximum datagram size is dropped without explicit notification (QUIC negotiates a mutual
max_datagram_frame_sizeand MUST close the connection on an oversized datagram). Conclusion: fragmentation is an application-layer problem. Paul Gregoire (Red5) noted he uses datagrams only for audio, which fits without fragmentation. - Why not a stream/subgroup instead? afrind framed datagrams as three properties — smaller than MTU, not flow-controlled, not retransmitted — and observed you can get the “not retransmitted” property from a stream with a short delivery timeout (or
RESET_STREAM_AT). Mathis Engelbart pushed back on the practicalities: a timeout doesn’t reproduce datagram semantics (a frame split across 10 packets may retransmit the first piece several times before the last is sent once), and RESET behaviour is treacherous — from RoQ interop testing, some stacks routinelyRESETinstead ofFIN, and some receivers drop unread data onRESET_STREAM, so sending the reset with the last byte can lose data. - Container format as the answer. Engelbart argued a container format like LOC could solve datagram fragmentation directly — carry enough framing (offsets, boundaries) that a receiver can consume whatever fragments arrive, without needing acks/retransmits. afrind sketched the same shape (a frame-start offset + a fin bit per datagram — “reimplementing QUIC STREAM frame in MOQ datagram”), prompting Luke Curley’s line of the thread: “all roads lead to reimplementing QUIC streams.” afrind: “once you start adding acks and rxmits you’ve gone too far” — and, closing the loop, QUIC already acks the datagrams, so a MoQ-layer ack channel would be redundant.
The thread is a clean statement of the recurring MoQ tension — datagrams give you at-most-once, un-flow-controlled delivery but cap you at the MTU, and everything you add to lift that cap edges you back toward streams. It also foreshadows the Feedback draft below (per-Object delivery status) and connects to Ian Swett’s late-July “Top Tracks and SSTS (or ABR in general)” list thread.
New individual draft: MoQ Feedback (Multimodal Feedback / MMF)
A new individual Internet-Draft, [[moq-feedback|draft-liu-moq-feedback-00]] “MoQ Feedback” (41 pages, submitted July 31), was announced to the moq@ietf.org list Aug 3 (04:10 UTC, raw-verified) by Yanmei Liu and Minghui Jiang (Alibaba Inc.) with Ronghua Wu (Ant Group), drawing an immediate reply from Cullen Jennings (16:18 UTC). It defines an MOQT extension letting receivers report delivery-quality information back to senders via Multimodal Feedback (MMF) — a mechanism that, rather than adding new control messages, reuses the Track/Object model as a “Feedback Track” carrying per-Object delivery-status reports (received / late / lost / partially received). The stated gap is that QUIC’s transport-layer feedback can’t perceive frame integrity, type, or deadline; MMF surfaces those to a three-layer architecture where the MoQ layer synthesizes MMF signals with congestion-control output to command bitrate/pacing, targeting both unidirectional streaming and bidirectional AI-inference sessions (tying into the same author’s Live Agent Interaction draft). It’s the first delivery-quality/feedback draft the wiki has tracked and a second Alibaba MoQ artifact from Yanmei Liu. Individual, not adopted — logged as a first-look. See moq-feedback.
WG transport: no merges, a URI-definition + auth-token-semantics theme
The moq-wg repos merged no PRs in the window; all activity was on moq-transport and all of it discussion. Two new issues opened, both raising message/URI-semantics questions in the Path-to-WGLC editorial vein:
- issue #1839 “resolution of URI” (Cullen Jennings, Aug 3 16:29 UTC) — afrind (Aug 3 22:44) asked for a concrete PR and floated splitting the URI definition out of transport into a separate document, analogous to the RFC 9110/9114 semantics-vs-wire split.
- issue #1838 “Semantics of multiple AUTHORIZATION TOKEN parameters in one message” (Michal Hošna, Aug 3 15:53 UTC) — no replies yet.
Around them, two pre-existing threads drew Aug-3 comments: issue #1835 “Is query in URI scoping?” (Will Law +1’ing that the URI query is not part of scope, citing RFC 3986’s treatment of query as opaque — consensus forming against query-as-scope), and issue #1720 “Fill Timeout reduction by relay” (Cullen Jennings wanting a relay to signal when it changes fill time; afrind rebutting with three signalling options that he argues all yield the same outcome at added complexity/RTT, asking for a concrete breaking use case). Together they mark a small URI-handling / parameter-semantics cleanup front on the editor’s copy — transport-19 stands, no wire change.
moq-dev: v0.14.6 release train, moq-lite-06 draft authoring, a moq-net reconnect cluster
moq (all Luke Curley bar one) had another busy day — ~12 merges, 9 new OPEN PRs, 2 new issues, and a new release train: moq-relay v0.14.6 / moq-ffi v0.3.6 / moq-cli v0.9.6 (Aug 3, superseding v0.14.5). Threads:
- moq-lite-06 draft authoring. #2611 “spec broadcast epochs and ended broadcasts for moq-lite-06” (+249/−52, MERGED) plus new issue #2610 (dynamic announcements, broadcast epochs, ended VOD broadcasts) and OPEN #2607 (render gate, Hop ID 0, cluster rename, simplification pass, +820/−766) flesh out the vendored moq-lite-06 draft with VOD-broadcast-lifecycle semantics — continued in-repo spec work ahead of any datatracker
-06. - Native-video GPU. #2601 “resize Direct3D11 textures on the GPU” (+2033/−141, MERGED) keeps the Windows decode/scale path GPU-resident, in the same vein as Aug-1’s Media-Foundation GPU-frame fix.
- moq-net reconnect/caching cluster (opened just after midnight Aug 4, all OPEN): a reconnecting
Connectionhandle (#2614), 15 s default group retention + relayed-cache-miss fix (#2615), announce-withdrawal on namespace end (#2616), a native-encoder raw-video publish binding (#2608), and a kioFanshared-waiter primitive (#2604) — plus issue #2609 (expose moq-native’s reconnect through moq-ffi).
Also merged: moq-hls nested/encoded routes (#2598), a Discord CI-failure alert (#2599), Windows/macOS PR-gate removal (#2600), and koubaa’s Alive::drop warning fix (#2580). The mDNS peer-mesh (#2585) and Happy-Eyeballs dial (#2594) fronts remain OPEN.
Eyevinn/warp-player: CTA-608 pipeline completes, encrypted-playback thread opens
warp-player (Tobbe) closed out the CTA-608 caption pipeline on Aug 3: #173 “add the CC toggle and connect the caption sink” (+431/−6, MERGED) adds the on/off toggle and wires the caption sink, completing the capture→publish→extract→render round trip begun by mlmpub’s publisher-side SEI-injection epic. Attention then shifted to encrypted playback: #174 “prove CTA-608 survives cbcs subsample encryption” (+244/−1, MERGED) verifies captions survive DRM, while new issue #175 reports encrypted playback failing on the first audio packet — blocking the encrypted rows of the interop matrix (#166). moqlivemock itself was quiet in-window (Aug-2 go-608 bump + docs already logged).
Everything else: quiet, plus moqx dashboard work
- moqx (Giovanni Marzot) shipped versioning + dashboard work (#505 OCI labels / version reporting / dashboard enhancements, +706/−326, MERGED) and a moxygen sync (#537); OPEN #539 wires the dashboard to per-track metrics (following afrind’s #533), alongside new issue #538 (
moqx_pubActiveSubscriptionsgoes negative after subscriber teardown). - moq-rs (v0.7.25 stands), quiche (moqt, 0 commits since July 30), moq-js, moqtail, moxygen, imquic, moqtransport, Moqtopus, aiomoqt, and birneee/quiche_moq were all quiet.
Interop runner: +1 pass, third straight day in-band
The nightly runner’s Aug-3 00:36 UTC cut was 350 / 131 / 208 / 11 (~37.4% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a marginal +1 pass / −1 fail move versus the Aug-2 cut (one run flipped fail→pass; matrix, skip, and at-target all flat). Pass 131 holds a third straight day inside the settled 350-cell band (126–133); twelfth straight cut on that matrix, at-target holding 220. Still targets draft-18. See interop-runner.
Activity (Aug 2 → Aug 3) — two implementations carry a quiet WG window: moq opens an auth-token-tooling + Happy-Eyeballs-DNS thread (moq-cli token subcommand #2593, owner-only key files #2596), and warp-player lands a full CTA-608 closed-caption pipeline (~4,700 LOC), completing the caption round trip from mlmpub’s publisher-side SEI injection to player-side extraction + overlay rendering — while every moq-wg repo stays quiet (no PRs, no issues) and the overdue weekly GitHub digest finally posts.
The Aug 2 → Aug 3 window was implementation-carried, this time by two actors rather than one: Luke Curley on moq and Tobbe on the Eyevinn repos. Every moq-wg repo was quiet — no PRs merged, no PRs opened, no new issues on transport / msf / loc / secure-objects / cmsf / catalog-format / privacy-pass. Slack #moq stayed quiet (newest is still Suhas’s July-29 20:14 EEST reply on the Miniero MoQ-over-MoQ blog thread — ~5 days silent). The one genuinely new mailing-list message was the weekly GitHub digest (Aug 2 09:35 UTC, from the mnot.net “Repository Activity Summary Bot”, raw-verified) — the digest that was due ~Aug 2 but had not posted at the prior update’s check time; it is a routine retrospective recap of the prior week’s transport issues/PRs (#1837, #1835, #1829, #1819; PRs 1817), no new substance. The datatracker shows no revision bumps or new individual drafts (transport-19, loc-04 newest; draft-lcurley-moq-lite still -05; still no draft-lcurley-moq-archive I-D). IETF-126 minutes remain the single Monday doc at rev -01 (in WG review, corrections due ~Aug 12). No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut, byte-for-byte identical to Aug-1 (see below).
moq-dev: an auth-token-tooling thread and a Happy-Eyeballs DNS push
moq (all Luke Curley) had ~10 merges plus 4 new PRs and 1 new issue; relay v0.14.5 stands (no new release). The window’s two durable threads:
- Auth-token tooling. #2593 “add a
tokensubcommand to moq-cli” (+497/−236, MERGED) gives the CLI a first-class verb for generating/managingmoq-tokenauth tokens, and #2596 “write private key files owner-only” (+223/−10, MERGED) hardens key-file permissions (0600) for the token-signing keys. This is the first dedicated tooling push onmoq-tokensince the July--auth-apitransport-forwarding work — surfacing the auth path (the same one that produced the Viennacdn.moq.proPATH/401 debugging) as an operator-facing CLI. - DNS / Happy-Eyeballs networking. #2592 “dial the resolver’s first choice, not the first family match” (+161/−63, MERGED) fixes
moq-nativeaddress selection, and the follow-on is in flight: OPEN #2594 “race resolved addresses Happy Eyeballs style when dialing” (+661/−181) plus new issue #2595 “DNS-phase Happy Eyeballs: parallel A/AAAA resolution via hickory-resolver” — a full RFC-8305-style dual-stack connection-establishment story taking shape.
Around those: #2583 “rename WaiterCell to Park” (+217/−138, MERGED) tidies the kio concurrency primitive introduced July 31, #2597 unbreaks the libmoq release + moq-relay fresh-resolve build, and OPEN #2598 (nested/encoded moq-hls routes) + #2599 (Discord CI-failure alerts) round out the day, alongside the usual dependabot/bot merges. The Aug-1 mDNS local-network peer-mesh front (#2585) remains OPEN and grew (+1054/−6).
Eyevinn/warp-player: a full CTA-608 caption pipeline lands
warp-player (Tobbe) landed the player side of the CTA-608 closed-caption story on Aug 2 — ~4,700 LOC across three feature PRs, resolving the “warp-player rendering in progress” note (warp-player #156) the wiki has carried since moqlivemock’s publisher-side caption epic (mlmpub SEI injection, moqlivemock 117, July 24–25):
- Extraction on the WebCodecs/LOC path: #169 “extract CTA-608 captions on the WebCodecs LOC path” (+730/−0, MERGED).
- Extraction on the MSE/CMAF+LOCMAF path: #171 “extract CTA-608 from CMAF and LOCMAF fragments on the MSE path” (+1587/−2, MERGED) — captions now come off both of warp-player’s decode pipelines.
- Rendering: #170 “add the timed-text overlay seam and CTA-608 renderer” (+2366/−1, MERGED) — a generic timed-text overlay seam plus the concrete CTA-608 renderer. The CC toggle + caption-sink wiring is the one remaining piece, OPEN in #173 (+431/−6).
On the publisher side, moqlivemock took a supporting go-608 v0.8.0 dependency bump with a migration to generate.Unit (#120) plus a CLAUDE.md trim (#121). Together this completes the CTA-608 capture→publish→extract→render round trip across the Eyevinn LOC/WebCodecs and CMAF/LOCMAF/MSE paths.
Everything else: quiet
- moqx took a routine moxygen sync-bot PR (#536, trivial); moqtail saw only a dependabot bump (#333).
- moq-rs (v0.7.25 stands), quiche (moqt, 0 commits in-window), moq-js, moxygen, imquic, moqtransport, Moqtopus, aiomoqt, and birneee/quiche_moq were all quiet.
Interop runner: byte-for-byte flat, second straight day at 130
The nightly runner’s Aug-2 00:35 UTC cut was 350 / 130 / 209 / 11 (~37.1% pass; at-target draft-18 220 · 0 ahead · 130 behind) — byte-for-byte identical to the Aug-1 cut (0 pass change; matrix, skip, and at-target all flat). Pass 130 holds a second straight day inside the settled 350-cell band (126–133); it’s the eleventh straight cut on that matrix, at-target holding 220. Still targets draft-18. See interop-runner.
Activity (Aug 1 → Aug 2) — moq carries a quieter window and follows through on the prior day’s spec-alignment thread: it completes the LOC-04 Timestamp code-point adoption (#2581 merged), adds relay-lifecycle and native-video hardening, and opens a genuinely new front — local-network peer discovery/mesh via mDNS (#2585, OPEN) — while the WG repos stay near-silent (no PRs; one live encoding discussion on transport issue #1837).
The Aug 1 → Aug 2 window was implementation-carried again — the third straight day where moq (all Luke Curley) supplied the durable content, but at a much smaller scale than July 31’s ~6,000-LOC burst. Slack #moq stayed quiet (newest is still Suhas’s July-29 20:14 EEST reply on the Miniero MoQ-over-MoQ blog thread — no July 30/31 or Aug-1/2 traffic), the mailing list had no genuinely new message (raw-verified — Magnus Westerlund’s July-29 IETF-126 draft-minutes email is still the newest; the weekly GitHub digest was due ~Aug 2 but had not posted at check time), and the datatracker shows no revision bumps or new individual drafts (transport-19, loc-04 newest; draft-lcurley-moq-lite still -05; still no draft-lcurley-moq-archive I-D). IETF-126 minutes remain the single Monday doc at rev -01 (in its ~2-week WG review, corrections due ~Aug 12). No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (−3 pass, see below).
moq-dev: LOC-04 adoption completes, relay + native-video hardening, an mDNS mesh front opens
moq followed through on July 31’s spec-alignment thread with four Aug-1 merges/PRs (relay v0.14.5 stands; no new release):
- LOC-04 Timestamp code point adopted (merged): #2581 “adopt the
draft-ietf-moq-loc-04Timestamp code point, and align relay-hops with lite-06” (+653/−198, MERGED) — this was OPEN the prior day and now lands, completing the LOC-04 registry-fix adoption that #2578 began July 31. It moves moq-dev’s LOC packaging onto the draft-ietf-moq-loc-04 Timestamp code point (published July 20, which relocated the LOC Timestamp off its 0x06 collision) and continues moq-lite-06 relay-hop alignment ahead of any datatracker-06. Same spec-follows-in-code pattern the wiki has tracked since moq-dev first chose the transport-18 §15.8 property IDs (see moq-loc, moq-lite). - Relay-lifecycle hardening: #2582 “keep parked groups across a prune and revive a buried route” (+118/−28, MERGED) — another route/relay-lifecycle correction in the post-Vienna relay-correctness vein (parked groups surviving a prune, a buried route brought back).
- Native-video hardening: #2584 “keep Media Foundation decoded frames on the GPU, and stop losing frames at group boundaries” (+731/−142, MERGED) — a Windows Media Foundation decode-path fix that keeps decoded frames GPU-resident and stops frame loss at group boundaries.
- New front — local-network peer mesh via mDNS: OPEN #2585 “discover and mesh with MoQ peers on the local network via mDNS” (+606/−4) — a genuinely new capability: native peers auto-discovering and meshing with each other on the LAN via mDNS, extending the gossip/peer-mesh work beyond configured routes. Worth watching for a follow-on relay/CLI story. Trivia merges: a test-naming tidy (#2586) and a bot
flake.lockbump (#2587).
WG repos: no PRs, one live encoding discussion (transport #1837)
The WG document repos stayed near-silent — no PRs merged on any moq-wg repo in the window (the last transport merge was July 30, msf July 30). The one live thread was Mathis Engelbart’s transport issue #1837 “FETCH and REQUEST_ERROR encoding” (opened July 31), which drew a real Aug-1 exchange: afrind asked “how ugly is your parser?”, Martin Duke agreed the three separate FETCH message formats are bit-inefficient and editorially hard to read (two are moving into a parameter), and Engelbart confirmed the code isn’t ugly but is “slightly annoying, especially when upgrading to new versions” — a WGLC-hygiene encoding cleanup, not a wire change (transport-19 stands). afrind’s PR #1820 “Add PUBLISH_NOTIFY message” (OPEN since July 21) also saw activity Aug-1 but has not merged. loc, secure-objects, msf, cmsf, catalog-format, and privacy-pass were quiet.
Everything else: quiet, plus small stirrings
- moq-rs was quiet after July 31’s ship-day —
moq-relay-ietfv0.7.25 (with the draft-14 upstream-retention backport) stands; no new PRs. - moqx took a routine moxygen sync (#535); afrind’s #532 (MoQT safe-form names) and #533 (per-track
/metrics/trackcounters) remain OPEN. - aiomoqt (Giovanni Marzot) opened a v0.11.0 release-prep PR (#36) — the first movement on that Python client in a while.
- moxygen closed #206 (qlog per-connection QLogger, afrind) unmerged.
- quiche (moqt), moqtail, moq-js, imquic, moqlivemock, warp-player, moqtransport, Moqtopus, and birneee/quiche_moq were all quiet.
Interop runner: −3 pass, still inside the settled band
The nightly runner’s Aug-1 00:34 UTC cut was 350 / 130 / 209 / 11 (~37.1% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a −3 pass / +3 fail drift versus the July-31 cut (350/133/206/11), with matrix, skip, and at-target all flat. Pass 130 falls back into the settled 350-cell band (126–133); it’s the tenth straight cut on that matrix, at-target holding 220 for an eleventh straight cut. Still targets draft-18. No Aug-2 cut at check time. See interop-runner.