Chronological record of all ingestions, queries, and maintenance operations.
2026-08-18 — second quiet window; moq-dev cools to 2 merges, Nokia asks re Top Tracks
TL;DR:
- A second straight quiet consolidation window — no moq-wg merge, no datatracker bump, no new draft, Slack silent, no new mailing-list message. The Jennings discovery I-D (Aug-14) remains the newest MoQ document; transport-19 stands; the moq@ietf.org list is unchanged since the Aug-16 weekly GitHub digest. No moq-transport PR merged — afrind’s URI-query-scope PR #1855 still OPEN, and all draft-20 target PRs (#1673/#1674/#1825/#1834/#1770/#1851–#1853) stay OPEN. The one WG-thread motion was Yu You (Nokia)‘s Aug-17 implementer-feedback comment on Mo Zanaty’s open Top Tracks Filter PR #1830 — “I need some confirmation/clarification while implementing the Track Filter in our Relay” (Nokia’s second WG-thread contribution this month, after the Aug-3 DATAGRAM-fragmentation discussion). msf/loc/secure-objects/cmsf/catalog-format/privacy-pass all quiet. Slack
#moqsilent (newest still Steven Riedl’s Aug-14 aiomoqt post, thread held at 22 replies, latest Aug-15 13:58, both logged). No new MoQ Monthly (#2, May 31); no open wiki issues. - Implementation churn carried the window at a much lower tempo — moq-dev cooled to just two merges and the notable durable move was moq-rs opening PR #211 “Restore relay work for draft-18 and port missing session layer” (OPEN Aug-17) — the first sign of the moq-rs relay (dormant on draft-14/16 while the client tracked draft-18) returning to draft-18. moq-dev’s two in-window merges were the breaking
moq-native→moq-tokiocrate rename (#2896, +1722/−1662) and a kio poll-nativeTasks/FuturesUnorderedprimitive (#2901, +813/−18). - Implementations: moq — two merges (both Luke Curley): breaking
moq-native→moq-tokiorename (#2896, +1722/−1662) + kioTasksFuturesUnordered (#2901, +813/−18, Aug-18 00:07 UTC); no new release train (moq-relay v0.14.11 stands). moq-rs — new OPEN PR #211 restoring draft-18 relay work + session layer (v0.7.25 stands; #206–#209 OPEN). moqx — two Aug-17 merges (gmarzot cache-purge-race test fix #602; moxygen-sync-bot #600); afrind 604 + forwarder-registry #573–#590 OPEN. quiche (moqt, no new commits since Aug-12 d01a24d4), moqtail (relay@0.14.1; no new merges since Aug-16 ts-18 #368), moq-js, moxygen, imquic (#35 OPEN), aiomoqt (v0.10.6; v0.11.0 in-flight, PR #36 OPEN), Eyevinn repos (post-v0.13.0), Moqtopus, birneee/quiche_moq all quiet. - Interop: one new cut — the 2026-08-17 00:12:07 UTC cut: 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 (350/131/208/11; matrix/skip/at-target flat), recovering the Aug-16 −3 slip and returning pass to the middle of the recent band (126–136). Twenty-sixth straight cut on the settled 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. Off-runner: no new ad-hoc reports; still no published IETF-126 interop report.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe + channel read verified working): no new traffic in-window — newest top-level message is still Steven Riedl’s (Pluto TV) Aug-14 00:38 CEST aiomoqt-vs-moq-dev post, and its thread held at 22 replies (latest Aug-15 13:58 CEST), both already logged. No new top-level#moqmessages, no thread growth since Aug-15. - IETF mailing list: no new messages in-window — the browse index’s newest is still the Aug-16 weekly GitHub digest (Repository Activity Summary Bot); no WGLC/consensus/interop-report; the Jennings discovery I-D submission is still not reflected in the browse index.
- IETF Datatracker: no revision bumps, no new individual drafts, no submissions in-window — draft-ietf-moq-transport rev-19 (2026-07-06), loc-04 (2026-07-20), secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01, privacy-pass-auth-03 all stand; lcurley lite-05/hang-02/cluster-00/timestamp-01/qmux-websocket-00, wilaw-cmcd-event-timeline-00 (Aug-10), liu-feedback-00, altanai-geocode-02, and jennings-discovery-00 (Aug-14, the newest MoQ doc) all stand. Aug-10-interim minutes doc (
minutes-interim-2026-moq-21-202608101630) and IETF-126 Monday minutes (minutes-126-moq-202607201200, rev -01) both stand. - GitHub moq-wg: no PRs merged in-window. moq-transport — Yu You’s Aug-17 implementer-feedback comment on the OPEN Top Tracks Filter PR #1830 (mzanaty; last updated Aug-17 11:07); afrind’s PR #1855 still OPEN; all other draft-20 target PRs remain OPEN. msf (#206 unchanged since Aug-12) / loc (#29 since Aug-5) / secure-objects / cmsf / catalog-format / privacy-pass all quiet (no new PRs/issues in-window).
- GitHub implementations: moq-dev/moq (2 merged in-window — #2896
moq-native→moq-tokiorename Aug-17, #2901 kio Tasks Aug-18; OPEN 2765; release-train v0.14.11 stands, no new tags since Aug-15), cloudflare/moq-rs (NEW OPEN #211 restore draft-18 relay work + session layer, Aug-17; v0.7.25 stands; #206–#209 OPEN), openmoq/moqx (#602 gmarzot cache-purge-race test fix + #600 moxygen-sync-bot MERGED Aug-17; afrind 604 + forwarder-registry #573–#590 OPEN), moqtail/moqtail (no new merges since Aug-16 ts-18 #368; relay@0.14.1 stands), google/quiche moqt (no new commits since Aug-12 d01a24d4), video-dev/moq-js / meetecho/imquic (#35 OPEN) / facebookexperimental/moxygen / Eyevinn moqlivemock+warp-player+moqtransport (post-v0.13.0) / kota-yata/Moqtopus / gmarzot/aiomoqt (v0.10.6; v0.11.0 in-flight, PR #36 OPEN) / birneee/quiche_moq all quiet. - Interop runner: NEW report 2026-08-17 00:12:07 UTC (350/133/206/11, at-target 220) — +2 pass / −2 fail vs Aug-16. No Aug-18 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-dev (Rust Packages: moq-native renamed to moq-tokio per PR #2896 — durable naming fact, edited in place), interop-runner (Aug-17 cut), discussions-2026-08 (new Aug 17 → Aug 18 section), index.md (last_updated only)
Key findings:
A second consecutive quiet consolidation window with no durable spec/WG artifact. For the second update running there was no new datatracker document, no moq-wg merge, no new draft, and no Slack traffic — the Jennings discovery I-D (Aug-14) remains the newest MoQ document, afrind’s URI-query-scope PR #1855 is still OPEN, and the mailing list is unchanged since the Aug-16 weekly GitHub digest. The one WG-thread motion was Nokia (Yu You) asking for clarification on the open Top Tracks Filter PR #1830 while implementing the filter in their relay — a concrete implementer-feedback signal on an OPEN draft-20-candidate PR, and Nokia’s second WG-thread contribution this month. This remains the between-milestones lull the ecosystem has settled into since draft-19 shipped July 6 and the WG turned to editorial draft-20 work.
The window’s most durable move was a second Rust relay eyeing draft-18. moq-rs’s PR #211 “Restore relay work for draft-18 and port missing session layer” (OPEN Aug-17) is the first sign the moq-rs relay — which had lagged on draft-14/16 while the client role tracked draft-18 — is being brought onto draft-18, porting the missing session layer. It stays OPEN (no merge, no release), so it is a signal rather than a shipped fact, but it is the window’s one forward-looking implementation development. Meanwhile moq cooled sharply to just two merges — the breaking moq-native→moq-tokio crate rename (#2896, reflected in the moq-dev Rust Packages section) and a kio Tasks/FuturesUnordered primitive (#2901) — after its busy ~11-merge Aug-16; no new release train (moq-relay v0.14.11 stands). moqx merged two routine Aug-17 PRs; everything else was quiet.
The runner recovered +2 to 133. The Aug-17 cut (350/133/206/11, at-target holding 220) recovered the Aug-16 −3 slip, returning pass to the middle of the settled 126–136 band on the twenty-sixth straight cut of the 350-cell matrix; still draft-18.
2026-08-17 — quiet window; moq-dev churn, moqtail ts-18 conformance
TL;DR:
- A genuinely quiet consolidation window: no moq-wg PR merged, no datatracker bumps, no new drafts, Slack silent — the day’s only new source item was the routine weekly GitHub digest. No moq-transport merge in-window (transport-19 stands; afrind’s PR #1855 “Exclude URI query component from MOQT scope” still OPEN, issue #1835 unchanged since Aug-14); msf/loc/secure-objects/cmsf/catalog-format/privacy-pass all quiet. Datatracker flat — the Jennings discovery I-D logged Aug-14 (
draft-jennings-moq-discovery-00) remains the newest MoQ document; transport-19, loc-04, secure-objects-01, msf-01, cmsf-01, lcurley lite-05/cluster-00/hang-02/timestamp-01, wilaw-cmcd-event-timeline-00, liu-feedback-00 all stand. Slack#moqsilent — newest is still Steven Riedl’s Aug-14 aiomoqt post and the thread held at 22 replies (latest Aug-15 13:58, already logged), no new top-level traffic. 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 — a routine summary with no consensus/WGLC/interop-report content; the Jennings I-D still isn’t reflected in the browse index. No new MoQ Monthly (#2, May 31); no open wiki issues. - The window’s substance was implementation churn, led by moq-dev. moq-dev posted a busy Aug-16 (~11 merges) headlined by encode draft-17 message parameters by type (#2884, +343/−56), a breaking libmoq config-struct refactor (#2880, +958/−1428), and serve TCP/Unix listeners without QUIC (#2879, +217/−56); moqtail merged its moqtail-ts
ts-18conformance vector (#368), extending the draft-18 test-vector sweep that already landed ts-6b/8/9/14/15/16/19 over the prior week. - Implementations: moq — busy Aug-16 (~11 merges, all Luke Curley unless noted): draft-17 message-param-by-type encoding (#2884, +343/−56), breaking libmoq client-setters→config-struct (#2880, +958/−1428), TCP/Unix listeners without QUIC (#2879, +217/−56), PipeWire chunk-range validation + NV12 accept (#2871, +605/−37), moq-mux accept-refreshed-clocks-on-TS-duplicates (#2891), a large main→dev sync (#2883, +4730/−1406) + four dependabot bumps (#2885–#2888); no new release train (moq-relay v0.14.11 stands). moqtail — kerembkmz’s moqtail-ts
ts-18(#368); relay@0.14.1 stands. moqx — one routine moxygen-sync-bot merge (#599); afrind forwarder-registry #573–#590 OPEN. 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), Eyevinn repos (post-v0.13.0), Moqtopus, birneee/quiche_moq all quiet. - Interop: one new cut — the 2026-08-16 00:12:41 UTC cut: 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 (350/134/205/11; matrix/skip/at-target flat), giving back most of the Aug-15 +5 and returning pass to the low-middle of the recent band (126–136). Twenty-fifth straight cut on the settled 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. Off-runner: no new ad-hoc reports; still no published IETF-126 interop report.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe + channel read verified working): no new traffic in-window — newest top-level message is still Steven Riedl’s (Pluto TV) Aug-14 00:38 CEST aiomoqt-vs-moq-dev post, and its thread held at 22 replies (latest Aug-15 13:58 CEST), both already logged. No new top-level#moqmessages, no thread growth since Aug-15. - IETF mailing list: one new message — the Aug-16 weekly GitHub digest (Repository Activity Summary Bot, “[Moq] Weekly github digest”), a routine recap. The prior newest (Martin Duke’s Aug-14 “8/10 minutes”) is unchanged; no WGLC/consensus/interop-report; the Jennings discovery I-D submission is still not reflected in the browse index.
- IETF Datatracker: no revision bumps, no new individual drafts, no submissions in-window — draft-ietf-moq-transport rev-19 (2026-07-06), loc-04 (2026-07-20), secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01, privacy-pass-auth-03 all stand; lcurley lite-05/hang-02/cluster-00 (Aug-4)/timestamp-01/qmux-websocket-00, wilaw-cmcd-event-timeline-00 (Aug-10), liu-feedback-00, altanai-geocode-02, and jennings-discovery-00 (Aug-14, the newest MoQ doc) all stand. Aug-10-interim minutes doc (
minutes-interim-2026-moq-21-202608101630) and IETF-126 Monday minutes (minutes-126-moq-202607201200, rev -01) both stand. - GitHub moq-wg: no PRs merged in-window. moq-transport — afrind’s PR #1855 still OPEN (last updated Aug-14); issue #1835 “Is query in URI scoping?” unchanged since Aug-14; Suhas’s #1851–#1853 and all other draft-20 target PRs remain OPEN. msf (#206 unchanged since Aug-12) / loc (#29 since Aug-5) / secure-objects / cmsf / catalog-format / privacy-pass all quiet (no new PRs/issues in-window).
- GitHub implementations: moq-dev/moq (~11 merged Aug-16 — 2889 + dependabot 2888; OPEN 2765; release-train v0.14.11 stands, no new tags since Aug-15), moqtail/moqtail (#368 moqtail-ts ts-18 MERGED Aug-16; relay@0.14.1 stands; #221 [ci] release OPEN), openmoq/moqx (#599 moxygen-sync-bot MERGED Aug-16; afrind forwarder-registry #573–#590 OPEN), google/quiche moqt (no new commits since Aug-12 d01a24d4), cloudflare/moq-rs (v0.7.25; #204–#209 OPEN) / video-dev/moq-js / meetecho/imquic (#35 OPEN) / facebookexperimental/moxygen / Eyevinn moqlivemock+warp-player+moqtransport (post-v0.13.0) / kota-yata/Moqtopus / gmarzot/aiomoqt (v0.10.6; v0.11.0 in-flight, PR #36 OPEN) / birneee/quiche_moq all quiet.
- Interop runner: NEW report 2026-08-16 00:12:41 UTC (350/131/208/11, at-target 220) — −3 pass / +3 fail vs Aug-15. No Aug-17 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: interop-runner (Aug-16 cut), discussions-2026-08 (new Aug 16 → Aug 17 section), index.md (last_updated only)
Key findings:
A quiet consolidation window with no durable spec/WG artifact. For the first time in several updates there was no new datatracker document, no moq-wg merge, and no Slack traffic — the Jennings discovery I-D (Aug-14) remains the newest MoQ document and afrind’s URI-query-scope PR #1855 is still OPEN. The single new mailing-list item was the routine Aug-16 weekly GitHub digest, exactly the recap the prior day’s log flagged as “due ~Aug-16”; it carried no consensus, WGLC, or interop-report content. This is the between-milestones lull the ecosystem has settled into since draft-19 shipped July 6 and the WG turned to editorial draft-20 work.
Implementation churn carried the window — moq-dev breadth plus moqtail conformance. moq posted a busy Aug-16 (~11 merges) spanning wire encoding (draft-17 message-parameter-by-type #2884), API surface (a breaking libmoq config-struct refactor #2880), transport listeners (TCP/Unix without QUIC #2879), and media ingest (PipeWire NV12 #2871) — but landed no new release tags (moq-relay v0.14.11 stands). moqtail merged its moqtail-ts ts-18 conformance vector (#368), the eighth draft-18/19 test-vector batch in a week-long sweep (ts-6b/8/9/14/15/16/18/19). Nothing else moved.
The runner slipped back −3 to 131. The Aug-16 cut (350/131/208/11, at-target holding 220) gave back most of the Aug-15 +5 recovery, returning pass to the low-middle of the settled 126–136 band on the twenty-fifth straight cut of the 350-cell matrix; still draft-18.
2026-08-16 — new Jennings discovery I-D; interop rebounds +5
TL;DR:
- A new individual Internet-Draft appeared on the datatracker — the first new MoQ draft submission since Aug-4.
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) specifies how MOQT clients locate server endpoints: SVCB/HTTPS records mapping themoqtURI scheme, SRV records as a backup for load-balancing/failover, and DNS-SD over mDNS for local-network discovery without a central DNS server. It is the third Jennings/Nandakumar Cisco individual draft in the MoQ space (after MOCHA and TEMPO) and lands the same fortnight as the WG’s URI-scoping work — the Aug-10 interim’s “query component is out of MoQT scope” decision and afrind’s PR #1855 (still OPEN), plus transport issues #1835/#1839 on URI resolution. Not yet reflected in the moq@ietf.org browse index at check time; individual draft, not adopted — logged as a first-look. No moq-wg PR merged in-window (transport-19 stands; afrind’s #1855 URI-query-scope PR still OPEN); msf/loc/secure-objects/cmsf/catalog-format/privacy-pass all quiet. - Slack: the Aug-14 aiomoqt↔moq-dev interop thread grew +2 Aug-15 replies that materially qualify yesterday’s “0.14.8 fixes the dangling SUBSCRIBE” line. Steven Riedl (Pluto TV) built moq-dev’s relay at 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 (404 delivered) — “the one upstream failure on our conformance row, so we’ll take the bump before registering in September.” But he flagged that the unknown-namespace SUBSCRIBE he originally reported still waits silently at 0.14.8 — a separate behavior from what PR #2673 fixed, possibly intended subscribe-before-publish semantics. He also warned Marzot that moq-relay 0.14.8 got stricter (#2667: session closed on a malformed NAMESPACE), making aiomoqt 0.10.6’s draft-18 subscribe flow session-fatal against ≥0.14.8 relays (err=unexpected message, where older relays warned and continued). Marzot: thevi64fix is already on his dev branch, the exercise “stimulated some additional bug finds in filter support,” and he’ll validate against Pluto’s relay (among others) before cutting v0.11.0. - Implementations: moq had a quieter Aug-15/16 day (~5 merges after three ~13-27-merge days): relay redials reconfigured cluster peers (#2874, +562/−221), a breaking js: default standalone components to enabled (#2872, +279/−42), a chat-workload benchmark harness (#2877, +917/−35), compile the OBS plugin in CI (#2867, +385/−55), a main→dev sync (#2852); the Aug-15 release-train tags settled — moq-relay v0.14.11 now Latest (+moq-cli v0.9.11, libmoq v0.5.8, moq-ffi v0.3.11, obs-moq v0.5.8). moqx — one routine moxygen-sync-bot merge (#597). quiche (moqt, no new commits since Aug-12), moqtail (relay@0.14.1; #367 stands), moq-rs (v0.7.25), moq-js, moxygen, imquic, aiomoqt (v0.10.6; v0.11.0 in-flight), Eyevinn repos, Moqtopus, birneee/quiche_moq all quiet.
- Interop: one new cut — the 2026-08-15 00:12:56 UTC cut: 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 (350/129/210/11; matrix/skip/at-target flat), recovering most of the Aug-14 −6 dip and returning pass to the middle of the recent band (126–136). Twenty-fourth straight cut on the settled 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. Off-runner: no new ad-hoc reports; still no published IETF-126 interop report.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe + channel + thread read verified working): the Aug-14 aiomoqt thread grew from 20 to 22 replies — two Aug-15 posts: Steven Riedl (Aug-15 03:59 CEST) confirming the v0.14.8 tag fixes the subscribe-error/404 conformance-row case (built from source) while the unknown-namespace SUBSCRIBE still waits silently at 0.14.8 (separate from PR #2673), plus a heads-up that moq-relay 0.14.8’s stricter NAMESPACE handling (#2667) makes aiomoqt 0.10.6’s d18 flow session-fatal; and Giovanni Marzot (Aug-15 13:58 CEST) confirming the vi64 fix is on his dev branch, that it surfaced additional filter-support bugs, and that he’ll validate against Pluto’s relay before the next release. No new top-level#moqmessages. - IETF Datatracker: NEW individual draft
draft-jennings-moq-discovery-00“DNS and mDNS Discovery for MOQT” (rev -00, 2026-08-14, 9 pages; Jennings + Nandakumar, Cisco). No WG-document revision bumps — draft-ietf-moq-transport rev-19 (2026-07-06), loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, privacy-pass-auth-03 all stand; lcurley lite-05/hang-02/cluster-00/timestamp-01/qmux-websocket-00, wilaw-cmcd-event-timeline-00, liu-feedback-00, altanai-geocode-02 all stand. Aug-10-interim minutes doc (minutes-interim-2026-moq-21-202608101630) stands; IETF-126 minutes one Monday doc (minutes-126-moq-202607201200, rev -01). - IETF mailing list: no new messages in-window — the browse index’s newest is still Martin Duke’s Aug-14 “[Moq] 8/10 minutes” post; the Jennings I-D submission is not yet reflected in the browse index. No WGLC/consensus/interop-report; next weekly GitHub digest due ~Aug-16.
- GitHub moq-wg: no PRs merged in-window. moq-transport — afrind’s PR #1855 “Exclude URI query component from MOQT scope” still OPEN (last updated Aug-14); issue #1835 unchanged since Aug-14; all draft-20 target PRs remain OPEN. msf/loc/secure-objects/cmsf/catalog-format/privacy-pass all quiet (no new PRs/issues in-window).
- GitHub implementations: moq-dev/moq (~5 merged Aug-15/16 — 2878 + #2852 main→dev sync; release-train tags moq-relay v0.14.11 / moq-cli v0.9.11 / libmoq v0.5.8 / moq-ffi v0.3.11 / obs-moq v0.5.8 settled Aug-15; OPEN 2765), openmoq/moqx (#597 moxygen-sync-bot MERGED Aug-15; afrind forwarder-registry #573–#590 OPEN), moqtail/moqtail (no new merges since #367; relay@0.14.1; #221 [ci] release OPEN), google/quiche moqt (no new commits since Aug-12 d01a24d4), cloudflare/moq-rs (v0.7.25) / video-dev/moq-js / meetecho/imquic / facebookexperimental/moxygen / Eyevinn moqlivemock+warp-player+moqtransport (post-v0.13.0) / kota-yata/Moqtopus / gmarzot/aiomoqt (v0.10.6; v0.11.0 in-flight on dev branch) / birneee/quiche_moq all quiet.
- Interop runner: NEW report 2026-08-15 00:12:56 UTC (350/134/205/11, at-target 220) — +5 pass / −5 fail vs Aug-14. No Aug-16 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-discovery (new draft page — first-look on draft-jennings-moq-discovery-00), index.md (new drafts-table row for moq-discovery), aiomoqt (Draft Support: vi64 fix on dev branch + additional filter-support bugs + validate-before-v0.11.0; 0.14.8-stricter-NAMESPACE session-fatal note), interop-runner (Aug-15 cut), discussions-2026-08 (new Aug 15 → Aug 16 section)
Key findings:
The window’s durable headline is a new individual draft opening a MoQ discovery/bootstrapping category. draft-jennings-moq-discovery-00 “DNS and mDNS Discovery for MOQT” (Jennings + Nandakumar, Cisco) is the first new MoQ I-D submission since the Aug-3/4 batch, and it maps the moqt URI scheme to SVCB/HTTPS records, adds SRV as a backup, and defines DNS-SD over mDNS for local-network discovery — the how-do-clients-find-a-relay layer that the transport draft leaves out of scope. It lands directly alongside the WG’s live URI-scoping work (the interim’s “query is out of MoQT scope” call, afrind’s PR #1855, issues 1839), and continues Cisco’s individual-draft investment (MOCHA, TEMPO). A new moq-discovery first-look page and an index.md row were added.
Slack qualified — not contradicted — yesterday’s interop win. Steven Riedl verified that moq-dev v0.14.8 does fix the subscribe-error/404 case that was his conformance row’s one upstream failure (he’ll take the bump before registering in September), but drew a clear line: the unknown-namespace SUBSCRIBE still hangs silently at 0.14.8 (separate from PR #2673, possibly intended subscribe-before-publish semantics), and 0.14.8’s stricter malformed-NAMESPACE handling (#2667) now makes aiomoqt 0.10.6 session-fatal against current relays. Marzot confirmed the vi64 fix is on his dev branch, that debugging it surfaced further filter-support bugs, and that he’ll validate against Pluto’s relay before shipping v0.11.0. The aiomoqt page’s bug note was updated to reflect all three.
Implementations cooled after three big days; the runner rebounded. moq slowed to ~5 merges (cluster-peer redial, a breaking js standalone-components default, a chat-workload benchmark harness, OBS-plugin CI) and settled its Aug-15 release-train tags — moq-relay v0.14.11 is now Latest. Everything else was quiet (one moxygen-sync-bot merge on moqx; moqtail relay@0.14.1 stands; quiche moqt untouched since Aug-12). The nightly runner recovered +5 to 134 pass (350/134/205/11, at-target holding 220), erasing most of the Aug-14 −6 dip; still draft-18.
2026-08-15 — Aug-10 interim minutes land; moq-dev d18 interop day
TL;DR:
- The Aug-10 virtual-interim minutes finally posted, resolving a multi-day “unposted” watch — and they set the concrete draft-20→22 pipeline. Martin Duke’s “[Moq] 8/10 minutes” list post (Aug-14) and the datatracker doc
minutes-interim-2026-moq-21-202608101630(rev -00, uploaded Aug-14 17:49 UTC) close out the interim-2026-moq-21 record. Duke chaired; afrind led the transport-issue review and Will Law presented FETCH pacing. The headline is the editorial pipeline: “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.” Substantive calls: Location-filter unfiltered behavior for groups requested before any publication, Invalid-Range error removed (out-of-bounds clamps to(0,0)), subscriptions stay open even if entirely in the past,SUBSCRIBER_PRIORITYchanges affect only live subscriptions, not active fill-fetch streams, the URI query component is not part of MoQT scope (afrind to draft text → his new PR #1855, “Exclude URI query component from MOQT scope,” Fixes #1835), and PR #1770 (updatable default publisher priority) leaning reject — “an error-prone mechanism that probably is not needed” — with Duke to email the list for wider input given the proponents’ absence. Will Law’s FETCH pacing (fetch_pacing_supportedboolean + logarithmicpacing_rate) continues as an external extension draft. No moq-wg PR merged in-window (transport-19 stands; #1855 OPEN); msf/loc/secure-objects/cmsf/catalog-format/privacy-pass all quiet. - Slack carried a full-day Pluto TV ↔ moq-dev/aiomoqt draft-18 interop push — two bugs, both resolved the same day. Steven Riedl (Pluto TV, using moq-dev as their GCP “origin” relay) grew his Aug-14 aiomoqt thread to 20 replies: (1) Giovanni Marzot confirmed moq-dev’s SUBSCRIBE_OK is spec-correct and the parse failure is an aiomoqt vi64 bug, now fixed for aiomoqt v0.11.0 + aiopquic v0.4.0 (in-flight, with the encode/decode fixes); (2) Riedl then hit a dangling SUBSCRIBE: at d18 a SUBSCRIBE for a namespace nobody has announced never gets a SUBSCRIBE_OK or SUBSCRIBE_ERROR — it just hangs until client timeout (repro’d on both
cdn.moq.pro/anonand their own relay), so a subscriber can’t tell “no such track” from “slow relay.” Luke Curley agreed it “should REQUEST_ERROR instead of hanging” and reported moq-dev 0.14.8 fixes that issue hours later. A side thread resolved WebTransport path discovery forfb.mvfst.net:9448andmoqx-main.ci.openmoq.org:4433(both want/moq-relay, negotiate draft-14/16/18, 400 on 19) via aiomoqt’srelay_probetool — Riedl now has “session receipts for every public endpoint.” afrind’s moqxmoq_decode.pywas again cited as the neutral arbiter. - Implementations: moq had another large 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) + arctic-uno-0144’s serve an IETF subscribe from the live edge (#2862) — the pair behind 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), TS-discontinuity/mux/rtc fixes (#2823/#2840/#2845) + release trains (moq-cli 0.9.11, libmoq 0.5.8, moq-relay 0.14.10). moqtail — kerembkmz’s moqtail-ts TS-8/9/14/15 conformance batch (#367); relay@0.14.1 stands. quiche (moqt, no new commits since Aug-12), moqx (no new merges since Aug-13; afrind forwarder-registry PRs #573–#590 OPEN), moq-rs (v0.7.25), moq-js, moxygen, imquic (#35 OPEN), Eyevinn repos (post-v0.13.0), Moqtopus, birneee/quiche_moq all quiet.
- Interop: one new cut — the 2026-08-14 00:24:37 UTC cut: 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 (350/135/204/11; matrix/skip/at-target flat), erasing the two prior days’ gains and dropping pass back to the middle-low of the recent band (126–136). Twenty-third straight cut on the settled 350-cell / at-target-220 matrix. Still targets draft-18 (the minutes now name draft-22 as the eventual next interop target). No Aug-15 cut at check time. Off-runner: no new ad-hoc reports; still no published IETF-126 interop report.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe + channel + thread read verified working): the Aug-14 aiomoqt thread grew from 6 to 20 replies (latest Aug-14 23:28 CEST) — a full day of Pluto TV ↔ moq-dev/aiomoqt draft-18 interop (Marzot’s vi64 root-cause + v0.11.0/aiopquic-v0.4.0 fix; Riedl’s dangling-SUBSCRIBE-on-unannounced-namespace report; Luke Curley confirming moq-dev 0.14.8 fixes it; therelay_probeWebTransport-path discovery for fb.mvfst.net + moqx-main endpoints). No new top-level#moqmessages. - IETF mailing list: one new message — Martin Duke’s Aug-14 “[Moq] 8/10 minutes” announcing the Aug-10-interim minutes are posted. Otherwise the browse index’s newest are still the five Aug-10 interim-adjacent posts; next weekly GitHub digest not due until ~Aug-16.
- IETF Datatracker: no draft revision bumps, no new individual drafts, no submissions since Aug-1 — draft-ietf-moq-transport rev-19 (2026-07-06), loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01, privacy-pass-auth-03 all stand; lcurley lite-05/hang-02/cluster-00/timestamp-01/qmux-websocket-00, wilaw-cmcd-event-timeline-00, liu-feedback-00, altanai-geocode-02 all stand. NEW minutes doc:
minutes-interim-2026-moq-21-202608101630rev-00 (uploaded Aug-14 17:49 UTC) — the Aug-10 virtual interim, previously unposted. IETF-126 minutes still one Monday doc (minutes-126-moq-202607201200, rev -01). - GitHub moq-wg: no PRs merged in-window. moq-transport — new OPEN PR #1855 (afrind, “Exclude URI query component from MOQT scope,” +10/−5, Fixes #1835 — the interim URI-scope action item); all other draft-20 target PRs remain OPEN. msf/loc/secure-objects/cmsf/catalog-format/privacy-pass all quiet (no new PRs/issues in-window).
- GitHub implementations: moq-dev/moq (~13 merged Aug-14 — 2817 release; OPEN 2765), moqtail/moqtail (#367 moqtail-ts TS-8/9/14/15 MERGED Aug-14; relay@0.14.1 stands), openmoq/moqx (no Aug-14 merges; afrind forwarder-registry #573–#590 OPEN), google/quiche moqt (no new commits since Aug-12 d01a24d4), cloudflare/moq-rs (v0.7.25) / video-dev/moq-js / meetecho/imquic (#35 OPEN) / facebookexperimental/moxygen / Eyevinn moqlivemock+warp-player+moqtransport (post-v0.13.0) / kota-yata/Moqtopus / gmarzot/aiomoqt (v0.10.6; v0.11.0 in-flight) / birneee/quiche_moq all quiet.
- Interop runner: NEW report 2026-08-14 00:24:37 UTC (350/129/210/11, at-target 220) — −6 pass / +6 fail vs Aug-13. No Aug-15 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: interim-meetings (new 2026-08-14 note summarizing the now-posted Aug-10 interim-21 outcomes + draft-20→22 pipeline), moq-transport (Recent Highlights: interim-21 minutes + draft pipeline folded into the draft-20-merges milestone), aiomoqt (Draft Support: vi64 fix now landing in v0.11.0 + relay_probe), interop-runner, discussions-2026-08, index.md
Key findings:
The window’s durable headline is the Aug-10 interim minutes, which arrived with a concrete draft roadmap. For four straight updates the log noted “Aug-10-interim minutes still unposted.” On Aug-14 they landed — the datatracker doc minutes-interim-2026-moq-21-202608101630 (rev -00, 17:49 UTC) plus Martin Duke’s “8/10 minutes” list post. Beyond ratifying the filter/fetch decisions that were already visible as the Aug-13 merge batch (Mo Zanaty’s Location-filter redesign, the payload-less-object fix), the minutes set the editorial pipeline the WG will follow 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 (draft-22), and the Aug-13 “first draft-20-bound merges” are explicitly framed as editorial. Two other durable calls: PR #1770 (updatable default publisher priority) is leaning reject as “error-prone … probably not needed,” and the URI query component is out of MoQT scope — the latter producing afrind’s action-item PR #1855 the same day. The interim-meetings page got a new dated note and moq-transport’s draft-20 milestone bullet folded in the pipeline.
Slack carried a genuinely productive interop day, entirely inside one thread. Steven Riedl (Pluto TV) ran a full day of draft-18 testing against moq-dev with aiomoqt as the client, and the 20-reply thread closed two bugs the same day: the Marzot 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). The lingering-SUBSCRIBE bug is the operational tail of the same PUBLISH_NAMESPACE routing question Luke has been working (moq-transport issue #1854 / moq-dev #2748) — “we do need a PUBLISH_NAMESPACE … before we can route any SUBSCRIBE, but it should REQUEST_ERROR instead of hanging.” aiomoqt’s relay_probe also resolved WebTransport-path discovery for the Meta and moqx endpoints. The aiomoqt page’s bug note now points at the v0.11.0 fix.
Implementations stayed hot; the runner gave back the week’s gains. moq posted a third consecutive large day (~13 merges, headlined by hot-reload of root CAs and URL-style catalog-reference resolution, plus the 0.14.8 interop fix); moqtail shipped another moqtail-ts conformance batch (TS-8/9/14/15). The nightly runner slipped −6 to 129 pass (350/129/210/11, at-target holding 220), erasing the Aug-12→13 spike and returning to the middle-low of the band; still draft-18, now with draft-22 named as the eventual next target.
2026-08-14 — first draft-20 merges land; aiomoqt↔moq-dev bug hunt
TL;DR:
- The WG broke its month-long “nothing lands” streak: four moq-transport PRs merged Aug-13 toward draft-20. Into the editor’s copy (no -20 revision uploaded — transport-19 still stands on the datatracker): Mo Zanaty’s Location-Filter redesign (#1809, +75/−85, “changed to match the design of other filters”), afrind’s new PUBLISH_STATE_NOTIFY strictly-informative control message (#1820, +65/−14 — the message he had floated as PUBLISH_NOTIFY / SUBSCRIPTION_STATE_UPDATE), afrind’s “recommend Secure Objects for confidentiality from relays” security note (#1755, +8/−9, closes #1711), and sharmafb’s “first byte of object” fix for payload-less objects (#1844, +5/−5, closes #1841) — the first draft-20-bound merges since draft-19 shipped July 6. The rest of the target set (Fill-Fetch #1673, SWITCH_FROM #1674, FORWARD→range-pausing #1825, PUBLISH-sub-params #1834, publisher-priority #1770, Suhas’s #1851–#1853 batch) stays OPEN. msf/loc/secure-objects/cmsf/catalog-format/privacy-pass all quiet (msf #206, loc #30 unchanged since Aug-12).
- Slack carried a fresh draft-18 interop bug-hunt, root-caused in under an hour. Steven Riedl (Pluto TV, a new name in
#moq) ran aiomoqt v0.10.6 against moq-dev’s public relay (34-72-6-160.sslip.io): draft-16 Just Worked end-to-end (MSF catalog received), but draft-18 hit a SUBSCRIBE_OK parse failure (“truncated trailing extensions block”). Giovanni Marzot (aiomoqt author) repro’d and diagnosed it as an aiomoqt bug — v0.10.6 decodes the SUBSCRIBE_OK Track-Properties block with RFC-9000 varints instead of LOCvi64, running off the end when a property value is ≥ 64 (TIMESCALE=1000→83 e8); moq-dev’s SUBSCRIBE_OK is spec-correct. Fixed on Marzot’s dev branch (next release); workaroundMOQTMessage._tolerate_trailing_extensions = True. afrind’s moqxmoq_decode.pyserved as the neutral arbiter. List / datatracker / MoQ Monthly / wiki-issues all flat: mailing list nothing new since the five Aug-10 posts (weekly digest not due until ~Aug-16); no datatracker bumps, no new individual drafts, no submissions since Aug-1; no new MoQ Monthly (#2 May 31); no open wiki issues; IETF-126 minutes one Monday doc at rev -01; Aug-10-interim minutes still unposted. - Implementations: moq had another large Aug-13 day (~14 merged, all Luke Curley unless noted): multi-stage import/export over one connection (#2809, +860/−118), the breaking moq-native endpoint-role rename to
connect/listen(#2750, +3270/−1470), Happy-Eyeballs dial-before-AAAA (#2749, +1305/−356), surface a dropped resume producer instead of stalling readers (#2804, +593/−73), arielmol catalog container for manual renditions (#2805, +347/−5), decode largest object in subscribe ok (#2837, Glenn444), advertise ALPN for browser version-negotiation (#2811), count advertisements per namespace (#2803) + TS-cadence/frame-floor/CI fixes; new OPEN DVB/MPEG-TS front — t0ms EIT SI-routing test #2828 + broadcast recipe #2830, EIT-through-TS #2824, sreejon optional-track-name #2831. moqtail — relay object-fanout perf (#366, Zafer Gürel, +983/−100) + moqtail-tsts6b, 16 and 19(#365, kerembkmz, +563/−874); relay@0.14.1 stands. moqx — afrind/infouptime #572 +/metrics/track?limit=#561 MERGED (were OPEN Aug-12), gmarzot asan-cap #588, moxygen-sync #578. quiche (moqt, no new commits since Aug-12), moq-rs (v0.7.25), moq-js, moxygen, imquic (#35 OPEN), Eyevinn repos (post-v0.13.0), Moqtopus, birneee/quiche_moq all quiet. - Interop: one new cut — the 2026-08-13 00:23:34 UTC cut: 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 (350/136/203/11; matrix/skip/at-target 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 the settled 350-cell / at-target-220 matrix. Still targets draft-18. No Aug-14 cut at check time. Off-runner: no new ad-hoc reports; still no published IETF-126 interop report.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe + channel + thread read verified working): one new thread — Steven Riedl’s (Pluto TV) Aug-14 00:38 CEST aiomoqt-v0.10.6-vs-moq-dev-relay interop report (6 replies to 01:37 CEST: afrind pointing at moqxmoq_decode.py, Giovanni Marzot repro + root-cause = aiomoqt varint-vs-vi64bug, moq-dev spec-correct, Riedl confirming the_tolerate_trailing_extensionsworkaround). First substantive#moqtraffic since Aug-11. - IETF mailing list: no new messages in-window — browse index newest are still the five Aug-10 interim-adjacent posts (Martin Duke #1770, Altanai B #1692, Luke Curley moq-lite drafts, Will Law CMCD-over-MSF, Cullen Jennings agenda-reply — all logged), then the Aug-9 weekly digest and Aug-5 batch. No WGLC/consensus/interop-report; next weekly GitHub digest not due until ~Aug-16.
- IETF Datatracker: no revision bumps, no new individual drafts, no submissions since Aug-1 — draft-ietf-moq-transport rev-19 (2026-07-06), 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, 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 all stand. Aug-10-interim minutes still not posted; IETF-126 minutes one doc (minutes-126-moq-202607201200, rev -01). - GitHub moq-wg: four moq-transport PRs MERGED Aug-13 — #1809 (mzanaty, Location-filter redesign, 18:36 UTC), #1755 (afrind, Recommend Secure Objects, closes #1711, 18:16 UTC), #1820 (afrind, PUBLISH_STATE_NOTIFY, 19:01 UTC), #1844 (sharmafb, empty-object first-byte, closes #1841, 19:03 UTC); issues 1711 CLOSED. Active discussion continued on issues #1854 (kixelated PUBLISH_NAMESPACE) and #1845 (yuyou Prior-Subgroup-ID gap). msf — #206 (Will Law event-timeline refactor) unchanged since Aug-12, issue #80 (vasilvv, “Do MIME types make sense” — old issue, Dec-2025). loc — issue #30 (kixelated “When are configs legal?”) unchanged since Aug-12. secure-objects / cmsf / catalog-format / privacy-pass all quiet.
- GitHub implementations: moq-dev/moq (~14 merged Aug-13 — 2844; OPEN DVB/TS front 2831 + 2814), moqtail/moqtail (#366 relay-fanout perf + #365 moqtail-ts MERGED Aug-13; relay@0.14.1 stands), openmoq/moqx (#572/#561/#588/#578 MERGED Aug-13), google/quiche moqt (no new commits since Aug-12 d01a24d4/4b2d81f4/8a147ac8), cloudflare/moq-rs (v0.7.25) / video-dev/moq-js / meetecho/imquic (#35 OPEN) / facebookexperimental/moxygen / Eyevinn moqlivemock+warp-player+moqtransport (post-v0.13.0) / kota-yata/Moqtopus / gmarzot/aiomoqt (v0.10.6; fix pending on dev branch) / birneee/quiche_moq all quiet.
- Interop runner: NEW report 2026-08-13 00:23:34 UTC (350/135/204/11, at-target 220) — −1 pass / +1 fail vs Aug-12. No Aug-14 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-transport (Recent Highlights: first draft-20-bound merge batch milestone; PUBLISH_STATE_NOTIFY #1820 now MERGED; Location-filter #1809 merge noted in Range-filters open question), aiomoqt (Draft Support: known draft-18 SUBSCRIBE_OK varint-vs-vi64 bug + _tolerate_trailing_extensions workaround), interop-runner, discussions-2026-08, index.md
Key findings:
The window’s headline is the WG’s first draft-20-bound merges after a month of stasis. Since draft-19 shipped July 6, every update logged the same refrain — “no moq-wg PR merged, all draft-20 target PRs stay OPEN, transport-19 stands.” On Aug-13 that broke: the editors merged four moq-transport PRs into the editor’s copy — Mo Zanaty’s Location-Filter redesign (#1809), afrind’s new PUBLISH_STATE_NOTIFY informative control message (#1820, the message previously floated as PUBLISH_NOTIFY / SUBSCRIPTION_STATE_UPDATE), afrind’s “recommend Secure Objects for confidentiality from relays” security note (#1755, closing the long-standing relay-confidentiality issue #1711), and sharmafb’s payload-less-object first-byte fix (#1844, closing #1841). These are the Aug-10 interim’s discussion-only PR set finally starting to land. No -20 revision is uploaded yet (datatracker still shows transport-19), and the heavier filter/fetch/switch redesigns remain OPEN — so this is the beginning of the -20 accumulation, not its completion. The moq-transport page’s Recent Highlights got a milestone bullet and the 1809 open-question entries were updated to merged.
Slack carried a clean, fast interop bug-hunt. A new participant (Steven Riedl / Pluto TV) surfaced a concrete draft-18 interop gap — aiomoqt v0.10.6 fails to parse moq-dev’s SUBSCRIBE_OK — and Giovanni Marzot root-caused it inside an hour to an aiomoqt-side decoder bug (RFC-9000 varint used where the LOC-style vi64 is required for Track Properties, breaking on any value ≥ 64 such as TIMESCALE=1000). moq-dev’s encoding is spec-correct; the fix is on Marzot’s dev branch. Two ecosystem-tooling notes: draft-16 interops cleanly (the regression is purely the -18 property encoding), and afrind’s moqx moq_decode.py again served as the community’s neutral wire arbiter. The aiomoqt page got a Draft-Support note on the bug + workaround.
Implementations kept up their high tempo; the runner gave back one point. moq posted a second consecutive large day (~14 merges, headlined by multi-stage import/export over one connection and the breaking moq-native connect/listen rename) and opened a fresh DVB/MPEG-TS ingest front (t0ms EIT work); moqtail shipped relay object-fanout performance work plus a moqtail-ts batch; moqx merged afrind’s two admin endpoints. The nightly runner slipped −1 to 135 (second-best on the 350-cell matrix, behind Aug-12’s 136 high), at-target holding 220, still draft-18.
2026-08-13 — announce-unasked merges; quiche resumes wire migration
TL;DR:
- The Aug-11 PUBLISH_NAMESPACE debate closed the loop from issue to merged code, and a second codebase re-engaged the same message the same day. Luke Curley’s moq #2748 “feat(net): announce namespaces unasked, with a SETUP opt-out” — the concrete implementation of his moq-transport issue #1854 extension proposal (a peer signals in SETUP whether it needs an explicit
SUBSCRIBE_NAMESPACE; absent the extension, publishersPUBLISH_NAMESPACEunsolicited) — MERGED Aug-12 22:14 UTC (+1618/−262, Fixes #2730), turning the Vienna-era P2P-vs-relay signaling gap into shipped behaviour. Independently, quiche resumed its stalled draft wire-migration (first moqt-dir activity since Aug-4): PUBLISH_NAMESPACE moved onto a dedicated bidirectional stream (4b2d81f4, Aug-12) plus TRACK_STATUS moved to a separate stream (c57a70d2, Aug-11) + aMoqtResponseCallbackfix — continuing the “peel messages off the control stream onto dedicated bidi streams” pattern of its July-17 SUBSCRIBE-to-bidi burst (a carriage refactor, a different axis from #1854’s whether-to-send question, but both land on PUBLISH_NAMESPACE the same week). No moq-wg PR merged — transport-19 stands, all draft-20 target PRs stay OPEN — but three design threads moved: msf PR #206 (Will Law, event-timeline attribute refactor, removesmimeTypefrom identified-objects/scte35, Fixes 83), loc issue #30 (Luke Curley questioning whetherVideoConfig/AudioConfigshould be legal as track/object/sub-group properties at all — “I would remove VideoConfig and AudioConfig, punting them to the catalog”), and moq-transport issue #1832 (Mo Zanaty’s PUBLISH_DONE-SUBSCRIPTION_ENDED-vs-filter semantics drew Aug-12 questions from laiDisney and a clarifying afrind reply on non-error close codes). - List, datatracker, Slack, MoQ Monthly all flat. Mailing list: nothing new since the five Aug-10 interim-adjacent posts (weekly GitHub digest not due until ~Aug-16). Datatracker: no bumps (transport-19/loc-04/secure-objects-01/msf-01/cmsf-01/c4m-01/warp-01/catalogformat-01/privacy-pass-auth-03 stand; lcurley lite-05/hang-02/cluster-00/timestamp-01/qmux-websocket-00, wilaw-cmcd-event-timeline-00, liu-feedback-00, altanai-geocode-02 all stand); no new individual drafts; IETF-126 minutes one Monday doc at rev -01; Aug-10-interim minutes still unposted. Slack
#moqquiet (newest still Tobbe’s Aug-6 caption post + its Aug-11 reply, both logged); no new MoQ Monthly (#2 May 31); no open wiki issues. secure-objects/cmsf/catalog-format/privacy-pass all quiet. - Implementations: moq had a large Aug-12 day (~27 merged, ≈+21.6k/−6.4k LOC, all Luke Curley unless noted): besides #2748, an ordered-group-delivery correctness cluster — serve subscriptions/groups in arrival order so reordered groups aren’t dropped (#2771/#2772), transmit groups in sequence order for ordered subscriptions (#2767), resolve
nextGroupfinished when the track closes above the cap (#2766) — plus catalog-rendition advertisement (advertise the rendition before the first keyframe #2768; arielmol OPEN #2805 manual-rendition catalog container), moq-hls (bind renditions to their catalog’s broadcast #2795; arielmol live-edge-across-takeover #2785), relay (one peer key across both discovery paths #2793; drop every empty subscription range #2791) + a nix/mux/native/ci sweep; OPEN: separate session/stream errors (breaking) #2794, lazy per-prefix announcement solicitation #2775, per-namespace advertisement counting #2803, timeline-slide #2787, resume-producer surface #2804. moqtail continued the relay sprint into Aug-12: relay sends SUBSCRIBE to every matching publisher (by-name and by-namespace-announce) #361, FETCH-OK-after-range #363, wtransport pinned to crates.io 0.7.2 #360, moqtail-ts ts12-13 #362 (kerembkmz), dependabot #364; relay@0.14.1 stands. moqx — Michal Hošna’s multiple-AUTHORIZATION_TOKEN-per-message #552 (+545/−58, implements transport #1838) MERGED; afrind/infouptime #572 +/metrics/track?limit=#561, michalhosna clang-tidy #563 + anonymous-claim #553, gmarzot #539/#555 OPEN. moxygen (#211/#212 OPEN), warp-player (dependabot 183 OPEN), moq-rs (v0.7.25), moq-js, imquic (#35 OPEN), Eyevinn (post-v0.13.0), Moqtopus, aiomoqt, birneee/quiche_moq,moq-encoder-playerall quiet. - Interop: one new cut — the 2026-08-12 00:22:23 UTC cut: 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 (350/127/212/11; matrix/skip/at-target flat), the biggest single-cut swing since Vienna week. Pass 136 sets a new 350-cell-matrix pass high, edging past the 133 first reached July 31 (and tied Aug-10); twenty-first straight cut on the settled 350-cell / at-target-220 matrix. Still targets draft-18. No Aug-13 cut at check time. Off-runner: no new ad-hoc reports; still no published IETF-126 interop report.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe + channel read verified working): no new traffic — newest channel message is still Tobbe’s Aug-6 17:45 CEST caption-announcement post; its thread’s Aug-11 11:11 reply (Jordi QUIC-mapping answer) is already logged. No Aug-12/Aug-13#moqmessages. - IETF mailing list: no new messages in-window — the browse index’s newest are still the five Aug-10 interim-adjacent posts (Will Law CMCD-over-MSF, Luke Curley moq-lite drafts, Martin Duke PR #1770, Altanai B relay-diagnostics, Cullen Jennings agenda-reply — all logged), then the Aug-9 weekly digest and Aug-5 batch. No WGLC/consensus/interop-report; next weekly GitHub digest not due until ~Aug-16.
- IETF Datatracker: no revision bumps, no new individual drafts — 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 stand;
draft-lcurley-moq-lite-05, hang-02/cluster-00/timestamp-01/qmux-websocket-00 (all Aug-4),draft-wilaw-moq-cmcd-event-timeline-00 (Aug-10),draft-liu-moq-feedback-00,draft-altanai-moq-relay-geocode-02 all stand. Aug-10-interim minutes still not posted; IETF-126 minutes one doc (minutes-126-moq-202607201200, rev -01). - GitHub moq-wg: no PRs merged on any repo. moq-transport — issue #1832 (mzanaty; laiDisney + afrind Aug-12 clarifications on PUBLISH_DONE/
SUBSCRIPTION_ENDEDsemantics and non-error close codes); issues 1845 unchanged since Aug-11 (logged); all draft-20 target PRs OPEN. msf — new OPEN PR #206 (Will Law, refactor event-timeline attributes/requirements, +31/−17, Fixes 83). loc — new OPEN issue #30 (kixelated, “When are configs legal?”, proposes removing VideoConfig/AudioConfig from track/object properties). secure-objects / cmsf / catalog-format / privacy-pass all quiet. - GitHub implementations: moq-dev/moq (~27 merged Aug-12, ≈+21.6k/−6.4k LOC — headline #2748 announce-unasked/SETUP-opt-out MERGED; ordered-delivery 2772, catalog-rendition #2768, moq-hls 2795, relay 2793 + nix/mux/native/ci; OPEN 2792), moqtail/moqtail (#360/#361/#362/#363/#364 MERGED Aug-12; no relay release, relay@0.14.1 stands), google/quiche moqt (resumed after Aug-4: c57a70d2 TRACK_STATUS→separate stream Aug-11, 8a147ac8 MoqtResponseCallback fix + 4b2d81f4 PUBLISH_NAMESPACE→bidi stream + d01a24d4 OSS-build fix Aug-12), openmoq/moqx (#552 MERGED multiple AUTHORIZATION_TOKEN; OPEN 555), facebookexperimental/moxygen (#211/#212 OPEN), Eyevinn/warp-player (dependabot 183 OPEN), cloudflare/moq-rs (v0.7.25) / video-dev/moq-js / meetecho/imquic (#35 OPEN) / Eyevinn moqlivemock+moqtransport (post-v0.13.0) / kota-yata/Moqtopus / gmarzot/aiomoqt / birneee/quiche_moq / facebookexperimental/moq-encoder-player all quiet.
- Interop runner: NEW report 2026-08-12 00:22:23 UTC (350/136/203/11, at-target 220) — +9 pass / −9 fail vs Aug-11, a new 350-cell pass high. No Aug-13 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: quiche-moq (Recent Highlights: Aug-11–12 draft wire-migration resumption — TRACK_STATUS + PUBLISH_NAMESPACE onto dedicated bidi streams), interop-runner, discussions-2026-08, index.md
Key findings:
The window’s headline is a two-codebase convergence on PUBLISH_NAMESPACE. The prior window’s #1854 debate — whether the wire must distinguish the P2P case (both PUBLISH_NAMESPACE+SUBSCRIBE_NAMESPACE) from relay-to-relay (neither) — closed the loop from GitHub issue to merged code when Luke Curley’s moq #2748 “announce namespaces unasked, with a SETUP opt-out” landed Aug-12 22:14 UTC (Fixes t0ms’s #2730), making the SETUP-negotiated capability shipped behaviour that fixes the concrete moq import-emits-no-control-messages bug against third-party relays. Independently and the same day, quiche broke an eight-day moqt quiet by moving PUBLISH_NAMESPACE onto a dedicated bidirectional stream (4b2d81f4) — plus TRACK_STATUS to its own stream (c57a70d2) — resuming the July-17 “peel control messages onto dedicated bidi streams” migration. The two touches are on different axes (Google’s is stream carriage, Luke’s is whether/when to send), but both land on PUBLISH_NAMESPACE in the same 48 hours, underscoring that namespace signaling is the live wire-design question across implementations. The quiche resumption is durable enough to warrant a quiche-moq Recent Highlights bullet.
moq-dev’s Aug-12 was a large correctness day beyond #2748. Roughly 27 merges (~+21.6k/−6.4k LOC) concentrated on ordered/reordered group delivery (serve subscriptions and groups in arrival order so reordered groups aren’t dropped, transmit groups in sequence order for ordered subscriptions — #2766/#2767/#2771/#2772), catalog-rendition advertisement (#2768), moq-hls rendition/catalog binding (#2785/#2795), and relay discovery/subscription hygiene (#2791/#2793). moqtail carried its Aug-11 relay-hardening sprint into Aug-12 (relay now SUBSCRIBEs to every matching publisher, by-name and by-namespace-announce — #361), and moqx merged Michal Hošna’s multiple-AUTHORIZATION_TOKEN-per-message support (#552, the code side of transport #1838).
The WG shipped no merges but three design threads advanced. Will Law opened msf #206 refactoring event-timeline attributes (dropping mimeType from identified-objects/scte35 entries, Fixes 83); Luke Curley opened loc #30 arguing to remove VideoConfig/AudioConfig from LOC track/object properties and punt codec config to the catalog; and Mo Zanaty’s transport #1832 drew Aug-12 clarifications (laiDisney’s two questions; afrind noting Track-Ended/Goaway/custom non-error close codes and a preference not to proactively close so a subscriber can REQUEST_UPDATE its filter). transport-19 stands.
The nightly runner jumped +9 to a new high of 136. The Aug-12 00:22 cut (350/136/203/11, at-target 220) is the biggest single-cut pass swing since Vienna week and edges past the prior 133 high (July 31 / Aug-10) — likely reflecting the moqtail relay-hardening and moq-dev delivery-ordering fixes converging, though the at-target matrix (220) is unchanged. Twenty-first straight cut on the 350-cell matrix; still draft-18.
2026-08-12 — PUBLISH_NAMESPACE debate to code; moqtail relay sprint
TL;DR:
- The Aug-10 interim’s one on-repo artifact matured into an extension proposal — and the same day, into code. On moq-transport issue #1854 (“to PUBLISH_NAMESPACE or to not PUBLISH_NAMESPACE”), afrind (Aug-11 01:12 UTC) held that “moq-transport is not about how to build the inner workings of a CDN … A CDN is a single relay from the perspective of the document”; Luke Curley (Aug-11 19:47/19:49) accepted the reframing but pivoted to a concrete extension — a peer advertises via SETUP whether it requires an explicit
SUBSCRIBE_NAMESPACE; if the extension is not negotiated the publisherPUBLISH_NAMESPACEs (unsolicited), if it is the publisher waits for interest — turning the Hackathon-era P2P-vs-relay signaling gap into a negotiated capability. Hours later Luke opened moq #2748 “feat(net): announce namespaces unasked, with a SETUP opt-out” (OPEN, +1618/−262, Fixes #2730) implementing exactly that, motivated by the concrete bug thatmoq importagainst moxygen/imquic/moqx/Cloudflare “emits no control messages at all for the life of the process” because no third-party relay sendsSUBSCRIBE_NAMESPACE. No moq-wg PR merged — all draft-20 target PRs (#1809/#1820/#1673/#1674/#1834/#1825/#1830 + Suhas’s #1851/#1852/#1853 batch) stay OPEN, transport-19 stands, Aug-10 interim minutes still unposted. - Slack, list, datatracker all near-flat. Slack: the one new item is Tobbe’s Aug-11 11:11 CEST thread reply answering Jordi’s Aug-7 QUIC-mapping / audio-glitch question — he uses MOQ streams, one per group (not datagrams), audio groups aligned with the 1 s-GOP video groups (avg ~1 s, frame count ±1), and will investigate the glitch (“maybe some timestamp mismatch”). Mailing list: nothing new since the five Aug-10 interim-adjacent posts; weekly GitHub digest not due until ~Aug-16. Datatracker: no bumps (transport-19/loc-04/secure-objects-01/msf-01/cmsf-01/c4m-01/warp-01/catalogformat-01/privacy-pass-auth-03 stand; lcurley lite-05/hang-02/cluster-00/timestamp-01, wilaw-cmcd-event-timeline-00, liu-feedback-00, altanai-geocode-02 all stand); no new individual drafts; IETF-126 minutes one Monday doc at rev -01; no new MoQ Monthly (#2 May 31); no open wiki issues. msf/loc/secure-objects/cmsf/catalog-format/privacy-pass all quiet.
- Implementations: moqtail — biggest single relay-hardening day: Zafer Gürel merged ~11 relay conformance/correctness fixes (#348–#359: own-SETUP-params #359, namespace-announce-end #358, object-dedup+forward-state #356, track-alias-wait #354, cancelled-sub stream reset #353, true LARGEST_OBJECT #352, DUPLICATE_SUBSCRIPTION #351, forward-state+filter-to-datagrams #350, FETCH-layout wire-pin #349, subscribe-error-after-accept #348) + wtransport pin #357, while Kerem Bekmez continued moqtail-ts draft-18 (#355 +657/−94, closes 266); Zafer also opened imquic #35 (FETCH subgroup-flag parsing). moq merged a large net batch (moq-lite send-order #2737 OPEN→MERGED +679/−38, request-path/query bindings #2738 +469/−84 shermerL, waitUntilAvailable send streams #2741 +511/−42, displaced-publisher restore #2740, takeover-gate #2742, rendition-jitter #2739/#2747, py fix #2744); OPEN #2748 (above) + Happy-Eyeballs #2749 + breaking moq-native Config merge #2750 +2264/−1577 + #2746. moqx — afrind landed a local-forwarder-registry refactor (#541/#542/#544/#545/#546 MERGED); gmarzot build fix #556 MERGED; afrind /metrics-limit #561, gmarzot #539/#555, Michal Hošna auth #552/#553 OPEN. moxygen (#211/#212 OPEN), warp-player (dependabot 183 OPEN), moq-rs (v0.7.25), quiche (moqt, newest Aug-4), moq-js, Eyevinn (post-v0.13.0), Moqtopus, aiomoqt, birneee/quiche_moq,
moq-encoder-playerall quiet. - Interop: one new cut — the 2026-08-11 00:18:17 UTC cut: 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 (350/133/206/11; matrix/skip/at-target flat). Pass 127 sits near the low of the recent band (126–133, high 133 July 31 / Aug-10); twentieth straight cut on the settled 350-cell / at-target-220 matrix. Still targets draft-18. No Aug-12 cut at check time. Off-runner: no new ad-hoc reports; still no published IETF-126 interop report.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe + channel + thread read verified working): one new item — Tobbe’s Aug-11 11:11 CEST reply on his own Aug-6 caption thread (answering Jordi’s Aug-7 QUIC-mapping/audio-glitch question: MOQ streams one-per-group, audio aligned to 1 s-GOP video groups, will check the glitch). First new#moqtraffic since Aug-7; no new top-level messages. - IETF mailing list: no new messages in-window — the browse index’s newest are still the five Aug-10 interim-adjacent posts (Will Law CMCD-over-MSF, Luke Curley moq-lite drafts, Martin Duke PR #1770, Altanai B relay-diagnostics, Cullen Jennings agenda-reply — all logged). No WGLC/consensus/interop-report; next weekly GitHub digest not due until ~Aug-16.
- IETF Datatracker: no revision bumps, no new individual drafts — 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, hang-02/cluster-00/timestamp-01,draft-wilaw-moq-cmcd-event-timeline-00 (Aug-10),draft-liu-moq-feedback-00,draft-altanai-moq-relay-geocode-02 all stand. Aug-10-interim minutes still not posted (type=minutes name__contains=interim-2026-moq-21→ 0); IETF-126 minutes one doc (minutes-126-moq-202607201200, rev -01). - GitHub moq-wg: no PRs merged on any repo. moq-transport — active discussion on issue #1854 (afrind Aug-11 01:12 “single relay” framing; kixelated Aug-11 19:47/19:49 extension proposal), and a comment on issue #1845 (Yu You’s Prior-Subgroup-ID-Gap, filed Aug-6, already logged); all draft-20 target PRs OPEN. msf / loc / secure-objects / cmsf / catalog-format / privacy-pass all quiet (no PRs/issues).
- GitHub implementations: moqtail/moqtail (~11 Zafer Gürel relay fixes #348–#359 + wtransport pin #357 MERGED; Kerem Bekmez moqtail-ts #355 MERGED; no relay release, relay@0.14.1 stands), meetecho/imquic (new OPEN #35, zafergurel FETCH parsing), moq-dev/moq (net batch 2747 MERGED; OPEN #2748 announce-unasked/SETUP-opt-out, #2749 Happy-Eyeballs, #2750 breaking moq-native Config, #2746), openmoq/moqx (afrind forwarder-registry 546 + gmarzot #556 MERGED; OPEN 555 + michalhosna 553), facebookexperimental/moxygen (#211/#212 OPEN), Eyevinn/warp-player (dependabot 183 OPEN), cloudflare/moq-rs (v0.7.25) / google/quiche moqt (newest Aug-4 52cc2fef) / video-dev/moq-js / Eyevinn moqlivemock+moqtransport (post-v0.13.0) / kota-yata/Moqtopus / gmarzot/aiomoqt / birneee/quiche_moq / facebookexperimental/moq-encoder-player all quiet.
- Interop runner: NEW report 2026-08-11 00:18:17 UTC (350/127/212/11, at-target 220) — −6 pass / +6 fail vs Aug-10. No Aug-12 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moqtail (moqtail-ts #355 continuation + new Aug-11 relay conformance/hardening sprint milestone), interop-runner, discussions-2026-08, index.md
Key findings:
The window’s headline is a rare same-day loop from a WG wire-design debate to a shipped implementation. Luke Curley’s Aug-10 issue #1854 had reopened the Hackathon-era question of whether the wire must distinguish the P2P case (both PUBLISH_NAMESPACE + SUBSCRIBE_NAMESPACE) from relay-to-relay (neither). Over Aug-11, afrind pushed the “a CDN is just a single relay, its internals are out of scope” line, and Luke — rather than pressing the abstract argument — converted it into a negotiated extension: a peer signals in SETUP whether it needs explicit SUBSCRIBE_NAMESPACE, with unsolicited PUBLISH_NAMESPACE as the safe default when the extension is absent. He then implemented it the same evening in moq #2748 (Fixes t0ms’s #2730), whose PR body pins the concrete failure the debate was really about: on the IETF path moq import against every third-party relay (moxygen, imquic, moqx, Cloudflare) negotiates a version and then sends nothing, because it only advertised namespaces in response to a SUBSCRIBE_NAMESPACE no relay ever sends. Still OPEN, but it is the code side of the exact interop gap Jordi/afrind hit at Vienna.
On the implementation side the durable fact is moqtail’s biggest single relay-hardening day. Zafer Gürel landed ~11 relay conformance/correctness fixes (#348–#359) — the relay now builds its own SETUP params instead of forwarding upstream, ends namespace announcements on request-stream end, deduplicates objects, waits for track aliases, resets cancelled-subscription streams, reports the true LARGEST_OBJECT, rejects duplicate SUBSCRIBEs, applies forward-state+filter to datagrams, and pins the FETCH object layout to the wire — the operational-correctness counterpart to July’s draft-18 wire-alignment and DoS-protection sprints (the moqtail Recent Highlights got a new milestone bullet). Kerem Bekmez continued the parallel moqtail-ts draft-18 alignment (#355), and Zafer cross-pollinated the FETCH-layout work into imquic (#35). moq-dev merged a large net-hardening batch and opened a breaking moq-native client/server Config merge (#2750); afrind landed a local-forwarder-registry refactor on moqx (#541–#546).
Everything else was flat. No moq-wg PR merged (transport-19 stands); the mailing list, datatracker, MoQ Monthly, and wiki issues produced nothing new; Slack’s only movement was Tobbe’s one thread reply. The nightly runner slipped −6 to 127, near the low of the settled band (126–133) but still a twentieth straight cut on the 350-cell / at-target-220 matrix.
2026-08-11 — Aug-10 interim runs discussion-only; nothing lands toward -20
TL;DR:
- Monday’s Aug-10 virtual interim ran — and merged nothing. The Aug-10 virtual interim (interim-2026-moq-21, 1630–1800 UTC, Meetecho) walked the core-transport filter/fetch/switch PR set live, but as of the next-morning check not one PR merged toward draft-20 on any moq-wg repo: Location-Filter #1809, PUBLISH_NOTIFY #1820 (afrind on-thread: “strictly informative”), Fill-Fetch #1673, SWITCH_FROM #1674, PUBLISH-sub-params #1834, FORWARD→range-pausing #1825, and Suhas’s #1851/#1852/#1853 batch all stay OPEN; transport-19 stands, no -20 published, no minutes posted yet (agenda rev -01; slides rev -00 ×3: FETCH-pacing, chair, “MOQT PRs and Issues 8/10”). The day’s one concrete on-repo artifact is Luke Curley’s wire-design issue #1854 “to PUBLISH_NAMESPACE or to not PUBLISH_NAMESPACE” (P2P-both vs S2S-neither signaling gap; afrind pushed back on the framing; t0ms filed matching moq-dev impl-side #2730); Cullen Jennings added an Aug-10 comment on range-filter-OR issue #1801.
- Mailing list: five interim-adjacent Aug-10 messages, two new individual drafts. Will Law’s “CMCD over MSF Event Timeline” announces
draft-wilaw-moq-cmcd-event-timeline-00(submitted Aug-10 16:06 UTC; CMCD carriage +cmcdConfigcatalog syntax over MSF Event Timeline tracks,eventType urn:cta:cmcd:2026), and Luke Curley’s “moq-lite drafts” orientation post frames the moq-lite family (subset, no sub-groups) + IETF extensions moq-cluster/moq-timestamp and two lcurley drafts the wiki hadn’t tracked —draft-lcurley-qmux-websocket-00(Aug-4) anddraft-lcurley-moq-probe-00(Mar-17) — with the candid caveat “Claude wrote these … I can’t promise they work.” Plus Martin Duke on PUBLISHER_PRIORITY PR #1770, Altanai B on relay-diagnostics/#1692, and Cullen Jennings replying to the agenda. Datatracker: no WG-doc bumps (transport-19/loc-04/secure-objects-01/msf-01/cmsf-01/c4m-01/warp-01/catalogformat-01/privacy-pass-auth-03 stand; lcurley lite-05/hang-02/cluster-00/timestamp-01 and liu-feedback-00/altanai-geocode-02 stand). Slack quiet (newest still Tobbe’s Aug-6 caption post + Jordi’s Aug-7 reply); IETF-126 minutes one Monday doc at rev -01; no new MoQ Monthly (#2 May 31); no open wiki issues. - Implementations: moqtail — the TypeScript library began its draft-18 alignment (Kerem Bekmez,
libs/moqtail-ts): SETUP collapse #334 (OPEN→MERGED, +506/−434) + control-stream rework #335 (+191/−70) + request-types-on-bidi #336 (+718/−124), the TS counterpart of July’s RS-side 297 (+dependabot 337). moq: MERGED moq-hang docs #2732, prior-window net fixes #2720 (invert stream priority, OPEN→MERGED +232/−26) + #2721, iOS-sim #2710; new OPEN breaking poll-based-transport refactor #2736 (+2049/−671) + group-stream send-order #2737 + release-repair #2731; new issues 2733 (kixelated hang-stats tracks) + 2729 (t0ms). moqx: afrind MERGED per-track /metrics endpoint #533 (+2510/−22) + MoQT-safe names #532; gmarzot 556 OPEN; correction: auth-token PRs 553 are Michal Hošna’s, not afrind’s. moxygen 211 OPEN; warp-player dependabot 183 OPEN. moq-rs (v0.7.25), quiche (moqt, newest Aug-4), moq-js, imquic (#34 OPEN), Eyevinn (post-v0.13.0), Moqtopus, aiomoqt, birneee/quiche_moq,moq-encoder-playerall quiet. - Interop: one new cut — the 2026-08-10 00:19:31 UTC cut: 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 (350/131/208/11; matrix/skip/at-target flat), taken the morning of the interim. Pass 133 ties the 350-cell-matrix pass high first set July 31 (band 126–133); nineteenth straight cut on the settled 350-cell / at-target-220 matrix. Still targets draft-18. No Aug-11 cut at check time. Off-runner: no new ad-hoc reports; still no published IETF-126 interop report.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe + channel read verified working): no new traffic — newest channel message is still Tobbe’s Aug-6 17:45 CEST caption-announcement post and its single Aug-7 thread reply (Jordi Cenzano’s QUIC-mapping / audio-glitch observation), both already logged. No Aug-10/Aug-11#moqmessages — the interim discussion was on the call/GitHub, not Slack. - IETF mailing list: five genuinely new Aug-10 messages (all raw-verified 200 via
/arch/msg/moq/<id>/; fabricated-ID control 404): Will Law “CMCD over MSF Event Timeline” (4uO8eAU94XYT_pMGOK5es_eFmaU, announcesdraft-wilaw-moq-cmcd-event-timeline-00), Luke Curley “moq-lite drafts” (Li11uNvA60GsYWjiqIsjG2PWBdE), Martin Duke “PR #1770 - changes to PUBLISHER_PRIORITY” (gqei2X0Z9pmxOjirJwYYdILVba8), Altanai B “Re: MoQT relay diagnostics follow-up from IETF 126 / issue #1692” (31tIZtF37T00iiBdTFtufuBDyQA), Cullen Fluffy Jennings “Re: Draft Agenda for 8/10 moq interim” (IL4wLRsLhUG2IG9kurBHsf9rfWw). No interim minutes on the list, no WGLC/consensus/interop-report; next weekly GitHub digest not due until ~Aug-16. - IETF Datatracker: no WG-document 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; hang-02/cluster-00/timestamp-01 stand;draft-liu-moq-feedback-00;draft-altanai-moq-relay-geocode-02 stands. One new individual draft:draft-wilaw-moq-cmcd-event-timeline-00“CMCD transmission over MSF Event Timeline” (Aug-10 16:06 UTC, Will Law). Catch-up first-looks surfaced by Luke’s post:draft-lcurley-qmux-websocket-00(Aug-4 02:09 UTC) anddraft-lcurley-moq-probe-00(Mar-17, older) — both individual, not adopted. Aug-10-interim materials:agenda-interim-2026-moq-21-moq-01rev -01, three slide decks rev -00 (FETCH-pacing, chair, “MOQT PRs and Issues 8/10”), no minutes doc yet (type=minutes name__contains=interim-2026-moq-21→ count 0). IETF-126 minutes still one doc (minutes-126-moq-202607201200, rev -01). - GitHub moq-wg: no PRs merged on any repo. moq-transport — new issue #1854 (Luke Curley, PUBLISH_NAMESPACE-vs-relay signaling) + new comment on #1801 (Cullen Jennings, range-filter OR); all draft-20 target PRs (#1809/#1820/#1673/#1674/#1834/#1825/#1851/#1852/#1853/#1844/#1770) OPEN. msf / loc / secure-objects / cmsf / catalog-format / privacy-pass all quiet (no PRs/issues).
- GitHub implementations: moqtail/moqtail (MERGED #334 SETUP-collapse OPEN→MERGED / #335 control-streams / #336 request-types-on-bidi, all Kerem Bekmez in
libs/moqtail-ts; +dependabot 337; no new relay release, relay@0.14.1 stands), moq-dev/moq (MERGED 2710; OPEN #2736 breaking net refactor / #2737 / #2731 + prior-window 2725–#2728; new issues 2729), openmoq/moqx (afrind MERGED #533 per-track /metrics + #532 safe-names; gmarzot 556 OPEN; snapshot-latest build; 553 authored by michalhosna, not afrind — correcting prior entries), facebookexperimental/moxygen (#212/#211 OPEN), Eyevinn/warp-player (dependabot 183 OPEN), cloudflare/moq-rs (v0.7.25) / google/quiche moqt (newest commit Aug-4 52cc2fef) / video-dev/moq-js / meetecho/imquic (#34 OPEN) / Eyevinn moqlivemock+moqtransport (post-v0.13.0) / kota-yata/Moqtopus / gmarzot/aiomoqt / birneee/quiche_moq / facebookexperimental/moq-encoder-player all quiet. - Interop runner: NEW report 2026-08-10 00:19:31 UTC (350/133/206/11, at-target 220) — +2 pass / −2 fail vs Aug-9, tying the 350-cell high. No Aug-11 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moqtail (moqtail-ts draft-18 alignment: SETUP collapse #334 + control-streams #335 + request-types-on-bidi #336), interop-runner, discussions-2026-08, index.md
Key findings:
The window’s headline is a negative that is itself the story: the Aug-10 virtual interim ran but landed nothing toward draft-20. The session (interim-2026-moq-21, 1630–1800 UTC Monday) was the meeting the Aug-5 agenda built toward, naming -20 as the target for the Location-Filter/PUBLISH_NOTIFY/Fill-Fetch/SWITCH_FROM PR set. As of the next-morning check every one of those PRs — and Suhas’s clarification batch — remains OPEN, transport-19 stands, no -20 is published, and no minutes doc exists yet. So the interim was a discussion-only session: the filter/fetch/switch cleanup was walked live (three slide decks stand: Will Law’s FETCH-pacing, the chair slides, and a “MOQT PRs and Issues 8/10” walkthrough), but the merges that reshape -20 will come in a later window. The one concrete on-repo output is Luke Curley’s new issue #1854, reopening the Hackathon-era question of whether the wire must distinguish P2P (PUBLISH_NAMESPACE + SUBSCRIBE_NAMESPACE) from relay-to-relay (neither) so generic CDNs aren’t left guessing app intent — with afrind pushing back and t0ms filing a matching moq-dev impl-side bug (#2730).
The list carried two genuinely new drafts on interim day. Will Law posted draft-wilaw-moq-cmcd-event-timeline-00, specifying how an MSF catalog instructs a publisher to publish configurable CMCD telemetry over MSF Event Timeline tracks — turning the generic Event Timeline mechanism into a concrete player→CDN data-carriage vehicle and extending his running MSF-timeline design work. Luke Curley’s companion “moq-lite drafts” post is an orientation on the whole moq-lite family (his wire-serialized API subset) plus its IETF extensions, and surfaced two lcurley individual drafts the wiki had not tracked — qmux-websocket-00 (browser TCP, Aug-4) and moq-probe-00 (bitrate probing via padding, Mar-17) — with the candid note that Claude wrote the extension drafts and he can’t promise they work.
On the implementation side the notable durable fact is moqtail’s TypeScript library starting its own draft-18 alignment. After July’s sprint aligned moqtail-rs, Kerem Bekmez landed the first moqtail-ts draft-18 batch Aug-10 — SETUP collapse (#334), control-stream rework (#335), and request-types-on-their-own-bidi-stream (#336) — the TS counterpart of the RS-side work, drawing down the ~20-issue moqtail-ts API-break backlog (the moqtail page’s Recent Highlights was updated). moq-dev merged minor net fixes and opened a large breaking poll-based-transport refactor (#2736); afrind merged a per-track /metrics/track endpoint on moqx (#533). A record correction: moqx’s auth-token PRs 553 were authored by Michal Hošna, not afrind (the Aug-7/8 entries said afrind). The nightly runner ticked +2 to 133, tying its 350-cell pass high, a nineteenth straight cut with at-target holding 220.
2026-08-10 — overdue weekly GitHub digest posts; agenda PRs rebase pre-interim
TL;DR:
- The small hours of interim day: a quiet window whose one list-hygiene fact is that the overdue weekly GitHub digest finally posted. With the Aug-10 (Monday) virtual interim (interim-2026-moq-21, 1630–1800 UTC) not yet run at check time (00:00–01:00 UTC), the window’s only genuinely new mailing-list item is the Weekly github digest (Media Over QUIC Activity Summary) — posted Sun Aug-9 08:09 UTC (mnot.net bot; raw-verified 200, DKIM
d=mnot.net; fabricated-ID control 404), a routine recap ending the ~week-long gap (last was Aug-2). No merges on any moq-wg repo; on moq-transport the core-transport agenda PRs got pre-interim rebases/updates — Suhas’s #1825 “Replace FORWARD parameter with Range Filter-based pausing” (the PR behind “Needs Discussion” issue #1352, updated Aug-9 16:03), Ian Swett’s #1834 “PUBLISH can contain Subscription Parameters” (agenda review PR, Aug-9 18:50), and Suhas’s Range-Filters readability #1851 (Aug-9 18:49) — all still OPEN, all wire-neutral, all toward draft-20; no new issues. Datatracker: no bumps (transport-19/loc-04/secure-objects-01/msf-01/cmsf-01/c4m-01/warp-01/catalogformat-01 stand; lcurley lite-05/hang-02/cluster-00/timestamp-01 and liu-feedback-00 stand); the Aug-10-interim materials are unchanged since Aug-7 (agenda rev 01, chair slides rev 00, FETCH-pacing slides rev 00 Aug-6); IETF-126 minutes still one Monday doc at rev -01; no new MoQ Monthly (#2 May 31); Slack quiet (newest still Tobbe’s Aug-6 caption post + Jordi’s Aug-7 reply, both logged); no open wiki issues. msf/loc/secure-objects/cmsf/catalog-format/privacy-pass all quiet. - Implementations: moq quiet — one prior-window OPEN→MERGED net fix, “tolerate incoming streams that die before their first byte” (#2721 +224/−4, mmcc, Aug-9 01:07 UTC), plus a routine dependabot batch (#2725/#2726/#2727/#2728, all OPEN); prior-window OPEN moq-net v0.2.11 release #2724, invert-stream-priority #2720, iOS-sim #2710, version-help #2719, and the big DON’T-MERGE route-replace refactor #2723 all still OPEN. moxygen: new OPEN #212 (Giovanni Marzot, root every layer’s XLOG category so per-layer
--loggingselectors work, +146/−0); #211 still OPEN. moqx auth-token PRs #552/#553 still OPEN (#552 rebased Aug-9). moq-rs (v0.7.25), quiche (moqt, newest commit Aug-4), moq-js, moqtail (#334 OPEN), imquic (#34 OPEN), Eyevinn (post-v0.13.0), Moqtopus, aiomoqt, birneee/quiche_moq,moq-encoder-playerall quiet. - Interop: one new cut — the 2026-08-09 00:18:24 UTC cut: 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 (350/132/207/11; matrix/skip/at-target flat). Eighteenth straight cut on the settled 350-cell / at-target-220 matrix; pass 131 stays inside the recent band (126–133, high 133 July 31). Still targets draft-18. No Aug-10 cut at check time (early UTC Monday). Off-runner: no new ad-hoc reports; still no published IETF-126 interop report.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe + channel read verified working): no new traffic — newest channel message is still Tobbe’s Aug-6 17:45 CEST caption-announcement post and its single Aug-7 thread reply (Jordi Cenzano’s QUIC-mapping / audio-glitch observation), both already logged. No Aug-9/Aug-10#moqmessages. - IETF mailing list: one genuinely new message — the Weekly github digest (Media Over QUIC Activity Summary) (
P-k0pIJwwdygNySE4W789_A5j14, Sun Aug-9 08:09 UTC = 01:09 PDT; raw-verified 200 + DKIMd=mnot.net; fabricated-ID control 404). This is the overdue weekly recap (last posted Aug-2), and its content is a routine GitHub activity summary of items already tracked. All other list messages are Aug-5-or-earlier (afrind’s Aug-10 agenda, the ITU-T SG21 liaison, Jordi’s LOCv4 post — all logged). No WGLC, no consensus call, no interop-report post. - IETF Datatracker: no revision bumps, no new individual drafts — transport-19, loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01 all stand;
draft-lcurley-moq-lite-05; hang-02/cluster-00/timestamp-01 stand;draft-liu-moq-feedback-00;draft-altanai-moq-relay-geocode-02 stands. Aug-10-interim materials unchanged since Aug-7 (agenda-interim-2026-moq-21-moq-01rev 01,slides-...-chair-slidesrev 00,slides-...-fetch-pacing-for-moqtrev 00 Aug-6). Minutes still one doc (minutes-126-moq-202607201200, rev -01). - GitHub moq-wg: no PRs merged on any repo. moq-transport — no new issues; the core-transport agenda PRs updated/rebased Aug-9: #1825 (Suhas, replace FORWARD with Range-Filter pausing, +171/−167, updated 16:03), #1834 (Ian Swett, PUBLISH subscription params, +18/−10, updated 18:50), #1851 (Suhas, Range-Filters readability, updated 18:49), #1853 (Suhas, IANA rename, updated 00:11) — all OPEN. 1833 and the rest of the interim set still OPEN. msf / loc / secure-objects / cmsf / catalog-format / privacy-pass all quiet (no new PRs/issues).
- GitHub implementations: moq-dev/moq (MERGED in-window #2721 net-stream-death fix; OPEN dependabot 2728 + prior-window OPEN 2710; no new issues), facebookexperimental/moxygen (new OPEN #212 gmarzot XLOG per-layer logging; #211 OPEN), openmoq/moqx (#552 rebased Aug-9 21:55, #553 OPEN), cloudflare/moq-rs (v0.7.25 stands) / google/quiche moqt (newest commit Aug-4 52cc2fef) / video-dev/moq-js / moqtail/moqtail (#334 OPEN) / meetecho/imquic (#34 OPEN) / Eyevinn moqlivemock+warp-player+moqtransport (post-v0.13.0) / kota-yata/Moqtopus / gmarzot/aiomoqt / birneee/quiche_moq / facebookexperimental/moq-encoder-player all quiet.
- Interop runner: NEW report 2026-08-09 00:18:24 UTC (350/131/208/11, at-target 220) — −1 pass / +1 fail vs Aug-8. No Aug-10 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: interop-runner, discussions-2026-08, index.md
Key findings:
The window’s only genuinely new source item is a piece of list hygiene: the overdue weekly GitHub digest finally posted. The moq@ietf.org Weekly github digest had been missing since Aug-2 (expected ~Aug-9), and the wiki flagged the gap in the Aug-8 and Aug-9 entries; it landed Sun Aug-9 08:09 UTC (mnot.net bot). Its content is the routine auto-generated recap of the week’s GitHub activity — all items the wiki already tracks — so it carries no new durable fact, but it closes the “digest overdue” watch. No WGLC, consensus call, or interop report accompanied it.
The WG stayed in interim-prep mode — no merges, but the core-transport agenda PRs got their pre-meeting rebases. On the eve of Monday’s Aug-10 virtual interim (which had not yet run at check time), the transport PRs the agenda targets for draft-20 were touched: Suhas’s #1825 (the concrete PR behind the “Needs Discussion” issue #1352 — “SUBSCRIBE does not need a forward parameter if we have filters”), Ian Swett’s #1834 (“reflects Vienna discussions”), and Suhas’s Range-Filters readability #1851. All remain OPEN and wire-neutral; transport-19 stands. The interim outcomes (which of the filter/fetch/switch PRs land toward -20) will surface in the next update. No draft revision bumped and no new list threads accompanied the prep.
The implementations had their quietest window in weeks. moq-dev/moq merged just one net-layer fix (#2721, tolerate incoming streams that die before their first byte — OPEN in the Aug-9 log) and otherwise took a routine dependabot batch, with its release/refactor/net-fix PRs all still in flight. The one fresh item elsewhere was a moxygen tooling PR from Giovanni Marzot (#212, rooting each layer’s XLOG category so per-layer --logging selectors work) — the aiomoqt author now contributing diagnostics to Meta’s relay. The nightly runner ticked −1 to 131, an eighteenth straight cut on the settled 350-cell matrix with at-target holding 220.
2026-08-09 — transport clarification PRs on eve of Aug-10 interim
TL;DR:
- A quiet, pre-interim Sunday, the day before Monday’s Aug-10 virtual interim. The only substantive WG-repo activity was Suhas Nandakumar opening a three-PR moq-transport clarification batch, all OPEN, all wire-neutral, and each closing a “Path-to-WGLC” cleanup issue the interim agenda tracks toward draft-20: #1851 “Clarify Range Filters section for readability” (+59/−25, fixes #1810 “filters hard to process”), #1852 “Restrict GOAWAY on request streams to the data sender” (+19/−7, fixes #1655), and #1853 “Rename application-specific to private use in IANA registry ranges” (+8/−8, fixes #1828). No merges; transport-19 stands. Datatracker: no bumps (transport-19/loc-04/secure-objects-01/msf-01/cmsf-01/c4m-01/warp-01/catalogformat-01/privacy-pass-auth-03 stand; lcurley lite-05/hang-02/cluster-00/timestamp-01 and liu-feedback-00 stand). Mailing list quiet (newest still Aug-5; weekly GitHub digest still not posted — last Aug-2, due ~Aug 9); Slack quiet (newest still Tobbe’s Aug-6 caption post + Jordi’s Aug-7 reply, both logged); IETF-126 minutes still one Monday doc at rev -01; no new MoQ Monthly (#2 May 31); no open wiki issues. msf/loc/secure-objects/cmsf/catalog-format/privacy-pass all quiet.
- Implementations: moq quiet — two prior-window OPEN→MERGED minors (multi-track-failover net test #2713 +193/−0, “docs: welcome AI contributions” #2722) + a new OPEN moq-net v0.2.11 release PR #2724; prior-window net fixes #2720/#2721/#2719 and the big DON’T-MERGE route-replace refactor #2723 still OPEN. moqx (afrind) auth-token PRs #552/#553 still OPEN. moq-rs (v0.7.25), quiche (moqt, newest commit Aug-4), moq-js, moqtail, moxygen (#211 OPEN), imquic, Eyevinn (post-v0.13.0), Moqtopus, aiomoqt, birneee/quiche_moq,
moq-encoder-playerall quiet. - Interop: one new cut — the 2026-08-08 00:18:10 UTC cut: 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/at-target flat). Seventeenth straight cut on the settled 350-cell / at-target-220 matrix; pass 132 stays inside the recent band (126–133, high 133 July 31). Still targets draft-18. No Aug-9 cut at check time. Off-runner: no new ad-hoc reports; still no published IETF-126 interop report.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe + channel read verified working): no new traffic — newest channel message is still Tobbe’s Aug-6 17:45 CEST caption-announcement post, and its single thread reply (Jordi Cenzano’s Aug-7 21:02 CEST QUIC-mapping / audio-glitch observation) was already logged in the Aug-8 entry. No Aug-8/Aug-9#moqmessages. - IETF mailing list: no new messages in-window — the browse index’s newest message is still Aug-5 (afrind’s Aug-10 agenda, the ITU-T SG21 liaison, Jordi’s LOCv4 post — all logged). The weekly GitHub Repository Activity Summary digest had still not posted (last Aug-2, next expected ~Aug 9). No WGLC or interop-report post.
- IETF Datatracker: no revision bumps, no new individual drafts — 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; hang-02/cluster-00/timestamp-01 stand;draft-liu-moq-feedback-00. Aug-10-interim materials unchanged since Aug-7 (agenda rev 01, chair slides rev 00). Minutes still one doc (minutes-126-moq-202607201200, rev -01). - GitHub moq-wg: moq-transport 3 new OPEN PRs — #1851 (suhasHere/Suhas, Range-Filters readability, +59/−25, fixes #1810), #1852 (Suhas, GOAWAY-on-request-streams, +19/−7, fixes #1655), #1853 (Suhas, IANA “application-specific”→“private use” rename, +8/−8, fixes #1828). No PRs merged; the Aug-7 editorial merges #1846–#1849 already logged. #1844 (first-byte-of-zero-payload-object) still OPEN. msf / loc / secure-objects / cmsf / catalog-format / privacy-pass all quiet (no new PRs/issues).
- GitHub implementations: moq-dev/moq (MERGED in-window #2713 net multi-track-failover test / #2722 docs-welcome-AI — both OPEN at last check; OPEN #2724 moq-net v0.2.11 release, #2723 DON’T-MERGE route-replace refactor +538/−6073, 2710 net/native fixes; no new issues), openmoq/moqx (afrind 553 auth still OPEN, #545 forwarder-wait OPEN), cloudflare/moq-rs (v0.7.25 stands) / google/quiche moqt (newest commit Aug-4 52cc2fef) / video-dev/moq-js / moqtail/moqtail / facebookexperimental/moxygen (#211 OPEN) / meetecho/imquic / Eyevinn moqlivemock+warp-player+moqtransport (post-v0.13.0) / kota-yata/Moqtopus / gmarzot/aiomoqt / birneee/quiche_moq / facebookexperimental/moq-encoder-player all quiet.
- Interop runner: NEW report 2026-08-08 00:18:10 UTC (350/132/207/11, at-target 220) — byte-for-byte identical to Aug-7. No Aug-9 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: interop-runner, discussions-2026-08, index.md
Key findings: The window’s clearest durable fact is a three-PR clarification batch Suhas Nandakumar opened on moq-transport the day before the Aug-10 interim — all wire-neutral, all closing “Path-to-WGLC” cleanup issues. #1851 rewrites the Range Filters section for readability (fixing #1810 “New section on filters hard to process”, the tail of Mo Zanaty’s filter redesign), #1852 tightens who may send GOAWAY on a request stream to the data sender (fixing #1655), and #1853 renames the ambiguous “application-specific” IANA registry range to “private use” (fixing #1828, one of the July-25 IANA/naming issues). None touch the wire, so transport-19 stands and no draft/entity page needed a change; but the batch is the code-editing counterpart to the interim agenda’s core-transport filter/fetch/switch/IANA cleanup toward draft-20, and worth watching for whether they land at or just after Monday’s session. Everything else was flat. No moq-wg PR merged; the mailing list produced nothing new (newest still Aug-5, the overdue weekly GitHub digest still unposted); Slack stayed quiet (no new messages since the Aug-6/Aug-7 caption thread); no draft revision bumped; no new MoQ Monthly; no open wiki issues. moq-dev/moq had its quietest day in weeks — only a net failover test and a docs PR merged (both previously OPEN) plus a routine moq-net v0.2.11 release PR, with its net-layer fixes and a large DON’T-MERGE route-replace refactor still in flight. The nightly runner produced a byte-for-byte-identical Aug-8 cut (350/132/207/11, at-target 220) — a seventeenth straight cut on the settled matrix, pass holding 132.
2026-08-08 — moq play lands; moqx auth-token front; Aug-10 interim preps
TL;DR:
- Another implementation-carried window; the WG side sits in Aug-10-interim-prep mode. moq landed its
moq playCLI player (#2697 OPEN→MERGED, +2190/−128) — the prior window’s headline OPEN PR — plus stateful per-frame fMP4 fragmenting (#2680 +1408/−264), exposed JS subscription options (#2716), and a relay v0.14.9 / libmoq v0.5.6 release train (#2703); afrind opened a coherent auth-token front on moqx — multipleAUTHORIZATION_TOKENper 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 (#1838/#1843). Datatracker: no draft bumps, but the Aug-10 virtual-interim materials went live (agenda → rev 01, chair slides posted rev 00, Aug 7 ~22:08 UTC). Slack’s only new traffic was Jordi Cenzano’s reply on Tobbe’s Aug-6 caption post — a cross-continent interop observation: frequent small audio glitches testing from the USA, plus a question about the stack’s QUIC mapping. - On the WG repo: four tiny editorial moq-transport PRs merged (Aug 7 ~05:18–05:20 UTC): #1846 “Too much partying” + #1847
INCLUDE_PROPERTIESin the Message Params IANA table (both OPEN→MERGED), #1848AUIDO_CONFIG→AUDIO_CONFIGtypo, #1849 one-byte wording — no wire change, transport-19 stands — and Will Law filed issue #1850 proposing Track/Object properties to signal payload compression. Datatracker no bumps (transport-19/loc-04/secure-objects-01/msf-01/cmsf-01/c4m-01/warp-01/catalogformat-01/privacy-pass-auth-03 stand; lcurley lite-05/hang-02/cluster-00/timestamp-01 and liu-feedback-00 stand). Mailing list quiet (newest still Aug-5; weekly GitHub digest due ~Aug 9, not yet posted); IETF-126 minutes still one Monday doc at rev -01; no new MoQ Monthly (#2 May 31); no open wiki issues. msf/loc/secure-objects/cmsf/catalog-format/privacy-pass all quiet. Catch-up first-look: individual draftdraft-altanai-moq-relay-geocode-02“Geographic Location for Media over QUIC Relays” (Aug-4, not adopted/not discussed). - Implementations: moq
moq playMERGED (#2697) + per-frame fMP4 fragmenting (#2680) + JS subscription options (#2716) + keep-UNKNOWN-publishers-across-relay-loops (#2718); relay v0.14.9 / libmoq v0.5.6 / cli v0.9.9 train (#2703, tags pending); OPEN net fixes #2720 (invert stream priority) / #2721 (streams dying before first byte) / #2719; new issue #2714. moqx (afrind) auth front OPEN #552/#553 + issue #551; sync #550 MERGED. moq-rs (v0.7.25), quiche (moqt), moq-js, moqtail, moxygen (#211 OPEN), imquic, Eyevinn (post-v0.13.0), Moqtopus, aiomoqt, birneee/quiche_moq,moq-encoder-playerall quiet. - Interop: one new cut — the 2026-08-07 01:14:34 UTC cut: 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 (350/129/210/11; matrix/skip/at-target flat). Sixteenth straight cut on the settled 350-cell / at-target-220 matrix; pass 132 stays inside the recent band (126–133, high 133 July 31). Still targets draft-18. No Aug-8 cut at check time. Off-runner: no new ad-hoc reports; still no published IETF-126 interop report.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe + channel + thread read verified working): one new item — a thread reply on Tobbe’s Aug-6 caption-announcement post: Jordi Cenzano (Aug-7 21:02 CEST) praised the stack as “a very complete implementation”, asked its QUIC mapping (“GOP = QUICStream, audio = Datagram?”), and reported frequent small audio glitches testing from the USA (no answer at check time). Newest top-level channel message is still Tobbe’s Aug-6 17:45 CEST post (already logged). - IETF mailing list: no new messages in-window — the browse index’s newest message is still Aug-5 (afrind’s Aug-10 agenda, the ITU-T SG21 liaison, Jordi’s LOCv4 post — all logged; three Aug-5 permalinks raw-verified 200, fabricated-ID control 404). The weekly GitHub Repository Activity Summary digest had not yet posted (last Aug-2; next expected ~Aug 9). No WGLC or interop-report post.
- IETF Datatracker: no revision bumps, no new individual drafts (WG group query +
lcurley-moq/liu-moqqueries) — 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; hang-02/cluster-00/timestamp-01 stand;draft-liu-moq-feedback-00. In-window Datatracker activity = Aug-10-interim materials (posted Aug-7 ~22:08 UTC):agenda-interim-2026-moq-21-moq-01→ rev 01,slides-interim-2026-moq-21-sessa-chair-slides→ rev 00 (Will Law’s FETCH-pacing slides were Aug-6, pre-window). Catch-up:draft-altanai-moq-relay-geocode-02(individual, submitted Aug-4 22:56 UTC, not adopted/discussed) noted as a first-look. Minutes still one doc (minutes-126-moq-202607201200, rev -01). - GitHub moq-wg: moq-transport 4 editorial PRs MERGED #1846/#1847/#1848/#1849 (Aug 7 ~05:18–05:20 UTC; 1847 were OPEN at last check) + new issue #1850 (Will Law, payload-compression properties). msf / loc / secure-objects / cmsf / catalog-format / privacy-pass all quiet (no PRs, no issues).
- GitHub implementations: moq-dev/moq (MERGED Aug 7–8 #2697
moq play/ #2680 per-frame fMP4 / #2716 / #2718 / #2717 / #2715 / #2712 / #2703 release-plz + bots; OPEN 2722; issue #2714; release train relay v0.14.9 / libmoq v0.5.6 / cli v0.9.9 / ffi v0.3.9 / net v0.2.10 / mux v0.9.5 via #2703, git tags pending), openmoq/moqx (afrind OPEN #552 multi-AUTHORIZATION_TOKEN + #553 anonymous-claim/token-cap; issue #551 CAT4MOQ-draft-01; #550 moxygen-sync MERGED; snapshot-latest build), cloudflare/moq-rs (v0.7.25 stands) / video-dev/moq-js / google/quiche moqt (newest commit Aug-4) / moqtail/moqtail / Eyevinn moqlivemock+warp-player+moqtransport (post-v0.13.0) / facebookexperimental/moxygen (#211 OPEN) / meetecho/imquic / kota-yata/Moqtopus / gmarzot/aiomoqt / birneee/quiche_moq / facebookexperimental/moq-encoder-player all quiet. - Interop runner: NEW report 2026-08-07 01:14:34 UTC (350/132/207/11, at-target 220) — +3 pass / −3 fail vs Aug-6. No Aug-8 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-dev (moq play OPEN→MERGED + per-frame fMP4 + v0.14.9 train), interop-runner, discussions-2026-08, index.md
Key findings:
The window’s clearest durable fact is that moq-dev landed the moq play CLI player it opened the day before. #2697 “feat(cli): add moq play” merged (+2190/−128), so moq-cli — previously publish/serve/token-oriented — now has a first-class native playback verb, with the Windows-gate compile fix (#2712) merged alongside. It landed with stateful per-frame fMP4 fragmenting (#2680, +1408/−264, the muxing layer can now emit one fMP4 fragment per frame), exposed JavaScript subscription options (#2716), and a net-layer fix keeping UNKNOWN publishers announced across relay loops (#2718) — cut as a moq-relay v0.14.9 / libmoq v0.5.6 / moq-cli v0.9.9 release train (release-plz #2703, git tags not yet visible at check time). This is the same prototype-then-ship cadence the wiki has tracked all month.
The window’s second thread is an authorization-token front opening on moqx — the code side of the transport auth-token discussions. afrind opened #552 “support multiple AUTHORIZATION_TOKEN in single message” (directly implementing the semantics of Michal Hošna’s transport issue #1838) and #553 “add anonymous_claim grants and per-message token cap”, alongside a new issue #551 tracking the CAT4MOQ (Common Access Token for MoQ) draft-01 revision (filed by Michal Hošna) — the token format behind Flynn’s transport issue #1843. Both PRs are OPEN, so the moqx entity page is untouched; but together they turn the recent transport auth-token-semantics threads (#1838 multiple-token semantics, #1843 CAT-token renewal) into running relay code.
The WG stayed in Aug-10-interim-prep mode with no substantive drafts or list traffic. No draft revision bumped and the mailing list produced nothing new — the only Datatracker movement was the Aug-10 virtual interim’s own materials going live on Aug 7 (agenda bumped to rev 01; chair slides posted; Will Law’s FETCH-pacing slides had landed Aug 6). On the transport repo the only merges were four one-line editorial PRs (a typo, a wording tweak, an IANA-table addition, and a joke-titled deletion), transport-19 standing, and Will Law’s new issue #1850 proposing Track/Object properties to signal payload compression — a fresh entry in the running properties-semantics front. The nightly runner ticked +3 to 132, a sixteenth straight cut on the settled 350-cell matrix with at-target holding 220. Slack surfaced one concrete real-world data point: Jordi Cenzano, testing the freshly-released captioned Eyevinn stack from the USA, hears frequent small audio glitches and asked how the stack maps video/audio onto QUIC — the recurring audio-over-datagram question resurfacing against a live deployment.
2026-08-07 — Eyevinn v0.13.0 caption wave; ITU-T cloud-VR liaison
TL;DR:
- An implementation-milestone window bracketed by an external-body signal. (1) The Eyevinn stack cut a coordinated v0.13.0 release wave — moqlivemock v0.13.0 + warp-player v0.13.0 + moqtransport v0.10.0 (all Aug 6) — consolidating AV1 video + CTA-608 captions across all three video codecs on both the WebCodecs and MSE/EME paths, a selectable
-cc608mode(paint-on default / pop-on / roll-up, #125), ago-608v0.9.0 bump (#124), and deterministic catalog codec ordering (#126); Tobbe announced it on Slack#moq(Aug 6 17:45 CEST, breaking the channel’s quiet) with the one caveat that warp-player renders AVC/HEVC captions but not yet AV1 (common-media-library gap) — the stack is still on draft-14 & draft-16, with a draft-18 update planned next. (2) A new incoming liaison statement from ITU-T SG21 (Q9/21) hit the WG list (Aug 5, raw-verified): new work item H.CVR-MP “Functional requirements for cloud virtual reality systems supporting multi-path transmission,” asking MOQ + QUIC to share any relevant work (informational, no deadline) — the first ITU-T liaison on a MoQ-adjacent transport work item the wiki has tracked. - On the WG repos: no merges, but two design fronts. Will Law opened a four-issue MSF media-timeline review (msf #202/#203/#204/#205: default track from an altGroup, timeline-depends-on-renderGroup, dynamic track lifecycle, DVR-with-MSF), and Yu You filed moq-transport issue #1845 proposing a “Prior Subgroup ID Gap” so subscribers can tell range-filter omissions from congestion loss; sharmafb added editorial PRs #1847/#1846 (both OPEN). Datatracker: no bumps (transport-19/loc-04/secure-objects-01/msf-01/cmsf-01/c4m-01/warp-01/catalogformat-01/privacy-pass-auth-03 stand; lcurley hang-02/cluster-00/timestamp-01/lite-05 and liu-feedback-00 stand); no new MoQ Monthly (#2 May 31); no open wiki issues.
- Implementations: moq added a new
moq playCLI playback client (OPEN #2697 +2009/−124 + Windows #2712), a moq-mux fMP4 refactor (#2692/#2693), and a net-layer correctness sweep (linger removal #2704 +203/−652, dead-source-verdict fix #2701, moq-native Server split #2700) — cut as relay v0.14.8 / libmoq v0.5.5 / obs-moq v0.5.5; big OPEN Origins single-connection rework #2705 (+3166/−450). moqtail OPEN #334 (collapse CLIENT/SERVER_SETUP into SETUP). moqx (afrind) OPEN #549 rendezvous-timeout + sync #548. imquic minor macOS socklen fix #34.moq-encoder-playerpost-LOC low-latency-CC tweak. moq-rs (v0.7.25), quiche (moqt), moq-js, moxygen (#211 OPEN), Moqtopus, aiomoqt, birneee/quiche_moq quiet. loc/secure-objects/cmsf/catalog-format/privacy-pass merged nothing. - Interop: one new cut — the 2026-08-06 00:29:02 UTC cut: 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 (350/130/209/11; matrix/skip/at-target flat). Fifteenth straight cut on the settled 350-cell / at-target-220 matrix; pass 129 stays inside the recent band (126–133, high 133 July 31). Still targets draft-18. No Aug-7 cut at check time. Off-runner: no new ad-hoc reports; still no published IETF-126 interop report.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe + channel + thread read verified working): NEW traffic — Tobbe’s Aug-6 17:45 CEST post announcing the MSF/CMSF source now serving AV1 + AVC + HEVC each with embedded CTA-608, PAINT-ON mode (two bytes/frame), on both WebCodecs and MSE/EME; player renders AVC/HEVC captions but not AV1 (common-media-library gap); still draft-14 & 16, draft-18 “relatively soon”; links at moqlivemock.demo.osaas.io. Also one new thread reply on Jordi Cenzano’s Aug-5 encoder-player post (Miniero, Aug-6 12:59 CEST, “on holiday, will test when back”). Breaks the channel’s quiet. - IETF mailing list: one genuinely new message — the ITU-T SG21 (Q9/21) liaison statement “LS on initiation of new work item ITU-T H.CVR-MP …multi-path transmission” (
duK4mGiUq-oIz5eQgdRLLNP8BH0, Aug 5, raw-verified 200 + valid title; fabricated-ID control 404). afrind’s Aug-10 interim agenda + Jordi’s encoder-player post + the SSTS/Pacing/Feedback threads all already logged. No new weekly GitHub digest (last Aug-2, next due ~Aug 9); no WGLC announcement or interop-report post. - IETF Datatracker: no revision bumps, no new individual drafts (API-verified per draft) — 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; the three Aug-4 lcurley drafts hang-02/cluster-00/timestamp-01 stand;draft-liu-moq-feedback-00. Minutes still one doc (minutes-126-moq-202607201200, rev -01). - GitHub moq-wg: no PRs merged on any repo. moq-transport — new issue #1845 (yuyou, Prior Subgroup ID Gap) + new PRs #1847/#1846 (sharmafb, editorial, OPEN). msf — four new Will Law issues #202/#203/#204/#205 (media-timeline model). loc / secure-objects / cmsf / catalog-format / privacy-pass quiet.
- GitHub implementations: moq-dev/moq (MERGED Aug 6–7 2707 + bots; OPEN #2697
moq play+ 2703; releases relay v0.14.8 / libmoq v0.5.5 / obs-moq v0.5.5 Aug-6), Eyevinn/moqlivemock (#128 v0.13.0 / #127 moqtransport-v0.10.0 / #126 catalog order / #125 -cc608mode / #124 go-608 v0.9.0, all MERGED Aug-6), Eyevinn/warp-player (#181 v0.13.0 / #180 CC-strikethrough / #177 cc608 e2e / #176 overlay glyph fix, MERGED Aug-6), Eyevinn/moqtransport (v0.10.0 tag Aug-6), moqtail/moqtail (#334 SETUP-collapse OPEN), openmoq/moqx (afrind #549 OPEN + #548 sync MERGED), meetecho/imquic (#34 macOS socklen OPEN), facebookexperimental/moq-encoder-player (post-LOC low-latency-CC commit), facebookexperimental/moxygen (#211 OPEN), cloudflare/moq-rs (v0.7.25 stands) / google/quiche moqt (0 in-window commits) / video-dev/moq-js / kota-yata/Moqtopus / gmarzot/aiomoqt / birneee/quiche_moq quiet. - Interop runner: NEW report 2026-08-06 00:29:02 UTC (350/129/210/11, at-target 220) — −1 pass / +1 fail vs Aug-5. No Aug-7 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moqlivemock (v0.13.0 wave: moqtransport v0.10.0 / moqlivemock v0.13.0 / warp-player v0.13.0, -cc608mode, AV1-caption-render gap), moq-dev (moq play + moq-mux fMP4 + net sweep + v0.14.8), interop-runner, discussions-2026-08, index.md
Key findings:
The window’s clearest durable fact is a coordinated Eyevinn v0.13.0 release that completes AV1-with-captions across the stack. moqlivemock v0.13.0, warp-player v0.13.0, and moqtransport v0.10.0 shipped together on Aug 6, folding the July–August CTA-608 caption epic and the AV1 codec path into one release: the MSF/CMSF source now serves AV1 alongside AVC and HEVC with embedded CTA-608 on every codec (overlay showing wall-clock + group number) on both the WebCodecs and MSE/EME playback paths, a selectable -cc608mode (paint-on default / pop-on / roll-up), a go-608 v0.9.0 bump, and deterministic catalog codec ordering. The one honest gap — surfaced in Tobbe’s own Slack announcement — is that warp-player renders AVC/HEVC captions but not yet AV1, because AV1 caption extraction isn’t supported in the common media library it uses; the CC button is struck through when captions are impossible. The stack remains on draft-14 & draft-16 with a draft-18 update flagged as next. This is the user’s own work and the item that broke #moq’s quiet.
The window’s external signal is an ITU-T liaison — the first the wiki has tracked on a MoQ-adjacent media-transport work item. ITU-T Study Group 21 (Q9/21) notified the WG that it has initiated H.CVR-MP, a Recommendation on functional requirements for cloud-VR systems supporting multi-path transmission, aiming at coordinated network/transport/application-layer optimization, and asked the MOQ and QUIC groups to share any relevant work (informational, no deadline). Multi-path is not currently a MoQT feature, so whether/how the WG responds is worth watching; logged as a first-look with raw-curl verification (real permalink 200, fabricated-ID control 404).
The WG repos stayed in design-discussion mode while the implementations carried the code. No moq-wg PR merged, but Will Law opened a coherent four-issue review of the MSF media-timeline model (altGroup default track, renderGroup-vs-media-track dependency, dynamic track lifecycle, DVR-with-MSF) and Yu You proposed a transport “Prior Subgroup ID Gap” to distinguish range-filter omissions from loss — a concrete consequence of the filter/fetch rewrite the Aug-10 interim is landing toward draft-20. On the code side moq-dev added a native moq play CLI player (a new capability verb), a moq-mux fMP4 init-segment/timescale refactor, and a net-layer correctness sweep (broadcast-closes-with-last-source, no dead-source resurrection, moq-native Server/Listener split) cut as relay v0.14.8, with a large OPEN Origins single-connection-per-relay rework in flight. The nightly runner ticked −1 to 129, a fifteenth straight cut on the settled 350-cell matrix with at-target holding 220.
2026-08-06 — Aug-10 interim agenda names draft-20; MOQ-MI retired
TL;DR:
- A WG-process-forward window after weeks of implementation-carried days. (1) afrind posted the draft agenda for the Aug-10 (Monday) virtual interim (Aug 5 21:26 UTC, DKIM-verified) — the first time the wiki sees
draft-20named as the target for the in-flight PR set: Location-Filter-rewrite #1809, PUBLISH_NOTIFY #1820, Fill-Fetch #1673, SWITCH_FROM-hard #1674 “targeted for draft-20” (in landing order), plus review PRs #1834/#1770 and “Needs Discussion” issues #1453 (Will Law’s Send-Rate / Pacing-for-FETCH presentation), #1352 (Suhas’s SUBSCRIBE-forward-vs-filters PR), #1801 (Victor’s range-filter OR). Focus is the core-transport filter/fetch/switch cleanup, not SSTS/Feedback. (2) Jordi Cenzano (Meta) announced — on Slack and the list — thatmoq-encoder-playerfinally drops its proprietary MOQ-MI packaging for standard LOCv4 + codec string (draft-18, per loc PR #29), with public encoder/player demo URLs offered for media interop. - On the WG repos: no merges, two new transport items. #1843 (Flynn, CAT-token expiration/renewal in control signalling) and PR #1844 (sharmafb, “first byte of object” for zero-payload objects, +5/−4) — the latter a follow-up to #1841. Datatracker: no bumps (transport-19/loc-04/secure-objects-01/msf-01/cmsf-01/c4m-01/warp-01 stand; the three Aug-4 lcurley drafts hang-02/cluster-00/timestamp-01 stand;
draft-lcurley-moq-lite-05). IETF-126 minutes still one Monday doc at rev -01; no new MoQ Monthly (#2 May 31); no open wiki issues. - Implementations: moq MERGED the MoQ Cluster extension over moq-transport (#2629, +2662/−408) — the prior window’s headline OPEN PR — then ~22 moq-net/libmoq hardening merges cut as relay v0.14.7 / cli v0.9.7 / libmoq v0.5.4 (#2666/#2684/#2677/#2664/#2673/#2663/#2679/#2668; OPEN #2687/#2680/#2660). afrind cross-repo relay cleanup: moqx local-forwarder cluster (#542/#544/#545/#546 OPEN + #547 sync) + moxygen #211 active-subscription counting (matches moqx #538). moqlivemock #125
-cc608modepaint-on + #124 go-608 v0.9.0 (both OPEN). moq-rs (v0.7.25), quiche (moqt), moq-js, moqtail, imquic, moqtransport, warp-player, Moqtopus, aiomoqt, birneee/quiche_moq quiet. loc/secure-objects/cmsf/catalog-format/privacy-pass merged nothing. - Interop: one new cut — the 2026-08-05 00:32:35 UTC cut: 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 (350/129/210/11; matrix/skip/at-target flat). Fourteenth straight cut on the settled 350-cell / at-target-220 matrix; pass 130 stays inside the recent band (126–133, high 133 July 31). Still targets draft-18. No Aug-6 cut at check time. Off-runner: no new ad-hoc reports; still no published IETF-126 interop report.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe + channel read verified working): NEW traffic — Jordi Cenzano’s Aug-5 04:51 CEST (02:51 UTC) post announcingmoq-encoder-playeron draft-18 + LOCv4 + codec string (no more MOQ-MI) with public encoder/player demo URLs, offered to Miniero + Suhas for media interop (2 👍 / 2 🎉, no thread replies). Breaks the channel’s quiet (prior newest was Yu You’s Aug-3 DATAGRAM thread, already logged). - IETF mailing list: two genuinely new messages (both Aug-5, raw-verified 200 + real DKIM; fabricated-ID control 404) — afrind’s “Draft Agenda for 8/10 moq interim” (
G4FiWzXBdRlm5GHw7YIZY_hVC3E, Aug-5 21:26 UTC — names draft-20 for the in-flight PR set) and Jordi Cenzano’s “moq-encoder-player finally in LOCv4+codecstring (no more MOQ-MI)” (Hx8Z4VwdzmHF74iKbNQXIpBhbws, Aug-5). No new weekly GitHub digest (last Aug-2, next due ~Aug 9); no WGLC announcement or interop-report post. Feedback/SSTS/Pacing threads all Aug-4-or-earlier (already logged). - IETF Datatracker: no revision bumps, no new individual drafts — transport-19, secure-objects-01, loc-04, msf-01, cmsf-01, c4m-01, privacy-pass-auth-03, warp-01 all unchanged;
draft-lcurley-moq-litestill -05; the three Aug-4 lcurley drafts (-cluster-00,-timestamp-01,-hang-02) stand;draft-liu-moq-feedbackstill -00. Minutes still one doc (minutes-126-moq-202607201200, rev -01). - GitHub moq-wg: no PRs merged on any repo. moq-transport — new issue #1843 (leonardovon-mcqueen/Flynn, CAT token expiration/renewal) + new PR #1844 (sharmafb, “first byte of object” for zero-payload objects, +5/−4, OPEN). 1842 already logged Aug-5. loc / msf / secure-objects / cmsf / catalog-format / privacy-pass quiet.
- GitHub implementations: moq-dev/moq (#2629 cluster-impl MERGED +2662/−408; ~22 merges 2678 + bots; OPEN 2665; issues 2676; releases relay v0.14.7 / cli v0.9.7 / libmoq v0.5.4 Aug-5), openmoq/moqx (afrind 546 OPEN, sync #547 MERGED), facebookexperimental/moxygen (afrind #211 OPEN), Eyevinn/moqlivemock (tobbee 124 OPEN), cloudflare/moq-rs / google/quiche moqt (0 commits) / video-dev/moq-js / moqtail/moqtail / meetecho/imquic / Eyevinn/warp-player / Eyevinn/moqtransport / kota-yata/Moqtopus / gmarzot/aiomoqt / birneee/quiche_moq quiet.
- Interop runner: NEW report 2026-08-05 00:32:35 UTC (350/130/209/11, at-target 220) — +1 pass / −1 fail vs Aug-4. No Aug-6 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-cluster (#2629 OPEN→MERGED), moq-dev (cluster merge + v0.14.7 hardening pass), interop-runner, discussions-2026-08, index.md
Key findings:
The window’s clearest durable fact is a WG-process one: the Aug-10 interim draft agenda names draft-20 as the target for the current in-flight PR set. afrind’s agenda lists four core-transport PRs “targeted for draft-20” in intended landing order — the Location Filter rewrite (#1809), PUBLISH_NOTIFY (#1820), Fill Fetch (#1673), and hard SWITCH_FROM (#1674) — plus PUBLISH-subscription-params (#1834, “reflects Vienna discussions”) and Michal Hošna’s publisher-default-priority PR (#1770), and three “Needs Discussion” issues: Will Law’s Send Rate parameter (#1453, the Pacing-for-FETCH / SCONE proposal, with a short presentation slotted), Suhas’s SUBSCRIBE-forward-vs-filters PR (#1352), and Victor Vasiliev’s range-filter “OR” reconsideration (#1801). This is the first datable sign the WG is landing PRs past -19 toward -20, and it frames the interim around the Path-to-WGLC filter/fetch/switch cleanup Vienna flagged — notably not the newer individual drafts (SSTS, Feedback), which are candidates for the Aug-24 slot.
The window’s media milestone is that Meta’s moq-encoder-player finally retired MOQ-MI for standard LOC v4. Jordi Cenzano’s Slack+list announcement moves the Meta reference encoder/player — the tool at the centre of the Vienna interop matrix, which had been carrying “MOQ-MIv3” — onto draft-18 with the LOC-04 container and a codec string (per loc PR #29), with public demo endpoints offered to Miniero and Suhas. Removing a bespoke packaging layer from the most widely-exercised interop tool is a real simplification of the media-interop story, and it was the item that broke #moq’s quiet.
The implementations closed the prior window’s headline loop and then hardened around it. moq-dev merged #2629, landing the MoQ Cluster extension over IETF moq-transport (the code counterpart to the Aug-4 draft-lcurley-moq-cluster-00), then spent a ~22-merge day on moq-net/libmoq correctness — origin resume/route serving, stopping a reflected announce from evicting the publish source, moving publisher group order out of message parameters, direction-keyed v14/v15 namespace lookup, and sending IETF subscribe/fetch rejections without resetting the stream — cut as relay v0.14.7. afrind, meanwhile, ran a matching relay-plumbing cleanup across moqx (a four-PR local-forwarder refactor) and moxygen (#211 fixing the negative active-subscription counter that surfaced as moqx issue #538 the prior window), and Eyevinn’s moqlivemock added a selectable CTA-608 caption presentation mode (-cc608mode, paint-on default). The nightly runner ticked +1 to 130, a fourteenth straight cut on the settled 350-cell matrix with at-target holding 220.
2026-08-05 — moq-cluster I-D filed; SSTS + FETCH-pacing drafts float
TL;DR:
- A genuinely spec-heavy window after weeks of implementation-carried days. (1) Luke Curley filed a three-draft batch to the IETF Datatracker on 2026-08-04 ~02:08 UTC — the datatracker counterpart to weeks of in-repo
moq-draftsauthoring (most recently PR #2607 “render gate, Hop ID 0, cluster rename”): the new [[moq-cluster|draft-lcurley-moq-cluster-00]] “MoQ Cluster Extension” (10 pp — a relay-mesh routing extension for moq-transport where each namespace advertisement carries the ordered Hop-ID path + accumulated route cost, so receivers detect loops and pick the lowest-cost of same-publisher routes; the standards form of moq-dev’s July-20 cost-based routing, and the first MoQ relay-clustering draft the wiki tracks), plus revisions [[moq-timestamp|draft-lcurley-moq-timestamp-01]] (6 pp — re-framed onto the LOC-registered TIMESTAMP/TIMESCALE properties, tracking the LOC-04 registry fix) and [[moq-hang|draft-lcurley-moq-hang-02]] (11 pp — the Hang conferencing profile on moq-lite, given its first wiki page). (2) Will Law opened two new WG-list threads Aug 4, each prepping an Internet-Draft for the Aug-24 virtual interim: “Sender Side Track Switching (SSTS)” (a base switching mechanism + “algorithm 0” as an external draft; asks whether the SSTS base should sit in core MOQT with algorithms spun out) and “Pacing for FETCH” (transport #1453: “as fast as needed” FETCH delivery — negotiate pacing in SETUP, activate via a FETCH parameter, use the SCONE rate signal — to cut bufferbloat/loss). (3) The MoQ Feedback (MMF) draft thread turned into a real multi-party discussion Aug 4–5 (co-author Ronghua Wu/Ant Group ↔ Cullen Jennings, with Suhas + Yu You engaging). - On the WG repos: one small merge + a delivery-timeout issue cluster. msf #195 (Will Law, uppercase JSON index refs in event-timeline examples, +41/−6) merged Aug 4 (msf-01 stands).
moq-transportgot three new Aug-5 issues from sharmafb — a coherent OBJECT_DELIVERY_TIMEOUT / properties-semantics front: #1842 (subgroup timeout overrides not propagated by mid-join relays), #1841 (“first payload byte” for OBJECT_DELIVERY_TIMEOUT), #1840 (INCLUDE_PROPERTIES=0 vs mandatory track properties) — no PRs, transport-19 stands. Datatracker: no WG revision bumps (transport-19/loc-04/secure-objects-01/msf-01/cmsf-01/c4m-01/warp-01 all stand;draft-lcurley-moq-litestill -05) beyond the three lcurley individual drafts. Slack quiet (newest still Yu You’s Aug-3 DATAGRAM thread, already logged); IETF-126 minutes still one Monday doc at rev -01; no new MoQ Monthly (#2 May 31); no open wiki issues. - Implementations: moq drained a ~26-merge burst into
main(relay v0.14.6 stands): its durable new front is the MoQ Cluster extension over moq-transport (OPEN #2629 +2418/−403, implementingmoq-cluster-00), with native raw-video encoder #2608 (+3076/−248) MERGED, Happy-Eyeballs dialing #2594 (+979/−252) MERGED, solicited PUBLISH_NAMESPACE #2643, announcedBroadcast/lite-restart-by-identity #2617, D3D11 resize #2601, one-thread encoder #2626; OPEN reconnect/retry #2618/#2614/#2647, JSON codec-split #2636, timeline-trim #2631, OBS-plugin config #2650, Zac Shenker per-frame fMP4 #2623. moqlivemock MERGED #119 CTA-608-in-AV1 +523/−517 + #123 clearkey content-key fix (issue #122 closed); warp-player issue #175 (encrypted-audio) CLOSED. quiche (moqt) 1 commit (MoqtStreamTypeParser, first since July 30). moqx afrind #541 relay-initial-track-state OPEN + #540 sync. moq-rs (v0.7.25 stands), moq-js, moqtail, moxygen, imquic, moqtransport, Moqtopus, aiomoqt, birneee/quiche_moq quiet. loc/secure-objects/cmsf/catalog-format/privacy-pass merged nothing. - Interop: one new cut — the 2026-08-04 00:34:04 UTC cut: 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 (350/131/208/11; matrix/skip/at-target flat). Thirteenth straight cut on the settled 350-cell / at-target-220 matrix; pass 129 stays inside the recent band (126–133, high 133 July 31). Still targets draft-18. No Aug-5 cut at check time. Off-runner: no new ad-hoc reports; still no published IETF-126 interop report.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe + channel read verified working): no new traffic — newest channel message is still Yu You’s Aug-3 14:04 CEST DATAGRAM object-fragmentation thread (20 replies, already logged in the Aug-4 entry). No Aug-4/Aug-5#moqmessages. - IETF mailing list: two genuinely new threads (raw-verified 200 + real DKIM headers), both Will Law (Akamai): “Sender Side Track Switching (SSTS)” (
SvmxqBe4LD6bJyhEU259k6X84ro, Tue Aug-4 14:41 UTC) and “Pacing for FETCH” (1J8_7AA1oE6ocJ3-BoI9hp5_mqQ, Tue Aug-4 12:10 UTC) — both announcing external-hosted drafts he’s readying as I-Ds for the Aug-24 interim. The Feedback draft thread grew (new Aug-4/5 replies: Ronghua Wu/Ant Group ×3, Suhas Nandakumar, Yu You/Nokia). No new weekly GitHub digest (last Aug-2), WGLC announcement, or interop-report post. - IETF Datatracker: no WG revision bumps; three lcurley individual-draft submissions Aug-4 ~02:08 UTC —
draft-lcurley-moq-cluster-00(NEW, 10 pp),draft-lcurley-moq-timestamp-01(6 pp),draft-lcurley-moq-hang-02(11 pp) (API-verified vianame__contains=lcurley-moq). transport-19, secure-objects-01, loc-04, msf-01, cmsf-01, c4m-01, privacy-pass-auth-03, warp-01 all unchanged;draft-lcurley-moq-litestill -05.draft-liu-moq-feedbackstill -00. Minutes still one doc (minutes-126-moq-202607201200, rev -01). - GitHub moq-wg: one PR merged — msf #195 (Will Law, event-timeline JSON uppercase index refs, +41/−6, Aug 4). moq-transport — no PRs; three new Aug-5 issues #1840/#1841/#1842 (sharmafb, delivery-timeout/properties semantics). loc / secure-objects / cmsf / catalog-format / privacy-pass quiet.
- GitHub implementations: moq-dev/moq (~26 merges Aug 4–5 incl 2625; OPEN #2629 cluster-impl + 2630; issues 2624; relay v0.14.6 stands, no new release), Eyevinn/moqlivemock (#119/#123 MERGED, issue #122 closed), Eyevinn/warp-player (issue #175 CLOSED), google/quiche moqt (1 commit, MoqtStreamTypeParser), openmoq/moqx (#541 afrind OPEN, #540 sync), cloudflare/moq-rs / video-dev/moq-js / moqtail/moqtail / facebookexperimental/moxygen / meetecho/imquic / Eyevinn/moqtransport / kota-yata/Moqtopus / gmarzot/aiomoqt / birneee/quiche_moq quiet.
- Interop runner: NEW report 2026-08-04 00:34:04 UTC (350/129/210/11, at-target 220) — −2 pass / +2 fail vs Aug-3. No Aug-5 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-cluster (new draft page), moq-hang (new draft page), moq-timestamp (-01 bump), moq-dev (cluster/timestamp/hang drafts + Aug 4–5 merge burst), interop-runner, discussions-2026-08, index.md
Key findings:
The window’s clearest durable fact is a new individual Internet-Draft that turns weeks of moq-dev in-repo mesh code into a citable spec: draft-lcurley-moq-cluster-00 “MoQ Cluster Extension”. It defines a clustering extension for moq-transport to build a mesh of relays: each namespace advertisement carries the ordered list of Hop IDs it traversed (starting with the origin publisher) plus the accumulated cost of that path, so a receiver can detect routing loops and identify which advertisements are interchangeable routes to the same publisher — choosing the lowest-cost one. This is the standards form of the cost-based cache-aware routing moq-dev shipped in code July 20 (PR #2424), and moq-dev is now implementing the extension over IETF moq-transport (not just moq-lite) in OPEN PR #2629. It was one of a three-draft batch Luke submitted the same minute — alongside moq-timestamp-01 (re-framed onto the LOC-registered TIMESTAMP/TIMESCALE properties, following the LOC-04 registry fix) and moq-hang-02 (the Hang conferencing profile, now the intended home for MoQ recording after moq-archive was folded in) — the same “prototype in the stack, then surface as a portable draft” pattern the wiki has tracked for moq-lite and moq-timestamp. Logged as first-looks (individual, no WG adoption); moq-cluster and moq-hang got new wiki pages, moq-timestamp was bumped to -01.
The WG list produced its first genuinely new design content in weeks — two Will Law drafts in flight for the Aug-24 interim. SSTS (Sender-Side Track Switching) has been converted from a transport PR into an external draft with a base mechanism + “algorithm 0”, and Law’s open question — put the base in core MOQT and spin the algorithms out — is exactly the split the IETF-126 minutes flagged for SSTS and filters. Pacing for FETCH addresses the bufferbloat/burst problem of downloading FETCH data as fast as congestion control allows: negotiate a pacing extension in SETUP, activate it per-FETCH, and drive it from the SCONE rate signal for “as fast as needed” delivery. Both connect to the running delivery-quality theme — the Feedback (MMF) draft discussion, the DATAGRAM-fragmentation Slack thread, and sharmafb’s three new OBJECT_DELIVERY_TIMEOUT / properties-semantics transport issues (#1840/#1841/#1842) — that has dominated the post-Vienna period.
The implementations kept pace: moq-dev’s ~26-merge burst is the code side of the same cluster/timestamp/hang story. The cluster-extension implementation (#2629) is the headline, but the burst also landed a large native raw-video encoder binding (#2608, +3076), RFC-8305 Happy-Eyeballs dialing (#2594, closing the DNS thread), and a fresh reconnect/retry stack (auto-reconnecting sessions, backoff+jitter retry) — connection-resilience and native-media hardening on top of the routing work. Eyevinn extended its CTA-608 caption pipeline to AV1 (moqlivemock #119) and fixed a clearkey content-key bug (#123), and closed the warp-player encrypted-audio blocker (#175). google/quiche’s moqt directory stirred for the first time since July 30 with a new MoqtStreamTypeParser, and afrind opened a relay-initial-track-state PR on moqx (#541). The nightly runner slipped −2 to 129, still inside its settled 350-cell band, at-target holding 220 for a thirteenth straight cut.
2026-08-04 — Slack DATAGRAM-fragmentation design thread; new MoQ Feedback I-D
TL;DR:
- A quiet-WG window (no moq-wg PRs merged) delivered two genuinely spec-adjacent items. (1) Slack
#moqbroke its ~5-day silence with the channel’s first substantive technical design thread in weeks — Yu You (Nokia) asking how to carry an encoded video frame larger than the ~1200-byte QUIC DATAGRAM MTU (Aug-3 14:04 EEST, 20 replies). Ali Begen + Giovanni Marzot established that datagrams don’t fragment — an Object over the sessionmax_datagram_frame_sizeis dropped silently (draft-18 §11.3), so fragmentation is an application-layer problem; Paul Gregoire (Red5) uses datagrams only for audio. afrind framed datagrams as smaller-than-MTU / not-flow-controlled / not-retransmitted and suggested a stream with a short delivery timeout (orRESET_STREAM_AT) instead; Mathis Engelbart countered that timeouts don’t reproduce datagram semantics and thatRESET-vs-FINhandling is treacherous (RoQ interop lesson), arguing a container format like LOC should carry enough framing to consume whatever fragments arrive. afrind’s sketch (frame-start offset + fin bit per datagram) drew Luke Curley’s “all roads lead to reimplementing QUIC streams” and afrind’s “once you add acks/rxmits you’ve gone too far — QUIC already acks the datagrams.” (2) A new individual I-D — [[moq-feedback|draft-liu-moq-feedback-00]] “MoQ Feedback” (Multimodal Feedback / MMF; 41 pp, submitted July 31) — was announced to the list Aug 3 (04:10 UTC, raw-verified) by Yanmei Liu + Minghui Jiang (Alibaba) + Ronghua Wu (Ant Group), with an immediate Cullen Jennings reply. It adds a receiver→sender delivery-quality channel: per-Object status (received/late/lost/partial) on a “Feedback Track” (reusing the Track/Object model, no new control messages), synthesized with congestion control to command bitrate/pacing — the first MoQ feedback draft the wiki has tracked, and a direct echo of the DATAGRAM thread’s partial-reliability theme. - On the WG repos, zero PRs merged; the only new activity was a small URI-definition / parameter-semantics editorial front on
moq-transport. Two new issues: issue #1839 “resolution of URI” (Cullen Jennings; afrind floated splitting the URI definition out of transport RFC-9110/9114-style) and issue #1838 “Semantics of multiple AUTHORIZATION TOKEN parameters” (Michal Hošna). Two older threads drew Aug-3 comments: #1835 (query-in-URI-scoping — Will Law +1’ing not in scope, per RFC 3986) and #1720 (fill-timeout signalling — Jennings vs afrind). No wire change; transport-19 stands. Datatracker: 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-litestill -05; still nodraft-lcurley-moq-archive) beyond the new Feedback I-D. IETF-126 minutes still the single Monday doc at rev -01; no new MoQ Monthly (#2 May 31); no open wiki issues. - Implementations: moq busy again — ~12 merges + release train moq-relay v0.14.6 / moq-ffi v0.3.6 / moq-cli v0.9.6; MERGED Aug 3 #2611 moq-lite-06 broadcast-epochs/ended-broadcasts +249/−52, #2601 Direct3D11 GPU texture resize +2033/−141, #2598 moq-hls nested routes, #2599 Discord CI alert, #2600 drop Win/mac PR gates, #2580 (koubaa) Alive::drop; OPEN #2607 drafts render-gate/Hop-ID-0 +820/−766, moq-net reconnect/caching cluster 2605, issues 2609; #2585 mDNS + #2594 Happy-Eyeballs still OPEN. warp-player MERGED #173 CC-toggle (CTA-608 pipeline complete) + #174 cbcs-encryption caption test; OPEN issue #175 encrypted-audio bug. moqx #505 versioning/dashboard +706/−326 + #537 sync MERGED; #539 per-track-metrics dashboard OPEN, issue #538. moq-rs (v0.7.25 stands), quiche (moqt, 0 commits since July 30), moq-js, moqtail, moxygen, imquic, moqtransport, moqlivemock (Go, quiet in-window), Moqtopus, aiomoqt, birneee/quiche_moq quiet. All moq-wg repos (transport/msf/loc/secure-objects/cmsf/catalog-format/privacy-pass) merged nothing.
- Interop: one new cut — the 2026-08-03 00:36:00 UTC cut: 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 (350/130/209/11; one run flipped fail→pass, matrix/skip/at-target flat). Twelfth straight cut on the settled 350-cell / at-target-220 matrix; pass 131 holds a third straight day in the recent band (126–133, high 133 July 31). Still targets draft-18. No Aug-4 cut at check time. Off-runner: no new ad-hoc reports; still no published IETF-126 interop report.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe + full thread read verified working): NEW traffic — Yu You (Nokia)‘s Aug-3 14:04 EEST “object fragmentation for encoded video objects carried in MOQT DATAGRAMs” thread (20 replies: Ali Begen, Giovanni Marzot, Paul Gregoire/Red5, afrind, Mathis Engelbart, Luke Curley — newest reply Aug-3 18:44 EEST). First substantive moq technical thread since before the ~5-day silence (prior newest was Suhas’s July-29 reply). - IETF mailing list: two genuinely new messages (both Aug-3, raw-verified 200 + real headers) — Yanmei Liu’s “New Version Published: Feedback draft” (
7QysuqPJa1_sKhNE057S1PdTdbw, Aug-3 04:10 UTC) announcingdraft-liu-moq-feedback-00, and Cullen Jennings’ reply (2LsjqfTrk68dMAZRCslzpRre4kY, Aug-3 16:18 UTC). No new weekly digest (last Aug-2), WGLC announcement, or interop-report post. - IETF Datatracker: no WG revision bumps; one new individual draft —
draft-liu-moq-feedback-00(submitted 2026-07-31, 41 pp). transport-19, secure-objects-01, loc-04, msf-01, cmsf-01, c4m-01, privacy-pass-auth-03, warp-01 all unchanged (API-verified via group id 2319);draft-lcurley-moq-litestill -05; nodraft-lcurley-moq-archive(count=0) and no-lite-06. Minutes still exactly one doc (minutes-126-moq-202607201200, rev -01). - GitHub moq-wg: no PRs merged on any repo. moq-transport — new issue #1839 (URI resolution, fluffy) + issue #1838 (AUTHORIZATION TOKEN semantics, michalhosna); Aug-3 comments on #1835 (wilaw) and #1720 (fluffy/afrind). msf / loc / secure-objects / cmsf / catalog-format / privacy-pass quiet.
- GitHub implementations: moq-dev/moq (~12 merges + releases v0.14.6/ffi-v0.3.6/cli-v0.9.6; MERGED 2580 + bots; OPEN #2607 + moq-net cluster 2605, issues 2609; 2594 still OPEN), Eyevinn/warp-player (MERGED #173 CC-toggle + #174 cbcs test; issue #175 OPEN), openmoq/moqx (#505/#537 MERGED; #539 OPEN, issue #538), cloudflare/moq-rs (quiet; v0.7.25 stands) / google/quiche moqt (0 commits since July 30) / video-dev/moq-js / moqtail/moqtail (only dependabot #333) / facebookexperimental/moxygen / meetecho/imquic / Eyevinn/moqlivemock (quiet in-window) / Eyevinn/moqtransport / kota-yata/Moqtopus / gmarzot/aiomoqt / birneee/quiche_moq quiet.
- Interop runner: NEW report 2026-08-03 00:36:00 UTC (350/131/208/11, at-target 220) — +1 pass / −1 fail vs Aug-2. No Aug-4 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-feedback (new draft page), moq-dev, moqlivemock (warp-player CTA-608 complete + encryption), interop-runner, discussions-2026-08, index.md
Key findings:
The window’s clearest durable fact is a new individual draft that fills a long-standing MoQ gap: receiver→sender delivery-quality feedback. draft-liu-moq-feedback-00 “MoQ Feedback” defines Multimodal Feedback (MMF) — per-Object delivery-status reports (received/late/lost/partially-received) carried on a “Feedback Track” that reuses the Track/Object model rather than adding control messages, synthesized with local congestion control to command bitrate/pacing. It’s the first MoQ feedback/quality-signalling draft the wiki has tracked, a second Alibaba MoQ artifact from Yanmei Liu (after the Live Agent Interaction profile), and it explicitly targets both live streaming and bidirectional AI-inference. Notably it landed the same day as the Slack DATAGRAM-fragmentation thread, which circled the same partial-reliability problem from the wire side — how a sender learns what actually arrived. Both are logged as first-looks (individual draft, no WG adoption).
The Slack thread is the best statement in weeks of MoQ’s core datagram-vs-stream tension. Yu You’s practical question (a video frame won’t fit in one ~1200-byte datagram) surfaced the full design space: datagrams are at-most-once and un-flow-controlled but MTU-capped and non-fragmenting, so lifting the cap means either (a) a stream with a short delivery-timeout / RESET_STREAM_AT — which afrind favours but Mathis Engelbart shows has treacherous reset semantics — or (b) a container format (LOC) that frames fragments so a receiver can consume partial arrivals. Luke Curley’s “all roads lead to reimplementing QUIC streams” is the punchline: every attempt to add reliability/ordering to datagrams re-derives QUIC’s STREAM frame, and since QUIC already acks datagrams, a MoQ-layer ack channel would be redundant. This is exactly the design context the Feedback draft steps into.
The WG documents stayed in low-key WGLC-hygiene mode and the implementations carried the code. No moq-wg PR merged; the only WG movement was a small URI-definition/parameter-semantics editorial front (Cullen Jennings’ URI-resolution issue #1839, with afrind floating a URI-out-of-transport document split; Michal Hošna’s AUTHORIZATION-TOKEN-semantics #1838; continued query-in-scope #1835 and fill-timeout #1720 debate). moq-dev had another busy day — a v0.14.6 release train, GPU Direct3D11 texture work, a moq-net reconnect/caching cluster, and durable moq-lite-06 draft authoring (broadcast epochs / ended VOD broadcasts) that still has no datatracker submission — and warp-player completed its CTA-608 caption pipeline (CC toggle #173) before pivoting to encrypted-playback testing (#174 proving captions survive cbcs, #175 an encrypted-audio bug). The nightly runner ticked +1 to 131, a third straight day inside the settled 350-cell band.
2026-08-03 — warp-player lands CTA-608 captions; moq-dev token tooling
TL;DR:
- A quiet-WG window carried by two implementations. Every moq-wg repo was silent (no PRs, no issues), and the only genuinely new mailing-list item was the routine weekly GitHub digest — the one “due ~Aug 2 but not posted” at the last check, now posted (Aug-2 09:35 UTC, mnot.net “Repository Activity Summary Bot”, raw-verified), a retrospective recap of prior-week transport issues/PRs with no new substance. moq (all Luke Curley) supplied the day’s spec-adjacent code with two small new threads: an auth-token-tooling push — #2593 “add a
tokensubcommand to moq-cli” (+497/−236) + #2596 “write private key files owner-only” (+223/−10) — and a DNS / Happy-Eyeballs push — #2592 resolver-address-selection fix (+161/−63, merged) with RFC-8305-style dual-stack dialing in flight (OPEN #2594 +661/−181 + issue #2595 parallel A/AAAA via hickory-resolver) — plus the kio #2583 WaiterCell→Park rename; relay v0.14.5 stands (no new release), the Aug-1 mDNS mesh #2585 still OPEN. Slack quiet (newest still Suhas’s July-29 reply), datatracker no bumps (transport-19/loc-04 newest;draft-lcurley-moq-litestill -05; still nodraft-lcurley-moq-archiveI-D), IETF-126 minutes still the single Monday doc at rev -01, no new MoQ Monthly (#2 May 31), no open wiki issues. - The window’s biggest single-repo content was warp-player (Tobbe) landing a full CTA-608 closed-caption pipeline — ~4,700 LOC across three feature PRs — the player-side follow-through that resolves warp-player #156 (“rendering in progress”). #169 extracts CTA-608 on the WebCodecs/LOC path (+730/−0), #171 extracts it from CMAF+LOCMAF on the MSE path (+1587/−2), and #170 adds a timed-text overlay seam + CTA-608 renderer (+2366/−1); the CC toggle / caption-sink wiring is OPEN (#173, +431/−6). This completes the CTA-608 capture→publish→extract→render round trip begun by mlmpub’s publisher-side SEI-injection epic (moqlivemock 117, July 24–25); moqlivemock itself took a supporting go-608 v0.8.0 bump (#120) + a CLAUDE.md trim (#121).
- Implementations: moq MERGED Aug 2–3 #2593 moq-cli
token+497/−236, #2596 owner-only key files +223/−10, #2592 resolver-address fix +161/−63, #2583 kio Park rename +217/−138, #2597 libmoq/relay build fix; OPEN #2594 Happy-Eyeballs dial +661/−181, #2598 moq-hls nested routes, #2599 Discord CI alert; issue #2595 (DNS Happy Eyeballs); #2585 mDNS mesh still OPEN; relay v0.14.5 stands. warp-player MERGED 170 CTA-608 pipeline (~4,700 LOC), #172 lint; OPEN #173 CC toggle. moqlivemock #120 go-608 v0.8.0 + #121 docs MERGED. moqx #536 moxygen-sync (bot). moqtail #333 dependabot. All moq-wg repos (transport/msf/loc/secure-objects/cmsf/catalog-format/privacy-pass), moq-rs (v0.7.25 stands), quiche (moqt, 0 commits), moq-js, moxygen, imquic, moqtransport, Moqtopus, aiomoqt, birneee/quiche_moq quiet. - Interop: one new cut — the 2026-08-02 00:35:00 UTC cut: 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/at-target flat). Eleventh straight cut on the settled 350-cell / at-target-220 matrix; pass 130 holds a second straight day in the recent band (126–133, high 133 July 31). Still targets draft-18. No Aug-3 cut at check time. Off-runner: no new ad-hoc reports; still no published IETF-126 interop report.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): no new traffic — newest channel message is still Suhas’s July-29 20:14 EEST reply on Miniero’s MoQ-over-MoQ blog thread (already logged). ~5 straight days quiet. - IETF mailing list: one genuinely new message — the weekly GitHub digest (
WkqxlbxFscF5jbT4xDTU7Ltoi7c, Sun Aug-2 02:35:40 −0700 / 09:35 UTC,From: Repository Activity Summary Bot <do_not_reply@mnot.net>), verified real via rawcurl(200 + DKIM) with a fabricated-ID control returning 404. This is the digest that was due ~Aug 2 but had not posted at the prior check; it is a routine retrospective recap of the prior week’s transport issues (#1837, #1835, #1829, #1819, #1696) and PRs (#1833/#1820/#1817/#1805) — no new human thread. No new WGLC announcement or interop-report post. - IETF Datatracker: no revision bumps, no new individual drafts — transport-19, secure-objects-01, loc-04, msf-01, cmsf-01, c4m-01, privacy-pass-auth-03, catalogformat-01, warp-01 all unchanged (API-verified);
draft-lcurley-moq-litestill -05 (07-01); nodraft-lcurley-moq-archiveand nodraft-lcurley-moq-lite-06I-D. Minutes still exactly one doc (minutes-126-moq-202607201200, Monday, rev -01). - GitHub moq-wg: all repos quiet — no PRs merged, no PRs opened, no new issues on moq-transport / msf / loc / secure-objects / cmsf / catalog-format / privacy-pass in the Aug 2 → Aug 3 window.
- GitHub implementations: moq-dev/moq (MERGED Aug 2–3 2597 + bot bumps; OPEN 2599, issue #2595; #2585 mDNS still OPEN; relay v0.14.5 stands, no new release), Eyevinn/warp-player (MERGED 172 CTA-608 pipeline; OPEN #173), Eyevinn/moqlivemock (#120/#121 MERGED), openmoq/moqx (#536 sync-bot MERGED), moqtail/moqtail (#333 dependabot OPEN), cloudflare/moq-rs / google/quiche moqt (0 commits) / video-dev/moq-js / facebookexperimental/moxygen / meetecho/imquic / Eyevinn/moqtransport / kota-yata/Moqtopus / gmarzot/aiomoqt / birneee/quiche_moq quiet.
- Interop runner: NEW report 2026-08-02 00:35:00 UTC (350/130/209/11, at-target 220) — byte-for-byte identical to the Aug-1 cut. No Aug-3 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-dev, moqlivemock (warp-player CTA-608), interop-runner, discussions-2026-08, index.md
Key findings:
The window’s clearest durable fact is that warp-player now renders CTA-608 captions on both of its decode paths — closing the Eyevinn caption round trip. Since late July the wiki has carried moqlivemock’s publisher-side CTA-608 epic (mlmpub injecting caption data as H.264/HEVC SEI messages across all four serve paths, advertised as a catalog accessibility descriptor) with the standing caveat that “warp-player rendering (#156) remains in progress.” Aug 2 resolved it: warp-player gained CTA-608 extraction on the WebCodecs/LOC path (#169) and the MSE/CMAF+LOCMAF path (#171), plus a timed-text overlay seam and a concrete CTA-608 renderer (#170) — ~4,700 LOC. Only the CC on/off toggle (#173) is left open. That makes the full Eyevinn stack an end-to-end accessibility testbed: caption generation at the publisher and caption display at the player, verified across LOC/WebCodecs and CMAF/LOCMAF/MSE.
moq-dev’s day was two small new threads rather than a headline capability. The auth-token-tooling push (a moq-cli token subcommand + owner-only 0600 key files) is the first operator-facing surfacing of the moq-token auth path since July’s --auth-api transport-forwarding work — the same auth surface that produced the Vienna cdn.moq.pro PATH/401 debugging, now with a CLI to generate tokens. The DNS / Happy-Eyeballs push (a merged moq-native resolver-address-selection fix, with RFC-8305 dual-stack dialing and parallel A/AAAA resolution in flight) is connection-establishment hardening. Neither is a new media capability; the mDNS peer-mesh front (#2585) opened Aug 1 remains the repo’s one genuinely new capability direction and is still unmerged. Relay v0.14.5 stands.
The WG channels stayed fully quiet and the one new list item was mechanical. No moq-wg repo produced a PR or an issue in the window, and the only genuinely new mailing-list message was the weekly GitHub digest — notable only because it had been overdue (the prior two updates flagged it as “due ~Aug 2 but not posted”); its content is a retrospective bot recap of activity already logged. Slack, the datatracker, and MoQ Monthly were all quiet, and the nightly runner produced a byte-for-byte-identical cut (350/130/209/11) — a rare fully-flat interop day. The post-Vienna rhythm holds: implementations carry the substance on a settled draft-18 baseline while the WG documents sit between the Path-to-WGLC editorial push and Last Call.
2026-08-02 — moq-dev completes LOC-04 adoption, opens an mDNS peer mesh
TL;DR:
- A quieter, implementation-carried window: moq (all Luke Curley) followed through on July 31’s spec-alignment thread at much smaller scale — it completed the LOC-04 Timestamp code-point adoption and opened a genuinely new front (local-network peer mesh via mDNS) — while the WG repos produced no PRs at all. On Aug 1 moq merged #2581 “adopt the
draft-ietf-moq-loc-04Timestamp code point, align relay-hops with lite-06” (+653/−198) — the OPEN continuation from July 31’s #2578, now landed, completing the move onto the LOC-04 registry fix (published July 20) and continuing moq-lite-06 relay-hop alignment ahead of any datatracker-06; plus relay-lifecycle #2582 “keep parked groups across a prune and revive a buried route” (+118/−28) and native-video #2584 “keep Media Foundation decoded frames on the GPU, stop losing frames at group boundaries” (+731/−142). The new capability front is OPEN #2585 “discover and mesh with MoQ peers on the local network via mDNS” (+606/−4) — native peers auto-discovering/meshing on the LAN. No new release (relay v0.14.5 stands). On the WG side, no PRs merged on any moq-wg repo (last transport merge July 30); the only live thread was Mathis Engelbart’s transport issue #1837 “FETCH and REQUEST_ERROR encoding”, where afrind + Martin Duke + Engelbart discussed the three separate FETCH message formats being bit-inefficient / editorially hard to read (Aug-1, WGLC-hygiene, no wire change — transport-19 stands). Slack quiet (newest still Suhas’s July-29 reply), list quiet (newest still Magnus Westerlund’s July-29 minutes email; weekly GitHub digest was due ~Aug 2 but had not posted at check time), no datatracker revision/draft bumps (transport-19, loc-04, moq-lite-05 stand; still nodraft-lcurley-moq-archiveI-D), minutes still the single Monday doc at rev -01 (corrections due ~Aug 12). - Elsewhere small stirrings only: moq-rs was quiet after its July-31 ship-day (v0.7.25 stands), moqx took a routine moxygen sync, aiomoqt opened a v0.11.0 release-prep PR, and moxygen closed its qlog QLogger PR unmerged. No other tracked repo moved.
- Implementations: moq MERGED Aug 1 #2581 LOC-04 code-point +653/−198, #2582 parked-groups/route-revive +118/−28, #2584 Media-Foundation GPU-frames +731/−142; OPEN #2585 mDNS peer-mesh +606/−4, #2586 test-tidy, #2587 flake.lock (bot); relay v0.14.5 stands (no new release). moq-rs quiet (v0.7.25 stands). moqx #535 moxygen-sync MERGED; 533 afrind PRs still OPEN. aiomoqt #36 v0.11.0 release-prep OPEN (gmarzot). moxygen #206 qlog QLogger CLOSED-unmerged (afrind). moq-transport issue #1837 discussion (afrind/mduke/mengelbart); PR #1820 PUBLISH_NOTIFY still OPEN. quiche (moqt, 0 commits since July 30), moqtail, moq-js, imquic, Eyevinn, warp-player, moqtransport, Moqtopus, birneee/quiche_moq quiet.
- Interop: one new cut — the 2026-08-01 00:34:17 UTC cut: 350 / 130 / 209 / 11 (~37.1% pass; at-target draft-18 220 · 0 ahead · 130 behind). −3 pass / +3 fail vs the July-31 cut (350/133/206/11); matrix/skip/at-target flat — tenth straight cut on the settled 350-cell / at-target-220 matrix, pass 130 falling back into the recent band (126–133, the 133 high set July 31). Still targets draft-18. No Aug-2 cut at check time. Off-runner: no new ad-hoc reports; still no published IETF-126 interop report.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): no new traffic — newest channel message is still Suhas’s July-29 20:14 EEST reply on Miniero’s MoQ-over-MoQ blog thread (already logged). No July 30/31 or Aug 1/2 messages. - IETF mailing list: no genuinely new message (raw-verified) — the newest browse row is still Magnus Westerlund’s July-29 “Draft Minutes for IETF 126” (
3utMKHdKC2DKNlxyVB8nQc6TU2Y, already logged; corrections due ~Aug 12). The weekly GitHub digest was due ~Aug 2 but had not posted at check time (last one ~July 26). No new WGLC announcement or interop-report post. - IETF Datatracker: no revision bumps, no new individual drafts — transport-19, secure-objects-01, loc-04, msf-01, cmsf-01, c4m-01, privacy-pass-auth-03, moq-lite-05 all unchanged (API-verified); no
draft-lcurley-moq-archiveand nodraft-lcurley-moq-lite-06I-D. Minutes still exactly one doc (minutes-126-moq-202607201200, Monday, rev -01). - GitHub moq-wg: moq-transport — no PRs merged; issue #1837 drew an Aug-1 FETCH-encoding discussion (afrind/mduke/mengelbart, 3 comments); PR #1820 (PUBLISH_NOTIFY, afrind) saw Aug-1 activity but is still OPEN (created July 21). msf / loc / secure-objects / cmsf / catalog-format / privacy-pass quiet.
- GitHub implementations: moq-dev/moq (MERGED Aug 1 2584; OPEN #2585 mDNS / #2586 / #2587; relay v0.14.5 stands, no new release), cloudflare/moq-rs (quiet; v0.7.25 stands), openmoq/moqx (#535 moxygen-sync MERGED; 533 afrind OPEN), gmarzot/aiomoqt (#36 v0.11.0 release-prep OPEN), facebookexperimental/moxygen (#206 qlog QLogger CLOSED-unmerged), google/quiche moqt (0 commits since July 30) / moqtail/moqtail / video-dev/moq-js / meetecho/imquic / Eyevinn/moqlivemock / Eyevinn/warp-player / Eyevinn/moqtransport / kota-yata/Moqtopus / birneee/quiche_moq quiet.
- Interop runner: NEW report 2026-08-01 00:34:17 UTC (350/130/209/11, at-target 220) — −3 pass / +3 fail vs July-31; matrix/skip/at-target flat. No Aug-2 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-dev, interop-runner, discussions-2026-08 (new), index.md
Key findings:
The window’s clearest durable fact is that moq-dev’s LOC-04 adoption is now complete on main. July 31 began the move with #2578 (align relay-hops with lite-06, adopt LOC-04 timestamps) and left the code-point switch open as #2581; Aug 1 merged #2581, moving moq-dev’s LOC packaging onto the draft-ietf-moq-loc-04 Timestamp code point — the registry fix published July 20 that relocated the LOC Timestamp off its 0x06 collision. This is the same spec-follows-in-code sequence the wiki has tracked since moq-dev first chose the transport-18 §15.8 property IDs, now settled at the -04 registry, and it keeps moq-dev’s wire aligned with an in-progress moq-lite-06 that still has no datatracker submission.
The one genuinely new front is a local-network peer mesh. OPEN #2585 has native MoQ peers auto-discovering and meshing over the LAN via mDNS — extending the gossip/peer-mesh work from configured routes to zero-config local discovery. It’s not merged yet, so it stays off the durable-milestone list, but it’s the first new capability direction since the native-A/V and DASH-egress pushes, and worth watching for a relay/CLI follow-on. Around it the day was hardening: relay-lifecycle (#2582 parked groups surviving a prune) and Windows Media Foundation video (#2584 GPU-resident decoded frames) — the post-Vienna relay-correctness + native-media theme, continued.
The WG channels went quiet again and the ecosystem’s other repos barely moved — the post-Vienna rhythm holds. No moq-wg PRs merged; the only WG substance was an editorial FETCH/REQUEST_ERROR-encoding discussion (afrind, Martin Duke, and Engelbart agreeing the three FETCH formats are bit-inefficient and hard to read) on transport issue #1837 — WGLC hygiene, not a wire change. moq-rs stood on its July-31 v0.7.25 ship-day, moqx took a routine sync, aiomoqt opened a v0.11.0 PR, and moxygen closed its qlog QLogger PR unmerged. Slack, the list (weekly digest not yet posted), the datatracker, and MoQ Monthly were all quiet; the nightly runner ticked −3 pass back into its settled band (130, from the July-31 high of 133).
2026-08-01 — Rust codebases carry the window: moq-rs ships the upstream-retention fix, moq-dev’s biggest merge day adopts LOC-04
TL;DR:
- The window inverted the prior day’s WG-document emphasis straight back to implementations — the two Rust codebases carried it while the WG repos went nearly silent (one new transport issue, zero PRs). On moq-rs, Mike English took the prior day’s relay upstream-retention fix from “merged” to “shipped”: #198 backported “release upstream subscriptions for idle cached tracks, and stop FIN-ing subgroup streams mid-object” to the draft-14
mainbranch (+1986/−163), #197 added a companion ordering fix “wait for upstream subscription before sending SUBSCRIBE_OK” (+477/−55), and the repo cut its first release train since July 20 — moq-relay-ietf v0.7.25 (+ moq-pub v0.9.3 / moq-sub v0.4.14 / moq-clock-ietf v0.6.20 / moq-api v0.2.13 / moq-test-client v0.1.12, July 31 ~20:30 UTC). On the WG side the only new item was Mathis Engelbart’s moq-transport issue #1837 “FETCH and REQUEST_ERROR encoding” (July 31 13:44 UTC) — no PRs merged on any moq-wg repo. Slack quiet (newest still Suhas’s July-29 reply), list quiet (newest still Magnus Westerlund’s July-29 minutes email; weekly digest next due ~Aug 2), no datatracker revision/draft bumps (transport-19, loc-04, moq-lite-05 all stand; still nodraft-lcurley-moq-archiveI-D), minutes still the single Monday doc at rev -01. - moq had its biggest single-day merge burst yet — ~6,000 LOC across 11 merges — and its durable thread was spec alignment: it adopted the just-published LOC-04 timestamps and aligned relay-hops with moq-lite-06 in code. #2578 “prune dormant drafts, align relay-hops with lite-06, adopt LOC-04 timestamps” (+1/−996) merged, continued in OPEN #2581 (adopt the
draft-ietf-moq-loc-04Timestamp code point) — the first in-repo move onto the LOC-04 registry fix (published July 20) and continued lite-06 wire work ahead of any datatracker-06. The two breaking (!) refactors that were OPEN the prior day landed — #2568 “leave audio group boundaries to the caller, group fMP4 by segment” (+983/−99) and #2569 “carry subscription bounds as positions” (+415/−227) — alongside #2572 (send the raw-QUIC path+query in SETUP, closing issue #2570), #2575 (prune spliced segments / treat SUBSCRIBE_START as a drop signal, +1110/−69), the #2560 kio WaiterCell/Queue primitive (+721/−27), #2559 (recover a capture whose track dies), and #2577 (peer-origin for identity-less peers, +625/−73). No new release (relay v0.14.5 stands). Elsewhere moqx took a moxygen sync (#531) plus two OPEN afrind PRs — #532 render/parse names in the MoQT safe form and #533 per-track counters at/metrics/track— keeping a low-key cross-repo LOC-packaging/naming thread alive with Will Law’s msf issue #200. - Implementations: moq-rs MERGED July 31 #198 draft-14 upstream-retention backport +1986/−163, #197 SUBSCRIBE_OK-ordering +477/−55, #199 docs; release train moq-relay-ietf v0.7.25 (+ moq-pub v0.9.3 / moq-sub v0.4.14 / moq-clock-ietf v0.6.20 / moq-api v0.2.13 / moq-test-client v0.1.12). moq biggest merge day — MERGED July 31 #2578 lite-06/LOC-04 align +1/−996, #2575 prune/drain +1110/−69, #2568! mux fMP4-by-segment +983/−99, #2569! bounds-as-positions +415/−227, #2572 SETUP path/query, #2560 kio WaiterCell/Queue +721/−27, #2559 recover-capture, #2577 peer-origin +625/−73, #2576 main→dev merge, #2579 docs; issue #2570 CLOSED; OPEN 2580; relay v0.14.5 stands. moq-transport issue #1837 OPEN (mengelbart). moqx #531 sync MERGED, 533 afrind PRs OPEN. quiche (moqt, 0 commits since July 30), moqtail, moq-js, moxygen, imquic, Eyevinn, warp-player, moqtransport, Moqtopus, aiomoqt, birneee/quiche_moq quiet.
- Interop: one new cut — the 2026-07-31 00:35:11 UTC cut: 350 / 133 / 206 / 11 (~38.0% pass; at-target draft-18 220 · 0 ahead · 130 behind). +1 pass / −1 fail vs the July-30 cut (350/132/207/11); matrix/skip/at-target flat — ninth straight cut on the settled 350-cell / at-target-220 matrix, and pass 133 is a new high for that matrix (prior band 126–132; the absolute-high 142 was on the smaller July-21/22 338-cell matrix). Still targets draft-18. No Aug-1 cut at check time. Off-runner: no new ad-hoc reports; still no published IETF-126 interop report.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): no new traffic — newest channel message is still Suhas’s July-29 20:14 EEST reply on Miniero’s MoQ-over-MoQ blog thread (already logged). No July 30/31 or Aug-1 messages. - IETF mailing list: no genuinely new message (raw-verified) — the newest permalink is still Magnus Westerlund’s July-29 “Draft Minutes for IETF 126” (
3utMKHdKC2DKNlxyVB8nQc6TU2Y, already logged; corrections due ~Aug 12). No new weekly GitHub digest (last July 26; next due ~Aug 2), WGLC announcement, or interop-report post. Rawcurlof/arch/browse/moq/shows no Jul-30/31/Aug-1 dated rows. - IETF Datatracker: no revision bumps, no new individual drafts — transport-19, secure-objects-01, loc-04, msf-01, cmsf-01, c4m-01, privacy-pass-auth-03, moq-lite-05,
draft-altanai-moq-relay-geocode-01all unchanged; nodraft-lcurley-moq-archiveI-D (moq-dev’s OPEN #2574 still proposes folding that format into Hang). Minutes still exactly one doc (minutes-126-moq-202607201200, Monday, rev -01). - GitHub moq-wg: moq-transport — new issue #1837 (FETCH and REQUEST_ERROR encoding, mengelbart, July 31 13:44 UTC); no PRs merged. msf — issue #200 still OPEN (already logged). loc / secure-objects / cmsf / catalog-format / privacy-pass quiet.
- GitHub implementations: cloudflare/moq-rs (#198/#197/#199 MERGED July 31; release train moq-relay-ietf v0.7.25 + moq-pub/sub/clock/api/test-client), moq-dev/moq (11 merges July 31 incl 2577; OPEN 2580; issue #2570 CLOSED; relay v0.14.5 stands), openmoq/moqx (#531 MERGED; 533 afrind OPEN; issue #530 already logged), google/quiche moqt (0 commits since July 30 15:25) / moqtail/moqtail / video-dev/moq-js / facebookexperimental/moxygen / meetecho/imquic / Eyevinn/moqlivemock / Eyevinn/warp-player / Eyevinn/moqtransport / kota-yata/Moqtopus / gmarzot/aiomoqt / birneee/quiche_moq quiet.
- Interop runner: NEW report 2026-07-31 00:35:11 UTC (350/133/206/11, at-target 220) — +1 pass / −1 fail vs July-30; matrix/skip/at-target flat; pass 133 a new high for the 350-cell matrix. No Aug-1 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-rs, moq-dev, moq-loc, moq-transport, interop-runner, discussions-2026-07, index.md
Key findings:
The window’s clearest durable fact is that moq-rs shipped the upstream-retention fix rather than just merging it. The prior day landed #196 on one branch; July 31 took it the rest of the way — #198 backported the same “release upstream subscriptions for idle cached tracks / stop FIN-ing subgroup streams mid-object” fix to the draft-14 main branch (the production deployment), #197 added a companion ordering fix (wait for the upstream subscription before answering SUBSCRIBE_OK), and the whole thing was tagged as moq-relay-ietf v0.7.25 — the repo’s first release train since July 20. Relay-resource lifecycle (upstream held after downstream teardown) has been the recurring post-Vienna correctness front; this closes the loop from “fix merged” to “fix shipped on the branch operators actually run.”
moq-dev’s biggest single merge day is notable less for volume than for what it aligned to: the freshly-published LOC-04 and the still-unsubmitted lite-06. Amid ~6,000 LOC across 11 merges, #2578 pruned dormant vendored drafts, aligned relay-hops with moq-lite-06, and adopted LOC-04 timestamps — the first in-repo move onto the LOC-04 registry fix (draft published July 20, which relocated the LOC Timestamp code point off the 0x06 collision), continued in OPEN #2581 (adopt the draft-ietf-moq-loc-04 Timestamp code point). It’s the same spec-follows-in-code pattern the wiki tracked when moq-dev first chose the transport-18 §15.8 property IDs, now updated to the -04 registry. The two breaking refactors that were open the prior day (mux fMP4-by-segment #2568, subscription-bounds-as-positions #2569) both landed, as did the raw-QUIC-path-in-SETUP fix (#2572, closing #2570) — hardening rather than new capability, with relay v0.14.5 standing.
The WG channels went quiet again — the day was implementation-carried, the reverse of the prior window. After July 30’s four-PR editorial/security cluster on transport, July 31 produced no WG-document PRs at all; the only new WG item was Mathis Engelbart’s transport issue #1837 (FETCH and REQUEST_ERROR encoding), and Will Law’s LOC↔MOQT-stream-mapping question (msf #200) plus afrind’s two moqx PRs (MoQT safe-form names #532, per-track /metrics #533) keep a low-key cross-repo LOC-packaging/naming thread alive. Slack, the list, the datatracker, and MoQ Monthly were all quiet; the nightly runner ticked +1 pass to a 350-cell-matrix high of 133. The post-Vienna rhythm — WG docs and implementations trading off which carries a given day, on a settled draft-18 baseline — holds.
2026-07-31 — WG docs move; moq-rs fixes relay upstream-retention
TL;DR:
- The WG document repos carried the window — the reverse of the prior week’s implementation-only pattern — with the most transport editor’s-copy content movement since the pre-Vienna WGLC-prep push. afrind landed a four-PR editorial/security cluster on moq-transport July 30: #1824 resolves the REDIRECT empty-namespace/name ambiguity (+6/−9; the fix sharmafb’s closed #1805 had attempted), #1823 adds a security consideration for logging untrusted string fields (+9/−0), #1822 adds a Timed-Out gap status for expired Fill Timeout (+14/−13), and #1817 defines host resolution for
moqt://URIs (+10/−0 — tightening the URI semantics michalhosna’s July-29 issue #1835 reopened); Mathis Engelbart’s one-line #1836 fixes CLIENT_SETUP→SETUP naming. On msf, Will Law merged #196 catalog-references-catalog (catalog composition, +32/−2) and opened issue #200 (map LOC packaging to MOQT streams). transport-19 stands; all July-30 WG activity timestamped 16:31–21:47 UTC (after the last update’s cutoff). Slack quiet (newest still Suhas’s July-29 reply), list quiet (no new message since Magnus Westerlund’s July-29 minutes email; digest next due ~Aug 2), no datatracker revision/draft bumps, minutes still the single Monday doc at rev -01. - On the code side, Mike English’s moq-rs #196 landed a real fix for the recurring relay upstream-retention bug, while moq served DASH from moq-hls, reverted standalone captions back to dev, and floated folding the moq-archive format into Hang (relay v0.14.5). moq-rs #196 (+1740/−150) “release upstream subscriptions for idle cached tracks, and stop FIN-ing subgroup streams mid-object” fixes issue #191 (dmorn) — the same upstream-held-after-teardown class as moqtail #332. moq-dev added DASH-from-moq-hls (#2566), frame-precise sub/fetch bounds (#2537, +3089/−243), a demux-based JS publish pipeline (#2541/#2561); the standalone-caption feature (#2533) was reverted (#2571 “keep captions on dev”); and OPEN #2574 proposes folding
moq-archiveinto Hang as a “Recording” section instead of a standalone I-D. quiche (moqt) landed one small relay ASAN test fix. - Implementations: moq-rs #196 MERGED (englishm, +1740/−150 — fixes upstream-retention #191). moq MERGED July 30 #2566 DASH-from-hls +784/−33, #2537 frame-precise bounds +3089/−243, #2541 demux-publish +1442/−341, #2561 fan-media +914/−254, #2565 lingering-route fix, #2563 gossip-URL scheme, #2555 (Qizot) /nodes +644/−32, #2567 A/V docs, #2571 revert captions (+39/−1858, undoes #2533); OPEN #2574 archive→Hang, #2572 raw-QUIC-path-in-SETUP (closes issue #2570), #2568!/#2569! breaking mux/bounds; release moq-relay v0.14.5 (July 31). moq-transport 1817 MERGED. msf #196 MERGED, #200 issue OPEN. quiche (moqt) 1 commit (RelayTwoClientsQueueClose ASAN). moqx #529 moxygen-sync MERGED, #530 auth-anonymous-claim issue OPEN (michalhosna). moqtail, moq-js, moxygen, imquic, Eyevinn, warp-player, moqtransport, Moqtopus, aiomoqt, birneee/quiche_moq quiet.
- Interop: one new cut — the 2026-07-30 00:31:32 UTC cut: 350 / 132 / 207 / 11 (~37.7% pass; at-target draft-18 220 · 0 ahead · 130 behind). +6 pass / −6 fail vs the July-29 cut (350/126/213/11); matrix/skip/at-target flat — eighth straight cut on the settled 350-cell matrix (pass 128 → 126 → 132, rebounding to its best since July 23), at-target held at 220 for a ninth straight cut. Still targets draft-18. No July-31 cut at check time. Off-runner: no new ad-hoc reports; still no published IETF-126 interop report.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): no new traffic — newest channel message is still Suhas’s July-29 20:14 EEST reply on Miniero’s MoQ-over-MoQ blog thread (already logged). No July 30/31 messages. - IETF mailing list: no genuinely new message — the newest is still Magnus Westerlund’s July-29 “Draft Minutes for IETF 126” (already logged; corrections due ~Aug 12). No new weekly GitHub digest (last July 26; next due ~Aug 2), WGLC announcement, or interop-report post.
- IETF Datatracker: no revision bumps, no new individual drafts — transport-19, secure-objects-01, loc-04, msf-01, cmsf-01, privacy-pass-auth-03, moq-lite-05,
draft-altanai-moq-relay-geocode-01(07-24) all unchanged; nodraft-lcurley-moq-archiveI-D (and moq-dev #2574 now proposes folding it into Hang instead). Minutes still exactly one doc (minutes-126-moq-202607201200, Monday, rev -01) — verified via?type=minutes&name__contains=126-moq→ count=1. - GitHub moq-wg: moq-transport — MERGED July 30 #1836 (mengelbart), #1824/#1823/#1822/#1817 (afrind). msf — MERGED #196 (wilaw, +32/−2); OPEN issue #200 (wilaw). loc / secure-objects / cmsf / catalog-format / privacy-pass quiet.
- GitHub implementations: cloudflare/moq-rs (#196 MERGED July 30), moq-dev/moq (MERGED July 30 2571-revert; OPEN 2569, issue #2570; release moq-relay v0.14.5 July 31 00:58 UTC), google/quiche moqt (1 commit July 30), openmoq/moqx (#529 MERGED, #530 issue OPEN), moqtail/moqtail / video-dev/moq-js / facebookexperimental/moxygen / meetecho/imquic / Eyevinn/moqlivemock / Eyevinn/warp-player / Eyevinn/moqtransport / kota-yata/Moqtopus / gmarzot/aiomoqt / birneee/quiche_moq quiet.
- Interop runner: NEW report 2026-07-30 00:31:32 UTC (350/132/207/11, at-target 220) — +6 pass / −6 fail vs July-29; matrix/skip/at-target flat. No July-31 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-transport, moq-rs, moq-dev, interop-runner, discussions-2026-07, index.md
Key findings:
The window’s most material fact is that the transport editor’s copy moved in force — the WG documents, not the implementations, carried the day for the first time since before Vienna. For most of the post-Vienna week the WG repos produced comment-only churn while moq-dev and the relays did the substantive work. July 30 inverted that: afrind landed four Path-to-WGLC editorial/security PRs that had been sitting open (REDIRECT empty-namespace ambiguity, an untrusted-string-logging security consideration, a Timed-Out gap status for expired Fill Timeout, and — the newest — a definition of host resolution for moqt:// URIs), plus a new URI-host-resolution addition, while Mathis Engelbart fixed the CLIENT_SETUP→SETUP naming and Will Law merged MSF catalog-references-catalog composition. None change the wire (transport-19 stands), but together they are the most editor’s-copy content movement since the pre-Vienna WGLC-prep cluster — the documents grinding toward Last Call while the minutes sit in their two-week review.
The clearest durable code advance is moq-rs finally fixing the relay upstream-retention bug the ecosystem has hit repeatedly. Mike English’s #196 releases upstream subscriptions for idle cached tracks and stops FIN-ing subgroup streams mid-object — directly closing dmorn’s moq-rs #191 and the same class as moqtail #332 and the Cloudflare SUBSCRIBE failures seen at the Vienna Hackathon. Relay resource lifecycle (upstream held after downstream teardown) has been the recurring post-Vienna correctness front across implementations; this is the first substantial fix to land for it on the Cloudflare relay, and it moves a normally-quiet codebase.
moq-dev’s day carried two notable reversals worth tracking rather than a new capability. The standalone-text-track captions that merged at the prior window’s edge (#2533) were reverted the same day (#2571, “keep captions on dev”) — so on main Hang captions are not yet standalone text tracks, correcting the prior update’s framing. And the moq-archive chunked-archival format that landed in-repo July 25 as a would-be draft-lcurley-moq-archive may not ship standalone at all: OPEN #2574 proposes folding it into Hang as a “Recording” section — a pivot away from a separate I-D, consistent with the datatracker still showing no archive draft. Around those, the durable additions were real (DASH manifests from moq-hls, frame-precise subscription/fetch bounds, a demux-based JS publish pipeline), cut as moq-relay v0.14.5.
2026-07-30 — Slack revives; IETF-126 minutes go out for WG review
TL;DR:
- Slack
#moqbroke its ~4-day silence and the mailing list produced one materially process-relevant message — together they make this the liveliest post-Vienna day in a week. On Slack, Lorenzo Miniero (Meetecho) published a long blog write-up — “Streaming the IETF MoQ sessions with MoQ… kinda!” — on how Meetecho restreamed the three IETF-126 MoQ sessions over MoQ itself (via imquic) alongside the usual WebRTC path, a WebRTC-to-MoQ translation experiment the chairs advertised on their intro slides (Suhas + afrind reacted); Tobbe flagged the MoQ-heavy RTCon Kraków (September; Curley/Miniero/Law/Simon speaking; early-bird July 31, codeFRIEND20). On the list, Magnus Westerlund (Ericsson) formally circulated the IETF-126 draft minutes for WG review (“Draft Minutes for IETF 126”, July 29 14:02 UTC, verified real via raw-fetch + 404 control; corrections due ~Aug 12). This resolves the wiki’s long “IETF-126 minutes” watch precisely: the datatracker holds exactly one MOQ minutes doc — the Monday July-20 session, now bumped to rev -01 (updated July 29 14:00 UTC) — while the agenda’s Thursday (14:30) and Friday (14:00) sessions ran (per Miniero’s blog) but were never separately minuted, so the Thu/Fri slugs 404 by design, not because they are pending. The Monday minutes officially record the contested Path-to-WGLC calls the wiki already tracks: Cullen Jennings’s formal objection to the filter/SSTS split (~50/50 room), Westerlund’s separate-repos rationale, and AD Mike Bishop’s “chairs call consensus; dissenters may appeal” ruling. On the WG repos, Ian Swett’sINCLUDE_PROPERTIESparameter (#1813, +11/−0) MERGED July 29 on the editor’s copy (transport-19 stands), michalhosna opened amoqt://URI-scoping question (#1835), and Will Law opened MSF init-property-refactor #199. - moq cleared a backlog of large native-A/V PRs (GPU frame rendering, timeline rework, echo cancellation, GOAWAY reshape, captions-as-text-tracks), and two normally-quiet codebases stirred — moq-rs and quiche (moqt) both broke multi-week quiet streaks. moq-dev cut moq-ffi v0.3.5 / moq-cli v0.9.5 (relay v0.14.4 stands); moq-rs merged a stderr-logging fix; quiche landed three relay-publisher fixes; moqx now advertises MOQT draft-18; moqtail logged a relay upstream-retention bug (#332).
- Implementations: moq big merge day — MERGED July 29–30 #2552 GPU render +2817/−107, #2553 RGB color +728/−95, #2547 timeline rework +3500/−1243, #2538 echo cancel +1481/−28, #2542 GOAWAY reshape +4256/−160, #2533 captions text-tracks +1858/−39, 2558 route/capture fixes; issues 2554 CLOSED; OPEN #2561 fan-media +913/−254, #2560 kio WaiterCell/Deque, #2559 recover-capture, #2563 gossip peers, #2555 (Qizot) /nodes; releases moq-ffi v0.3.5 / moq-cli v0.9.5, relay v0.14.4 stands. moq-rs #194 stderr-logging MERGED (englishm, +21/−0), #195 release OPEN. quiche (moqt) 3 commits (REQUEST_UPDATE queue split; 2 MoqtRelayTrackPublisher fixes). moqx 511 MERGED (afrind/gmarzot; #526 advertises draft-18). moxygen libev/MNS executor path + datagram END_OF_GROUP fix. Eyevinn #119 CTA-608-in-AV1 OPEN (tobbee, +463/−484). moqtail #332 relay-retention bug OPEN (dmorn). moq-transport #1813 MERGED, #1834 OPEN, #1835 issue OPEN. msf #199 OPEN. moq-js, warp-player, moqtransport, imquic, Moqtopus, aiomoqt, birneee/quiche_moq quiet.
- Interop: one new cut — the 2026-07-29 00:30:51 UTC cut: 350 / 126 / 213 / 11 (~36.0% pass; at-target draft-18 220 · 0 ahead · 130 behind). −2 pass / +2 fail vs the July-28 cut (350/128/211/11); matrix/skip/at-target flat — seventh straight cut on the settled 350-cell matrix (pass 128 → 128 → 126), at-target held at 220 for an eighth straight cut. Still targets draft-18. No July-30 cut at check time. Off-runner: no new ad-hoc reports; still no published IETF-126 interop report.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): channel revived after ~4 days quiet — three genuinely new July-29 items: Miniero’s 13:11 EEST MoQ-over-MoQ blog-post announcement (meetecho.com/blog/moq-ietf126), Tobbe’s 18:41 EEST RTCon-Kraków note (rtcon.swmansion.com, early-bird July 31, codeFRIEND20), and reactions from afrind (19:41) + Suhas (20:14). Both blog + conference URLs verified HTTP 200. - IETF mailing list: one genuinely new message — Magnus Westerlund’s “[Moq] Draft Minutes for IETF 126” (July 29 14:02 UTC, permalink), asking for review/corrections within ~2 weeks. Verified real via raw
curl(real ID → HTTP 200,From: magnus.westerlund@ericsson.com; fabricated control ID → HTTP 404). No new weekly GitHub digest (last was July 26; next due ~Aug 2); no new replies on the Top-Tracks/SSTS thread. - IETF Datatracker: no revision bumps, no new individual drafts — transport-19, secure-objects-01, loc-04 (07-20), msf-01, cmsf-01, privacy-pass-auth-03, c4m-01, moq-lite-05,
draft-altanai-moq-relay-geocode-01(07-24) all unchanged; nodraft-lcurley-moq-archive, nodraft-lcurley-moq-lite-06. IETF-126 minutes resolved: the group has exactly one minutes doc (minutes-126-moq-202607201200, Mon 12:00) now at rev -01 (datatracker API + materials page confirm; updated 2026-07-29T14:00:56Z); the agenda scheduled three MOQ sessions (Mon 12:00 / Thu 14:30 / Fri 14:00) but Thu/Fri were never minuted — their slugs 404 permanently, not pending. - GitHub moq-wg: moq-transport — MERGED #1813 (INCLUDE_PROPERTIES, ianswett, +11/−0, July 29) and #1831 (PUBLISH_DONE stream-count 2^64−1, vasilvv, July 29 — already logged); OPEN #1834 (ianswett) + new issue #1835 (michalhosna, URI query scoping). msf — OPEN PR #199 (init track/object property refactor, wilaw, +22/−26). loc / secure-objects / cmsf / catalog-format / privacy-pass quiet.
- GitHub implementations: moq-dev/moq (MERGED July 29–30 2558, issues 2554 closed; OPEN 2555; releases moq-ffi v0.3.5 / moq-cli v0.9.5, relay v0.14.4 stands), cloudflare/moq-rs (#194 MERGED, #195 OPEN), google/quiche moqt (3 commits July 29), openmoq/moqx (#528/#527/#526/#525/#511 MERGED July 29), facebookexperimental/moxygen (libev/MNS executor + datagram END_OF_GROUP fix commits July 29), Eyevinn/moqlivemock (#119 OPEN July 29), moqtail/moqtail (#332 OPEN July 29), video-dev/moq-js / Eyevinn/warp-player / Eyevinn/moqtransport / meetecho/imquic / kota-yata/Moqtopus / gmarzot/aiomoqt / birneee/quiche_moq quiet.
- Interop runner: NEW report 2026-07-29 00:30:51 UTC (350/126/213/11, at-target 220) — −2 pass / +2 fail vs July-28; matrix/skip/at-target flat. No July-30 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-transport, moq-dev, interop-runner, discussions-2026-07, index.md
Key findings:
The window’s cleanest durable gain is a correction to the wiki’s own recurring narrative: the IETF-126 minutes are neither three docs nor perpetually “unposted.” For seven straight updates the log framed the Vienna minutes as “Thursday/Friday still 404 (only Monday’s up),” implying two more docs were pending. Checking the datatracker directly (API + materials page + agenda) resolves it: there is one MOQ minutes doc — the Monday July-20 session — and it is the whole record; the Thursday and Friday sessions ran (Miniero’s blog and the agenda both confirm three sessions) but were never given their own minutes docs, so those slugs 404 by design. Magnus Westerlund revising that doc to -01 and putting it out for a two-week WG review (July 29) is the concrete new event, and it makes the contested filter/SSTS-split consensus — Cullen Jennings’s objection, the AD’s “dissenters may appeal” ruling — officially citable rather than reconstructed from GitHub artifacts.
Slack reviving is a reminder that the channel’s silence is not the same as the ecosystem’s. The most visible community artifact of the window — Miniero’s detailed blog on restreaming the IETF-126 MoQ sessions over MoQ — was a Slack post, as was the RTCon Kraków heads-up (a September conference with four MoQ regulars speaking). Neither is spec substance, but both are the kind of ecosystem-momentum signal (a production WebRTC-to-MoQ translation experiment shown live to the WG; MoQ getting conference billing) that only surfaces on the chat channel, vindicating the standing rule to probe #moq every update even through multi-day silences.
On the code side the pattern is consolidation, not new fronts. moq-dev spent the day landing PRs that had been open for a window — GPU-side frame rendering, the timeline-as-complete-segments rework, echo cancellation completing the native-audio duplex epic, and the GOAWAY-API reshape — rather than opening a new capability; the release was a point bump (ffi/cli), not a relay minor. That two habitually-quiet codebases (cloudflare/moq-rs, google/quiche moqt) each surfaced small fixes the same day, and moqtail logged yet another relay upstream-retention-after-teardown bug, keeps the post-Vienna theme intact: the active frontier is relay lifecycle correctness and native-media hardening, not protocol design.
2026-07-29 — Top Tracks × SSTS thread draws Nokia + Akamai; MSF data-role merges
TL;DR:
- The prior day’s one WG-substance item became a real design discussion: Ian Swett’s “Top Tracks and SSTS (or ABR in general)” thread drew two July-28 implementer replies (both raw-fetch + 404-control verified), converging on a “discovery then selection” model. Yu You (Nokia, reply) frames a two-step pipeline — the Top-N filter answers “what” (promote the N highest-property tracks, publisher subscribes upstream to all N) and SSTS answers “how” (select exactly one; the relay keeps upstream to all N but sets downstream forwarding to 0 for the unselected → “Top-1 delivery”, no overdelivery). Will Law (Akamai, reply) treats Top Tracks as discovery like
SUBSCRIBE_NAMESPACE(switching-set assignment via aSWITCHING_SET_ASSIGNMENTparam onPUBLISH_OK) and floats unifying both into oneTRACK-FILTERSframework (SSTS params become reserved track properties + a single “apply SSTS” flag). Neither answers Swett’s demo-existence question. Recorded on moq-transport. Also on the WG side: Will Law merged MSF #194datareserved track role + #193 catalog-publishing guidance (first MSF-repo merges since July 14), Swett opened transport #1834 PUBLISH can contain Subscription Parameters, and Vasiliev’s #1831 PUBLISH_DONE stream-count bound MERGED July 29. No new Slack (silent since July 25), no datatracker revision/draft bumps, and — a seventh straight update — IETF-126 Thursday/Friday minutes STILL 404 (only Monday’s up). - moq ran another native-A/V day (no new release — v0.14.4 stands): client-side GPU frame rendering, a large HLS/timeline rework, the docs site now renders the IETF drafts, and — notably — lite-06 wire work began in code. #2552 render decoded frames on the GPU (+2070/−19) and RGB-capture color fix #2553 both OPEN; #2547 timeline as a single track of complete segments grew to +3491/−1236 (OPEN); #2550 drop Exclude Hop from ANNOUNCE_REQUEST in lite-06 MERGED — first in-code sign of a moq-lite -06 (no
-06on the Datatracker yet, recorded on moq-lite); docs-render-drafts #2548 +--client-connectfix #2551 MERGED. moxygen landed afrind’s subgroup-reset-on-cancel (#202, +62/−1) + mobile-client work. - Implementations: moq July-28 (MERGED #2550 lite-06 ANNOUNCE_REQUEST +189/−98, #2548 docs-render-drafts +637/−4, #2551 —client-connect, #2549 js version bumps, #2546 tidy; OPEN #2552 GPU render +2070/−19, #2553 RGB color, #2547 timeline rework +3491/−1236; #2542 GOAWAY reshape +4131/−159 & #2545 t0ms failover still OPEN; no new release, v0.14.4 stands). moxygen #202 subgroup-reset-on-cancel (afrind, +62/−1) + #207 FOLLY_XLOG fix (gmarzot) landed July 28; #206 qlog QLogger OPEN; mobile-client commits. moqx #524 moxygen-sync MERGED (trivial) +
snapshot-latestpre-release; 519 OPEN. moq-transport #1834 OPEN (Swett), #1831 MERGED (Vasilvv), #1805 CLOSED-unmerged (sharmafb). msf 194 MERGED (Will Law). Eyevinn, warp-player, moqtransport, moq-rs, moqtail, quiche (moqt, 0 commits), moq-js, imquic, Moqtopus, aiomoqt, birneee/quiche_moq quiet. - Interop: one new cut — the 2026-07-28 00:33:50 UTC cut: 350 / 128 / 211 / 11 (~36.6% pass; at-target draft-18 220 · 0 ahead · 130 behind). −1 pass / +1 fail vs the identical July-26/July-27 cuts (350/129/210/11); matrix/skip/at-target flat — sixth straight cut on the settled 350-cell matrix (pass band 128–131: 128 → 129 → 129 → 128), at-target held at 220 for a seventh straight cut. Still targets draft-18. No July-29 cut at check time. Off-runner: no new ad-hoc reports; still no published IETF-126 interop report.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): no new traffic — newest channel message is still Ian Swett’s July-25 13:37 EEST MoQ-over-Moq note (already logged). No July 26/27/28/29 messages. - IETF mailing list: two genuinely new messages — both July-28 replies to Ian Swett’s Top-Tracks/SSTS thread: Yu You (Nokia, permalink, 08:42 UTC) and Will Law (Akamai, permalink, 09:48 UTC). Verified real via raw
curl(real IDs → HTTP 200 with valid akamai.com / nokia.com+microsoft.com DKIM; fabricated control ID → HTTP 404). No new weekly GitHub digest (last was July 26; next due ~Aug 2), WGLC announcement, or interop-report post. - IETF Datatracker: no revision bumps, no new individual drafts — transport-19, secure-objects-01, loc-04 (07-20), msf-01, cmsf-01, privacy-pass-auth-03, c4m-01, moq-lite-05, and
draft-altanai-moq-relay-geocode-01(07-24) all unchanged; nodraft-lcurley-moq-archiveand nodraft-lcurley-moq-lite-06submitted (both in-repo only). IETF-126 minutes STILL NOT posted — Thursday (minutes-126-moq-202607231430) and Friday (...202607241400) both 404 (raw-curl confirmed); only Monday’s...202607201200is up (seventh straight update). - GitHub moq-wg: moq-transport — OPEN PR #1834 (PUBLISH can contain Subscription Parameters, ianswett, July 28), MERGED PR #1831 (PUBLISH_DONE max Stream Count → 2^64−1, vasilvv, July 29), CLOSED-unmerged PR #1805 (Redirect empty name/namespace, sharmafb, July 28). msf — MERGED PR #194 (
datareserved track role, +14/−13) and PR #193 (catalog-object publishing guidelines, +8/−2), both Will Law, July 28. loc / secure-objects / cmsf / catalog-format / privacy-pass quiet. - GitHub implementations: moq-dev/moq (MERGED July 28 2546; OPEN 2547; 2545 still OPEN; no new release), facebookexperimental/moxygen (#202/#207 landed July 28, #206 OPEN, mobile-client commits), openmoq/moqx (#524 MERGED + snapshot-latest pre-release July 28, 519 OPEN), cloudflare/moq-rs / video-dev/moq-js / google/quiche moqt (last commit July 21) / moqtail/moqtail / birneee/quiche_moq / Eyevinn/moqlivemock / Eyevinn/warp-player / Eyevinn/moqtransport / meetecho/imquic / kota-yata/Moqtopus / gmarzot/aiomoqt quiet.
- Interop runner: NEW report 2026-07-28 00:33:50 UTC (350/128/211/11, at-target 220) — −1 pass / +1 fail vs July-26/27; matrix/skip/at-target flat. No July-29 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-transport, moq-msf, moq-lite, interop-runner, discussions-2026-07, index.md
Key findings:
The Top Tracks × SSTS thread turning into a two-implementer design exchange is the window’s most material fact — and the answers converge more than the question implied. Ian Swett’s July-27 challenge (Top Tracks without an ABR loop is undesigned for the flagship video-conferencing case) drew independent July-28 replies from Nokia and Akamai that agree on the shape: Top Tracks is discovery (“which tracks are candidates”), SSTS is selection (“which single one fits current conditions”), and the relay realizes “Top-1 delivery” by holding upstream to all N candidates while forwarding only the selected one downstream. Will Law goes further, proposing the two mechanisms fold into a single TRACK-FILTERS framework with SSTS parameters as reserved track properties — a genuine design direction, not just clarification. What’s still unanswered is Swett’s sharpest point: nobody pointed to a demo, even simulated, of the two working together, so the gap between MoQ’s filter primitives and a real conferencing ABR loop remains open on moq-transport.
The MSF data-role and catalog-guidance merges are the first WG-doc content change since the pre-Vienna push — small, but they move the editor’s copy, not just the issue tracker. Will Law landing two of his July-17 pre-WGLC hygiene PRs (a new data reserved track role; updated catalog-object publishing guidance) are the first MSF-repo merges since the July-14 init-data cluster, and they fit the same Path-to-WGLC registry/editorial pattern the whole set is grinding through. Paired with Swett’s PUBLISH-subscription-parameters PR and Vasiliev’s PUBLISH_DONE stream-count merge, the WG channels produced modest but real forward motion while the Vienna session minutes stay unposted for a seventh straight update.
moq-dev quietly opened a new front — a lite-06 wire — while continuing to push native A/V. The single merged #2550 (dropping Exclude Hop from ANNOUNCE_REQUEST “in lite-06”) is the first in-code marker of a next moq-lite revision, the same in-code-before-Datatracker sequence that preceded the published -05; worth watching for a draft-lcurley-moq-lite-06 submission. Around it, the day’s larger PRs (GPU-side frame rendering, a full HLS/timeline-as-complete-segments rework) and the docs site now rendering the IETF drafts continue the post-Vienna pattern: the ecosystem’s energy is in native media and relay/client hardening, cut without a version bump (v0.14.4 stands).
2026-07-28 — Ian Swett’s Top-Tracks-vs-SSTS question; moq-dev’s biggest post-Vienna day
TL;DR:
- The quiet post-Vienna pattern held on the WG channels, but this window finally had one substantive mailing-list thread: Ian Swett (Google) asking how the Top Tracks Filter is actually supposed to work with SSTS / ABR. His July-27 20:10 UTC post “Top Tracks and SSTS (or ABR in general)” (verified real via raw-fetch + a 404 control test) argues ABR is essential for the video-conferencing use case and poses four concrete mechanism questions the current Top-Tracks PR #1830 doesn’t answer — initial
SUBSCRIBE_TRACKSconstruction (property-filter + Top Tracks?), focal-viewport downswitch priority, client-pinned-feed prioritization, and whether any demo shows the two working together — noting Google Meet’s production solution is “sufficiently complex I can’t summarize it” and doubting MoQ will match it soon. Recorded as an open design question on moq-transport. Alongside it, a small PUBLISH_DONE WGLC-hygiene cluster (Mo Zanaty #1833/#1832, Victor Vasiliev #1831) and a loc codec-string PR (#29, Jordi Cenzano). No new Slack (silent since July 25), no datatracker revision/draft bumps (nodraft-lcurley-moq-archivesubmission yet), and — a sixth straight update — IETF-126 Thursday/Friday minutes STILL 404 (only Monday’s up). - moq had its busiest day since Vienna and it carried the window: the cache-pool leak saga closed structurally, a new audio-output push landed, and the AWS-seeded GOAWAY drain was reshaped into a first-class API (v0.14.4). #2526 replace the global LRU cache pool with per-track write-time eviction (+2069/−1020) MERGED, closing the July-26/27 publish-path leak;
moq-audiogained decoded-PCM speaker playback (#2529, +2197/−9, MERGED) and microphone echo cancellation (#2538, OPEN); #2542 reshape the GOAWAY API, move migration into Reconnect (+3441/−143, OPEN) builds on AWS’s Kyle Sletmoe seed (#2490); captions became standalone text tracks (#2533); plus a loom model-check of concurrent handoffs (#2543). Notable cross-project move: afrind (Meta) is now committing to moqx (build/metrics tooling + relay-forwarder-ownership refactors). - Implementations: moq big July-27 day — MERGED #2526 cache-pool→per-track eviction +2069/−1020, #2529 PCM speaker +2197/−9, #2543 loom handoff check, #2530 catalog Estimator +834/−515, #2536 poll-native Deadline, #2531 Win/macOS CI, #2539 jemalloc profiling, #2510 remote-error surfacing, #2484 (AaronKohlmeier) non-seq group delivery; OPEN #2542 GOAWAY reshape +3441/−143, #2538 echo cancel, #2537 frame-anchored sub/fetch +2287/−218, #2533 caption text-tracks, #2541 demux-publish, #2547 (Jul 28) aligned-segment timeline, #2545 (t0ms) 1+1 failover drill, #2534 (wrangelvid) restart-numbering fix; releases moq-relay v0.14.4 / moq-ffi v0.3.4 / moq-cli v0.9.4. moqx afrind-led — MERGED #523 build-jobs / #520 histogram-window / #517 moxygen-sync; OPEN 521 forwarder-ownership refactors, #519 (michalhosna) de-bespoke build. moqtransport #15 golang.org/x bump MERGED (tobbee). warp-player #168 dependabot OPEN. moxygen #208 (afrind) CLOSED-unmerged. Eyevinn, moq-rs, moqtail, quiche (moqt, 0 commits), moq-js, imquic, Moqtopus, aiomoqt, birneee/quiche_moq quiet.
- Interop: one new cut — the 2026-07-27 00:35:46 UTC cut: 350 / 129 / 210 / 11 (~36.9% pass; at-target draft-18 220 · 0 ahead · 130 behind). Byte-for-byte identical to the July-26 00:37 cut (350/129/210/11, at-target 220): pass/fail/skip/matrix/at-target all unchanged, only the timestamp advanced — fifth straight cut on the settled 350-cell / at-target-220 matrix, at-target held at 220 for a sixth straight cut. Still targets draft-18. No July-28 cut at check time. Off-runner: no new ad-hoc reports; still no published IETF-126 interop report.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): no new traffic — newest channel message is still Ian Swett’s July-25 13:37 EEST MoQ-over-Moq note (already logged). No July 26/27/28 messages. - IETF mailing list: one genuinely new thread — Ian Swett’s
[Moq] Top Tracks and SSTS (or ABR in general)(July 27 20:10 UTC, permalink); verified real via rawcurl(real ID → HTTP 200 with valid gmail+ietf.org DKIM,From: Ian Swett <ianswett@google.com>,Date: Mon, 27 Jul 2026 16:10:09 -0400; fabricated control ID → HTTP 404). No replies yet. The[Moq] Weekly github digestat the top of the browse index is dated Sun 26 Jul 2026 02:35 -0700 — the July-26 digest already logged, not new. No WGLC announcement, consensus call, IETF-126-minutes email, or interop-report post. - IETF Datatracker: no revision bumps, no new individual drafts — transport-19, secure-objects-01, loc-04 (07-20), msf-01, cmsf-01, privacy-pass-auth-03, c4m-01, moq-lite-05, and
draft-altanai-moq-relay-geocode-01(07-24) all unchanged; nodraft-lcurley-moq-archiveI-D submitted (still in-repo only). IETF-126 minutes STILL NOT posted — Thursday (minutes-126-moq-202607231430) and Friday (...202607241400) both 404 (raw-curl confirmed); only Monday’s...202607201200is up (sixth straight update). - GitHub moq-wg: moq-transport — OPEN PR #1833 (remove PUBLISH_DONE SUBSCRIPTION_ENDED reason, mzanaty), PR #1831 (PUBLISH_DONE max Stream Count → 2^64−1, vasilvv), issue #1832 (Publish Done vs subscriber location filter, mzanaty), all July 27; #1830 Top-Tracks-Filter still OPEN (comment-only). loc — OPEN PR #29 (Codecstring definition, jordicenzano, July 27). msf / secure-objects / cmsf / catalog-format / privacy-pass quiet.
- GitHub implementations: moq-dev/moq (~14 MERGED July 27 incl 2484; ~10 OPEN incl 2534 + #2547 July 28; releases moq-relay v0.14.4 / moq-ffi v0.3.4 / moq-cli v0.9.4), openmoq/moqx (#523/#520/#517 MERGED, 519 OPEN, #495 CLOSED — mostly afrind, July 27), Eyevinn/moqtransport (#15 MERGED July 27, tobbee), Eyevinn/warp-player (#168 dependabot OPEN July 27), facebookexperimental/moxygen (#208 CLOSED-unmerged July 27, afrind), cloudflare/moq-rs / video-dev/moq-js / google/quiche moqt (0 commits) / moqtail/moqtail / meetecho/imquic / kota-yata/Moqtopus / gmarzot/aiomoqt / birneee/quiche_moq / Eyevinn/moqlivemock quiet.
- Interop runner: NEW report 2026-07-27 00:35:46 UTC (350/129/210/11, at-target 220) — byte-for-byte identical to July-26. No July-28 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-transport, moq-dev, interop-runner, discussions-2026-07, index.md
Key findings: The window’s one WG-substance item is a good question, not a decision — and it targets exactly the seam the WGLC scope-reduction left open. IETF-126 split range filters and SSTS out of core transport but kept the Top Tracks Filter in it (PR #1830). Ian Swett’s thread presses on the natural consequence: Top Tracks without an ABR algorithm is fine for some cases, but the flagship video-conferencing use case needs both, and the mechanism for combining them — initial subscribe construction, focal-viewport priority, client-pinned-feed handling — is undesigned, with no demo (even simulated) to point at. His candid “Google Meet does something too complex to summarize, and I doubt we’ll match it soon” is the sharpest expression yet of the gap between MoQ’s filter primitives and a real conferencing ABR loop. It belongs on the moq-transport open-questions list precisely because it’s unresolved. moq-dev’s day is the clearest sign that the ecosystem’s post-Vienna energy is going into relay resilience and native A/V, not spec churn. Three threads converged July 27: the cache-pool leak that surfaced July 26 got its structural fix (per-track write-time eviction replacing the global LRU pool, #2526), the native audio stack advanced from capture to full duplex (decoded-PCM speaker output #2529 + microphone echo cancellation #2538 — the iroh-live upstreaming), and the AWS-contributed GOAWAY graceful-drain (#2490) was promoted into a first-class API with cluster migration moved into Reconnect (#2542), with a t0ms 1+1 source-failover drill (#2545) exercising it. Paired with a loom model-check of concurrent handoffs (#2543), it reads as hardening the relay for the messy lifecycle a CDN sees — the same operational-correctness frontier the whole ecosystem has been on since Vienna. A small but real cross-pollination signal: afrind is now working inside moqx. Alan Frindell (Meta, moxygen’s author) spent July 27 committing to OpenMOQ’s moqx fork — build parallelism, histogram-metrics windowing, and two relay-forwarder-ownership refactors (moving forwarder ownership off the shared registry onto the publisher exec) — while his own moxygen delivery-timeout test PR was closed unmerged. The moxygen→moqx fork is increasingly a shared workbench rather than a downstream mirror, which is worth watching as relay-lifecycle correctness stays the active problem.
2026-07-27 — Post-Vienna lull; a missed draft-18 consensus call surfaces
TL;DR:
- The quietest kind of post-Vienna day — but its most material fact is a correction: the “Consensus Call on Draft-18” mailing-list thread that the July-25 and July-26 updates each dismissed as a subagent hallucination is verifiably REAL. A rigorous raw-HTTP check with a control test (a fabricated message ID returns 404; the real one returns 200 with valid gmail + ietf.org DKIM signatures,
From: Martin Duke <martin.h.duke@gmail.com>,Date: Fri 24 Jul 2026 14:14 UTC) confirms it. Substance: co-chair Martin Duke opened a formal consensus call on the draft-17 → draft-18 diff July 6 (“file any resulting issues no later than 20 July … subsequent objections will face a higher bar”) and concluded it July 24 (“This concludes the consensus call on draft-18…“) — a Path-to-WGLC gate settling the -18 baseline, now recorded on moq-transport. Otherwise a third straight quiet post-Vienna day: no new Slack, no datatracker revision/draft bumps (transport-19, loc-04 newest; nodraft-lcurley-moq-archivesubmission yet), and — a fifth straight update — IETF-126 Thursday/Friday minutes STILL 404 (only Monday’s up). The one genuinely new list item was the weekly GitHub digest (July 26, first since July 19), a routine recap of moq-transport issue/comment churn. - Implementations carried the substance, led by moq chasing a publisher memory-leak in its new global cache pool, Eyevinn formally closing its CTA-608 caption epic (and opening a display-timing refinement), and moqx housekeeping. moq-dev’s “global LRU cache pool for groups” feature (
20c749d4) leaked ~75 kB/s on the publish path (~250 MB in 4.5 h); Luke Curley shipped the symptom fix (#2525, MERGED, +139/−10) July 26 then opened the structural rip-out (#2526, OPEN, +1265/−797 — replace the global pool with per-track write-time eviction) July 27. moqlivemock closed the caption-epic MAP issue (#104) and opened a caption-vs-group display-timing fix (#118, captions land ~0.6–0.76 s late). - Implementations: moq cache-pool leak saga (MERGED July 26 #2525 leak-release +139/−10, #2521 qmux WS-fallback 0.3.1 +4/−4, dependabot 2524; OPEN July 27 #2526 per-track write-time eviction +1265/−797; #2518 release-PR OPEN; no new release, v0.14.3 stands). Eyevinn #104 caption-epic MAP issue CLOSED + #118 caption-timing refinement OPEN (tobbee). moqx MERGED July 26 #513 moxygen-sync / #512 git-2.54 submodule fix; OPEN gmarzot issues #514 docs-refactor / #515 changelog-CI / #516 gflags static+dynamic build failure (July 27); 505 still OPEN. moq-transport 1824 still OPEN (comment-only touches). moq-rs, moqtail, quiche (moqt, 0 commits), moq-js, imquic, moxygen, Moqtopus, aiomoqt, birneee/quiche_moq, Eyevinn/warp-player quiet.
- Interop: one new cut — the 2026-07-26 00:37:06 UTC cut: 350 / 129 / 210 / 11 (~36.9% pass; at-target draft-18 220 · 0 ahead · 130 behind). +1 pass, −1 fail vs the July-25 00:34 cut (350/128/211/11, at-target 220); matrix/skip/at-target flat — fourth straight cut on the settled 350-cell / at-target-220 matrix, pass drifting in a ±3 band (130 → 131 → 128 → 129); at-target held at 220 for a fifth straight cut. Still targets draft-18. No July-27 cut at check time. Off-runner: no new ad-hoc reports; still no published IETF-126 interop report.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): no new traffic — newest channel message is still Ian Swett’s July-25 13:37 EEST MoQ-over-Moq note (already logged). No July-26 or July-27 messages. - IETF mailing list: one genuinely new message — the weekly GitHub digest (
[Moq] Weekly github digest (Media Over QUIC Activity Summary), Repository Activity Summary Bot, July 26 09:35 UTC), the first since July 19; a routine recap of moq-transport issues #1826–#1829/#1821 and a week of comments. CORRECTION: independently verified via rawcurl(real message ID → HTTP 200 with valid gmail+ietf.org DKIM; fabricated control ID → HTTP 404) that Martin Duke’s[Moq] Re: Consensus Call on Draft-18thread (July 24 14:14 UTC, permalink) is real — it was wrongly dismissed as a fetch artifact in the July-25 and July-26 updates. It concludes a consensus call Duke opened July 6 on the -17→-18 diff (issues due July 20). No WGLC announcement, IETF-126 minutes email, or interop-report post. - IETF Datatracker: no revision bumps, no new individual drafts — transport-19, secure-objects-01, loc-04 (07-20), msf-01, cmsf-01, privacy-pass-auth-03, c4m-01, moq-lite-05, and
draft-altanai-moq-relay-geocode-01(07-24) all unchanged; nodraft-lcurley-moq-archiveI-D submitted (still in-repo only). IETF-126 minutes STILL NOT posted — Thursday (minutes-126-moq-202607231430), Friday (...202607241400), and generic alias all 404 (raw-curl confirmed); only Monday’s...202607201200is up (fifth straight update). - GitHub moq-wg: quiet — no new PRs/issues July 26–27 across moq-transport (#1830 Top-Tracks-Filter, #1825, #1824 all still OPEN, comment-only touches), msf, loc, secure-objects, cmsf, catalog-format, privacy-pass.
- GitHub implementations: moq-dev/moq (#2525/#2521/#2522/#2523/#2524 MERGED July 26; #2526 OPEN July 27; #2518 release-PR OPEN; no new release), Eyevinn/moqlivemock (#104 CLOSED + #118 OPEN July 26), openmoq/moqx (#513/#512 MERGED July 26; 515 OPEN July 26, #516 OPEN July 27; all gmarzot housekeeping), cloudflare/moq-rs / moqtail/moqtail / google/quiche moqt (0 commits since July 24) / video-dev/moq-js / meetecho/imquic / facebookexperimental/moxygen / kota-yata/Moqtopus / gmarzot/aiomoqt / birneee/quiche_moq / Eyevinn/warp-player quiet.
- Interop runner: NEW report 2026-07-26 00:37:06 UTC (350/129/210/11, at-target 220) — +1 pass, −1 fail vs July-25; matrix/skip/at-target flat. No July-27 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-transport, interop-runner, discussions-2026-07, index.md
Key findings: The standing lesson about verifying list claims just cut both ways — and the fix is a control test, not a re-fetch. For two updates a subagent surfaced a “Consensus Call on Draft-18” thread, a “neutral re-fetch” failed to see it, and it was logged as a hallucination. This update establishes it was real all along: co-chair Martin Duke’s formal consensus call on the -17→-18 diff, opened July 6 and concluded July 24. The methodological correction is concrete — the mailing-list browse view and message pages are partly JS-rendered, so a WebFetch/summarizer round-trip can both invent threads and fail to confirm real ones; the reliable check is a raw HTTP fetch of the exact message permalink paired with a control (a fabricated ID must 404). Trusting either the subagent’s report or its debunk has now produced an error in each direction, so contested list claims get the raw-fetch-plus-control treatment from here on. The one real spec-process fact of the window is that fact — a WGLC gate closed. Beneath the correction is a genuine milestone: the WG has formally settled the draft-18 baseline (all -17→-18 diff objections were due July 20; the call closed July 24). That dovetails with the IETF-126 Monday minutes’ “Path to WGLC by scope reduction” and the ongoing IANA-registry cleanup — the transport document’s content is converging even as the Thursday/Friday session minutes stay unposted for a fifth straight update, leaving the meatier WGLC/filter-split/interop-report decisions still not citable from official sources. Everything else was implementation hygiene, and moq-dev’s cache-pool leak is the cleanest example. With the WG channels dark, the substance was a self-contained regression saga: a global LRU cache pool moq-dev added for group caching leaked memory on the publish path (memory alerts on a 1 GB VM), fixed as a symptom July 26 (#2525) and then architecturally reversed July 27 (#2526 replaces the global pool with per-track write-time eviction) — a reminder that the “generic cache everything” shortcut cost more than the per-track bookkeeping it replaced. Alongside it, Eyevinn closed its CTA-608 caption epic and immediately opened the next refinement (captions landing ~0.7 s late relative to their MoQ group), and moqx did release/build housekeeping — the ecosystem polishing what Vienna surfaced rather than opening new fronts.
2026-07-26 — Post-Vienna lull: moq-archive draft lands, CTA-608 captions complete
TL;DR:
- Four days after IETF-126 Vienna, the WG channels stayed dormant and the day’s substance was entirely in implementations. No new mailing-list traffic (newest is still Mo Zanaty’s July-24 Top-Tracks-Filter note), no new datatracker revisions or individual drafts (transport-19, loc-04 newest;
draft-altanai-moq-relay-geocode-01the newest I-D), and — a fourth straight update — all IETF-126 session minutes remain unposted (Thuminutes-126-moq-202607231430, Fri...202607241400, and the generic alias all 404; only Monday’s...202607201200is up). (A subagent source-sweep again surfaced a phantom “Consensus Call on Draft-18” list thread attributed to Martin Duke; a neutral re-fetch of the 12 newest list rows did NOT contain it — the same hallucination flagged July 25, so it was not logged.) - The two durable impl moves were moq landing its
moq-archivedraft in-repo (with a quiche-backend-parity push + a v0.14.3 train) and Eyevinn completing its CTA-608 caption epic. moq-dev merged ~10 PRs July 25 including draft-lcurley-moq-archive #2504 (chunked archival format, now committed but not yet on the datatracker), quiche→quinn backend parity #2514, and media/net robustness fixes (#2503/#2505/#2513/#2512/#2516/#2511) — cut as moq-relay v0.14.3 / moq-cli v0.9.3 / moq-ffi v0.3.3 / moq-gst v0.3.3; the sole July-26 artifact is fperex’s OPEN qmux WebSocket-fallback fix #2521. moqlivemock merged #117 (advertise CTA-608 in catalogs + decode-round-trip verification, +278/−5), completing the captions plan→code→verify arc across July 23–25. On Slack, the only substance was Ian Swett’s in-flight test of Miniero’s “MoQ-over-Moq” demo — video held but audio dropped because audio rodeOBJECT_DATAGRAM(no retransmits) vs video’s reliableSUBGROUP_HEADER, with no prioritization yet. - Implementations: moq big July-25 day (MERGED #2504 moq-archive draft, #2514 quiche parity +189/−66 breaking, #2503 raw-Frame/timestamp refactor breaking, #2505 idle-spliced-track linger, #2513 dup-subscribe fix +287/−157, #2512 HW pixel resize +383/−28, #2516 non-hex-catalog reject +219/−14, #2511 audio-codec discriminants, #2515 kio-readiness poll, #2519 version bump; OPEN 2518 + July-26 #2521 qmux WS fix by fperex; release moq-relay v0.14.3 / moq-cli v0.9.3 / moq-ffi v0.3.3 / moq-gst v0.3.3). moqlivemock #117 CTA-608 catalog+round-trip MERGED (tobbee, +278/−5) — caption epic complete. moqx housekeeping PRs 512 still OPEN (no merges). moq-transport #1830 Top-Tracks-Filter still OPEN; no other WG-repo activity. moq-rs, moqtail, quiche (moqt, 0 commits), moq-js, imquic, moxygen, Moqtopus, aiomoqt, birneee/quiche_moq, Eyevinn/warp-player quiet.
- Interop: one new cut — the 2026-07-25 00:34:23 UTC cut: 350 / 128 / 211 / 11 (~36.6% pass; at-target draft-18 220 · 0 ahead · 130 behind). Slight regression vs the July-24 00:31 cut (350/131/208/11, at-target 220): −3 pass, +3 fail, matrix/skip/at-target all flat — third straight cut on the settled 350-cell / at-target-220 matrix (131 → 131 → 128). Still targets draft-18. No July-26 cut at check time. Off-runner: no new ad-hoc interop reports and still no published IETF-126 interop report.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): one new thread — Ian Swett’s July-25 13:37 EEST (10:37 UTC) ”<@Lorenzo Miniero> Thanks for the MoQ-over-Moq. I think I noticed cases when the video kept working but the audio was intermittently dropping out. Is audio being prioritized higher? … it worked great until my internet completely disappeared” + Miniero’s 13:44 EEST reply (“Audio went over OBJECT_DATAGRAM (so no retransmissions, which might explain the drops) while video used SUBGROUP_HEADER. I don’t do any prioritizing yet”; glad it “worked 30 thousand feet in the air”). Newest channel message July 25 10:44 UTC; no July-26 traffic at check time. - IETF mailing list: nothing new — newest is still Mo Zanaty’s July-24 18:02 UTC “Top Tracks Filter moved to PR#1830”. (A subagent sweep reported a “Re: Consensus Call on Draft-18” message by Martin Duke; a neutral re-fetch of the 12 newest list rows via
/arch/browse/moq/did not contain it — the same phantom thread flagged in the July-25 update, treated as a fetch artifact and not logged.) No WGLC announcement, consensus call, weekly GitHub digest, minutes-posted note, or interop-report post. - IETF Datatracker: no revision bumps, no new individual drafts — transport-19, secure-objects-01, privacy-pass-auth-03, loc-04 (07-20), msf-01, cmsf-01, moq-lite-05, and
draft-altanai-moq-relay-geocode-01(07-24) all unchanged. IETF-126 minutes STILL NOT posted — Thursday (minutes-126-moq-202607231430), Friday (...202607241400), and genericminutes-126-moqall 404; only Monday’s...202607201200is up (fourth straight update). - GitHub moq-wg: quiet — no new PRs/issues July 25–26 across moq-transport (PR #1830 Top Tracks Filter still OPEN, last touched July 25), msf, loc, secure-objects, cmsf, catalog-format, privacy-pass. (msf #197 %-char hygiene, opened+closed July 24, was already logged.)
- GitHub implementations: moq-dev/moq (#2504/#2514/#2503/#2505/#2513/#2512/#2516/#2515/#2511/#2519 MERGED July 25; 2518 OPEN; #2521 OPEN July 26, fperex; releases moq-relay v0.14.3 / moq-cli v0.9.3 / moq-ffi v0.3.3 / moq-gst v0.3.3), Eyevinn/moqlivemock (#117 MERGED July 25), openmoq/moqx (#505/#511/#512 OPEN, no merges), cloudflare/moq-rs / moqtail/moqtail / google/quiche moqt (0 commits since July 24) / video-dev/moq-js / meetecho/imquic / facebookexperimental/moxygen / kota-yata/Moqtopus / gmarzot/aiomoqt / birneee/quiche_moq / Eyevinn/warp-player quiet.
- Interop runner: NEW report 2026-07-25 00:34:23 UTC (350/128/211/11, at-target 220) — −3 pass, +3 fail vs July-24; matrix/skip/at-target flat. No July-26 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-dev, moqlivemock, interop-runner, discussions-2026-07, index.md
Key findings:
The post-IETF trough is now a familiar shape: WG channels go dark, implementations carry everything. This is the second consecutive genuinely quiet post-Vienna day — no list traffic, no datatracker movement, IETF-126 minutes still unposted (all session URLs 404 for a fourth straight update) — and, as on July 24–25, the entire signal came from GitHub and one Slack thread. The standing lesson holds: keep re-checking the per-session minute docs in the days after IETF week, because the meaty WGLC / filter-split / SSTS / interop-report decisions from Vienna are still not citable from official sources; and keep verifying list claims independently — the subagent sweep re-hallucinated the exact “Consensus Call on Draft-18 / Martin Duke” thread that a re-check debunked last update, and a neutral re-fetch again showed it isn’t in the archive.
moq-dev’s moq-archive draft moving from roadmap issue to committed in-repo draft is the window’s most durable spec-adjacent fact. Luke Curley’s chunked, arrival-ordered archival format for MoQ tracks — floated July 23 as roadmap issue #2456 — is now an actual draft-lcurley-moq-archive committed to the monorepo (#2504), though not yet submitted to the datatracker. Paired with the quiche-backend-parity push (#2514) and the v0.14.3 train, it’s the same pattern the wiki has tracked all month: moq-dev prototypes format/transport ideas in code first, then (sometimes) turns them into individual I-Ds. Worth watching the datatracker for a formal draft-lcurley-moq-archive-00 submission.
Eyevinn’s CTA-608 epic is the cleanest recent plan→code→verify arc, and the Swett/Miniero exchange is a small but instructive delivery-mode signal. The captions work went from planning issues (#104–#113, July 23) to a SEI-generation package + four-path injection (#114/#115, July 24) to catalog advertisement + cross-packaging round-trip verification (#117, July 25) in three days — a complete accessibility-signaling feature landed and verified, with only warp-player rendering (#156) still open. And Ian Swett’s in-flight test of Miniero’s demo surfaced a concrete design point the WG’s reliability discussions keep circling: audio carried on unreliable OBJECT_DATAGRAM degrades first on a lossy link while video on reliable SUBGROUP_HEADER holds — the inverse of the usual “protect the audio” instinct unless the sender explicitly prioritizes, which Miniero’s demo does not yet do.
2026-07-25 — Post-Vienna: CTA-608 captions land; moq-dev audio push
TL;DR:
- The day after IETF-126 Vienna wrapped, the Friday session’s substance is legible only through the GitHub artifacts it spawned — because all three MoQ session minutes are still unposted.
minutes-126-moq-202607231430,...202607241400, and the genericminutes-126-moqalias all still 404; only Monday’s...202607201200is up. The Friday threads surfaced July 24 as: Mo Zanaty re-homing the Top Tracks Filter to moq-transport #1830 (~130 lines, from closed #1518; also a mailing-list note “Top Tracks Filter moved to PR#1830”, the window’s only new list traffic), Cullen Jennings’s IANA-properties-text issue #1829, Suhas’s application-specific→“private” registry-naming issue #1828, and Will Law’s msf #196 “Allow a catalog to reference other catalogs” + an initData-reuse-across-LOC/MSF question (msf #198). A new individual draftdraft-altanai-moq-relay-geocode-01(Geographic Location for MoQ Relays, Altanai B) appeared on the datatracker. No WGLC announcement, consensus call, or interop report on-list; no WG-doc revision bumps (transport-19, loc-04 newest). - On the media/impl side the day was carried by Eyevinn’s CTA-608 captions going from plan to code, moq’s audio-stack push (with a first AWS relay PR), and a continuing relay resource-lifecycle cleanup — including the Cloudflare SUBSCRIBE bug now confirmed by two independent testers. moqlivemock merged a
cc608in-band caption SEI-generation package (#114) and its injection across the CMAF/LOCMAF/LOC/moq-mi serve paths (#115), catalog advertisement + round-trip verification open (#117). moq-dev shipped a PCM codec (#2493), Opus pre-skip/encoder controls (#2492), bounded capture (#2487) + Linux/Windows capture enumeration (#2486), an iroh-live native-media upstreaming plan (#2478/#2481), a new draft-lcurley-moq-archive, and — a first AWS code contribution — Kyle Sletmoe’s GOAWAY graceful-drain + cluster-migration PR (#2490). Relay-lifecycle: moqtail fixed a resubscribe regression from #330 (#331), moqx logged a same-namespace multi-publisher rejection (#509), and moq-rs merged a SUBSCRIBE_NAMESPACE type fix (0x11→0x50) (#193) — while on Slack afrind independently reproduced the Cloudflare relay SUBSCRIBE failure (STOP_SENDING, same as Jordi) and Mike English confirmed “a couple parts to what’s broken here.” - Implementations: moqlivemock CTA-608 captions LANDED (#114 SEI-gen pkg + #115 4-path injection MERGED July 24; #117 catalog/round-trip OPEN). moq July-24 audio+relay day (MERGED #2493 PCM +491/−91, #2492 Opus +463/−107, #2487 bounded capture, #2486 device enum, #2500 idle-upstream teardown, #2496 audio grouping, #2494 cache-duration, #2506 group-end fix July 25; OPEN #2490 AWS GOAWAY/cluster-migration, #2504 moq-archive draft, 2495; issues 2489 iroh-live/HW; release train moq-relay v0.14.2 / moq-cli v0.9.2 / moq-gst v0.3.2 / moq-ffi v0.3.2). moqtail #331 resubscribe fix MERGED (Zafer Gürel); relay@0.14.1 stands. moq-rs #193 SUBSCRIBE_NAMESPACE 0x11→0x50 MERGED (Mike English). moqx issues 506 OPEN + release-tooling PRs 505. moq-transport #1830 Top-Tracks-Filter OPEN (Mo Zanaty) + issues 1828. msf #196 OPEN (Will Law) + #198; #197 closed. quiche (moqt), imquic, moxygen, moq-js, Moqtopus, aiomoqt, birneee/quiche_moq, Eyevinn/warp-player quiet.
- Interop: one new cut — the 2026-07-24 00:31:11 UTC cut: 350 / 131 / 208 / 11 (~37.4% pass; at-target draft-18 220 · 0 ahead · 130 behind). Essentially flat vs the July-23 20:52 off-cadence cut (350/130/209/11, at-target 220): +1 pass, −1 fail, matrix/skip/at-target all unchanged — the 350-cell / 220-at-target matrix appears settled after Hackathon week’s expansions. Still targets draft-18. No July-25 cut at check time. Off-runner: the Cloudflare relay SUBSCRIBE failure is now double-confirmed (Jordi + afrind) with a root cause and a Cloudflare fix in progress; still no published IETF-126 interop report.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): one new top-level message + two grown threads — afrind’s July-24 07:49 UTC “With cloudflare, I’m not getting data on my subscriptions — similar to Jordi — the relay sends me a STOP_SENDING” thread (4 replies: Mike English “looking into it” → “there are a couple parts to what’s broken here”; Kota Yatagai pointing to his namespace-retention diagnosis; afrind “I’ll wait for a fix”); Zafer Gürel’srelay18.moqtail.devthread gained a July-24 06:40 UTC reply (“yes supported, let me check the logs”) as Kota’s Moqtopus still failed a PUBLISH_NAMESPACE+SUBSCRIBE against it. Newest channel message July 24 15:54 UTC; no July-25 traffic at check time. - IETF mailing list: one new message — Mo Zanaty’s July-24 18:02 UTC “Top Tracks Filter moved to PR#1830” (moved from closed #1518, ~130 lines, requests review). No WGLC announcement, consensus call, weekly GitHub digest, minutes-posted note, or interop-report post. (A one-off fetch pass hallucinated a “Consensus Call on Draft-18” thread; a targeted re-check did NOT confirm it — treated as a fetch artifact, not logged.)
- IETF Datatracker: one new individual I-D —
draft-altanai-moq-relay-geocode-01(Geographic Location for MoQ Relays, 2026-07-24, Altanai B). No WG-doc revision bumps — transport-19, secure-objects-01, privacy-pass-auth-03, loc-04 (07-20), msf-01, cmsf-01, moq-lite-05 all unchanged. IETF-126 minutes STILL NOT posted — Thursday (minutes-126-moq-202607231430), Friday (...202607241400), and genericminutes-126-moqall 404; only Monday’s...202607201200is up. - GitHub moq-wg: moq-transport — OPEN PR #1830 (Top Tracks Filter, Mo Zanaty, July 24), OPEN issue #1829 (IANA Properties text, Cullen Jennings), issue #1828 (application-specific→private naming, Suhas). msf — OPEN PR #196 (catalog-references-catalogs, Will Law), issue #198 (initData reuse, Suhas); issue #197 (%-char) opened+closed. loc / secure-objects / cmsf / catalog-format / privacy-pass quiet.
- GitHub implementations: Eyevinn/moqlivemock (#114/#115/#116 MERGED, #117 OPEN, July 24), moq-dev/moq (#2493/#2492/#2487/#2486/#2500/#2499/#2498/#2497/#2496/#2494/#2483/#2482/#2488 MERGED July 24 + 2501 July 24–25; OPEN 2491; issues 2478 OPEN, 2479 CLOSED; releases moq-relay v0.14.2 / moq-cli v0.9.2 / moq-gst v0.3.2 / moq-ffi v0.3.2), moqtail/moqtail (#331 MERGED July 24), cloudflare/moq-rs (#193 MERGED July 24), openmoq/moqx (issues 506 + PRs 505 OPEN July 24), google/quiche moqt (last moqt commit July 21) / video-dev/moq-js / meetecho/imquic / facebookexperimental/moxygen / kota-yata/Moqtopus / gmarzot/aiomoqt / birneee/quiche_moq / Eyevinn/warp-player / Eyevinn/moqtransport quiet.
- Interop runner: NEW report 2026-07-24 00:31:11 UTC (350/131/208/11, at-target 220) — +1 pass, −1 fail vs July-23 20:52; matrix/skip/at-target flat. No July-25 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moqlivemock, moq-dev, moqtail, interop-runner, interop-endpoints, discussions-2026-07, index.md
Key findings: Two IETF-126 sessions on, the WG record is still being written in GitHub, not minutes. This is the third consecutive update where the Thursday/Friday Vienna session minutes remained unposted (all 404), and the third where the substance had to be reconstructed from the artifacts the sessions produced. July 24’s crop is unambiguously post-Friday-session output: the Top Tracks Filter re-homed to a fresh PR “as suggested in the session” (#1830, with a matching list note), Cullen’s and Suhas’s IANA/registry-naming issues (#1829/#1828), and Will Law’s MSF catalog-composition PR + initData question (#196/#198). The standing lesson holds — the meaty WGLC/SSTS/filter-split/interop-report decisions will only become citable when the per-session minute docs post, so keep re-checking them in the days after IETF week. The one thing that did land in a citable form was a new individual draft (Altanai B’s relay-geocode -01), her second relay-focused contribution of the week. The media layer moved while the spec channels waited. With the WG in post-meeting quiet, the day’s real momentum was in implementations: Eyevinn’s CTA-608 caption epic went from a planning batch (July 23) to merged code (July 24) — an in-band SEI-generation package injected across all four moqlivemock serve paths, positioning it as an accessibility-signaling testbed on top of its AVC/HEVC/AV1 coverage — and moq-dev ran a coordinated audio-stack push (PCM codec, Opus pre-skip/controls, bounded capture, device enumeration) alongside a plan to upstream the iroh-live native media stack and a new moq-archive draft. That moq-dev also took a first code contribution from AWS (Kyle Sletmoe’s GOAWAY graceful-drain/cluster-migration PR) widens its corporate-contributor footprint into relay operations, exactly the surface the whole ecosystem is hardening right now. The relay resource-lifecycle theme is converging on one root cause. moqtail’s #331 (fixing a resubscribe regression its own remove-track-on-last-subscriber change introduced), moqx’s #509 (relay rejects a second session’s PUBLISH_NAMESPACE for an already-published namespace), and Cloudflare’s #193 (SUBSCRIBE_NAMESPACE wire-type fix) are all facets of the same problem — how a relay tracks and releases namespace/track state across session and subscription lifecycle events. The Cloudflare SUBSCRIBE failure crystallizes it: it is now reproduced independently by Jordi Cenzano and afrind, root-caused by Kota Yatagai to namespace/track-name retention after teardown, and being actively fixed by Cloudflare (“a couple parts to what’s broken”). The nightly runner, meanwhile, settled — 131 pass on a flat 350-cell / 220-at-target matrix — so the durable interop record for Vienna remains the (still-unpublished) Friday report, not the automated cut.
2026-07-24 — IETF-126 Vienna wraps; relay-lifecycle cleanup wave
TL;DR:
- IETF-126 Vienna’s final two MoQ sessions ran (Thu July 23 14:30 UTC / Fri July 24 14:00 UTC), but neither’s minutes are posted yet — so the substantive WGLC / SSTS / filter-split / interop-report content is not publishable from official sources. Only Monday’s
minutes-126-moq-202607201200is up; bothminutes-126-moq-202607231430andminutes-126-moq-202607241400404 (generic alias 404s too). The IETF-126 slide-deck set grew to 17 — the new decks reveal the Thu/Fri topics: Sender-Side Track Switching, Location Filter, Fetch Pacing for MOQT, Top-N Tracks Filter, MOQT Issues & PRs Part 2, MSF & CMSF, tempo, mocha. The lone on-list artifact was Altanai B’s July-23 relay-diagnostics proposal (moq-transport #1692) — three design sketches (control-path request/response, diagnostics-in-existing-responses, setup-time capability advertisement) + a co-author call — the second volunteer (after Alperen Temel in the Monday minutes) for the management/metrics/diagnostics applicability document the WG agreed to spin off. No draft revisions bumped; no weekly GitHub digest; no WGLC announcement on-list. - The window’s durable, published story was relay resource-lifecycle correctness — the same class of bug (tracks/namespaces/broadcasts/subscriber-counts not cleaned up or accounted for across session lifecycle) surfacing across the whole stack at once — plus MOQtail joining the working interop set. moqtail merged remove track when last subscriber leaves (#330) and deployed a public draft-18 relay at
relay18.moqtail.dev(public Grafana); Kota Yatagai root-caused the Cloudflare relay’s SUBSCRIBE failure to namespace/track-name retention after session teardown (same-name re-publish treated as a request afterPUBLISH_DONE); moqx opened relay-hops namespace-loop prevention (#502) + a subscriber-count-under-load bug (#501); moq shipped linger a broadcast across an ungraceful source loss (#2469, +551/−63) + WebSocket keep-alive + a delay-based-CC default, and logged an active/active failover mesh-routing gap (#2461, t0ms). On the floor, Jordi Cenzano’s v18moq-encoder-playermatrix now has MOQtail carrying full video+audio (with moxygen / imquic / Nokia) while Cloudflare +cdn.moq.proboth still fail on SUBSCRIBE. Eyevinn opened a CTA-608 caption accessibility epic (moqlivemock #104–#113, warp-player #156). - Implementations: moqtail July-23 lifecycle batch (Zafer Gürel, MERGED #330 remove-track-on-last-subscriber +26/−8, #329 per-bidi control logging, #328 comments) + public draft-18 relay
relay18.moqtail.dev; relay@0.14.1 stands. moq resilience day (MERGED #2469 broadcast-linger +551/−63, #2471 WS keep-alive, #2468 delay-based CC default, #2462 toolchain/MSRV, 2448; OPEN 2457; issues #2461 failover-mesh gap (t0ms) & #2456 moq-archive format (kixelated); point releases moq-relay v0.14.1 / moq-cli v0.9.1 / moq-gst v0.3.1). moq-rs #192 draft-18 byte-valued-param encoding fix MERGED (Mike English, +301/−32). moqx #480 jemalloc/TLS-stats stack MERGED (+4513/−116, gmarzot) + 500 sync; OPEN 502; #501 OPEN / #503 CLOSED. moqlivemock CTA-608 caption epic issues #104–#113 (tobbee, planning only) + warp-player #156. moq-transport issue #1827 OPEN (flow control for SUBSCRIBE, Victor Vasiliev). quiche (moqt), imquic, moxygen, moq-js, Moqtopus, aiomoqt, birneee/quiche_moq, Eyevinn/moqtransport quiet. - Interop: two July-23 cuts — a 00:33 UTC daily (330/136/184/10) and an off-cadence 20:52 UTC run (2026-07-23 20:52:38 UTC cut: 350 / 130 / 209 / 11, ~37.1% pass; at-target draft-18 220 · 0 ahead · 130 behind). Vs the July-22 baseline (338/142/196/0, at-target 190): matrix +12 to 350, at-target +30 to 220, but pass −12 (142 → 130), fail +13, skips reappeared (0 → 11) — a third structural expansion whose new draft-18 cells fail/skip on first appearance (same first-cut regression as July-20). Still targets draft-18. No July-24 cut at check time. Off-runner: Jordi’s v18 matrix (MOQtail full A/V; Cloudflare + cdn.moq.pro fail SUBSCRIBE); no published IETF-126 interop report yet.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): July-23 interop activity — Jordi Cenzano’s July-23 09:16 CEST v18-MOQMIv3moq-encoder-playermatrix (MOQtail/Moxygen/imquic/Nokia full v+a; Cloudflare +cdn.moq.profail on SUBSCRIBE, closing the QUIC stream), thread (Jordi migrating MOQMI→LOC + anAudioContext-based player refactor simplifying A/V sync; Miniero offering MOQMI support in his imquic/Janus A-V clients); Zafer Gürel’s July-23 07:51 CEST public draft-18 relayrelay18.moqtail.dev+ Grafana thread (12 replies — raw-QUIC ALPN=moqt-18ALPN_NEG_FAILEDfor Moqtopus/afrind, imquic connects, Kota’s “no publisher found” debugging); Kota Yatagai’s July-23 finding on the Cloudflare-rebase thread (relay retains namespace/track-name after teardown → same-name re-publish treated as post-PUBLISH_DONE); Giovanni Marzot’s July-24 02:55 CEST note that Mike English added aiomoqt data to the ad-hoc interop wiki. Newest message July 24 02:55 CEST. - IETF mailing list: one new message — Altanai B’s July-23 13:03 UTC “MoQT relay diagnostics follow-up from IETF 126 / issue #1692” (permalink). No weekly GitHub digest, no WGLC announcement/consensus call, no minutes-posted announcement, no interop-report post.
- IETF Datatracker: no revision bumps — transport-19, secure-objects-01, privacy-pass-auth-03 (07-06), loc-04 (07-20), msf-01, cmsf-01, moq-lite-05, and the individual-draft tail all unchanged;
draft-ietf-moq-dts4moqstill absent.agenda-126-moqstays at rev 04; slide-deck set grew to 17 (added SSTS, Location Filter, Fetch Pacing for MOQT, Top-N Tracks Filter, MOQT Issues & PRs Part 2, MSF & CMSF, tempo, mocha). Thursday (minutes-126-moq-202607231430) and Friday (...202607241400) minutes NOT yet posted (both 404; genericminutes-126-moqalias 404s); only Monday’s...202607201200is up. - GitHub moq-wg: moq-transport — OPEN issue #1827 (Add text explaining flow control for SUBSCRIBE, Victor Vasiliev, July 23). msf / loc / secure-objects / cmsf / catalog-format / privacy-pass quiet.
- GitHub implementations: moqtail/moqtail (#328/#329/#330 MERGED July 23), moq-dev/moq (#2469/#2471/#2468/#2465/#2463/#2462/#2453/#2448 MERGED July 23–24; OPEN 2457; issues 2456 OPEN, 2459 CLOSED; releases moq-relay v0.14.1 / moq-cli v0.9.1 / moq-gst v0.3.1), cloudflare/moq-rs (#192 MERGED July 23), openmoq/moqx (#480/#504/#500 MERGED July 23; 502 OPEN; #501 OPEN / #503 CLOSED), Eyevinn/moqlivemock (CTA-608 epic issues #104–#113, July 23), Eyevinn/warp-player (#156 OPEN), google/quiche moqt / meetecho/imquic / facebookexperimental/moxygen / video-dev/moq-js / kota-yata/Moqtopus / gmarzot/aiomoqt / birneee/quiche_moq / Eyevinn/moqtransport quiet.
- Interop runner: NEW — two July-23 cuts (00:33 UTC daily 330/136/184/10; off-cadence 20:52 UTC 350/130/209/11, at-target 220). Regression vs July-22 (pass −12, skips 0 → 11). No July-24 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moqtail, interop-runner, interop-endpoints, discussions-2026-07, index.md
Key findings:
IETF-126 Vienna closed without publishable minutes — the durable record is again off the official channels. The WG’s last two Vienna sessions ran (Thursday and Friday), and the slide decks that went up (17 total, adding SSTS, Location Filter, Fetch Pacing, Top-N Tracks Filter, MSF & CMSF, tempo, mocha) show a packed agenda — but no Thursday/Friday minutes, no WGLC/consensus announcement, and crucially no Mike English interop report have been published anywhere yet. As at the Monday session, the meaty decisions will only become citable when the per-session minute docs post (minutes-126-moq-202607231430 / ...202607241400, currently 404). The standing lesson holds: keep re-checking the datatracker’s per-session minute docs in the days after IETF week, not just during it.
Relay resource-lifecycle correctness is the ecosystem’s new frontier. The clearest technical signal was that four relays hit the same bug class simultaneously — moqtail freeing per-track state on the last unsubscribe (#330), the Cloudflare relay retaining a namespace/track-name after teardown (Kota’s root cause for Jordi’s persistent SUBSCRIBE failure), moqx guarding against namespace loops across relay cycles (#502) and mis-counting subscribers under load (#501), and moq-dev lingering a broadcast across an ungraceful source loss (#2469) while flagging an active/active failover routing gap (#2461). Paired with Altanai B’s relay-diagnostics proposal on-list, the window reads as the ecosystem shifting from “can two impls carry media” to “does a relay clean up and survive the messy lifecycle a CDN actually sees” — exactly the operational hardening the WGLC push and the spun-off management/diagnostics document both point at.
The interop floor and the nightly runner told opposite stories. On the human-run floor, MOQtail joined Moxygen/imquic/Nokia in carrying full video+audio through Jordi Cenzano’s matrix and brought a public draft-18 relay online — real forward progress — while Cloudflare and cdn.moq.pro remained the two stuck endpoints. The automated runner, meanwhile, regressed to 130 pass (−12) as a third structural expansion wired in fresh draft-18 endpoints that failed or skipped on their first cut (skips reappearing 0 → 11), exactly as the July-20 expansion did. The at-target count rising to 220 is the meaningful number: more draft-18 endpoints are registered than ever, and the pass count will follow once they converge — the durable Vienna interop record will again be the (still-unpublished) Friday report, not the nightly cut.
2026-07-23 — IETF-126 Monday minutes: the Path to WGLC is scope reduction
TL;DR:
- The IETF-126 Monday (July 20) session minutes were posted July 22, and they carry the window’s most material facts: the WG is pursuing its “Path to WGLC” by trimming the core transport draft, not adding design.
minutes-126-moq-202607201200records that the chairs called consensus to move range filters and Sender-Side Track Switching (SSTS) into separate drafts out of core moq-transport — Cullen Jennings formally objected on a ~50/50 split and the AD affirmed the chairs’ right to call consensus (contested but standing); that management, metrics & diagnostics considerations spin off into a new applicability/manageability document (Alperen Temel to draft the initial diagnostics/relay-management text); and that secure-objects is queued for WGLC once the shared transport IANA registry stabilizes (Cullen proposed, Suhas supported; “if transport does not ship, none of the other WG drafts can progress”). No new published revision (transport-19 stands); the genericminutes-126-moqalias still 404s. Editorial WGLC-prep continued on the editor’s copy July 22 — afrind opened OPEN #1824/#1823/#1822 and Suhas opened #1825 (replace FORWARD with Range-Filter pausing). - On the interop floor, afrind’s 41-test draft-18 data-plane conformance suite became the de-facto relay-readiness bar — and Nokia’s relay was the first to pass all 41, over both QUIC and WebTransport. afrind ran the suite (moxygen’s,
moq-test-based, prefix-routing required) and challenged others to match Nokia. Zafer Gürel said moqtail is “working on it, a few issues left” (via Ali Begen) and shipped an 8-PR second relay-resilience batch the same day; Miniero’s imquic needs a prefix-routing fix first; afrind still couldn’t reachcdn.moq.pro. This 41-test suite (distinct from Yu You’s earlier 7-test check) is the concrete bar heading into Mike English’s Friday (July 24) interop report.#moqrevived for July 22 after the mid-week lull (still no new IETF-list or datatracker-revision traffic). - Implementations: moq biggest day of the window (July 22, Luke Curley + wrangelvid): the API-review cleanup peaked with a ~2,100-LOC catalog/timeline/token/teardown contract fix (#2439 +1487/−633 MERGED), qlog trace capture across quinn/quiche/noq (#2451), hvc1/HEVC import from new contributor Kuba Migdał (#2444), TS/DVB service-layer opaque SI sections (#2440), js/net stats refactors — cut as a minor-version train: moq-relay v0.14.0 / moq-cli v0.9.0 / moq-ffi v0.3.0 / moq-gst v0.3.0. moqtail 8-PR second relay batch July 22 (all Zafer Gürel; MERGED #317 FETCH-range-validation, #318 RL-7a, #319 RL-7b, #324 RS-17a reserved-namespace, #326 RL-2 PUBLISH_BLOCKED, #325 RS-17b, #327 forward-on-bidi, #320 moqtail-rs datagram/EndGroup); relay@0.14.1 stands. warp-player #155 AV1 WebCodecs/LOC playback MERGED (tobbee, +440/−9) — completes the AV1 round trip a day after moqlivemock’s #102; new issue #103 (Shaka’s avelad, “Add TS support”). moq-transport WGLC-prep PR batch #1822–#1825 OPEN (afrind/Suhas), new issue #1826 (ojhermann), #1821 closed. moqx #499 sync-bot only. quiche (moqt), moq-rs, imquic, aiomoqt (#36 v0.11.0 OPEN, no release), moxygen, birneee/quiche_moq, Moqtopus, Eyevinn (moqtransport / locmaf) quiet.
- Interop: one new cut — the 2026-07-22 00:32:25 UTC cut: 338 / 142 / 196 / 0 (~42.0% pass; at-target draft-18 190). Flat/identical to the July-21 00:34 cut (338/142/196/0, at-target 190) — matrix/pass/fail/skip/at-target all unchanged, only the timestamp advanced. Still targets draft-18. The durable interop story is off-runner: afrind’s 41-test data-plane conformance suite (Nokia 41/41 QUIC+WT). No July-23 cut at check time.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): revived July 22 after the mid-week lull — afrind’s 15:28 CEST “Nokia’s relay passed all 41 of my draft-18 data plane conformance tests using Quic and WebTransport. Anyone else have a relay that is up to the challenge?”, Ali Begen’s “We should be, @Zafer Gurel?” → Zafer Gürel “Yes, working on it. A few issues are left.”, Miniero noting his relay needs a prefix-routing fix (afrind confirmed the suite ismoq-test-based), and afrind’s 17:41 CEST note that he still can’t get subscriptions throughcdn.moq.pro. Newest message July 22 17:41 CEST. - IETF mailing list: nothing new — newest message is still July 20 (Magnus Westerlund’s July-6-interim minutes, the loc-04 I-D Action, afrind’s employment disclosure, the Oct-15 Seattle-interim scheduling). No new weekly GitHub digest (last July 19), no consensus call, no WGLC announcement on-list.
- IETF Datatracker: no revision bumps — transport-19, secure-objects-01, privacy-pass-auth-03 (all 07-06), loc-04 (07-20), msf-01, cmsf-01, moq-lite-05, and the individual-draft tail all unchanged;
draft-ietf-moq-dts4moqstill absent.agenda-126-moqstays at rev 04; slide-deck set grew to ~13 decks (added MOQT Issues and PRs Part 2, a Location Filter deck, Thu/Fri Chair slides).minutes-126-moq-202607201200(Monday session) POSTED July 22 (genericminutes-126-moqalias still 404s). IETF-126 MoQ sessions July 23 14:30 UTC & July 24 14:00 UTC remain. - GitHub moq-wg: moq-transport — OPEN PRs #1825 (Range-Filter pausing, Suhas), #1824 (REDIRECT empty-namespace, afrind), #1823 (log untrusted strings, afrind), #1822 (Timed-Out gap status, afrind); OPEN issue #1826 (subscription-aggregation, ojhermann); #1821 CLOSED. msf / loc / secure-objects / cmsf / catalog-format / privacy-pass quiet.
- GitHub implementations: moq-dev/moq (July-22 MERGED 2452 + #2448 July 23; releases moq-relay v0.14.0 / moq-cli v0.9.0 / moq-ffi v0.3.0 / moq-gst v0.3.0; #2443 OPEN issue), moqtail/moqtail (#317/#318/#319/#320/#324/#325/#326/#327 MERGED July 22; 309 OPEN issues), Eyevinn/warp-player (#155 AV1 MERGED July 22 + #153 dep bump; #154 closed), Eyevinn/moqlivemock (#103 OPEN issue, avelad), openmoq/moqx (#499 sync-bot MERGED), gmarzot/aiomoqt (#36 OPEN, no release), google/quiche moqt (no July-22/23 commits) / cloudflare/moq-rs / meetecho/imquic / facebookexperimental/moxygen / video-dev/moq-js / birneee/quiche_moq / kota-yata/Moqtopus / Eyevinn (moqtransport / locmaf) quiet.
- Interop runner: NEW report 2026-07-22 00:32:25 UTC (338/142/196/0, at-target 190) — flat/identical to July-21. No July-23 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-transport, moq-secure-objects, moqtail, moq-dev, moqlivemock, interop-runner, interop-endpoints, discussions-2026-07, index.md
Key findings: The posted Monday minutes reframe the Path to WGLC as scope surgery on the core draft. For weeks the wiki has tracked the filters as the contested, least-wanted part of the draft-18→19 delta; the IETF-126 minutes (posted July 22) turn that into a concrete WG decision — the chairs called consensus to move both range filters and SSTS into separate drafts, shrinking the core transport document to what can pass Last Call. That it was contested (Cullen Jennings objected on a ~50/50 split; the AD affirmed the chairs) is itself the signal: the split is happening over meaningful dissent, because transport stabilization gates everything else (“if transport does not ship, none of the other WG drafts can progress”). The parallel spin-off of management/metrics/diagnostics into its own applicability document, and secure-objects being explicitly queued for WGLC (parked on the transport IANA registry), complete the picture — the WG is deliberately narrowing the critical-path document and deferring or externalizing everything that isn’t required to ship it. afrind’s 41-test conformance suite is quietly becoming the interop currency the nightly runner isn’t. The runner cut was flat again (142/338, identical to July 21) and still targets draft-18, so it captured none of the day’s real progress — which was afrind running his 41-test data-plane conformance suite against live relays and Nokia clearing all 41 over both QUIC and WebTransport. That is a sharper, more demanding readiness bar than the runner’s pairwise cells, and the ecosystem is organizing around it: moqtail is grinding down “a few issues left,” imquic needs a prefix-routing fix to even be tested, and the challenge framing (“Anyone else have a relay that is up to the challenge?”) is turning the suite into the thing relays measure themselves against before Friday’s report. The durable interop record for Vienna will again be the human-run conformance results, not the automated pass count. The between-sessions cadence held: quiet spec channels, full-throttle GitHub. Even with a WG session Monday and two more later this week, the IETF list produced nothing new (newest message July 20) and no draft revision bumped — yet moq-dev shipped its busiest day of the window (a 2,100-LOC contract fix, qlog trace capture, HEVC import, a v0.14.0 train), moqtail shipped a second 8-PR relay batch, moq-transport opened four more WGLC-prep PRs, and warp-player closed the AV1 round trip. The one thing that did surface on the slow channels — the Monday minutes — was the most important fact of all, which reinforces the standing lesson: keep checking the datatracker’s per-session minute docs during IETF week even when the list and agenda look static.
2026-07-22 — WGLC-prep hardening: transport security + moqtail relay-DoS
TL;DR:
- With the IETF-126 MoQ agenda paused between Monday’s session and Thursday/Friday’s, the day’s substance moved entirely to GitHub — and it was WGLC-prep hardening across the stack. moq-transport landed a 6-PR security/IANA cluster (all merged July 21): Suhas Nandakumar’s impersonation-prevention details (#1789), URI-scheme security per RFC 7595 §3.7 (#1772), and a hex-enumeration→bitfield-syntax rewrite of code points (#1774 +31/−29); afrind’s expanded mutual-TLS security considerations (#1786) and a REDIRECT retry-interval-0 clarification (#1785); and sharmafb’s FORWARD-on-REQUEST_UPDATE for SUBSCRIBE_TRACKS (#1812). afrind also opened a new control-message proposal, #1820 “Add SUBSCRIPTION_STATE_UPDATE” (OPEN), and Otto Hermann (ojhermann) filed issue #1821 “What is a subscriber entitled to observe after an Object becomes unavailable?” — exactly the security-considerations + validation-rule editorial the “Path to WGLC” agenda item points at, now landing on the editor’s copy (no new published revision; transport-19 stands).
- moqtail shipped a matching relay-resilience / DoS-protection batch, building out the draft-18 graceful-shutdown and load-management surface. Zafer Gürel merged six PRs July 21: the PUBLISH_BLOCKED message (#308 +151/−11), GOAWAY Request ID + Timeout and the REDIRECT structure (#310 +300/−66), EXCESSIVE_LOAD shedding on request streams (#311), SIGTERM drain with GOAWAY + new-request rejection (RL-5) (#312), TOO_FAR_BEHIND reset of slow subscribers (#313), and SUBSCRIBE precedence over SUBSCRIBE_TRACKS (#314) — plus OPEN #317 (standalone FETCH range validation) and new issues 316 (RL-7 FETCH semantics) / #309 (GOAWAY per-request migration + REDIRECT retry). The IETF list, datatracker, and Slack
#moqwere all quiet (no new threads, no draft revisions past loc-04,minutes-126-moqstill unposted; only Christian Huitema’s off-topic July-21 beach photo on Slack). - Implementations: moqtail relay-resilience batch 314 MERGED July 21 (all Zafer Gürel; GOAWAY/REDIRECT, PUBLISH_BLOCKED, EXCESSIVE_LOAD, TOO_FAR_BEHIND, SIGTERM drain) + OPEN 309; relay@0.14.1 stands. moq busy July-21 day (MERGED #2427 stats→model-layer refactor +1491/−1040, #2430 datagram counters, #2426 per-frame mux fragments +429/−471, #2432 quinn congestion-control knob, #2442 js/net reconnect, #2437 qmux 0.3.1 crash-fix, #2428 fMP4 CMAF timeline import; new contributor t0ms opened DVB-service-layer work 2433; OPEN API-review contract fix #2439; no release, v0.13.7 stands). moxygen direct commits (SETUP default-limits constants July 22, aman-sharma; #209 gmock-1.14 compile fix MERGED, gmarzot). moqx #497 (afrind, moq_decode draft-18 SETUP/name-extension parse +108/−24) MERGED. quiche (moqt) one ASAN test fix (martinduke — first moqt commit since July 17). moqlivemock #102 AV1 CMSF/CMAF+LOCMAF support (tobbee, +355/−72). moq-rs, imquic, moq-js, aiomoqt, birneee/quiche_moq, Moqtopus, Eyevinn (warp-player / moqtransport / locmaf) quiet.
- Interop: one new cut — the 2026-07-21 00:34:11 UTC cut: 338 / 142 / 196 / 0 (~42.0% pass; at-target draft-18 190 · 0 ahead · 148 behind). Vs the July-20 00:34 cut (338/134/204/0, at-target 190): matrix flat 338, skip flat 0, at-target flat 190, pass +8 (134 → 142), fail −8 — a pass/fail reshuffle as the previously-failing July-20-added draft-18 cells (
moq-go,moq5,xquic-draft-18) began converging, not scope growth. The cut ran at 00:34 UTC, before July-21’s daytime merges. Still targets draft-18. No July-22 cut at check time.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): near-silent July 21–22 — the only new top-level message is Christian Huitema’s July-21 07:03 CEST beach photo (off-topic, Victoria BC). Two Hackathon threads gained a trailing reply each (Jordi Cenzano’s July-21 13:37cdn.moq.proping — no new technical content; Mike English’s Cloudflare-rebase thread had already been captured through July-20 19:55). No new spec/interop substance on the channel between Monday’s and Thursday’s sessions. - IETF mailing list: nothing new since the July-20 items already logged (Magnus Westerlund’s July-6-interim minutes, the loc-04 I-D Action, afrind’s employment disclosure, the Oct-15 Seattle-interim scheduling). No new weekly GitHub digest, no consensus call, no
minutes-126-moqannouncement. - IETF Datatracker: no revision bumps — transport-19, secure-objects-01, privacy-pass-auth-03 (all 07-06), loc-04 (07-20), msf-01, cmsf-01, moq-lite-05, and the individual-draft tail (moq-tempo-00 / locmaf-01 / relay-dos-01 / Will Law event-timeline set / mocha series) all unchanged;
draft-ietf-moq-dts4moqstill absent.agenda-126-moqstays at rev 04, 9 slide decks (no new decks for the Thu/Fri sessions yet);minutes-126-moqnot yet posted (404). IETF 126 MoQ sessions July 23 14:30 UTC & July 24 14:00 UTC remain. - GitHub moq-wg: moq-transport — 6 PRs MERGED July 21 (#1789 impersonation, #1772 URI-scheme security RFC 7595, #1774 bitfield code points, #1786 mutual-TLS, #1785 REDIRECT retry-interval-0, #1812 FORWARD-on-REQUEST_UPDATE); OPEN PR #1820 SUBSCRIPTION_STATE_UPDATE (afrind), issue #1821 object-unavailability observability (ojhermann). loc / msf / secure-objects / cmsf / catalog-format / privacy-pass quiet.
- GitHub implementations: moqtail/moqtail (#308/#310/#311/#312/#313/#314 MERGED July 21; #317 + issues 309 OPEN), moq-dev/moq (#2427/#2430/#2426/#2432/#2442/#2437/#2428 MERGED July 21; t0ms DVB 2433 + #2439 OPEN; no release), facebookexperimental/moxygen (SETUP-limits + #209 compile fix), openmoq/moqx (#497 MERGED), google/quiche moqt (ASAN test fix, martinduke), Eyevinn/moqlivemock (#102 AV1 MERGED, tobbee), cloudflare/moq-rs / meetecho/imquic / video-dev/moq-js / gmarzot/aiomoqt / birneee/quiche_moq / kota-yata/Moqtopus / Eyevinn (warp-player / moqtransport / locmaf) quiet.
- Interop runner: NEW report 2026-07-21 00:34:11 UTC (338/142/196/0, at-target 190) — pass +8 (134 → 142), fail −8, matrix/skip/at-target flat. No July-22 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-transport, moqtail, moqlivemock, interop-runner, discussions-2026-07, index.md
Key findings: WGLC-prep hardening moved off the Hackathon floor and onto the editor’s copy the moment the sessions paused. IETF-126’s Monday session is done and Thursday/Friday are the next MoQ slots, so July 21–22 had no list/datatracker/Slack substance at all — but GitHub carried a coherent Path-to-WGLC push. moq-transport’s six July-21 merges are almost entirely security and IANA/editorial: impersonation-prevention detail, mutual-TLS considerations, URI-scheme security per RFC 7595, a REDIRECT retry-interval-0 fix, and a switch from hex code-point enumerations to bitfield syntax. None change the wire format or bump the published revision (transport-19 stands) — they close exactly the security-considerations + registry-hygiene gaps that stand between draft-19 and a Working Group Last Call. afrind’s SUBSCRIPTION_STATE_UPDATE proposal (#1820) and Otto Hermann’s #1821 (object-unavailability observability) are the two genuinely open threads left on the pile. moqtail is now building the relay operations surface, not just the wire format. After its multi-week draft-18 control-plane sprint, Zafer Gürel’s July-21 batch is entirely relay-resilience: GOAWAY Request ID + REDIRECT structure, PUBLISH_BLOCKED, EXCESSIVE_LOAD shedding, SIGTERM drain, TOO_FAR_BEHIND slow-subscriber reset. That is the graceful-shutdown / DoS-protection / load-management surface (the RL-* task list, and the relay-dos design space) — the operational hardening a relay needs beyond passing interop. It makes moqtail the second non-moq-dev codebase maturing relay operations, and lands the same week the WG is grinding toward WGLC. On the media side, codec and broadcast reach both widened. moqlivemock added AV1 as a first-class CMSF/CMAF + LOCMAF codec (alongside AVC/HEVC; SVT-AV1 low-delay CBR, gracefully excluded from LOC/moq-mi, warp-player playback still to come) — the wiki’s first AV1-over-MoQ media path. And moq-dev/moq gained a new external contributor, t0ms, opening DVB-service-layer round-trip work (#2434) and an issue to carry the DVB service layer through the TS catalog (#2433) — an early signal of DVB/broadcast interest in the moq-dev stack, on top of Luke Curley’s and David von Wrangel’s stats-model-layer refactor and quinn congestion-control knob.
2026-07-21 — IETF 126 opens; Hackathon day 2, first draft-19 interop
TL;DR:
- The IETF-126 MoQ session opened Monday July 20 (12:00 UTC) on the “Path to WGLC,” and the Hackathon’s Day 2 produced the ecosystem’s first cross-implementation draft-19 interop. The agenda bumped to
agenda-126-moq-04the morning of the session with 9 slide decks (added MSF & CMSF, Sender-Side Track Switching, “MOQT Issues and PRs Part 1”), led by Alan Frindell’s “MOQT Updates Since IETF 125” + explicit “Path to WGLC” slot; formal minutes not yet posted (only the July-6 interim minutes went up, per Magnus Westerlund). On the floor, Luke Curley’smoq-cli(moq-dev) published/subscribed against Miniero’s imquic draft-19 relaylminiero.it:9000in forced draft-19 (76,804 bytes, 5.23 s, H.264-validated) and forced draft-18 — two independent draft-19 codebases on the wire together for the first time, even as the official target stays draft-18. - A coordinated IANA property-registry fix shipped as loc-04, and afrind disclosed an OpenMOQ consulting arrangement. Mo Zanaty landed loc #28 “Fix IANA Registry for MOQ Properties” in lockstep with moq-transport #1818 “Fix IANA Properties for LOC/SecureObjects” — the six LOC properties now register at IDs 0x08/0x09/0x0C/0x0D/0x0F/0x10 (TIMESTAMP off the 0x06
SUBGROUP_DELIVERY_TIMEOUTcollision), published as draft-ietf-moq-loc-04 (2026-07-20). Relay debugging continued all day: Nokia fixed its SUBSCRIBE_TRACKS/NAMESPACE split + a deprecatedSTREAM_HEADER_TRACKopener; Cloudflare passed Moqtopus but still dropped Jordi Cenzano’s objects (closes control streams after SUBSCRIBE_OK);cdn.moq.pro’s native-QUIC/anonstayed401-broken, surfacing a durable PUBLISH_NAMESPACE-vs-SUBSCRIBE_NAMESPACE auth-model debate (Luke ↔ afrind). And in an IETF employment disclosure, afrind is now part-time at Meta and consulting for OpenMOQ to build themoqxrelay. - Implementations: moq heavy July-20 day (all kixelated; MERGED #2424 moq-lite-06 cost-based routing +1174/−109, #2420 unseal catalog renditions, #2416 scope signing keys to publish/subscribe paths, #2419 unannounce-on-last-route-detach, #2414 accept empty PATH, #2417 disable Safari WebTransport; OPEN #2427 traffic counters into model layer July 21; #2413 IETF-PATH-over-native-QUIC CLOSED; no release, v0.13.7 stands). moqtail control-plane sprint continued #303–#308 (MERGED #305 SUB_NS/SUB_TRACKS split, #303 remove cancel/teardown family −857, #306 zero-element namespaces; OPEN #308 PUBLISH_BLOCKED). moq-rs July-20 release batch moq-relay-ietf v0.7.24 / moq-native-ietf v0.10.0 / moq-pub v0.9.2 / moq-sub v0.4.13 / moq-clock-ietf v0.6.19 / moq-test-client v0.1.11 (#190) + #189 forward local accept IP; new bug #191 (relay retains upstream sub after last downstream leaves). imquic first cross-impl draft-19 interop (relay only; repo quiet after July-19 33). moxygen direct commits (expose client address on reject; text-client
subscribeTracks()samples) + OPEN 210. Moqtopus added a publisher + control-message split. moqx OPEN #497 (afrind, moq_decode draft-18 SETUP/name-extension parse). quiche (moqt), moq-js, aiomoqt, birneee/quiche_moq, Eyevinn (moqlivemock / warp-player code / moqtransport / locmaf) quiet. - Interop: one new cut — the 2026-07-20 00:34:36 UTC cut: 338 / 134 / 204 / 0 (~39.6% pass; at-target draft-18 190 · 0 ahead · 148 behind). Vs the July-19 00:33 cut (319/134/185/0, at-target 171): the matrix grew +19 to 338 as fresh draft-18 endpoints (new rows/cols incl.
moq-go,moq5,xquic-draft-18) were wired in — and because every one of the 19 new cells failed on its first cut, pass held flat at 134, fail +19 (185 → 204), at-target +19 (171 → 190) (its first move since freezing at 171 July 14). The cut ran at 00:34 UTC, before July-20’s daytime Hackathon work (which is exercised manually off-runner). Still targets draft-18. No July-21 cut at check time.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): July-20 Hackathon Day-2 activity — Luke Curley’s July-20 05:11 interop reports (moq-cli ↔ imquic forced-draft-19 success; moq-cli ↔ Moxygen raw-QUIC-18 success + WebTransportWT_BUFFERED_STREAM_REJECTED); the afrind↔Lukecdn.moq.proPATH/native-QUIC-401 + SNI thread (31 replies, latest July-20 18:27) carrying the SUBSCRIBE_NAMESPACE-vs-PUBLISH_NAMESPACE auth-model debate; Yu You’s Nokia SUBSCRIBE_TRACKS/NAMESPACE +STREAM_HEADER_TRACK (0x50)fixes (2 redeploys); Mike English’s Cloudflare-relay rebase thread (Jordi’s control-stream-close bug persists; Kota reaches PASS); afrind’s “canonical draft-18 relay list?” + moxygen data-plane conformance suite (prefix routing). Steven Riedl (Pluto TV) joined the channel. Newest message July 20 13:50 CEST. - IETF mailing list: NEW — Magnus Westerlund’s July-20 “Minutes for 2026-07-06 Interim” (interim minutes now on datatracker); the
I-D Action: draft-ietf-moq-loc-04.txtannouncement; Alan Frindell’s “Change in employment disclosure” (part-time Meta; consulting for OpenMOQ on themoqxrelay); Seattle-interim scheduling churn (Oct 14/Oct 15 competing announcements, a mis-dated “2016-10-15” cancelled July 20; confirmed 2026-10-15 16:00–21:00 UTC). The July-19 weekly GitHub digest was already logged. - IETF Datatracker: one revision bump — loc-04 (2026-07-20). Everything else unchanged (transport-19, secure-objects-01, privacy-pass-auth-03 all 07-06; msf-01, cmsf-01, moq-lite-05; individual drafts moq-tempo-00 / locmaf-01 / relay-dos-01 / Will Law event-timeline set / mocha series).
draft-ietf-moq-dts4moqstill absent.agenda-126-moqat rev 04 (bumped July 20 AM), 9 slide decks; IETF 126 MoQ sessions July 20 / 23 / 24. Formalminutes-126-moqnot yet posted. - GitHub moq-wg: moq-transport — PR #1818 MERGED July 20 (IANA Properties fix, mzanaty); issue #1819 OPEN (Reserved Namespaces punches hole upstream, c-taylor); #1817 (host resolution) still OPEN. loc — PR #28 MERGED July 20 (IANA registry fix → loc-04). msf / secure-objects / cmsf / catalog-format / privacy-pass quiet.
- GitHub implementations: moq-dev/moq (#2424/#2420/#2416/#2419/#2414/#2417 MERGED July 20; #2427 OPEN July 21; no release), moqtail/moqtail (#305/#303/#306 MERGED July 20; #308 OPEN), cloudflare/moq-rs (#189/#190 MERGED July 20; releases v0.7.24 / moq-native v0.10.0 et al.; issue #191 OPEN), facebookexperimental/moxygen (direct commits + 210 OPEN), kota-yata/Moqtopus (publisher + control-message split), openmoq/moqx (#497 OPEN, afrind), meetecho/imquic (quiet after July-19), google/quiche moqt (quiet since July-17) / video-dev/moq-js / gmarzot/aiomoqt / birneee/quiche_moq / Eyevinn (moqlivemock / warp-player / moqtransport / locmaf) quiet.
- Interop runner: NEW report 2026-07-20 00:34:36 UTC (338/134/204/0, at-target 190) — matrix +19 (319 → 338), pass flat 134, fail +19, at-target +19 (all new cells failing). Ad-hoc interop wiki gained Kota’s July-20 Moqtopus rows (Cloudflare PASS, moq.pro FAIL). No July-21 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-loc, interop-runner, interop-endpoints, imquic, moqtail, moq-dev, moq-rs, openmoq, discussions-2026-07, index.md
Key findings: IETF 126 opens with the WGLC machinery front and centre, and the draft work is now editorial/IANA cleanup rather than new design. The Monday session leads with “MOQT Updates Since IETF 125” explicitly paired to “Path to WGLC,” the deck count grew to nine (adding MSF & CMSF, Sender-Side Track Switching, and a dedicated “MOQT Issues and PRs” review), and the day’s spec output is a coordinated IANA registry fix — loc #28 + transport #1818 landing together and shipping as loc-04, resolving the exact name/reference mismatches IANA’s July-16 early review flagged. Combined with the five-document IANA punch-list, the Aug→Sep virtual-interim series, and the confirmed October Seattle in-person interim, Vienna is the checkpoint where the WG demonstrates the draft-18 baseline interops (Friday’s report) and grinds down the editorial/IANA backlog — the two WGLC prerequisites the “Path to WGLC” agenda item points at. The first cross-implementation draft-19 interop is the durable milestone, but it deliberately sidesteps the contested filters. Luke Curley’s moq-cli talking forced-draft-19 to Miniero’s imquic relay is the first time two independent draft-19 codebases have carried media end-to-end — a real signal that the -19 wire format is implementable from more than one base. It lands while the chair’s official target stays draft-18, exactly the “broad draft-18 baseline + enough -19 experimentation to shake out design issues” shape the wiki has flagged. And the one -19 piece both codebases skip is the same one everyone skips: the filters. imquic ignores the property filters, Hang won’t implement them, and the auth-model debate that surfaced July 20 (SUBSCRIBE_NAMESPACE mandatory vs PUBLISH_NAMESPACE optional) is a different open question — so -19’s genuinely-exercised surface is everything except its headline feature. The manual Hackathon floor and the automated runner have fully decoupled. The runner’s July-20 cut expanded +19 to 338 and every new cell failed, so the headline number (134 pass, flat) captures none of the day’s real progress: moq-cli↔imquic draft-19, moq-cli↔Moxygen raw-QUIC-18, Moqtopus passing four relays. The runner is measuring newly-registered draft-18 endpoints that haven’t converged yet, while the durable interop facts — a working cross-impl draft-19 path, Nokia’s SUBSCRIBE-split fix, Cloudflare’s still-broken control-stream lifecycle for Jordi’s clients — live entirely in the ad-hoc wiki and Slack. Friday’s human-authored interop report, not the nightly cut, will be the record that matters for Vienna. afrind’s OpenMOQ consulting disclosure formalizes a funding line the wiki had only inferred. For weeks the openmoq/moqx churn has been overwhelmingly afrind’s, on a Meta-adjacent fork; the July-20 IETF disclosure makes the arrangement explicit — part-time at Meta, with a consulting business contracted to OpenMOQ to build the moqx relay. It gives the consortium a named, sponsored relay project and clarifies that moqx development is funded work, not volunteer spare-time contribution.
2026-07-20 — Vienna Hackathon day 1: five-relay interop matrix
TL;DR:
- July 19 (Hackathon Day 1, Sunday) was the window’s richest live interop — five relays under simultaneous cross-implementation test, with a real matrix of results.
#moqturned into a live testing channel exercising Moxygen (fb.mvfst.net:9448/moq-relay), imquic (lminiero.it:9000, draft-19), Nokia (moqt://moqt.nokiaresearch.com:4443/moq, draft-18, redeployed with request_id + forced-forwarding fixes), Cloudflare (draft-18-interop.cloudflare.mediaoverquic.com:443), and Luke Curley’scdn.moq.pro/anon. Jordi Cenzano’s (Meta)moq-encoder-playermatrix: Moxygen, imquic, and Nokia all did full video+audio; Cloudflare failed on PUBLISH (“seems NOT implemented”) andcdn.moq.profailed on subscribe (“publisher not found”). Corroborated by Kota Yatagai’s Moqtopus (SETUP/SUBSCRIBE vs Moxygen; PUB_NS+SUBSCRIBE vs Nokia, subgroup+datagram), Suhas’s draft-18 moq-web (working with all London relays), and Giovanni Marzot’s aiomoqt v0.10.6 control-plane regression. Mike English is collecting the ad-hoc reports for Friday’s (July 24) interop report. Two spec-interpretation findings surfaced on the floor: a rendezvous-timeout semantics debate (afrind ↔ Yu You — whether a relay should always issue upstream subscriptions when a PUBLISH_NAMESPACE is advertised, or only after aRENDEZVOUS_TIMEOUT; Nokia patched it mid-Hackathon) andcdn.moq.pro’s IETF path being “nowhere near as tested” (unsolicitedPUBLISH_NAMESPACEholdover, SUBSCRIBE-against-foreign-publisher gaps). And Luke Curley said Hang will likely never implement the draft-19 filters — they “complicate billing” (a relay would have to charge on the unfiltered byte count) — which, with imquic’s partial support and ianswett’s new transport #1816 “Range filters only filter integer Properties,” marks filters as the least-wanted part of the draft-18→19 delta. - The code matched the floor, and IETF 126 Vienna sessions begin. imquic merged draft-19 to
main(PR #32, +1124/−211, July 19 09:28 — the first tracked-repo impl with draft-19 inmain); moqtail ran a ~11-PR control-plane-restructure sprint (#292–#302: request types → own bidi streams, control plane → uni-stream pair, PUBLISH_OK folded into REQUEST_OK, MAX_REQUEST_ID/REQUESTS_BLOCKED removed, GREASE,moqt://unified scheme, delta-encoded FETCH); moq-rs landed SUBSCRIBE_NAMESPACE (PR #187, Manish) + amoq-relay-ietfv0.7.23 release round and rebased its draft-18 Hackathon branch; Moqtopus added a +2007-line publisher/subscriber flow; moqx alignedmoq_decode.pyto draft-18 (#496). On the WG side, the IETF 126 MoQ sessions begin Monday July 20 12:00 UTC (agenda-126-moq-03, 6 slide decks posted incl. “MOQT Updates Since IETF 125”, LOC, Secure Objects, Auth Design Team, and a new performance/feedback-requirements deck); the weekly GitHub digest resumed (July 19, first since July 12); Jordi Cenzano merged a loc #27 TIMESTAMP-registry IANA fix; afrind opened transport #1817 (moqt-URI host resolution); and the Oct 14–15 Seattle in-person interim was formally IESG-announced (chair Morgan Condie). No new draft revisions (all 07-06). - Implementations: imquic — draft-19 merged to
main(PR #32 +1124/−211; PR #33 timed-call; relay REQUEST_UPDATE-to-PUBLISH + FORWARD fixes). moqtail — ~11-PR control-plane sprint July 19→20 (MERGED #292–#302; OPEN #221 release). moq-rs — SUBSCRIBE_NAMESPACE (#187, Manish) + release roundmoq-relay-ietfv0.7.23 / moq-pub v0.9.1 / moq-sub v0.4.12 / moq-clock-ietf v0.6.18 / moq-test-client v0.1.10;draft-18-devrebased ontomain. Moqtopus +2007-line IETF-126 pub/sub flow. aiomoqt v0.10.6 control-plane interop regression. moqx #496 moq_decode request_id cleanup. moq lighter July-19 day (MERGED 2402 + dependabot; OPEN 2395; no new release — v0.13.7 stands). moxygen infra-only (OSS-bot hashes); quiche (moqt, last July 17), moq-js, Eyevinn (moqlivemock / locmaf / warp-player / moqtransport), birneee/quiche_moq quiet. - Interop: one new cut — the 2026-07-19 00:33:22 UTC cut: 319 / 134 / 185 / 0 (~42.0% pass; at-target draft-18 171 · 0 ahead · 148 behind). Vs the July-18 00:30 cut (319/132/187/0, at-target 171): matrix flat 319, skip flat 0, at-target flat 171, pass +2 (132 → 134), fail −2. A modest recovery from the July-18 dip, still inside the week-plus 130↔137 flake band (…137 → 132 → 134 over July 17–19). The cut ran at 00:33 UTC, before the July-19 Hackathon merges (imquic draft-19, moqtail sprint, moq-rs SUBSCRIBE_NAMESPACE) — so none of that work shows yet; it’s being exercised manually on the Hackathon floor, off-runner. Still targets draft-18 (not advanced to draft-19). No July-20 cut at check time.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): rich July-19 Hackathon activity — Jordi Cenzano’s five-relaymoq-encoder-playermatrix (Moxygen/imquic/Nokia full v+a; Cloudflare PUBLISH-fail;cdn.moq.prosubscribe-fail); Yu You’s Nokia v18 relay redeploy + the rendezvous-timeout thread (17 replies, resolved); Mike English’s ad-hoc-reports request (7 replies) + Cloudflare draft-18 relay rebase break/restore (8 replies); Luke Curley’s “I don’t think I’ll ever implement [filters]… complicates billing” (filters thread, 12 replies) +cdn.moq.pronative-QUIC/WT + unsolicited-PUBLISH_NAMESPACE debugging (13 replies); Kota Yatagai’s Moqtopus interop-on-a-train; Suhas’s draft-18 moq-web note; Giovanni Marzot’s aiomoqt v0.10.6 regression; afrind’s fan-out perf-test offer +moq_decode.pyREQUEST_ERROR frame decode. Newest message July 19 17:30 CEST — no July-20 traffic yet at check time. - IETF mailing list: NEW — the weekly GitHub digest resumed (July 19 02:28 UTC, first since July 12; moq-transport filter/publish/aliasing churn, msf/warp-streaming-format IANA-feedback issue + PRs, two new loc issues) + formal IESG “Interim Meeting: 2026-10-14 / 2026-10-15” announcements (Seattle in-person, chair Morgan Condie, session 35741). No new consensus call / minute-taker request / proposal.
- IETF Datatracker: no revision bumps — transport-19, privacy-pass-auth-03, secure-objects-01, loc-03, relay-dos-01 (all 07-06), c4m-01, cmsf-01, msf-01, lite-05, the Cisco tempo-00 + mocha-* suite, the Will Law event-timeline drafts, locmaf-01 all unchanged;
draft-ietf-moq-dts4moqstill absent.agenda-126-moqat rev 03, 6 slide decks posted; IETF 126 Vienna MoQ sessions July 20 12:00 UTC / July 23 14:30 / July 24 14:00. Meetings: Aug 10 (interim-2026-moq-21) + Aug 24 / Sep 8 / Sep 21 virtual interims + Oct 14–15 Seattle in-person now on the datatracker. - GitHub moq-wg: loc — PR #27 MERGED July 19 (TIMESTAMP registry value, Jordi Cenzano). moq-transport — PR #1817 OPEN (moqt-URI host resolution, afrind); issue #1816 OPEN (range filters only filter integer Properties, ianswett). msf — #192–#195 still OPEN (no change). secure-objects / cmsf / catalog-format / privacy-pass quiet.
- GitHub implementations: meetecho/imquic (PR #32 draft-19 MERGED +1124/−211 + #33 + relay fixes), moqtail/moqtail (#292–#302 MERGED July 19→20), cloudflare/moq-rs (#187 SUBSCRIBE_NAMESPACE + #188 release; draft-18-dev rebased; releases v0.7.23 et al.), kota-yata/Moqtopus (+2007 pub/sub flow), gmarzot/aiomoqt (v0.10.6 interop, no new commits) + openmoq/moqx (#496), moq-dev/moq (#2411/#2403/#2402 MERGED, no release), facebookexperimental/moxygen (infra-only), google/quiche moqt (last July 17), video-dev/moq-js / Eyevinn (moqlivemock/locmaf/warp-player/moqtransport) / birneee/quiche_moq quiet.
- Interop runner: NEW report 2026-07-19 00:33:22 UTC (319/134/185/0, at-target 171) — pass +2 (132 → 134), fail −2, matrix/skip/at-target flat. Ad-hoc interop wiki (moq-transport wiki) has fresh 2026-07 IETF-126 Vienna entries (Jordi/afrind/Kota). No July-20 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: imquic, moqtail, moq-rs, moq-dev, aiomoqt, interop-runner, interop-endpoints, interim-meetings, discussions-2026-07, index.md
Key findings:
The Hackathon’s value is exactly what the automated runner can’t produce: a live cross-implementation matrix and the design signals that fall out of it. July 19 put five relays on the wire at once and produced a crisp, human-readable result set — Moxygen, imquic, and Nokia all carrying full video+audio through Jordi Cenzano’s moq-encoder-player, while the two Rust relays with the least-tested IETF paths (Cloudflare on PUBLISH, cdn.moq.pro on subscribe) failed in specific, reproducible ways. That is the interop the nightly runner’s endpoint pairings miss: the runner cut the same morning (134/319, +2) reflects none of the day’s work because it ran at 00:33 UTC, and it targets draft-18 while the floor was already mixing draft-18 and draft-19. The durable output isn’t the pass count — it’s the two spec findings the floor forced into the open: the rendezvous-timeout ambiguity (does a relay subscribe upstream on an advertised PUBLISH_NAMESPACE, or wait for a timeout? — Nokia patched it live) and the accelerating consensus that the draft-19 filters are unwanted. Luke Curley’s “I don’t think I’ll ever implement them… complicates billing” is the strongest signal yet, on top of imquic ignoring the property filters and ianswett’s new #1816 — the headline draft-18→19 feature is turning into the one nobody wants to build.
Draft convergence is now bimodal — everyone is finishing draft-18 while imquic quietly ships draft-19. The Hackathon drove the biggest single-day implementation burst of the window, but it split cleanly: moqtail’s ~11-PR control-plane restructure (request/response streams, PUBLISH_OK→REQUEST_OK, MAX_REQUEST_ID removal, GREASE, moqt://) and moq-rs’s SUBSCRIBE_NAMESPACE are draft-18 catch-up, converging on the runner’s target; imquic merging PR #32 makes it the first tracked-repo codebase with draft-19 in main. So the ecosystem is simultaneously hardening the draft-18 interop baseline (the chair’s official target through Vienna) and pre-building draft-19 — with the filters, the one contested draft-19 piece, deliberately left partial or unbuilt across imquic and Hang. That is the healthiest possible shape for a WG mid-Last-Call-run: broad draft-18 interop to validate the frozen baseline, plus enough draft-19 experimentation to surface the filter-design problem before -19 becomes the target.
IETF 126 opens with the WGLC-prep machinery visibly in place. The Monday session leads with “MOQT Updates Since IETF 125” and a fresh performance/feedback-requirements deck, and the surrounding GitHub state is all cleanup rather than new design: the weekly digest resumes flagging IANA-feedback issues across msf/loc, Jordi Cenzano lands a loc TIMESTAMP-registry fix, afrind opens a moqt-URI host-resolution PR, and the Oct 14–15 Seattle in-person interim gets its formal IESG announcement. Combined with last window’s five-document IANA punch-list and the Aug→Sep virtual-interim cadence, Vienna is the checkpoint where the WG demonstrates the draft-18 baseline interops (Friday’s report) and the IANA/editorial backlog is being ground down — the two prerequisites for the Working Group Last Call the “Path to WGLC” agenda item has been pointing at.
2026-07-19 — Vienna Hackathon goes live; draft-18 stays the target
TL;DR:
- The IETF-126 Hackathon turned Slack into a live interop channel on July 18 — the first hands-on MoQ testing of the window, and the ecosystem’s first draft-19 relay. Lorenzo Miniero deployed a first draft-19 build of his imquic relay at
lminiero.it:9000and put out a call for draft-19 peers: filter serialization/deserialization works and the basic filters function, butOBJECT_PROPERTY_FILTER/TRACK_PROPERTY_FILTERare ignored — he has doubts about their semantics (echoing moq-transport #1810 “New section on filters hard to process”). The draft-19 code runs ahead of the publicmain(PR #32 still in progress). Mike English offered his draft-18 single-instance relaydraft-18-interop.cloudflare.mediaoverquic.com:443(the runner’smoq-rs-draft-18); Yu You (Nokia) ran a v18 conformance client and posted TAP output — 4/7 pass (setup-only, announce-only, publish-namespace-done, subscribe-error) but announce-subscribe / object-vectors / subscribe-before-announce fail, the relay rejectingPUBLISHwitherrCode=0x0 reason="not supported"(the Cloudflare draft-18 relay doesn’t yet accept the upstream PUBLISH flow). Luke Curley demoed the full Hang 14-19 stack to Jordi Cenzano (Meta):cdn.moq.pro/anon(draft 14-19), themoq.pub/moq.watchJS clients,moq-cli, and RTMP/SRT/WHEP converters into/out of one broadcast. Amid the draft-18-vs-19 mix, Alan Frindell posted a chair clarification: the official interop target for moq-transport is still draft-18 (“since there’s been some confusion”), with -19 welcome for filter feedback. In-person: Manish, Miniero, Jordi Cenzano in the Hackathon room July 18; Kota Yatagai, afrind, Yu You arriving Sunday. - On the WG side, afrind completed the IANA cross-document response, and moq ran another convergence day (v0.13.7 train). Following the five-document IANA early-review sweep (July 16), afrind opened “Early IANA feedback” tracking issues on the last three reviewed drafts July 18 — loc #26 (quoting the §6.1 “Property Headers” / §6.2 “Streaming Formats” registry mismatches), secure-objects #90, privacy-pass #25 — so all five IANA-reviewed documents now have trackers ([[moq-transport|transport #1814]] + [[moq-msf|msf #191]] existed already). ianswett’s moq-transport #1815 “Alan’s comment from #1788” merged July 18 (+2/−2, editorial); the msf #192–#195 IANA/interim batch stays OPEN. moq-dev/moq’s July-18 day:
moq-statscrate extraction merged (#2380, +1872/−1340), a largenetrefactor routing everything throughcreate_broadcast(#2396, +2217/−2482), moq-net dropping its direct tokio dep (#2377), and moq-hls Producer/Consumer cursors for recording a broadcast (#2389 — first code toward the DVR/recording roadmap 2281) — cut as moq-relay v0.13.7 (+ ffi v0.2.33 / cli v0.8.7 / libmoq v0.3.14). No new draft revisions (all 07-06). - Implementations: moq busy July-18 day (MERGED 2376; releases moq-relay v0.13.7 / moq-ffi v0.2.33 / moq-cli v0.8.7 / libmoq v0.3.14; OPEN #2179 moq-lite-06 cost-based routing +1482/−198, #2395 release). imquic first draft-19 relay build deployed to
lminiero.it:9000(Slack; ahead ofmain, partial filters); repo commits July 17 only (connection-count + log-timestamp flags). moxygen infra-only (hash bumps,folly::invoke→std::invoke). moqtail, quiche (moqt), moq-rs, moq-js, Eyevinn (moqlivemock / locmaf / warp-player / moqtransport), moqx, birneee/quiche_moq, Moqtopus quiet. - Interop: one new cut — the 2026-07-18 00:30:14 UTC cut: 319 / 132 / 187 / 0 (~41.4% pass; at-target draft-18 171 · 0 ahead · 148 behind). Vs the July-17 00:33 cut (319/137/182/0, at-target 171): matrix flat 319, skip flat 0, at-target flat 171, pass −5 (137 → 132), fail +5. The cut ran at 00:30 UTC so it reflects the July-17 daytime merges (quiche’s draft-18 migration, moqtail 291) — landing as a −5 drop, not a gain, returning the surface to the low end of the week-plus 130↔137 flake band (…136 → 137 → 132 over July 16–18). Still targets draft-18 (the runner has not advanced to draft-19; the live draft-19 testing above is manual, off-runner). No July-19 cut at check time.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): rich July-18 Hackathon activity — Miniero’s “I deployed a first draft-19 version of my relay online” (lminiero.it:9000, partial filters); Mike English’s draft-18 relaydraft-18-interop.cloudflare.mediaoverquic.com:443+ Yu You (Nokia)‘s v18 conformance run (4/7 pass, PUBLISH “not supported”); Luke Curley’s Hang 14-19 demo (cdn.moq.pro/anon,moq.pub/moq.watch,moq-cli, RTMP/SRT/WHEP converters) to Jordi Cenzano; afrind’s chair ruling “the official interop target for moq-transport is still draft-18 … welcome to implement -19 (filter feedback is definitely valuable).” Plus in-room logistics (Manish, Miniero, Jordi Cenzano July 18). - IETF mailing list: nothing new since the three July-17 IESG “WG Virtual Meeting” announcements (Aug 24 / Sep 8 / Sep 21, already logged). No new weekly GitHub digest (last July 12).
- IETF Datatracker: no revision bumps — transport-19, privacy-pass-auth-03, secure-objects-01, loc-03, relay-dos-01 (all 07-06), c4m-01, cmsf-01, msf-01, the Cisco tempo-00 + mocha-* suite, the Will Law event-timeline drafts, locmaf-01,
draft-ietf-quic-qmux-02all unchanged;draft-ietf-moq-dts4moqstill absent. Meetings: interim-2026-moq-21 (Aug 10) + Aug 24 / Sep 8 / Sep 21 virtual interims on the datatracker. IETF 126 Vienna July 20 / 23 / 24 (Hackathon week from Sun July 20). - GitHub moq-wg: loc — new issue #26 Early IANA feedback (afrind, July 18). secure-objects — new issue #90 Early IANA feedback (afrind, July 18). privacy-pass — new issue #25 Early IANA feedback (afrind, July 18). moq-transport — PR #1815 MERGED July 18 (ianswett, +2/−2). msf — #192–#195 still OPEN (July 17). cmsf / catalog-format quiet.
- GitHub implementations: moq-dev/moq (~13 MERGED July 18 incl. 2377; releases moq-relay v0.13.7 / moq-ffi v0.2.33 / moq-cli v0.8.7 / libmoq v0.3.14; OPEN 2395), meetecho/imquic (draft-19 relay deployed per Slack; repo commits July 17), facebookexperimental/moxygen (infra-only July 17–18), moqtail/moqtail / google/quiche moqt / cloudflare/moq-rs / video-dev/moq-js / Eyevinn (moqlivemock/locmaf/warp-player/moqtransport) / openmoq/moqx / birneee/quiche_moq / kota-yata/Moqtopus quiet.
- Interop runner: NEW report 2026-07-18 00:30:14 UTC (319/132/187/0, at-target 171) — pass −5 (137 → 132), fail +5, matrix/skip/at-target flat. No July-19 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: imquic, moq-dev, interop-runner, interop-endpoints, discussions-2026-07, index.md
Key findings:
The Vienna Hackathon is the window’s headline: it converts the wiki’s abstract “draft-18 vs draft-19” tension into concrete, on-the-wire results — and the chair rules. For two weeks the wiki has flagged the frozen axis: the runner targets draft-18 while moq-dev shipped -19 and imquic began -19 work. July 18 makes it live. Miniero stands up the ecosystem’s first draft-19 relay (ahead of his own main) and immediately hits the open question — the new filters, whose semantics are contested in the WG (moq-transport #1810 / #1801) — with OBJECT_PROPERTY_FILTER / TRACK_PROPERTY_FILTER left unimplemented. Yu You’s TAP run against Mike English’s draft-18 Cloudflare relay produces a crisp, reproducible finding — PUBLISH rejected as “not supported,” 4/7 — the kind of specific interop gap manual Hackathon testing surfaces that the automated runner’s endpoint pairings can miss. And Frindell’s chair note (“target is still draft-18 … -19 welcome for filter feedback”) is the durable governance fact: draft-18 stays the coordination baseline through Vienna, with -19 experimentation explicitly framed as design-shakeout for the filters. The interop number moving down (−5 to 132) as the July-17 draft-18 convergence work (quiche’s migration, moqtail) lands is the counterpoint — the automated surface is still churning inside its flake band while the real signal moved to the Hackathon floor.
The IANA response is now fully institutionalized — five reviews, five trackers. Last window the story was that IANA’s early review was a coordinated five-document sweep; this window closes it: afrind filed the remaining three tracking issues (loc #26, secure-objects #90, privacy-pass #25) in a two-minute burst July 18, so every reviewed document now carries its own IANA-feedback work item. loc #26 pins the concrete defect (a §6.1 “Property Headers” registry that transport-19 doesn’t create; a §6.2 “Streaming Formats” registry that can’t be found). Combined with Will Law’s msf #192–#195 batch, the WG has converted IANA’s cross-document punch-list into scheduled per-repo editorial work — the WGLC prerequisite — with the Aug 10 → Sep 21 virtual-interim series as the venue to grind it down.
moq-dev’s convergence arc reaches its structural payoff and pivots toward recording. The audit-then-converge motion (July 16 catalogue → July 17 fixes) lands its durable artifacts July 18: moq-stats becomes its own crate, moq-net drops its direct tokio dependency and routes everything through create_broadcast. With the bindings/net surface made consistent, the first new roadmap feature appears — moq-hls Producer/Consumer recording cursors (#2389), the initial code toward the DVR/time-shift and recording/replay items (#2275/#2281) sketched July 15. A v0.13.7 relay train ships it. The through-line across the week — expand surface → audit for drift → converge → build features on the trusted base — is now visibly on its fourth phase.
2026-07-18 — IANA sweep spans 5 drafts; quiche joins draft-18; Vienna eve
TL;DR:
- The IANA “early review” was a coordinated five-document sweep, not just transport-19 — and the WG is already working it down, on the eve of IETF 126. Last update caught only Amanda Baber’s transport-19 review (#1456083); this pass surfaces four companion IANA reviews filed the same morning (July 16, 10:44–10:52 UTC): loc-03 #1456079 (§6.1 references a nonexistent “Property Headers” registry; §6.2 “Streaming Formats” registry unfindable in transport), msf-01 #1456080 (missing registry-group name / Change Controller / RFC 8126 expert guidance; naming inconsistent vs transport-19; Private-Use upper-limit unclear), privacy-pass-auth-03 #1456081 (registry-group name + expert guidance for two new registries), secure-objects-01 #1456082 (§7.1 “MoQ Object Properties” vs the actual “MoQ Properties” registry transport-19 establishes). The common thread — registry name/reference mismatches against transport-19 + missing RFC 8126 boilerplate — makes the earlier transport-19 “reconcile allocations across loc/secure-objects/msf” note IANA’s cross-document verdict. The WG reacted July 17: Will Law opened a four-PR msf IANA/interim cleanup batch (#192 update normative references + IANA registries, closes #191; #193 catalog-object publishing guidelines; #194 add a
datareserved track role; #195 event-timeline JSON-example fixes). The fall virtual-interim series is now formally booked — the IESG Secretary posted three “WG Virtual Meeting” announcements July 17 for Aug 24 / Sep 8 / Sep 21 (all 16:30–18:00 UTC, agenda TBD), joining the Aug 10 announcement (interim-2026-moq-21). And Slack broke its ~10-day silence July 17: Lorenzo Miniero asked who’s on-site for the IETF 126 Hackathon in Vienna (Sun July 20 hackathon week) — Mike English already in Vienna, Kota Yatagai + afrind arriving Sunday. No new draft revisions (all 07-06). - Draft-18 convergence widens to a fifth codebase — quiche breaks a quiet streak with a serious migration burst — while moqtail finishes its sprint and moq runs a second ~35-merge refactor/convergence day. quiche’s moqt module (last touched July 8) lands three substantial July-17 commits: [
78341592] move SUBSCRIBE to a dedicated bidirectional stream (newMoqtSubscribeRequestStream/ResponseStream; SUBSCRIBE/SUBSCRIBE_OK/UNSUBSCRIBE removed from the control stream;MoqtUnsubscribemessage type dropped; the session no longer owns subscriptions), [2f4ea0dd] a mass Moqt-class rename (SubscriptionPublisher→LivePublisher,SubscribeRemoteTrack→LiveSubscriber,RemoteTrack→ObjectSubscriber), and [d106f181] split SUBSCRIBE_NAMESPACE / SUBSCRIBE_TRACKS. moqtail closes out its draft-18 sprint’s last two OPEN PRs — #290 add the FIRST_OBJECT bit to SUBGROUP_HEADER (+213/−26, MERGED) and Kerem Bekmez’s #291 moqtail-ts control-message-type table → draft-18 (MERGED). moxygen was quiet this window (infra-only commits). Meanwhile moq-dev/moq executes the July-16 contract-drift audit: the July-16 OPEN fixes land (#2329 align the Rust/JS token contract MERGED, #2328 coalesce group fetches, #2327 IPv4-mapped dual-stack peers; #2326 CLOSED), plus #2333 align js/net + moq-lite on exclusiveSUBSCRIBE_END(the #2309 off-by-one), #2345 converge py/swift/kt/go on one wrapper contract (+624/−128), #2373 unify moq-ffi shapes (+765/−447), a real stats module (#2348, with extraction into a newmoq-statscrate OPEN in #2380 +1823/−1345), moq-net breaking refactors (#2371 tear down shared upstream on last-subscriber-leave, OPEN #2377 drop moq-net’s direct tokio dep), and a Safari/audio fix cluster (#2350 align moq-audio with moq-video +1666/−1279, #2372 resume AudioContext from a user gesture, #2369 publish video on Safari) against fperex’s Safari bug sweep (#2352–#2358). It cut moq-ffi v0.2.32 + moq-cli v0.8.6 (no new relay train; v0.13.6 remains July-16 latest). - Implementations: quiche (moqt) resumes with a large draft-18 migration (SUBSCRIBE→dedicated bidi stream
78341592, class rename2f4ea0dd, SUBSCRIBE_NAMESPACE/TRACKS splitd106f181, July 17). moq second ~35-merge July-17 day (MERGED 2336 …; releases moq-ffi v0.2.32 / moq-cli v0.8.6; OPEN 2342; CLOSED 2362; fperex issues #2352–#2358). moqtail sprint tail (MERGED 291; OPEN #221 release). locmafv0.2.0release July 17 (+ govulncheck CI). imquic two minor relay/demo commits. moxygen infra-only (folly::invoke→std::invoke, OSS-bot). moq-rs, moq-js, Eyevinn/moqtransport + warp-player + moqlivemock, moqx, birneee/quiche_moq, Moqtopus quiet. - Interop: one new cut — the 2026-07-17 00:33:44 UTC cut: 319 / 137 / 182 / 0 (~42.9% pass; at-target draft-18 171 · 0 ahead · 148 behind). Vs the July-16 00:33 cut (319/136/183/0, at-target 171): matrix flat 319, skip flat 0, at-target flat 171, pass +1 (136 → 137), fail −1. Essentially flat — a single cell flipping fail→pass, extending the plateau just above the week-long 130↔132 band (…130 → 130 → 136 → 137 over July 14–17). The July-17 cut ran at 00:33 UTC, so it reflects July-16 evening work rather than the July-17 daytime merges (quiche’s migration, moqtail 291). Still targets draft-18 (the runner has not advanced to draft-19). No July-18 cut at check time.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): NEW after ~10 days silent — Lorenzo Miniero’s July-17 15:13 CEST “Will there be anyone on-site at the Hackathon here in Vienna?” thread (3 replies, 4 🙋 reactions): Mike English already in Vienna, Kota Yatagai (Moqtopus) there Sunday, afrind there Sunday. IETF-126 Hackathon logistics, no spec content — but the channel breaking silence is itself the pre-Vienna signal. The July-7 qmux thread is no longer newest. - IETF mailing list: NEW — four companion IANA early reviews (July 16, Amanda Baber via RT) rounding out the transport-19 review logged last update: loc-03 #1456079, msf-01 #1456080, privacy-pass-auth-03 #1456081, secure-objects-01 #1456082 — all flagging registry name/reference mismatches vs transport-19 + missing RFC 8126 boilerplate (a coordinated cross-document IANA sweep). Plus three IESG Secretary “WG Virtual Meeting” announcements (July 17) formally booking Aug 24 / Sep 8 / Sep 21 (all 1630–1800 UTC, agenda TBD), joining the Aug-10 one. No new weekly GitHub digest (last July 12; next expected ~July 19).
- IETF Datatracker: no revision bumps — transport-19, privacy-pass-auth-03, secure-objects-01, loc-03, relay-dos-01 (all 07-06), c4m-01, cmsf-01, msf-01, the Cisco tempo-00 + mocha-* suite, the three Will Law event-timeline drafts, locmaf-01,
draft-ietf-quic-qmux-02all unchanged;draft-ietf-moq-dts4moqstill absent (404). Meetings: interim-2026-moq-21 (Aug 10) + the Aug 24 / Sep 8 / Sep 21 virtual interims now all on the datatracker. IETF 126 Vienna July 20 / 23 / 24 (Hackathon week from Sun July 19). - GitHub moq-wg: msf — four new OPEN PRs July 17 (all wilaw): #192 (IANA registries + normative refs, fixes #191), #193, #194, #195. moq-transport — quiet on/after July 17 (PR #1804 MERGED July 16, 1814 unchanged). loc / secure-objects / cmsf / catalog-format / privacy-pass quiet in-window.
- GitHub implementations: moq-dev/moq (~35 MERGED July 17 incl. 2327; releases moq-ffi v0.2.32 / moq-cli v0.8.6; OPEN 2342; issues #2352–#2358 fperex), google/quiche moqt (three draft-18 commits July 17: 78341592/2f4ea0dd/d106f181), moqtail/moqtail (MERGED 291), Eyevinn/locmaf (v0.2.0 release + govulncheck CI July 17), meetecho/imquic (two minor commits), facebookexperimental/moxygen (infra-only), cloudflare/moq-rs / video-dev/moq-js / Eyevinn (moqtransport/warp-player/moqlivemock) / openmoq/moqx / birneee/quiche_moq / kota-yata/Moqtopus quiet.
- Interop runner: NEW report 2026-07-17 00:33:44 UTC (319/137/182/0, at-target 171) — pass +1 (136 → 137), fail −1, matrix/skip/at-target flat. No July-18 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-transport, moq-msf, quiche-moq, moqtail, moq-dev, interop-runner, interim-meetings, discussions-2026-07, index.md
Key findings:
The IANA “early review” is now unmistakably a WGLC-gating cross-document sweep, and the WG has started the cleanup on the eve of Vienna. Last update read the transport-19 review (#1456083) as the punch-list; this window shows it was one of five reviews Amanda Baber filed in an eight-minute burst July-16 morning — loc, msf, privacy-pass-auth, and secure-objects each got a companion review, all pointing at the same defect class: registry names/references that don’t line up with the registries transport-19 actually establishes, and RFC 8126 designated-expert/Change-Controller boilerplate that’s missing. That reframes the “reconcile allocations across loc/secure-objects/msf” line from transport-19’s review as IANA’s coordinated verdict across the whole MoQ document set — precisely the cross-draft registry hygiene a cluster of documents needs before Last Call. Will Law’s four-PR msf batch (#192–#195, led by “update normative references and IANA registries” closing #191) is the first document actually being worked down, and it lands the day before the Hackathon. Read with the formally-booked Aug 10 → Sep 21 virtual-interim series and Frindell’s Monday “MOQT Update and Path to WGLC” slot, the pre-Vienna picture is a WG converting an IANA punch-list into scheduled editorial work — not open protocol design.
Draft-18 is now being built from five independent codebases at once — and quiche joining is the structurally biggest impl signal of the window. The convergence story has widened each week: moqtail (day 1–2), moxygen (FORWARD/REQUEST_UPDATE), moq-dev (already on 19). This window adds google/quiche, whose moqt module had been quiet since July 8 and now lands the heavy draft-18 mechanics — moving SUBSCRIBE onto its own bidirectional stream, a session that no longer owns subscriptions, the SUBSCRIBE_NAMESPACE/TRACKS split, and a codebase-wide class rename (LivePublisher/LiveSubscriber/ObjectSubscriber). That is Google doing the same wire migration moqtail and moxygen did, from a very different C++ base — five codebases (quiche, moqtail, moxygen, imquic, moq-dev) now on or converging toward the runner’s draft-18 target. moqtail finishing its sprint’s last two PRs (#290 FIRST_OBJECT bit, #291 control table) closes the second-implementation arc the wiki opened July 15. The interop number doesn’t yet reflect any of it — the July-17 cut ran at 00:33 UTC, before the day’s commits — so whether quiche’s migration and moqtail’s completion push the matrix past 137 is the near-term thing to watch; the frozen axis remains the runner still targeting draft-18, not draft-19, with Vienna the likeliest trigger.
moq-dev’s second refactor day is the audit-then-converge half of the July-16 contract-drift find — the bindings surface is being made trustworthy, not just wider. July 16 catalogued where the Rust core, js/net port, C bindings, and draft had silently diverged (issues #2309–#2325); July 17 executes the fixes and generalizes them: the Rust/JS token contract aligns (#2329), the SUBSCRIBE_END off-by-one is resolved to the draft’s exclusive semantics (#2333), and — the durable move — py/swift/kt/go are converged onto a single wrapper contract (#2345) with moq-ffi shapes unified (#2373) ahead of a version bump. A real stats module lands (#2348) and is already being extracted into its own moq-stats crate (#2380, OPEN), and moq-net takes a round of breaking refactors (tear-down-on-last-subscriber, dropping its direct tokio dependency). The Safari/audio cluster (aligning moq-audio with moq-video, AudioContext-from-gesture, Safari video publish) works fperex’s live bug sweep (#2352–#2358). A point release (moq-ffi v0.2.32 / moq-cli v0.8.6) ships it; no new relay train. After two weeks of expanding the multi-language/multi-gateway surface, the through-line is now internal consistency — the prerequisite for the roadmap features (#2275–#2284) if the bindings are to be trusted.
2026-07-17 — IANA reviews transport-19; moq-dev + draft-18 convergence
TL;DR:
- IANA’s early review of [[moq-transport|
draft-ietf-moq-transport-19]] lands (July 16) — the window’s biggest durable WG signal, and a concrete gate on the “Path to WGLC.” Amanda Baber (IANA, RT ticket #1456083) reviewed transport-19 ahead of IETF 126 and flagged the IANA Considerations section as incomplete: clarify whether the new registries form a new group (suggested “Media over QUIC Transport”), add RFC 8126 designated-expert guidance for Expert-Review / Spec-Required registries, state explicit numeric bounds on every registry, differentiate registry names by protocol, and resolve inconsistent/duplicate registry allocations shared with loc, secure-objects-01, and msf-01. The WG reacted same-day: afrind opened moq-transport #1814 “IANA early review issues” and Will Law opened msf #191 “IANA feedback ahead of IETF #126” to track the cross-draft cleanup; afrind also merged moq-transport #1804 require FETCH to be sent to at least one publisher (+1/−1). Separately the virtual-interim cadence between Vienna and Seattle is fixed — Martin Duke (“Re: Proposed Virtual Interim dates”, July 16) confirms Aug 10 / Aug 24 / Sep 8 (Tue, Labor-Day shift) / Sep 21, all 16:30–18:00 UTC; the IESG Secretary formally announced the Aug 10 session (now on the datatracker as interim-2026-moq-21, agenda TBD). No new draft revisions (all still 07-06). - moq runs another heavy July-16 day and cuts a second release train in 48 h (moq-relay v0.13.6 + ffi v0.2.31 / cli v0.8.5 / libmoq v0.3.13). Feature/refactor merges: #2303 adapt encoder bitrate to the congestion-control estimate (+1026/−47 — the first CC→encoder link, implementing roadmap #2283), #2302 caller-driven
(Session, Driver)sessions (+938/−309, merged 00:27 July 17), #2299 reshape moq-hls import around per-track ownership + fix HLS conformance (+1076/−687) and #2298 release track subscriptions when an export pauses, #2293 macOS window/app/system-audio capture + device enumeration (+1478/−240, MERGED after OPEN July 15), #2287 portable-API parity across bindings (+841/−52), #2307 dropAnnounced::Restart, #2306 honor declared track ends + unify abort codes, #2294 accept SNI-less raw QUIC, and Bleuzen’s #2291 allow OBS b-frames. Late July 16 kixelated filed a cross-language contract-drift cleanup batch (#2309–#2325): SUBSCRIBE_END off-by-one (Rust exclusive vs js/net + draft inclusive), JS verify rejecting Rust root-scoped tokens,subscribe_audiohardcoding Opus, and a sweep of bindings/moq-net/moq-ffi/libmoq/js API drift — with July-17 fix PRs #2329 align the Rust/JS token contract (+1089/−462), #2328 coalesce concurrent group fetches, #2327 IPv4-mapped dual-stack peers, and new contributor Simon Kirsten’s #2326 stop racing priority updates against group-frame writes. The cross-connection-migration PR #2241 grew to +3736/−800, still OPEN. - Draft-18 convergence widens to a third and fourth implementation. moqtail’s alignment sprint runs a strong day 2: #286 collapse CLIENT_SETUP/SERVER_SETUP into a single SETUP (+438/−453), #287 split delivery timeouts + rendezvous/fill + align param numbers (+294/−144), #285 renumber LOC property ids (+206/−95, implementing #282, pairing with loc #25), #284 control-message-type table → draft-18, plus OPEN #290 add the FIRST_OBJECT bit to SUBGROUP_HEADER — with Kerem Bekmez now a second active contributor (#289 TerminationCode fix, #291 moqtail-ts control table). And moxygen breaks a weeks-long quiet streak — Meta’s C++ relay lands draft-18 FORWARD-in-REQUEST_UPDATE work via direct commits: subscriber-side
request_updatesfor SUBSCRIBE_TRACKS + SUBSCRIBE_NAMESPACE, Forward made updatable in REQUEST_UPDATE for SUBSCRIBE_TRACKS, and gating subgroup-reopen on v18 forward resume — the implementation side of ianswett’s moq-transport #1813 INCLUDE_PROPERTIES / the FORWARD-on-REQUEST_UPDATE cluster. - Implementations: moq heavy July-16 day + release moq-relay v0.13.6 / ffi v0.2.31 / cli v0.8.5 / libmoq v0.3.13 (MERGED 2274; OPEN July-17 2326, #2241 +3736/−800; contract-drift issues #2309–#2325). moqtail draft-18 sprint day 2 (MERGED 284; OPEN 291; relay@0.14.1 July 15). moxygen resumes with draft-18 REQUEST_UPDATE/FORWARD direct commits (Meta ShipIt mirror). moqx #494 moxygen sync-bot + snapshot rebuild. Eyevinn (#100/#98 July 15, issue #101 draft-19) + locmaf (#5/#6 July 15) already logged. moq-rs, quiche (moqt, last July 8), moq-js, imquic, Eyevinn/moqtransport + warp-player, birneee/quiche_moq, Moqtopus quiet.
- Interop: one new cut — the 2026-07-16 00:33:03 UTC cut: 319 / 136 / 183 / 0 (~42.6% pass; at-target draft-18 171 · 0 ahead · 148 behind). Vs the July-15 00:28 cut (319/130/189/0, at-target 171): matrix flat 319, skip flat 0, at-target flat 171, pass +6 (130 → 136), fail −6. The first move above the week-long 130↔132 band (107 → 124 → 132 → 130 → 132 → 132 → 130 → 130 → 136 over July 8–16) — plausibly the July-15 draft-18 alignment (moqtail
moqt-18, moq-dev v0.13.5) beginning to convert cells, though at-target holds at 171 so it reads as cell-conversion within the existing set, not new coverage. Still targets draft-18 (the runner has not advanced to draft-19). No July-17 cut at check time.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): nothing new — newest is still Luke Curley’s July-7 21:52 CEST “qmux-02 or qmux-01 for draft 19?” thread. Slack silent ~10 days. - IETF mailing list: NEW — the standout is IANA’s early review of transport-19. “[IANA #1456083] Early review: draft-ietf-moq-transport-19” (Amanda Baber, July 16, permalink) — IANA Considerations incomplete; registry-group naming, RFC 8126 designated-expert guidance, explicit numeric bounds, protocol-differentiated registry names, and duplicate/inconsistent allocations shared with loc/secure-objects/msf. Plus Martin Duke’s “Re: Proposed Virtual Interim dates” (permalink) confirming Aug 10 / 24, Sep 8 / 21 (all 1630–1800 UTC), and the IESG Secretary’s formal “WG Virtual Meeting: 2026-08-10” announcement (permalink, agenda TBD) + four datatracker “New Interim Meeting Request” tool messages. The July-15 posts (Next Hybrid Interim, MOPS panel, slide instructions) were logged last update. No new weekly GitHub digest (last July 12).
- IETF Datatracker: no revision bumps — transport-19, privacy-pass-auth-03, secure-objects-01, loc-03, relay-dos-01 (all 07-06), c4m-01, cmsf-01, msf-01, the Cisco tempo-00 + mocha-* suite, the three Will Law event-timeline drafts, locmaf-01,
draft-ietf-quic-qmux-02all unchanged;draft-ietf-moq-dts4moqstill absent. New: interim-2026-moq-21 (Aug 10 virtual) now on the meetings page. IETF 126 Vienna July 20 / 23 / 24. - GitHub moq-wg: moq-transport — PR #1804 MERGED July 16 (FETCH to ≥1 publisher, afrind, +1/−1); new issue #1814 (IANA early review issues, afrind); PR #1813 INCLUDE_PROPERTIES still OPEN (updated July 16). msf — new issue #191 (IANA feedback ahead of IETF #126, wilaw); PR #190 event-timeline header property still OPEN. loc / secure-objects / cmsf / catalog-format / privacy-pass quiet in-window (their July-15 items logged last update).
- GitHub implementations: moq-dev/moq (MERGED July 16 2274; releases moq-relay v0.13.6 / moq-ffi v0.2.31 / moq-cli v0.8.5 / libmoq v0.3.13 July 16; OPEN July-17 2326; issues #2309–#2325 + #2296), moqtail/moqtail (MERGED July 16 284; OPEN 291; relay@0.14.1 July 15), facebookexperimental/moxygen (draft-18 REQUEST_UPDATE/FORWARD direct commits e848acf/3b4fd31/6f922d3/a80fc40 July 15–16), openmoq/moqx (#494 sync-bot MERGED + snapshot rebuild), Eyevinn/moqlivemock (#100/#98 MERGED July 15, issue #101 OPEN) + Eyevinn/locmaf (#5/#6 MERGED July 15) — both already logged; cloudflare/moq-rs / google/quiche moqt (last July 8) / video-dev/moq-js / meetecho/imquic / Eyevinn (moqtransport/warp-player) / birneee/quiche_moq / kota-yata/Moqtopus quiet.
- Interop runner: NEW report 2026-07-16 00:33:03 UTC (319/136/183/0, at-target 171) — pass +6 (130 → 136), fail −6, matrix/skip/at-target flat. No July-17 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-transport, moq-dev, moqtail, moxygen, interop-runner, interim-meetings, discussions-2026-07, index.md
Key findings:
The IANA early review is the window’s most consequential durable fact — it turns “Path to WGLC” from an agenda label into an itemized work list. IANA’s Amanda Baber reviewed transport-19 ahead of IETF 126 and returned a concrete punch-list: the IANA Considerations section is incomplete, the new registries need a named group and RFC 8126 expert guidance, every registry needs explicit numeric bounds, and — most consequentially for the WG’s coordination load — the allocations transport-19 requests collide/conflict with those in loc, secure-objects-01, and msf-01. That is exactly the cross-draft cleanup a document needs before Last Call, and the WG treated it as such: afrind opened a transport tracking issue (#1814) and Will Law an msf one (#191) the same day, both explicitly scoped to “ahead of IETF #126”. Read with last week’s finalized-agenda “MOQT Update and Path to WGLC” slot (Frindell, Monday), the review makes the WGLC push tangible — the blockers are now enumerated registry/IANA items, not open protocol design. The virtual-interim cadence (Aug 10 / 24, Sep 8 / 21) is the scheduling scaffolding for working that list down between Vienna and the October Seattle hybrid interim.
moq-dev’s July-16 is a “make the multi-binding surface correct” day layered on real feature work. The headline features are genuine — congestion-adaptive encoder bitrate (#2303, the first CC→encoder link and the first roadmap-batch item to ship as code), macOS window/app/system-audio capture (#2293), and a caller-driven (Session, Driver) net model (#2302). But the more telling motion is the late-day issue batch #2309–#2325: kixelated cataloguing where the Rust core, the js/net port, the C bindings, and the draft have silently diverged — SUBSCRIBE_END off-by-one (exclusive vs inclusive), a token-verify contract that rejects Rust-signed root-scoped tokens across the JS boundary, hardcoded Opus in subscribe_audio. The July-17 PRs (#2329 token contract, #2328 group-fetch coalescing, #2326 by a new contributor) are the first fixes. After two weeks of expanding the multi-language/multi-gateway surface, moq-dev is now auditing it for internal consistency — a maturity signal, and a prerequisite if the bindings are to be trusted for the roadmap features (#2275–#2284) it scoped last week. A second release train in 48 h (v0.13.6) ships the day’s work.
The draft-18 interop target is now being approached from four independent codebases at once — and the runner moved for the first time in a week. Last week the story was moqtail waking up; this week moqtail runs a hard day-2 (single SETUP, split delivery timeouts, LOC property renumber, control-message-type table, FIRST_OBJECT bit) with a second contributor (Kerem Bekmez), and moxygen breaks a long quiet streak to land the draft-18 FORWARD-in-REQUEST_UPDATE mechanics on the SUBSCRIBE_TRACKS/NAMESPACE surface — the implementation side of ianswett’s INCLUDE_PROPERTIES PR. Together with moq-dev (already on draft-19) and the standing runner endpoints, that is four codebases actively converging on the same wire. The interop cut is the first corroboration: pass +6 to 136 (00:33 July 16), the first break above the 130↔132 band the surface held for a week — timed right after the July-15 moqtail moqt-18 bump and moq-dev v0.13.5, and consistent with cell-conversion (at-target flat at 171) rather than new coverage. Whether it holds or was a one-cut spike is the near-term thing to watch; the structural axis is still frozen (runner on draft-18, not draft-19), and Vienna remains the likely trigger for a draft-19 target.
2026-07-16 — moq-dev hls/release day; moqtail draft-18; Seattle interim
TL;DR:
- moq runs a big July-15 moq-hls-hardening + release day (~13 merges), and the “make moq-hls a real origin” direction gets concrete. The moq-hls cluster implements the July-14 roadmap issues: #2271 honor byte ranges + map changes (+611/−42), #2266 reconcile catalog renditions (+321/−70), #2264 account for audio groups in master variants (+119/−27), plus #2270 moq-mux
cut(end)as the group boundary (+361/−62). The connection-resilience theme lands its first piece — #2240 reconnect the moqsink publisher instead of dying on transport death (+403/−128, MERGED after being OPEN July 14) — alongside leak/ordering fixes (#2260 release per-subscription serve scopes, #2262 resolve reordered track aliases) and gateway fixes (#2267 moq-rtc RTP-clock sync via sender reports, #2261 SRT egress-buffer stalls). The TSwatchplayer is simplified — #2288 remove the MSE backend, inline the WebCodecs pipeline (+187/−1196, breaking) makes it WebCodecs-only; and moq-native’s default QUIC backend flips to quinn (#2285). It cuts a fresh release train — moq-relay v0.13.5 (+moq-ffi v0.2.30 / moq-cli v0.8.4 / moq-gst v0.2.12), first since v0.13.4 (July 12). And kixelated files a broad roadmap issue batch (#2275–#2284, #2296): DVR rewind/time-shift, QUIC multipath bonded contribution, Hang E2E encryption, wall-clock latency target, typed SCTE-35 cues, caption/subtitle tracks, recording/replay, native echo-cancel/AGC, CC-bandwidth→encoder, keyframe request/PLI, quiche→quinn/noq backend parity — the widest forward-looking sketch the wiki has logged. - moqtail wakes up with a draft-18 alignment sprint — a second implementation converging on the interop target — while the WG’s pre-Vienna spec churn broadens and a new October interim gets a venue. moqtail (was “draft-16 only”) lands #280 bump ALPN to
moqt-18, #281 rename Extension Headers → Properties (+456/−465, matching the -19 terminology), #283 share draft-18 constants + varint conformance vectors (+1886/−272), #219 relaywt-protocolheader fix, sharmafb’s #214 malformed-track detection — plus a ~20-issue tracking batch (TS-6b…TS-20, JS-1/2, MT-1/2, #282 LOC property-id renumber) for the moqtail-ts draft-18 API break (moqt://scheme, SUBSCRIBE_NAMESPACE/TRACKS split, PUBLISH_BLOCKED, GREASE). On the WG side, the July-14 MSF-merge streak continues into cross-repo spec churn: ianswett opens moq-transport #1813 INCLUDE_PROPERTIES Parameter; Will Law opens msf #190 Event Timeline track Property to carry header data (follow-on to the init-data cluster); kixelated opens loc #25 frame durations + discontinuities (pairs with moqtail #282); and sharmafb runs a privacy-pass triage (#22/#24 issues + PR #23 add SUBSCRIBE_TRACKS to MoQAction) ahead of Monday’s AUTH design-team slot. The list carries a real headline: Martin Duke’s “Next Hybrid Interim” (July 15) sets the October interim at F5 Tower, Seattle — Oct 12–13 interop, Oct 14–15 issue/technical discussion — resolving the venue poll that closed July 5. Two Vienna-logistics posts follow (slide-upload instructions; a MOPS-WG live-video panel, Tue July 21 09:00). No new draft revisions (all still 07-06); the MoQ agenda advanced-02→-03(dated July 14, after being declared “final”). Slack silent ~9 days; no new MoQ Monthly (#2, May 31); no open wiki issues. - Implementations: moq July-15 hls/release day (MERGED 2200; release moq-relay v0.13.5 + ffi v0.2.30 / cli v0.8.4 / gst v0.2.12; OPEN #2293 macOS window/system-audio capture +1409/−234, #2287 portable-API parity +830/−33, #2295 custom catalog tracks, #2289 hang non_exhaustive, #2286 caller-driven net, #2294 SNI-less raw QUIC, #2268 hls cancel-on-pause, #2241 cross-connection migration now +3770/−736, #2291 obs b-frames by Bleuzen; roadmap issues #2275–#2284/#2296 filed). moqtail draft-18 sprint (MERGED 220; ~20 tracking issues + #282). locmaf #5 in-browser conformance checker (+1773/−909, tobbee, MERGED) + #6 mp4ff v0.54.0. moqlivemock #100 CI node24 (tobbee, MERGED); new issue #101 add MOQT draft-19 (avelad). imquic #32 (MoQT v19) OPEN, unchanged (+993/−198, last commit July 14). moq-rs, quiche (moqt, last July 8), moq-js, moxygen, moqx (only #493 sync-bot), Eyevinn/moqtransport + warp-player, birneee/quiche_moq, Moqtopus quiet.
- Interop: one new cut — the 2026-07-15 00:28:22 UTC cut: 319 / 130 / 189 / 0 (~40.8% pass; at-target draft-18 171 · 0 ahead · 148 behind). Vs the July-14 00:31 cut (319/130/189/0, at-target 171): byte-for-byte flat on every axis (matrix 319, pass 130, fail 189, skip 0, at-target 171 all unchanged). The draft-18 surface holds after July-14’s −2 dip; across the week (107 → 124 → 132 → 130 → 132 → 132 → 130 → 130 over July 8–15) it reads as converged with 1–2-cell flake, not trending. Still targets draft-18 (the runner has not advanced to draft-19). No July-16 cut at check time.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): nothing new — newest is still Luke Curley’s July-7 21:52 CEST “qmux-02 or qmux-01 for draft 19?” thread. Slack silent ~9 days. - IETF mailing list: NEW — three July-15 posts. Martin Duke “Next Hybrid Interim” (substantive): the October hybrid interim is set for F5 Tower, 801 5th Avenue, Seattle — Oct 12–13 interop testing, Oct 14–15 issue/technical discussion (permalink), resolving the venue poll that closed July 5. Magnus Westerlund “Instructions for uploading slides for IETF 126” (logistics — upload/update slides in datatracker so they surface in Meetecho; don’t select an already-past session). Jana Iyengar “Relevant panel at MOPS wg” — a MOPS-WG panel on real-world live/broadcast video-streaming pain points, IETF 126 Vienna, Tue July 21 09:00–10:30. No new weekly GitHub digest (last July 12).
- IETF Datatracker: no revision bumps — transport-19, privacy-pass-auth-03, secure-objects-01, loc-03, relay-dos-01 (all 07-06), c4m-01, cmsf-01, msf-01, the Cisco tempo-00 + mocha-* suite, the three Will Law event-timeline drafts, locmaf-01,
draft-ietf-quic-qmux-02all unchanged;draft-ietf-moq-dts4moqstill absent. Change: the MoQ session agenda advancedagenda-126-moq-02→-03(dated July 14, after the July-13 “Final Agenda posted” declaration). IETF 126 Vienna July 20 / 23 / 24. - GitHub moq-wg: moq-transport — new OPEN PR #1813 (INCLUDE_PROPERTIES Parameter, ianswett, +10/−0); no merges. msf — new OPEN PR #190 (Event Timeline track Property for header data, wilaw, +31/−3); the July-14 init-data cluster (#186/#187/#189) already logged. loc — new issue #25 (frame durations + discontinuities, kixelated). privacy-pass — new issues #22/#24 + PR #23 (all sharmafb). secure-objects / cmsf / catalog-format quiet.
- GitHub implementations: moq-dev/moq (MERGED July 15 2200; release moq-relay v0.13.5 + ffi v0.2.30 / cli v0.8.4 / gst v0.2.12; OPEN 2291; roadmap issues #2275–#2284/#2296), moqtail/moqtail (MERGED 220 + ~20 tracking issues incl. #282), Eyevinn/locmaf (#5 MERGED +1773/−909, #6 MERGED), Eyevinn/moqlivemock (#100 MERGED; issue #101 OPEN), meetecho/imquic (#32 OPEN, unchanged), openmoq/moqx (#493 sync-bot), cloudflare/moq-rs / google/quiche moqt (last July 8) / video-dev/moq-js / facebookexperimental/moxygen / Eyevinn (moqtransport/warp-player) / birneee/quiche_moq / kota-yata/Moqtopus quiet.
- Interop runner: NEW report 2026-07-15 00:28:22 UTC (319/130/189/0, at-target 171) — flat on every axis vs July-14. No July-16 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-dev, moqtail, interop-runner, interim-meetings, discussions-2026-07, index.md
Key findings:
moq-dev’s July-15 is the “make moq-hls a real origin” day the July-14 roadmap set up — plus the connection-resilience theme’s first landed piece and a very wide roadmap sketch. July 14 filed a moq-hls roadmap issue cluster (#2248–#2253) and rewrote the export path; July 15 executes on it — byte-range honoring, catalog-rendition reconciliation, audio-group handling in master variants, and moq-mux group-boundary semantics are exactly what an HLS gateway needs to serve legacy players from a MoQ ingest as a standalone origin. In parallel the long-OPEN moqsink-reconnect PR (#2240) finally merges, giving the connection-resilience theme (transparent cross-connection subscription migration #2241 still OPEN at +3770) its first landed component. Two quieter durable shifts: the TS watch player drops its MSE backend to become WebCodecs-only (#2288, −1196 net), and moq-native’s default QUIC backend flips from noq to quinn (#2285). The roadmap issue batch (#2275–#2284, #2296) is the notable tell — it spans DVR/time-shift, multipath bonded contribution, Hang E2E encryption, captions/SCTE-35, and native audio processing, i.e. moq-dev is publicly scoping a full production media stack, not just a demo. A v0.13.5 release train ships the day’s work.
moqtail’s draft-18 sprint is the first sign a second non-moq-dev implementation is actively converging on the interop target — and it explains the LOC-renumber cross-links. moqtail has sat at “draft-16 only on main” for months; July 15–16 it bumps ALPN to moqt-18, renames Extension Headers → Properties (the -19 terminology), and shares draft-18 constants + varint conformance vectors, with a ~20-issue backlog scoping the moqtail-ts API break (moqt:// scheme, the SUBSCRIBE_NAMESPACE/TRACKS split, PUBLISH_BLOCKED, GREASE). Its new LOC property-id renumber issue (#282) pairs directly with kixelated’s fresh loc #25 (frame durations/discontinuities) — cross-implementation convergence on the LOC container’s property IDs. The contrast worth tracking into Vienna: imquic (#32) and moq-dev build draft-19 while moqtail catches up to draft-18 (the runner’s target) — a reminder the ecosystem spans a 3-draft window even as the runner sits on 18.
The window’s WG signal is breadth, not depth: pre-Vienna spec churn now touches transport, MSF, LOC, and privacy-pass at once, and the October venue is finally fixed. July-14 broke the six-window “spec-quiet” streak with the MSF init-data merges; July 15 shows that was not a one-off — INCLUDE_PROPERTIES (transport #1813), an MSF event-timeline header property (#190), a LOC frame-duration issue (#25), and a privacy-pass triage sweep (#22/#23/#24) all open in a single day across four repos, reading as editors clearing the pre-Vienna backlog on the exact items the Monday/Thursday/Friday agenda lists. The list adds the durable meeting fact: the October hybrid interim resolves to F5 Tower, Seattle, Oct 12–15 (interop first two days, issues last two) — the North-American venue the June poll left “TBD” is now concrete, and the interop/issues split mirrors the London format. Interop itself is flat (byte-for-byte July-14 = July-15), confirming the converged draft-18 surface; the open growth axis is still whether the runner cuts a draft-19 target, which Vienna’s “Path to WGLC” discussion is the likeliest trigger for.
2026-07-15 — MSF init-data cluster merges; moq-dev moq-hls day; interop dips
TL;DR:
- The six-straight-window “spec-quiet” streak breaks — the WG merges real spec text. Will Law lands a three-PR MSF init-data cluster in msf July 14: #186 add Track + Object properties to carry initialization data (+50/−20, closes the reverted-
initTrack#153), #187 clarify track cloning + delta-update rules (+28/−14, closes #183), #189 typo fixes — the concrete landing of the dual Track+Object initData design the MSF page has tracked as “settled toward,” closing 183 and arriving right before MSF’s Friday-Vienna slot. Separately Frindell reactivates the long-deferred switching / fill-fetch cluster in moq-transport: PR #1674 Track Switching via a SWITCH_FROM parameter and PR #1673 Replace Joining FETCH with fill fetch streams both updated July 14 (OPEN) — pre-Vienna warm-up on the Thursday “extended MOQT issue discussion” agenda. No new draft revisions (all still 07-06). On the list, chair Magnus Westerlund replied to the Final Agenda thread (July 14) with a logistics note: 24 h is the slide-submission deadline, but submit earlier — especially before Monday — so topics can be reordered if the schedule runs fast. - moq runs a moq-hls + publish-pipeline refactor day (8 merges). Led by two ~1,000-LOC restructures — #2257 composable
Broadcast+ per-rendition encoders (+776/−461, breaking) and #2258 rewrite moq-hlsexport::Broadcasteras an owned poll-driven state machine (+539/−335) — plus #2254 release source subscriptions when a Broadcaster drops (closes #2255), #2256 expose client mTLS cert config through moq-ffi, #2246 measure upload bitrate from encoder Stats (was OPEN July 13), and community contributor fperex’s #2211 prefer the codecs Safari actually HW-encodes (was OPEN). The moq-lite-05 wire gains its session Role in SETUP — #2201 (+791/−648) finally MERGES (OPEN since July 12). A moq-hls roadmap issue cluster opens (#2248–#2253: fMP4 timestamp rebase for late subscribers, master-playlist import, pause/shutdown). The big connection-migration PR #2241 grows to +2777/−579 but stays OPEN. - Implementations: moq moq-hls/publish refactor day (MERGED July 14 2201; OPEN #2241 +2777/−579, #2240, #2259, #2210; issues #2248–#2255 filed, #2255 CLOSED same-day by #2254; no new release, latest moq-relay v0.13.4 July 12). imquic #32 MoQT v19 grows to +993/−198 (OPEN). locmaf #3 CLI extension (+1520/−62, tobbee, MERGED) + #4 CI bump; moqlivemock #100 CI bump (tobbee, OPEN). moqx #493 moxygen sync-bot (trivial, MERGED). moq-rs, quiche (moqt), moq-js, moqtail, moxygen, Eyevinn/moqtransport + warp-player, birneee/quiche_moq, Moqtopus quiet.
- Interop: one new cut — the 2026-07-14 00:31:08 UTC cut: 319 / 130 / 189 / 0 (~40.8% pass; at-target draft-18 171 · 0 ahead · 148 behind). Vs the July-13 00:34 cut (319/132/187/0, at-target 171): matrix flat 319, skip flat 0, at-target flat 171, pass −2 (132 → 130), fail +2. A second small dip that mirrors July-11’s −2 — the draft-18 surface is now oscillating 130↔132 on a structurally identical matrix (107 → 124 → 132 → 130 → 132 → 132 → 130 across July 8–14), i.e. settled with 1–2-cell flake, not trending. Still targets draft-18 (not advanced to -19). No July-15 cut at check time.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): nothing new — newest is still Luke Curley’s July-7 21:52 CEST “qmux-02 or qmux-01 for draft 19?” thread. Slack silent ~8 days. - IETF mailing list: NEW — chair Magnus Westerlund’s “Re: Final Agenda posted” (July 14), a reply to Duke’s July-13 Final Agenda post: 24 h before is the slide-submission deadline, but submit earlier (especially before the Monday session) to allow reordering if topics run fast. Logistics only, no spec content. No weekly GitHub digest in-window (last July 12).
- IETF Datatracker: no revision bumps — transport-19, privacy-pass-auth-03, secure-objects-01, loc-03, relay-dos-01 (all 07-06), c4m-01, cmsf-01, msf-01, the Cisco tempo-00 + mocha-* suite, the three Will Law event-timeline drafts, locmaf-01,
draft-ietf-quic-qmux-02all unchanged;draft-ietf-moq-dts4moqstill absent (404). Agenda staysagenda-126-moq-02(final). IETF 126 Vienna July 20 / 23 / 24. - GitHub moq-wg: msf — three PRs MERGED July 14 (#186/#187/#189, all Will Law; issues 183 CLOSED). moq-transport — no merges; OPEN PR #1674 (SWITCH_FROM, afrind) + PR #1673 (fill fetch streams, afrind) updated July 14; Issue #1801 (reconsider OR) updated. loc / secure-objects / cmsf / catalog-format quiet.
- GitHub implementations: moq-dev/moq (MERGED July 14 2201, plus boundary-straddle #2243 already logged July 13; OPEN 2200-release; issues #2248–#2255 filed, #2255 CLOSED; no new release train), meetecho/imquic (#32 v19 OPEN, +993/−198), Eyevinn/locmaf (#3 MERGED +1520/−62, #4 MERGED), Eyevinn/moqlivemock (#100 OPEN), openmoq/moqx (#493 sync-bot MERGED, trivial), cloudflare/moq-rs / google/quiche moqt / video-dev/moq-js / moqtail/moqtail / facebookexperimental/moxygen / Eyevinn (moqtransport/warp-player) / birneee/quiche_moq / kota-yata/Moqtopus quiet. No July-15 activity in any repo at check time.
- Interop runner: NEW report 2026-07-14 00:31:08 UTC (319/130/189/0, at-target 171) — pass −2 (132 → 130), fail +2, matrix/skip/at-target flat. No July-15 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-msf, moq-dev, interop-runner, discussions-2026-07, index.md
Key findings:
The “spec-quiet” run ends: the WG shipped merged spec text, and it’s the MSF init-data machinery LOCMAF/CMSF depend on. Six consecutive windows had the same shape — moq-dev churning, the WG limited to comment-level issue/PR churn, no merges. July 14 breaks it: Will Law merged three MSF PRs that turn the dual Track + Object initData design (which the MSF page had tracked only as “settled toward”) into actual draft text — #186 adds the Track and Object properties that carry init data (retiring the experimental initTrack path, issue #153), #187 pins down how tracks clone and how delta updates apply, #189 cleans up. That closes three issues (#153/#178/#183) and lands the exact mechanism LOCMAF and the LOCMAF→CMSF packaging plan rely on for period switches and DRM key rotation — timed to be concrete before MSF’s Friday slot at Vienna. Alongside, Frindell reopened the two long-deferred subscription-surface PRs (#1674 SWITCH_FROM track switching, #1673 fill-fetch replacing Joining FETCH); both are OPEN, but a chair touching exactly the “extended MOQT issue discussion” items the Thursday agenda lists is the pre-meeting tell that the deferred switching/fill-fetch cluster is back on the table for Vienna.
moq-dev’s day turns to the HLS-export and publish pipelines — restructuring, not new capability. After a week of widening reach (GPU transcode → FFI surface → per-language ergonomics → capture sources/Safari), July 14 is inward: two large refactors reshape the publish path (#2257 composable Broadcast + per-rendition encoders, breaking) and the HLS export path (#2258 rewriting export::Broadcaster as an owned poll-driven state machine), with a matching leak fix (#2254) and a fresh moq-hls roadmap issue cluster (#2248–#2253: fMP4 timestamp rebase for late subscribers, master-playlist import, pause/shutdown). Read as direction-of-travel, moq-dev is hardening the HLS gateway into a real origin — the piece a CDN needs to serve legacy HLS players from a MoQ ingest — while the moq-lite-05 wire quietly completes with the session-Role-in-SETUP merge (#2201, OPEN since July 12) and the connection-migration PR (#2241, now +2777) keeps growing toward the resilience story. A community Safari-codecs PR (fperex #2211) and client-mTLS FFI config (#2256) round out the deployment-readiness edges.
The interop number is oscillating, not moving — a settled draft-18 surface with 1–2-cell flake. July-14’s −2 (to 130) is the second dip of the run and mirrors July-11’s −2 exactly; the matrix is byte-for-byte structurally identical (319 cells, 0 skip, at-target draft-18 171) and pass has now bounced 132 → 130 → 132 → 132 → 130 over the last five cuts. That is the signature of a converged conformance surface where a couple of cells flip on run-to-run flake, not a hardening trend still in motion (that phase was July 8–10: 107 → 124 → 132). The one structural axis remains frozen and is now over a week old: the runner still targets draft-18 and has not advanced to draft-19 even as moq-dev carries moqt-19 and imquic’s #32 (now +993/−198) keeps building v19 — Vienna’s “Path to WGLC” discussion remains the most likely trigger for a draft-19 conformance target.
2026-07-14 — moq-dev consolidation/reach day; IETF-126 agenda final; interop flat
TL;DR:
- A sixth straight spec-quiet, implementation-heavy window; moq still owns it, this time as a ~18-merge July-13 consolidation-and-reach day rather than a single-capability jump. Three threads: (1) platform/capture reach — #2238
moq-videoPipeWire screen capture on Linux (+924/−24, the day’s largest), a new native desktop capture source, plus still-open Safari-HW-encode #2211 (fperex) and a new Firefox-Worker-capture issue #2224; (2) per-language binding ergonomics on the July-11/12 FFI surface — #2236 ergonomic Swift JSON wrappers + explicit snapshot mode (+365/−86, breaking), #2230 Go raw-frame timestamps, #2227 compile+test Kotlinjust kt check, #2214 a Pythonmoq-rs0.3.2 release; (3) an AI-review-driven net-API hardening cluster — issues #2215–#2224 filed and several resolved same-day, landing #2234finish_atfuture exclusive end group (closes #2219), #2232 remove implicit frame-timestamp helpers, #2243 type request transports, #2235 align track-ordering, #2242 shorten watch signal groups (breaking). July-12’s audio-workletAbortError#2202 is fixed same-week (#2231). Two large PRs OPEN in-flight — #2241 migrate subscriptions transparently across connections (+1206/−238) and #2240 reconnect themoqsinkpublisher on transport death — an emerging connection-resilience theme. Two external contributors now regular: fperex (Safari/publish), bgreenway (moq-gst/moqsink, moq-mux). - The WG headline is process, not code: IETF-126 agenda finalized. Martin Duke posted “Final Agenda posted” (July 13); the datatracker agenda is now
agenda-126-moq-02(up from-00, July 7), locking the Vienna schedule (Mon July 20 / Thu July 23 / Fri July 24) with Frindell’s “MOQT Update and Path to WGLC” (Monday) as the marquee item — the first explicit signal MOQT is being steered toward Working Group Last Call. moq-transport itself saw only comment churn on two agenda-bound items (SSTS #1638, filters #1810); no new items, no merges. No new draft revisions (all still 07-06); Slack silent ~7 days; no new MoQ Monthly (#2, May 31); no open wiki issues. - Implementations: moq ~18-merge July-13 day (MERGED 2214; OPEN 2201; issues #2215–#2224 filed, 2222 + Safari 2208 CLOSED same-day; Python
moq-rs0.3.2 released, no new Rust release train — latest moq-relay v0.13.4 July 12). moqtail #217 dependabot OPEN. Eyevinn #99 (badge removal, tobbee, MERGED) + locmaf #2 (mp4ff v0.53.0, tobbee, MERGED), both trivial. imquic #32 (v19) comment activity. moq-rs, quiche (moqt), moq-js, moxygen, moqx, Eyevinn/moqtransport + warp-player, birneee/quiche_moq, Moqtopus quiet. - Interop: one new cut — the 2026-07-13 00:34:24 UTC cut: 319 / 132 / 187 / 0 (~41.4% pass; at-target draft-18 171 · 0 ahead · 148 behind). Vs the July-12 00:34 cut (319/132/187/0, at-target 171): byte-for-byte flat on every axis (matrix 319, pass 132, fail 187, skip 0, at-target 171 all unchanged). The July-12 recovery holds; the draft-18 surface reads as settled at 132/319 (107 → 124 → 132 → 130 → 132 → 132 across July 8–13). Still targets draft-18 (not advanced to -19).
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): nothing new — newest is still Luke Curley’s July-7 21:52 CEST “qmux-02 or qmux-01 for draft 19?” thread. Slack silent ~7 days. - IETF mailing list: NEW — Martin Duke’s “Final Agenda posted” (July 13), pointing at the finalized IETF-126 MoQ agenda (
agenda-126-moq-02). The prior in-window item, the “Weekly github digest” (July 12, covering July 5–12), was already logged. - IETF Datatracker: no revision bumps — transport-19, privacy-pass-auth-03, secure-objects-01, loc-03, relay-dos-01 (all 07-06), c4m-01, cmsf-01, msf-01, the Cisco tempo-00 + mocha-* suite, the three Will Law event-timeline drafts, locmaf-01,
draft-ietf-quic-qmux-02all unchanged;draft-ietf-moq-dts4moqstill absent (404). Only change: the MoQ session agenda advancedagenda-126-moq-00→-02(final). IETF 126 Vienna July 20 / 23 / 24. - GitHub moq-wg: no new items, no merges in-window — only comment churn on Will Law’s SSTS PR #1638 (July 13) and Lorenzo Miniero’s filters Issue #1810 (July 13), both agenda-bound. The July-10 filters/FORWARD cluster (#1811/#1812, 1801) sits untouched. msf / loc / secure-objects / cmsf / catalog-format / privacy-pass quiet.
- GitHub implementations: moq-dev/moq (MERGED July 13 2214; OPEN 2201; issues #2215–#2224 filed, 2208 CLOSED; Python moq-rs 0.3.2, no new Rust release train), moqtail/moqtail (#217 dependabot OPEN), Eyevinn/moqlivemock (#99 MERGED), Eyevinn/locmaf (#2 MERGED), meetecho/imquic (#32 comment activity), cloudflare/moq-rs / google/quiche moqt / video-dev/moq-js / facebookexperimental/moxygen / openmoq/moqx / Eyevinn (moqtransport/warp-player) / birneee/quiche_moq / kota-yata/Moqtopus quiet.
- Interop runner: NEW report 2026-07-13 00:34:24 UTC (319/132/187/0, at-target 171) — flat on every axis vs July-12. No July-14 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-dev, interop-runner, discussions-2026-07, index.md
Key findings:
moq-dev’s July-13 is a “widen the edges” day, not a new-capability day — and the through-line of the week now reaches capture sources and languages. The prior three windows added capabilities in the middle of the stack (July-10 GPU transcode, July-11/12 FFI surface + Safari session plumbing + generic JSON). July 13 turns to the edges: a new native capture source (PipeWire Linux screen capture, the day’s single largest merge), ergonomic per-language wrappers so Swift/Go/Kotlin/Python consumers can actually use the raw FFI that landed two days earlier (plus a Python moq-rs 0.3.2 release), and an AI-review-driven sweep hardening the moq-net API. Read against the week, the consistent thesis holds and sharpens: moq-dev is widening who and what can drive MoQ — more platforms (Linux desktop, Safari, Firefox-in-flight), more languages (Swift/Go/Kotlin/Python ergonomics), more payloads (JSON) — while the wire (moq-lite-05, -06 WIP) evolves separately. A second, newer theme surfaces in the OPEN PRs: connection resilience — transparent subscription migration across connections (#2241) and moqsink publisher reconnect (#2240) — the plumbing a real deployment needs to survive transport churn, worth watching whether it lands before Vienna.
“Path to WGLC” is the most consequential item this week, and it’s on paper for Vienna. The window produced almost no WG code, but the finalized agenda (agenda-126-moq-02) carries the first explicit “Path to WGLC” slot for MOQT (Frindell, Monday) the wiki has tracked. That reframes the recent -19 activity — the filters implementer-feedback cluster (#1810), the FORWARD-on-REQUEST_UPDATE clarification (#1811/#1812), the Location-filter realignment (#1809), the “reconsider OR” thread (#1801) — as the open-issues backlog a chair works down toward Last Call, not open-ended design. The Thursday/Friday agenda (SSTS, location filters, extended issue discussion, MSF/CMSF, tempo, Mocha, top-N filters) is the concrete list. Vienna (July 20/23/24) is now the checkpoint where “path to WGLC” either gets a timeline or slips; the comment churn on SSTS #1638 and filters #1810 this week is pre-meeting warm-up on exactly those agenda items.
The interop number has gone quiet in the good way — a flat, settled draft-18 surface. After the July-7 expansion (matrix +25 to 319, skips → 0) drove four gains, a 2-cell dip, and a recovery, July-13 is the first fully-flat cut of the run: every axis byte-for-byte identical to July-12 (319/132/187/0, at-target 171). That is the signature of a settled conformance surface, not stalled testing — the newly-added cross-version cells have finished converting and the matrix is stable at 132/319 (~41.4%). The one unchanged structural axis is now a week old and unmoved: the runner still targets draft-18 and has not advanced to draft-19, even as moq-dev carries moqt-19 and imquic’s #32 continues. Vienna’s “Path to WGLC” discussion is the likeliest trigger for the runner to finally cut a draft-19 target.
2026-07-13 — moq-dev Safari + moq-json burst; interop recovers
TL;DR:
- A fifth straight spec-quiet, implementation-heavy window; moq still owns it — and this pass catches the July-12 evening merge burst the prior update missed. The July-12 log ran early and captured only the just-after-midnight merges; a ~15-PR afternoon/evening burst (≈14:00–19:20 UTC) then landed and cut a fresh release train — moq-relay v0.13.4 + moq-ffi v0.2.29 / moq-cli v0.8.3 / libmoq v0.3.12 / moq-gst v0.2.11 (first since v0.13.3, July 9). It consolidates four threads: (1) Safari support (fperex) — the umbrella #2163 CLOSED and split into focused merges #2198 WebTransport datagram-API variants, #2192 negotiated-transport-on-
Established, #2197 unsupported-codec errors, #2185 Safaripagehidefix, #2181 media constraints (OPEN #2190 Safari HW encode +998/−211, #2191 48 kHz Opus); (2) generic data — #2196 moq-json split into snapshot/stream + JSON tracks through moq-ffi/libmoq (+2421/−1061); (3) transcode — #2158 amoq transcodeverb + decode-once-per-source + GPU resize fanout (+1470/−239); (4) operability/moq-lite — #2172 moq-relay Prometheus/metrics(MERGED), #2170 moq-net/js API hardening for moq-lite-05, #2132 auth transport forwarding, #2199 viewer same-name-republish recovery; OPEN #2201 session Role in the -05 SETUP, #2179 moq-lite-06 cost-based routing. - Everything else idle. All moq-wg repos quiet (the July-10 filters/FORWARD cluster 1812 untouched); the IETF list’s weekly GitHub digest resumed (July 12, covering July 5–12) but is a retrospective of already-logged items (moq-transport FORWARD/filters, LOC issue-closing sweep) — its only signal is that the ~weekly cadence recovered after being overdue. No new draft revisions (all still 07-06); Slack silent ~6 days; no MoQ Monthly (#2, May 31); no open wiki issues. Only other impl motion: moqtail #216 “Few Feat/top n optimizations” (Suhas Nandakumar, OPEN since July 11).
- Implementations: moq July-12 evening burst (MERGED 2194; OPEN 2200; CLOSED-unmerged umbrella #2163 + split-out 2186–#2189, transcode-race #2157; new issue #2202 audio-worklet AbortError OPEN; release train moq-relay v0.13.4 / moq-ffi v0.2.29 / moq-cli v0.8.3 / libmoq v0.3.12 / moq-gst v0.2.11). moqtail #216 (Suhas top-N) OPEN. moq-rs, quiche (moqt), moq-js, imquic, moxygen, moqx, Eyevinn (all), birneee/quiche_moq, Moqtopus quiet.
- Interop: one new cut — the 2026-07-12 00:34:35 UTC cut: 319 / 132 / 187 / 0 (~41.4% pass; at-target draft-18 171 · 0 ahead · 148 behind). Vs the July-11 00:32 cut (319/130/189/0, at-target 171): matrix flat 319, skip flat 0, at-target flat 171, pass +2 (130 → 132), fail −2. This recovers the July-11 −2 dip back to the July-10 high of 132 — confirming that dip as flake noise on a structurally identical matrix, not a trend reversal (107 → 124 → 132 → 130 → 132 across July 8–12). Still targets draft-18 (not advanced to -19). No July-13 cut at check time.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): nothing new — newest is still Luke Curley’s July-7 21:52 CEST “qmux-02 or qmux-01 for draft 19?” thread. Slack silent ~6 days. - IETF mailing list: NEW — the “Weekly github digest (Media Over QUIC Activity Summary)” posted July 12 (Repository Activity Summary Bot), covering July 5–12: moq-transport (+7/−13, seven new issues, 13 closed, 6 PRs), loc (six issues closed, one timestamp PR), warp-streaming-format (catalog comments). Retrospective of already-logged items; the ~weekly cadence resumed after being overdue (prior digest July 5). Newest human post still Martin Duke’s July-7 “Agenda is posted” (IETF-126
agenda-126-moq-00, comments were due July 12). - IETF Datatracker: no revision bumps — transport-19, privacy-pass-auth-03, secure-objects-01, loc-03, relay-dos-01 (all 07-06), c4m-01, cmsf-01, msf-01, the Cisco tempo-00 + mocha-* suite, the three Will Law event-timeline drafts, locmaf-01,
draft-ietf-quic-qmux-02all unchanged;draft-ietf-moq-dts4moqstill absent (404). IETF 126 Vienna July 20 / 23 / 24. - GitHub moq-wg: all repos quiet in-window — no new items July 12–13; the July-10 moq-transport filters/FORWARD cluster (#1810/#1811/#1812, 1801) sits untouched. msf / loc / secure-objects / cmsf / catalog-format / privacy-pass quiet.
- GitHub implementations: moq-dev/moq (MERGED July 12 2194; OPEN 2200; CLOSED-unmerged 2157; issue #2202 OPEN; releases moq-relay v0.13.4 / moq-ffi v0.2.29 / moq-cli v0.8.3 / libmoq v0.3.12 / moq-gst v0.2.11), moqtail/moqtail (#216 OPEN), cloudflare/moq-rs / google/quiche moqt / video-dev/moq-js / meetecho/imquic / facebookexperimental/moxygen / openmoq/moqx / Eyevinn (moqlivemock/warp-player/moqtransport/locmaf) / birneee/quiche_moq / kota-yata/Moqtopus quiet.
- Interop runner: NEW report 2026-07-12 00:34:35 UTC (319/132/187/0, at-target 171) — pass +2 (130 → 132), fail −2, matrix/skip/at-target flat. No July-13 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-dev, interop-runner, discussions-2026-07, index.md
Key findings:
The July-12 burst is a coverage catch — the prior update’s early check time split one active day across two log entries. The July-11→12 entry ran while July 12 was still young and saw only the post-midnight FFI/NVDEC merges; it recorded #2172 (Prometheus /metrics), #2170 (moq-net hardening), #2158 (transcode), and the whole Safari line as OPEN. Those all merged the same day, in the afternoon/evening. So the two consecutive entries describe the same moq-dev day from two vantage points: July-11→12 = the FFI/bindings + moq-lite-06 opening; July-12→13 = the consolidation-and-release close. The lesson for cadence is minor but real — moq-dev’s merge activity clusters late in the UTC day, after the ~midnight-UTC interop cut and the early-day source sweep, so a burst can straddle the check boundary.
Safari support is the durable capability of the burst — moq-dev’s browser reach widens past Chromium. fperex’s Safari work had been carried as one large umbrella PR (#2163, +3057/−434) that the wiki flagged OPEN a day earlier; July 12 it was closed and re-landed as five focused merges plus two still-open (hardware-encode #2190, 48 kHz-Opus #2191). The merged set is the connection/plumbing layer — WebTransport datagram-API variants, negotiated-transport exposure, a pagehide latch fix, unsupported-codec surfacing — i.e. the parts needed to establish and hold a session in Safari; the still-open pair is the capture/encode path. Paired with #2196 (generic JSON tracks across the FFI) and #2158 (a moq transcode CLI verb), the through-line of the week holds: moq-dev is widening who and what can drive MoQ — more languages (FFI), more browsers (Safari), more payloads (JSON) — rather than changing the wire.
The interop recovery closes the one open question the July-11 dip raised. July-11’s −2 (to 130) was the first pass regression after three straight gains, and the page hedged it as likely flake on a byte-identical matrix. July-12’s +2 (back to 132, the July-10 high) confirms that read: the draft-18 surface is still hardening (107 → 124 → 132 → 130 → 132), and the 2-cell wobble was noise. The structurally interesting axis is unchanged and now five days old — the runner still targets draft-18 and has not advanced to draft-19 even as moq-dev carries moqt-19 and imquic’s #32 continues; Vienna (July 20/23/24) remains the likely trigger for a draft-19 conformance surface.
2026-07-12 — moq-dev FFI + moq-lite-06 day; interop dips
TL;DR:
- A fourth straight spec-quiet, implementation-heavy window, and moq again owns it — this time shifting from GPU transcode to a C-FFI/bindings + moq-lite-06 day. Nine PRs MERGE July 11–12, led by FFI/libmoq surface expansion: #2142 moq-ffi group-fetch API (+911/−7, Qizot), #2173 origin options + dynamic FFI (+657/−29), #2171 libmoq raw-track C ABI (+448/−40), #2177 moq-ffi track info (+220/−9), #2168 Go wrapper catch-up (+460/−9) — plus #2161 moq-native quic::Client/Server transport config (+512/−131), #2146 moq-video decode timestamps as
moq_net::Timestamp, and #2178 NVDEC AV1 decode (+175/−71) extending July-10’s GPU pipeline. In flight: early moq-lite-06 design — #2179 cost-based cache-aware routing + a route-cost I-D (+1232/−95, OPEN), #2160 announce ids, #2172 moq-relay Prometheus/metrics(+501/−1, OPEN), and fperex’s big Safari-support #2163 (+3057/−434, OPEN). - The rest of the ecosystem is idle. All moq-wg repos quiet — the July-10 filters/FORWARD cluster (#1810/#1811/#1812) sits untouched. No new draft revisions (all still 07-06); mailing list quiet (weekly GitHub digest now overdue — last July 5); Slack silent ~5 days; no MoQ Monthly (#2, May 31); no open wiki issues. Only other impl motion: moqtail #216 “Few Feat/top n optimizations” (Suhas Nandakumar, OPEN).
- Implementations: moq FFI/bindings + moq-lite-06 day (MERGED July 11–12 2169; OPEN 2158; #2157 CLOSED-unmerged; issues 2164 OPEN, #2165 CLOSED; no new release train, latest v0.13.3 July 9). moqtail #216 (Suhas top-N opt) OPEN. moq-rs, quiche, moq-js, imquic, moxygen, moqx, Eyevinn (all), birneee/quiche_moq, Moqtopus quiet.
- Interop: one new cut — the 2026-07-11 00:32:18 UTC cut: 319 / 130 / 189 / 0 (~40.8% pass; at-target draft-18 171 · 0 ahead · 148 behind). Vs the July-10 00:38 cut (319/132/187/0, at-target 171): matrix flat 319, skip flat 0, at-target flat 171, pass −2 (132 → 130), fail +2. The first pass regression after three straight gains (107 → 124 → 132 → 130 across July 8/9/10/11) — a small, likely-flaky dip on a structurally identical matrix, not a reversal of the hardening trend. Still targets draft-18 (not advanced to -19). No July-12 cut at check time.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): nothing new — newest is still Luke Curley’s July-7 21:52 CEST “qmux-02 or qmux-01 for draft 19?” thread. No new July 11–12 traffic (Slack silent ~5 days). - IETF mailing list: nothing new July 11–12 — newest is still Martin Duke’s July-7 “Agenda is posted” (IETF-126
agenda-126-moq-00, comments due July 12). No weekly GitHub digest in-window — last was July 5, so the ~weekly cadence is now overdue. - IETF Datatracker: no revision bumps — transport-19, privacy-pass-auth-03, secure-objects-01, loc-03 (all 07-06), c4m-01, cmsf-01, msf-01, the Cisco tempo-00 + mocha-* suite, the three Will Law event-timeline drafts, locmaf-01,
draft-ietf-quic-qmux-02all unchanged;draft-ietf-moq-dts4moqstill absent (404). IETF 126 Vienna July 20 / 23 / 24. - GitHub moq-wg: all repos quiet in-window — no new items July 11–12; the July-10 moq-transport filters/FORWARD cluster (#1810/#1811/#1812, 1801) sits untouched (last activity July 10). msf / loc / secure-objects / cmsf / catalog-format / privacy-pass / relay-dos quiet.
- GitHub implementations: moq-dev/moq (MERGED July 11–12 2169; OPEN 2158; #2157 CLOSED-unmerged; issues 2164 opened, #2165 opened+closed), moqtail/moqtail (#216 OPEN), cloudflare/moq-rs / google/quiche moqt / video-dev/moq-js / meetecho/imquic / facebookexperimental/moxygen / openmoq/moqx / Eyevinn (moqlivemock/warp-player/moqtransport/locmaf) / birneee/quiche_moq / kota-yata/Moqtopus quiet.
- Interop runner: NEW report 2026-07-11 00:32:18 UTC (319/130/189/0, at-target 171) — pass −2 (132 → 130), fail +2, matrix/skip/at-target flat. No July-12 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-dev, interop-runner, discussions-2026-07, index.md
Key findings:
moq-dev pivots from the media plane to the embedding surface — the FFI/bindings day is about who can call MoQ, not what MoQ can carry. The July-10 window was a capability jump on the media side (GPU decode→transcode→encode). July 11–12 turns to the C FFI / libmoq boundary: a group-fetch API (#2142), a raw-track C ABI (#2171), origin options + dynamic FFI (#2173), track-info accessors (#2177), and a Go wrapper catch-up (#2168), plus moq-native transport-config knobs (#2161) and several still-OPEN FFI refactors (#2174–#2176 raw-timestamps/datagrams/latency-config). This is the plumbing that lets the Go/Swift/Kotlin bindings the page already lists actually drive the new gateway/transcode features — the media capabilities moq-dev built through late June/early July only reach non-Rust consumers once the FFI surface exposes them. The one merged media item, NVDEC AV1 decode (#2178), is a tidy tail on the July-10 GPU work rather than a new direction.
moq-lite-06 is now visibly a design cycle, not just a version bump — and it has a routing thesis. The -06 WIP that surfaced July 10 as “announce ids” (#2160) gains its first substantive feature July 12: #2179 cost-based cache-aware routing, shipped with a route-cost Internet-Draft vendored into the monorepo (continuous with #2159’s July-10 draft-vendoring). That pairs a spec artifact with the implementation in the same PR — the moq-lite pattern of code-first, draft-alongside. A moq-relay Prometheus /metrics endpoint (#2172, OPEN) rounds out an operability theme (routing cost + node-traffic metrics) that reads as moq-dev preparing moq-lite relays for real multi-node CDN deployment, not just single-hop demos. Both are OPEN, so this is direction-of-travel, not landed capability — worth watching whether -06 consolidates before Vienna.
The interop dip is noise, not signal — and the real open axis is still draft-19. July-11’s −2 (to 130) is the first cut where pass falls since the July-7 expansion, but the matrix is byte-for-byte structurally identical (319 cells, 0 skip, at-target draft-18 171) and the magnitude (2 cells) is within the day-to-day flake band the page has seen before (the July-5 −3 wobble recovered next cut). Read against the three prior gains (107 → 124 → 132 → 130), the draft-18 surface is still hardening; one flat-matrix regression of two cells does not reverse that. The structurally interesting question is unchanged and now four days old: the runner still targets draft-18 and has not advanced to draft-19, even as moq-dev carries moqt-19 and imquic’s #32 draft-19 work continues — the draft-19 conformance surface remains the pending growth axis, and Vienna (July 20/23/24) is the likely trigger.
2026-07-11 — moq-dev GPU transcode day; interop third gain
TL;DR:
- A third straight spec-quiet, implementation-heavy window, and moq is the headline: a ~7,000-LOC kixelated day building GPU transcoding. Six PRs MERGE July 10, led by a new
moq-transcodecrate (#2140, “just-in-time transcoding for hang broadcasts (NVENC-capable)”, +1567/−20) + #2145 NVDEC hardware decode + zero-copy NVDEC → NVENC transcode (+1392/−166) — a complete GPU decode→transcode→encode path — plus IETF drafts vendored into the monorepo (#2159, nix+just, +3514/−3), path memory sharing + 32-max-parts (#2156), a macOS decode fix (#2162), and #2139 RTC H.265/AV1 ingest bridges (+83/−4) that CLOSE the July-9 gap issue #2133 same-window. Earlymoq-lite-06-wipwork opens (#2160/#2161). - WG side quiet: three new OPEN moq-transport items July 10, all on the -19 subscription surface. Lorenzo Miniero’s Issue #1810 “New section on filters hard to process” is the first implementer feedback on the -19 filters text — continuous with Mo Zanaty’s still-OPEN Location-filter redesign #1809 and Vasiliev’s #1801 (“reconsider OR”). Separately sharmafb opens Issue #1811 + fix PR #1812 on whether FORWARD may ride a REQUEST_UPDATE for SUBSCRIBE_TRACKS. No merges; no new draft revisions (all still 07-06); mailing list quiet (weekly digest due ~July 12); Slack silent ~4 days; no MoQ Monthly (#2, May 31); no open wiki issues.
- Implementations: moq GPU-transcode day (above; 2139 all MERGED July 10; OPEN 2161 moq-lite-06-wip, #2163 Safari HW capture, #2142 moq-ffi group-fetch, bug #2143 moq-ffi timestampUs=0). imquic #32 (MoQT v19) still OPEN, touched July 10 (+230/−154). moqx #492 moxygen sync-bot MERGED + snapshot rebuild. Eyevinn dependabot #98 (x/crypto) only. moq-rs, quiche, moq-js, moqtail, moxygen, birneee/quiche_moq, Moqtopus quiet.
- Interop: one new cut — the 2026-07-10 00:38:27 UTC cut: 319 / 132 / 187 / 0 (~41.4% pass; at-target draft-18 171 · 0 ahead · 148 behind). Vs the July-9 00:37 cut (319/124/195/0, at-target 171): matrix flat 319, skip flat 0, at-target flat 171, pass +8 (124 → 132, a new post-expansion high), fail −8. The third straight pass-gain cut (107 → 124 → 132 across July 8/9/10): the cross-version cells added in the July-7 expansion keep hardening green on a structurally identical matrix. Still targets draft-18 (not advanced to -19). No July-11 cut at check time.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): nothing new — newest is still Luke Curley’s July-7 21:52 CEST “qmux-02 or qmux-01 for draft 19?” thread. No new July 10–11 traffic (Slack silent ~4 days). - IETF mailing list: nothing new July 10–11 — newest is still Martin Duke’s July-7 “Agenda is posted” (IETF-126
agenda-126-moq-00, comments due July 12). No weekly GitHub digest in-window (last July 5; next ~July 12). - IETF Datatracker: no revision bumps — transport-19, privacy-pass-auth-03, secure-objects-01, loc-03 (all 07-06), the Cisco tempo-00 + mocha-* suite, the three Will Law event-timeline drafts,
draft-ietf-quic-qmux-02all unchanged;draft-ietf-moq-dts4moqstill absent (404). IETF 126 Vienna July 20 / 23 / 24. - GitHub moq-wg: moq-transport — Issue #1810 (lminiero, July 10) OPEN; Issue #1811 + PR #1812 (sharmafb, July 10) OPEN; 1801 stay OPEN. cmsf #27 unchanged. msf / loc / secure-objects / catalog-format / privacy-pass quiet.
- GitHub implementations: moq-dev/moq (MERGED July 10 2139; issue #2133 CLOSED, #2154 opened+closed; OPEN 2158, issues 2147–#2155), meetecho/imquic (#32 OPEN, touched July 10), openmoq/moqx (#492 sync-bot MERGED + snapshot rebuild), Eyevinn/moqlivemock (dependabot #98 OPEN), cloudflare/moq-rs / google/quiche moqt / video-dev/moq-js / moqtail/moqtail / facebookexperimental/moxygen / Eyevinn (warp-player/moqtransport/locmaf) / birneee/quiche_moq / kota-yata/Moqtopus quiet.
- Interop runner: NEW report 2026-07-10 00:38:27 UTC (319/132/187/0, at-target 171) — pass +8 (124 → 132), fail −8, matrix/skip/at-target flat. No July-11 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-dev, interop-runner, discussions-2026-07, index.md
Key findings:
moq-dev’s day marks a capability jump, not just churn: MoQ gains server-side GPU transcoding. The wiki has tracked moq-dev’s media-gateway breadth (RTMP/SRT/RTC/HLS/TS ingest+egress, native hardware codecs) as reaching main through June, with the churn mostly bugfix/backport “codex” batches. July 10 is different — the new moq-transcode crate plus NVDEC decode and a zero-copy NVDEC → NVENC path add a genuinely new capability: a relay/origin can now transcode a single ingested Hang broadcast into multiple codecs/renditions on the GPU, on demand, without leaving GPU memory. That is the piece a CDN needs to serve heterogeneous players from one publisher, and it lands ffmpeg-free. The same window also closes the exact asymmetry the wiki logged one day earlier — #2139’s H.265/AV1 WHIP-ingest bridges resolve July-9 issue #2133 (ingest lacked the codecs egress already had), a tidy same-week gap-to-fix turnaround that shows the gateway work is now demand-driven rather than speculative.
The -19 filters section is drawing its first implementer feedback, and it’s converging into a cluster. Since the July-6 -19 cut landed Mo Zanaty’s Range Filters (#1765), the follow-on surface has been WG-internal design churn — Vasiliev’s “reconsider OR” (#1801), Zanaty’s own Location-filter realignment (#1809). July 10 adds the first implementer voice: Lorenzo Miniero, who is actively building draft-19 support in imquic (#32), files #1810 saying the new filters section is hard to process. That is the healthy signal a fresh revision should produce — the people writing code against -19 are finding the spec text ambiguous, and the feedback is arriving before Vienna (July 20/23/24) where the deferred switching/fill-fetch cluster and these filter refinements can be taken up together. The separate FORWARD-on-REQUEST_UPDATE question (#1811/#1812) is a smaller, well-scoped clarification of the same subscription-update surface.
The interop number keeps converting — three straight pass-gain cuts on a frozen matrix. July-10’s +8 (to a new high 132) is the third consecutive cut where pass climbs while the matrix stays structurally identical (319 cells, 0 skip, at-target draft-18 171): 107 → 124 → 132 across July 8/9/10. The July-7 structural expansion that widened the cross-version surface is now demonstrably hardening rather than merely widening — impl mains are converging on the draft-18 conformance cases and previously-failing cells are flipping green. The one unchanged open axis remains the same one the page has flagged for a week: the runner still targets draft-18 and has not advanced to draft-19, even as imquic (#32) and moq-dev both carry -19 work — the draft-19 conformance surface is still the pending growth axis.
2026-07-10 — moq-rs PUBLISH support lands; interop new high
TL;DR:
- A second straight spec-quiet, implementation-heavy window, and moq-rs again leads: one day after its July-8 draft-16/draft-18 merge burst, itzmanish’s #181 “Publish message support” (+4049/−624) MERGES July 9 16:06 UTC — native PUBLISH-message handling on the draft-16 rewrite baseline (the PR that peaked at +8778 on July 7, now rebased and landed) — triggering a full release round via #186:
moq-relay-ietfv0.7.22,moq-pubv0.9.0 (new minor), moq-sub v0.4.11, moq-clock-ietf v0.6.17, moq-test-client v0.1.9. With 181 all merged, moq-rs consolidated its whole draft-16/18 forward track in a two-day (July 8–9) window. - WG side quiet: the only new moq-transport item is Mo Zanaty’s PR #1809 (July 9, “Location filter changed to match the design of other filters”, +33/−45, OPEN) — a post-19 refinement realigning the Location filter with the other subscription filters, continuous with Vasiliev’s open #1801 (“reconsider OR”). Issue #1808 (PUBLISH_BLOCKED credit semantics) CLOSED July 9 as a dup of #1637 (afrind + ianswett agree). This pass also surfaced a previously-unlogged July-6 datatracker item: the three MSF event-timeline spinout drafts (Will Law + Suhas, all
-0007-06) —draft-wilaw-moq-scte35-event-timeline-00(9 pp),draft-wilaw-moq-webvtt-msf-00(8 pp),draft-law-moq-imsc1-msf-00(8 pp) — the concrete realization of the May-8 PR #133 event-timeline spin-out. No new draft revisions; no list traffic (newest still Duke’s July-7 agenda post); Slack silent; no MoQ Monthly (#2, May 31); no open wiki issues. - Implementations: moq-rs #181 PUBLISH support MERGED + v0.7.22/moq-pub-v0.9.0 release (above). moq normal kixelated day — #2135 reject unsupported RTMP FourCC plays (+538/−27), #2130 site-wide evolving-API/AI-content notice, #2137/#2136; new OPEN issue #2133 (moq-rtc WHIP ingest lacks H.265+AV1 bridges); OPEN #2132 (auth transport forwarding)/#2134 (release); release train moq-relay v0.13.3. moqx #480 (jemalloc/TLS relay image) touched July 10 / #491 (admin /logs) July 9, both OPEN. quiche, moq-js, moqtail, imquic, moxygen, Eyevinn, birneee/quiche_moq, Moqtopus quiet.
- Interop: one new cut — the 2026-07-09 00:37:17 UTC cut: 319 / 124 / 195 / 0 (~38.9% pass; at-target draft-18 171 · 0 ahead · 148 behind). Vs the July-8 00:33 cut (319/107/212/0, at-target 171): matrix flat 319, skip flat 0, at-target flat 171, pass +17 (107 → 124, a new post-expansion high), fail −17. The second straight coverage-to-conversion cut (after July-8’s +14): the cross-version cells added in the July-7 expansion keep hardening green on a structurally identical matrix. Still targets draft-18 (not advanced to -19). No July-10 cut at check time.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): nothing new — newest is still Luke Curley’s July-7 21:52 CEST “qmux-02 or qmux-01 for draft 19?” thread (afrind’s July-8 reply already logged). No new July 9–10 traffic. - IETF mailing list: nothing new July 9–10 — newest is still Martin Duke’s July-7 “Agenda is posted” (IETF-126
agenda-126-moq-00, comments due July 12). No weekly GitHub digest in-window (last July 5; next ~July 12). - IETF Datatracker: no revision bumps — transport-19, privacy-pass-auth-03, secure-objects-01, loc-03 (all 07-06), the Cisco tempo-00 + mocha-* suite,
draft-ietf-quic-qmux-02all unchanged;draft-ietf-moq-dts4moqstill absent (404). Surfaced this pass (July-6 items, not new in-window): the three Will Law + Suhas event-timeline/MSF-packaging individual drafts —draft-wilaw-moq-scte35-event-timeline-00,draft-wilaw-moq-webvtt-msf-00,draft-law-moq-imsc1-msf-00. IETF 126 Vienna July 20 / 23 / 24. - GitHub moq-wg: moq-transport — PR #1809 (mzanaty, July 9, +33/−45) OPEN; Issue #1808 CLOSED July 9 as dup of #1637 (afrind + ianswett); 1805 stay OPEN. cmsf #27 unchanged since July-8. msf / loc / secure-objects / catalog-format / privacy-pass quiet.
- GitHub implementations: cloudflare/moq-rs (MERGED July 9 186; releases v0.7.22 / moq-pub v0.9.0 / moq-sub v0.4.11 / moq-clock-ietf v0.6.17 / moq-test-client v0.1.9), moq-dev/moq (MERGED 2136; OPEN 2134; issue #2133 opened; releases moq-relay v0.13.3 / moq-ffi v0.2.28 / moq-cli v0.8.2 / libmoq v0.3.11), openmoq/moqx (#480 touched July 10, #491 touched July 9, both OPEN), google/quiche moqt / video-dev/moq-js / moqtail/moqtail / meetecho/imquic / facebookexperimental/moxygen / Eyevinn (moqlivemock/warp-player/moqtransport/locmaf) / birneee/quiche_moq / kota-yata/Moqtopus quiet.
- Interop runner: NEW report 2026-07-09 00:37:17 UTC (319/124/195/0, at-target 171) — pass +17 (107 → 124), fail −17, matrix/skip/at-target flat. No July-10 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-rs, moq-msf, interop-runner, discussions-2026-07, index.md
Key findings:
moq-rs’s PUBLISH-support merge closes the two-day consolidation of its version track. The July-8 burst landed the draft-16 rewrite (#170) and draft-18 request-stream rework (#178) but left the largest attachment — the PUBLISH-message support that had ballooned to +8778 as an OPEN rider on the rewrite — still open. July 9 finishes the job: #181 rebases down to +4049/−624 and merges, immediately cutting a moq-relay-ietf v0.7.22 / moq-pub v0.9.0 release round. So in a single 48-hour window (July 8–9) cloudflare/moq-rs went from “entire draft-16/18 forward track stalled on long-lived OPEN PRs” to “rewrite + request-streams + PUBLISH all merged and released.” The version-axis laggard the wiki tracked for weeks has caught up; the remaining OPEN work (#176 draft-18 vehicle, #171 AuthHook/C4M, #167 filters, #180 relay interest-loss) is now incremental rather than blocking.
The event-timeline spin-out the wiki predicted in May is real — and was missed for four days. Since the May-8 PR #133 discussion (wilaw: “wouldn’t it be better to specify all event timeline formats outside of the MSF spec?”), both the MSF page and the May/June discussion digests carried the prediction that SCTE-35, WebVTT, and IMSC1 would each spin out as individual drafts under an MSF Event-Timeline-Extensions umbrella. Those drafts were actually submitted July 6 (Will Law + Suhas) but landed in the same wave as transport-19 and the Cisco MOCHA/TEMPO suite and slipped through the July 6–9 datatracker checks, which were focused on the WG-doc revisions. This pass caught them and recorded them on the MSF page and index. The prediction was correct; the miss is a reminder that the July-6 wave was broad enough that the individual-draft tail needs a second look. Worth a dedicated draft page each if they draw WG discussion at Vienna.
The WG remains in its post-interim, pre-Vienna lull, and the interop number keeps converting. moq-transport produced one post-19 refinement PR (#1809, aligning the Location filter with the other filters — the same Range/Location filter surface #1801 is still chewing on) and closed one issue as a duplicate; that is the entire WG delta. The action stays on the implementations and on the July-12 agenda-comment / July-20 consensus deadlines. Meanwhile the interop runner posts its second straight coverage-to-conversion cut — pass +17 to a new high 124 on a flat 319-cell matrix — confirming the July-7 structural expansion is hardening rather than merely widening. The one unchanged open axis: the runner still targets draft-18 and has not advanced to draft-19.
2026-07-09 — moq-rs draft-16/18 merge burst; moq-dev memory day
TL;DR:
- A spec-quiet, implementation-heavy window; the headline is moq-rs clearing weeks of stalled version work in a single July-8 merge burst. In a tight 04:16–04:19 UTC window the maintainers land both forward tracks the wiki had tracked as perpetually-OPEN: itzmanish’s #170 “[Rewrite] Draft-16 migration” (+5456/−3475, OPEN since May 29) and englishm’s #178 “draft-18: Remove MAX_REQUEST_ID, use bidi streams for requests” (+1012/−597). Plus: the AuthHook design doc #169 merges then #183 deletes it (−724) hours later; Manish’s #184 “expose relay session config” + a
moq-relay-ietfv0.7.21 release (#182/#185). PUBLISH-support #181 (now +4049/−624), draft-18 vehicle #176, AuthHook/C4M #171, #180 stay OPEN. First real forward motion on moq-rs’s tracks since the June draft-18 landing. - WG side is quiet: the only new moq-transport item is Issue #1808 (sharmafb, July 8) “Semantics for PUBLISH_BLOCKED when additional stream credit is received” — must a relay remember and re-PUBLISH skipped tracks once bidi credit opens, or is re-SUBSCRIBE the subscriber’s job? afrind (July 9) suggests folding it into #1637. No draft revisions; transport-19 unchanged. imquic #32 “Add support for MoQT v19” (Lorenzo Miniero) is the first implementation PR explicitly targeting draft-19. No mailing-list traffic (newest still Duke’s July-7 agenda post, comments due July 12); no new MoQ Monthly (#2, May 31); Slack silent; no open wiki issues.
- Implementations: moq-rs merge burst (above). moq memory/dedup day — the two large OPEN reshapes MERGE (#2110 global LRU group-memory pool +1378/−76, #2109 per-track timeline index +1468/−53), plus broadcast-dedup (#2122/#2123), catalog bitrate auto-detect #2124 (superseding CLOSED #2100), JS lite FETCH #2032, relative catalog paths #1371, TS stable 7.0.2 #2129, breaking 2120; new OPEN issue #2125 (origin cache grows unbounded). imquic #32 (v19). moqtail #214 (malformed-track detection, OPEN). moqx #490 sync / #491 admin-logs OPEN / #480 OPEN. quiche, moq-js, moxygen, Eyevinn, birneee/quiche_moq, Moqtopus quiet.
- Interop: one new cut — the 2026-07-08 00:33:49 UTC cut: 319 / 107 / 212 / 0 (~33.5% pass; at-target draft-18 171 · 0 ahead · 148 behind). Vs the July-7 00:39 cut (319/93/226/0, at-target 171): matrix flat 319, skip flat 0, at-target flat 171, pass +14 (93 → 107, a new post-expansion high), fail −14. The coverage-to-conversion move after the July-7 structural expansion: the ~34 cells that flipped skip→attempt (mostly failing) are now converting green — the widened surface is hardening, not just widening. Still targets draft-18 (not advanced to -19 despite imquic #32). No July-9 cut at check time.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): nothing new — newest is still Luke Curley’s July-7 21:52 CEST “qmux-02 or qmux-01 for draft 19?” thread (afrind’s July-8 01:08 CEST reply already logged). No new July 8–9 traffic. - IETF mailing list: nothing new July 8–9 — newest is still Martin Duke’s July-7 “Agenda is posted” (IETF-126
agenda-126-moq-00, comments due July 12). No weekly GitHub digest in-window (last July 5). - IETF Datatracker: no revision bumps — transport-19, privacy-pass-auth-03, secure-objects-01, loc-03 (all 07-06), the Cisco tempo-00 + mocha-{chat,identity,meetings,mls-keying,pab,reactions}-00 suite (07-06), and
draft-ietf-quic-qmux-02all unchanged;draft-nandakumar-moq-generic-dpop-proof-00/draft-nandakumar-moq-qmux-moqt-00still -00 (Mar 1);draft-ietf-moq-dts4moqstill absent. IETF 126 Vienna July 20 / 23 / 24. - GitHub moq-wg: moq-transport — Issue #1808 (sharmafb, July 8) OPEN, afrind suggests folding into #1637; no merges/PRs; 1801 stay OPEN. cmsf #27 (LOCMAF-by-reference) still OPEN. msf / loc / secure-objects / catalog-format / privacy-pass quiet.
- GitHub implementations: cloudflare/moq-rs (MERGED July 8 164; OPEN 180), moq-dev/moq (MERGED 2120; CLOSED-unmerged #2100; OPEN 2074; issues 2125 opened), meetecho/imquic (#32 OPEN, first draft-19 PR), moqtail/moqtail (#214 OPEN), openmoq/moqx (#490 sync MERGED, 480 OPEN), google/quiche moqt / video-dev/moq-js / facebookexperimental/moxygen / Eyevinn (moqlivemock/warp-player/moqtransport/locmaf) / birneee/quiche_moq / kota-yata/Moqtopus quiet.
- Interop runner: NEW report 2026-07-08 00:33:49 UTC (319/107/212/0, at-target 171) — pass +14 (93 → 107), fail −14, matrix/skip/at-target flat. No July-9 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-rs, moq-dev, imquic, moq-transport, interop-runner, discussions-2026-07, index.md
Key findings:
moq-rs’s July-8 merge burst is the structural story — the repo goes from “two forward tracks stalled OPEN” to “both merged” in one sitting. For weeks the wiki has tracked cloudflare/moq-rs as the version-axis laggard: main on draft-14, itzmanish’s draft-16 rewrite (#170) OPEN since May 29, englishm’s draft-18 request-stream work on a side branch, and the AuthHook/C4M auth PRs circling. On July 8 the maintainers cleared it in a four-minute window — the draft-16 rewrite and the draft-18 MAX_REQUEST_ID-removal / bidi-request rework both landed, followed by a moq-relay-ietf v0.7.21 release and a relay-session-config knob. The one oddity, the add-then-delete of the AuthHook design doc (#169 merged, #183 deletes it hours later), reads as housekeeping: the design markdown that had been the coordination venue since May is retired now that the concrete AuthHook/C4M implementation (#171) carries the work. This is the first genuine forward motion on moq-rs’s own tracks since it caught the draft-18 train in June — and it lands the same week imquic opens draft-19 work, so the two non-moq-dev IETF-stack impls are both advancing again.
The WG is in a genuine lull — one issue, no PRs, no revisions — which is exactly what a post-interim, pre-Vienna window should look like. After the July-6 interim’s decisive -19 cut + multi-draft wave and the July-7/8 cleanup sweep, the transport repo produced a single new issue (sharmafb’s #1808 on PUBLISH_BLOCKED credit semantics, which afrind immediately routed toward the existing #1637). That is the residue of the same PUBLISH-parameters / stream-credit surface that #1803 and the #1779 PUBLISH_SKIPPED rename opened — small, well-scoped, and deferred into an existing thread rather than spawning new design. The action has moved to the implementations and to the July-12 agenda-comment / July-20 consensus-call deadlines; Vienna (July 20/23/24) is the next venue where the deferred switching/fill-fetch cluster and the new Cisco MOCHA/TEMPO drafts get airtime.
The interop cut is the payoff the page has been waiting for: coverage finally converts to green. The three structural expansions (June-26, July-2, July-7) each widened the matrix and the at-target band while pass stayed near-flat — the coverage-without-conversion pattern the page kept flagging as “watch for the at-target pass count to climb.” This cut is the first where it does: pass jumps +14 (to a new high 107) on a matrix that is otherwise identical (319 cells, 0 skip, 171 at-target). The ~34 cross-version cells that the July-7 cut had newly attempted (and mostly failed) are now passing as the impl mains converge — precisely the “cells get test-defined and stabilize” mechanism the page has narrated since June. The at-target draft-18 band is now demonstrably hardening. The one unchanged open question: the runner still targets draft-18 and has not advanced to draft-19, even though -19 was cut July 6 and imquic (#32) has now opened draft-19 impl work — the draft-19 conformance surface remains the pending growth axis.
2026-07-08 — Cisco MOCHA/TEMPO suite surfaces; post-19 cleanup
TL;DR:
- The interim’s aftershocks resolve in three directions. (1) A coordinated seven-draft Cisco individual-draft suite surfaces — confirmed as published I-Ds (all
-00, 2026-07-06, Cullen Jennings + Suhas Nandakumar): the six-part MOCHA (“MoQ Open Communication & Hosting Architecture” —chat/identity/meetings/mls-keying/pab/reactions, a decentralized RTC-application stack where each device publishes on its own track in a channel namespace, MLS-keyed E2E) + TEMPO (draft-nandakumar-moq-tempo-00, 14 pp — synchronized playout: publisher/relay send-time stamps rewritten per-hop + aPlaySyncServerfeedback loop). These are the actual drafts behind the July-7 agenda requests (the July-7 log had them as unpublished placeholders); the “DPoP Proof” request maps to the pre-existingdraft-nandakumar-moq-generic-dpop-proof-00(Mar 1). MoQ is being pushed from a media transport into a full RTC application platform. (2) Post-draft-19cleanup: Mo Zanaty’s moq-transport #1807 “Fix LOC property type values” (+4/−3) MERGES July 7, closing the0x06Timestamp/Delivery-Timeout collision (#1806); the LOC tracker is swept (six issues closed COMPLETED — 5 — leaving only private-properties #19); new OPEN transport PRs #1804 (FETCH≥1 publisher) / #1805 (redirect ambiguity) + issue #1803 (PUBLISH params); Range-Filters follow-ups 1798 CLOSED. (3) LOCMAF→CMSF resolves by reference — Tobbe’s cmsf #27 registers alocmafpackaging that points at the standalone draft (per wilaw’s Issue-#24 suggestion), so LOCMAF keeps its own draft rather than being folded in + retired. - QMux returns to focus:
draft-ietf-quic-qmuxreached-02(QUIC WG, July 6), and in the first technical#moqSlack traffic in ~2 weeks kixelated asks “qmux-02 or qmux-01 for draft 19?” for his new moqt-19 impl — Lucas Pardue advises latest-as-baseline (wire backwards-compatible; delta is “correctness enforcement”), afrind: “We’re not supporting -19… but we can interop -18 on -01.” Martin Duke posts the IETF-126 agenda (agenda-126-moq-00, comments due July 12). No new MoQ Monthly (#2, May 31); no open wiki issues. - Implementations: moq big merge day — #2113 finalize moq-lite-05 + FETCH-framing fix (+148/−214), #2116 breaking moq-net frame refactor (+814/−913), #2108 closes the external catalog-lifetime bug #2087 (broadcast
close()+ real-error propagation), #2107 client-SNI override (ksletmoe-aws), 2118; big OPEN memory PRs #2110 (LRU pool) / #2109 (per-track timeline). moq-rs — contributor draft-16 rewrite #170 gains a huge PUBLISH-support #181 (+8778/−3475). moqx #489 sync-bot / #480 updated. quiche, moq-js, moqtail, moxygen, imquic, Eyevinn (locmaf #2 mp4ff bump only), birneee/quiche_moq, Moqtopus quiet. - Interop: one new cut — the 2026-07-07 00:39:54 UTC cut: 319 / 93 / 226 / 0 (~29.2% pass; at-target draft-18 171 · 0 ahead · 148 behind). Vs the July-6 00:39 cut (294/83/177/34, at-target 152): matrix +25 (294→319), skip −34 (→ 0, every cell now attempted), at-target +19 (152→171), pass +10 (83→93, a post-expansion high), fail +49. A third structural expansion (after June-26 +41 / July-2 +28), consistent with a new client (
moq5-looking) joining + skips clearing; still targets draft-18 (runner has not advanced to -19). No July-8 cut at check time.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): one new thread — Luke Curley’s July-7 21:52 CEST “qmux-02 or qmux-01 for draft 19?” (5 replies: Lucas Pardue ×2, Luke ×2, afrind July-8 01:08 CEST) — the first technical traffic since Tobbe’s July-6 LOCMAF-01 announcement. - IETF mailing list: Martin Duke “Agenda is posted” (July 7, IETF-126
agenda-126-moq-00, comments due July 12). July-7 agenda-time requests (Suhas: DPoP Proof + Tempo; Cullen: Mocha + secure-objects + Auth Design Team) already logged; no July-8 list activity at check time. - IETF Datatracker: six new individual drafts confirmed (2026-07-06, Cisco):
draft-nandakumar-moq-tempo-00(14 pp) + thedraft-jennings-moq-mocha-{chat,identity,meetings,mls-keying,pab,reactions}-00suite;draft-ietf-quic-qmux-02(QUIC WG, July 6, supersedesdraft-opik-quic-qmux-01); also noteddraft-kazuho-httpbis-http3-over-qmux-00(June 25). Unchanged at -00 (2026-03-01):draft-nandakumar-moq-generic-dpop-proof,draft-nandakumar-moq-qmux-moqt. No WG-doc revision since the July-6 wave (transport-19 / privacy-pass-auth-03 / secure-objects-01 / loc-03);draft-ietf-moq-dts4moqstill absent. IETF 126 Vienna July 20 / 23 / 24. - GitHub moq-wg: moq-transport — #1807 “Fix LOC property type values” (mzanaty, +4/−3) MERGED July 7; OPEN #1804 (afrind) / #1805 (sharmafb) / issue #1803 (ianswett); issues 1798 CLOSED, #1801 OPEN (July-8 discussion). loc — six issues CLOSED COMPLETED July 7 (#21/#20/#15/#13/#10/#5); #19 OPEN. cmsf — #27 “Register locmaf packaging referencing draft-einarsson-moq-locmaf” (tobbee, +74/−1) OPEN. msf / secure-objects / catalog-format / privacy-pass quiet (relay-dos has no WG repo).
- GitHub implementations: moq-dev/moq (MERGED 2118; OPEN 2111; issue #2112 opened+closed), cloudflare/moq-rs (OPEN #181 +8778/−3475 on rewrite #170; #180 OPEN), Eyevinn/locmaf (#2 mp4ff bump OPEN), openmoq/moqx (#489 sync-bot MERGED, #480 updated), google/quiche moqt / video-dev/moq-js / moqtail / facebookexperimental/moxygen / meetecho/imquic / Eyevinn moqlivemock+warp-player+moqtransport / birneee/quiche_moq / kota-yata/Moqtopus quiet.
- Interop runner: NEW report 2026-07-07 00:39:54 UTC (319/93/226/0, at-target 171) — matrix +25, skip 34→0, at-target 152→171, pass +10. No July-8 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-mocha (new), moq-tempo (new), qmux, moq-cmsf, moq-loc, moq-transport, moq-locmaf, moq-dev, moq-rs, interop-runner, discussions-2026-07, index.md
Key findings:
The interim didn’t end the MoQ story — it opened an application layer. The July-6 draft wave was about the transport core (transport-19 + media/auth WG drafts); the July-7/8 window’s headline is a different kind of expansion. Cisco’s seven-draft MOCHA/TEMPO drop is the first time the wiki has tracked MoQ being used as the substrate for a full real-time-communication application suite — chat, meetings, identity, MLS keying, reactions, an address book — rather than as a media-delivery format. That the July-7 log saw only the agenda-request names and this pass found the actual published I-Ds is the tell that they landed quietly in the July-6 wave and are being socialized via IETF-126 agenda time. Whether the WG treats MOCHA as in-scope (like it declined MOQT-over-QMux) or purely experimental is the Vienna question; either way it marks MoQ’s ambitions widening from “media over QUIC” toward “communication over QUIC.”
Post-draft-19 is a cleanup phase, and it is unusually tidy. Rather than immediately re-opening the deferred switching/fill-fetch cluster, the WG spent the window closing loops: the LOC property-type collision (#1807 + #1806) that -03’s AUDIO_CONFIG would otherwise have baked in, a six-issue LOC-tracker sweep that leaves exactly one live design question (private-properties #19), and the two Range-Filters follow-ups from the -19 cut (#1800/#1798) both closed. This is the discipline the two-phase interim plan was meant to produce — land the ready items, then immediately reconcile the code points before impls harden on them. The one new design surface (ianswett’s #1803 “how do you know what Parameters a PUBLISH has”) is the residue of the SUBSCRIBE_TRACKS→PUBLISH copy (#1788) that -19 shipped.
LOCMAF’s “by reference” CMSF registration is a quiet but real reversal. The June-28/29 framing was that LOCMAF would be folded into CMSF and the standalone draft retired. cmsf #27 does the opposite: CMSF registers packaging: "locmaf" as a normative reference to draft-einarsson-moq-locmaf, so LOCMAF keeps its own individual-draft life (and its Eyevinn/locmaf reference codec + golden vectors). This is the healthier outcome for a format that Eyevinn is actively conformance-testing end-to-end — CMSF gains the mode without owning the format’s evolution — and it is exactly what wilaw suggested on Issue #24. The two-track “CMSF signals it, LOCMAF defines it” split is now the settled design.
The interop expansion is finally moving the number that matters. The three structural jumps (June-26, July-2, July-7) have each widened the matrix and the at-target band, but pass had been near-flat (denominator artifact). This cut is the first where pass climbs materially (+10 to a new high of 93) and the 34 skips clear to zero — i.e. cross-version cells that were being skipped are now attempted, and a meaningful share are passing. That is the coverage-plus-conversion signal the page has been “watching for”: the at-target draft-18 band (now 171) is not just growing, it is starting to go green. The structurally interesting open question is unchanged — when the runner advances its target to draft-19 — but the draft-18 surface is now demonstrably hardening rather than merely widening.
2026-07-07 — interim-18 cuts draft-19; WG draft wave; LOCMAF-01
TL;DR:
- interim-2026-moq-18 was held July 6 16:30 UTC and its output is immediate: [[moq-transport|
draft-ietf-moq-transport-19]] was CUT the same day (first transport revision since -18 on May 12) — the ready items landed (Mo Zanaty’s Range Filters #1765, the one gated Design PR to make the cut, + clarifications #1698 FIN/RST, #1788 SUBSCRIBE_TRACKS→PUBLISH, #1775 concurrent subs, #1613 MAX_REQUEST_UPDATES, #1799 enums, #1802 release notes) while the four contested Design PRs defer past -19 (fill-fetch #1673, SWITCH_FROM #1674, Subscription Fill #1642, SSTS #1638). Range Filters drew two follow-up issues (#1801 Vasiliev “reconsider OR”, #1800 kixelated NAMESPACE params). Martin Duke opened a Consensus Call on Draft-18 (review the -17→-18 diff, file issues by July 20, higher bar after). - A coordinated WG draft wave published July 6 alongside -19: loc-03 (adds audio config), secure-objects-01 (test vectors), a major privacy-pass-auth-03 (reverse-flow→AUTH REQUEST/RESPONSE params, token acquisition via REQUEST_UPDATE, TokenChallenge→AUTH CHALLENGE params, PrivateTokenAuth + auth-scheme registry removed, PP codepoint registered; Cullen added as author), and englishm’s relay-dos-01. On the media side Tobbe shipped a major LOCMAF -01 rewrite (canonical byte-identical reconstruction, generic/raw boxes, C2PA
uuidextensibility, no IANA actions) + a new standalone Eyevinn/locmaf reference/golden-vector repo — the first Slack traffic (July 6 08:15 CEST) in ~14 days. July 7 brought IETF-126 agenda requests for new draft names (MoQ DPoP Proof, MoQ Tempo, MoQ Mocha). No new MoQ Monthly (#2, May 31); no open wiki issues. - Implementations: moq turned draft-19 support around within hours — #2106 (moqt-19 in moq-net +
@moq/net, +208/−39) MERGED July 7 00:43 UTC — alongside role-module mirror #2091 (+785/−675), android-JNI fix #2105, moq-mux init-track fix #2104 (OPEN: 2100). Eyevinn v0.12.0: moqlivemock 97 + warp-player 152 ship LOCMAF v0.3 (codec extracted to Eyevinn/locmaf). moqx #488 sync-bot only. quiche, moq-rs (#180 OPEN), moqtail, moq-js, moxygen, imquic, birneee/quiche_moq, Moqtopus quiet. - Interop: one new cut — the 2026-07-06 00:39:47 UTC cut: 294 / 83 / 177 / 34 (~28.2% pass; at-target draft-18 152 · 0 ahead · 142 behind). Vs the July-5 00:40 cut (294/80/180/34, at-target 152): matrix/skip/at-target flat, pass +3 (80 → 83), fail −3 — a small recovery of the July-5 wobble, the fifth straight cut holding at-target 152. Stamped 00:39 UTC — before the interim and before -19 — so it still targets draft-18; a draft-19 conformance surface is the next growth axis. No July-7 cut at check time.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): one new message — Tobbe’s July 6 08:15 CEST LOCMAF-01 announcement (draft-01, new Eyevinn/locmaf validation-tools/golden-vectors repo, no IANA registration, CMSF-catalog-signaled), the first traffic since Martin Duke’s June-22 Google-Meet link (~14 days). - IETF mailing list: busy — July 6 I-D Actions for transport-19 / privacy-pass-auth-03 / secure-objects-01 / loc-03; Martin Duke “Consensus Call on Draft-18” (file issues on the -17→-18 diff by July 20) + “New to MOQ? Work for Oracle?”; Mo Zanaty IETF-126 agenda reply. July 7: agenda-time requests — Suhas (“MoQ DPoP Proof Draft”, “MoQ Tempo Draft”), Cullen (“MoQ Mocha”, secure-objects, Authorization Design Team).
- IETF Datatracker: major revision wave —
draft-ietf-moq-transport-19(2026-07-06, approved by Ian Swett, supersedes -18);draft-ietf-moq-privacy-pass-auth-03,draft-ietf-moq-secure-objects-01,draft-ietf-moq-loc-03,draft-englishm-moq-relay-dos-01all 2026-07-06;draft-einarsson-moq-locmaf-01(2026-07-05, 41 pp). Unchanged: msf-01, cmsf-01, c4m-01; live-agent-01 (July 3), lite-05 / overview-00 (June 30);draft-ietf-moq-dts4moqstill 404. IETF 126 Vienna: July 20 12:00 UTC / July 23 14:30 / July 24 14:00. - GitHub moq-wg: moq-transport — 7 PRs MERGED into -19 July 6 (#1765/#1698/#1788/#1775/#1613/#1799/#1802); contested Design PRs 1638 stay OPEN; new issues 1800. privacy-pass — #21 “Transport auth hooks” MERGED (thibmeu, +251/−123). loc — #24 (audio config, mzanaty) + #23 (sharmafb) MERGED. secure-objects no in-window repo activity (merges predate). msf / cmsf / catalog-format quiet.
- GitHub implementations: moq-dev/moq (MERGED 2104; OPEN 2100; issue #2103 opened+closed), Eyevinn/moqlivemock (#96/#97 MERGED, v0.12.0), Eyevinn/warp-player (#150/#152 MERGED, v0.12.0), Eyevinn/locmaf (new repo, v0.1.1, no in-window commits), openmoq/moqx (#488 sync-bot), cloudflare/moq-rs (#180 OPEN), google/quiche moqt / moqtail / video-dev/moq-js / moxygen / imquic / birneee/quiche_moq / Moqtopus quiet.
- Interop runner: NEW report 2026-07-06 00:39:47 UTC (294/83/177/34, at-target 152) — pass +3 vs July-5, fifth straight cut holding at-target 152. No July-7 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-transport, moq-privacy-pass, moq-loc, moq-secure-objects, moq-locmaf, interim-meetings, moq-dev, moqlivemock, interop-runner, discussions-2026-07, index.md
Key findings:
The July-6 interim converts a month of gated Design-PR staging into a single decisive revision — and the split is the story. Everything the wiki tracked as “frozen pending July 6” resolved in one direction or the other the same day: draft-19 cut with the ready clarifications plus exactly one Design PR — Mo Zanaty’s Range Filters #1765 — while the four contested items (fill-fetch #1673, SWITCH_FROM #1674, Subscription Fill #1642, SSTS #1638) all stayed OPEN and deferred. That is the two-phase plan afrind described at interim-17 playing out precisely: the two-week-plus-four-editor bar let the mature clarifications through and held the switching/fill-fetch cluster back for more work. The immediate 1800 follow-ups on Range Filters (Vasiliev questioning the “OR” semantics, kixelated on NAMESPACE params) confirm that even the one Design PR that landed is still generating design surface — draft-19 is a checkpoint, not a finish line.
The interim didn’t just cut transport — it triggered a coordinated multi-draft WG drop. transport-19, loc-03, secure-objects-01, and privacy-pass-auth-03 all published July 6, with relay-dos-01 alongside — the “coordinated multi-draft cycle drop” pattern the wiki hypothesized around London, now realized on the interim cadence. privacy-pass-auth-03 is the standout: it converts the entire July-1 Suhas triage (#19 reverse-flow, #18 challenge carrier, #16 retry) plus the July-5 PR #20 deployment text into a major MoQT-integration rebuild — reverse-flow issuance on AUTH params, TokenChallenge finally off reason-phrases and into AUTH CHALLENGE params, the auth-scheme registry removed, a registered PP codepoint — and adds Cullen as an author. The auth workstream went from dormant-tracker to published-spec in six days.
LOCMAF steps up from experiment to conformance-grade individual spec. Tobbe’s -01 is a genuine maturation, not a routine bump: canonical byte-identical reconstruction (so the format is golden-vector-testable), generic/raw-box extensibility (including C2PA uuid), and the deliberate design choice that it needs no IANA registration (all codes internal, packaging signaled via the CMSF catalog). The new standalone Eyevinn/locmaf repo — a stdlib-only Go reference codec plus a byte-pinned golden-vector corpus — is the tell: Eyevinn is treating LOCMAF as an interop artifact others can validate against, and shipped it end-to-end (moqlivemock + warp-player v0.12.0, LOCMAF v0.3) the same day. It stays on the individual-draft path even as CMSF Issue #24 (fold LOCMAF in as a packaging mode) proceeds — not a contradiction, since CMSF signals packaging: "locmaf" regardless.
moq-dev’s hours-after-cut draft-19 support and the pre-interim interop cut frame what comes next. kixelated landed moqt-19 wire support (#2106) within hours of the -19 cut — the same fast spec-sync the wiki logged for lite-05 — so the reference impl is already ahead of the runner. The July-6 interop cut (83/294, at-target 152, fifth straight) is stamped 00:39 UTC, before both the interim and the -19 cut, so it is the last pure draft-18 snapshot; the structurally interesting question now is whether the runner’s target advances to draft-19, which would redefine the at-target band. The IETF-126 agenda requests (DPoP Proof, Tempo, Mocha — three new draft names) are the forward signal: Vienna (July 20/23/24) is where the deferred switching/fill-fetch cluster and the new auth/media drafts get their next venue.
2026-07-06 — privacy-pass reverse-flow text merges on interim eve
TL;DR:
- On the morning of the July-6 interim (interim-2026-moq-18, 16:30 UTC), the one substantive spec event is on the privacy-pass tracker: Thibault Meunier’s PR #20 “Key considerations” MERGES (July 5 21:42 UTC, by Suhas, +44/−5) — the auth workstream’s first merged spec text since the July-1 triage. It adds a “Deployment considerations” appendix to
draft-ietf-moq-privacy-pass-auth: how a Client fetches key material for the bootstrap issuer (reuse HTTP issuers per RFC 9577; mitigate partitioning via consistency mirrors / KEYTRANS / SCITT) and for the relay reverse issuer (the reverse-flow mode Suhas raised in #19 on July 1: key material pre-shipped or fetched via HTTP / a MoQ API), citing thibmeu’s owndraft-meunier-privacypass-reverse-flow. No new datatracker revision (merge onmain, still -02). - moq-transport quiet apart from pre-interim PR churn — afrind + Mo Zanaty touch six OPEN PRs July-5 afternoon (16:32–21:21 UTC) incl. gated Design PRs Range Filters #1765 + SWITCH_FROM #1674, plus 1613; no merge, no new issue; all five gated Design PRs (#1765/#1638/#1642/#1673/#1674) stay OPEN awaiting the 16:30 UTC gate. No new WG/individual revision (transport-18 Day +55; live-agent-01 July-3, lite-05/overview-00 June-30 unchanged; transport-19 not cut;
draft-ietf-moq-dts4moqstill 404). Mailing list: only the July-5 weekly GitHub digest (bot); no interim agenda/minutes yet. Slack silent (~14 days, newest June 22); no new MoQ Monthly (#2, May 31); no open wiki issues. - Implementations: moq — the codex sweep tapers to a trickle: dynamic-origin subscribe routing #2094 (+14/−14) + AAC catalog-description fix #2093 (+52/−2) MERGE July 5, release #2084 (+144/−98) cut, dependabot bumps (#2095–#2098) land; two catalog-themed codex PRs open at midnight July 6 (#2100 auto-detect catalog metrics, #2101 keep parent models alive). moqx — only a routine moxygen mirror sync (#487). quiche (moqt quiet), moq-rs (#180 OPEN, no change), moqtail, moq-js, moxygen, imquic, birneee/quiche_moq, Eyevinn (all), Moqtopus all quiet.
- Interop: one new cut — the 2026-07-05 00:40:00 UTC cut: 294 / 80 / 180 / 34 (~27.2% pass; at-target draft-18 152 · 0 ahead · 142 behind). Vs the July-4 00:37 cut (294/81/179/34, at-target 152): matrix/skip/at-target flat, pass −1 (81 → 80), fail +1 — the smallest possible cross-version flaky move, consistent with the window’s minimal impl churn, and the fourth straight cut holding at-target 152. Same 18-impl set; daily cut at ~00:40 UTC; no July-6 cut at check time.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): nothing new — newest message is still Martin Duke’s June 22 18:50 CEST Google-Meet fallback link. No June 23–July 6 traffic (~14 straight silent days). - IETF mailing list: one new July-5 item — the routine weekly GitHub digest (Repository Activity Summary Bot). No human thread since July 3’s Mo Zanaty / Cullen “Re: Review of PR1673” pair; no interim-2026-moq-18 agenda or minutes posted yet (interim at 16:30 UTC July 6). No new I-D Action.
- IETF Datatracker: no revision bumps — transport-18 (Day +55, 2026-05-12), c4m-01, msf-01, loc-02, secure-objects-00, privacy-pass-auth-02, cmsf-01 unchanged;
draft-liu-moq-live-agent-interaction-01(July 3),draft-lcurley-moq-lite-05(June 30),draft-westerlund-moq-overview-00(June 30) unchanged; transport-19 not cut;draft-ietf-moq-dts4moqstill 404. Meetings: interim-2026-moq-18 (July 6, 16:30 UTC) today; IETF 126 Vienna (July 20/23/24). - GitHub moq-wg: privacy-pass — PR #20 “Key considerations” (thibmeu) MERGED July 5 21:42 UTC by suhasHere (+44/−5, sole WG merge in the window). moq-transport — no merge / no new issue July 5–6; six OPEN PRs touched July-5 afternoon (#1765/#1674/#1698/#1675/#1613/#1799); gated Design PRs (#1765/#1638/#1642/#1673/#1674) still OPEN. msf, loc, secure-objects, cmsf, catalog-format all quiet.
- GitHub implementations: moq-dev/moq (MERGED July 5 incl. 2098; OPEN 2101), openmoq/moqx (#487 sync-bot MERGED), google/quiche moqt (no new commit), cloudflare/moq-rs (#180 OPEN, no change), moqtail, video-dev/moq-js, facebookexperimental/moxygen, meetecho/imquic, birneee/quiche_moq, Eyevinn (all), kota-yata/Moqtopus quiet.
- Interop runner: NEW report 2026-07-05 00:40:00 UTC (294/80/180/34, at-target 152) — pass −1 vs the July-4 00:37 cut, at-target flat a fourth straight cut. No July-6 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-privacy-pass, moq-dev, interop-runner, discussions-2026-07, index.md
Key findings: The auth design-team work converts from tracker issues into merged draft text, one day out from the interim. Since the July-1 Suhas triage (#19 reverse-flow, #18 challenge carrier, #16 retry), the privacy-pass track had been issues-and-comments only. PR #20 is the first merge since thibmeu’s June issue burst, and it directly closes part of the loop #19 opened: the draft now has explicit key-material-retrieval guidance for a relay operating as a reverse issuer, plus the bootstrap-issuer partitioning mitigations (mirrors / KEYTRANS / SCITT) that make the privacy guarantee hold in deployment. That the reverse-flow deployment text is authored by thibmeu and merged by Suhas — the two people who ran the July-1 triage — is the signal that the privacy-pass half of the WG auth effort is moving under its own steam ahead of July 6, not waiting on the transport-side machinery. The rest of the day is textbook interim-eve staging. moq-transport produced no merge and no new issue — only afrind and Mo Zanaty touching six OPEN PRs (two of them gated Design PRs) in the July-5 afternoon, the housekeeping pass before a decision meeting. All five gated Design PRs (Range Filters #1765, SSTS #1638, Subscription Fill #1642, fill-fetch #1673, SWITCH_FROM #1674) remain OPEN with their July-3 Cullen-review verdicts attached; the interim is the venue where the contested fill-fetch redesign #1673 and the SSTS text #1638 either clear the bar into draft-19 or don’t. Those decisions, and any interim minutes, will land in the next update. moq-dev’s codex sweep has visibly wound down. After ~48 PRs across July 3–4 and a tail on July 5’s log, this window is two small code merges (dynamic-origin subscribe routing #2094, AAC catalog fix #2093), a release cut, and dependabot noise — with the only forward-looking items two catalog-themed codex PRs opened at midnight (#2100 auto-detect catalog metrics, #2101 keep parent models alive from children). The catalog surface remains the active theme, consistent with the external #2087 lifetime bug and the 2090 reservation follow-ons, but the volume is back to baseline. The interop runner’s −1 wobble (80/294) is exactly what a near-quiet impl day produces: the fourth straight cut holding at-target draft-18 152, awaiting the draft-19 conformance surface the interim will shape.
2026-07-05 — Eyevinn joining-FETCH lands; moq-dev sweep tails; interop dip
TL;DR:
- A quiet US-holiday window, one day before the July-6 interim — the substance is on the implementation side, led by a coordinated Eyevinn joining-FETCH catalog-retrieval feature (July 4, all Tobbe). Eyevinn/moqtransport v0.9.0 ships (PR #14 “resolve joining FETCH on the publisher side (draft-16)”), and both the Go publisher/subscriber (moqlivemock #95) and the TS/MSE player (warp-player #149) now “retrieve catalog via SUBSCRIBE plus relative joining FETCH” + document a
-catalog-mode— a subscriber grabs the current catalog object immediately instead of waiting for the next publish. First substantive Eyevinn activity since the June-9 hackathon hardening; directly addresses the “get the current catalog without a full-group wait” problem underlying kixelated’s msf #188. - moq-transport quiet — no merge or new issue July 4–5 (only afrind’s #1799 enum-extensibility with a metadata-only July-5 touch, no comment/commit); gated Design PRs (#1765/#1638/#1642/#1673/#1674) all stay OPEN pending July 6. No new WG or individual revision (transport-18 Day +54; live-agent-01 July-3, lite-05/overview-00 June-30 unchanged; transport-19 not cut;
draft-ietf-moq-dts4moqstill 404). Mailing list silent since July 3 (Mo Zanaty/Cullen PR1673); Slack silent (~13 days, newest June 22); no new MoQ Monthly (#2, May 31); no open wiki issues. - Implementations: moq — the ~48-PR sweep tails into July 4 afternoon: moq-wasm backported to
main(#2086 +727/−29, wasm-compat fix #2085 by ewindisch), signalsOncemerges (#2080), per-project relay stats (#2078 +363/−109), token-root routing (#2079); catalog-reservation + role-module themes spawn OPEN follow-ons (#2091 mirror @moq/net role modules +762/−671, 2090 catalog reservation, #2092 ffi lifetimes); third external-filed bug #2087 (pisoj, Go catalog-trackRESET_STREAMafter ~1 min). Eyevinn — moqtransport v0.9.0 + moqlivemock #95 + warp-player #149 (above). moq-rs (#180 relay interest-loss still OPEN, no change), moqx (#480 OPEN, no merge), quiche (moqt still July-1), moqtail, moq-js, moxygen, imquic, birneee/quiche_moq, Moqtopus all quiet. - Interop: one new cut — the 2026-07-04 00:37:04 UTC cut: 294 / 81 / 179 / 34 (~27.6% pass; at-target draft-18 152 · 0 ahead · 142 behind). Vs the July-3 00:38 cut (294/84/176/34, at-target 152): matrix/skip/at-target flat, pass −3 (84 → 81), fail +3 — an ordinary cross-version flaky dip (the July-4 codex-sweep tail + Eyevinn joining-FETCH churn reshaping impl
mains), the third straight cut holding at-target 152. Same 18-impl set; daily cut at ~00:37 UTC; no July-5 cut at check time.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): nothing new — newest message is still Martin Duke’s June 22 18:50 CEST Google-Meet fallback link. No June 23–July 5 traffic (~13 straight silent days). - IETF mailing list: nothing new July 4–5 — the newest message is still July 3’s Mo Zanaty + Cullen Fluffy Jennings “Re: Review of PR1673” pair (already logged). No new I-D Action; no new weekly GitHub digest (last June 28).
- IETF Datatracker: no revision bumps — transport-18 (Day +54, 2026-05-12), c4m-01, msf-01, loc-02, secure-objects-00, privacy-pass-auth-02, cmsf-01 unchanged;
draft-liu-moq-live-agent-interaction-01(July 3),draft-lcurley-moq-lite-05(June 30),draft-westerlund-moq-overview-00(June 30) unchanged; transport-19 not cut;draft-ietf-moq-dts4moqstill 404. Meetings: interim-2026-moq-18 (July 6, 16:30 UTC) tomorrow; IETF 126 Vienna (July 20/23/24). - GitHub moq-wg: moq-transport — no merge / no new issue July 4–5; only #1799 (afrind, enum extensibility) with a metadata-only July-5 00:52 UTC touch (no comment/commit); gated Design PRs (#1765/#1638/#1642/#1673/#1674) still OPEN. msf, loc, secure-objects, cmsf, catalog-format, privacy-pass all quiet.
- GitHub implementations: moq-dev/moq (MERGED July 4 incl. 2077; OPEN 2074; issue #2087 opened by pisoj), Eyevinn/moqtransport (v0.9.0 released July 4, PR #14), Eyevinn/moqlivemock (#95 MERGED July 4), Eyevinn/warp-player (#149 MERGED July 4), cloudflare/moq-rs (#180 OPEN, no change), openmoq/moqx (#480 OPEN, no merge), google/quiche moqt (no new commit since July 1), moqtail, video-dev/moq-js, facebookexperimental/moxygen, meetecho/imquic, birneee/quiche_moq, kota-yata/Moqtopus quiet.
- Interop runner: NEW report 2026-07-04 00:37:04 UTC (294/81/179/34, at-target 152) — pass −3 vs the July-3 00:38 cut, at-target flat a third straight cut. No July-5 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moqlivemock, moq-dev, interop-runner, discussions-2026-07, index.md
Key findings:
Eyevinn ships a coordinated joining-FETCH catalog-retrieval feature the same day moq-dev is wrestling with catalog lifetime — independent convergence on the “current catalog now” problem. Tobbe’s July-4 work lands the same primitive across three repos in under an hour: the transport library gets publisher-side joining-FETCH resolution (moqtransport v0.9.0 / PR #14), and both the Go publisher/subscriber (moqlivemock #95) and the browser player (warp-player #149) switch to SUBSCRIBE + relative joining FETCH for the catalog track. The point is that a joining FETCH lets a late-joining subscriber pull the current catalog object immediately (relative to the live group) rather than blocking on a plain SUBSCRIBE until the publisher next emits the catalog — the exact “don’t wait for a full group” gap that kixelated’s msf #188 (static-vs-dynamic catalogs, “signal no more tracks”) and moq-dev’s #2072 catalog-reservation gating are attacking from the spec/gateway side. Two independent implementations converging on catalog-bootstrap semantics in the same window is a healthy interop signal heading into July 6.
The external-bug count is now the tell for moq-dev’s gateway maturity. Issue #2087 (pisoj) is the third outside-filed defect this cycle — a Go client’s catalog.json track dies with RESET_STREAM after ~1 min unless the broadcast is re-published in a loop. Coming right after t0ms’s open-GOP #2050 and the general uptick in external usage, it confirms the observation from the July-3/4 logs: the media-gateway breadth kixelated backported to main through June now has real users exercising it and reporting bugs, and — notably — #2087 is another catalog-lifetime bug, the same family as #2072 / msf #188. The catalog-bootstrap/lifetime surface is where the ecosystem’s rough edges are concentrating this week.
A US-holiday lull, but the codex sweep and the interop cadence both hold. July 4 (US Independence Day) drained the WG/list/Slack channels — no transport merge, no new list message, no draft revision — yet moq-dev’s codex sweep kept landing (moq-wasm onto main, the Once signal, per-project stats) and the interop runner cut on schedule. The −3 pass dip (84 → 81) is the ordinary cross-version flaky variance the wiki has documented all month: the day’s main-branch reshaping (moq-wasm backport, role-module mirrors, Eyevinn’s joining-FETCH switch) flips a handful of marginal cells while the structurally important at-target draft-18 count holds at 152 for a third straight cut. The July-2 expansion is now firmly a stable baseline, not a transient.
Everything is staged for July 6. This is the last update before interim-2026-moq-18. The gated Design PRs (Range Filters #1765, SSTS #1638, Subscription Fill #1642, fill-fetch #1673, SWITCH_FROM #1674) are all still OPEN with Cullen’s July-3 review verdicts attached (two APPROVEd, #1673 CHANGES_REQUESTED and contested on-list); Will Law’s SSTS text is posted; the auth track (privacy-pass 16) is triaged; and the interop matrix is holding a stable 152-cell at-target band awaiting a draft-19 conformance surface. The interim is the decision point for whether the fill-fetch redesign and SSTS clear the bar into draft-19.
2026-07-04 — Cullen’s review sweep; moq-dev sweep doubles; interop flat
TL;DR:
- The WG story is a Cullen Jennings (“fluffy”) review sweep across five open moq-transport PRs July 3 (~15:04–17:20 UTC) — the pre-July-6 push to clear the Design-PR queue. Cullen APPROVES afrind’s #1674 (SWITCH_FROM, “rebase onto main”) and #1783 (safe-ASCII reason phrase, “if we don’t do this now … IETF Last Call”), COMMENTS on michalhosna’s #1770 (updatable default priority, residual race concerns), touches suhasHere’s #1789 (impersonation), and requests CHANGES on afrind’s #1673 “Replace Joining FETCH with fill fetch streams” — the last mirrored in a “Re: Review of PR1673” list thread where Cullen + Mo Zanaty (July 3) debate the fill-fetch design: no clean fill-stream error delivery (breaks non-bearer token refresh), possible duplicate object delivery (the
FILL_TIMEOUT=0mitigation “poor design”), disputed implicitforward=0cancellation, nested-parameter complexity (Mo Zanaty: document top-level-vs-nested rules; delta-encoding context resets at each nested level), and whether to remove Joining FETCH at all. No transport merge/new issue July 3–4; the gated Design PRs (#1765/#1638/#1642/#1673/#1674) all stay OPEN pending July 6. - Two smaller spec events: kixelated opens msf Issue #188 “Static vs dynamic catalogs” — his fMP4/FLV/TS/HLS exporters need static tracks but MSF is dynamic → a race + a request for a “no more tracks” signal (the spec counterpart to moq-dev’s own catalog-gating fix #2072); and [[moq-live-agent-interaction|
draft-liu-moq-live-agent-interaction]] bumps -00 → -01 (July 3, Alibaba’s AI-agent profile, still individual/undiscussed, no changelog). No new WG revision (transport-18 Day +53; transport-19 not cut;draft-ietf-moq-dts4moqstill 404). Slack silent (~12 days, newest June 22); no new MoQ Monthly (#2, May 31); no open wiki issues. - Implementations: moq — the codex sweep roughly doubles: ~48 PRs MERGED July 3–4 (all kixelated bar one; ~25
[codex]). The July-3 OPEN items all land — lite-05 QUIC datagram delivery #2039 (+1611/−255), NVENC vendored in-tree #2042 (+52393/−53), gateway-findings #2036, TS/IRD harness #2011 — plus two features: enhanced-RTMP capsEx multitrack 2060 (rml_rtmp vendored +11794/−31) and catalog-reservation gating #2072 (the msf-#188 code side); moq-net role-module split #2070, open-GOP H.264 #2066 (fixes external t0ms #2050). The July-2 gateway audit batch mostly CLOSES (#2000/#2001/#2003/#2004/#2010). moxygen — spec-compliance fix by direct commit (c14a6bb9: DELIVERY_TIMEOUT=0 → PROTOCOL_VIOLATION for draft ≤16). moq-rs — breaks ~3-week quiet with OPEN #180 (relay interest-loss propagation, warm-cache linger + upstream UNSUBSCRIBE). moqx — July-2 build PRs 485 + sync #486 MERGED. quiche (moqt still July-1), moqtail, moq-js, imquic, birneee/quiche_moq, Eyevinn (all), Moqtopus quiet. - Interop: one new cut — the 2026-07-03 00:38:09 UTC cut: 294 / 84 / 176 / 34 (~28.6% pass; at-target draft-18 152 · 0 ahead · 142 behind). Identical in every count to the July-2 13:55 cut (294/84/176/34, at-target 152) — the first fully-flat back-to-back cut since the July-2 expansion, so the +28-cell / 78→152-at-target growth settled (neither converted green nor reverted). Same 18-impl set; daily cut back to its ~00:38 UTC slot; no July-4 cut at check time.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): nothing new — newest message is still Martin Duke’s June 22 18:50 CEST Google-Meet fallback link. No June 23–July 4 traffic (~12 straight silent days). - IETF mailing list: two NEW July-3 replies on the “Re: Review of PR1673” thread — Cullen Fluffy Jennings + Mo Zanaty (both July 3), continuing Cullen’s June-29 review of afrind’s fill-fetch PR #1673 (afrind replied June 30). No July-4 message; no new I-D Action; no new weekly GitHub digest (last June 28). Will Law’s July-2 SSTS #1638 post already logged.
- IETF Datatracker: one individual-draft revision —
draft-liu-moq-live-agent-interaction-00 → -01 (July 3, Alibaba, still individual). No WG revision bumps — transport-18 (Day +53, 2026-05-12), c4m-01, msf-01, loc-02, secure-objects-00, privacy-pass-auth-02, cmsf-01 unchanged;draft-lcurley-moq-lite-05(June 30),draft-westerlund-moq-overview-00(June 30) unchanged; transport-19 not cut;draft-ietf-moq-dts4moqstill 404. Meetings: interim-2026-moq-18 (July 6, 16:30 UTC) the only future interim; IETF 126 Vienna (July 20/23/24). - GitHub moq-wg: moq-transport — no merge / no new issue July 3–4; Cullen review sweep July 3 on #1673 (CHANGES_REQUESTED 15:04), #1674 (APPROVED 15:26 + rebase comment 15:31), #1783 (APPROVED 16:40), #1770 (COMMENTED 16:32), #1789 (touched 17:20); gated Design PRs (#1765/#1638/#1642/#1673/#1674) still OPEN. msf — Issue #188 OPENED (kixelated, July 3 20:13, static-vs-dynamic catalogs). loc, secure-objects, cmsf, catalog-format, privacy-pass quiet. July 4 silent across all moq-wg repos.
- GitHub implementations: moq-dev/moq (~48 MERGED July 3–4 incl. 1921; OPEN 2074; issues 2067 opened + 2049 CLOSED), facebookexperimental/moxygen (direct commits
c14a6bb9/e0b58105July 3), cloudflare/moq-rs (#180 OPEN July 3), openmoq/moqx (#485/#484/#483/#486 MERGED July 3), google/quiche moqt (no new commit since July 1), moqtail, video-dev/moq-js, meetecho/imquic, birneee/quiche_moq, Eyevinn (moqlivemock/warp-player/moqtransport), kota-yata/Moqtopus quiet. - Interop runner: NEW report 2026-07-03 00:38:09 UTC (294/84/176/34, at-target 152) — flat vs the July-2 13:55 cut. No July-4 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-transport, moq-msf, moq-live-agent-interaction, moq-dev, moxygen, moq-rs, openmoq, interop-runner, discussions-2026-07, index.md
Key findings: The editor review phase is now visibly racing the July-6 clock, and Cullen is the pace-setter. Where the late-June pattern was afrind/Suhas/sharmafb converting read-through issues into PRs, July 3 is the approval half of the two-phase plan: one editor (Cullen) sweeping five open PRs in ~2¼ hours, landing two clean APPROVALs (#1674 SWITCH_FROM, #1783 safe-ASCII) with the explicit WGLC-hygiene framing (“or we’ll be doing it in IETF Last Call”), a pragmatic COMMENT on #1770, and — the one substantive brake — CHANGES_REQUESTED on the fill-fetch redesign #1673. That the same review runs in parallel on GitHub and the mailing list (“Re: Review of PR1673”) is the tell that #1673 is the contested Design PR of this cycle: it re-architects joining-fetch into fill-fetch streams, and Cullen’s six-point critique (error delivery, duplicate delivery, implicit forward=0, nested params, terminology, keep-Joining-FETCH) plus Mo Zanaty’s nested-parameter concurrence mean it is the least likely of the gated PRs to clear the July-6 bar as-is. The design surface to watch at the interim. A single implementation is now generating WG spec requirements — msf #188 is downstream of moq-dev’s gateway sprawl. kixelated’s static-vs-dynamic-catalog issue is not abstract: it is the exact problem his own fMP4/FLV/TS/HLS exporters hit (static-track containers vs MSF’s dynamic model), and it lands the same window as moq-dev’s fix #2072 “gate initial catalog publish until reserved tracks resolve” and the catalog-jitter/root codex fixes. So the “MSF as a subscribe-decision oracle” spec is being stress-tested by the most active gateway implementation, and the feedback is flowing back as a concrete -02 requirement (signal “no more tracks”). This is the healthiest possible spec↔code loop — the same dynamic the June-30 wilaw MSF/CMSF PR burst showed, now driven from the implementation side. moq-dev’s sweep answers its own open question — the audit converts, and the phase turns from bugfix to feature. The July-3 log asked whether the OPEN half of the 17-issue gateway audit would convert as fast as the closed half; July 3 answers yes (#2000/#2001/#2003/#2004/#2010 all closed), and the ~48-PR window then adds features on top of the hardening: lite-05 QUIC datagram delivery (#2039), enhanced-RTMP capsEx multitrack (#2068/#2060), catalog-reservation gating (#2072), a moq-net role-module refactor (#2070). The two enormous vendoring PRs (NVENC #2042 +52k, rml_rtmp #2060 +11.8k) show moq-dev pulling external forks in-tree to control its media dependencies — an ownership move, not just churn. External contributor t0ms’s open-GOP H.264 bug (#2050 → fix #2066) is the second outside-filed defect this week, a sign the gateway breadth now has real users exercising it. The interop flat cut is the confirmation the July-2 expansion needed. A back-to-back identical cut (294/84/176/34, at-target 152) is the first since the +28-cell / 78→152-at-target July-2 jump, and it matters precisely because nothing moved: the newly-at-target cross-version cells neither regressed nor converted green in 11 hours, so the expansion is a stable new baseline rather than a transient. The pass rate (~28.6%) remains a denominator artifact of the widened matrix; the real growth axis stays the at-target pass count climbing within the 152-cell band, which needs the July-6 SSTS/draft-19 conformance surface (and correctness fixes like moq-dev’s KVP #2031 / moqtail’s #208) to start moving.
2026-07-03 — SSTS design detailed on-list; interop at-target doubles
TL;DR:
- The WG-design headline is on the mailing list: Will Law posts “Add Sender-Side Track Switching (SSTS) #1638” (July 2 12:20 UTC), converting the June-22 interim’s SSTS decisions into concrete text on the gated Design PR #1638. “Dynamic Track Switching” is renamed Sender-Side Track Switching (SSTS); switching becomes multi-algorithm, advertised by relays via a new
SSTS_ALGORITHMSsetup parameter over a baseSWITCHING-SET-ASSIGNMENTframework that algorithms extend; Algorithm 0 is the mandatory default (throughput thresholds + activation rules); and the per-setMAX_DTS_CONCURRENT_TRACKSoption is removed (the (D)DoS-protection walk-back the interim decided → rely on auth tokens + relay protections). Will Law invites review + alternative-algorithm impls to exercise the extension mechanism — the first spec-text motion on the SSTS surface since the interim, ahead of July 6. moq-transport repo otherwise quiet — no merge or new issue July 2–3; only afrind/ianswett’s 1790 and Mo Zanaty’s Range-Filters #1765 comment-iterating; gated Design PRs (#1765/#1638/#1642/#1673/#1674) still OPEN. No new WG revision (transport-18 Day +52; transport-19 not cut;draft-ietf-moq-dts4moqstill 404). Slack silent (~11 days, newest June 22); no new MoQ Monthly (#2, May 31); no open wiki issues. - Implementations: moq — the dominant story: ~23 PRs MERGED July 2–3, mostly a Luke Curley “[codex]” AI-assisted bugfix sweep: lite wire edge cases (#2033 +116/−39), IETF object-property KVP encoding (#2031 +260/−27 — the same KVP class moqtail fixed in #208), dropped group-fetch requests (#2028 +147/−13), MSF catalog-jitter compat (#2020), HLS/RTMP/RTC gateway fixes (#2016/#2018/#2019/#2022) — plus NVENC-on-hardware correctness (#1997 +308/−41), VT/mic/DXVA NV12 fixes (#2034), a moq-video capture-encoder-on-dedicated-thread refactor (#2038 +283/−49), a bindings ANNOUNCE-rename + moq-ffi 0.3.0 (#2037 +250/−93), and the periodic merge-main-into-dev #2013 (+15185/−4472). kixelated also filed a 17-issue gateway audit batch (OPEN 2010; 2009 fixed+CLOSED same window) and opened lite-05 QUIC datagram delivery (#2039), in-tree NVENC vendoring (#2042), JS lite FETCH (#2032), + a t0ms MPEG-TS/IRD compliance harness (#2024/#2011). moqx — #478 (widen object-ack histogram tail) + #477 (peterchave auto-regression tuning) MERGED (both OPEN in the July-2 log); #460 (gmarzot PKCS#12 TLS bundle, +915/−23) MERGED; sync-bot #481; new issue #482 + OPEN 483; standing issue #472 flags a version-negotiation bug (default advertises draft-16 first, capping negotiation at 16 even when 18 is mutual). moqtail — sharmafb (a moq-transport editorial contributor) opens #213 “Helper to validate different priority in same subgroup in FETCH response”. moxygen — gmarzot opens #207 (strip moxygen’s own XLOG root prefix). quiche (no new moqt commit since the July-1 fix), moq-rs, moq-js, imquic, birneee/quiche_moq, Eyevinn (all), Moqtopus all quiet.
- Interop: a structural expansion — the 2026-07-02 13:55:17 UTC cut: 294 / 84 / 176 / 34 (~28.6% pass; at-target draft-18 152 · 0 ahead · 142 behind). Vs the July-1 00:48 cut (266/80/152/34, at-target 78): matrix +28 (266 → 294), at-target nearly doubles 78 → 152 (+74), behind −46 (188 → 142), pass +4 (80 → 84), fail +24 (152 → 176), skip flat 34. More impls now advertise draft-18, so ~46 previously-behind cross-version cells recategorize to at-target (plus 28 new cells); most newly-at-target cells fail on first attempt (pass only +4 while at-target +74) — the expected coverage-expansion pattern (the June-26 +41-cell / 40→78 expansion continuing), not a regression of working cells.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): nothing new — newest message is still Martin Duke’s June 22 18:50 CEST Google-Meet fallback link. No June 23–July 3 traffic (~11 straight silent days). - IETF mailing list: one NEW July-2 message — Will Law (Akamai) “Add Sender-Side Track Switching (SSTS) #1638” (July 2 12:20:43 UTC), announcing the SSTS updates to Design PR #1638 per June-22 interim action items. No July-3 message; no new I-D Action; no new weekly GitHub digest (last was June 28).
- IETF Datatracker: no revision bumps — transport-18 (Day +52, 2026-05-12), c4m-01, msf-01, loc-02, secure-objects-00, privacy-pass-auth-02, cmsf-01 unchanged; individual drafts
draft-lcurley-moq-lite-05(June 30),draft-westerlund-moq-overview-00(June 30),draft-liu-moq-live-agent-interaction-00(June 29) unchanged; transport-19 not cut;draft-ietf-moq-dts4moqstill 404. Meetings: interim-2026-moq-18 (July 6, 16:30 UTC) the only future interim; IETF 126 Vienna sessions scheduled (July 20/23/24). - GitHub moq-wg: moq-transport — no merge / no new issue July 2–3; 1790 (afrind/ianswett) + Range-Filters #1765 (Mo Zanaty) only comment-iterating; gated Design PRs (#1765/#1638/#1642/#1673/#1674) still OPEN. privacy-pass — no new activity (the July-1 #19 triage already logged). msf, cmsf, loc, secure-objects, catalog-format quiet.
- GitHub implementations: moq-dev/moq (~23 MERGED July 2–3 incl. 1995; OPEN 2011; 17-issue audit batch 2010 OPEN + 2009 CLOSED), openmoq/moqx (#481/#479/#478/#477/#460 MERGED July 2; 480 OPEN; issues 472), facebookexperimental/moxygen (#207 OPEN), moqtail (#213 OPEN), google/quiche moqt (no new commit July 2–3), cloudflare/moq-rs, video-dev/moq-js, meetecho/imquic, birneee/quiche_moq, Eyevinn (moqlivemock/warp-player/moqtransport), kota-yata/Moqtopus quiet.
- Interop runner: NEW report 2026-07-02 13:55:17 UTC (294/84/176/34, at-target 152) — matrix +28, at-target 78 → 152. No July-3 cut at check time.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-transport, switch-abr, moq-dev, openmoq, moqtail, moxygen, interop-runner, discussions-2026-07, index.md
Key findings:
SSTS moves from interim decisions to PR text — the first spec-side motion on the year’s biggest transport design item since the June-22 interim. The DTS work has sat as a gated Design PR (#1638) since interim-17 renamed it and reshaped it around an extensible IANA-registered algorithm ID; Will Law’s July-2 list post is the moment those decisions become concrete PR text. The three interim action items are all now in the PR: the rename (DTS → SSTS), the SSTS_ALGORITHMS setup parameter + SWITCHING-SET-ASSIGNMENT base framework (so relays advertise their supported algorithms and clients request from that set), and removing MAX_DTS_CONCURRENT_TRACKS (the per-set (D)DoS-protection knob Gwendal flagged, dropped in favor of auth tokens + relay protections). That Will Law explicitly invites alternative-algorithm implementations to exercise the extension point is the tell that the “Algorithm Zero + IANA registry” design is meant to be validated by more than one algorithm before draft-19 — a design that only pays off if the extension mechanism is real, and this is the WG being asked to prove it. Logged as the standing gate item to watch across the July 6 interim.
moq-dev’s “[codex]” sweep is a hardening/QA phase, not a feature push. After the June-30/July-1 spec-sync (moq-lite-05 wire) and CLI-rename days, July 2–3 is ~23 PRs of bug remediation — and the shape is distinctive: a large share are [codex]-prefixed (Luke’s AI-assisted fixes) paired with a 17-issue audit batch kixelated filed the same morning (several already fixed and closed within the window). The audit surfaces real gateway defects — moq-hls broadcaster maps that never evict (#2010), RTMP play-of-nonexistent-broadcast hangs (#2006), moq-mux/srt cross-timescale panics (#2001), FLV export non-monotonic DTS (#2000) — i.e. the media-gateway breadth backported to main through June is now being stress-audited and repaired. This is the ecosystem’s most active impl treating its own gateway sprawl as a test surface; worth watching whether the OPEN audit items (#2000/#2001/#2003/#2005/#2006/#2007) convert to fixes as fast as the closed half did.
The interop at-target doubling is the London-mandated expansion continuing, not a pass-rate story. July-2’s cut nearly doubles the at-target draft-18 count (78 → 152) on a +28-cell matrix, with ~46 previously-behind cross-version cells recategorizing to at-target as more impls advertise draft-18. The pass count barely moves (+4) while fail jumps +24 — exactly the coverage-expansion signature the wiki documented at the June-26 +41-cell / 40→78 expansion: newly-at-target pairings mostly fail on first attempt and then convert green as impl mains converge. So the structural number (at-target 152) is the story; the ~28.6% pass rate is a denominator artifact, and the growth axis to watch is the at-target pass count climbing within the now-152-cell band, gated on the July-6 SSTS/draft-19 conformance surface.
A single wire bug keeps recurring across impls — a convergence signal, not coincidence. moq-dev’s #2031 “fix IETF object property KVP encoding” is the same Key-Value-Pair encoding class moqtail fixed in #208 (params serialized as absolute values vs the draft-mandated v16 deltas) days earlier. When independent implementations hit and fix the same KVP-encoding corner within a week, it is a sign the draft-18 KVP surface is being exercised in earnest across the matrix — precisely the cross-version cells the interop expansion just moved to at-target. moqx’s standing #472 (default advertises draft-16 first, so negotiation caps at 16 even when 18 is mutual) is the complementary hazard: an impl can be draft-18-capable yet never reach draft-18 in a pairing, which is one plausible source of the newly-at-target cells that still fail.
2026-07-02 — Auth-backlog triage; quiche moqt resumes; a tooling-heavy day
TL;DR:
- The WG-spec story is on the privacy-pass tracker, not moq-transport. Suhas runs an AUTH-design-team triage pass July 1 (~16:00–16:24 UTC) — opening Issue #19 “Reverse Flow and MOQT Integration” (relay-as-issuer token exchange, possibly reusing
REQUEST_UPDATE/REQUEST_OK/REQUEST_ERROR) and commenting on the standing thibmeu issues #18 (replace theReasonPhrasechallenge carrier withMoQTokenChallenge; explore challenging without closing the session) and #16 (“similar to #18”, add text once #18 lands in MoQT) — the first privacy-pass tracker activity since thibmeu’s June-12 burst, materializing Martin Duke’s June-29 reactivation of the “AUTH design team” list thread. moq-transport otherwise quiet (no merge July 1–2; only ianswett’s #1788 iterating). On the impl side it is a tooling/observability-heavy day: quiche’s moqt module posts its first commit since June 24 (Request-ID increment onSUBSCRIBE_NAMESPACE), moqx runs an afrind-led Prometheus/perf-metrics push (self-contained live dashboard #479 +833, perf-client metrics/jemalloc/logging fixes), moq renames its CLI binary tomoqunder a unified endpoint grammar (#1985) + opens an MPEG-TS-export dense-PCR cluster, moxygen upstream pivots to qlog/viz (#205/#206 OPEN), and moqtail lands a subgroup-header bitmask-dispatch wire fix (#211). On the list, two July-1 scheduling replies (virtual-interim dates + IETF-126 agenda). No new WG revision (transport-18 Day +51; transport-19 not cut;draft-ietf-moq-dts4moqstill 404). Slack silent (~10 days, newest June 22); no new MoQ Monthly (#2, May 31); no open wiki issues.** - Implementations: quiche — moqt resumes (
1b65043b“Increment Request ID on SubscribeNamespace”, July 1 18:39, first since June 24). moqx — afrind Prometheus/perf-metrics batch MERGED (#479 dashboard +833, #475 client.prom, #474 LoggingConfig, #473 jemalloc, #470 metrics fix; 477 OPEN). moq — #1985 MERGED binary→moqunified endpoint grammar (+1354/−761), 1993 MERGED; OPEN MPEG-TS PCR cluster 1991 (+#1988/#1989 superseded), kio #1994, CORS #1996. moxygen — two OPEN afrind PRs pivot to tooling (#205 viz overhaul +1511/−966, #206 per-conn QLogger); 199 stayed CLOSED-unmerged. moqtail — #211 MERGED subgroup-header bitmask dispatch (+12/−18) + CI 212. moq-rs, moq-js, imquic, birneee/quiche_moq, Eyevinn (warp-player dependabot-only), Moqtopus all quiet. - Interop: the runner cuts once — the 2026-07-01 00:48:30 UTC cut: 266 / 80 / 152 / 34 (~30.1% pass; at-target 78 · 0 ahead · 188 behind). Back to the usual ~00:48 UTC slot after June-30’s two intra-day cuts. Vs the June-30 21:32 post-expansion high (266/85/147/34): matrix/skip/at-target flat, pass −5 (85 → 80), fail +5 (147 → 152) — ordinary cross-version flaky variance as impl
mains churn (moq-dev binary-rename/TS-export, moqtail #211, moqx perf-metrics, quiche moqt), not a regression; at-target draft-18 holds at 78.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): nothing new — newest message is still Martin Duke’s June 22 18:50 CEST Google-Meet fallback link. No June 23–July 2 traffic (~10 straight silent days). - IETF mailing list: three NEW July-1 replies (no new thread) — Magnus Westerlund + Ali C. Begen “Re: Proposed Virtual Interim dates” (replies on Duke’s June-30 thread), Suhas Nandakumar “Re: IETF 126 Agenda requests”. No new I-D Action, no weekly GitHub digest. Nothing dated July 2.
- IETF Datatracker: no revision bumps — transport-18 (Day +51, 2026-05-12), c4m-01, msf-01, loc-02, secure-objects-00, privacy-pass-auth-02, cmsf-01 unchanged; the June-30 individual drafts (
draft-lcurley-moq-lite-05,draft-westerlund-moq-overview-00) + June-29draft-liu-moq-live-agent-interaction-00unchanged; transport-19 not cut;draft-ietf-moq-dts4moqstill 404. Meetings: interim-2026-moq-18 (July 6, 16:30 UTC) the only future interim; IETF 126 Vienna sessions scheduled (July 20/23/24). - GitHub moq-wg: privacy-pass — Suhas triage pass July 1 ~16:00–16:24 UTC: Issue #19 OPENED (reverse-flow / MOQT integration); comments on #18 + #16. moq-transport — no merge July 1–2; only ianswett’s #1788 iterating (July 1 13:50); the June-30 sharmafb/ianswett issue set (#1792/#1793/#1795/#1796/#1798) + afrind editorial PRs (#1783/#1786/#1799) + gated Design PRs (#1765/#1638) all OPEN. msf (#187 iterating July 1), cmsf, loc, secure-objects, catalog-format quiet.
- GitHub implementations: google/quiche moqt (
1b65043bJuly 1), openmoq/moqx (#479/#475/#474/#473/#470/#476/#471 MERGED; 477 OPEN), moq-dev/moq (#1985/#1984/#1993 MERGED; 1989 OPEN), facebookexperimental/moxygen (#205/#206 OPEN; 199 CLOSED unmerged; #202 OPEN), moqtail (#211/#209/#212 MERGED), cloudflare/moq-rs, video-dev/moq-js, meetecho/imquic, birneee/quiche_moq, Eyevinn (moqlivemock/moqtransport; warp-player dependabot 148), kota-yata/Moqtopus quiet. - Interop runner: NEW report 2026-07-01 00:48:30 UTC (266/80/152/34, at-target 78) — pass −5 off the June-30 high.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-privacy-pass, quiche-moq, moq-dev, openmoq, moxygen, moqtail, interop-runner, discussions-2026-07 (NEW), index.md
Key findings:
The auth workstream moves from a list thread to concrete tracker triage. Since thibmeu’s June-11/12 issue burst the privacy-pass repo had been dormant, with the auth conversation living in Martin Duke’s “AUTH design team” mailing-list thread (reactivated June 29). July 1’s Suhas triage pass is the first time that thread converts into tracker work: #19 raises the genuinely new reverse-flow design question (can the relay itself issue tokens for new subscriptions, reusing REQUEST_UPDATE/REQUEST_OK/REQUEST_ERROR as carriers rather than round-tripping to the PP issuer), while his comments on 16 give a concrete answer to the long-tracked “no clean challenge carrier in a SETUP-closure reply” problem — replace ReasonPhrase with MoQTokenChallenge, and try to challenge without closing the session at all. This is the privacy-pass half of the two-track (privacy-pass + C4M) WG auth effort finally showing spec-level motion ahead of July 6.
google/quiche’s moqt module rejoins the active set. The C++ impl (Martin Duke / Victor Vasiliev) had been quiet since June 24; the July-1 SubscribeNamespace Request-ID fix is small, but it ends the gap and keeps quiche’s main-branch protocol-tracking in step — the wiki has watched this module lag its registered draft-16 relay target all month, so any commit is a signal the code line is live even if the public relay hasn’t moved.
The implementation ecosystem’s center of gravity this window is tooling, not wire. With no draft-19 wire-shape change to build against (transport still -18, Design PRs frozen), the impls spent July 1 on developer/operator surface: moqx built out a Prometheus perf-metrics harness (a live dashboard + client .prom dumps + jemalloc perf-client), moxygen upstream pivoted from relay/stats (all retracted) to qlog + a from-scratch NDJSON visualizer, moq-dev cleaned up its CLI (one moq binary, unified endpoint grammar) and refined MPEG-TS export PCR pacing, and moqtail fixed subgroup-header parsing. This is the ecosystem hardening its observability and ergonomics during a spec-frozen stretch — the same “editorial/tooling consolidation ahead of July 6” posture the spec side is in.
The interop dip is noise, and the return to the ~00:48 slot is the real signal. July 1’s −5 pass (85 → 80) reverses part of June-30’s +9 climb on a structurally identical 266-cell / 78-at-target matrix — exactly the cross-version flaky variance the wiki has documented all month as impl mains reshape (and July 1 saw a lot of reshaping: a binary rename, a TS-export rework, a metrics harness, a wire-parse fix). More notable is that after June-30’s unusual two intra-day cuts the runner is back to a single daily ~00:48 UTC cut, confirming the cadence is fully normalized. The structural growth axis remains the at-target draft-18 count climbing within its 78-cell band, gated on the July-6 SSTS/draft-19 conformance surface.
2026-07-01 — moq-lite -05 lands + a new MoQ suite-overview draft
TL;DR:
- The day’s headline is on the Datatracker, not the transport repo — two individual-draft events June 30. (1) [[moq-lite|
draft-lcurley-moq-lite]] bumps -04 → -05 (Informational, expires 2027-01-01) — the-05revision the wiki has flagged “presumably forthcoming” since May 5, catching the published spec up to the Lite05 / DRAFT_05 wire moq has run in code since May 4; moq-dev ships the matching wire the same 48 h (#1954 SETUP+PATH, #1963 TRACK_INFO/SUBSCRIBE_END/timestamps) and drops per-frame compression (#1962, restoring Publisher Max Latency), a pivot in the compression debate. (2) A brand-new [[moq-overview|draft-westerlund-moq-overview-00]] “Media over QUIC Overview” — an Informational suite-level survey co-authored by WG co-chair Magnus Westerlund (Ericsson) + Zaheduzzaman Sarker (Nokia), announced on the list June 30. Alongside, Will Law opens a coordinated media-format editorial push: MSF #186 (dual Track+Object initData — the London-previewed design) + #187 (track cloning/delta), CMSF #26 (catalog URLs) + Issue #25 (fragment identifier), while Tobbe’s long-open MSF example-fix #177 finally MERGES. moq-transport’s June-29 sharmafb editorial trio (#1791/#1794/#1797) MERGES June 30 morning as the draft-18 read-through keeps generating issues (sharmafb 1795, ianswett 1798); Design PRs stay frozen pending July 6. On the list, Martin Duke opens “Proposed Virtual Interim dates”. No new WG revision (transport-18 Day +50; transport-19 not cut;draft-ietf-moq-dts4moqstill 404). Slack silent (~9 days, newest June 22); no new MoQ Monthly (#2); no open wiki issues.** - Implementations: moq — the story (~18 PRs MERGED June 29→July 1): moq-lite-05 wire (#1954/#1963), compression pivot (#1962 drop per-frame; Issue #1958
@moq/flatenpm gap; DEFLATE #1929 still OPEN), moq-mux audio-codec expansion (#1969 FLAC / #1965 Opus-over-TS / 1967 MP3), OS-verifier TLS #1968 (supersedes #1949), big merge main into dev #1950; OPEN gateway-consolidation 1974 + out-of-RAM replay #1971. moqtail — #208 MERGED fixes a real KVP v16-delta wire bug (closes #207). moqx — active (gmarzot 456, afrind #423 MERGED; mondain CAT4MOQ #468 + afrind stats #462 OPEN). moxygen — upstream keeps retracting afrind PRs (#204/#203/#201/#200/#199 CLOSED-unmerged; work flows via moqx). quiche (moqt still June 24), moq-rs, moq-js, imquic, birneee/quiche_moq, Eyevinn (warp-player dependabot-only), Moqtopus all quiet. - Interop: the runner cuts twice on June 30 and pass climbs to a post-expansion high — newest 2026-06-30 21:32:43 UTC cut: 266 / 85 / 147 / 34 (~32.0% pass; at-target 78 · 0 ahead · 188 behind;
moq-gonow client+relay). Vs the June-29 cut (266/76/156/34): matrix flat, pass +9 (76 → 85), fail −9 (156 → 147), skip/at-target flat — the June-29 skip→fail reshuffle recovering as implmains settle (moqtail’s KVP-delta fix #208 is exactly the correctness change that flips failing KVP-mismatch cells).
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): nothing new — newest message is still Martin Duke’s June 22 18:50 CEST Google-Meet fallback link. No June 23–July 1 traffic (~9 straight silent days). - IETF mailing list: three NEW June-30 items — Martin Duke “Proposed Virtual Interim dates” (new thread), Magnus Westerlund “FW: I-D Action: draft-westerlund-moq-overview-00.txt” (announces the new overview draft), Alan Frindell “Re: Review of PR1673” (reply on Cullen’s June-29 PR1673 review thread). The June-29 Duke/Jennings/Will-Law items + June-28 GitHub digest remain the prior entries. Nothing dated July 1.
- IETF Datatracker: no WG revision bumps — transport-18 (Day +50, 2026-05-12), c4m-01, msf-01, loc-02, secure-objects-00, privacy-pass-auth-02, cmsf-01 all unchanged; transport-19 not cut;
draft-ietf-moq-dts4moqstill 404. Two individual-draft events June 30:draft-lcurley-moq-litebumped -04 → -05 anddraft-westerlund-moq-overview-00NEW (Magnus Westerlund / Ericsson + Zaheduzzaman Sarker / Nokia, Informational).draft-liu-moq-live-agent-interaction-00(June 29) unchanged. Meetings: interim-2026-moq-18 (July 6, 16:30 UTC) the only future interim; IETF 126 Vienna sessions scheduled (July 20/23/24). - GitHub moq-wg: moq-transport — 3 sharmafb PRs MERGED June 30 ~07:00–07:01 UTC (#1791/#1794/#1797, editorial polish); afrind opens #1799 OPEN; NEW issues 1795 (sharmafb) + 1798 (ianswett); Design PRs 1674 + June-27 trio still OPEN (July-6 gate holds). msf — #177 MERGED (tobbee, +24/−24); Will Law opens #186 (dual Track+Object initData, +50/−20) + #187 (track cloning/delta, +28/−14), both OPEN. cmsf — Will Law opens #26 (catalog URL, +7/−0) + Issue #25 (fragment identifier), both OPEN; Tobbe’s Issue #24 still OPEN. loc, secure-objects, catalog-format, privacy-pass quiet.
- GitHub implementations: moq-dev/moq (~18 MERGED incl. 1972; 1959 OPEN; 1940 CLOSED unmerged; Issue #1958 OPEN), moqtail (#208/#206/#209/#202 MERGED, closes #207), openmoq/moqx (#461/#456/#423/#388/#306/#463/#458 MERGED; 466 OPEN; 465 issues), facebookexperimental/moxygen (#204/#203/#201/#200/#199 CLOSED unmerged; #202 OPEN), google/quiche moqt (no new commit since June 24), cloudflare/moq-rs, video-dev/moq-js, meetecho/imquic, birneee/quiche_moq, Eyevinn (moqlivemock/moqtransport; warp-player dependabot 148), kota-yata/Moqtopus quiet.
- Interop runner: THREE NEW cuts — 2026-06-30 00:46:05 (77/155/34), 19:02:48 (83/148/34), 21:32:43 (85/147/34, at-target 78); two cuts on June 30, pass 76 → 85 (+9).
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-transport, moq-lite, moq-overview (NEW), moq-msf, moq-cmsf, moq-dev, openmoq, moqtail, moxygen, interop-runner, discussions-2026-06, index.md
Key findings:
The published moq-lite spec and its reference implementation re-converge on the -05 wire — a rare clean spec↔code sync. For nearly two months the wiki tracked a gap: moq-dev ran the Lite05 / DRAFT_05 wire (from May-4’s PR #1374) while the Datatracker sat on -04. June 30 closes it — -05 publishes and moq-dev lands the two wire PRs that complete the -05 surface (#1954 SETUP+PATH, #1963 TRACK_INFO/SUBSCRIBE_END/timestamps). The more interesting signal is #1962 dropping per-frame compression and restoring Publisher Max Latency: after Luke’s June-26 “MoQ + Compression” list thread drew a four-way layering disagreement and moq-dev’s DEFLATE code churned through June, the implementation is now walking the per-frame variant back (Issue #1958’s @moq/flate-not-on-npm loose end confirms the line is unsettled). So the compression bet is being reconsidered at the wire, not linearly shipped — worth watching whether the lite-ANNOUNCE #1929 survives.
A co-chair publishes a suite-overview draft — a roadmap/orienting signal, not a design. draft-westerlund-moq-overview-00 is the first suite-level MoQ overview the wiki has tracked, and the authorship matters as much as the content: Magnus Westerlund is a WG co-chair, and an Informational overview from the chair reads as an attempt to give the now-sprawling document set (transport + MSF + CMSF + LOC + secure-objects + privacy-pass + C4M + a dozen individual drafts) a single map — a common precursor to a WG architecture/applicability document. No wire impact; logged as a first-look pending any call for adoption.
Will Law’s media-format work moves from London slides to spec PRs the same day across MSF and CMSF. The June-30 wilaw burst is the concrete follow-through on the dual Track+Object initData design he previewed for the London CMSF slot (msf #186) plus the URI-fragment-identifier question Gwendal raised in the Day-2 issue burst (cmsf Issue #25 ↔ msf #181). Coordinated across both specs, with Tobbe’s long-open #177 example-fix finally merging, this is the MSF/CMSF -02 backlog starting to convert into text — and #186 is exactly the initData machinery the LOCMAF→CMSF-packaging plan (cmsf Issue #24) depends on, so the two threads are now visibly converging.
Interop’s climb to a post-expansion high is real recovery, not new coverage. The June-30 21:32 cut’s +9 pass (76 → 85, ~32.0%) with a matching −9 fail on an unchanged 266-cell / 78-at-target matrix is the June-29 skip→fail reshuffle recovering: the cross-version cells that flipped to fail when they were first attempted are now going green as impl mains settle. moqtail’s #208 — fixing KVP parameters that were serialized as absolute values instead of the draft-mandated v16 deltas — is precisely the kind of wire-correctness fix that converts a class of failing cross-version cells at once. The at-target draft-18 count still holds at 78; the structural growth axis remains that count climbing within its band, gated on the July-6 SSTS/draft-19 conformance surface.
2026-06-30 — More editorial merges; secure-objects test vectors; first MoQ AI-agent draft
TL;DR:
- The draft-19 editorial pass keeps draining and two new entrants appear. (1) Three more moq-transport clarification PRs MERGED June 29 19:04–19:07 UTC (after the June-29 update’s check): Suhas’s #1777 “Move GROUP_ORDER from PUBLISH_OK to SUBSCRIBE_TRACKS” (+12/−5, closes #1651, the dependency ianswett’s OPEN #1788 waited on); afrind’s #1782 “Update Forward handling for relays” (+12/−5, closes the London-consensus #1650 — SHOULD→relay discretion); afrind’s #1780 “Clarify forwarding preference order” (+1/−1, closes Cullen’s #1702 — datagram-wins tiebreak). sharmafb opened a 3-PR editorial-polish set (#1791/#1794/#1797, all OPEN). (2) secure-objects lands its long-pending test-vectors appendix (#88 MERGED, +326/−0) — the first secure-objects merge since the May-1 wave, an interop-readiness step. New entrants: Alibaba submits the first MoQ + AI-agent draft [[moq-live-agent-interaction|
draft-liu-moq-live-agent-interaction-00]] (Yanmei Liu + Dapeng Liu — turns→Groups, steps→Subgroups, tokens→Objects; barge-in turn-taking; a pure application profile), and Martin Duke reactivates the “AUTH design team” list thread (June 29). The June-27 transport trio (#1788/#1789/#1790) stays OPEN; gated Design PRs (#1765/#1638) frozen pending July 6. No new draft revision (transport-18 Day +49). Slack silent (~8 days, newest June 22); no new MoQ Monthly (#2); no open wiki issues. - Implementations: moq — a heavy moq-mux cleanup day (June 29, net code reduction): #1941 MERGED API cleanup pre-semver (+509/−1063) + #1943 MERGED unify rendition selection behind
select::Broadcast(+588/−432) + HLS routing #1939 MERGED (+252/−907, #1940 closed unmerged) + media fix #1945 MERGED (HLS discontinuity through fMP4) + CI #1947 + dependabot 1936; new OPEN #1949 (TLS root deferral, 06-30) + #1948; DEFLATE #1929 / RAM-cache #1899 still OPEN. moxygen — three OPEN afrind PRs June 29 (#202 reset subgroups on subscription cancel +62/−1, #201/#203 test infra) → five OPEN upstream. moqx — sync-bot #458 MERGED; gmarzot opens TLS #460 (PKCS#12 in-memory bundles, +963/−22) + #461 (bind-address error). quiche (no new moqt), moq-rs, moq-js, moqtail, imquic, birneee/quiche_moq, Eyevinn (warp-player dependabot-only), Moqtopus all quiet. - Interop: the runner cuts a fourth day running — new 2026-06-29 01:41:40 UTC cut: 266 / 76 / 156 / 34 (draft-18; ~28.6% pass; at-target 78 · 0 ahead · 188 behind). Vs the June-28 cut (266/79/137/50): matrix flat at 266, pass −3 (79 → 76), fail +19 (137 → 156), skip −16 (50 → 34), at-target flat at 78 — a skip→fail reshuffle (≈16 previously-skipped cross-version pairings attempted and failed), a coverage shift on behind-target cells, not a regression of working cells.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): nothing new — newest message is still Martin Duke’s June 22 18:50 CEST Google-Meet fallback link. No June 23–30 traffic (~8 straight silent days). - IETF mailing list: three NEW June-29 items — Martin Duke “AUTH design team” (reactivating the June-12 auth-design-team thread), Cullen Jennings “Review of PR1673” (review note on transport PR #1673), Will Law “Re: IETF 126 Agenda requests” (Vienna agenda reply). The June-28 weekly GitHub digest remains the prior routine item. Nothing dated June 30.
- IETF Datatracker: no WG revision bumps — transport-18 (Day +49), c4m-01, msf-01, loc-02, secure-objects-00, privacy-pass-auth-02, cmsf-01,
draft-lcurley-moq-timestamp-00,draft-einarsson-moq-locmaf-00all unchanged;draft-ietf-moq-dts4moqstill 404; transport-19 not cut. One NEW individual I-D:draft-liu-moq-live-agent-interaction-00(Yanmei Liu / Alibaba Inc. + Dapeng Liu / Alibaba Cloud, submitted June 29). Meetings: interim-2026-moq-18 (July 6, 16:30 UTC) the only future interim; IETF 126 Vienna sessions scheduled (July 20/23/24). - GitHub moq-wg: moq-transport — 3 PRs MERGED June 29 19:04–19:07 UTC (#1777/#1782/#1780, closing 1702); 3 NEW OPEN sharmafb editorial PRs (#1791/#1794/#1797); June-27 trio 1790 + Design PRs 1638 still OPEN. secure-objects — #88 MERGED June 29 16:07 UTC (Suhas, test-vectors appendix, +326/−0); Issue #72 (AAD integer serialization) saw June-29 activity. cmsf — Issue #24 got a tobbee follow-up comment (June 29: plan a new LOCMAF draft revision first). msf, loc, catalog-format, privacy-pass quiet.
- GitHub implementations: moq-dev/moq (#1941/#1943/#1944/#1939/#1945/#1947/#1942/#1936 MERGED June 29; 1934 CLOSED unmerged; 1899 OPEN), facebookexperimental/moxygen (#201/#202/#203 OPEN June 29; 195 OPEN), openmoq/moqx (#458 MERGED June 29; 456 OPEN), google/quiche moqt (no new commit), cloudflare/moq-rs, video-dev/moq-js, moqtail, meetecho/imquic, birneee/quiche_moq, Eyevinn (moqlivemock/warp-player[dependabot]/moqtransport), kota-yata/Moqtopus quiet.
- Interop runner: NEW report 2026-06-29 01:41:40 UTC (266/76/156/34, at-target 78) — the fourth consecutive daily cut.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-transport, moq-secure-objects, moq-live-agent-interaction (NEW), moq-dev, moxygen, openmoq, interop-runner, discussions-2026-06, index.md
Key findings:
The editorial pass is now a steady issue-to-text conversion machine, and June 29 closes a clean batch of long-standing items. The three evening merges each retire an issue with real history: Suhas’s #1777 unblocks ianswett’s OPEN #1788 (which explicitly assumed GROUP_ORDER would move to SUBSCRIBE_TRACKS), afrind’s #1782 finally executes the London-interim consensus the wiki logged June 12 (drop the over-strong Forward=1 SHOULD in favor of relay discretion, #1650), and afrind’s #1780 settles a Cullen draft-18 read-through item (#1702) with a concrete datagram-wins priority tiebreak. The pattern holds: morning/evening merge bursts converting editorial + clarification PRs into draft-19 text, while the gated Design PRs (#1765 Range Filters, #1638 DTS/SSTS) stay frozen behind the two-week + four-editor bar pending July 6.
secure-objects rejoins the active set. The test-vectors appendix (#88) had been OPEN since May 30 — the wiki’s secure-objects page flagged it as the informal-reference fallback if -01 didn’t land before London. Its June-29 merge (+326/−0) is the first content change on the repo since the May-1 cleanup wave, and it matters because test vectors are an interop prerequisite for an AEAD scheme: implementations now have canonical inputs to verify their object encryption/authentication against. The standing AAD-integer-serialization precision item (#72) is the remaining open detail before a -01 cut.
A new application class enters MoQ’s orbit — AI-agent voice interaction. draft-liu-moq-live-agent-interaction-00 is the first MoQ + AI-agent draft the wiki has tracked. It is notable less for its maturity (a just-submitted, undiscussed individual -00) than for the signal: a second Alibaba contribution after xquic-moq, and a demonstration of the “MoQ as a reusable real-time substrate” thesis — it adds no wire mechanism, only a convention layer mapping conversational turns→Groups, inference steps→Subgroups, and token batches→Objects, so relays carry AI-agent (ASR/LLM/TTS) traffic without payload inspection. Worth watching for any WG-list reaction. Martin Duke reactivating the AUTH design team the same day keeps the auth workstream — the other cross-cutting design area besides SSTS — visibly alive ahead of July 6.
The interop skip→fail reshuffle is coverage, not regression. The June-29 cut’s headline-looking fail jump (+19) is paired with a near-equal skip drop (−16) and only a −3 pass dip, on a structurally identical 266-cell / 78-at-target matrix. ~16 cross-version pairings that the June-28 run skipped were attempted this run and failed — a test-coverage expansion on the behind-target cells, not a loss of working cells. The structurally important at-target draft-18 count holds at 78; the growth axis to watch remains that count climbing within its band, gated on the July-6 SSTS/draft-19 conformance surface.
2026-06-29 — Transport editorial pass resumes merging; LOCMAF heads into CMSF
TL;DR:
- Two concrete WG events. (1) The draft-19 editorial pass resumes merging: afrind’s #1760 “Make Object Status payload rule extensible via IANA registry” (+20/−1) MERGED June 29 00:37 UTC — the first moq-transport merge since the June-25 evening batch — replaces the blanket “non-zero Object Status MUST have empty payload” rule with an Object Status IANA registry carrying a Payload column, and closes #1727 (fluffy / Cullen Jennings, “Extensibility of object with non zero status code”), another of Cullen’s June-15 draft-18 read-through issues — the same extensibility-via-IANA-registry move the WG applied to #1761 and SSTS. (2) Torbjörn Einarsson opened moq-wg/cmsf Issue #24 “Incorporate LOCMAF as a packaging mode in CMSF” (June 28) — formalizing the London interim-11 agreement to fold LOCMAF into CMSF (as a third
locmafpackaging betweencmafandloc) rather than ship it standalone, the first step toward retiring the individual draft. The June-27 transport trio (#1788/#1789/#1790) stays OPEN; gated Design PRs (#1765/#1638) frozen pending July 6. No new draft revision (transport-18 Day +48). Only new list item: the routine weekly GitHub digest (June 28). Slack silent (newest June 22, ~7 days); no new MoQ Monthly (#2); no open wiki issues. - Implementations: moq — #1933 MERGED (06-29, +172/−8) fMP4 zero-duration-sample fix + #1938 MERGED (06-28, +383/−292) TypeScript-7-RC upgrade + dependabot #1935; the DEFLATE lite-ANNOUNCE work consolidates — #1928 CLOSED unmerged, larger #1929 stays OPEN (+22128/−5643); #1939 (route HLS CLI via moq-hls) OPEN. moxygen — upstream wakes again: afrind #199 (getKeepAlive) + #200 (reset subgroup consumers on detach) OPEN June 28. moqx — only sync-bot #457 MERGED (+1/−1); #456 OPEN. quiche (moqt still June-24), moq-rs, moq-js, moqtail, imquic, Eyevinn, birneee/quiche_moq, Moqtopus all quiet.
- Interop: the runner cuts a third day running — new 2026-06-28 00:47:13 UTC cut: 266 / 79 / 137 / 50 (draft-18; ~29.7% pass; at-target 78 · 0 ahead · 188 behind). Vs the June-27 00:45 cut (266/75/141/50): matrix flat at 266, pass +4 (75 → 79), fail −4, skip flat, at-target flat — exactly recovering the June-27 −4 flaky dip back to the June-26 expansion level. Daily cadence firmly restored (June 26 → 27 → 28).
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): nothing new — newest message is still Martin Duke’s June 22 18:50 CEST Google-Meet fallback link. No June 23–29 traffic (~7 straight silent days). - IETF mailing list: one NEW item — the routine “Weekly github digest (Media Over QUIC Activity Summary)” (Repository Activity Summary Bot, June 28). The June-26 Luke Curley “MoQ + Compression” thread + IETF-126 scheduling remain the prior substantive items (already logged). No new I-D Action.
- IETF Datatracker: no new revisions — transport-18 (Day +48), c4m-01, msf-01, loc-02, secure-objects-00, privacy-pass-auth-02, cmsf-01,
draft-lcurley-moq-timestamp-00,draft-einarsson-moq-locmaf-00all unchanged;draft-ietf-moq-dts4moqstill 404; transport-19 not cut. Meetings: interim-2026-moq-18 (July 6, 16:30 UTC) the only future interim; IETF 126 Vienna sessions scheduled (July 20/23/24). - GitHub moq-wg: moq-transport — #1760 MERGED June 29 00:37 UTC (afrind, → closes #1727); June-27 trio 1790 still OPEN; Design PRs 1638 frozen. cmsf — Issue #24 OPENED June 28 (tobbee, LOCMAF→CMSF packaging). msf, loc, secure-objects, catalog-format, privacy-pass quiet.
- GitHub implementations: moq-dev/moq (#1933 MERGED June 29; 1935 MERGED June 28; #1928 CLOSED unmerged; 1934 OPEN), facebookexperimental/moxygen (#199/#200 OPEN June 28; 195 OPEN, rest closed unmerged), openmoq/moqx (#457 MERGED June 28; #456 OPEN), google/quiche moqt (no new commit since June 24), cloudflare/moq-rs (docs #177 OPEN); video-dev/moq-js (#72 OPEN), moqtail, meetecho/imquic, birneee/quiche_moq, Eyevinn (moqlivemock/warp-player/moqtransport), kota-yata/Moqtopus quiet.
- Interop runner: NEW report 2026-06-28 00:47:13 UTC (266/79/137/50, at-target 78) — the third consecutive daily cut.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-transport, moq-cmsf, moq-locmaf, moq-dev, moxygen, openmoq, interop-runner, discussions-2026-06, index.md
Key findings:
The draft-19 editorial pass alternates between “open PRs” days and “merge” days — June 29 is a merge day. After June 26–27 produced only OPEN PRs (the June-27 trio), June 29 lands afrind’s #1760, the first transport merge since the June-25 evening batch. It’s a textbook draft-19 conversion: a Cullen-read-through issue (#1727, one of his June-15 batch) turned into spec text via the WG’s now-standard extensibility-via-IANA-registry mechanism — an Object Status registry with a Payload column, replacing a blanket “MUST have empty payload” rule. This is the same move applied to the extension/version registry (#1761) and the SSTS switching-algorithm ID, and it keeps the editorial + Security-Considerations tranche draining on schedule ahead of July 6, while the gated Design PRs (#1765 Range Filters, #1638 DTS/SSTS) stay frozen behind the two-week + four-editor bar.
LOCMAF takes its first formal step from standalone draft to CMSF mode. The wiki has tracked LOCMAF since its June-2 -00 submission as one of several competing low-overhead fMP4 carriers, with the June-3 initData thread and wilaw’s June-9 dual-Track+Object proposal converging the design space. The London interim-11 (June 12) agreed it should fold into CMSF; June 28 Tobbe (the wiki maintainer + draft co-author) files cmsf Issue #24 to do exactly that — proposing a locmaf packaging between cmaf and loc that is end-to-end (relays forward the Object payload unchanged) and catalog-referenced for init (the 0.2 design), so it reuses CMSF’s catalog/init machinery. This is the path to retiring draft-einarsson-moq-locmaf-00 as a standalone individual draft in favor of a defined mode of a WG document — a notable lifecycle milestone for a wiki-maintainer artifact.
moq-dev’s compression bet is consolidating, not stalling. The DEFLATE lite-ANNOUNCE compression appeared as duplicate PRs 1929; June 28 closes the smaller #1928 unmerged while the larger #1929 (+22128/−5643) stays OPEN — a consolidation onto one PR, not abandonment. With Luke’s “MoQ + Compression” list thread still unresolved on which layer owns compression, the code keeps moving on dev ahead of the spec answer.
The interop runner’s daily cadence is now unambiguously restored. Three consecutive cuts (June 26 22:22 → 27 00:45 → 28 00:47) end the ~5-day lapse beyond doubt, and the 75↔79 pass oscillation across June 27–28 on a structurally identical 266-cell / 78-at-target matrix is the ordinary cross-version flaky variance the wiki has documented all month (each impl runs its main), not signal. The structural growth axis to watch is still the at-target pass count climbing within the 78-cell band, gated on the July-6 SSTS/draft-19 conformance surface.
2026-06-28 — Transport editorial PRs continue; interop cadence resumes
TL;DR:
- A quiet consolidation day with no merges on the WG spec — the only new moq-transport movement is three small clarification/security PRs opened June 27, converting two open issues into draft-19 spec text. ianswett opened a pair resolving Martin Duke’s #1660 (“SUBSCRIBE_TRACKS should contain SUBSCRIBE parameters”): #1788 “SUBSCRIBE_TRACKS Parameters copied to PUBLISH” (+18/−7 — Subscription Parameters on
SUBSCRIBE_TRACKSbecome the defaults for resulting PUBLISHes; assumes Suhas’s #1777) and its companion #1790 “Subscription parameters appear in PUBLISH, not PUBLISH_OK” (+18/−18, fixes the rest of #1660); and Suhas opened #1789 “Add additional details on preventing impersonation” (+42/−1) — fixing Cullen Jennings’s #1737 “Preventing impersonation” (June 15), one of Cullen’s security-considerations issues. All three are OPEN (no transport merge since the June-25 evening batch) — the “convert issues into PRs” editorial + Security-Considerations tranche still running on schedule ahead of July 6, with the gated Design PRs (Range Filters #1765, DTS/SSTS #1638) still frozen. No new draft revision (transport-18 Day +47; transport-19 not cut;draft-ietf-moq-dts4moqstill 404). No new Slack (newest June 22, ~6 days silent), no new mailing-list thread (newest June 26), no new MoQ Monthly (#2, May 31), no open wiki issues. - Implementations: moq — the
dev→mainbackport sweep continues with three more codex backports MERGED June 27: #1930 “Backport relay web embedding” (+144/−55, the OPEN item flagged June 27), #1931 “expose moq-rtc session runner” (+180/−54), #1932 “support relay HTTPS cert arrays” (+167/−104); DEFLATE lite-ANNOUNCE compression 1929 stay OPEN. moqx — afrind’s LF-mode relay batch keeps landing: #450 (deepen datagram send queue, +8/−0) + #445 (LF joining-fetch, +128/−1) MERGED, sync #455 MERGED, #429 (jemalloc) CLOSED unmerged; new OPEN #456 (gmarzot, scripts quickstart + no-sudo default, +96/−7). moxygen (#194/#195 OPEN, no change), quiche (moqt still June-24), moq-js (#72 OPEN), moq-rs, moqtail, imquic, Eyevinn, birneee/quiche_moq, Moqtopus all quiet since the June-26 cutoff. - Interop: the runner cuts a second day running — a new 2026-06-27 00:45:16 UTC cut: 266 / 75 / 141 / 50 (draft-18; ~28.2% pass; at-target 78 · 0 ahead · 188 behind). Vs the June-26 22:22 expansion cut (266/79/137/50, at-target 78): matrix flat at 266, pass −4 (79 → 75), fail +4, skip flat, at-target flat — ordinary flaky variance on the same expanded 15-impl matrix, two cuts ~2.4 h apart. The daily cadence is genuinely back after the ~5-day June-22→26 lapse.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): nothing new — newest message is still Martin Duke’s June 22 18:50 CEST Google-Meet fallback link. No June 23–28 traffic (~6 straight silent days). - IETF mailing list: nothing new — newest items remain the June-26 Luke Curley “MoQ + Compression” thread (afrind / Lucas Pardue / Suhas replies) + IETF Secretariat “Requested sessions have been scheduled for IETF 126” (both already logged June 27). No new I-D Action, no weekly GitHub digest.
- IETF Datatracker: no new revisions — transport-18 (Day +47), c4m-01, msf-01, loc-02, secure-objects-00, privacy-pass-auth-02, cmsf-01,
draft-lcurley-moq-timestamp-00,draft-einarsson-moq-locmaf-00all unchanged;draft-ietf-moq-dts4moqstill 404; transport-19 not cut. Meetings page: interim-2026-moq-18 (July 6, 16:30 UTC) the only future interim; IETF 126 Vienna sessions scheduled (July 20/23/24). - GitHub moq-wg: moq-transport — no merge June 26–27; three NEW OPEN PRs June 27 — ianswett’s #1788/#1790 (PUBLISH-parameter copying, → #1660) + Suhas’s #1789 (impersonation, → #1737); Design PRs 1638 still OPEN. msf, loc, secure-objects, cmsf, catalog-format, privacy-pass all quiet since June 23–24.
- GitHub implementations: moq-dev/moq (#1930/#1931/#1932 MERGED June 27; 1899 OPEN), openmoq/moqx (#450/#445/#455 MERGED June 27, #429 CLOSED unmerged, #456 OPEN), facebookexperimental/moxygen (#194/#195 OPEN, unchanged), video-dev/moq-js (#72 OPEN, unchanged), google/quiche moqt (no new commit since June 24), cloudflare/moq-rs (docs #177 OPEN); moqtail, meetecho/imquic, birneee/quiche_moq, Eyevinn (moqlivemock/warp-player/moqtransport), kota-yata/Moqtopus quiet.
- Interop runner: NEW report 2026-06-27 00:45:16 UTC (266/75/141/50, at-target 78) — the second consecutive cut (after June-26 22:22), confirming the daily cadence resumed.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-transport, moq-dev, openmoq, interop-runner, discussions-2026-06, index.md
Key findings:
The draft-19 editorial pass is now in its “convert issues into PRs” phase — and June 27 is a clean example. After the June-25 evening merge batch, the WG spec produced no further merges June 26–27; instead, two contributors opened three small PRs that each convert a standing issue into spec text. ianswett took Martin Duke’s June-11 #1660 (Subscription Parameters should carry through SUBSCRIBE_TRACKS) and split it into #1788 (parameters become PUBLISH defaults) + #1790 (they appear on PUBLISH, not PUBLISH_OK), and Suhas took Cullen Jennings’s June-15 #1737 into #1789 (impersonation hardening in Security Considerations). This is exactly the editorial + Security-Considerations tranche afrind’s two-phase plan reserves for the run-up to July 6 — the same Cullen-read-through and PUBLISH/SUBSCRIBE_TRACKS surface the wiki has tracked since mid-June, now becoming PRs rather than merges.
moq-dev’s dev→main consolidation is a multi-day project, not a one-day sweep. After June 26’s headline backports (#1918 moq-mux +9226/−4925, #1924 moq-hls), June 27 adds three smaller codex backports — relay web embedding (#1930), the moq-rtc session runner (#1931), and relay HTTPS cert arrays (#1932). The pattern is consistent: move dev’s relay/web/RTC breadth onto main incrementally without dragging in the breaking wire changes, with codex (the assistant) doing the mechanical port and Luke merging.
The interop runner’s cadence is genuinely restored, and the −4 pass dip is noise. The page had flagged the June-26 expansion cut as the end of the ~5-day lapse; June 27’s 00:45 cut is the confirmation — a second cut ~2.4 h later, the first regular daily-time cut since the gap. Pass slid 79 → 75 (−4) on a structurally identical matrix (266 cells, 78 at-target, 15 impls), which is the ordinary cross-version flaky variance the wiki has documented all month (it tracks each impl’s main), not a regression. The structural signal to watch remains the at-target pass count climbing within the now-78-cell band, gated on the July-6 SSTS/draft-19 conformance surface.
2026-06-27 — Compression hits the WG list; the interop runner reawakens
TL;DR:
- The day’s substance is a new mailing-list design debate — Luke Curley’s “MoQ + Compression” (June 26) — and a four-way split over which layer owns compression. Luke argues compression should be a reusable MoQ feature (he proposes the moq-transport layer with sub-group-level parameters), backing it with DEFLATE measurements: per-frame ~39% vs per-sub-group ~89% reduction on JSON sensor data (the encoder reuses the prior 32 KB as a dictionary), zstd dropped for lack of browser support, HTTP
Transfer-Encodingcited as precedent. The WG splits four ways on where it belongs: afrind — bake it into the Full Track Name (name.deflate), since MOQT’s “objects can’t change for the same track name” leaves no other signal; Lucas Pardue —Transfer-Encodingis hop-by-hop and “not practically deployable” for intermediaries, so HTTP’s end-to-endContent-Encodingis the right model; Suhas — it belongs at the MSF streaming-format layer, which already defines an end-to-end track + object property for the compression scheme. This is the spec-side counterpart to moq’s shipping DEFLATE code, which June 26 extends from group payloads to lite ANNOUNCE payloads (#1928/#1929) amid a heavydev→mainbackport sweep. moq-transport otherwise quiet (no merge June 26; only michalhosna’s #1770 iterating OPEN). The IETF 126 Vienna sessions are now formally scheduled (secretariat, June 26: July 20 12:00 + July 23 14:30 + July 24 14:00 UTC). No new draft revision (transport-18 Day +46; transport-19 not cut;draft-ietf-moq-dts4moqstill 404). No new Slack (newest June 22, ~5 days silent), no new MoQ Monthly (#2, May 31), no open wiki issues. - Implementations: moq — a
dev→mainbackport sweep (June 26, kixelated/codex): #1918 MERGED “Backport moq-mux to main” (+9226/−4925) + #1924 MERGED “Backport moq-hls to main” (+2390/−67, the LL-HLS gateway crate) + #1925 MERGED H.264/H.265 bare-IDR fixes; #1920 MERGED “remove moq-lite broadcast epoch” (+83/−326); OPEN #1928/#1929 lite-ANNOUNCE DEFLATE, #1930/#1921. moqx — afrind LF-mode relay batch: #449/#451/#452 MERGED (cross-exec teardown, trackStatus-without-registry, onTrackEvicted/seed-read race); OPEN 445. moxygen — #193 CLOSED unmerged (4th retraction); 195 OPEN. moq-js — first merges since late May: #70/#71/#69 MERGED (player lifecycle+audio, logger, draft-14 relay URL). quiche (no new moqt commit since June 24), moq-rs, moqtail, imquic, Eyevinn, birneee/quiche_moq, Moqtopus quiet. - Interop: the runner WAKES UP — new 2026-06-26 22:22:55 UTC cut: 266 / 79 / 137 / 50 (draft-18; ~29.7% pass; at-target 78 · 0 ahead · 188 behind). Vs the prior June-21 cut (225/67/128/30, at-target 40): matrix +41 (225 → 266), pass +12, at-target nearly doubles 40 → 78 — the WG-mandated ~70-case expansion landing alongside the cut resuming after a ~5-day lapse (the registered set grows to ~15 entries, incl. a new
moq-go+ broken-out aiomoqt relay variants).
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): nothing new — newest message is still Martin Duke’s June 22 18:50 CEST Google-Meet fallback link. No June 23–27 traffic (~5 straight silent days). - IETF mailing list: two NEW June-26 items — Luke Curley “MoQ + Compression” (msg, the four-way layering debate w/ afrind / Lucas Pardue / Suhas) + IETF Secretariat “Requested sessions have been scheduled for IETF 126”. The June-25 Duke agenda-request + Youngkwon-Lim ITU-T/MPEG-workshop items remain the prior entries. No new I-D Action, no weekly GitHub digest.
- IETF Datatracker: no new revisions — transport-18 (Day +46), c4m-01, msf-01, loc-02, secure-objects-00, privacy-pass-auth-02, cmsf-01,
draft-lcurley-moq-timestamp-00,draft-einarsson-moq-locmaf-00all unchanged;draft-ietf-moq-dts4moqstill 404; transport-19 not cut. Meetings page: interim-2026-moq-18 (July 6, 16:30 UTC) the only future interim; IETF 126 Vienna sessions now scheduled (July 20/23/24). - GitHub moq-wg: moq-transport — no merge June 26; only michalhosna’s #1770 (Default-Publisher-Priority updatable) iterating OPEN; Design PRs 1638 still OPEN. loc (#22/#23 + Issue #21, June 23), msf, secure-objects, cmsf, catalog-format, privacy-pass all quiet since June 23–24.
- GitHub implementations: moq-dev/moq (#1918/#1920/#1922/#1924/#1925/#1919 MERGED June 26; 1899 OPEN; 1927 CLOSED), openmoq/moqx (#449/#451/#452/#454 MERGED June 26; 445 OPEN), facebookexperimental/moxygen (#193 CLOSED unmerged June 26; 195 OPEN), video-dev/moq-js (#69/#70/#71 MERGED June 26; #72 OPEN), google/quiche moqt (no new commit since June 24), cloudflare/moq-rs (docs #177 OPEN); moqtail, meetecho/imquic, birneee/quiche_moq, Eyevinn (moqlivemock/warp-player/moqtransport), kota-yata/Moqtopus quiet.
- Interop runner: NEW report 2026-06-26 22:22:55 UTC (266/79/137/50, at-target 78) — first cut since June 21, ending the ~5-day lapse + landing the matrix expansion.
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-transport, moq-dev, openmoq, moxygen, moq-js, interim-meetings, interop-runner, discussions-2026-06, index.md
Key findings:
Compression becomes a WG-list question the same week moq-dev ships it. For days the wiki tracked moq-dev’s DEFLATE work as an impl-side bet (group-scoped #1897 June 24 → lite-ANNOUNCE 1929 June 26). June 26 is when Luke Curley elevates it to a standardization question on the IETF list — and the WG’s reply is not “yes/no” but a layering disagreement: transport (Luke) vs Full-Track-Name (afrind) vs end-to-end Content-Encoding (Lucas Pardue) vs MSF streaming-format (Suhas). The crux is hop-by-hop vs end-to-end: Luke’s Transfer-Encoding analogy is exactly what Pardue rejects as undeployable through relays, while Suhas notes MSF already has an end-to-end track/object property for it. This is a genuine new draft-19-era design input, not an editorial cleanup.
moq-dev is consolidating dev into main. The June-26 sweep (#1918 moq-mux +9226/−4925, #1924 moq-hls, #1925 codec fixes, #1920 epoch removal) is a deliberate dev→main backport — bringing the per-codec splitter pipeline, AV1 init synthesis, MSF draft-01, and the LL-HLS gateway crate onto main without dragging in dev’s breaking wire changes. After weeks of dev-branch churn, the production main branch is catching up to the media-pipeline breadth.
The interop runner delivers both things it had been “watch for”-flagged on at once. The page had carried two pending events for weeks — the daily cut resuming, and the London-minutes ~70-case expansion. June 26’s cut does both: it ends the longest cadence lapse the wiki has tracked (~5 days) and expands the matrix +41 cells with at-target draft-18 nearly doubling 40 → 78, as more impls run draft-18 pairings and a new moq-go endpoint + broken-out aiomoqt relay variants register. Pass rate stays ~29.7% (denominator grew), but the at-target jump is the structural signal the wiki has been waiting for since June 11.
moq-js breaks its stewardship-lag pattern. video-dev/moq-js had been the cautionary tale (PR #121 in moq-rs took 155 days; the big #72 refactor sat OPEN since May 26). June 26 the maintainers merge three itzmanish PRs within ~a day each (#69/#70/#71) — real player lifecycle/audio fixes, not just the giant refactor — the first counter-evidence to the lag worry the wiki has tracked.
2026-06-26 — moq-transport merge freeze breaks: 5 editorial/relay PRs land
TL;DR:
- The moq-transport merge pause ends — 5 small editorial/relay-clarification PRs merged June 25 18:23–19:02 UTC (the first transport merges since June 22), all after the June-25 update’s check time (which reported “no merge June 24–25”). This is the interim-17 phased review’s “~50% for immediate review” tranche converting to merges: #1779 “Rename PUBLISH_BLOCKED → PUBLISH_SKIPPED” (ianswett, +17/−13), #1762 “Remove relay exception for reordering or dropping objects” (afrind, +1/−1), #1763 “Remove stray relay prioritization SHOULD” (afrind, +3/−2, the sharmafb-approved cleanup), #1771 “Specify relay processing rules for known Track Properties” (michalhosna, +5/−2), and #1784 “Unexpected REQUEST_UPDATE is a session error” (afrind, +3/−0) — which closes RichLogan’s #1769 (the WG settles on session error). The gated Design PRs stay frozen by design — Range Filters #1765 + DTS/SSTS #1638 remain OPEN behind the two-week + four-editor bar pending July 6. So the “freeze” was a Design-PR hold, not a blanket stop. On the list, Martin Duke opens the “IETF 126 Agenda requests” call (email the chairs; deadline July 6 — now triple-loaded with the interim and the Design-PR cutoff; three MOQ sessions: July 20 12:00 UTC approved + July 23 14:30 / July 24 14:00 pending; non-MoQT talks → Friday slot) and Youngkwon Lim flags an ITU-T SG21 / MPEG joint-workshop program. No new draft revision (transport-18 Day +45; transport-19 not cut;
draft-ietf-moq-dts4moqstill 404). No new Slack (newest June 22), no new MoQ Monthly (#2, May 31), no open wiki issues. - Implementations: moq — #1910 MERGED “two-phase accept exposing the SETUP request path (lite-05 + moq-transport 14-18)” (+720/−122, the OPEN PR flagged June 25 lands), #1911 MERGED revert Hop ID to a 62-bit varint (undoes June-19 #1788’s fixed-width-64-bit, +61/−199); RAM-cache #1899 OPEN, grown to +1580/−290. moqx lands the OPEN multi-thread-relay PRs (#443/#444 per-thread
MoQStatsCollector+ LF-mode fix) + moxygen syncs (#446/#447) + a CI cap fix (#448, June 26); OPEN 449 (LF-mode relay-exec). moxygen partly retracts — 197 CLOSED unmerged (Meta internal-diff workflow); 195 still OPEN. quiche June-24/25 work is mostly QUIC-layer (ACK-timestamp truncation refactor, TLS-ticket creation-time, drop Q046 timestamps), not MoQT-specific. moq-rs (docs #177 only), moq-js, moqtail, imquic, Eyevinn, birneee/quiche_moq, Moqtopus quiet. - Interop: no new cut — newest still 225 / 67 / 128 / 30 at 2026-06-21 00:51:51 UTC (draft-18; ~29.8% pass; at-target 40). No June-22 through June-26 daily cut has posted — the cadence lapse is now ~5–6 days, the longest the wiki has tracked; with the spec draining its editorial backlog into draft-19 (no wire-shape change), there is nothing new to score.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): nothing new — newest message is still Martin Duke’s June 22 18:50 CEST Google-Meet fallback link for the interim. No June 23–26 traffic. - IETF mailing list: two NEW June-25 items — Martin Duke “IETF 126 Agenda requests” (msg, agenda-request call, deadline July 6, three Vienna sessions) + Youngkwon Lim “Program of the ITU-T SG21 and MPEG joint workshop is published”. The June-23 afrind “Design PRs to Review” + Duke “Yesterday’s minutes available” remain the prior items. No new I-D Action, no weekly GitHub digest.
- IETF Datatracker: no new revisions — transport-18 (Day +45), c4m-01, msf-01, loc-02, secure-objects-00, privacy-pass-auth-02, cmsf-01,
draft-lcurley-moq-timestamp-00,draft-einarsson-moq-locmaf-00all unchanged;draft-ietf-moq-dts4moqstill 404. Meetings page: interim-2026-moq-18 (July 6, 16:30 UTC) the only future interim; IETF 126 Vienna shows 3 MOQ sessions (July 20 12:00 UTC approved; July 23 14:30 + July 24 14:00 awaiting scheduling). - GitHub moq-wg: moq-transport — 5 PRs MERGED June 25 18:23–19:02 UTC (#1779/#1762/#1763/#1771/#1784, above); Issue #1769 CLOSED (by #1784); OPEN-and-iterated 1775; Design PRs 1638 still OPEN. No June-26 transport activity. loc, msf, secure-objects, cmsf, catalog-format, privacy-pass all quiet since June 24.
- GitHub implementations: moq-dev/moq (#1910/#1911 MERGED June 25; #1899 OPEN), openmoq/moqx (#443/#444/#446/#447 MERGED June 25, #448 MERGED June 26; 449 OPEN), facebookexperimental/moxygen (#192/#196/#197 CLOSED unmerged; 195 OPEN), google/quiche moqt (June-24/25 QUIC-layer commits), cloudflare/moq-rs (docs #177 OPEN); moqtail, video-dev/moq-js, meetecho/imquic, birneee/quiche_moq, Eyevinn (moqlivemock/warp-player/moqtransport), kota-yata/Moqtopus quiet.
- Interop runner: no new report after 2026-06-21 00:51:51 UTC at check time (June 22–26 cuts all absent).
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-transport, moq-dev, openmoq, moxygen, interim-meetings, interop-runner, discussions-2026-06, index.md
Key findings: The “merge freeze” the wiki tracked for ~7 days was never a blanket stop — it was a Design-PR hold, and June 25 evening is when that becomes visible. The June-25 update (checked before 18:23 UTC) reported “no merge June 24–25” and read the pause as the interim-17 phased-review freeze holding. Hours later, afrind/ianswett/michalhosna merged five small editorial + relay-clarification PRs into the draft-19 editor’s copy — the “~50% for immediate review” clarification tranche afrind described, clearing review on schedule. The gated Design PRs (Range Filters #1765, DTS/SSTS #1638) stayed OPEN behind the two-week + four-editor bar. So the freeze reading sharpens: the clarification/editorial backlog was always free to merge once reviewed; only the Design pipeline is gated to July 6. This is the phased review working exactly as planned, with the first batch of merges as the proof. RichLogan’s REQUEST_UPDATE question is resolved. #1769 (“Is an unexpected REQUEST_UPDATE a request or session error?”, open since June 17) closes via #1784 — the WG settles on session error, one of the small semantic decisions the editorial pass exists to nail down before WGLC. July 6 is now a triple deadline. Martin Duke’s “IETF 126 Agenda requests” call adds a third July-6 cutoff on top of the interim-2026-moq-18 meeting and the draft-19 Design-PR submission deadline — making July 6 the single most load-bearing date on the WG calendar, with Vienna (3 sessions, July 20/23/24) the formal venue beyond it. The interop runner’s daily cut is firmly lapsed. June 22–26 are all absent (newest still June 21, 225/67/128/30) — a ~5–6-day gap, the longest the wiki has tracked. With the spec draining its backlog into draft-19 (no wire-shape change yet) and no new draft-18 conformance surface, there is nothing new to measure; the next plausible re-trigger (a draft-19 cut or the SSTS conformance surface) is gated on the July-6 interim.
2026-06-25 — moq-dev lands lite-05 timestamps + a DEFLATE compression suite
TL;DR:
- A quiet WG/list day — but moq had a heavy June-24 merge batch the prior update (checked at the June-23 tail) missed, and the moq-transport phased review turns visibly active. On moq-dev: #1896 MERGED “mandatory timestamps for moq-lite-05” (the OPEN PR flagged June 24 lands, +710/−401 final), plus a whole DEFLATE compression line — group-scoped DEFLATE with browser support (#1897 +1015/−62), extracted into a
moq-flate/@moq/flatecrate+package (#1905 +960/−421), a compressedcatalog.json.ztrack (#1904) — client-TLS unification (#1901/#1902, incl. quiche-backend TLS), and a statsTier→arbitrary-label generalization (#1906). On moq-transport the draft-19 phased review stays merge-frozen (~7th day, by design) but afrind’s June-23 “Design PRs to Review” call now shows results: the first community review of the DTS/SSTS PR #1638 since June 8 (ArcherDTY, 3 inline comments on the bandwidth/ABR design) + sharmafb APPROVES #1763 (now 2 approvals). No new draft revision (transport-18 Day +44; transport-19 not cut;draft-ietf-moq-dts4moqstill 404). No new Slack (newest still June 22), no new mailing-list thread (newest June 23), no new MoQ Monthly (#2, May 31), no open wiki issues. - Implementations: moq big June-24 batch (above) — also #1900
Arc<Info>broadcast-ownership refactor (+411/−324), #1908 non-blockingGroup.statereads, #1909 gate group rolls on already-written deltas; OPEN #1910 two-phase server accept surfacing the lite-05 SETUP path (June 25), #1899 shared RAM LRU group cache (+1492/−280, the live successor to closed 1874). moxygen wakes up — 4 OPEN PRs: server-initiated PUBLISH via SUBSCRIBE_TRACKS (#194), graceful SIGINT/SIGTERM (#195), requestID-from-PUBLISH_OK (#196), draft<18 SUBSCRIBE_NAMESPACE fallback (#193). moqx merges #438/#440/#442 (incl. amoq_decode.pyREQUEST_UPDATE draft-18 fix) + OPEN #443/#444 (per-threadMoQStatsCollector). quiche splits out a WebTransport-only client class; imquic adds partial DYNAMIC_GROUPS/NEW_GROUP_REQUEST to the relay demo. moq-rs (docs PR #177 only), moq-js, moqtail, Eyevinn, birneee/quiche_moq, Moqtopus quiet. - Interop: no new cut — newest still 225 / 67 / 128 / 30 at 2026-06-21 00:51:51 UTC (draft-18; ~29.8% pass; at-target 40). No June-22/23/24/25 daily cut has posted — the once-daily cadence (already missing June-17 and June-20) has now lapsed ~4–5 days, the longest gap the wiki has tracked.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): nothing new — newest message is still Martin Duke’s June 22 18:50 CEST Google-Meet fallback link for the interim (logged June 23). No June 23/24/25 traffic. - IETF mailing list: nothing new — newest items remain the June 23 afrind “Design PRs to Review” + Martin Duke “Yesterday’s minutes available” (both already logged). No June-24/25 message, no new I-D Action, no weekly GitHub digest.
- IETF Datatracker: no new revisions — transport-18 (Day +44), c4m-01, msf-01, loc-02, secure-objects-00, privacy-pass-auth-02, cmsf-01,
draft-lcurley-moq-timestamp-00,draft-einarsson-moq-locmaf-00all unchanged;draft-ietf-moq-dts4moqstill 404. Meetings page: interim-2026-moq-18 (July 6, 16:30 UTC) still the only future interim (agenda “MoQT issues”, posted June 18 — not new). - GitHub moq-wg: moq-transport — no merge June 24–25 (phased-review freeze by design); NEW June 24 review activity — #1638 (DTS/SSTS, wilaw) drew its first community review since June 8 (ArcherDTY COMMENTED, 3 inline comments on bandwidth/buffer-length track selection, subscriber-vs-relay bandwidth decision, and whether “Algorithm Zero” must specify a bandwidth-estimation algorithm); #1763 APPROVED by sharmafb (now 2 approvals: vasilvv + sharmafb, still unmerged). No new transport issues/PRs. loc (#22/#23/Issue #21, all June 23), msf, secure-objects, cmsf, catalog-format, privacy-pass all quiet; June 25 empty across the board.
- GitHub implementations: moq-dev/moq (June-24 batch: 1909 MERGED; 1887 OPEN; 1831 CLOSED unmerged), facebookexperimental/moxygen (#193/#194/#195/#196 OPEN June 24–25), openmoq/moqx (#438/#440/#442 MERGED June 24; 444 OPEN), google/quiche moqt (1 commit June 24: WebTransport-only client class), meetecho/imquic (1 commit June 24: relay-demo dynamic-groups), cloudflare/moq-rs (docs PR #177 touched June 24); moqtail, video-dev/moq-js, birneee/quiche_moq, Eyevinn (moqlivemock/warp-player/moqtransport), kota-yata/Moqtopus quiet.
- Interop runner: no new report after 2026-06-21 00:51:51 UTC at check time (June 22/23/24/25 cuts all absent).
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-dev, moq-transport, moxygen, openmoq, quiche-moq, imquic, interop-runner, discussions-2026-06, index.md
Key findings:
The June-24 moq-dev batch is the day’s real substance — and the prior update under-counted it. The June-24 wiki entry caught only the “June-23 tail” (#1888/#1890/#1891 merged, #1896 still OPEN). In fact June 24 was one of moq-dev’s heaviest merge days of the month: #1896 mandatory moq-lite-05 timestamps landed (+710/−401), and a coherent compression workstream shipped — group-scoped DEFLATE with browser support (#1897), extracted into a standalone moq-flate/@moq/flate (#1905), and a compressed catalog.json.z track (#1904), with the group-rolls-gate (#1909) tuning when deltas are emitted. This is the productionization of the per-frame-compression bet that had been churning OPEN (the closed 1898) — now consolidated into the still-open #1899 shared RAM LRU group cache (+1492/−280). Paired with the client-TLS unification (#1901/#1902, incl. a quiche-backend TLS path — the follow-on to June-23’s noq-default flip) and the stats Tier→arbitrary-label generalization (#1906), moq-dev spent June 24 hardening bandwidth (compression), security (unified TLS), and observability (labelled stats) at once.
The phased review is now visibly working, not just frozen. The wiki has logged the moq-transport merge freeze for ~7 days as deliberate (interim-17’s 2-week + 4-editor-stamp Design-PR bar). June 24 is the first day the review half of that plan is observable: afrind’s June-23 “Design PRs to Review” list call is answered by ArcherDTY’s substantive first review of the DTS/SSTS PR #1638 (probing exactly the bandwidth/ABR-algorithm questions interim-17 left to “Algorithm Zero”) and sharmafb’s approval of the relay-prioritization cleanup #1763. Zero merges, but the design PRs are accruing the eyeballs the July-6 deadline requires — effect (no merges) unchanged, cause (active review, not stall) now confirmed by visible activity rather than inference.
The upstream moxygen repo (facebookexperimental/moxygen) wakes up after the fork did the recent work. The wiki has tracked the openmoq/moqx fork as the active moxygen line for weeks; June 24–25 sees four new OPEN PRs land directly on facebookexperimental/moxygen itself — server-initiated PUBLISH via SUBSCRIBE_TRACKS (#194), graceful shutdown (#195), requestID-from-PUBLISH_OK (#196), and a draft<18 SUBSCRIBE_NAMESPACE fallback (#193) — the draft-18 PUBLISH/SUBSCRIBE_TRACKS surface showing up upstream, mirroring the same message-shape work the fork has been doing.
The interop runner’s daily cut is now firmly lapsed. June 22, 23, 24, and 25 are all absent; the newest report is still June 21 (225/67/128/30). With the spec in editorial review and no draft-19 wire change to score, there is nothing new to measure — but the ~4–5-day gap is now the longest cadence lapse the wiki has tracked, and the next plausible re-trigger (a draft-19 cut or the SSTS conformance surface) is gated on the July-6 interim.
2026-06-24 — LOC repo wakes up; moq-dev defaults to its own “noq” QUIC backend
TL;DR:
- A quiet spec day with one genuinely new WG-doc thread:
moq-wg/locwakes up after ~2 weeks dormant.sharmafbopens three June-23 items — PR #22 “Change TIMESTAMP to value 0x10” (because LOC’s currentTIMESTAMP=0x06collides with MoQSUBGROUP_DELIVERY_TIMEOUT— the next chapter of the cross-spec property-ID coordination dispute tracked as loc#20), PR #23 (editorial truncated-sentence fix), and Issue #21 “No audio config property?” (LOC has a Video Config property but no audio equivalent for codec-specific init data like AAC AudioSpecificConfig). On moq-transport the deliberate draft-19 phased review holds — still zero merges (5th–6th straight day, by design) — but afrind nudges two design PRs (#1761 “IANA registry for extension/version compatibility”, fixes #1681, the editorial counterpart to interim-17’s IANA-for-extensibility direction; #1763 “Remove stray relay prioritization SHOULD”, June 24) and posts “Design PRs to Review” to the list (June 23). No new draft revision (transport-18 Day +43; transport-19 not cut;draft-ietf-moq-dts4moqstill 404); interim-2026-moq-18 (July 6) is listed with a minimal “MoQT issues” agenda. No new Slack (newest still the June-22 interim Google-Meet link), no new MoQ Monthly (#2, May 31), no open wiki issues. - Implementations: moq (June-23 tail) — #1891 MERGED default QUIC backend flips quinn → noq across moq-native + all binaries (quinn kept as opt-in
--features quinn; +40/−26), #1888 MERGED expose broadcast hop chain on announcements via moq-ffi (+53/−6), #1890 MERGED make moq-net request/subscribe/fetch_group infallible (+162/−244); OPEN #1896 “mandatory timestamps for moq-lite-05” (+482/−328, per-track timescale + per-frame timestamps mandatory + moq-transport pass-through via object props), #1894/#1895 usage-stats-in-model, #1893/#1870 moq-gst moqsink on GstAggregator, #1889 keep payload compressed in RAM. moxygen tooling: #431moq_decode.pydecodes d18 SUBSCRIBER_PRIORITY/GROUP_ORDER/FORWARD as uint8, #433 CI macos-15 pin; OPEN #428 parameterized relay config + draft-18 fallback, #429 jemalloc. quiche folds control-message handlers into the session + msan fix (PUBLISH-to-bidi follow-ons). moqtail (raw-QUIC 205 already logged June 23), moq-rs (only docs issue #166), moq-js (#72 still OPEN), Eyevinn, imquic, birneee/quiche_moq, Moqtopus quiet. - Interop: no new cut — newest still 225 / 67 / 128 / 30 at 2026-06-21 00:51:51 UTC (draft-18; ~29.8% pass; at-target 40). No June-22, June-23, or June-24 daily cut has posted — the once-daily cadence (already missing June-17 and June-20) has now effectively lapsed ~4 days. No registered-endpoint or shape change.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): nothing new — newest message is still Martin Duke’s June 22 18:50 CEST Google-Meet fallback link for the interim (already logged June 23). No June-23/24 traffic. - IETF mailing list: two June-23 items, none June-24 — Martin Duke “Yesterday’s minutes available” (interim-17 minutes, already logged) and afrind “Design PRs to Review” (June 23, NEW — list-side push to get the four editors onto the open design PRs inside the July-6 window). No new I-D Action, no new weekly GitHub digest.
- IETF Datatracker: no new revisions — transport-18 (Day +43), c4m-01, msf-01, loc-02, secure-objects-00, privacy-pass-auth-02, cmsf-01,
draft-lcurley-moq-timestamp-00,draft-einarsson-moq-locmaf-00all unchanged;draft-ietf-moq-dts4moqstill 404. Meetings page: interim-2026-moq-18 (July 6, 16:30 UTC) listed with agendaagenda-interim-2026-moq-18-moq-01(single item “MoQT issues”, posted June 18 — not new). - GitHub moq-wg: moq-transport — no merge June 23–24 (phased-review freeze by design); afrind #1761 (IANA extension/version registry) updated June 23, #1763 (remove stray relay prioritization SHOULD) updated June 24; large editorial backlog OPEN. loc — #22/#23 OPEN + Issue #21 OPEN (all June 23,
sharmafb). msf — Issue #185 closed + #156 updated June 23 (already logged). secure-objects/cmsf/catalog-format quiet. - GitHub implementations: moq-dev/moq (June-23 tail: 1795 merged; 1889 OPEN), openmoq/moqx (#431/#433/#432/#436/#427 merged; 437 OPEN; Issue #435), google/quiche moqt (2 follow-on commits June 23), moqtail (#204/#205 already logged), moq-rs (only docs Issue #166), video-dev/moq-js (#72 OPEN), Eyevinn/warp-player (dependabot #144 merged); cloudflare/moq-rs code, imquic, birneee/quiche_moq, kota-yata/Moqtopus, Eyevinn/moqlivemock, Eyevinn/moqtransport quiet.
- Interop runner: no new report after 2026-06-21 00:51:51 UTC at check time (June 22/23/24 cuts all absent).
- MoQ Monthly: no new issue since #2 (May 31). tobbee/moq-llm-wiki: no open issues (gh authenticated this session).
Pages updated: moq-loc, moq-transport, moq-dev, openmoq, quiche-moq, interop-runner, discussions-2026-06, index.md
Key findings:
The LOC draft is the only WG document with genuinely new design movement today. After ~2 weeks of quiet (the last LOC activity was the June-12 interim window), sharmafb reopens two threads at once: (1) the property-ID collision — LOC TIMESTAMP=0x06 clashing with MoQ SUBGROUP_DELIVERY_TIMEOUT, proposed to move to 0x10 (PR #22), the same cross-spec coordination problem the wiki has tracked since loc#20 and moq-dev’s May-23 vote-with-code on the transport-18 §15.8 assignments; and (2) a real spec gap — LOC’s Video Config property has no audio counterpart for codec init data (Issue #21). Both are pre-draft-03 design inputs, not yet in the published -02.
The transport “freeze” is still working as designed, not stalling. Days 5–6 of zero merges are consistent with the interim-17 two-phase plan (Design PRs need 2 weeks open + 4 editor stamps before the July-6 submission deadline). afrind’s June-23 “Design PRs to Review” list post + the IANA-registry #1761 nudge are the visible signs of the review phase running on schedule, not a blockage.
moq-dev makes its own QUIC stack the default. PR #1891 flips the auto-selected backend from quinn → noq (quinn retained as an opt-in feature) — the culmination of the recurring noq work (mTLS-on-noq June 16, the RUSTSEC-2026-0185 quinn bump June 23); paired with the OPEN #1896 making moq-lite-05 timestamps mandatory (timescale non-optional, per-frame timestamps + moq-transport pass-through), moq-dev is hardening both its transport substrate and its timing model into non-optional contracts.
The interop runner has effectively stopped cutting daily reports. June 22, 23, and 24 are all absent; with the spec in editorial review and no draft-19 wire change to score, the matrix has nothing new to measure, but the ~4-day gap is the longest cadence lapse the wiki has tracked and is worth watching as the July-6 interim approaches.
2026-06-23 — June 22 interim minutes land: DTS renamed SSTS, switching algorithm becomes an IANA registry
TL;DR:
- The off-calendar June 22 interim is now on the record as interim-2026-moq-17 (Martin Duke posted “Yesterday’s minutes available” June 23), and it settled the spring’s biggest open design question: DTS is renamed “Sender Side Track Switching” (SSTS); the switching algorithm becomes an extensible numeric ID in an IANA table negotiated via an array of preferred algorithms, with the current impl as the mandatory “Algorithm Zero” baseline; the contested per-set DDoS-protection negotiation properties are removed (rely on auth tokens + relay-side protection); single-message switching-set assignment is kept; unsubscription auto-removes a track. Will Law demoed Yu You’s Nokia 3-track (500/1500/3000 kbps) impl. The transport “freeze” was a deliberate draft-19 phased review (afrind: ~50% of ~18 PRs now, rest near the July 6 deadline; 2-week + 4-editor-stamp bar for Design PRs) — so only 2 small editorial PRs merged (#1787, #1781) and the backlog stays OPEN by design. Next interim July 6 (interim-2026-moq-18); Auth Design Team enrollment closes June 26; October-venue poll closes July 5; 3 MOQ slots at IETF 126 Vienna.
- Implementations: moq ~15 PRs — catalog-extension FFI exposure (#1886 +538/−31), moq-mux group-rewind buffer clear (#1884 +613/−17) + keyframe-aligned TS export (#1885), relay WebSocket-fallback-at-root (#1883), moq-net MAX_FRAME_SIZE (#1881/#1882), stats unify (#1876), RUSTSEC-2026-0185 quinn bump (#1872), cross-language interop smoke test (#1871); OPEN per-frame payload compression (#1874) + payload metering (#1873). moqtail lands raw-QUIC support (#204/#205). quiche moves PUBLISH to a bidi stream. imquic relay NAMESPACE-notification + LOC-demo-crash fixes. moxygen submodule syncs only; moq-rs, moqlivemock, Eyevinn/moqtransport quiet.
- Interop: no new cut — newest still 225 / 67 / 128 / 30 at 2026-06-21 00:51:51 UTC (draft-18; ~29.8% pass; at-target 40). Neither a June-22 nor June-23 daily cut had posted at check time.
Operation: Update Sources:
- Slack
#moq(C046V0QF3CK, MCP probe verified working): the only new traffic is the June 22 interim logistics scramble — Martin Duke’s Meetecho link (session 35696), “The secretariat decided to cancel the request in their infinite wisdom,” participants (Will Law, Ali Begen, Suhas, Mike English) getting booted, and Duke’s Google Meet fallback. No post-meeting substantive discussion on Slack. - IETF mailing list: June 23 Martin Duke “Yesterday’s minutes available” (interim-17 minutes); June 22 IESG Secretary formal announcement of the July 6 interim (interim-2026-moq-18) + Cullen Jennings “Details of SSTS” + the active “I assure you there is an interim meeting Monday” logistics/venue thread; June 21 weekly GitHub digest (Mike English’s bot).
- IETF Datatracker: interim-2026-moq-17 minutes (June 22, 16:30 UTC) — primary source for the SSTS rename + switching-algorithm consensus + draft-19 phased-review plan + admin items. No new draft revision: transport-18 (Day +42, transport-19 not yet cut), c4m-01, msf-01, loc-02, secure-objects-00, privacy-pass-02 unchanged;
draft-ietf-moq-dts4moqstill 404. - GitHub moq-wg: moq-transport — only #1787 + #1781 merged (both June 22, interim window); ~16-PR backlog OPEN by design; afrind #1785 new. msf — #156 (object-to-stream mapping impl-specific) updated June 23; issue #185 opened+closed June 23. loc/secure-objects/cmsf/catalog-format/privacy-pass quiet.
- GitHub implementations: moq-dev/moq, moqtail/moqtail, google/quiche (moqt), meetecho/imquic active June 22–23 (see TL;DR); openmoq/moqx submodule syncs (#426/#427); video-dev/moq-js #72 refactor still OPEN; cloudflare/moq-rs, birneee/quiche_moq, Eyevinn/moqlivemock, Eyevinn/moqtransport, kota-yata/Moqtopus quiet.
- Interop runner: no new report after 2026-06-21 00:51:51 UTC at check time.
Pages updated: interim-meetings, discussions-2026-06, moq-transport, switch-abr, moq-dev, moqtail, imquic, quiche-moq, interop-runner, index.md
Key findings:
Interim-17 is the durable record the wiki predicted. The June 22 meeting that ran off-calendar (no datatracker entry, Meetecho session cancelled mid-meeting, Google Meet fallback) got a retroactive datatracker entry + minutes — and they resolve SSTS, not just procedural notes. The wiki’s June-22 guess of interim-2026-moq-12 was wrong (correct: interim-2026-moq-17); the numbering correction is applied across interim-meetings.
The “editorial freeze” reading was wrong about cause. June 19–22 looked like a stall pending the interim; the minutes show it was a deliberate draft-19 phased review with a 2-week + 4-editor-stamp Design-PR bar and a July 6 deadline. Effect (backlog open) was right; cause (held by design, not blocked) was corrected in moq-transport and discussions-2026-06.
SSTS folds the switching baseline into the base spec. Where the May DTS consensus had been heading toward a standalone draft-ietf-moq-dts4moq extension, the interim instead puts the mandatory “Algorithm Zero” in the base spec with an IANA registry for future algorithms — and drops the bespoke per-set DDoS knob Gwendal flagged on PR #1638 in favour of auth-token + relay-side protection.
2026-06-22 (concept-page sweep) — all concept pages reconciled to draft-18 + June resolutions
TL;DR:
- Audited all 12
wiki/concepts/pages for staleness and brought the 11 stale ones current. Transport pages were anchored at draft-17/April; added a draft-18 layer (published May 12) across streams-and-framing, subgroups-and-objects, track-properties, publish-subscribe, relays: Required Request ID removed (#1615), FIRST_OBJECT bit (#1618, replacing rejected #1608),SUBSCRIBE_NAMESPACE→SUBSCRIBE_TRACKSsplit (#1542, 0x50/0x51 — corrected a draft-17 misattribution in publish-subscribe),PUBLISH_OK→REQUEST_OKalias (#1611),DELIVERY_TIMEOUTsplit (#1605), #1550 collision closed (#1624) with sibling #1632 still open. - Reframed the three ABR/joining “active debate” pages (joining-fetch, joining-fetch-dissent, switch-abr) — the April five-way contest resolved at the June 11–12 London interim: fill fetch replaces Joining FETCH (#1604/#1607 closed June 4 → #1673), SWITCH becomes the SWITCH_FROM parameter (#1674/#1675), REWIND parked at -02, DTS as extension (
draft-ietf-moq-dts4moq), Range Filters (#1765) the live front. Refreshed media-packaging (LOCMAF nowdraft-einarsson-moq-locmaf-00; CMSF -00→-01; media-interop EXPIRED; init-carriage convergence) and adaptive-bitrate (MSF-01 fields, renderGroup alignment 155 closed). - Implementations: no code change — documentation/maintenance edit only.
- Interop: no new run.
Operation: Update (maintenance)
Sources: 3 parallel research passes over the wiki’s own current draft/discussion pages (moq-transport, discussions-2026-05/06, interim-meetings, draft pages) cross-checked against live moq-wg/moq-transport PR/issue state via gh.
Pages updated: adaptive-bitrate, joining-fetch, joining-fetch-dissent, media-packaging, publish-subscribe, qmux, relays, streams-and-framing, subgroups-and-objects, switch-abr, track-properties, plus index.md
Key findings: The concept layer had drifted behind the daily-updated draft pages. Two genuine errors fixed: (1) publish-subscribe attributed the SUBSCRIBE_NAMESPACE/SUBSCRIBE_TRACKS split to draft-17 (it’s draft-18, PR #1542); (2) subgroups-and-objects / streams-and-framing presented the rejected PR #1608 (“Subgroup ID == first Object ID”, closed unmerged) as a landed normative rule — actually replaced by the FIRST_OBJECT bit (#1618). No broken wikilinks found.
2026-06-22 (supplemental) — catalog-format concept page reconciled with MSF-01
TL;DR:
- Brought catalog-format current with MSF draft-01: fixed a stale error (the page claimed PR #141 added
initTracks, but it was reverted by PR #154), rewrote init data around the typed-objectinitDataList[]design (PR #166), refreshed Key Fields (mandatorycodec/width/height+sampleRate/channelsper PR #165,targetBufferper PR #167, stringversionper PR #175), and recorded compression-via-Track/Object-Properties (PR #159, closes #144). - Refreshed Active Issues against live
moq-wg/msfstate: moved 136 to closed-for-01; surfaced the London-opened catalog issues still OPEN (#183 property mutability, #178 initData-in-Object, #130catalog-by-convention, #129 FORWARD/publish racing, #135 generic deltas). Added Validation (Tobbe’s CUE validator → PR #177) and Implementation Status (moq-dev PR #1834) sections. - Implementations: no code change — documentation/maintenance edit only. (moq-dev MSF-01 pickup already logged in the main June 22 entry below.)
- Interop: no new run.
Operation: Update (maintenance)
Sources: moq-wg/msf issues/PRs via gh (live state as of 2026-06-22); existing moq-msf draft page.
Pages updated: catalog-format
Key findings: The catalog concept page had drifted ~2 months behind the MSF draft page and carried one outright factual error (reverted initTracks PR described as merged). Most of its “Active Issues” list had been closed during the May 24–Jun 2 wilaw editorial sprint that produced MSF-01.
2026-06-22 — June 22 interim runs off-calendar; moq-dev adds MSF draft-01 + H.265 HW codecs
TL;DR:
- The June 22 virtual interim happens today — but never made it onto the datatracker; Martin Duke confirms it on-list June 21 (“I assure you there is an interim meeting Monday”) and warns the announcement is stuck in a datatracker queue, promising a Google Meet fallback link 30 min before the 16:30 UTC start if it doesn’t clear. No agenda was ever posted; no minutes/materials exist yet at check time (the meeting is only just convening). Separately Duke opens a Poll: Interim Location (June 21, deadline July 5) to pick the October 2026 in-person interim venue — “no serious objection to any location except Costa Rica, which is excluded.” The moq-transport editorial pipeline stays frozen: no PR merged June 19–22 (now a 4th straight day with no merge), with the ~16-PR clarification backlog (afrind Security-Considerations cluster #1780–#1787, ianswett #1779, michalhosna #1770/#1771, Suhas #1772–#1777, Mo Zanaty Range Filters #1765) all still OPEN — most plausibly held pending today’s interim. No new draft revision (transport-18 Day +41; c4m-01 unchanged;
draft-ietf-moq-dts4moqstill 404). Mike English’s weekly GitHub digest posted on schedule (June 21). No new MoQ Monthly (#2, May 31). See interim-meetings, moq-transport. - moq adds MSF draft-01 support and pushes H.265 hardware codecs across macOS + Windows — the first impl adoption of MSF’s
-01revision the wiki has tracked, alongside a B-frame DTS/reorder pipeline and a WHIP/WHEP shared-UDP-port mux. See moq-dev, moq-msf. - Implementations: moq very active June 21–22 — MERGED MSF draft-01 (#1834, +743/−181), WHIP/WHEP shared-UDP-port mux (#1864, +446/−72), macOS VideoToolbox H.265 HW decode (#1859) + Windows Media Foundation HEVC (#1854) + DXGI screen capture (#1855), B-frame DTS authoring (#1843) + reorder-depth-as-catalog-jitter (#1857), moq-hls pause/resume export (#1862), composable relay web router (#1856); OPEN #1865 (SRT egress pacing clamp), #1841 (per-track RAM+disk durable cache), #1863. moxygen near-quiet (sync-bot #425 only). quicr/moq-web deploy/CI plumbing June 22. moq-rs #178 draft-18 still OPEN (no change). imquic, moqtail, quiche moqt, moq-js, Moqtopus, moqlivemock, warp-player, Eyevinn/moqtransport, birneee/quiche_moq quiet.
- Interop: 225 / 67 / 128 / 30 at 2026-06-21 00:51:51 UTC (draft-18 target; ~29.8% pass; at-target unchanged; 12-impl set) — pass 66 → 67 (+1) vs the June-19 cut, fail 129 → 128 (−1); matrix flat at 225, skip flat at 30. The June-20 cut was skipped (3rd missed/late cut in five days) and no June-22 cut had posted at check time, so the daily cadence stays intermittent. The +1 is the usual cross-version main-churn noise from moq-dev’s heavy codec/HW-decode
mainwork; the at-target draft-18 cells are unchanged. See interop-runner.
Operation: Update Sources:
- Slack
#moq(new since June 20 update): nothing new — newest message is still Lorenzo Miniero’s June 19 17:22 CEST push-to-talk demo announcement (logged June 20). MCP probe on C046V0QF3CK returned real messages (verified working).#moq-rs/#moq-js/#libquicr/#moq-interop-runnernot separately surfaced. - GitHub moq-wg repos:
- moq-transport: nothing merged, opened, or closed June 21–22. Latest activity is ianswett #1779 (PUBLISH_BLOCKED→PUBLISH_SKIPPED) updated June 20; the ~16-PR clarification backlog (afrind #1780–#1787, michalhosna #1770/#1771, Suhas #1772–#1777, Mo Zanaty #1765) all still OPEN — none merged. No new issues (newest still RichLogan #1769). Last merges remain the June 18 batch. Likely frozen pending the June 22 interim.
- msf, loc, secure-objects, cmsf, catalog-format, privacy-pass: quiet June 21–22 (no issues/PRs updated).
- GitHub implementations:
- moq-dev/moq (June 20 → June 22, kixelated unless noted): MERGED June 22 — #1864 (moq-rtc single shared-UDP-port mux for WHIP/WHEP servers, +446/−72), #1834 (moq-msf MSF draft-01 behind a version-agnostic snapshot, +743/−181), #1862 (moq-hls pause/resume export + discontinuity markers, +191/−25), #1846 (split CLAUDE.md into per-directory guides, +232/−89). MERGED June 21 — #1859 (moq-video H.265 HW decode on macOS via VideoToolbox, +162/−64), #1854 (H.265 decode + Media Foundation HEVC backend, +228/−118), #1855 (Windows screen capture via DXGI Desktop Duplication), #1860 (opt-out nvenc/vaapi features), #1843 (moq-mux author DTS for B-frame MPEG-TS export, +444/−56), #1857 (carry B-frame reorder depth as catalog jitter, +251/−79), #1856 (moq-relay composable web router), #1849 (demo/web redesigned relay stats page + live charts). OPEN June 22 — #1865 (SRT egress pacing clamp — the egress follow-on), #1841 (per-track durable cache, RAM+disk), #1863 (fix evicted-group block). The June-20 egress cluster (#1827/#1828/#1829) + HW-encoder #1819 appear resolved/superseded.
- openmoq/moqx: only sync-bot #425 (moxygen ecb09d1) MERGED June 21 11:35 UTC; mvfst MTU #421, multi-thread stack #361–#365, macOS segfault #403 untouched June 21–22.
- quicr/moq-web: ACTIVE June 22 ~05:30 UTC — “Fix mkdir for app dist copy in deploy” + “Include apps in branch deploy” (draft-18 build deploy/CI plumbing).
- cloudflare/moq-rs: #178 (englishm, draft-18) still OPEN, last touched June 18. No merge since #173 (June 11).
- moqtail/moqtail (June 18 docs), meetecho/imquic (#31 merged June 19, nothing since), google/quiche (
quiche/quic/moqt, June 6), video-dev/moq-js (Feb 17), Eyevinn/moqlivemock (June 8), Eyevinn/warp-player (June 15), Eyevinn/moqtransport (June 8), birneee/quiche_moq (Mar 13), kota-yata/Moqtopus (June 15): quiet.
- Mailing list: three June 21 items from Martin Duke — “I assure you there is an interim meeting Monday” (interim confirmation + Google Meet fallback, 3 msgs) and “Poll: Interim Location” (Oct-2026 venue Google Form, deadline July 5) — plus Mike English’s weekly GitHub digest (June 21, on schedule). No June-22 messages. No new I-D Action.
- IETF Datatracker: no new revisions — transport-18 (Day +41), c4m-01 (June 18), msf-01, cmsf-01, loc-02, secure-objects-00, privacy-pass-02 unchanged;
draft-lcurley-moq-timestamp-00+draft-einarsson-moq-locmaf-00unchanged;draft-ietf-moq-dts4moqstill 404. The June 22 interim is still NOT on the meetings page (?show_canceled=trueshows nothing;agenda-interim-2026-moq-12404s) — last listed interim is interim-2026-moq-11 (June 12). - Interop runner: 2026-06-21 00:51:51 UTC report 225/67/128/30 (~29.8% pass; pass +1 vs June 19); at-target unchanged; same 12-impl set; no shape/registration change. June-20 cut skipped; June-22 cut not posted at check time.
- MoQ Monthly: no new issue since #2 (May 31).
- tobbee/moq-llm-wiki: not checked (gh unauthenticated this session).
Pages updated: discussions/interim-meetings.md (June 22: the off-calendar interim — Duke’s on-list confirmation + Google Meet fallback + Oct-venue poll), drafts/moq-transport.md (June 22: editorial pipeline frozen 4th straight day, backlog held pending interim), implementations/moq-dev.md (June 22: MSF draft-01 + H.265 HW codecs macOS/Windows + WHIP/WHEP mux + B-frame DTS), drafts/moq-msf.md (June 22: first impl adoption of MSF-01 in moq-dev), interop/interop-runner.md (June 21 cut 225/67/128/30 + June-20 skipped), discussions/discussions-2026-06.md (June 20→22 section + deep-dives), index.md (date bump), log.md (this entry).
Key findings:
- The June 22 interim is a procedural near-miss: a real WG meeting that the datatracker never published. The wiki flagged the gap June 18–20 (Ali Begen / Aman Sharma / Victor Vasiliev couldn’t find it on the calendar; no agenda). June 21 resolves the will-it-happen question without resolving the is-it-on-the-record question: Martin Duke posts to the list (“I assure you there is an interim meeting Monday … the announcement is stuck in a datatracker queue”) and commits to a Google Meet fallback link 30 minutes before the 16:30 UTC start. So the meeting runs today on an ad-hoc link with no posted agenda and no datatracker entry — an unusual state for an IETF WG interim, and one that will make the eventual minutes (if any) the only durable record. Worth watching whether interim-2026-moq-12 ever materializes on the datatracker retroactively.
- moq-dev’s media bet shifts from gateways to codec depth — H.265 hardware decode now spans macOS (VideoToolbox) and Windows (Media Foundation/DXGI), and B-frame handling gets real. After the June 19–20 bidirectional-gateway wave, the June 21–22 work is codec-pipeline maturation: HW HEVC decode on two more platforms (the decode counterpart to the June-13/14 native-encode bet, now hardware-accelerated), Windows DXGI screen capture, and — notably — B-frame support (#1843 authors DTS for B-frame MPEG-TS export, #1857 carries reorder depth as catalog jitter), which is the kind of decode-timestamp/reordering plumbing the timestamp + DTS-for-MoQ spec work is about. moq-dev is hardening the media path for real-world contribution formats, not just prototyping.
- moq-dev is the first tracked impl to adopt MSF draft-01. PR #1834 (“moq-msf: MSF draft-01 support behind a version-agnostic snapshot”, +743/−181) lands the Media Streaming Format
-01revision in code — the first implementation pickup of an MSF revision the wiki has seen, and a sign the catalog/streaming-format layer is starting to track the WG drafts the way the transport layer already does. The version-agnostic-snapshot framing mirrors moxygen’s draft-18-capability-without-default-advertisement pattern: gain the new format in-code while keeping the stable path live. - The moq-transport freeze is now four days long and almost certainly interim-coupled. The ~16-PR clarification backlog has not moved since the June 18 batch; with the June 22 interim convening today, the most plausible read is that afrind (drafting + reviewing in parallel) is holding the Security-Considerations merge queue until the WG can discuss the open items (Range Filters being the one substantive design item) face-to-face. The freeze is a cadence break, not a blocker — but it makes today’s interim the gating event for draft-18’s final editorial grind.
2026-06-20 — moq-dev gateways go bidirectional; qmux lands in two relays
TL;DR:
- A pure-implementation day — no spec/WG event, and the moq-transport editorial pipeline pauses (a second straight day with no merge). After June 18’s 8-merge batch, no moq-transport PR merged June 19–20: afrind’s Security-Considerations cluster (#1780–#1787) is iterated (rebases/review comments) but held OPEN, alongside ianswett’s #1779, michalhosna’s #1770/#1771, Suhas’s #1772–#1777, and Mo Zanaty’s Range Filters #1765 — ~16 clarification PRs now queued behind editor review. No new issues (newest still RichLogan’s #1769). No new draft revision (transport-18 Day +39; c4m-01 unchanged from June 18;
draft-ietf-moq-dts4moqstill 404); on the list only Martin Duke’s AUTH design team thread continues (Manish, Nemanja Djordjevic June 19). The June 22 virtual interim is still not on the datatracker calendar (2 days out, no agenda — the meetings page shows only IETF 126, July 20–24). No new MoQ Monthly (#2, May 31). tobbee/moq-llm-wiki: no open issues. The day’s real news is in the implementations (below): moq-dev’s protocol gateways go bidirectional, qmux interop lands in two relays at once, and Lorenzo’s push-to-talk demo goes live in-browser. - The QMux-out-of-charter ruling (June 17) produces its first concrete interop artifact: qmux listeners land in two independent relays on the same day. moq #1810 (internal qmux relay-to-relay listener, tcp:// + unix://) MERGED and moxygen #420 (
proxygen_qmuxlistener) MERGED — Luke Curley + afrind building the out-of-charter QMux transport in parallel, exactly the “interop testing by interested parties” the chairs green-lit. See qmux, moq-dev, openmoq. - Implementations: moq turns gateways bidirectional — RTMP/E-RTMP ingest (#1824 MERGED, +2643/−142; RTMPS #1826) lands, then a RTMP/SRT/WebRTC egress cluster opens (#1829/#1828/#1827), plus internal qmux listener #1810, MPEG-TS verbatim #1815, all-SPS/PPS/VPS transmux #1812, public
whip::accept#1823, always-on HW encoders #1819 OPEN (~14 MERGED + 4 OPEN). moxygen clears its June-18 queue — draft-18 SUBSCRIBE_TRACKS port #411 MERGED (+651/−0) + qmux listener #420 + gmarzot’s moqx-run.sh #416; #421 mvfst MTU option OPEN. imquic push-to-talk demo #31 MERGED (+1376/−20). moq-rs #178 draft-18 still OPEN (no change). moqtail CI-release PR only. quiche moqt (June 6), moq-js, Moqtopus, quicr/moq-web, moqlivemock, warp-player, Eyevinn/moqtransport, birneee/quiche_moq quiet. - Interop: no new run published — newest cut is still 225 / 66 / 129 / 30 at 2026-06-19 00:56:39 UTC (draft-18 target; ~29.3% pass; at-target 40 · 0 ahead · 185 behind; 12-impl set). The June-20 daily cut had not posted at check time — the second skipped/late cut in four days (June-17 also missing), so the daily cadence stays intermittent. The day’s heavy moq-dev + moxygen
mainchurn (gateways + qmux + draft-18 port) is the kind of cross-version reshape that flips marginal 14/16/17-vs-18 cells when the next cut runs; the 40 at-target draft-18 cells should hold absent a registration change.
Operation: Update Sources:
- Slack
#moq(new since June 19 update): one new message — Lorenzo Miniero June 19 17:22 CEST announces a live in-browser push-to-talk MoQ demo atlminiero.it/moqp2t/: runs against hislminiero.it:9000relay, client built on Moqtail (+ a native demo in the imquic repo); subscribe topush2talknamespace, hold spacebar to publish anaudiotrack topush2talk-<name>, QUIC datagrams carry audio; Chrome-only (MediaStreamTrackProcessor). The June-18 interim-logistics thread (Ali Begen / Aman Sharma / afrind / Martin Duke / Victor Vasiliev) was already logged June 19. MCP probe on C046V0QF3CK returned real messages (verified working).#moq-rs/#moq-js/#libquicr/#moq-interop-runnernot separately surfaced. - GitHub moq-wg repos:
- moq-transport: no PR merged June 19–20 (latest merges remain June 18’s #1778/#1756 batch). afrind’s Security-Considerations cluster iterated June 19 (all OPEN): #1787 (GOAWAY migration), #1786 (mutual TLS), #1785 (Retry-Interval-0), #1784 (REQUEST_UPDATE session error), #1783 (safe-ASCII), #1782/#1781/#1780 (relay behavior). Also OPEN/iterated: ianswett #1779 (PUBLISH_BLOCKED→PUBLISH_SKIPPED), michalhosna #1771/#1770, Suhas #1772–#1777, Mo Zanaty Range Filters #1765. No new issues (newest RichLogan #1769, June 17).
- msf, loc, secure-objects, cmsf, catalog-format, privacy-pass: quiet (newest activity June 12; no issues/PRs updated since).
- GitHub implementations:
- moq-dev/moq (June 19 21:13 → June 20 05:26 UTC, kixelated unless noted): MERGED #1824 (RTMP/E-RTMP ingest gateway, +2643/−142), #1826 (RTMPS via generic stream + TLS, +429/−40), #1810 (relay unauthenticated internal qmux listener tcp://+unix://, +1046/−52), #1815 (verbatim MPEG-TS carriage, +1005/−384), #1812 (carry all distinct SPS/PPS/VPS, +611/−264), #1816 (moq-net 32 MiB frame cap), #1823 (public
whip::accept, +59/−12), #1808/#1809 (moq-gst license + deterministic moqsrc pad names), #1821 (CI cargo/sccache prototype), #1817 (dependabot quiche 0.29.2), #1811 (doc CLI sample fixes), #1814 (merge main→dev). OPEN: #1829 (RTMP play-mode egress, +895/−178), #1828 (SRT serve-out egress, +267/−82), #1827 (moq-rtc H.265+AV1 egress, +220/−91), #1822 (demo/web multi-broadcast inspector + stats dashboard, +2268/−601), #1819 (HW encoders always-on, breaking; #1825 NVENC-fallback CLOSED into it), #1820 (dependabot). #1818 (Relay embed entry point) + #1813 (qmux WebSocket backward-compat test) CLOSED. - openmoq/moqx: MERGED June 19 — akash-a-n #411 (draft-18 SUBSCRIBE_TRACKS port, +651/−0 as merged), afrind #420 (proxygen_qmux listener, +499/−19), gmarzot #416 (moqx-run.sh utility) + #419 (CI benchmark snapshot tarball), omoq-sync-bot #417/#418 (moxygen syncs). OPEN: afrind #421 (mvfst
ignore_path_mtu, +27/−0). Multi-thread stack #361–#365 no new movement; Issue #403 (macOS relay_chain segfault) still OPEN. - meetecho/imquic: #31 (lminiero, Push-to-talk MoQ demo, +1376/−20) MERGED June 19 15:00 UTC (was OPEN June 16); live web demo at lminiero.it/moqp2t/ announced on moq.
- cloudflare/moq-rs: #178 (englishm, draft-18) still OPEN, last updated June 18 16:56 — no change since June 19. No merge since #173 (June 11).
- moqtail/moqtail: CI-release PR #202 OPEN; no code change since May 24.
- google/quiche (
quiche/quic/moqt, last commit June 6), video-dev/moq-js (Feb 17), Eyevinn/moqlivemock (June 8), Eyevinn/warp-player (June 15), Eyevinn/moqtransport (June 8), birneee/quiche_moq (Mar 13), kota-yata/Moqtopus (June 15), quicr/moq-web (June 9): quiet.
- moq-dev/moq (June 19 21:13 → June 20 05:26 UTC, kixelated unless noted): MERGED #1824 (RTMP/E-RTMP ingest gateway, +2643/−142), #1826 (RTMPS via generic stream + TLS, +429/−40), #1810 (relay unauthenticated internal qmux listener tcp://+unix://, +1046/−52), #1815 (verbatim MPEG-TS carriage, +1005/−384), #1812 (carry all distinct SPS/PPS/VPS, +611/−264), #1816 (moq-net 32 MiB frame cap), #1823 (public
- Mailing list: only the continuing AUTH design team thread (Martin Duke, open since June 12) — fresh June-19 replies (Manish, Nemanja Djordjevic). No new I-D Action, no new weekly GitHub digest (latest still June 14; next ~June 21), no June-22 interim agenda posted.
- IETF Datatracker: no new revisions — transport-18 (Day +39, May 12), c4m-01 (June 18), msf-01 (June 2), cmsf-01 (June 3), loc-02, secure-objects-00, privacy-pass-02 unchanged;
draft-lcurley-moq-timestamp-00(June 12) +draft-einarsson-moq-locmaf-00unchanged;draft-ietf-moq-dts4moqstill 404. Meetings page: no June-22 interim listed (only IETF 126, July 20–24). - Interop runner: no new run published — newest still 2026-06-19 00:56:39 UTC report 225/66/129/30 (~29.3% pass; at-target 40 · 0 ahead · 185 behind; 12-impl set). June-20 cut not posted at check time (2nd skipped/late cut in 4 days).
- MoQ Monthly: no new issue since #2 (May 31).
- tobbee/moq-llm-wiki: no open issues.
Pages updated: implementations/moq-dev.md (June 20: bidirectional gateways — RTMP ingest + RTMP/SRT/WebRTC egress cluster + internal qmux listener + always-on HW encoders), implementations/openmoq.md (June 20: draft-18 SUBSCRIBE_TRACKS port + proxygen_qmux listener merge), implementations/imquic.md (June 20: push-to-talk demo merges + live web demo announced), drafts/moq-transport.md (June 20: editorial pipeline pauses — 2nd day no merge, ~16 PRs queued), interop/interop-runner.md (June 20: no new run, June-19 cut still newest), discussions/discussions-2026-06.md (June 19→20 section + 5 deep-dives), index.md (date bump), log.md (this entry).
Key findings:
- The QMux-out-of-charter ruling is already producing exactly the parallel-impl interop the chairs intended — qmux listeners landed in two independent relays on the same day. When Magnus Westerlund relayed the chairs+AD ruling June 17 (MOQT-over-QMux is outside the current charter; proceed as an individual draft with interop testing encouraged), the open question was whether the impl community would actually build qmux outside the WG draft. June 19 answers it: moq #1810 adds an internal qmux relay-to-relay listener and moxygen #420 adds a
proxygen_qmuxlistener — Luke Curley (who originated QMux) and afrind building the TCP/WebSocket-fallback transport in parallel. Combined with afrind’s June-11draft-18 over qmux-01hackathon probe +draft-nandakumar-moq-qmux-moqt, the cross-impl qmux test surface is being assembled in the impls even though it can’t enter WG documents until a recharter. This is the cleanest example yet of the WG’s “push optional/transport-adjacent features out of the core draft, keep them alive as interop-tested individual work” pattern. - moq-dev/moq’s gateway story flips bidirectional: having built ingest (SRT/FLV/MPEG-TS/now RTMP), it opens the egress half (serve broadcasts back out over RTMP/SRT/WebRTC). The June-15/16 work made moq-dev a contribution-ingress tier; June 19–20 lands a dedicated RTMP/E-RTMP gateway (#1824, +2643/−142) and opens a 3-PR egress cluster — RTMP play-mode (#1829), SRT serve-out (#1828), WebRTC H.265+AV1 egress (#1827). Together with the existing fMP4/HLS/MKV/WebRTC egress bridges, moq-dev is positioning as an any-to-any media gateway with MoQ as the hub — pull a feed in over any legacy protocol, serve it back out over any other. The always-on-HW-encoders change (#1819, breaking) is the operational follow-on to the native-encode/decode bet, signaling moq-dev is hardening the gateway for production rather than prototyping.
- The moq-transport editorial pipeline paused for a full day — the WGLC drain has shifted from “drafting conversions” to “clearing the merge queue,” and that queue is now the bottleneck. June 15–18 the read-through→PR conversion was fast (Cullen’s ~59 issues → afrind/Suhas/michalhosna/ianswett PRs, 8 merged June 18). June 19–20 produced no merge: ~16 clarification PRs (the Security-Considerations cluster + Suhas’s error-code cluster + michalhosna’s relay PRs + Mo’s Range Filters) sit OPEN awaiting editor review. The work-mode has flipped — there are no more issues to convert, only PRs to review and merge, and that single reviewer (afrind, drafting and reviewing in parallel) is the throughput constraint. The one remaining substantive design item is Range Filters; everything else is clarification/Security-Considerations completeness. The pause is a cadence break, not a blocker — but it’s the signal that draft-18 is in its final editorial-grind phase before Security Considerations is WGLC-complete.
- Lorenzo’s push-to-talk demo is the first publicly-reachable real-time conversational-media app the wiki has tracked over MoQ — and it’s a clean two-impl interop demo. imquic #31 merged June 19 and Lorenzo immediately put up
lminiero.it/moqp2t/: a browser push-to-talk app where holding spacebar publishes anaudiotrack that everyone subscribed to thepush2talknamespace receives, with QUIC datagrams carrying audio. It exercises the PUBLISH-driven delivery pattern (vs the usual SUBSCRIBE-pull) and datagram media end-to-end across two independent impls — imquic’s relay ↔ a Moqtail (Ali C. Begen) client. After a month of MoQ-as-media-distribution demos, this is the first to show MoQ doing real-time conversational media in a reachable browser app, however minimal.
2026-06-19 — c4m-01 (CAT auth) lands; review-PRs convert in bulk
TL;DR:
- The auth workstream ships its first artifact: [[moq-c4m|
draft-ietf-moq-c4m-01]] “Authorization scheme for MOQT using Common Access Tokens” is published June 18 — the WG’s first new draft revision since transport-18 (May 12). Authors Will Law (Akamai), Chris Lemmons (Comcast), Gwendal Simon (Synamedia), Suhas Nandakumar (Cisco); first revision since WG adoption (c4m-00, 2025-09-19, from individualdraft-law-moq-cat4moqt). C4M is the signed-bearer-token auth scheme — a CTA-5007-B Common Access Token (CWT) whosemoqtclaim names authorized actions (PUBLISH_NAMESPACE/SUBSCRIBE/PUBLISH/FETCH, namespace/track-matched), with optional DPoP proof-of-possession +moqt-revalrevalidation; the scoped-authorization counterpart to Privacy Pass’s privacy-preserving model. It’s the first concrete output of Martin Duke’s June-12 AUTH design team (thread still active June 18–19: Manu Gupta, Nemanja Djordjevic, Manish). Meanwhile the WGLC editorial drain converts in bulk: 8 clarification PRs MERGE June 18 (afrind #1709/#1708/#1756/#1749/#1752, suhasHere #1656, michalhosna #1654, ianswett #1778 “No Node”), closing three Cullen review issues by merge (#1717/#1725/#1715) — then afrind re-loads the queue with a 9-PR Security-Considerations / error-handling cluster (#1779–#1787, June 18–19): mutual-TLS #1786 (→ #1739, reversing June-15’s drop-mutual-TLS #1754), safe-ASCII reason/impl-name #1783, GOAWAY migration #1787 (→ #1706), Retry-Interval-0+REDIRECT #1785 (→ #1764), REQUEST_UPDATE-=-session-error #1784 (→ #1769), relay Forward/scheduling #1782/#1781/#1780, ianswett PUBLISH_BLOCKED→PUBLISH_SKIPPED #1779. Suhas’s #1772–#1777 + Mo’s Range Filters #1765 stay OPEN. Slack breaks a 6-day silence to sort out the June 22 virtual interim (time 16:30 UTC / 9:30 Pacific confirmed; but missing from the datatracker calendar + no agenda). No new transport revision (transport-18 Day +38);draft-ietf-moq-dts4moqstill 404. No new MoQ Monthly (#2). tobbee/moq-llm-wiki: no open issues. - Implementations: moq lands the long-running moq-mux importer/catalog decouple (#1749 MERGED, +3910/−3150) + relay session-lifecycle/clustering (#1789 close sessions on token/cert expiry — the impl echo of C4M revalidation; #1786
--cluster-id; #1779Unroutable) + lite-05 #1788 (fixed-width 64-bit Hop ID) + Go-wrapper hardening #1784; new direction OPEN #1796 “native H.264 decode (drop ffmpeg dependency)” (+1271/−10, the decode counterpart to June-13’s native-encode bet) + #1783 (FFI connection stats) + #1794 (remove deprecated catalog aliases). moq-rs #178 draft-18 still OPEN (now +1012/−597). moqx quiet but for gmarzot #416 (moqx-run.sh utility, OPEN) + a moxygen sync. moqtail docs/DeepWiki-badge commits only. imquic #31 still OPEN. quiche moqt (June 6), moq-js, Moqtopus, quicr/moq-web, moqlivemock, warp-player, Eyevinn/moqtransport, birneee/quiche_moq quiet. - Interop: 225 / 66 / 129 / 30 at 2026-06-19 00:56:39 UTC (draft-18 target; ~29.3% pass) — the daily cadence resumes (runner index now 06-16 → 06-18 → 06-19; June-17 still the lone gap), with pass 64 → 66 (+2) vs June 18, fail 131 → 129 (−2); matrix flat at 225 cells, skip flat at 30, at-target flat at 40 (· 0 ahead · 185 behind). Same 12-impl set;
moq-rs-draft-18still the only perfectly-aligned at-target impl. The +2 is the usual cross-version main-churn noise (moq-dev’s #1749 decouple + relay/lite-05 work); the 40 at-target draft-18 cells are unchanged.
Operation: Update Sources:
- Slack
#moq(new since June 18 update): YES — the channel reopens after 6 days of silence. June 18 18:44 → 23:44 CEST, a short logistics thread on the June 22 virtual interim: Ali C. Begen asks the chairs the time (“I don’t see it in the calendar”), Aman Sharma confirms it’s missing from the datatracker, afrind recalls “9:30–11 Pacific,” Martin Duke gives “1630 UTC,” Victor Vasiliev notes “no agenda,” afrind adds “folks who yielded London time to MOQT would get a chance.” MCP probe on C046V0QF3CK returned real messages (verified working).#moq-rs/#moq-js/#libquicr/#moq-interop-runnernot separately surfaced. - GitHub moq-wg repos:
- moq-transport: 8 PRs MERGED June 18 — afrind #1709 (0-RTT security ref, +4/−2), #1708 (Group/Subgroup terminology, +12/−4), #1756 (Message Payload→Message Body, +4/−4), #1749 (complete REDIRECT applicability list, +3/−2), #1752 (remove duplicate relay text, +1/−2); suhasHere #1656 (PubNs/SubNs Authz, +13/−0); michalhosna #1654 (URI-scheme reorder, +2/−0); ianswett #1778 (“No Node”, +2/−6). NEW OPEN cluster June 18–19: afrind #1787 (GOAWAY migration, +7/−1), #1786 (expand mutual TLS, +49/−9), #1785 (Retry-Interval-0 + REDIRECT, +8/−1), #1784 (unexpected REQUEST_UPDATE = session error, +3/−0), #1783 (safe-ASCII reason/impl-name, +12/−10), #1782 (relay Forward handling, +12/−5), #1781 (remove “re-requesting” objects, +2/−2), #1780 (forwarding-preference order, +1/−1); ianswett #1779 (PUBLISH_BLOCKED→PUBLISH_SKIPPED, +14/−13). Issues CLOSED June 18: #1717 (→#1756), #1725 (→#1749), #1715 (→#1752). No new issues filed. Suhas’s #1772–#1777 + Mo Zanaty Range Filters #1765 still OPEN.
- msf, loc, secure-objects, cmsf, catalog-format, privacy-pass: quiet (no issues/PRs updated since June 18).
- GitHub implementations:
- moq-dev/moq (June 18 ~20:00 → June 19 ~06:00 UTC, kixelated unless noted): MERGED #1749 (moq-mux importer/catalog decouple, +3910/−3150), #1789 (relay close sessions on token/cert expiry, +169/−26), #1788 (lite-05 fixed-width 64-bit Hop ID, +199/−43), #1786 (relay
--cluster-id, +133/−13), #1784 (harden Go wrapper, +324/−40), #1778 (moq-boy via moq-json, +70/−60), #1779 (request_broadcast Unroutable, +41/−12), #1785 (cap JS origin id at 53 bits), quidamschwarz #1781 (HEVC constraint codec string), #1782 (CI), #1790/#1792 (libmoq/native fixups); OPEN #1796 (native H.264 decode, drop ffmpeg, +1271/−10), #1783 (FFI connection stats, +329/−19), #1794 (remove deprecated catalog aliases, +7/−118), #1793 (CI Nix→ARM runner). arielmol #1771/#1770 + #667 no new activity. - cloudflare/moq-rs: #178 (englishm, draft-18) still OPEN, +1012/−597, updated June 18 16:56. No merge since #173 (June 11).
- openmoq/moqx: gmarzot #416 (moqx-run.sh utility script + template config, +110/−16) OPEN June 18; peterchave #388 (CI test workflow) updated; #415 (omoq-sync-bot, moxygen 5ef5a21) MERGED June 18. Multi-thread stack #361–#365 + akash-a-n #411: no new activity since June 17.
- moqtail/moqtail: docs/DeepWiki-badge/README commits only (456b9c6, 3390eb6, 6a74536, June 18); CI release PR #202 OPEN.
- meetecho/imquic: #31 (push-to-talk) still OPEN, updated June 18 13:41.
- google/quiche (
quiche/quic/moqt, last moqt commit June 6f3ce189), video-dev/moq-js (Feb 17), Eyevinn/moqlivemock (June 8), Eyevinn/warp-player (June 15), Eyevinn/moqtransport (June 8), birneee/quiche_moq (Mar 13), kota-yata/Moqtopus (June 15): quiet.
- moq-dev/moq (June 18 ~20:00 → June 19 ~06:00 UTC, kixelated unless noted): MERGED #1749 (moq-mux importer/catalog decouple, +3910/−3150), #1789 (relay close sessions on token/cert expiry, +169/−26), #1788 (lite-05 fixed-width 64-bit Hop ID, +199/−43), #1786 (relay
- Mailing list: draft-ietf-moq-c4m-01 I-D Action (June 18) + the “AUTH design team” thread (Martin Duke, open since June 12) drawing fresh replies June 18–19 (Manu Gupta, Nemanja Djordjevic, Manish). No June-22 interim agenda posted to the list; no new weekly GitHub digest (latest still June 14; next ~June 21).
- IETF Datatracker: one new revision — [[moq-c4m|
draft-ietf-moq-c4m-01]] (June 18, expires 2026-12-20; CAT authorization, Will Law et al.; first revision since adoption c4m-00 2025-09-19). transport-18 (Day +38), msf-01 (June 2), cmsf-01 (June 3), loc-02, secure-objects-00, privacy-pass-02 unchanged;draft-lcurley-moq-timestamp-00(June 12) +draft-einarsson-moq-locmaf-00unchanged;draft-ietf-moq-dts4moqstill 404. - Interop runner: 2026-06-19 00:56:39 UTC report 225/66/129/30 (~29.3% pass; pass +2 vs June 18); at-target 40 (· 0 ahead · 185 behind); same 12-impl set; no shape/registration change; daily cadence resumes (June-17 cut remains skipped).
- MoQ Monthly: no new issue since #2 (May 31).
- tobbee/moq-llm-wiki: no open issues.
Pages updated: drafts/moq-c4m.md (NEW — C4M / Common Access Token authorization draft page, -01 published June 18), drafts/moq-privacy-pass.md (June 19: c4m-01 sibling-revision note + Related cross-ref to moq-c4m), drafts/moq-transport.md (June 19: editorial bulk-merge + Security-Considerations cluster #1779–#1787 + ianswett joins + c4m context), implementations/moq-dev.md (June 19: importer/catalog decouple + relay lifecycle/clustering + native-H.264-decode), interop/interop-runner.md (June 19 report 225/66/129/30 + cadence resumes), discussions/discussions-2026-06.md (June 18→19 section + 4 deep-dives), discussions/interim-meetings.md (June 19: June-22 interim scheduling/agenda gap), index.md (add moq-c4m to drafts table + date bump), log.md (this entry).
Key findings:
- C4M-01 is the first design-team-era auth artifact to ship, and it cleanly establishes the WG’s two-track auth model. The wiki has tracked the auth gap fragmenting all month — Cullen’s #1662 “How does auth work”, Suhas’s generic-AUTH-challenges #1658, privacy-pass’s challenge-carriage problem (#14–#18) — which is exactly why Martin Duke opened the AUTH design team thread June 12. C4M-01 (June 18) is the first thing that design team actually ships: a scoped signed-bearer-token scheme (CTA-5007-B Common Access Tokens / CWT, with a
moqtaction-scope claim, DPoP proof-of-possession, andmoqt-revalrevalidation) that sits alongside privacy-pass (privacy-preserving) rather than competing with it. The WG now has a clear partition: C4M for scoped authorization, Privacy Pass for privacy — and the wiki gains a dedicated moq-c4m page (the draft was previously only a footnote on the privacy-pass page). - The implementation side is already tracking the auth spec: moq-dev’s relay now closes sessions on credential expiry. PR #1789 (“close sessions when the token/cert expires”) is the relay-side counterpart to C4M’s
moqt-revalrevalidation + the transport draft’s auth-token-lifecycle / EXPIRES work — a relay tearing down a session at credential expiry is precisely the enforcement behavior both the C4M revalidation interval and afrind’s expiry-clarification PRs describe. The auth design moving on-spec and the auth enforcement moving in-code on the same day is the kind of spec↔impl coupling the wiki flags as a draft-maturation signal. - The WGLC editorial drain is now self-sustaining: merge a batch, re-load the security residue. June 18 closed three Cullen review issues by merging the clarification PRs, then afrind immediately opened a 9-PR cluster that is visibly the Security-Considerations residue of the June-15 read-through (mutual TLS, safe-ASCII logging, GOAWAY migration, REDIRECT/retry, REQUEST_UPDATE error class). Notable: #1786 expands mutual-TLS considerations, reversing the June-15 #1754 that dropped mutual-TLS speculation — the WG decided the section needs substance, not deletion. With Ian Swett now contributing PRs (#1778/#1779) on top of afrind + Suhas + Michal Hošna, the editor pipeline has four contributors draining in parallel; the open backlog narrows to Security-Considerations completeness + Suhas’s error-code/timeout cluster + Mo’s Range Filters.
- moq-dev finishes the ffmpeg-removal arc and the gateway-consolidation arc on the same day. PR #1749 (importer/catalog decouple, +3910/−3150) lands the refactor that makes the June-15/16 SRT/FLV/MPEG-TS ingest gateways composable, and OPEN PR #1796 (native H.264 decode) is the decode bookend to the June-13 native-encode bet (#1691) — together removing the last ffmpeg runtime dependency from the media path. The relay-clustering (#1786
--cluster-id) + session-lifecycle (#1789) work signals moq-dev is hardening the production-relay surface, not just the media pipeline.
2026-06-18 — QMux ruled out of charter; review-PR drain goes multi-author
TL;DR:
- The chairs rule MOQT-over-QMux out of the WG’s current charter — a genuine scope/governance event. co-chair Magnus Westerlund posts “MOQT over QMUX” to the list June 17, conveying a decision from the chairs + AD (Mike Bishop): a TLS+TCP fallback transport for MoQT via QMux is outside the WG’s current charter, so it proceeds as a separate individual draft (requirements documentation + interop testing by interested parties + list/session progress updates permitted) and cannot enter WG documents until a recharter happens. This scopes afrind’s PR #1628 “Add QMux framing for moqt-18 over TLS+TCP” (OPEN, fixes #1626) out of the transport draft for now, and reframes the June-11 hackathon “draft-18 over qmux-01” interop +
draft-nandakumar-moq-qmux-moqtas explicitly out-of-charter individual work. Meanwhile the WGLC editorial review-issue→PR drain goes multi-author: Suhas Nandakumar opens a 6-PR cluster (#1772–#1777, June 18, all OPEN) converting Cullen’s review issues into spec text — protocol-violation error codes organized by area (#1773, +200/−54 → #1664), hex-codepoints→bitfield syntax (#1774 → #1730), multiple-concurrent-subscriptions clarification (#1775), URI-scheme security per RFC 7595 §3.7 (#1772), missing-data-timeout scenarios+bounds (#1776 → #1743), move GROUP_ORDER from PUBLISH_OK to SUBSCRIBE_TRACKS (#1777 → #1651) — joining afrind’s ~10 still-open clarification PRs (iterated June 17–18: #1752/#1710/#1754/#1749/#1709/#1708/#1698) and new contributor Michal Hošna’s #1771 (relay processing rules for known Track Properties → his own #1663) + #1770 (default publisher priority updatable → fluffy #1270). No new merges since June 17 (#1768); the wave is in “open PRs awaiting merge” mode. No new Datatracker revision (transport-18 Day +37;draft-ietf-moq-dts4moqstill 404; [[moq-timestamp|draft-lcurley-moq-timestamp-00]] unchanged). Slack near-silent (6th straight day — newest still Martin Duke’s June-12 logo). No new MoQ Monthly (#2). tobbee/moq-llm-wiki: no open issues. - Implementations: moqx afrind resumes the multi-threaded relay scaling stack post-London — the #361–#365 cluster (OPEN since June 1–2, deferred through the interim while afrind did version-gating June 16) gets a batch rebase/push June 18 03:23–05:23 UTC: #365 per-thread local forwarder data path (
use_local_forwarders, +2810/−365), #362 isolate relay state on dedicated executor (+556/−163), #363 MultiThread relay test mode (+788/−206), #364 cache as passive subscriber of primary forwarder (+894/−212), #361relay_threadconfig; plus external akash-a-n #411 “port SUBSCRIBE_TRACKS functionality for draft 18” (+8304/−0, OPEN June 17). moq ships two features (June 17 18:00 → June 18, kixelated unless noted, ~7 PRs MERGED): #1620watchlatency-range with buffered playback (+713/−76) + #1772 moq-netOriginDynamicfor unannounced fallback broadcasts (+793/−86); plus #1773 cert-reload busy-loop fix + dedupe FileWatcher (+87/−82), #1776 feature-gate the moq-rtc binary so the gateway is embeddable; OPEN #667 “IETF: Joining fetch is gross (JS)” (+516/−135 — the JS impl echo of the spec’s fill-fetch-replaces-joining-fetch) + #1778 (route moq-boy tracks through moq-json). New external contributor Ariel Molina (arielmol): #1771 moq-gst moqsink rewrite (unit-tested core, +2624/−317) + #1770 moq-mux backpressure. moq-rs #178 draft-18 still OPEN (+1155/−553). imquic #31 push-to-talk still OPEN (June 16). quiche moqt (June 6), moq-js, moqtail, Moqtopus, quicr/moq-web, moqlivemock, warp-player, Eyevinn/moqtransport, birneee/quiche_moq quiet. - Interop: 225 / 64 / 131 / 30 at 2026-06-18 00:52:53 UTC (draft-18 target; ~28.4% pass) — the June-17 daily cut was skipped (one-day gap; no June-17 report published), and the June-18 run resumes the cadence with pass 60 → 64 (+4) vs June 16, fail 134 → 131 (−3); matrix flat at 225 cells, skip flat at 30, at-target flat at 40 (· 0 ahead · 185 behind). Same 12-impl set;
moq-rs-draft-18still the only perfectly-aligned at-target impl (18/18). The +4 is the usual cross-version main-churn noise (moq-dev’s OriginDynamic/latency features + moxygen’s multithread rebases re-touching marginal 14/16/17-vs-18 cells); the 40 at-target draft-18 cells — the ones that matter for the target transition — are unchanged.
Operation: Update Sources:
- Slack
#moq(new since June 17 update): none — newest message is still Martin Duke’s June-12 15:49 CEST “I made us a logo”; 6 straight days of no new moq traffic (June 12→18). MCP probe on C046V0QF3CK returned real messages (verified working).#moq-rs/#moq-js/#libquicr/#moq-interop-runnernot separately surfaced. - GitHub moq-wg repos:
- moq-transport: suhasHere (Suhas Nandakumar) 6-PR cluster OPEN June 18 — #1773 (protocol-violation error codes by area, +200/−54), #1774 (hex→bitfield codepoint syntax, +39/−13), #1775 (clarify multiple concurrent subscriptions per Track, +10/−17), #1772 (URI-scheme security per RFC 7595 §3.7, +15/−2), #1776 (missing-data-timeout scenarios+bounds, +39/−1), #1777 (move GROUP_ORDER PUBLISH_OK→SUBSCRIBE_TRACKS, +12/−5). michalhosna (Michal Hošna): #1771 (relay processing rules for known Track Properties, +17/−2, OPEN June 17), #1770 (make Default Publisher Priority updatable, +37/−28), #1654 (editorial URI-scheme reorder). afrind clarification PRs iterated June 17–18 (all OPEN): #1752, #1710, #1754, #1749, #1709, #1708, #1698, plus the QMux-framing #1628 (updated June 17, now out-of-charter). Mo Zanaty Range Filters #1765 + #1518 still OPEN. New issues: fluffy #1743 “Errors from missing data timeouts” (June 18); RichLogan #1769 “Is an unexpected REQUEST_UPDATE a request or session error?” (June 17); fluffy #1730/#1664/#1732 re-commented June 17. No new merges since #1768 (June 17 00:13).
- msf, loc, secure-objects, cmsf, catalog-format, privacy-pass: quiet (no issues/PRs updated since June 17).
- GitHub implementations:
- moq-dev/moq (June 17 18:00 → June 18, kixelated unless noted): MERGED #1620 (watch latency-range + buffered playback, +713/−76), #1772 (moq-net OriginDynamic fallback broadcasts, +793/−86), #1773 (cert-reload busy-loop fix + dedupe FileWatcher, +87/−82), #1776 (feature-gate moq-rtc binary → embeddable gateway, +34/−11), #1775/#1777 (CI: self-hosted runner + 60m timeout), #1756 (release, moq-bot); OPEN #1778 (route moq-boy status/command tracks through moq-json, +68/−60), #667 (“IETF: Joining fetch is gross (JS)”, +516/−135), #1771 (arielmol moq-gst moqsink rewrite, +2624/−317), #1770 (arielmol moq-mux cap pending AU + discontinuity, +514/−15), #1749 (importer/catalog decouple, now ~+3426/−2712), #1727/#1726, #1774 (release, moq-bot).
- openmoq/moqx: afrind multi-thread relay stack rebased/pushed June 18 03:23–05:23 UTC — #365 (+2810/−365), #362 (+556/−163), #363 (+788/−206), #364 (+894/−212), #361 — all OPEN; external akash-a-n #411 (port SUBSCRIBE_TRACKS for draft-18, +8304/−0) OPEN June 17. Issue #403 (macOS relay_chain segfault) still OPEN.
- cloudflare/moq-rs: #178 (englishm, draft-18 remove MAX_REQUEST_ID / bidi-stream requests, +1155/−553) still OPEN, updated June 17 19:41; 169 OPEN. No merge since #173 (June 11).
- meetecho/imquic: #31 (lminiero, push-to-talk MoQ demo, +1330/−4) still OPEN, no new activity since June 16.
- google/quiche (
quiche/quic/moqt, last moqt commit June 6f3ce1892), video-dev/moq-js (May 27), moqtail/moqtail (May 24), kota-yata/Moqtopus, quicr/moq-web, Eyevinn/moqlivemock + warp-player + moqtransport, birneee/quiche_moq: quiet.
- Mailing list: one new thread — “MOQT over QMUX” (Magnus Westerlund, June 17) — chairs + AD ruling that MOQT-over-QMux is outside the current charter; individual-draft + interop only until recharter. The June-16 “Minutes from Interim meeting 260611-260612” + June-15 “Filters on SUBSCRIBE_TRACKS” threads were already logged. No new weekly GitHub digest (latest still June 14; next ~June 21).
- IETF Datatracker: no new revisions — transport-18 (Day +37, published May 12), msf-01 (June 2), cmsf-01 (June 3), loc-02, secure-objects-00, privacy-pass-02,
draft-einarsson-moq-locmaf-00(June 2).draft-lcurley-moq-timestamp-00(June 12) unchanged;draft-ietf-moq-dts4moqstill not submitted (404). - Interop runner: 2026-06-18 00:52:53 UTC report 225/64/131/30 (~28.4% pass; pass +4 vs June 16); at-target 40 (· 0 ahead · 185 behind); same 12-impl set; no shape/registration change; June-17 cut skipped (one-day cadence gap).
- MoQ Monthly: no new issue since #2 (May 31).
- tobbee/moq-llm-wiki: no open issues.
Pages updated: discussions/discussions-2026-06.md (June 17→18 QMux-charter-ruling + multi-author-review-PR-drain section + deep-dives), concepts/qmux.md (June 17 chair ruling: out of charter, individual-draft path, #1628 scoped out), drafts/moq-transport.md (June 18: suhasHere + michalhosna PR clusters + QMux-charter ruling + new issues), implementations/openmoq.md (June 18: multi-thread relay stack resumes), implementations/moq-dev.md (June 18: latency-range playback + OriginDynamic + Ariel Molina), interop/interop-runner.md (June 18 report 225/64/131/30 + skipped June-17 cut), index.md (date bump), log.md (this entry).
Key findings:
- The QMux ruling is the first hard charter-scope decision the wiki has tracked, and it cleanly partitions the TCP-fallback work out of the WG draft. Since April the QMux concept has been tracked as Luke Curley’s Safari/TCP-fallback mechanism, and afrind brought it into the spec orbit with PR #1628 (“QMux framing for moqt-18 over TLS+TCP”) + his June-11 hackathon “draft-18 over qmux-01” interop probe. Magnus’s June-17 ruling — relayed from the chairs + AD — settles the venue question the way IETF process requires: TCP fallback is real and worth implementing, but it is not in the current MoQ charter, so it lives in an individual draft (
draft-nandakumar-moq-qmux-moqt) with interop encouraged, and only a recharter can fold it into a WG document. PR #1628’s base-spec-integration path is now superseded-in-direction, exactly as the DTS “adopt as extension, not base spec” readout (June 7) was — the WG is consistently pushing optional/transport-adjacent features out of the core draft as it approaches Last Call. - The review-issue→PR drain is no longer afrind-only — it is now a three-contributor pipeline (afrind + Suhas + Michal Hošna), the sign of a draft genuinely converging on WGLC. June 15–17 the conversion of Cullen’s ~59-issue read-through into spec text was almost entirely afrind. June 18 adds Suhas Nandakumar’s 6-PR cluster (each PR mapping to a specific review issue — protocol-violation error codes → #1664, bitfield codepoints → #1730, missing-data-timeout → #1743, GROUP_ORDER placement → #1651) and Michal Hošna’s relay-Track-Properties + updatable-publisher-priority PRs. With a co-editor and an external contributor both drafting clarification PRs, the backlog drains in parallel rather than through a single throughput bottleneck — and the editorial center of gravity is now “merge the open PRs,” not “find more issues.”
- moq-dev/moq’s day is product polish, and its
#667is the implementation tell that the spec’s fill-fetch decision is propagating. The two MERGED features — latency-range buffered playback (a player UX knob: trade latency for smoothness within a chosen window) andOriginDynamicfor unannounced fallback broadcasts (origin-routing resilience) — are downstream hardening, not wire changes. But OPEN PR #667 “IETF: Joining fetch is gross (JS)” is the JS-side counterpart to the WG’s fill-fetch-replaces-joining-fetch consensus (afrind #1673, confirmed in the London minutes): kixelated is ripping joining-fetch out of the JS client just as the spec deletes it. New contributor Ariel Molina’s moq-gst rewrite (+2624) continues the recent pattern of substantial external contributions landing on moq-dev’s GStreamer/mux surface. - moxygen’s multi-thread relay scaling, parked through London, is back — the production-deployability work resumes once the version-gating settled. The #361–#365 stack (per-thread forwarders, dedicated-executor relay state, MultiThread test mode, passive-subscriber cache,
relay_threadconfig) was afrind’s pre-London sprint (May 27–June 2) forthreads > 1production readiness, then sat untouched while he did the June-16 version-gating (pin moxygen to 14/16, exclude draft-18). June 18’s batch rebase/push of all five PLUS external akash-a-n’s draft-18 SUBSCRIBE_TRACKS port (#411, +8304) signals afrind is returning to the scaling work now that the floor-relay version story is stable — moxygen advancing on two axes (stable 14/16 conformance + multi-threaded throughput) rather than chasing draft-18 onmain.
2026-06-17 — London-interim minutes land on the datatracker; range filters become the active thrust
TL;DR:
- The formal minutes from the June 11–12 London interim are uploaded to the datatracker — Magnus Westerlund posts “Minutes from Interim meeting 260611-260612” to the list June 16 (Day-1 interim-08 + Day-2 interim-10), the first formal documentation since the interim closed June 12 and the close of the “no minutes” gap the wiki has flagged since June 13. They confirm every direction the wiki reconstructed from the GitHub issue/PR proxy: keep the object-ID filter; fill-fetch replaces joining-fetch (#1673); switch_from hard mode (#1674/#1675); remove Request ID from GOAWAY; PUBLISH_DONE precedes FIN; immutable track properties; PR #1613 approved default-infinity; Draft-18 = Vienna interop target (runner to expand to ~70 cases); Top-Tracks-Filter as an extension; AUTH/Privacy-Pass challenge design team; next interim ~October. Meanwhile range filters become the active wire-design front — Mo Zanaty opens PR #1765 “Add Range Filters” (June 16, OPEN, +145/−17), the direct follow-up to the interim’s object-range-filters consensus + Ian Swett’s June-15 “Filters on SUBSCRIBE_TRACKS” thread. afrind’s editorial-clarification PRs MERGE (#1757/#1751/#1750/#1753, closing Cullen #1733/#1697/#1726/#1718); sharmafb #1766+#1768 close the codepoint-conflict #1646; the Management Considerations issue #1713 CLOSED. No new Datatracker revision (transport-18 Day +36;
draft-ietf-moq-dts4moqstill 404; [[moq-timestamp|draft-lcurley-moq-timestamp-00]] unchanged). Slack near-silent (5th straight day — newest still Martin Duke’s June-12 logo). No new MoQ Monthly (#2). tobbee/moq-llm-wiki: no open issues. - Implementations: moq pivots from ingest gateways to FFI / catalog / packaging (June 16 06:00 → June 17, ~12 PRs MERGED, all kixelated unless noted) — two breaking moq-ffi changes #1761 (defer dynamic track accept so media tracks declare a timescale, +383/−114) + #1763 (expose Subscription/TrackInfo, +204/−53); @moq/json catalog #1767/#1765/#1762; #1757 publish the
moq-vaapicrate (drop cros-codecs git dep, +100/−341); termoose #1758 pkg-config (breaking). New external arielmol #1770 (moq-mux backpressure + discontinuity, +514/−15, OPEN); WIP #1749 importer/catalog decouple now ~+2916/−1866. imquic #31 “Push-to-talk MoQ demo” OPEN (lminiero, +1330/−4). moqx afrind version-gating cluster MERGES (#405/#406/#407, June 16 14:02–14:05 UTC; #408 CLOSED). moq-rs #178 still OPEN (+1155/−553). quiche moqt (June 6), moq-js, moqtail, Moqtopus, quicr/moq-web, moqlivemock, warp-player, Eyevinn/moqtransport quiet. - Interop: no new run published — newest is still the 2026-06-16 00:57:25 UTC report: 225 / 60 / 134 / 30 (draft-18 target; ~26.7% pass; at-target 40 · 0 ahead · 185 behind; 12-impl set). The June-17 daily cut had not posted by check time. The minutes give the matrix explicit WG backing — Draft-18 as the Vienna target + an agreed expansion to ~70 cases. 29-day cadence streak intact (latest published run still June 16; June-17 cut not yet posted).
Operation: Update Sources:
- Slack
#moq(new since June 16 update): none — newest message is still Martin Duke’s June-12 15:49 CEST “I made us a logo”; 5 straight days of no new moq traffic (June 12→17). MCP probe on C046V0QF3CK returned real messages (verified working).#moq-rs/#moq-js/#libquicr/#moq-interop-runnernot separately surfaced. - GitHub moq-wg repos:
- moq-transport: Mo Zanaty PR #1765 “Add Range Filters” OPEN June 16 13:47 UTC (+145/−17; builds on PR #1518, OPEN +265/−16). MERGED June 16: afrind #1757 (name §7 priority params, 22:16), #1751 (Subscribing-to-Namespaces matching, 22:17), #1750 (SUBSCRIBE_NAMESPACE example syntax, 22:17), #1753 (Message-Parameter types in subsections, 22:18); sharmafb #1766 (
i→vi64Type fields, 17:05) + #1768 (§15.8/§2.5 application-specific params, June 17 00:13); #1767 CLOSED (superseded by #1768). Issues CLOSED: #1733, #1726, #1718, #1697 (by the afrind merges), #1713 (Management Considerations, 19:42), #1646 (codepoint conflict, by #1768). afrind IANA-registry cluster (#1759–#1763) + SWITCH_FROM (#1674/#1675) remain OPEN. - msf, loc, secure-objects, cmsf, catalog-format, privacy-pass: quiet (no issues/PRs updated since June 16).
- moq-transport: Mo Zanaty PR #1765 “Add Range Filters” OPEN June 16 13:47 UTC (+145/−17; builds on PR #1518, OPEN +265/−16). MERGED June 16: afrind #1757 (name §7 priority params, 22:16), #1751 (Subscribing-to-Namespaces matching, 22:17), #1750 (SUBSCRIBE_NAMESPACE example syntax, 22:17), #1753 (Message-Parameter types in subsections, 22:18); sharmafb #1766 (
- GitHub implementations:
- moq-dev/moq (June 16 06:00 → June 17, kixelated unless noted): MERGED #1761 (moq-ffi! timescale-on-accept, +383/−114), #1763 (moq-ffi! expose Subscription/TrackInfo, +204/−53), #1767 (Catalog.Producer/Consumer wrapping @moq/json, +115/−44), #1765 (json delta_ratio→8, +114/−65), #1762 (@moq/json devDependency, +10/−8), #1757 (publish moq-vaapi crate, drop cros-codecs git dep, +100/−341), #1758 (termoose, standardise pkg-config paths, breaking, +27/−14), #1769 (drop magic-nix-cache CI), #1768 (libmoq 0.3.6), 1759 (demo/publish UI); OPEN #1770 (arielmol, moq-mux cap pending AU + discontinuity(), +514/−15), #1749 (importer/catalog decouple, ~+2916/−1866), #1727 (metadata-over-MoQ), #1726 (@moq/wasm), #1756 (release-please bot), 1724 (dependabot); CLOSED-not-merged #1766 (reject-frames-before-keyframe).
- meetecho/imquic: #31 (lminiero, “Push-to-talk MoQ demo”, +1330/−4) OPEN June 16 14:49 CEST.
- openmoq/moqx: afrind #405 (default versions 14,16 exclude draft-18, +10/−6) MERGED June 16 14:02; #406 (gate bidi NAMESPACE on draft ≥16, +42/−15) MERGED 14:03; #407 (re-enable relay_chain Direction-4 + macOS run, +44/−41) MERGED 14:05; #408 (PR-#362 review feedback, +557/−164) CLOSED 01:47; #409 (sync-bot moxygen caba5a3) MERGED 13:14. Issue #403 (gmarzot macOS relay_chain segfault) still OPEN.
- cloudflare/moq-rs: #178 (englishm, draft-18 remove MAX_REQUEST_ID / bidi-stream requests, +1155/−553) still OPEN, no merge.
- google/quiche (
quiche/quic/moqt, last moqt commit June 6f3ce1892“has first object in subgroup” bit — mirror lags ~11 days), video-dev/moq-js, moqtail/moqtail, kota-yata/Moqtopus, quicr/moq-web, Eyevinn/moqlivemock + warp-player + moqtransport, birneee/quiche_moq: quiet.
- Mailing list: one new thread — “Minutes from Interim meeting 260611-260612” (Magnus Westerlund, June 16; links Day-1 interim-08 + Day-2 interim-10 minutes). The June-15 “Filters on SUBSCRIBE_TRACKS” thread (Ian Swett + Mo Zanaty reply) + June-14 moq-encoder-player v16 + weekly digest were already logged. No new weekly GitHub digest (latest still June 14; next ~June 21).
- IETF Datatracker: no new revisions — transport-18 (Day +36, published May 12), msf-01 (June 2), cmsf-01 (June 3), loc-02, secure-objects-00, privacy-pass-02, locmaf-00 (June 2).
draft-lcurley-moq-timestamp-00(June 12) unchanged;draft-ietf-moq-dts4moqstill not submitted (404). - Interop runner: no new published run — newest is still the 2026-06-16 00:57:25 UTC report 225/60/134/30 (~26.7% pass; at-target 40 · 0 ahead · 185 behind); same 12-impl set; June-17 daily cut not yet posted at check time.
- MoQ Monthly: no new issue since #2 (May 31).
- tobbee/moq-llm-wiki: no open issues.
Pages updated: discussions/discussions-2026-06.md (June 16→17 minutes-land section + range-filters + moq-dev-FFI deep-dives), discussions/interim-meetings.md (June 17: minutes posted, “no minutes” gap closed), drafts/moq-transport.md (June 17: interim minutes + Range Filters #1765 + afrind/sharmafb editorial merges), implementations/moq-dev.md (June 17: FFI/catalog/packaging pivot), implementations/imquic.md (June 17: #31 push-to-talk demo), implementations/openmoq.md (June 17: version-gating cluster merged), interop/interop-runner.md (June 17: no new run + minutes give matrix WG backing), index.md (date bump), log.md (this entry).
Key findings:
- The interim minutes validate the wiki’s “issue/PR-as-minutes proxy” reconstruction — every inferred decision is confirmed. Since June 13 the interim-meetings page has flagged “formal written minutes still not posted” and read the interim’s output through its GitHub footprint (Cullen’s issue bursts, afrind’s SWITCH_FROM/fill-fetch cluster, the AUTH design team). The June-16 minutes confirm those inferences point-for-point: fill-fetch replacing joining-fetch, switch_from hard mode, Request-ID removal from GOAWAY, immutable track properties, Draft-18 as the Vienna interop target, Top-Tracks-as-extension. The lesson: for this WG, the GitHub repo is a faithful real-time minutes proxy — afrind’s same-day conversion of floor consensus into spec-text PRs means the design record exists in the PR stream before the prose minutes catch up by ~4 days.
- The editorial-review wave (June 12–15) has fully converted: Cullen’s review issues are now closing via merged clarification PRs, and the next design front is range filters. June 16 lands four afrind clarification merges (each closing a specific Cullen review issue) plus sharmafb’s two wire-table fixes (closing the June-3 codepoint-conflict #1646 and the Management-Considerations tracking issue #1713). With the read-through absorbed, the only genuinely-new wire-design input is Mo Zanaty’s Range Filters PR #1765 — the direct execution of the interim’s “keep object-ID filter, separate location-filter PR” action item. Filters (object-range + Top-N-as-extension) are the live front heading toward the June-22 virtual interim.
- moq-dev/moq’s FFI timescale change is the implementation echo of the timestamp-extension spec work. PR #1761 requires a media track to declare a Timescale before the FFI accepts it — the same track-level Timescale that [[moq-timestamp|
draft-lcurley-moq-timestamp]] defines (June 12) and that the June-16 lite-05 wire change (removing per-frame duration) aligned toward. moq-dev is hardening its FFI/catalog/packaging layer (published moq-vaapi crate, standardized pkg-config, @moq/json catalog wrappers) — the consolidation that follows the June-15/16 ingest-gateway expansion, and the kind ofmain-layer work that produces the matrix’s day-to-day cross-version noise. - afrind’s moxygen version-gating decision is now committed to
main. The three PRs the wiki flagged OPEN June 16 (default 14/16 excluding draft-18; gate bidi NAMESPACE on draft ≥16; re-enable the relay_chain Direction-4 + macOS run) all merged June 16 14:02–14:05 UTC. moxygen is now a stable floor relay on 14/16 by configuration, deliberately not advertising draft-18, whilemoq-rs-draft-18carries the at-target matrix cells — the relay-operator counterpart to the interop matrix’s cross-version-noise pattern, now a code fact rather than an in-flight intention.
2026-06-16 — moq-dev adds SRT + FLV broadcast ingest gateways
TL;DR:
- The spec side winds down into the tail of the editorial-review wave: afrind adds a small IANA-registry / relay-text cleanup PR cluster (#1759–#1763, June 15 06:20–06:22 UTC, all OPEN) — the extensibility angle of the Last-Call fill-out after June-15’s security + management push: #1760 make the Object-Status payload rule extensible via an IANA registry, #1761 add an IANA registry for extension/version compatibility, #1759 recommend Immutable Properties for relay-visible unmodifiable data, plus relay-behavior text trims #1762 (remove relay reorder/drop exception) + #1763 (remove stray relay-prioritization SHOULD). Two June-15 clarification PRs MERGE (#1712 varint multiple encodings; #1758 subgroup-end-via-FIN). The Cullen review-issue volume drops to a trickle — only sharmafb #1764 “Make retry interval = 0 and REDIRECT error code illegal?” opens (June 16 00:59 UTC); #1746 (Media Type Registration) closes. The only fresh design input is a new mailing-list thread — Ian Swett’s “Filters on SUBSCRIBE_TRACKS” (June 15, reply Mo Zanaty), filter semantics on the draft-18-renamed message. No new Datatracker revision (transport-18 Day +35;
draft-ietf-moq-dts4moqstill 404; [[moq-timestamp|draft-lcurley-moq-timestamp-00]] unchanged). Slack near-silent (newest still Martin Duke’s June-12 logo). No new MoQ Monthly (#2). tobbee/moq-llm-wiki: no open issues. - afrind goes hands-on in the moxygen/moqx reference relay, version-gating it for the draft-18 transition. Three OPEN PRs + one closed (June 15 16:57 → June 16 01:46 UTC): #405 default MOQT versions to 14,16 — excluding draft-18 (the relay deliberately does not advertise draft-18 yet), #406 gate bidi NAMESPACE forwarding on negotiated draft ≥16, #407 re-enable the relay_chain Direction-4 gating + macOS run (connects to gmarzot’s macOS segfault Issue #403), #408 PR-#362 review feedback (CLOSED). The chair is debugging the C++ relay’s per-version negotiation while the cross-version matrix stabilizes.
- Implementations: moq turns to broadcast contribution ingest (June 15 14:40 → June 16 06:00 UTC, all kixelated, ~13 PRs MERGED) — #1747 moq-srt: SRT contribution ingest gateway (+949/−27), #1745 FLV (Flash Video / RTMP) container support in moq-mux (+1286/−4), #1748 publish & subscribe arbitrary custom tracks within a broadcast (+350/−105); plus #1741 mTLS + preferred_address on the noq backend (+186/−19), #1744
<moq-watch visible>download-distance control (+135/−24), #1746 make moq-relay/healtha plain liveness probe, drop sysinfo (+21/−876, reverts the June-3 load-shedding endpoint), and a lite-05 wire change #1753 “remove per-frame duration from Frame and the lite-05 wire” (+39/−186, breaking); new OPEN #1749 decouple moq-mux single-track importers from the broadcast catalog (+461/−240). imquic #30 MERGED (lminiero, fix nested-namespace SUBSCRIBE_NAMESPACE/SUBSCRIBE_TRACKS notifications found in interop, +100/−27). moqx afrind version-gating cluster (above). moq-rs #178 draft-18 request-ID removal still OPEN (+1133/−551, unchanged). quiche moqt (June 6), moq-js, moqtail, Moqtopus, quicr/moq-web, moqlivemock, warp-player (dependabot only), Eyevinn/moqtransport quiet. - Interop: 225 / 60 / 134 / 30 at 2026-06-16 00:57:25 UTC (draft-18 target; ~26.7% pass) — pass rebounds 55 → 60 (+5), fail 139 → 134 (−5), recovering the June-15 dip back to the June-14 level; matrix flat at 225 cells, skip flat at 30, at-target flat at 40 (· 0 ahead · 185 behind). Same 12-impl set;
moq-rs-draft-18still the only perfectly-aligned at-target impl (18/18). The +5 is exactly the rebound the June-15 entry predicted (“watch for a rebound as the churn settles”) — the −5 was transient matrix-on-mainnoise from June-14 moq-dev churn, not a regression. 29-day cadence streak (new longest).
Operation: Update Sources:
- Slack
#moq(new since June 15 update): none — newest message is still Martin Duke’s June-12 15:49 CEST “I made us a logo”; no June-13/14/15/16 traffic at check time. MCP probe on C046V0QF3CK returned real messages (verified working).#moq-rs/#moq-js/#libquicr/#moq-interop-runnernot separately surfaced. - GitHub moq-wg repos:
- moq-transport: afrind IANA-registry / relay-text PR cluster — OPEN June 15 06:20–06:22 UTC #1759 (recommend Immutable Properties for relay-visible unmodifiable data, +3/−0), #1760 (Object-Status payload rule extensible via IANA registry, +20/−1), #1761 (IANA registry for extension/version compatibility, +16/−1), #1762 (remove relay reorder/drop exception, +1/−1), #1763 (remove stray relay-prioritization SHOULD, +1/−2). MERGED June 15: #1712 (varint multiple encodings, +4/−1, 06:14 UTC), #1758 (subgroup end via FIN not Object Status, +4/−0, 06:23 UTC). Issues: #1764 (sharmafb, “Make retry interval = 0 and REDIRECT error code illegal?“) OPEN June 16 00:59 UTC; #1746 (fluffy, Media Type Registration) CLOSED June 15 18:41 UTC. The June-14 SWITCH_FROM cluster (#1673/#1674/#1675) + the ~13 other June-15 clarification PRs remain OPEN.
- msf, loc, secure-objects, cmsf, catalog-format, privacy-pass: quiet (no issues/PRs updated since June 13).
- GitHub implementations:
- moq-dev/moq (June 15 14:40 → June 16 06:00 UTC, all kixelated): MERGED #1747 (moq-srt SRT contribution ingest gateway, +949/−27), #1745 (FLV/RTMP container support in moq-mux, +1286/−4), #1748 (publish & subscribe arbitrary custom tracks within a broadcast, +350/−105), #1741 (moq-native mTLS + preferred_address on the noq backend, +186/−19), #1744 (
watch:visibleattribute to control video download distance, +135/−24), #1746 (moq-relay/healthplain liveness probe, drop sysinfo, +21/−876), #1743 (bump web-transport-noq to 0.2 / noq 1.0, +53/−55), #1742 (simplify README, +9/−102), #1750 (merge main into dev, +1320/−882), #1751 (moq-native watch current dir for bare-filename certs, +22/−2), #1753 (moq-net!: remove per-frame duration from Frame + the lite-05 wire, +39/−186, breaking), 1755 (JS + moq-native version bumps); OPEN #1749 (moq-mux decouple single-track importers — opus, H.264 — from the broadcast catalog, +461/−240), 1752 (dependabot). - meetecho/imquic: #30 (lminiero, “Fix broken SUBSCRIBE_NAMESPACE and SUBSCRIBE_TRACKS behaviour”, +100/−27) MERGED June 15 10:14 UTC — nested-namespace notification bug surfaced during interop testing (A-B-C announced after a SUBSCRIBE_NAMESPACE for A did not notify).
- openmoq/moqx: afrind #405 (default MOQT versions to 14,16 excluding draft-18) OPEN June 15 16:57; #406 (gate bidi NAMESPACE forward on negotiated draft ≥16) OPEN June 15 19:00; #407 (re-enable relay_chain Direction-4 gating + macOS run) OPEN June 15 19:03; #408 (address PR #362 review feedback) CLOSED June 16 01:46; #404 (omoq-sync-bot, moxygen 10b8d0f) MERGED June 15 15:10. Issue #403 (gmarzot, macOS relay_chain segfault) still OPEN.
- cloudflare/moq-rs: #178 (englishm, draft-18 remove MAX_REQUEST_ID / bidi-stream requests, +1133/−551) still OPEN, no new activity.
- google/quiche (
quiche/quic/moqt, last moqt-relevant commit June 6; June 11-12 commits are OHTTP/general quiche), video-dev/moq-js, moqtail/moqtail, kota-yata/Moqtopus, quicr/moq-web, Eyevinn/moqlivemock, Eyevinn/warp-player (dependabot bumps only), Eyevinn/moqtransport, birneee/quiche_moq: quiet.
- moq-dev/moq (June 15 14:40 → June 16 06:00 UTC, all kixelated): MERGED #1747 (moq-srt SRT contribution ingest gateway, +949/−27), #1745 (FLV/RTMP container support in moq-mux, +1286/−4), #1748 (publish & subscribe arbitrary custom tracks within a broadcast, +350/−105), #1741 (moq-native mTLS + preferred_address on the noq backend, +186/−19), #1744 (
- Mailing list: one new thread — “Filters on SUBSCRIBE_TRACKS” (Ian Swett, June 15; reply Mo Zanaty June 15). The June-14 items (moq-encoder-player v16 + weekly GitHub digest) were already logged June 15. No formal interim minutes posted.
- IETF Datatracker: no new revisions — transport-18 (Day +35, published May 12), msf-01 (June 2), cmsf-01 (June 3), loc-02, secure-objects-00, privacy-pass-02.
draft-lcurley-moq-timestamp-00(June 12) unchanged;draft-ietf-moq-dts4moqstill not submitted (404). - Interop runner: 2026-06-16 00:57:25 UTC report 225/60/134/30 (~26.7% pass; pass +5 rebound); at-target 40 (· 0 ahead · 185 behind); same 12-impl set; no shape/registration change; 29-day cadence.
- MoQ Monthly: no new issue since #2 (May 31).
- tobbee/moq-llm-wiki: no open issues.
Pages updated: discussions/discussions-2026-06.md (June 15→16 editorial-tail + contribution-ingest section + 2 deep-dives), drafts/moq-transport.md (June 16: afrind IANA-registry/relay-text cluster + #1764 + merges + Filters-on-SUBSCRIBE_TRACKS thread), implementations/moq-dev.md (June 16: SRT + FLV ingest gateways + custom tracks + lite-05 duration removal), implementations/imquic.md (June 16: #30 nested-namespace fix), implementations/openmoq.md (June 16: afrind moxygen version-gating cluster), interop/interop-runner.md (June 16 report 225/60/134/30 + +5 rebound), index.md (date bump), log.md (this entry).
Key findings:
- The draft-18 editorial wave decays from a 59-issue burst to a trickle in two days — and the residue is extensibility registries, the last structural piece of the Last-Call fill-out. June 14–15 was Cullen’s full read-through (Security + Management Considerations); June 15–16 is the tail, and afrind’s #1760/#1761 add IANA registries (extensible Object-Status payloads, extension/version compatibility) — answering Cullen’s June-14 #1681 (IANA table to track required extensions per MOQ version). After Security and Management, IANA Considerations completeness is the third boilerplate section WGLC requires; the editor is now closing it. The single new issue (#1764, retry-interval/REDIRECT) and the new list thread (Filters on SUBSCRIBE_TRACKS) are isolated points, not a new wave — the read-through has been absorbed.
- moq-dev/moq’s gateway surface flips from egress to ingress: SRT + FLV/RTMP are broadcast contribution on-ramps, not playback off-ramps. The wiki has tracked moq-dev’s egress bridges (WebRTC, MPEG-TS, HLS/LL-HLS, fMP4, MKV — June 7). June 15–16 adds the other direction: #1747 a moq-srt SRT ingest gateway and #1745 FLV/RTMP container support are exactly the two protocols broadcasters use to contribute live feeds into a CDN (SRT for pro contribution, RTMP/FLV the legacy encoder default). With #1748 generalizing the broadcast to carry arbitrary custom tracks, moq-dev/moq is now positioning as a drop-in replacement for an RTMP/SRT ingest tier — the same contribution-ingest thrust mondain/moqxr started June 3 (TilsonJoji’s SRT MPEG-TS ingest PR #14), now native in the most active impl.
- afrind is debugging the moxygen relay’s version negotiation, not its draft-18 conformance — a deliberate decision to keep the reference C++ relay on 14/16 while the matrix settles. PR #405 explicitly excludes draft-18 from moxygen’s default advertised versions and #406 gates bidi NAMESPACE forwarding on draft ≥16. This is the relay-operator counterpart to the interop matrix’s “cross-version noise” story: rather than chase draft-18 on
main(and re-break 14/16 interop), afrind is pinning moxygen’s negotiated versions and re-enabling the macOS relay_chain test (#407) to nail down gmarzot’s segfault (#403) on a stable version set. moxygen stays the floor relay on 14/16 while moq-rs-draft-18 carries the at-target matrix. - The interop +5 closes the loop on the June-15 prediction — the matrix’s at-target draft-18 cells were never at risk. June-15 flagged the −5 as transient matrix-on-
mainnoise from moq-dev’s June-14 churn and said to “watch for a rebound.” June 16 delivers it: pass returns to 60 (the June-14 level) with the structural facts — 225 cells, 40 at-target, 12 impls,moq-rs-draft-18at 18/18 — flat throughout. The recurring lesson holds: pass-count swings on the cross-version (14/16/17-vs-18) cells track impl-mainreshapes day-to-day, while the at-target draft-18 cells (the ones that matter for the target transition) move only on registration/conformance changes, of which there were none.
2026-06-15 — A full editorial review pass hits draft-18
TL;DR:
- Cullen Jennings (
fluffy) runs a comprehensive read-through of draft-18 and files ~59 moq-transport issues in a single day (#1677–#1748) — by far the largest single-author issue burst the wiki has tracked, dwarfing his own June-12 ~11-issue burst. The wave is concentrated on the sections an IETF draft needs filled out before Last Call: a large Security Considerations cluster (URI-scheme security #1679, bearer-token risk #1688, protecting E2E content from relays #1711, impersonation #1737, mutual TLS #1739, replay attacks #1740, E2E-encryption schemes #1741, resource exhaustion #1742); a brand-new Management Considerations push (#1683/#1713 section, #1692 client diagnostics, #1693 metrics); plus naming/bikeshed, URI/i18n, auth-token-lifecycle, and fetch/fill/object-model clarifications. Several auth items were opened and closed the same day (#1686/#1687/#1719/#1736). afrind answers in a tight editor↔reviewer loop: he merges ~8 small editorial PRs (#1657 PROPERTIES-bit June 14, then #1734/#1731/#1714/#1700/#1691/#1690/#1689 early June 15) and opens ~15 clarification PRs (#1698 FIN-vs-RST superseding #1676, #1708–#1712, #1749–#1758) directly addressing the review issues — incl. recommend Secure Objects for confidentiality #1755, drop mutual-TLS speculation #1754, rename Message Payload→Message Body #1756. This is the work-mode shift from London structural design (SWITCH/fill/auth) to editorial maturation — the signature of a draft heading toward WGLC. - Otherwise quiet: no new spec revision, near-silent list and Slack. No new Datatracker revision (transport-18 Day +34;
draft-ietf-moq-dts4moqstill 404; [[moq-timestamp|draft-lcurley-moq-timestamp-00]] unchanged). Mailing list adds only two June-14 items — a community moq-encoder-player v16 release (Jordi Cenzano, “big refactor + prettify”) + the weekly GitHub digest — no new design threads (AUTH design team + timestamp remain the latest). Slack near-silent (newest is still Martin Duke’s June-12 logo). No new MoQ Monthly (#2). tobbee/moq-llm-wiki: no open issues. - Implementations: moq finishes the Windows capture path + runs a JSR-publishing wave (June 14 daytime → ~23:01 UTC, kixelated unless noted, ~15 PRs MERGED) — #1718 D3D11 zero-copy + HW H.264 MERGED (+981/−88), #1732 Windows dual-stack +
setup.bat(+289/−12), #1740 HW-encoder test; JSR: #1725 publish to JSR alongside npm (+152/−19) + #1729<moq-console>demo output (+256/−2) + 1738 doc-gen/license fixes; kio reworks #1735/#1739; #1728 remove capture from moq-cli (+9/−209); #1717 unauthorized-announce session-survival MERGED; new OPEN #1727 metadata-over-MoQ helpers (+1686/−6) + #1726@moq/wasmdrop-in for@moq/net(+1982/−415). moqx bot sync #402 + new macOS relay_chain segfault Issue #403 (gmarzot). moq-rs #178 draft-18 request-ID removal still OPEN (now +1133/−551). quiche moqt (June 6), imquic, moq-js, moqtail, Moqtopus, quicr/moq-web, moqlivemock, warp-player, Eyevinn/moqtransport quiet. - Interop: 225 / 55 / 139 / 30 at 2026-06-15 00:53:18 UTC (draft-18 target; ~24.4% pass) — pass dips 60 → 55 (−5), fail 134 → 139 (+5); matrix flat at 225 cells, skip flat at 30, at-target flat at 40 (· 0 ahead · 185 behind). Same 12-impl registration set. The −5 is most plausibly cross-version noise from moq-dev/moq’s heavy June-14 main-branch churn (Windows-capture / JSR / kio reshapes), the recurring matrix-on-
mainsensitivity pattern — not a registration or shape change. 28-day cadence streak (new longest).
Operation: Update Sources:
- Slack
#moq(new since June 14 update): none — newest message is still Martin Duke’s June-12 15:49 CEST “I made us a logo”; no June-14/15 traffic at check time. MCP probe on C046V0QF3CK returned real messages (verified working).#moq-rs/#moq-js/#libquicr/#moq-interop-runnernot separately surfaced. - GitHub moq-wg repos:
- moq-transport: Cullen Jennings (
fluffy) issue wave — ~59 issues filed June 14–15 across #1677–#1748 (security considerations, management considerations, naming/bikeshed, URI/i18n, auth-token lifecycle, fetch/fill, object model, IANA). Several opened+closed same day (#1686/#1687/#1719/#1721/#1723/#1736); #1661 (priority-without-per-object) CLOSED June 14. afrind editorial PR cluster — MERGED #1657 (PROPERTIES-bit, June 14 13:03 UTC), then June 15 04:53–05:02 UTC #1734 (punctuation, fluffy), #1731 (formatting, fluffy), #1714 (SUBSCRIBE_NAMESPACE→SUBSCRIBE_TRACKS in 0-RTT, sharmafb), #1700 (remove chat/upload statement, fluffy), #1691 (ALPN clarification, fluffy), #1690 (AI-assistance mention, fluffy), #1689 (parsing-serialized-names ordering, sharmafb); OPEN #1698 (FIN vs RST/STOP_SENDING, supersedes CLOSED #1676), #1708 (Group/Subgroup terminology), #1709 (0-RTT security ref), #1710 (namespace discovery), #1712 (varint multiple encodings), #1749 (REDIRECT applicability), #1750 (SUBSCRIBE_NAMESPACE example syntax), #1751/#1752/#1753, #1754 (drop mutual-TLS speculation), #1755 (recommend Secure Objects for confidentiality), #1756 (Message Payload→Message Body), #1757 (name §7 priority parameters), #1758 (subgroup end via FIN, not Object Status). June-14 SWITCH_FROM cluster (#1673/#1674/#1675) still OPEN. - msf, loc, secure-objects, cmsf, catalog-format, privacy-pass: quiet.
- moq-transport: Cullen Jennings (
- GitHub implementations:
- moq-dev/moq (June 14 ~15:00 → ~23:01 UTC, kixelated unless noted): MERGED #1718 (Windows D3D11 zero-copy + HW H.264, +981/−88), #1732 (Windows dual-stack IPv4/IPv6 + setup.bat +
just dev, +289/−12), #1740 (Windows HW-encoder test), #1739 (kio: split waiters by condition, +238/−24), #1735 (kio: Producer::poll/wait read-only predicate, +98/−94), #1738 (document JSR exports, +370/−76), 1730 (JSR doc-gen/license/race fixes), #1729 (<moq-console>demo output, +256/−2), #1728 (remove capture from moq-cli, +9/−209), #1725 (publish to JSR alongside npm, +152/−19), #1717 (don’t tear down session on unauthorized announce-interest, +304/−6), 1721 (dependabot); OPEN #1727 (metadata-over-MoQ helpers, +1686/−6), #1726 (@moq/wasmdrop-in for@moq/net, +1982/−415), 1722 (dependabot), #1676 (moq-bot release); CLOSED #1737 (Windows Media Foundation HW encode, superseded by #1718), #1736 (read-frames-in-place), #1734 (doc dead-link), #1680 (dynamic-ffmpeg release path, ~04:59 UTC). - openmoq/moqx: #402 (omoq-sync-bot, moxygen bdb0897) MERGED June 14 17:50; Issue #403 OPEN June 14 16:39 (gmarzot, macOS relay_chain segfault in proxygen WebTransport uni-stream dispatch).
- cloudflare/moq-rs: #178 (englishm, draft-18 remove MAX_REQUEST_ID / bidi-stream requests, now +1133/−551) still OPEN, updated June 15 03:28 UTC.
- google/quiche (
quiche/quic/moqt, last commit June 6), meetecho/imquic, video-dev/moq-js, moqtail/moqtail, kota-yata/Moqtopus, quicr/moq-web, Eyevinn/moqlivemock + warp-player + moqtransport, birneee/quiche_moq: quiet.
- moq-dev/moq (June 14 ~15:00 → ~23:01 UTC, kixelated unless noted): MERGED #1718 (Windows D3D11 zero-copy + HW H.264, +981/−88), #1732 (Windows dual-stack IPv4/IPv6 + setup.bat +
- Mailing list: two new June-14 items — moq-encoder-player v16 release (Jordi Cenzano Ferret, “big refactor + prettify”) + the Weekly GitHub Digest (Repository Activity Summary Bot). No new design threads since June 12 (AUTH design team + “How timestamps totally solve delivery timeout” remain latest); no formal interim minutes posted.
- IETF Datatracker: no new revisions — transport-18 (Day +34, published May 12), msf-01 (June 2), cmsf-01 (June 3), loc-02, secure-objects-00, privacy-pass-02, locmaf-00 (June 2).
draft-lcurley-moq-timestamp-00(June 12) unchanged;draft-ietf-moq-dts4moqstill not submitted (404). - Interop runner: 2026-06-15 00:53:18 UTC report 225/55/139/30 (~24.4% pass; pass −5); at-target 40 (· 0 ahead · 185 behind); same 12-impl set; no shape/registration change; 28-day cadence.
- MoQ Monthly: no new issue since #2 (May 31).
- tobbee/moq-llm-wiki: no open issues.
Pages updated: discussions/discussions-2026-06.md (June 14→15 editorial-review-pass section + deep-dive), drafts/moq-transport.md (June 15: Cullen ~59-issue review wave + afrind editorial PR cluster + merges), implementations/moq-dev.md (June 15: Windows capture finish + JSR publishing + kio reworks + new OPEN metadata/wasm), interop/interop-runner.md (June 15 report 225/55/139/30 + −5-dip note), index.md (date bump), log.md (this entry).
Key findings:
- draft-18’s work-mode flips from “design the missing wire features” to “fill out the document for Last Call” — and the tell is which sections Cullen reads. The June-9→14 arc was structural: SWITCH-as-parameter, fill-fetch streams, the AUTH design team, the Joining-FETCH replacement. June 14–15 is editorial: Cullen Jennings does a full read-through and files ~59 issues, the largest single-author burst the wiki has tracked, concentrated on Security Considerations and a brand-new Management Considerations section — exactly the boilerplate IETF requires before a Working-Group Last Call. The substantive wire design now lives in afrind’s open PRs (SWITCH_FROM, fill-fetch); what remains is polish and required-section completion. This is what a core spec looks like as it approaches maturity.
- The Security-Considerations cluster turns the long-running relay-trust / DoS / privacy threads into formal spec text. Cullen’s #1711 (protecting end-to-end content from relays), #1737 (impersonation), #1739 (mutual TLS), #1740 (replay), #1741 (E2E encryption), and #1742 (resource exhaustion) are the same relay-trust/DoS/privacy surface tracked across the DDoS #374 and privacy #515 issues afrind triaged June 13 — now being written up as a coherent Security Considerations section rather than scattered design issues. afrind’s #1755 (point readers at Secure Objects for confidentiality) and #1754 (drop the out-of-scope mutual-TLS speculation) are the first text answers.
- The editor↔reviewer loop is unusually tight — afrind is converting review issues into PRs within hours, on the same day. Cullen files issues June 14–15; afrind merges ~8 trivial editorial fixes and opens ~15 clarification PRs in the same window, several explicitly tracking specific review issues (subgroup-end-via-FIN #1758→#1728, Message-Payload→Message-Body #1756→#1717, varint-encodings #1712). This is the same chair-as-throughput-bottleneck dynamic flagged June 14 (afrind converting the backlog), now operating at editorial scale and cadence.
- The interop −5 is the recurring matrix-on-
mainnoise pattern, not a draft-18 regression. moq-dev/moq’s June-14 churn (Windows D3D11 capture, JSR publishing, two kio Producer/waiter reshapes, removing capture from moq-cli) touched the connection and producer core; running the matrix against each impl’smainre-broke marginal cross-version cells, exactly as the May-22/24, May-28, and June-5/6 dips did. The structural facts — 225 cells, 40 at-target, 12 impls, no registration change — are flat, so the at-target draft-18 cells (the cells that actually matter for the target transition) are unaffected. Watch for a rebound as the churn settles, mirroring the June-8 +11 recovery.
2026-06-14 — Post-interim backlog starts converting to PRs
TL;DR:
- The interim’s “triage backlog” begins converting into spec PRs, and it is afrind doing the conversion in two moves. First (June 13 12:30–13:07 UTC) a triage/assignment pass over ~10 backlog issues — assigning owners (Suhas + Mo on the TIMESTAMP-codepoint-collision #1647; Concurrent-Subscribe #1633), commenting on DDoS #374 / privacy #515 — and closing #1023 (“Subgroups and DELIVERY_TIMEOUT can result in pathological FETCH”) as COMPLETED. Then (June 14 00:18–00:51 UTC) three new PRs in 33 minutes materialize two London design directions: PR #1673 “Replace Joining FETCH with fill fetch streams” (+205/−179, a revision of #1642 — any object range satisfiable, pre-Largest-Object portion on a unidirectional fill-fetch stream; adds
RelativeStartFill+FILL_PARAMETERS); PR #1674 “Track Switching via the SWITCH_FROM parameter” (+97/−0, aSWITCH_FROMparameter for SUBSCRIBE/PUBLISH_OK/REQUEST_UPDATE with a Mode enum + “Hard” mode + “Publish Done” option, answering #1354); PR #1675 “SWITCH_FROM Soft Mode” (+14/−3, group-aligned soft drain via filter-to-Start-Group−1). The spec-PR counterpart to the June-12 issue burst. - Otherwise quiet: no new spec revision, no list threads, no minutes. No new Datatracker revision (transport-18 Day +33;
draft-ietf-moq-dts4moqstill 404; [[moq-timestamp|draft-lcurley-moq-timestamp-00]] unchanged). No new mailing-list threads since June 12 (AUTH design team + timestamp are latest; no formal interim minutes posted yet). Slack near-silent (newest is Martin Duke’s June-12 logo). No new MoQ Monthly (#2). tobbee/moq-llm-wiki: no open issues. - Implementations: moq finishes the native-capture / drop-ffmpeg bet per-platform (June 13 14:06 → June 14 05:23 UTC, ~13 PRs MERGED) — #1704 native V4L2 + NVENC, drop VAAPI+nokhwa (+448/−673); #1716 native Windows Media Foundation, drop nokhwa (+422/−283); #1720 VAAPI via cros-codecs + NV12 (+460/−38); #1718 OPEN Windows D3D11 zero-copy + HW H.264 (+976/−88); #1680 (dynamic-ffmpeg release path) CLOSED as superseded. moq-net hardening: #1714 real fan-out (+543/−34), #1715, #1713, #1707, #1711; + skirsten
@moq/watchfixes (#1365/#1399/#1400). moq-rs (#178 still OPEN), imquic, quiche moqt (June 6), moq-js, moqtail, Moqtopus (June 11), quicr/moq-web (June 9), moqx, moqlivemock (June 8), warp-player, Eyevinn/moqtransport quiet. - Interop: 225 / 60 / 134 / 30 at 2026-06-14 00:50:22 UTC (draft-18 target; ~26.7% pass) — pass 57 → 60 (+3), fail 137 → 134 (−3); matrix flat at 225 cells, skip flat at 30, at-target flat at 40 (· 0 ahead · 185 behind). The June-13 moq-dev draft-18 join stabilizes into passing cells rather than adding new ones. 27-day cadence streak (new longest).
Operation: Update Sources:
- Slack
#moq(new since June 13 update): none — newest message is still Martin Duke’s June-12 15:49 CEST “I made us a logo”; no June-13/14 traffic at check time.#moq-rs/#moq-js/#libquicr/#moq-interop-runnernot separately surfaced. - GitHub moq-wg repos:
- moq-transport: afrind PR cluster — PR #1673 (fill fetch streams, +205/−179) OPEN June 14 00:18 UTC; PR #1674 (SWITCH_FROM parameter, +97/−0) OPEN June 14 00:50 UTC; PR #1675 (SWITCH_FROM Soft Mode, +14/−3) OPEN June 14 00:51 UTC; PR #1642 touched 00:19 UTC (still OPEN). Triage pass June 13 12:30–13:07 UTC (afrind: assignments + comments across #374/#515/#881/#899/#1068/#1234/#1519/#1633/#1647); #1023 CLOSED 12:35 UTC as COMPLETED). PR #1623 (ianswett, Remove Request ID from GOAWAY) + PR #1613 (MAX_REQUEST_UPDATES) touched June 13. No spec PRs merged.
- msf: kixelated comments on #130 (“
catalogby convention”) + #135 (June 12 ~14:26-16:48 UTC; tail of the June-12 burst). No new issues created June 13-14. - loc, secure-objects, cmsf, catalog-format, privacy-pass: quiet.
- GitHub implementations:
- moq-dev/moq (June 13 14:06 → June 14 05:23 UTC, kixelated unless noted): MERGED #1704 (V4L2/NVENC, drop VAAPI+nokhwa, +448/−673), #1716 (Windows Media Foundation, +422/−283), #1720 (VAAPI via cros-codecs, +460/−38), #1714 (js/net real fan-out, +543/−34), #1715 (+251/−8), #1713 (+428/−333), #1707, #1711, #1712, #1710, #1719 (docs), skirsten 1400; OPEN #1718 (D3D11 zero-copy + HW H.264, +976/−88), #1717 (session-teardown fix); CLOSED #1680 (dynamic-ffmpeg release path, superseded), 1373 (skirsten).
- cloudflare/moq-rs: #178 (draft-18 request-ID removal, +753/−568) still OPEN since June 12; 171 (AuthHook) + #167 (Filter Support) older OPEN. No new activity.
- google/quiche (
quiche/quic/moqt, last commit June 6), meetecho/imquic (#29 June 12), video-dev/moq-js (PR #72), moqtail/moqtail, kota-yata/Moqtopus (June 11), quicr/moq-web (June 9), openmoq/moqx (#401 June 12), Eyevinn/moqlivemock (June 8) + warp-player + moqtransport: quiet.
- Mailing list: no new threads since June 12 (“AUTH design team” + “How timestamps totally solve delivery timeout” remain latest). No formal interim minutes posted.
- IETF Datatracker: no new revisions — transport-18 (Day +33, published May 12), msf-01, cmsf-01, loc-02, secure-objects-00, privacy-pass-02.
draft-lcurley-moq-timestamp-00(June 12) unchanged;draft-ietf-moq-dts4moqstill not submitted (404). - Interop runner: 2026-06-14 00:50:22 UTC report 225/60/134/30 (~26.7% pass; pass +3); at-target 40 (· 0 ahead · 185 behind); no shape/registration change; 27-day cadence.
- MoQ Monthly: no new issue since #2 (May 31).
- tobbee/moq-llm-wiki: no open issues.
Pages updated: discussions/discussions-2026-06.md (June 13→14 backlog-converts-to-PRs section + 2 deep-dives), drafts/moq-transport.md (June 14: afrind SWITCH_FROM + fill-fetch PR cluster + triage pass + #1023 closed), implementations/moq-dev.md (June 14: native-capture finishes per-platform + moq-net hardening), interop/interop-runner.md (June 14 report 225/60/134/30 + at-target-stabilizes note), index.md (date bump), log.md (this entry).
Key findings:
- The interim’s deliverable shifts from backlog to draft text — and the conversion is concentrated in one chair’s hands. The June-13 entry framed the interim’s output as “a triage backlog, not minutes.” June 13-14 is the first day that backlog visibly converts: afrind first assigns owners across ~10 issues and closes the long-standing pathological-FETCH #1023, then opens three PRs in 33 minutes that turn the SWITCH/DTS-implementation-lessons slot and the Joining-FETCH-replacement agenda item into concrete wire text. The hackathon→interim→issue-burst→triage+PR loop the wiki has tracked since June 9 has now run a full cycle, with afrind as the throughput bottleneck on the transport side.
- The SWITCH redesign answers a seven-month-old question by making SWITCH a parameter, not a message. PR #1674 explicitly cites Issue #1354 (acbegen, Nov 2025, “Why do we need a dedicated SWITCH message?”) and resolves it in the negative: track switching becomes a
SWITCH_FROMparameter carried on existing SUBSCRIBE/PUBLISH_OK/REQUEST_UPDATE messages, with a Mode enum (Hard now, Soft in #1675, more later) rather than a new control message. This is the same “extension/parameter over new-message” minimalism the WG applied to DTS (extension document, not base-spec integration) and to the request-ID-removal direction — the draft-18-era preference for fewer message types and more parameterization. - The fill-fetch redesign and the #1023 closure are the same problem solved twice. #1023 (closed COMPLETED June 13) was about Subgroups + DELIVERY_TIMEOUT producing a pathological FETCH; PR #1673/#1642 rebuild past-object retrieval around subscription fill filters + fill-fetch streams instead of a separate Joining-FETCH request type. Closing the FETCH-pathology issue the same day afrind advances the fill-fetch revision is consistent: the redesign subsumes the old FETCH-prioritization edge cases (cf. the June-3→11 Joining-FETCH/Fill history on moq-transport).
- moq-dev/moq’s native-capture bet resolves cleanly — and the dynamic-ffmpeg fallback is explicitly abandoned. The June-12 #1691 ffmpeg removal is now followed through per-platform: V4L2 (Linux), Windows Media Foundation, D3D11 zero-copy + hardware H.264, NVENC-via-dlopen, and a clean VAAPI reintroduction on
discord/cros-codecs. The telling signal is #1680 CLOSED — the “ship capture with dynamic ffmpeg in release binaries” path is dropped, confirming kixelated is committing to native encoders rather than hedging with a bundled-ffmpeg fallback. With capture native, the parallel moq-net hardening (real broadcast fan-out, cached-state release on producer abort, API-surface tightening, unauthorized-announce session-survival) is the connection-layer cleanup that the matrix runs against onmain— worth watching as the next potential source of interop noise.
2026-06-13 — London interim closes; post-interim issue wave + new timestamp I-D
TL;DR:
- The formal London interim concludes on Day-2 (June 12) and its design discussion immediately becomes a GitHub issue wave plus a new individual I-D — there are no formal minutes yet, but there is a lot of triage. Cullen Jennings (
fluffy) opens ~11 moq-transport issues June 12 (#1661–#1672: subgroup→stream mapping, object ordering, “how does auth work”, varint footgun, Sub-Group terminology, protocol-violation differentiation, priority-without-per-object) — the largest single-author transport issue burst the wiki has tracked — plus Michal Hošna #1663 (Known Properties processing rules). Gwendal Simon opens ~7 MSF issues (#178–#184, several LondonInterim-tagged: catalog mutability, MSF/CMSF URL fragments, event-timeline header, initData update, LOCMAF reference, object-to-stream mapping). Martin Duke spins up an “AUTH design team” mailing-list thread (replies from Mike English, Aman Sharma, Suhas, Cullen), and consequently suhasHere’s REQUEST_ERROR Error-Payload PR #1659 is CLOSED without merge — the privacy-pass challenge-carrier question moves to the design team. thibmeu adds privacy-pass #18. - A new individual draft — [[moq-timestamp|
draft-lcurley-moq-timestamp-00]] “MoQ Object Timestamp Extension”](https://datatracker.ietf.org/doc/draft-lcurley-moq-timestamp/) — is posted by Luke Curley June 12 (expires Dec 14 2026): a track-level Timescale + object-level Timestamp + optional Duration, so relays make consistent age-based drop/timeout decisions without parsing the media container. It lifts moq-dev/moq’s moq-lite-05 per-frame timestamp wire change (PR #1681, merged June 12) into a portable MOQT extension, and is the spec behind Martin Duke’s list thread “How timestamps totally solve delivery timeout.” No new Datatracker WG revision (transport-18 Day +32;draft-ietf-moq-dts4moqstill unsubmitted, 404); no new MoQ Monthly (still #2); no formal interim minutes posted yet; Slack near-silent (Mike’s Day-2 Meetecho link + Martin Duke’s “I made us a logo”). - Implementations: moq runs its largest media-pipeline burst yet (June 12 15:30 → June 13 05:47 UTC, kixelated unless noted, ~15 PRs MERGED) — #1691 native per-platform H.264 + zero-copy capture, drop ffmpeg (+3561/−698), #1682 overlay player UIs (+3372/−1266), #1701 (arielmol) moq-mux legacy MPEG-TS mp2/ac-3/e-ac-3 audio (+1377/−13), #1698 cert pinning, #1686 Windows/winget, #1706 BBR3, moq-mux SIMD hardening (#1694–#1697); new OPEN #1704 drop-VAAPI/add-NVENC, #1707, #1710, #1692. moq-rs #178 OPEN (englishm, draft-18 “Remove MAX_REQUEST_ID, use bidi streams for requests”, +753/−568). imquic #29 MERGED (lminiero, LOC private-object payload prefix, +151/−52 — resolves the June-9 ambiguity). moqx bot sync (#401). quiche moqt, moq-js (PR #72), moqtail, Moqtopus, moqlivemock, warp-player, Eyevinn/moqtransport, quicr/moq-web quiet.
- Interop: 225 / 57 / 137 / 30 at 2026-06-13 00:51:28 UTC (draft-18 target; ~25.3% pass) — matrix grows 213 → 225 cells (+12), pass 55 → 57 (+2), and at-target more than doubles 16 → 40 (· 0 ahead · 185 behind) as
moq-dev-rs+moq-dev-jsjoin draft-18 pairings. 26-day cadence streak (new longest). The at-target jump, not the +2 pass, is the structural story.
Operation: Update Sources:
- Slack
#moq(new since June 12 update): only two June-12 items — Mike English 10:32 CEST (Day-2 morning Meetecho session 35336) + Martin Duke 15:49 CEST (“I made us a logo”). No June-13 traffic at check time.#moq-rs/#moq-js/#libquicr/#moq-interop-runnernot separately surfaced. - GitHub moq-wg repos:
- moq-transport: issue burst June 12 — fluffy #1661/#1662/#1664/#1665/#1666/#1667/#1668/#1669/#1670/#1671/#1672 (11:13-14:28 UTC) + michalhosna #1663; PR #1659 (suhasHere, Error Payload) CLOSED 13:13 UTC without merge; #1658 (Suhas, generic AUTH challenges) still OPEN. No spec PRs merged.
- msf: gwendalsimon #178/#179/#181/#183/#184 + #182 (opened+closed) + Suhas #180 (13:44-14:31 UTC, several LondonInterim-tagged).
- privacy-pass: thibmeu #18 (12:25 UTC).
- loc, secure-objects, cmsf, catalog-format: quiet.
- GitHub implementations:
- moq-dev/moq (June 12 15:30 → June 13 05:47 UTC): MERGED #1691 (drop ffmpeg, +3561/−698), #1682 (overlay UIs, +3372/−1266), #1701 (arielmol, legacy MPEG-TS audio, +1377/−13), #1698 (cert pinning), #1690 (AAC), #1702 (announce gating), #1706 (BBR3), #1705 (cluster.connect URL), #1708 (mic error), #1693–#1700/#1703 (SIMD moq-mux + chores); OPEN #1704 (drop VAAPI / NVENC), #1707, #1710, #1692, #1684 (Qizot). Closed Issue #1449 (via #1682).
- cloudflare/moq-rs: #178 (englishm, draft-18 remove MAX_REQUEST_ID / bidi-stream requests, +753/−568) OPEN June 12 14:22 UTC; 177 still OPEN.
- meetecho/imquic: #29 (lminiero, LOC private-object payload prefix, +151/−52) MERGED June 12 08:54 CEST.
- openmoq/moqx: #401 (omoq-sync-bot, moxygen 68e2d98) MERGED June 12 — housekeeping.
- google/quiche (
quiche/quic/moqt, last commit June 6), video-dev/moq-js (PR #72), moqtail/moqtail, birneee/quiche_moq, kota-yata/Moqtopus, Eyevinn/moqlivemock + warp-player + moqtransport, quicr/moq-web: quiet.
- Mailing list (June 12; no June-13 traffic): “How timestamps totally solve delivery timeout” (Martin Duke, replies Luke Curley) — behind draft-lcurley-moq-timestamp-00; “AUTH design team” (Martin Duke, replies Mike English / Aman Sharma / Suhas / Cullen); “Re: London interim Meetecho links” (Mike English, logistics). No formal interim minutes posted.
- IETF Datatracker: no new WG revision — transport-18 (Day +32, expires Nov 13 2026), msf-01, cmsf-01, loc-02, secure-objects-00, privacy-pass-02, locmaf-00 unchanged. NEW individual I-D —
draft-lcurley-moq-timestamp-00(Luke Curley, posted June 12, expires Dec 14 2026).draft-ietf-moq-dts4moqstill not submitted (404). - Interop runner: 2026-06-13 00:51:28 UTC report 225 cells / 57 pass / 137 fail / 30 skip (~25.3% pass; pass+fail+skip = 224, one cell indeterminate); at-target 16 → 40 (· 0 ahead · 185 behind); moq-dev-rs + moq-dev-js join draft-18; 26-day cadence.
- MoQ Monthly: no new issue since #2 (May 31).
- tobbee/moq-llm-wiki: no open issues.
Pages updated: discussions/discussions-2026-06.md (June 12→13 post-interim section + 4 deep-dives), drafts/moq-timestamp.md (NEW page — draft-lcurley-moq-timestamp-00), drafts/moq-transport.md (June 13: Cullen ~11-issue burst + AUTH design team + #1659 closed), drafts/moq-msf.md (June 13: Gwendal ~7-issue burst), drafts/moq-privacy-pass.md (June 13: #18 + auth design team + #1659 dropped), drafts/moq-loc.md (June 13: imquic #29 resolves the June-9 private-properties ambiguity), interop/interop-runner.md (June 13 report 225/57/137/30 + at-target-doubles note), implementations/moq-dev.md (June 13: largest media burst — drop-ffmpeg #1691, legacy TS audio #1701, BBR3, draft-18 matrix join), implementations/moq-rs.md (June 13: #178 draft-18 request-ID removal), implementations/imquic.md (June 13: #29 LOC payload prefix), discussions/interim-meetings.md (June 13: interim concluded), people/luke-curley.md (timestamp draft), index.md (moq-timestamp row + date bump), log.md (this entry).
Key findings:
- The interim’s deliverable is a triage backlog, not minutes — and that is itself the signal. The formal London sessions concluded June 12, but as of June 13 there are no written minutes; what materialized instead, within hours, is the largest concentrated issue burst the wiki has tracked: ~11 Cullen Jennings moq-transport issues + ~7 Gwendal Simon MSF issues, most LondonInterim-tagged. This is the third consecutive day (June 11 triage wave → June 12 burst → June 13 backlog) showing the hackathon → interim → repo loop closing in near-real-time. The character has shifted from June-11’s resolutions (afrind closing 1507, “discussed in London”) to June-12’s new open questions — the floor surfaced more than it settled, and the backlog now feeds the June 22 / July 6 virtual interims.
- Luke Curley’s timestamp work crosses from implementation into a standards-track artifact in one day — the cleanest example yet of the moq-dev → I-D pipeline. June 12 morning his moq-lite-05 per-frame timestamp+duration wire change merges (PR #1681); the same day he posts [[moq-timestamp|
draft-lcurley-moq-timestamp-00]] generalizing it into a container-agnostic MOQT extension; and Martin Duke (chair) champions it on the list as the delivery-timeout answer. It is the third Luke-Curley individual draft (moq-lite, compressed-mp4, now timestamp) that prototypes in the stack first and surfaces as a portable transport extension — and it directly addresses the delivery-timeout question behind the June-11 closure of Issue #1489. - Auth becomes an explicit, coordinated workstream. Three separate threads that had been circling auth — Cullen’s “how does auth work” #1662, Suhas’s generic-AUTH-challenges #1658, thibmeu’s privacy-pass #16/#17/#18 — get folded into Martin Duke’s new AUTH design team, and the point-fix candidate (suhasHere’s Error-Payload PR #1659) is dropped in favor of design-team coordination. This mirrors the DTS/SWITCH design-team pattern: contested cross-draft surface → dedicated team rather than ad-hoc PRs.
- moq-dev/moq’s burst confirms the post-conformance pivot — the matrix follows the floor with a one-day lag. With draft-18 wire conformance behind it, kixelated spends June 12-13 on the broadest media-surface push tracked here: the PR #1691 ffmpeg removal (native per-platform H.264) is a structural bet against the soname-churn fragility behind recent capture bugs, and arielmol’s legacy-MPEG-TS-audio PR #1701 widens the broadcast-interchange surface opened by the June-12 SCTE-35 round-trip. On the automated matrix this lands as
moq-dev-rsandmoq-dev-jsjoining draft-18 pairings, the single biggest at-target jump yet (16 → 40) — the matrix’s at-target count is now driven by impls advertising draft-18 on more roles, not by new endpoint registrations.
2026-06-12 — Formal London interim opens; moq-rs lands draft-18
TL;DR:
- The London interim’s formal sessions begin (June 11 hybrid Day-1, June 12 Day-2 in progress), and the hackathon’s draft-18 momentum converts straight into WG decisions and registered matrix endpoints. Two June-11 Meetecho sessions ran (morning 35333, afternoon 35334); outcomes already surface as moq-transport triage — afrind marks Issue #1650 “Discussed in London — agree to remove the SHOULD in favor of giving relays more discretion” (Forward=1 upstream), Issue #1489 (Reconnect Timeout) + Issue #1507 (sender bitrate) closed, and Martin Duke opens Issue #1660 (“SUBSCRIBE_TRACKS should contain SUBSCRIBE parameters” — London consensus). Mike English creates a new moq-transport GitHub-wiki page,
ad-hoc-interop-reports, to capture the anecdotal floor interop the runner can’t see (Suhas’s moq-web ↔ 3 relays; Kota’s Moqtopus ↔ imquic) — formalizing the floor-vs-matrix distinction the wiki has tracked for two weeks. - cloudflare/moq-rs lands draft-18 in a single day, closing the version-axis gap the June-11 entry flagged as the last holdout. moq-rs PR #173 “Start work on draft-18” MERGED June 11 10:52 UTC (+5638/−3477); follow-on PR #176 (Draft) routes ongoing draft-18 fixes to a
draft-18-devbranch auto-deployed tomoqt://draft-18-interop.cloudflare.mediaoverquic.com:443. The runner’s June 12 report registersmoq-rs-draft-18as a third draft-18 endpoint (aftermoqt-nr+imquic). Separately, Kota Yatagai’s Moqtopus now receives objects from imquic (June 11 04:07 CEST, after PR #28 landed) — SETUP/SUBSCRIBE/SUBSCRIBE_OK/REQUEST_ERROR/subgroup objects all negotiated. No new Datatracker revision (transport-18 Day +31;draft-ietf-moq-dts4moqstill unsubmitted); no new MoQ Monthly (still #2). - Implementations: moq Day-2/3 burst (June 11 19:42 → June 12 03:46 UTC) — #1681 moq-lite-05 negotiate-by-default + per-frame timestamp+duration on the wire MERGED (+278/−84), #1685 moq-mux SCTE-35 export back to MPEG-TS (arielmol) MERGED (+1165/−42, completes the round-trip w/ June-4 #1617 ingest), #1690 AAC encode + #1689 canvas preview + #1674 moq-ffi dynamic tracks (Qizot) MERGED; new OPEN #1691 native per-platform H.264 + zero-copy capture, drop ffmpeg (+11213/−2893), #1682 overlay player UIs, #1686 Windows/winget, #1684 (Qizot). moq-rs #173 draft-18 MERGED + #176 dev branch + #177 docs. imquic Moqtopus interop confirmed (objects flowing). Moqtopus (kota-yata) direct pushes (interop client + RequestError). moqx bot sync (#400). quiche moqt, moq-js (PR #72), moqtail, moqlivemock, warp-player, Eyevinn/moqtransport, quicr/moq-web quiet.
- Interop: 213 / 55 / 128 / 30 at 2026-06-12 00:52:26 UTC (draft-18 target; 25.8% pass) — matrix grows 202 → 213 cells (+11); pass 50 → 55 (+5); at-target triples 5 → 16 (· 0 ahead · 197 behind) as
moq-rs-draft-18registers (third draft-18 endpoint). An extra intra-day run at 15:02 UTC during the session. 25-day cadence streak (new longest). The floor, the WG sessions, and the automated matrix now all describe the same draft-18 world.
Operation: Update Sources:
- Slack
#moq(new since June 11 update): formal-interim logistics — Mike English June 11 10:37 CEST (Meetecho links, morning session 35333) + Magnus Westerlund June 11 14:10 CEST (afternoon session 35334); Mike English June 11 13:19 CEST — new GitHub-wiki pagead-hoc-interop-reports(“capture anecdotal reports of interop… [the runner] is still the priority”); afrind June 11 09:13/09:51 CEST (“draft-18 over qmux-01?” →fb.mvfst.net:9448/moq-relaynow accepts qmux conns); Kota Yatagai June 11 04:07 CEST (“Successfully received object… SETUP, SUBSCRIBE, SUBSCRIBE_OK, REQUEST_ERROR and subgroup objects properly negotiated and handled between Moqtopus and imquic”, after imquic #28 merged June 10 21:24); social dinner logistics (Will Law / Mike English); Leto Baxevanaki (Bitmovin) + Rich Logan joined channel. No June-12 messages at check time.#moq-rs/#moq-js/#libquicr/#moq-interop-runnernot separately surfaced. - GitHub moq-wg repos:
- moq-transport: Issue #1660 OPEN June 11 15:05 UTC (martinduke, “SUBSCRIBE_TRACKS should contain SUBSCRIBE parameters” — London consensus); PR #1659 OPEN (suhasHere, “Add Error Payload field to REQUEST_ERROR for binary challenge data”, +18/−2) — thibmeu review June 11 19:33 supports it for privacy-pass-over-MoQ; Fill PR #1642 — vasilvv comment June 11 13:31 (add fill-fetch up to the largest object for enhancement-layer bandwidth savings); London triage pass June 11 ~20:55-21:21 UTC — afrind on #1650 (“Discussed in London — agree to remove the SHOULD…”), #1489 + #1507 CLOSED. DTS PR #1638 no new comments. privacy-pass: Issue #16 (retry behavior after auth challenge errors) + Issue #17 (appendix: retrieve key material / interact with issuer), both thibmeu June 11. msf, loc, secure-objects, cmsf, catalog-format: quiet.
- GitHub implementations:
- moq-dev/moq (June 11 19:42 → June 12 03:46 UTC): MERGED #1681 (moq-lite-05 negotiate-by-default + per-frame timestamp/duration, +278/−84), #1685 (arielmol, SCTE-35 export to MPEG-TS, +1165/−42), #1690 (AAC encode, +152/−50), #1689 (canvas + encoded preview, +286/−3), 1687 chores, #1683 (moq-gst follow-ups), #1674 (Qizot, moq-ffi dynamic tracks, +276/−16); OPEN #1691 (native H.264 + zero-copy capture, drop ffmpeg, +11213/−2893), #1686 (Windows/winget), #1684 (Qizot, mux import existing track), #1682 (overlay player UIs, +3372/−1266), #1679 (YogiSotho, simulcast attr), #1676 release.
- cloudflare/moq-rs: #173 (englishm, draft-18) MERGED June 11 10:52 UTC (+5638/−3477); #176 (Draft, ongoing draft-18 fixes on
draft-18-dev, auto-deployeddraft-18-interop.cloudflare.mediaoverquic.com:443) OPEN June 11 13:04 UTC; #177 (juliosuas, docs) OPEN June 11 21:04 UTC. - meetecho/imquic: #28 merged June 10 21:24 CEST — Moqtopus object reception now works (Kota June 11 04:07). No new PRs since.
- kota-yata/Moqtopus: direct pushes June 11 (interop client, RequestError/ErrorCode refactor, transport adapter, trace logs).
- openmoq/moqx: #400 (omoq-sync-bot, moxygen dd48542) MERGED June 11 — housekeeping.
- google/quiche (
quiche/quic/moqt, no commits since June 8), video-dev/moq-js (PR #72), moqtail/moqtail, birneee/quiche_moq, Eyevinn/moqlivemock + warp-player + moqtransport, quicr/moq-web (draft-18 branch quiet since June 10): quiet.
- Mailing list (June 11): “London interim Meetecho links” (Mike English, logistics); “Re: Joining FETCH Replacement Proposal” replies (Luke Curley + Mo Zanaty). London interim materials (agendas, slide decks, recordings, chat logs) posted for interim-08 (June 11) and interim-10/11 (June 12); formal written minutes not yet finalized at check time. No June-12 list traffic surfaced.
- IETF Datatracker: no new revisions — transport-18 (Day +31), msf-01, cmsf-01, loc-02, secure-objects-00, privacy-pass-02, locmaf-00 unchanged.
draft-ietf-moq-dts4moqstill not submitted (404). - Interop runner: 2026-06-12 00:52:26 UTC report 213/55/128/30 (matrix +11 cells;
moq-rs-draft-18registers; 16 at target · 0 ahead · 197 behind; 25-day cadence; extra intra-day run 15:02 UTC). - MoQ Monthly: no new issue since #2 (May 31).
- tobbee/moq-llm-wiki: no open issues.
Pages updated: discussions/discussions-2026-06.md (June 11→12 formal-interim section + deep-dives), interop/interop-runner.md (June 12 report 213/55/128/30 + at-target-triples note), interop/interop-endpoints.md (moq-rs draft-18-interop endpoint + qmux-01 on moxygen + ad-hoc-interop-reports page), drafts/moq-transport.md (June 12: formal interim opens + 1650 triage + Fill PR comment), drafts/moq-privacy-pass.md (June 12: issues 17 + #1659 carrier), implementations/moq-rs.md (June 12: PR #173 draft-18 MERGED + draft-18-interop endpoint + runner registration), implementations/moq-dev.md (June 12: Day-2/3 burst — SCTE-35 round-trip #1685, AAC #1690, drop-ffmpeg #1691), implementations/imquic.md (June 12: Moqtopus objects flowing), discussions/interim-meetings.md (June 12: formal sessions underway + visible outcomes), index.md (date bump), log.md (this entry).
Key findings:
- moq-rs closing the draft-18 gap in one day resolves the exact holdout the June-11 entry named. Yesterday’s key finding flagged cloudflare/moq-rs as the version-axis laggard — PR #173 still OPEN, “a two-draft gap behind” — while
moqt-nrandimquicregistered draft-18. June 12 erases that: PR #173 merges (June 11 10:52 UTC), a dedicateddraft-18-devbranch auto-deploys a publicdraft-18-interopendpoint, and the runner registersmoq-rs-draft-18. All three of the hackathon floor’s registrable draft-18 relay families (Nokia, imquic, moq-rs; moxygen + moq-dev remain floor-only) now have automated-matrix representation, and at-target triples 5 → 16 in one report. The structural draft-18 transition the wiki tracked from “no impl advertises it” (June 2-10) → “first endpoints register” (June 11) → “the laggard catches up” (June 12) is essentially complete on the matrix. - The hackathon-to-WG handoff is now visible in real time. June 9-10’s floor interop and June 11’s matrix registrations feed directly into the scheduled June 11-12 sessions, and the outcomes appear as GitHub triage within hours: afrind’s “Discussed in London” note on #1650, the #1489/#1507 closures, Martin Duke’s London-consensus #1660. This is the first time the wiki can watch implementation experience → hackathon → formal WG decision close the loop inside a single 72-hour window.
- Mike English’s
ad-hoc-interop-reportspage institutionalizes the floor-vs-matrix split the wiki has narrated since June 9. For two weeks the wiki’s interop coverage has had to distinguish what the automated interop-runner sees (a cross-version matrix onmain-of-each-impl) from what the floor produces (manually-stood-up draft-18 relays, live media flow). Mike now formalizes that gap with a manual GitHub-wiki registry — explicitly subordinate to the runner (“getting formal and systematic interop test results… is still the priority”) but capturing the anecdotal draft-18 successes (Suhas’s moq-web ↔ 3 relays, Kota’s Moqtopus ↔ imquic) the matrix can’t yet score. - moq-dev/moq’s burst pivots from draft-18 conformance to media-pipeline breadth. With draft-18 wire conformance (#1668) and the
moq-benchload-generator (#1675) behind it, the work now widens the media surface: AAC encode (#1690), canvas/encoded preview (#1689), and — notably — arielmol’s SCTE-35 export back to MPEG-TS (#1685), which closes the byte-exact MoQ↔TS SCTE-35 round-trip opened by the June-4 ingest PR #1617. The largest OPEN item, #1691 (+11213/−2893), rips outffmpeg-nextfor native per-platform H.264 + zero-copy capture — a bet on hardware encoders that, if it lands, removes the soname-churn fragility behind several recent capture bugs.
2026-06-11 — Hackathon Day 2: cross-impl draft-18 interop, 0-at-target floor breaks
TL;DR:
- The hackathon’s second day turns Day 1’s failed SETUP exchanges into working cross-implementation draft-18 interop, and the interop runner registers its first draft-18 endpoints. Suhas Nandakumar’s quicr/moq-web draft-18 client (
quicr.github.io/moq-web/branches/draft-18/) reported working publish/subscribe against three relays in one afternoon — Lorenzo’s imquiclminiero.it:9000(“sub-namespace flow is not working yet”), the Nokia Research relaymoqt.nokiaresearch.com:4443/moq, and afrind’s moxygen relayfb.mvfst.net:9448. Kota Yatagai’s Moqtopus subscriber negotiated SETUP + SUBSCRIBE/SUBSCRIBE_OK with imquic (object reception still failing on “invalid subgroup object status”), and kota-yata fixed a reciprocal bug in imquic (PR #28). afrind tallied four draft-18 relays — “Luke, Yu, Lorenzo and us”. This is the first day the wiki records successful draft-18 cross-impl media flow. - Two spec/process threads resolve on the list. The “Consensus Call: DTS and SWITCH” thread concludes June 10: Martin Duke (chair) explains to Cullen Jennings that the interim show-of-hands was “roughly even… not rough consensus” for base-spec integration but “no objections to adopting as an extension” — so DTS proceeds as
draft-ietf-moq-dts4moq(still unsubmitted), settling the June-4→8 back-and-forth. afrind queues 31 non-editorial issues in his “MOQT London Issues” deck for the two interim “Other MOQT Issues” blocks; PR #1657 (afrind, PROPERTIES-bit clarification) + PR #1656 (suhasHere, PubNs/SubNs authz) open; Mo Zanaty replies June 11 on Joining FETCH. No new Datatracker revision (transport-18 Day +30); no new MoQ Monthly (still #2). London formal interim sessions begin today (June 11-12). - Implementations: moq #1669 webcam capture+publish MERGED (+2109/−422), #1675
moq-benchrelay load-generator MERGED (+1343/−0), #1677/#1678 MERGED; new OPEN #1681 (moq-lite-05 negotiate-by-default + per-frame timestamp/duration on the wire), #1680, #1679 (YogiSotho), #1674 (Qizot). moq-rs #174 MERGED (renandincer,socket_wrapperhook, +100/−3) + #175 release; draft-18 PR #173 still OPEN. imquic #28 MERGED (kota-yata, publisher priority-bit fix). Moqtopus (kota-yata) active via direct pushes. moqx housekeeping (#399/#396). quiche moqt, moq-js (PR #72), moqtail, moqlivemock, warp-player, Eyevinn/moqtransport quiet. - Interop: 202 / 50 / 126 / 26 at 2026-06-11 00:49:24 UTC (draft-18 target) — matrix grows 176 → 202 cells (+26, all new cells skip); pass 51 → 50 (−1), but the version breakdown flips from 0 at target (held nine days) to 5 at target · 0 ahead · 197 behind. First draft-18 endpoints registered:
moqt-nr(Nokia Research, new) +imquic(gains draft-18). 24-day cadence streak (new longest). The automated matrix and the floor interop now point the same way: draft-18 is live.
Operation: Update Sources:
- Slack
#moq(new since June 10 update): Suhas Nandakumar June 10 14:51/17:13/23:56 CEST (quicr/moq-web draft-18 interop vs imquic / Nokia / moxygen relays); Kota Yatagai June 10 17:35 CEST (Moqtopus SETUP+SUBSCRIBE_OK vs imquic, object-status failure); afrind June 10 11:00 CEST (“the 18 relays … Luke, Yu, Lorenzo and us”); Mike English June 10 09:12/11:01 CEST (moq-rs relay “with a lot of gaps”); Luke Curley June 11 03:06 CEST (try the moq.dev clients); Rich Logan joined channel.#moq-rs/#moq-js/#libquicr/#moq-interop-runnernot separately surfaced. - GitHub moq-wg repos:
- moq-transport: PR #1657 OPEN June 10 15:33 UTC (afrind, “Clarify PROPERTIES bit description”, +2/−2); PR #1656 OPEN June 10 14:09 UTC (suhasHere, “Address concerns around PubNs and SubNs Authz”, +40/−0). DTS PR #1638 + Fill PR #1642 still OPEN. msf, loc, secure-objects, cmsf, catalog-format, privacy-pass: quiet.
- GitHub implementations:
- moq-dev/moq (June 10 → June 11 early UTC, kixelated unless noted): #1669 webcam capture MERGED (+2109/−422), #1675 moq-bench MERGED (+1343/−0), #1677 interop quickstart MERGED, #1678 favicon MERGED; OPEN #1681 (moq-lite-05 negotiate-by-default + per-frame timestamp/duration), #1680 (static-ffmpeg capture binaries), #1679 (YogiSotho, simulcast attr), #1674 (Qizot, moq-ffi dynamic track requests), #1676 (release).
- cloudflare/moq-rs: #174 (renandincer, socket_wrapper hook) MERGED June 10 14:17 UTC (+100/−3); #175 release MERGED June 10 14:30 UTC. Draft-18 #173 still OPEN.
- meetecho/imquic: #28 (kota-yata, publisher priority-bit fix) MERGED June 10 19:19 UTC (+3/−3).
- kota-yata/Moqtopus: active via direct pushes to default branch (subscriber example/README June 10; RequestError/ErrorCode enum + transport adapter + “Update interop client” June 11 02:51-03:03 UTC).
- openmoq/moqx: #399 (sync-bot, moxygen 08c574d) + #396 (gmarzot, remove CODEOWNERS) MERGED June 10 — housekeeping.
- google/quiche (
quiche/quic/moqt, last sync June 6), video-dev/moq-js (PR #72), moqtail/moqtail, birneee/quiche_moq, Eyevinn/moqlivemock + warp-player + moqtransport, quicr/moq-web (latest commit June 9): quiet since June 10.
- Mailing list (June 10-11): “Consensus Call: DTS and SWITCH” — Cullen/Martin Duke/afrind exchange June 10 (Martin Duke explains the not-rough-consensus-for-integration / no-objection-to-extension reasoning); afrind “MOQT Issues to Discuss In London” (31-issue deck,
-01); Mo Zanaty June 11 “Re: Joining FETCH Replacement Proposal”. - IETF Datatracker: no new revisions — transport-18 (Day +30), msf-01, cmsf-01, loc-02, secure-objects-00, privacy-pass-02, locmaf-00 unchanged.
draft-ietf-moq-dts4moqinvited (Will Law) but still not submitted (404). - Interop runner: 2026-06-11 00:49:24 UTC report 202/50/126/26 (matrix +26 cells; first draft-18 endpoints
moqt-nr+imquic; 5 at target · 0 ahead · 197 behind; 24-day cadence). - MoQ Monthly: no new issue since #2 (May 31).
- tobbee/moq-llm-wiki: no open issues.
Pages updated: discussions/discussions-2026-06.md (June 10→11 hackathon-Day-2 section + 4 deep-dives), interop/interop-runner.md (June 11 report 202/50/126/26 + 0-at-target-floor-breaks note + registered-version list), interop/interop-endpoints.md (Nokia Research relay added; four-draft-18-relays callout; imquic/moqt-nr runner registration), drafts/moq-transport.md (June 11: DTS consensus resolution + afrind 31-issue deck + PRs 1657), implementations/moq-dev.md (June 11: Day-2 burst — webcam #1669, moq-bench #1675, moq-lite-05 wire #1681), implementations/moq-rs.md (June 11: socket_wrapper #174; draft-18 #173 still OPEN), implementations/imquic.md (June 11: draft-18 runner registration + floor interop + #28), implementations/libquicr.md (June 11: quicr/moq-web draft-18 floor interop), index.md (date bump), log.md (this entry).
Key findings:
- This is the inflection day the wiki has been forecasting since June 1: draft-18 stops being a target nobody advertises and becomes live, interoperating reality. For nine consecutive runs (June 2-10) the matrix sat at
0 at target— the runner targeted draft-18 while no registered impl advertised it, so every cell was a cross-version pairing and the floor was the only real draft-18 signal. June 11 closes that gap on both fronts at once: the floor produced successful cross-impl publish/subscribe (Suhas’s quicr/moq-web ↔ moxygen/Nokia/imquic — not just SETUP debugging), and the runner registered its first draft-18 endpoints (moqt-nr+imquic), flipping the breakdown to5 at target. The −1 pass and the 26 new skips are noise; the structural fact is that the automated matrix and the in-person floor now describe the same draft-18 world for the first time. - The Nokia relay’s two-week journey from “in the process to host” to a registered runner endpoint is the model the wiki flagged. Yu You announced the v17/v18 relay June 2; it came up for the hackathon floor (Suhas interoperated against it June 10) and is now
moqt-nrin the matrix — exactly the “an impl finally registers draft-18” lever the interop-runner page named as the only remaining structural move. imquic followed the same path (Mike English reviving moq-interop-runner PR #57). cloudflare/moq-rs, by contrast, did not land draft-18 on the floor (PR #173 still OPEN) — the version-axis laggard remains a two-draft gap behind. - The DTS process dispute is settled with an unusually explicit consensus rationale. Rather than re-assert the readout, Martin Duke gave Cullen the actual decision logic: a roughly-even interim show of hands ≠ rough consensus for base-spec integration, but zero objections to the extension path → extension wins by absence-of-objection, not by majority. That is a clean articulation of IETF rough-consensus mechanics, and it converts the June-4→8 contention (readout → Cullen’s process challenge → Gwendal’s (D)DoS review on the base-spec PR) into a closed question heading into the June-12 conditional DTS slot: DTS is now extension work (
draft-ietf-moq-dts4moq), with merge-into-MOQT left as a future option. - moq-dev/moq’s Day-2 pivot — from draft-18 conformance to tooling — quietly arms the spec’s open security debate. Day 1 was the conformance fix (#1668); Day 2 is webcam capture (#1669) and a relay load-generator (
moq-bench, #1675). The load-generator is the implementation-side counterpart to Gwendal Simon’s June-8 (D)DoS review on the DTS PR (MAX_DTS_CONCURRENT_TRACKSbounds count, not throughput; unbounded WT-sessions-per-QUIC-connection): you cannot reason about relay throughput limits without a tool to generate the load. Meanwhile PR #1681 moves per-frame timestamp+duration onto the moq-lite-05 wire — the moq-lite analogue of the LOC/TIMESTAMP-property carriage questions the spec side has been circling. moq-dev/moq keeps doing both layers: floor interop and the wire/tooling that the WG debates need.
2026-06-10 — London hackathon Day 1: first hands-on draft-18 interop
TL;DR:
- The London hackathon’s first day (June 9) is live cross-implementation draft-18 bring-up — the first hands-on draft-18 interop the wiki has tracked. Mike English ran a remote Google Meet, goal: “run some draft-18 interop through the interop runner and show tests passing.” afrind’s moxygen relay went live at
fb.mvfst.net:9448on versions 14/16/18 (first announced draft-18 relay; gaps: no REDIRECT/GOAWAY-on-request-stream/PUBLISH_BLOCKED), joining Lorenzo’s imquiclminiero.it:9000and Luke’s hop-routedcdn.moq.dev. The day was dominated by the expected early failures (afrind’s “first (failed) SETUP exchange”, Suhas “failed for not getting server setup”,Object Status = 19), and afrind shipped a draft-18 wire decoder (moqx PR #398moq_decode.py) to debug them. Two spec threads matter: Lorenzo surfaced a LOC private-properties encoding ambiguity (omit-the-block vs write a00count), and Will Law proposed dual Track+Object initData properties in his London CMSF slides (resolving the June-3/4 design space). gwendalsimon gave the Joining-FETCH/Fill PR #1642 its first review; sharmafb’s new Issue #1655 (GOAWAY scoping) mirrors a moxygen-relay gap. No new Datatracker revision (transport-18 Day +29; dts4moq still unsubmitted); no new MoQ Monthly (still #2). - Implementations: moq hackathon burst — #1668 draft-18 SUBSCRIBE_NAMESPACE/subgroup-header/announce-race MERGED (+452/−68), #1673 moq-wasm bindings MERGED (+747/−48), #1658 generic catalog MERGED (+823/−1234), #1663/#1652/#1667 MERGED, #1609 CLOSED; 5 new OPEN (#1669-#1672, #1666) + new external Star-ho Issue #1664. imquic PR #27 MERGED (+3731/−519, LOC live demos). moqx #398 MERGED (afrind draft-18 decoder) + suhasHere Issue #394. moq-rs PR #173 OPEN “Start work on draft-18”. quiche moqt, moq-js (PR #72), moqtail, moqlivemock, mondain quiet.
- Interop: 176 / 51 / 125 / 0 at 2026-06-10 00:49:57 UTC (draft-18 target) — +3 pass vs June 9 (48 → 51, 29.0%), recovering toward the early-June band. Still 0 at target · 0 ahead · 176 behind — the automated matrix can’t see the manually-stood-up hackathon relays, so the live floor interop (moxygen-18, imquic-18) is the real draft-18 signal. 23-day cadence streak (new longest).
Operation: Update Sources:
- Slack
#moq(new since June 8): full June-9 hackathon thread — Mike English 10:54 CEST Google Meet + 12:38/15:00 status; afrind 16:35 moxygen 14/16/18 relay + 18:00moq_decode.pyshare + live debugging (16:05-16:35 vs Luke’s relay: silent close, Object Status 19, OBJECT_DATAGRAM); Suhas 13:34 “what relay(s) can i use” thread (Lorenzo offerslminiero.it:9000, Suhas “failed for not getting server setup”); Lorenzo 12:38 LOC private-properties question (↔ Suhas); Will Law 16:07 dual Track+Object initData in LOCMAF thread; Martin Duke 17:24 “on the tube”.#moq-rs/#moq-js/#libquicr/#moq-interop-runnernot separately surfaced. - GitHub moq-wg repos:
- moq-transport: PR #1642 (Fill) — 5 gwendalsimon review comments June 9 19:44-19:53 UTC (mermaid relay diagram + 4 precision points); Issue #1655 OPEN June 9 (sharmafb, GOAWAY-on-request-stream scoping); PR #1654 OPEN June 9 (michalhosna, editorial URI-scheme/fragment reorder, +23/−23). DTS PR #1638 quiet. msf, cmsf, loc, secure-objects, catalog-format, privacy-pass: quiet.
- No new GitHub spec activity dated June 10.
- GitHub implementations:
- moq-dev/moq (June 9 afternoon → June 10 04:19 UTC): #1668 draft-18 wire fix MERGED, #1673 moq-wasm MERGED, #1658 generic catalog MERGED, #1663 mTLS fail-closed MERGED, #1652 (Karolk99) MERGED, #1665 (Qizot) MERGED, #1667 (arielmol) MERGED; #1609 CLOSED (superseded by #1648); OPEN 1672; new external Star-ho Issue #1664.
- meetecho/imquic: #27 MERGED June 9 12:32 UTC (+3731/−519, LOC live capture/playback demos).
- openmoq/moqx: #398 (afrind, moq_decode.py draft-18) MERGED June 9 15:58 UTC (+413/−181); #394 (suhasHere, Top-N N+X filtering) OPEN; #396 (gmarzot, remove CODEOWNERS) OPEN; sync-bot 397.
- cloudflare/moq-rs: #173 (englishm, “Start work on draft-18”) OPEN June 9 08:45 UTC.
- google/quiche (
quiche/quic/moqt), video-dev/moq-js (PR #72), moqtail/moqtail, birneee/quiche_moq, Eyevinn/moqlivemock + warp-player + moqtransport: quiet.
- Mailing list (June 9): “New Agenda for London” replies (Martin Duke / Cullen Jennings / Gwendal Simon), “Request Synchronization Use Case” replies (Ali Begen / Gwendal Simon / afrind), “Re: London interim details” (Mike English). No June-10 list traffic.
- IETF Datatracker: no new revisions — transport-18 (Day +29), msf-01, cmsf-01, loc-02, secure-objects-00, privacy-pass-02 unchanged;
draft-einarsson-moq-locmaf-00(individual) unchanged.draft-ietf-moq-dts4moqstill not submitted (404). - Interop runner: 2026-06-10 00:49:57 UTC report 176/51/125/0 (+3 pass vs June 9, 29.0%, 23-day cadence; still 0 at target).
- MoQ Monthly: no new issue since #2 (May 31).
- tobbee/moq-llm-wiki: no open issues.
Pages updated: discussions/discussions-2026-06.md (June 9→10 hackathon-Day-1 section + 4 deep-dives), interop/interop-runner.md (June 10 report 176/51/125/0 + floor-vs-matrix note), interop/interop-endpoints.md (moxygen 14/16/18, imquic draft-18, hackathon callout), drafts/moq-transport.md (June 10: Fill PR review + GOAWAY issue + editorial PR), drafts/moq-loc.md (June 10: LOC private-properties ambiguity), drafts/moq-locmaf.md (June 10: Will Law dual Track+Object initData), drafts/moq-cmsf.md (June 10: same), implementations/moq-dev.md (June 10: hackathon burst + draft-18 #1668 + moq-wasm), implementations/openmoq.md (June 10: moxygen relay live + moq_decode.py), implementations/moxygen.md (June 10: draft-18 relay), implementations/imquic.md (June 10: PR #27 merged + relay), implementations/moq-rs.md (June 10: PR #173 start draft-18), index.md (date bump), log.md (this entry).
Key findings:
- This is the first day the wiki records hands-on draft-18 interop, and it inverts the usual signal hierarchy: the automated matrix is now the least informative source. The interop-runner’s +3-to-51 is incidental cross-version noise — it tests
main-of-each-impl against a draft-18 target no registered endpoint advertises (0 at target, unchanged for 9 days). The real draft-18 progress is invisible to it: afrind, Lorenzo, Suhas and others standing up relays (moxygen:9448on 18, imquic:9000on 18, Luke’scdn.moq.dev) and debugging live SETUP/object-flow failures on the floor. The structural lever the wiki has flagged for weeks — an impl registering a draft-18 endpoint with the runner — is now explicitly Mike English’s stated Day-1 goal, with the imquic registration (moq-interop-runner PR #57) the most likely first mover. - The hackathon is already feeding the spec, exactly as intended. sharmafb’s Issue #1655 (tighten GOAWAY-on-request-stream language) mirrors a limitation afrind announced for the moxygen relay the same afternoon — implementation experience becoming a spec issue within hours. Lorenzo’s LOC private-properties question (omit-the-block vs write a
00count) is a genuine wire ambiguity that only two-impl media interop exposes, and lands as a June-12 LOC-slot input. gwendalsimon’s first review of the Fill PR (#1642) pre-exercises the June-11 Joining-FETCH agenda item. None of these are new revisions — but they are the raw material the London “Other MOQT Issues” blocks were sized to absorb. - Will Law’s dual Track+Object initData proposal is the first concrete resolution of a design question the wiki has tracked since the LOCMAF debut. The June-3/4 thread surfaced three options (catalog-referenced / track property / per-group subgroup); wilaw’s London CMSF slides now combine track-property (steady-state) + object-property (synchronized mid-track changes), threading the needle between his own immutability constraint and Tobbe’s DASH-period/DRM-rotation concern. It bears on CMSF, LOCMAF, and MSF’s catalog
initDatatype simultaneously and is the lead substantive item for the June-12 MSF/CMSF slot. - moq-dev/moq is the one impl doing both floor interop and merged draft-18 wire work. PR #1668 (draft-18 SUBSCRIBE_NAMESPACE + subgroup headers + announce race) is the first explicit moq-dev/moq draft-18 conformance fix the wiki has tracked, landing mid-hackathon; the moq-wasm bindings (#1673) and the webcam/stats/viewer-count OPEN cluster show kixelated widening the client/demo surface even while the backlog (generic catalog #1658, mTLS #1663) flips from OPEN to merged. cloudflare/moq-rs, by contrast, is only starting draft-18 (PR #173 OPEN) — still two drafts behind on
main.
2026-06-09 — London hackathon opens; impl hardening, spec quiet
TL;DR:
- The London interop hackathon begins today (June 9-10; formal sessions June 11-12), and the eve is implementation hardening, not spec churn. No new Datatracker revision (
draft-ietf-moq-dts4moqstill invited-but-unsubmitted; transport-18 Day +28), no mailing-list traffic since June 7, no new MoQ Monthly (still #2, May 31),#moqSlack quiet since the June-8 #1653 micro-thread. The only live spec discussion is moq-transport Issue #1652 “SETUP - extensions negotiation” (Kostya Vasilyev ↔ afrind) — afrind points to his individual [[moq-moqpack|draft-frindell-moq-moqpack-00]]; June 8 20:22 UTC kvasilye narrows the question to numeric extension IDs vs. collision-resistant string keys (unanswered). On #1653, martinduke agrees “it’d be great to get rid of request ID” — a second WG voice toward simplifying draft-18 request/response correlation. - Implementations: moq clears its pre-hackathon backlog (kixelated) — moq-lite-05 TRACK-stream wire change #1648 MERGED (drop SUBSCRIBE_OK/FETCH_OK, +1723/−795); anyhow→thiserror #1651 + encoder-config #1656/#1657 MERGED; #1654 CLOSED → re-opened as #1658 (generic catalog w/ lock-based section extensions, +765/−1065); new mTLS fail-closed relay fix #1663; cargo-semver-checks CI #1660 MERGED then reverted (#1662) 27 min later. moqlivemock #92/#93/#94 MERGED → v0.11.1; moqtransport #11/#12/#13 MERGED (same SETUP hardening in the Go lib +
golang.org/x/netv0.55.0 security bump GO-2026-5026 + draft-16 PUBLISH_NAMESPACE-rejection fix). quiche moqt, moq-rs, moq-js (PR #72), moqtail, imquic (PR #27), openmoq (sync-bot only), mondain quiet. - Interop: 176 / 48 / 128 / 0 at 2026-06-09 00:43:54 UTC (draft-18 target) — −1 pass vs June 8 (49 → 48, 27.3%); skip 1 → 0 and one pass flips to fail (sequence 54 → 41 → 37 → 38 → 49 → 48). Still 0 at target · 0 ahead · 176 behind (no impl registered at draft-18). 22-day cadence streak (new longest). The automated matrix is now a sidelight — the manual cross-version interop in London (14/16/17/18) is where the hackathon’s interop value lands.
Operation: Update Sources:
- Slack
#moq: no new messages since the June-8 update — newest is still afrind’s June 8 14:28 CEST “No one else ran into #1653?” → Mike English 15:06 CEST “yet”.#moq-rs/#moq-js/#libquicr/#moq-interop-runnernot separately surfaced. - GitHub moq-wg repos:
- moq-transport: Issue #1652 (Kostya Vasilyev, “SETUP - extensions negotiation”) active — afrind references [[moq-moqpack|
draft-frindell-moq-moqpack-00]]; kvasilye June-8 20:22 UTC follow-up (numeric IDs vs string keys) unanswered. Issue #1653: martinduke June-8 15:35 UTC comment agreeing to drop Request ID. DTS PR #1638 + Fill PR #1642 still OPEN. msf, cmsf, loc, secure-objects, catalog-format, privacy-pass: quiet (Tobbe msf #177 + cmsf #23 + thibmeu privacy-pass 15 unchanged). - No new GitHub activity dated June 9 on the moq-wg repos at check time (early UTC; participants travelling to London).
- moq-transport: Issue #1652 (Kostya Vasilyev, “SETUP - extensions negotiation”) active — afrind references [[moq-moqpack|
- GitHub implementations:
- moq-dev/moq (June 8 evening → June 9 early UTC, all kixelated): #1648 moq-lite-05 TRACK stream MERGED, #1651 anyhow→thiserror MERGED, 1657 encoder config MERGED, #1654 CLOSED → #1658 generic-catalog re-open OPEN, #1663 mTLS fail-closed OPEN, #1661 catalog Consumer Clone MERGED, #1660 cargo-semver-checks CI MERGED then reverted by #1662; external #1652 (Karolk99) + #1649 (Qizot) still OPEN (no new contributor names).
- Eyevinn/moqlivemock: #92 (SETUP deadline + draft-14 downgrade refusal) + #93 (changelog) + #94 (release) MERGED → v0.11.1.
- Eyevinn/moqtransport: #11 (SETUP hardening in Go lib) + #12 (
golang.org/x/netv0.55.0, GO-2026-5026) + #13 (draft-16 PUBLISH_NAMESPACE rejection + request hang-proofing) MERGED June 8. - google/quiche (
quiche/quic/moqt): no new commits since June 6. cloudflare/moq-rs, video-dev/moq-js (PR #72), moqtail/moqtail, meetecho/imquic (PR #27), openmoq/moqx (sync-bot #393 only), birneee/quiche_moq, mondain/moqxr + moq2ts, kota-yata/Moqtopus, Eyevinn/warp-player (dependabot only): quiet.
- Mailing list: no new traffic since June 7 (afrind “Re: Joining FETCH Replacement Proposal” + weekly GitHub digest).
- IETF Datatracker: no new revisions — transport-18 (Day +28), msf-01, cmsf-01, loc-02, secure-objects-00, privacy-pass-02, locmaf-00 unchanged.
draft-ietf-moq-dts4moqstill not submitted;draft-frindell-moq-moqpack-00present (dated 2026-03-02), referenced in Issue #1652. - Interop runner: 2026-06-09 00:43:54 UTC report 176/48/128/0 (−1 pass vs June 8, 27.3%, 22-day cadence; still 0 at target).
- MoQ Monthly: no new issue since #2 (May 31, Day +9).
- tobbee/moq-llm-wiki: no open issues.
Pages updated: implementations/moq-dev.md (June 9: pre-hackathon backlog clearance + moq-lite-05 TRACK-stream merge + generic-catalog re-open), implementations/moqlivemock.md (June 9: PR 92-94 merged + v0.11.1 + moqtransport 11-13 hardening), interop/interop-runner.md (June 9 report 176/48/128/0), drafts/moq-transport.md (June 9: Issue #1652 SETUP-extensions thread + #1653 martinduke comment), discussions/discussions-2026-06.md (June 9 section + hackathon-eve deep-dives), index.md (date bump), log.md (this entry).
Key findings:
- The hackathon-eve pattern is the inverse of a normal pre-deadline day: spec activity goes quiet while implementations harden. Every spec source is at rest — no Datatracker revision, no list traffic, no Slack, no newsletter — because the people who would write to them are travelling to London. The work that does happen is exactly the work that makes an in-person interop productive: removing the failure modes that would otherwise waste hackathon floor time. This is the first day in the June cycle where the wiki records zero net-new spec artifacts and the entire signal is implementation-side.
- moq-dev/moq walks in with the moq-lite-05 TRACK-stream wire change merged. PR #1648 (drop SUBSCRIBE_OK/FETCH_OK, immutable props onto TRACK stream
0x6) had grown across June 7-8 as an OPEN PR; merging it the night before the hackathon means moq-dev/moq’s moq-lite-05 endpoint now exercises the new track-property carriage in live interop. The catalog work also consolidates: #1654 is closed and re-opened as #1658, reframing thehangcatalog’s extension model around section locks so apps add root sections without touching the wire format — the design counterpart to the “duplicate Track Properties” gap kixelated raised on the spec side (transport #1644). The cargo-semver-checks CI add-and-revert (#1660 → #1662, 27 min) is a reminder this is high-velocitymain-branch churn, the same churn the interop-runner matrix tracks day-to-day. - Eyevinn pushes the SETUP-hardening down a layer — from the test app into the transport library. The June-8 eve fix lived in
moqlivemock(the mlmtest interop client); June 9 lands the same bound-SETUP-by-deadline + refuse-draft-14-downgrade logic in Eyevinn/moqtransport itself (PR #11), plus agolang.org/x/netsecurity bump (GO-2026-5026) and a draft-16 PUBLISH_NAMESPACE-rejection fix (#13). Pushing it into the library means any Go MoQ consumer — not just mlmtest — is robust against a peer that completes the QUIC/ALPN handshake but never sends a usable SERVER_SETUP. This is the first June-cycle activity the wiki has tracked onmoqtransportrather than the test app, and it directly serves Martin Duke’s June-2 draft-16 interop push as the hackathon’s manual cross-version interop begins. - The automated interop matrix has receded to a sidelight; the floor (0 at target, ~27% pass) is now structural and will only move if an impl registers draft-18. The −1 to 48 is one-cell oscillation in the high-40s band — meaningful only as confirmation that the June-8 +11 recovery held. The value of the next two days is the manual cross-version interop (14/16/17/18) the runner can’t capture; the standing lever to break the 0-at-target floor remains an impl finally registering draft-18 with the runner, and the hackathon is the most likely occasion for it (Nokia’s announced v17/v18 relay being the obvious candidate).
2026-06-08 — Hackathon eve: DTS PR draws a DDoS review, interop recovers +11
TL;DR:
- The day before the London hackathon, the still-OPEN DTS base-spec PR #1638 gets its first substantive design review — Gwendal Simon posts three June-8 comments raising a §9.2 Forward-flag interaction (with #1650) and two independent (D)DoS concerns:
MAX_DTS_CONCURRENT_TRACKSbounds track count but not aggregate throughput, and is scoped per switching-set so “multiple WebTransport sessions … over a single QUIC connection” sidestep it. wilaw pushes back — “is this a DTS issue or a MOQT issue?“. This lands while the extension-vs-base-spec disposition is still contested (June-4 readout invited a separatedraft-ietf-moq-dts4moq; Cullen contested June 6). Separately afrind opens Issue #1653 “[draft-18] REQUEST_OK in response to REQUEST_UPDATE lacks Request ID” (“This smells of HTTP/1.1”) — adds to the draft-18 errata backlog; Slack micro-thread (afrind “No one else ran into #1653?” → Mike English “yet”). No new Datatracker revisions;draft-ietf-moq-dts4moqstill unsubmitted; mailing list quiet (only afrind’s June-7 Joining-FETCH reply + weekly digest). - Implementations: moq kixelated burst (June 7→8) — moq-json JSON Merge Patch delta helper #1655 MERGED (+1403/−62); generic base
hangcatalog #1654 (+174/−1077) OPEN; moq-lite-05 TRACK-stream #1648 (drop SUBSCRIBE_OK/FETCH_OK, +1697/−795) OPEN; anyhow→thiserror #1651; encoder-config #1656/#1657; new contributor Karolk99 #1652 + Qizot #1649. moqlivemock Tobbe PR #92 hardens mlmtest interop (bound SETUP by deadline; refuse silent draft-14 downgrade). openmoq sync-bot only; quiche, moq-rs, moq-js (PR #72), moqtail, imquic (PR #27), mondain quiet. - Interop: 176 / 49 / 126 / 1 at 2026-06-08 00:50:12 UTC (draft-18 target) — +11 pass vs June 7 (38 → 49, 27.8%), the best recovery since the June-5 drop; post-June-4 sequence 54 → 41 → 37 → 38 → 49 confirms the 37-38 floor was a transient trough. Still 0 at target · 0 ahead · 176 behind. 21-day cadence streak (new longest). London hackathon starts tomorrow (June 9-10), formal sessions June 11-12.
Operation: Update Sources:
- Slack
#moq(new since June 7): afrind June 8 14:28 CEST “No one else ran into #1653?” → Mike English 15:06 CEST “yet”. No other new#moqmessages;#moq-rs/#moq-js/#libquicr/#moq-interop-runnernot separately surfaced. - GitHub moq-wg repos:
- moq-transport: PR #1638 DTS — 3 Gwendal Simon review comments June 8 09:27/10:07/10:51 UTC (§9.2 Forward flag + 2 (D)DoS concerns) + wilaw reply 15:34 UTC; Issue #1653 OPEN June 8 12:10 UTC by afrind (REQUEST_OK lacks Request ID). PR #1642 (Fill) still OPEN; June-4 sharmafb PRs already merged.
- msf PR #177 + cmsf PR #23 (Tobbe validator errata) still OPEN; privacy-pass Issue #14/#15 (thibmeu) still OPEN; loc, secure-objects, catalog-format quiet.
- GitHub implementations:
- moq-dev/moq (June 7→8): #1655 moq-json merge-patch MERGED, #1654 generic base catalog OPEN, #1648 moq-lite-05 TRACK stream OPEN, #1651 anyhow→thiserror OPEN, 1657 encoder config OPEN, #1652 Karolk99 (new) shared-epoch timestamps OPEN, #1649 Qizot auth connect errors OPEN, #1646 moq-gst backwards-timestamp MERGED, #1650 RUSTSEC ignore MERGED, #1639 in-tree smoke-test migration CLOSED.
- Eyevinn/moqlivemock PR #92 OPEN (interop SETUP deadline + draft-14 downgrade refusal). warp-player dependabot only.
- openmoq/moqx sync-bot 393 only. google/quiche (
quiche/quic/moqt), cloudflare/moq-rs, video-dev/moq-js (PR #72), moqtail/moqtail, meetecho/imquic (PR #27), mondain/moqxr + moq2ts, birneee/quiche_moq, t-gazzy/Moqintosh, Quicr/cat-token quiet.
- Mailing list (June 7-8): afrind “Re: Joining FETCH Replacement Proposal” (June 7) + Repository Activity Summary Bot weekly GitHub digest (June 7). No new June-8 list traffic.
- IETF Datatracker: no new revisions — transport-18 (Day +27), msf-01, cmsf-01, loc-02, secure-objects-00, privacy-pass-02, locmaf-00, msfts-00 unchanged.
draft-ietf-moq-dts4moqinvited (June-4 readout) but not yet submitted. - Interop runner: 2026-06-08 00:50:12 UTC report 176/49/126/1 (+11 pass vs June 7, 27.8%, 21-day cadence; still 0 at target).
- MoQ Monthly: no new issue since #2 (May 31, Day +8).
- tobbee/moq-llm-wiki: no open issues.
Pages updated: drafts/moq-transport.md (June 8: DTS DDoS review + Issue #1653), implementations/moq-dev.md (June 8: catalog/moq-json burst + Karolk99/Qizot), implementations/moqlivemock.md (June 8: PR #92 interop hardening + v0.11.0 carry-forward), interop/interop-runner.md (June 8 report 176/49/126/1), discussions/discussions-2026-06.md (June 8 section + DTS-review deep-dive), index.md (date bump), log.md (this entry).
Key findings:
- The DTS security review is the substantive event of the day, and it sharpens the extension-vs-base-spec question rather than settling it. Gwendal Simon’s two (D)DoS concerns are not editorial — they identify that
MAX_DTS_CONCURRENT_TRACKSis the wrong primitive (bounds count, not throughput) and that it’s scoped at the wrong layer (per-switching-set, defeated by multiple WebTransport sessions per QUIC connection). wilaw’s reply — “is this a DTS issue or a MOQT issue?” — is itself the crux: if the unbounded-WT-sessions gap is a base-protocol problem, it argues against solving it inside a DTS extension and for base-spec integration; if it’s DTS-specific, it argues for the extension document the chairs invited. The review thus reopens the very integration-vs-extension axis Cullen contested June 6, with a concrete technical hook, the day before the hackathon. Expect this to surface in Ali’s June-11 “SWITCH/DTS Implementation Lessons” slot and the conditional June-12 DTS-Issues slot. - afrind’s #1653 shows draft-18’s request/response correlation is under-specified, and the WG knows the backlog will grow. The lack of a Request ID on REQUEST_OK-in-response-to-REQUEST_UPDATE forces ordered, HTTP/1.1-style serialization on a bidi stream that otherwise allows pipelining — a structural wire gap, not a typo. Mike English’s one-word “yet” is the tell: the errata are not being found because draft-18 is buggy in unusual ways, but because implementers are only now exercising the message types (REQUEST_UPDATE here) that the compressed pre-London publication timeline shipped without full review. The London “Other MOQT Issues” blocks are sized for exactly this.
- moq-dev/moq’s focus has rotated from gateways/codecs to catalog carriage. After the June-4→7 gateway/codec wave (moq-hls, VP8/VP9, MPEG-TS), the June-7→8 cycle is catalog-shaped: JSON Merge Patch deltas (#1655), a generic base
hangcatalog with app-layer extensions (#1654, a +174/−1077 net simplification), and the moq-lite-05 TRACK-stream change (#1648) that removes SUBSCRIBE_OK/FETCH_OK entirely. Together these reshape how catalogs and immutable track properties are carried — the same gap kixelated raised on the spec side as transport Issue #1644. The +11 interop recovery (38 → 49) confirms the June-5 cliff was transient noise from the moq-netTrackreshape, not a durable regression. - Eyevinn’s pre-hackathon work is interop-robustness, not features. Tobbe’s moqlivemock PR #92 fixes a real matrix-stalling bug (a relay that completes the handshake but never sends a usable SERVER_SETUP hangs the sequential runner indefinitely — observed against
moq-rs-draft-16, englishm/moq-interop-runner#70) and refuses silent WebTransport draft-14 downgrade. This directly serves Martin Duke’s June-2 draft-16 interop push and hardens mlmtest for the manual cross-version (14/16/17/18) interop the hackathon will run beyond the automated runner. The whole ecosystem is in pre-hackathon-hardening mode: spec review (Gwendal/afrind), catalog plumbing (kixelated), and interop robustness (Tobbe), with no new draft submissions and a quiet mailing list — the calm before the June-9 hackathon.
2026-06-07 — London agenda published, DTS consensus flips to extension draft
TL;DR:
- London interim (June 11-12) agenda is PUBLISHED on Datatracker — Martin Duke June 5 “shifted a bit more time to MOQT blockers”: Day-1 (interim-08) is almost entirely MOQT blockers (Concurrent Subscribe, Object Range Filters, Joining FETCH PR #1642, Request Blocking, two hour-long “Other MOQT Issues” blocks), with SWITCH/DTS demoted to a 1-hour Ali “Implementation Lessons” tail slot; Day-2 still conditional on the SWITCH/DTS outcome. LOCMAF + catalog-format are not on either agenda.
- DTS consensus readout flips to “separate WG extension document” — Cullen Jennings contests it June 6. Chairs conclude “strong consensus for DTS to be adopted as an extension described by a WG document” (not base-spec integration) and invite Will Law to publish
wilaw/dts4moqasdraft-ietf-moq-dts4moq; this reverses the late-May integration trajectory, and Cullen — who had argued against a separate draft — now asks “How did you reach the conclusion that there is consensus this should be an extension?“. Separately, Torbjörn Einarsson ships a CUE-based MSF/CMSF catalog validator that found draft-01 bugs → moq-wg/msf PR #177 + moq-wg/cmsf PR #23; thibmeu opens 2 privacy-pass issues (#14/#15); transport PR #1640 EXPIRES + sharmafb editorial PRs MERGE; Kota Yatagai debuts Moqtopus (C++/MsQuic Unreal Engine client). - Implementations: moq ~20 merges (kixelated) — new moq-hls gateway (PR #1626 OPEN), VP8/VP9 (#1625 mux + #1632 gst), moq-gst maturation (#1627/#1633/#1646), moq-net
Track→TrackInforeshape (#1631 +1331/−1217), moq-json JSON Merge Patch catalog deltas (#1637), moq-lite-05 TRACK-stream #1648. moqx: afrind PR #386 per-session auth filters MERGED + multithread stack still OPEN + auto-regression CI #379 MERGED. quiche moqt: 3 vasilvv commits (control-message-queue factoring + subgroup “first object” bit). moqlivemock v0.11.0 + warp-player v0.11.0 ship MSF/CMSF draft-01 (+ LOCMAF 0.2); NEW Eyevinn/msf-catalog-validator. moq-rs, moq-js (PR #72), moqtail, imquic (PR #27), mondain/moqxr (TilsonJoji PR #14), mondain/moq2ts quiet. - Interop: 176 / 38 / 137 / 1 at 2026-06-07 00:49:07 UTC (draft-18) — sequence June 5 41 → June 6 37 → June 7 38, a −13 to −16 drop from June 4’s 54, most plausibly from moq-dev/moq’s June-5 moq-net
Trackreshape (matrix runs againstmain). Still 0 at target · 0 ahead · 176 behind (no impl registered at draft-18). 20-day cadence streak (new longest). London hackathon/interop June 9-10, formal sessions June 11-12.
Operation: Update Sources:
- Slack
#moq(new since June 4 update): Tobbe June 5 10:44 CEST catalog-validator announcement; Kota Yatagai June 4 16:44 CEST Moqtopus debut + interop-sheet question; Mike English June 4 17:39-17:57 CEST (automated runner replaces spreadsheet, more test cases next week,#moq-interop-runnerchannel); Alan Frindell June 4 17:46 “Are there new test cases coming?“.#moq-rs/#moq-js/#libquicr/#moq-interop-runnernot separately surfaced. - GitHub moq-wg repos:
- moq-transport: DTS consensus readout (extension WG doc, Cullen contests June 6); PR #1640 EXPIRES MERGED; sharmafb #1645/#1648/#1649 MERGED; PR #1476 delivery-timeouts MERGED (closes #606); PR #1451 CLOSED; new issues #1650/#1651/#1652; PR #1642/#1638 still OPEN.
- moq-msf: PR #177 OPEN (Tobbe, validator typos). moq-cmsf: PR #23 OPEN (Tobbe). privacy-pass: Issue #14 + #15 OPEN (thibmeu). loc, secure-objects, catalog-format: quiet.
- GitHub implementations:
- moq-dev/moq: ~20 merges June 4-7 (PR 1625-1648). Highlights #1626 moq-hls OPEN, 1632 VP8/VP9, 1646 moq-gst, #1631 moq-net Track reshape, #1634 subscription+N-fetch, #1637 moq-json merge-patch, #1640 RAII announcements, #1648 moq-lite-05 TRACK stream OPEN, #1601 FETCH past groups MERGED, 1630 relay GOAWAY+TLS-reload OPEN.
- openmoq/moqx: afrind PR #386 per-session auth filters MERGED, #389 static-Boost probe MERGED; gmarzot #385/#383; peterchave #379 auto-regression MERGED + #388 OPEN; multithread stack 363 OPEN; mondain #286 OPEN; sync-bot 392.
- google/quiche (
quiche/quic/moqt): vasilvv8a11928a+6b6a9b74June 5 (MoqtControlMessageQueue factoring) +f3ce1892June 6 (subgroup “has first object” bit). - Eyevinn: moqlivemock PR #91 v0.11.0 MERGED; warp-player PR #139 v0.11.0 MERGED; msf-catalog-validator NEW (4 PRs merged June 4-5).
- cloudflare/moq-rs (PR 171 untouched), video-dev/moq-js (PR #72 OPEN), moqtail/moqtail, meetecho/imquic (PR #27 updated June 5), mondain/moqxr (PR #14 OPEN), mondain/moq2ts, t-gazzy/Moqintosh, birneee/quiche_moq, Quicr/cat-token: quiet.
- Mailing list (June 4-7): “New Agenda for London” (Martin Duke June 5), “London interim details” (Mike English June 5), “Consensus Call: DTS and SWITCH” readout + replies (Suhas/Dai Tongyu/Martin/Gwendal June 5, Cullen June 6), “Request Synchronization Use Case” (Gwendal + Cullen), weekly GitHub digest (June 7).
- IETF Datatracker: no new revisions June 4-7 — transport-18 (Day +26), msf-01, cmsf-01, loc-02, secure-objects-00, privacy-pass-02, locmaf-00, msfts-00 unchanged.
draft-ietf-moq-dts4moqinvited but not yet submitted. London interim agendas posted (interim-08/-10/-11). - Interop runner: reports June 5 (177/41/135/1), June 6 (176/37/138/1), June 7 (176/38/137/1); −13 to −16 vs June 4, 0 at target.
- MoQ Monthly: no new issue since #2 (May 31, Day +7).
- tobbee/moq-llm-wiki: no open issues.
Pages updated: discussions/discussions-2026-06.md (June 4→7 activity section), discussions/interim-meetings.md (June 7 note + published-agenda table rows), drafts/moq-transport.md (June 7: DTS consensus reversal + merges + new issues), drafts/moq-locmaf.md (June 7: LOCMAF 0.2 + validator + agenda absence), drafts/moq-msf.md + drafts/moq-cmsf.md (June 7: validator-driven errata PRs), drafts/moq-privacy-pass.md (thibmeu issues), implementations/moq-dev.md (June 7: moq-hls + VP8/VP9 + moq-net reshape), implementations/openmoq.md (June 7: per-session auth filters + auto-regression CI), interop/interop-runner.md (June 5/6/7 reports), index.md (Moqtopus + date bumps), log.md (this entry).
Key findings:
- The DTS consensus readout is a genuine reversal the wiki must record carefully. From late May the public on-list vote tally favored integration into the base MOQT draft (Will Law, Gwendal, Nokia, Ali Begen all YES/YES), and Cullen Jennings explicitly argued against a separate draft (May 27), which is exactly why wilaw opened the base-spec PR #1638. The chairs’ June-4-close readout instead lands on a separate WG extension document (
draft-ietf-moq-dts4moq) — closer to Magnus Westerlund’s original proposal — and Cullen now contests the process of how that consensus was read (June 6). Net effect: PR #1638’s base-spec path is superseded-in-direction, the new draft is invited-but-unsubmitted, and the extension-vs-base-spec question may reopen on the June-12 floor. This is the first time the wiki has tracked a chair consensus readout diverging from the visible on-list vote distribution. - Martin Duke’s “shifted more time to MOQT blockers” is structurally visible in the agenda. Day-1 gives Alan+Ian two full hours of “Other MOQT Issues” to triage the 14-item draft-18 errata/design backlog, while SWITCH/DTS — the May-26-interim centerpiece — is compressed to a single Ali “Implementation Lessons” report at 1600-1700. The agenda treats the draft-18 errata wave (sharmafb + kixelated + the new 1652) as the binding constraint on shippability, not the SWITCH/DTS adoption question (now substantively closed). LOCMAF and catalog-format get no floor time.
- Tobbe’s catalog validator closes a tooling gap and immediately produces errata. The CUE-schema validator validating against draft-01 definitions rather than examples found wrong
versionvalues + typos, filed as MSF PR #177 + CMSF PR #23. This is the first machine-validation feedback loop into MSF/CMSF, and it independently confirms the draft-18/draft-01 thesis that the compressed pre-London publication timeline left machine-detectable inconsistencies in the published examples. It also means LOCMAF 0.2’s catalog-referenced-initData design (dropping initData compression because MSF -01 added catalog initData references) is now exercised against validated catalogs in moqlivemock v0.11.0. - moq-dev/moq’s gateway footprint is now the broadest in the ecosystem. With the new moq-hls PR #1626 (HLS / LL-HLS), kixelated adds a third gateway vertical on top of the May-29 WebRTC bridge and June-2 MPEG-TS bridge — MoQ now bridges WebRTC + MPEG-TS + HLS plus fMP4/MKV interchange, with 6-codec coverage (H.264/H.265/VP8/VP9/AAC/Opus after the VP8/VP9 additions). The June-5 moq-net
Track→TrackInforeshape is the likeliest cause of the interop −13 drop (the matrix runs againstmain), a recurring cost of moq-dev/moq’s high-velocity core-API churn. - The interop matrix is now at a ~21% floor against a target no registered impl advertises. Every cell is a cross-version pairing (0 at target · 0 ahead · 176 behind), so the −13 to −16 drop from June 4’s 54 reflects both the moq-net reshape and the structural fact that the draft-18 target outran every registration. The standing levers are unchanged: an impl registering draft-18 (Nokia’s announced v17/v18 relay being the obvious candidate) and Mike English’s promised post-London test-case expansion. The 20-day daily-report cadence is the longest the wiki has tracked.
2026-06-04 — CMSF -01 lands, LOCMAF Slack design thread, sharmafb editorial sprint, draft-19 wire prep
TL;DR:
- Two-day WG-draft cluster completes: draft-ietf-moq-cmsf-01 PUBLISHED June 3 by Will Law — 2nd WG revision in 2 days after MSF -01 June 2. Final pre-submit clean-up moq-wg/cmsf PR #22 MERGED 11:32 UTC (+7/−6, “Fix I-D nits”). wilaw posts companion “MSF updates” + “CMSF updates” mailing-list announcements — first per-spec author-led list updates from wilaw the wiki has tracked. LOCMAF Slack thread engages afrind + wilaw on initData carriage: under Tobbe’s June 3 08:51 CEST announcement, 5-reply thread surfaces 3-way design space — (a) catalog-referenced (msf -01
inlineextended to track reference), (b) track property (afrind, wilaw seconds for steady-state immutability — “Currently we do not allow track init properties to change once publish has begun”), (c) per-group subgroup, only when changed (afrind “Only Publish the init subgroup in groups where it changed”); promotes stale moq-msf Issue #153 to active design engagement within 12h of LOCMAF debut. - moq-transport: sharmafb (Cisco) 5-item editorial sprint June 3 21:09-21:27 UTC in 18-minute window: PR #1645 PUBLISH_OK code, Issue #1646 §2.5 vs §15.8 codepoint conflict, Issue #1647 TIMESTAMP/SUBGROUP_DELIVERY_TIMEOUT same value, PR #1648 soften REQUEST_UPDATE response, PR #1649 PUBLISH_DONE wording — all draft-18 errata-style. Plus kixelated Issue #1644 duplicate Track Properties on repeated SUBSCRIBE_OK/FETCH_OK (same gap moq-lite-05 PR #1609 already addresses via TRACK_INFO Track Stream). Cumulative active draft-18 issue/PR inventory = 6 normative PRs OPEN + 8 design issues OPEN = 14 items into London Day-1 0900-1045 “MOQT Issues” 180-min slot — infeasible to ship all 6 PRs on the floor, pure-editorial items likely defer to editor discretion. quiche moqt starts draft-19 wire prep: 3 vasilvv commits June 3 (
4096d2e3new varint format,8427f949delta encoding for Absolute Range,96c9a9c0merge CLIENT_SETUP+SERVER_SETUP) — first sustained draft-19 wire-prep work the wiki has tracked from any impl. - Implementations: moq ~12 merges + 7 OPEN cycle (June 3 ~05:00 → June 4 ~05:00 UTC, all kixelated unless noted). Voice-AI/TTS use case landing: PR #1620 OPEN “feat(watch): latency range with buffered playback” (+726/−75, 14f) reframes playback latency as a range
[min, max]unifying live + buffered; unblocks voice-AI/TTS (pipecat-ai/pipecat#4629) where response is written faster than real-time. 2 new external contributors: arielmol PR #1617 SCTE-35 from MPEG-TS into a newdatacatalog track (first broadcast-ad-marker plumbing); vipyne Issue #1614 + PR #1615 AudioProducer Python flush/cancel for AI voice agents. Plus watch refactor (PR #1591 Computed signals MERGED, PR #1592 inputs/outputs MERGED, PR #1588 stop downloads when muted/paused MERGED), CI release pipeline shakedown (PR 1623), moq-net per-control-stream task (PR #1621), apt keyring rename (PR #1611). moqx: paul-mondain CAT token PR #264 MERGED June 3 22:57 UTC after 33 days OPEN (+1807/−13, 20f) — first openmoq/moqx external-contrib-driven auth path now landed inmain. Plus TimEvens PR #376 + #377 MERGED (Debian bookworm + macOS Apple Clang 21), gmarzot PR #370 MERGED folly XLOG. afrind opens 3 new tracking issues: #380 standard token type values, #381 auth for MOQT peers, #382 Draft-18 updates for relay behavior (priority-ranked draft-18 catch-up backlog). mondain/moqxr: PR #14 OPEN by TilsonJoji (new external contrib) SRT MPEG-TS ingest with fMP4 repackaging — first MoQ-side SRT ingest path in openmoq orbit. moq-rs PR #167 + PR #171 untouched. moqtail, moq-js (PR #72 OPEN), imquic (PR #27 OPEN, updated June 3 17:14 UTC), Moqintosh, moqlivemock (PR #90 dependabot quic-go), Eyevinn/warp-player, Eyevinn/moqtransport, quiche_moq, Quicr/cat-token all quiet. - Interop: 177 / 54 / 122 / 0 at 2026-06-04 00:55:39 UTC — −3 pass vs June 3 (57 → 54, 32.2% → 30.5%, −1.7pp), reverses Jun 3’s +6 jump symmetrically; skip 1 → 0; 17-day cadence (new longest streak the wiki has tracked). Version breakdown still 0 at target · 0 ahead · 177 behind. Slack signal June 2 09:18 UTC by Yu You (Nokia): “we are in the process to host a remote relay for the interop. we have the support of v17 and v18” — first impl-side v18 endpoint announcement; if registered, would close the 0-at-target gap. London hackathon 5 days away.
Operation: Update Sources:
- Slack:
#moqsubstantive — 5-reply thread on Tobbe’s LOCMAF -00 announcement (Tobbe 08:51 CEST + afrind 18:13/20:06/22:00 + Tobbe 19:14 + wilaw 21:37). Plus Yu You (Nokia) June 2 09:18 CEST v17+v18 remote relay announcement.#moq-rs,#moq-js,#libquicr,#moq-interop-runnerall quiet. - GitHub moq-wg repos:
- moq-transport: sharmafb 5-item sprint (PR #1645 / Issue #1646 / Issue #1647 / PR #1648 / PR #1649) plus kixelated Issue #1644. PR #1642 (afrind Fill) updated June 3 20:30 UTC.
- moq-wg/cmsf: PR #22 MERGED June 3 11:32 UTC by wilaw (+7/−6, “Fix I-D nits”); CMSF -01 SUBMITTED to Datatracker later same day.
- moq-msf, loc, secure-objects, privacy-pass, catalog-format: all quiet.
- GitHub implementations:
- moq-dev/moq: ~12 merges + 7 OPEN. Highlights PR #1620 latency range (voice-AI), PR #1617 arielmol SCTE-35, PR #1615 vipyne AudioProducer flush, PR 1592 watch component refactor, PR #1588 stop downloads when muted, PR #1611 apt keyring, PR #1621 moq-net task per control stream, PR 1623 CI release pipeline.
- cloudflare/moq-rs: PR #167 + PR #171 untouched.
- openmoq/moqx: PR #264 paul-mondain CAT token MERGED + TimEvens PR 377 MERGED + gmarzot PR #370 MERGED + sync-bot PR #378 MERGED. afrind opens Issue #380/#381/#382. peterchave PR #379 auto-regression testing OPEN.
- mondain/moqxr: PR #14 OPEN by TilsonJoji (new external contrib, SRT MPEG-TS ingest), updated June 3 17:51 UTC.
- google/quiche (
quiche/quic/moqt): 3 vasilvv draft-19 wire-prep commits June 3 (4096d2e3new varint,8427f949delta encoding,96c9a9c0SETUP merge) + 2 martinduke commits (52de014cJune 2 22:45 MessageParameters,c25d5258June 3 15:30 ASAN fix). - moqtail/moqtail, video-dev/moq-js (PR #72 OPEN), meetecho/imquic (PR #27 OPEN, updated June 3 17:14 UTC), birneee/quiche_moq, t-gazzy/Moqintosh, Eyevinn/warp-player, Eyevinn/moqtransport, Quicr/cat-token: all quiet.
- Eyevinn/moqlivemock: PR #90 dependabot quic-go 0.59.0 → 0.59.1.
- mondain/moq2ts: quiet since June 1 announcement.
- Mailing list (June 3): afrind “Request Synchronization Use Case” (re), wilaw “MSF updates” + “CMSF updates” (new threads), Magnus Westerlund “Support for Track Filters and Top-N” (re), Mo Zanaty + Martin Duke “London Agenda requests” (re), I-D Action
draft-ietf-moq-cmsf-01.txt. - IETF Datatracker: draft-ietf-moq-cmsf-01 SUBMITTED June 3 (Will Law, Akamai) — 19 pages, first WG revision since adoption Dec 2025. transport-18 Day +23, msf-01 Day +1, loc-02, secure-objects-00 (PR #88 stages content for -01), privacy-pass-02 unchanged.
- Interop runner: New report 2026-06-04 00:55:39 UTC: 177 / 54 / 122 / 0 (−3 pass vs June 3, 30.5%, 17-day cadence streak; third draft-18-target run).
- MoQ Monthly: No new issue since #2 May 31 (Day +4).
- tobbee/moq-llm-wiki: No open issues.
Pages updated: drafts/moq-cmsf.md (June 4: -01 PUBLISHED June 3, draft_version bumped to 01), drafts/moq-transport.md (June 4: sharmafb 5-item editorial sprint + #1644 + quiche moqt draft-19 wire prep), drafts/moq-locmaf.md (June 4: Slack thread engagement), implementations/moq-dev.md (June 4 burst: voice-AI latency range + 2 new external contribs), implementations/openmoq.md (June 4: PR #264 CAT token merged + afrind 3 issues + mondain SRT ingest + TimEvens PRs merged), interop/interop-runner.md (June 4 report 177/54/122/0), discussions/discussions-2026-06.md (June 4 section), index.md (CMSF version bump to draft-01, last_updated bump), log.md (this entry).
Key findings:
- 2-day WG-draft cluster (MSF -01 June 2 + CMSF -01 June 3) aligns both streaming-format anchors for London Day-2 35-min Will Law slot. CMSF -01 publishing 1 day after MSF -01 is not coincidence: yesterday’s PR #21 bumped CMSF’s MSF reference to draft-01 ~2h after MSF -01 landed, and today’s PR #22 clean-up (+7/−6 “Fix I-D nits”) is purely editorial pre-submit polish. wilaw’s first per-spec author-led mailing-list announcement for both — historically wilaw announces via Slack rather than email — suggests a deliberate London-cycle communication push: getting reviewers’ attention via the WG list before the interim convenes. With 5 days to London, the Day-2 slot now has both anchor docs at current state on Datatracker + active reference alignment + parallel implementation discussion (the LOCMAF thread surfaces design alternatives at exactly the right time for slot inputs).
- Tobbe’s LOCMAF Slack thread is the first cross-author engagement on the new individual draft within 12h of announcement — counter-signal to the typical “individual MoQ draft sits with no review engagement” pattern. The thread substantively engages afrind (Meta, moq-transport editor) and wilaw (Akamai, MSF/CMSF editor) on initData carriage. The 3-way design space surfaced (catalog-referenced vs track-property vs per-group-subgroup) promotes the stale moq-msf Issue #153 (“initTrack does not work”) from dormant to active editorial item. With both editors-of-record now substantively engaged, LOCMAF design feedback feeds back into MSF -01’s
initDataextensibility direction. This is also the first time a wiki-maintainer-authored draft has surfaced as an editorial design discussion on the public Slack — reverses the normal “wiki tracks the editor’s work” framing into “wiki maintainer’s draft feeds the editor’s work”. - sharmafb’s 5-item editorial sprint reveals the structural cost of draft-18’s compressed publication timeline. All 5 sharmafb items are wire-table-vs-text or codepoint-collision-style — the kind of error that an unhurried draft cycle catches in review. With draft-18 published May 12 to meet the London window, errata-style issues are surfacing in 4-week post-publication batches rather than in pre-publication review. Combined with Issue #1644 (kixelated, duplicate Track Properties) the wiki now tracks 6 normative PRs OPEN + 8 design issues OPEN = 14 active draft-18 items entering the 180-min London “MOQT Issues” slot. The draft-18 → draft-19 cycle may need to be shorter than the typical 6 months to clear the errata backlog cleanly; vasilvv’s draft-19 wire-prep commits June 3 (new varint, CLIENT/SERVER SETUP merge, delta encoding) are the first concrete signal that draft-19 work has begun in earnest.
- paul-mondain CAT token PR #264 lands first among 3 cross-impl auth-relay PRs OPEN in parallel. Status June 4: openmoq/moqx PR #264 MERGED (33 days OPEN); openmoq/moqx PR #286 still OPEN (Catapult submodule stacked on #264); cloudflare/moq-rs PR #169 design proposal + PR #171 C4M implementation both OPEN, untouched June 3-4. The CAT-token-relay path now exists in production-ready OSS form via openmoq/moqx. afrind’s 3 follow-on issues #380/#381/#382 (auth standard token values + MOQT peer auth + draft-18 catch-up backlog) scope the immediate follow-on work clearly. London Day-1 PRIVACY_PASS slot now has openmoq/moqx as the most mature CAT-token relay reference impl — cloudflare/moq-rs’s auth path remains in PR limbo.
- moq-dev/moq’s voice-AI/TTS pivot is a structural use-case expansion. PR #1620’s latency range with buffered playback explicitly cites pipecat-ai/pipecat#4629 — the pipecat agent framework PR that wants to use MoQ for AI-voice playback. Combined with PR #1615 (vipyne AudioProducer flush/cancel for AI voice interruption) + PR #1617 (arielmol SCTE-35 broadcast-ad-marker), moq-dev/moq adds 3 use-case verticals in 24h. Voice-AI/TTS is a notable expansion: until now MoQ’s vertical reach was streaming media (CMAF, LOC, RoQ), low-latency broadcast (MoQ Boy game streaming), and conferencing (Nokia’s PoC). Voice-AI playback as a first-class use case is new — and it’s landing as a kixelated-led integration with an external framework (pipecat) rather than a research demo, which is a stronger adoption signal. The new external contributors (arielmol + vipyne + last week’s nuts-rice + Qizot) suggest moq-dev/moq’s community surface continues to widen as the polyglot release infrastructure pays off.
2026-06-03 — MSF -01 lands, LOCMAF -00 debut, Joining-Fetch replacement opens
TL;DR:
- Two Datatracker submissions June 2 end a long-running drought: draft-ietf-moq-msf-01 published by wilaw + Suhas — Day +134 slippage on wilaw’s May 27 Slack “Friday” pledge finally closes; final pre-submit clean-up was moq-wg/msf PR #176 (RFC references + SCTE35 entry removed, MERGED 11:18 UTC, -7/1f) plus moq-wg/cmsf PR #21 (CMSF reference bump + JSON tweaks, +69/−20, MERGED 13:54 UTC, closes #20). draft-einarsson-moq-locmaf-00 NEW by Torbjörn Einarsson (Eyevinn) + Hugo Björs (KTH) — “Low Overhead CMAF for Media over QUIC (LOCMAF)” — compact wire format carrying CMAF chunk metadata as tagged fields with sample data unchanged, receiver reconstructs functionally equivalent CMAF chunks for MSE/EME playback. First IETF artifact from the wiki user, slots between LOC (lean container) and CMSF (CMAF-tied packaging) as a compact-fMP4 carrier.
- moq-transport PR #1642 OPEN June 2 17:01 UTC by afrind “Replace Joining Fetch with Subscription Fill, add Current Group” (+188/−148, 1f) — structural redesign of MOQT’s past-object retrieval: removes Joining Fetch types, INVALID_JOINING_REQUEST_ID, Joining Locations entirely; introduces new subscription filter types AbsoluteStartFill (
0x5), AbsoluteRangeFill (0x6), CurrentGroup (0x7), RelativeStartFill (0x8); adds FillDescending (0x3) group order; new Current Group Delivery + Fill Semantics sections. Publisher opens a fill fetch stream (FETCH_HEADER reusing subscription Request ID) for past objects while delivering current/future via subscribe subgroups/datagrams. Replaces ianswett’s PR #1627 (CLOSED June 3 00:16 UTC). Plus 2 new draft-18 design issues: Issue #1641 OPEN June 2 06:19 UTC by Tim Evens (Cisco) “Publish DONE, control stream or request stream?” — surfaces draft-18 text/wire inconsistency (PUBLISH_DONE described as control-stream message but actually sent on request stream); afrind 20:45 UTC reply: “Request streams are considered ‘control’ streams in most of the text, but we can probably crisp this up”. Issue #1643 OPEN June 2 18:49 UTC by afrind “Is it a request or session error to FIN a response bidi stream without a control message first?” — companion to 1634 FIN/RST semantics thread. London Day-1 0900-1045 “MOQT Issues” 180-min slot now anchored by 3 normative-text deliverables (PR #1642 fill-replacement + PR #1640 EXPIRES + PR #1638 DTS) + 4 design-issue threads (#1641, #1643, #1637, #1519). - Implementations: moq another high-throughput cycle (~14 merges + 3 OPEN June 2 20:00 → June 3 04:00 UTC, all kixelated). Operational milestone: PR #1604 MERGED “moq-relay: add /health load-shedding endpoint” (+905/−5, 11f) —
GET /healthreturns 503 + per-threshold breach lines viasysinfocrate when CPU/RAM/RX/TX cross config thresholds (--web-health-*flags /MOQ_WEB_HEALTH_*env), pure liveness probe when unconfigured; first-class CDN load-shedding. moq-lite-05 wire-feature triple: PR #1595 MERGED Frame Start in FETCH (Frame Start (i)afterGroup Sequenceso subscribers resume mid-group; implements moq-dev/drafts#24); PR #1601 OPENTrackConsumer::fetch(group, options)first-class single-group FETCH (+1027/−63, 7f, no live subscription required, bridges to wire moq-lite FETCH blocking on FETCH_OK); PR #1609 OPEN move immutable track props (Priority/Ordered/Cache/Timescale/Compression) off SUBSCRIBE_OK onto dedicated Track Stream (0x6) answered with singleTRACK_INFO(+435/−213, 6f, implements moq-dev/drafts#25, gated onLite05Wip). MPEG-TS completion: PR #1590 MERGED out-of-band avc1/hvc1 in MPEG-TS export + PR #1593 MERGED “moq-mux: synthesize AAC esds in fMP4 export; guard MKV header race” (+164/−3, 4f) — fMP4 export previously failed with “can’t synthesize CMAF init for audio codec AAC” for any TS-imported or raw-AAC broadcast; now buildsmp4_atom::Mp4awith fullesdsfrom catalogAudioConfig.description. API ergonomics: PR #1606 MERGEDTrackProducer/Consumer::subscribetakeimpl Into<Option<Subscription>>so.subscribe(None)replaces.subscribe(Subscription::default());subscribe_default()removed. Dependency wave: PR #1596 (7-day cooldown for cargo/bun/uv + dropbun.lockb), PR 1603 dependabot batches incl. code fixes forrand/rubato/rcgen. PR #1607 chore releasemoq-relay 0.12.7. moqx: Tim Evens (Cisco) emerges as new external contributor — PR #376 OPEN June 2 23:42 UTC “Fix Debian bookworm builds and switch deps to CPM” (+92/−31, 5f, yaml-cpp/reflect-cpp from FetchContent → CPM, no more pip-install-cmake, Boost static libs for moxygen standalone, CLion setup in BUILD.md); PR #377 OPEN June 3 05:09 UTC “fix macOS deps build with Apple Clang 21+ and tidy sanitizer flags” (+21/−6, 2f,FMT_CONSTEVALworkaround for Apple Clang 21 / Xcode 26 rejecting fmt 10.2.1 consteval, fmtlib/fmt#4740; sanitizer flag accumulation insetup-deps-standalone.sh). Same TimEvens who filed transport Issue #1641 — Cisco engineer crossing repos and surfacing draft-18 design questions simultaneously. Plus 1 sync-bot moxygen merge PR #375 (June 2 12:25 UTC). moq-rs still quiet outside PR #167 (Suhas filter framework) refresh June 3 05:37 UTC; PR #169 / #170 / #171 untouched. mondain (moqxr / moq2ts) quiet since June 1 21:08 UTC. quiche moqt, moqtail, moq-js (PR #72 OPEN since May 26), imquic (PR #27 OPEN), quiche_moq, Moqintosh, moqlivemock, Eyevinn/warp-player, Eyevinn/moqtransport all quiet. - Interop: 177 / 57 / 119 / 1 at 2026-06-03 00:56:06 UTC — +6 pass vs June 2 (51 → 57, 28.8% → 32.2%, +3.4pp); new May+June high since cadence recovery May 19; 16 consecutive days of daily reports (May 19-Jun 3) extends longest cadence streak the wiki has tracked. Second draft-18-target run; pass-count rebound suggests one or more impls now match draft-18 wire behavior or matrix harness’s draft-18 expectations adjusted between June 2 and June 3 runs (no registry/PR change observed). London hackathon 6 days away.
Operation: Update Sources:
- Slack:
#moqquiet since June 2 — no new messages matchafter:2026-06-02; channel read returns only ≤ March 17 messages (likely MCP staleness rather than retroactive deletion).#moq-rs,#moq-js,#libquicr,#moq-interop-runnerall quiet. - GitHub moq-wg repos:
- moq-transport: PR #1642 OPEN by afrind (Joining-Fetch replacement, +188/−148); Issue #1641 OPEN by TimEvens (PUBLISH_DONE wording) with afrind reply; Issue #1643 OPEN by afrind (bidi-stream FIN semantics); PR #1627 CLOSED June 3 00:16 UTC (superseded by #1642).
- moq-msf: PR #176 MERGED June 2 11:18 UTC by wilaw (RFC refs + SCTE35 entry removed, -7/1f) — last
mainclean-up before -01 submission ~2-5h later. - moq-wg/cmsf: PR #21 MERGED June 2 13:54 UTC by wilaw (+69/−20, JSON format + new MSF -01 reference, closes #20).
- moq-wg/loc, secure-objects, privacy-pass, catalog-format: all quiet.
- GitHub implementations:
- moq-dev/moq: ~14 merges + 3 OPEN. Highlights #1604 /health endpoint, #1595 Frame Start in FETCH, #1601 fetch() on TrackConsumer OPEN, #1609 TRACK_INFO Track Stream OPEN, #1590 MPEG-TS avc1/hvc1, #1593 AAC esds, #1606 ergonomic subscribe(None), #1607 chore release, plus dependency wave (#1596/1598/1599/1602/1603).
- cloudflare/moq-rs: PR #167 minor refresh June 3 05:37; PR #169/170/171 untouched.
- openmoq/moqx: PR #376 + PR #377 OPEN by TimEvens (Cisco, new external contributor); sync-bot PR #375 MERGED June 2 12:25 UTC.
- moqtail/moqtail, video-dev/moq-js (PR #72 OPEN), meetecho/imquic (PR #27 OPEN), mondain/moqxr + mondain/moq2ts, birneee/quiche_moq, t-gazzy/Moqintosh, Eyevinn/moqlivemock, Eyevinn/warp-player, Eyevinn/moqtransport, Quicr/cat-token: all quiet.
- google/quiche (
quiche/quic/moqt): no new commits observed since June 1 17:34 UTC.
- Mailing list: I-D Action announcements for
draft-ietf-moq-msf-01.txt+draft-einarsson-moq-locmaf-00.txt(June 2). New “Joining FETCH Replacement Proposal” thread by afrind linking PR #1642 with Magnus Westerlund replies. “London Agenda requests” replies from Mo Zanaty + Martin Duke. “Support for Track Filters and Top-N” thread continues (Suhas + Magnus). - IETF Datatracker: draft-ietf-moq-msf-01 SUBMITTED June 2 by Will Law (Akamai) + Suhas Nandakumar (Cisco) — first MSF revision in 134 days; draft-einarsson-moq-locmaf-00 SUBMITTED June 2 by Torbjörn Einarsson (Eyevinn) + Hugo Björs (KTH); transport-18 Day +22, loc-02, secure-objects-00 (PR #88 stages content for -01, no submission), privacy-pass-02, cmsf-00 unchanged.
- Interop runner: New report 2026-06-03 00:56:06 UTC: 177 / 57 / 119 / 1 (+6 pass vs June 2, 32.2%, new May+June high; 16-day cadence streak).
- MoQ Monthly: No new issue since #2 May 31 (Day +3).
- tobbee/moq-llm-wiki: No open issues.
Pages updated: drafts/moq-msf.md (June 3: -01 PUBLISHED June 2, 134-day saga closes), drafts/moq-locmaf.md (NEW PAGE — individual draft by Tobbe + Hugo Björs), drafts/moq-cmsf.md (PR #21 merged with MSF -01 reference bump), drafts/moq-transport.md (PR #1642 Joining-Fetch replacement, Issues 1643), implementations/moq-dev.md (June 3 burst: /health endpoint, moq-lite-05 wire features, MPEG-TS fMP4 close-out), implementations/openmoq.md (TimEvens emerges as new external contributor), interop/interop-runner.md (June 3 report 177/57/119/1, +6 pass new high), discussions/discussions-2026-06.md (June 3 section), index.md (MSF version bump to draft-01, add LOCMAF entry, last_updated bump), log.md (this entry).
Key findings:
- MSF -01 finally publishes after 5-day slippage saga ending wilaw’s May 27 Slack “Friday” pledge from Day +130 → Day +134 → June 2. Cumulative wilaw MSF events May 24-Jun 2 = 18 including 6 sprint PRs MERGED, 1 final clean-up PR (#176), and the -01 xml2rfc submission itself. The 134-day -00 → -01 cadence sets MSF’s publication tempo as ~4 months per revision, slower than moq-transport (49 days from -17 → -18) but consistent with MSF being a packaging-format spec rather than wire-protocol spec. London Day-2 35-min MSF/CMSF slot now has both anchor docs in current state: MSF -01 published, CMSF main updated against MSF -01 normative reference via PR #21.
- LOCMAF debut by the wiki user. Torbjörn Einarsson + Hugo Björs publish
draft-einarsson-moq-locmaf-00June 2 with title “Low Overhead CMAF for Media over QUIC (LOCMAF)” — compact wire format carrying CMAF chunk metadata as tagged fields while preserving sample data unchanged, receiver reconstructs functionally-equivalent CMAF chunks suitable for MSE/EME playback pipelines. Slots into the LOC vs CMSF design space: LOC strips CMAF overhead but loses MSE/EME compatibility; CMSF keeps CMAF semantics at full chunk size; LOCMAF aims for the middle — compact-fMP4 carrier the player reconstructs to a CMAF chunk in browser memory before handing to MSE. First IETF artifact from the wiki maintainer, completes the wiki’s coverage of individual drafts in theloc-family alongside LOC (WG) + compressed-mp4 (mzanaty individual) + LOC media-interop (individual, expired Apr 23). - afrind’s PR #1642 fundamentally restructures MOQT’s past-object retrieval. Joining Fetch (introduced draft-15) is removed entirely; SUBSCRIBE’s existing filter-type field is overloaded with new fill filter types so the publisher opens a single FETCH_HEADER reusing the subscription’s Request ID for past objects, delivering current and future via subscribe subgroups/datagrams. The redesign replaces ianswett’s PR #1627 (OPEN since May 3, 30 days) — afrind opens #1642 June 2 17:01 UTC; ianswett auto-CLOSES #1627 June 3 00:16 UTC. The architectural simplification (one filter dimension instead of two request types) and the FillDescending group order (descending for fill, ascending for subscribe) both directly answer ianswett’s Issue #1614 “(JOINING) FETCH + SUBSCRIBE prioritization”. London Day-1 0900-1045 MOQT Issues 180-min slot now has three concurrent normative-text deliverables (PR #1642 fill, PR #1640 EXPIRES, PR #1638 DTS) plus 4 design-issue threads — the slot will need triage to fit all three PR-reviews into 3 hours.
- TimEvens (Cisco) emerges as a new cross-repo contributor. TimEvens opens 2 openmoq/moqx PRs (#376 Debian bookworm CMake migration to CPM + #377 Apple Clang 21 fmt workaround) and 1 moq-wg/moq-transport issue (#1641 PUBLISH_DONE control-vs-request-stream wording) within ~18h June 2 06:19-23:42 UTC. Cisco’s surface area across MoQ now spans: Suhas Nandakumar (cmsf, msf, secure-objects, privacy-pass editorial; cloudflare/moq-rs PR #167 filter framework + PR #171 C4M AuthHook); Mo Zanaty (loc draft author, agenda contributions); now Tim Evens (transport draft-18 design + openmoq/moqx build-system hardening). 3rd cisco contributor reaching mainline moq-wg artifacts within May-June 2026.
- moq-dev/moq’s
/healthendpoint is its first explicit production-CDN load-shedding feature. PR #1604 (+905/−5) adds an unauthenticatedGET /healthto moq-relay’s web server returning 200 ok or 503 overloaded with per-threshold breach lines. Configurable CPU/RAM percentages plus absolute throughput thresholds (rx/tx, unit-required sob= bits,B= bytes), Unix-only load-average flag. With no thresholds configured it’s a pure liveness probe. Pairs with PR #1571 May 31 (externalized--cluster-connect-apipeer list) and PR #1574 (per-auth-root presence-based billing) — together: moq-dev/moq is now structurally a production CDN substrate with load-balancer integration, peer-list externalization, presence billing, and the moq-pro pattern (proprietary policy in moq-pro, agnostic substrate in OSS moq-dev/moq) consolidated. - moq-lite-05 wire spec maturing at pace. Counting from PR #1518 (Lite05Wip version variant May 27) the wire-feature additions are now: deflate compression (PR #1531 May 28), AnnounceOk (PR #1573 June 1), Frame Start to FETCH (PR #1595 June 3), TrackConsumer::fetch first-class single-group FETCH (PR #1601 OPEN), TRACK_INFO Track Stream
0x6removing immutable props from SUBSCRIBE_OK (PR #1609 OPEN) — 5 wire features in 7 days, all gated onLite05Wipso default ALPN/Versions don’t advertise. moq-lite-05 is structurally the most active wire-protocol evolution venue in the MoQ ecosystem, outpacing moq-transport draft-18 → draft-19 prep both in feature count and merge cadence.
2026-06-02 — DTS PR-against-transport-18 lands; 3 MSF PRs merge; moq-dev/moq MPEG-TS bridge + 14 merges; moq-rs PR #171 C4M; moq2ts MSFTS demonstrator; first draft-18 interop run
TL;DR:
- wilaw opens moq-transport PR #1638 “Add Dynamic Track Switching (DTS)” June 1 11:06 UTC (+147/−0, fixes #259) — DTS lands as a PR-against-moq-transport-18 base spec per Cullen Jennings’s May 27 explicit preference over Magnus Westerlund’s separate-Internet-Draft proposal; the consensus-decided design from the May 26-Jun 4 mailing-list call now has concrete normative text staged for merge with new
SWITCHING-SET-ASSIGNMENTparameter. Plus same day Issue #1639 + PR #1640 by martinduke extending EXPIRES to most request types — London Day-1 “MOQT Issues” slot now anchored by 2 normative-text deliverables (DTS + EXPIRES) plus 2 issue threads (bidi-stream-credit + request-blocking). MSF 3 PRs MERGED June 1 clearing the trailing editorial work: PR #159 catalog compression by suhasHere (fixes Vasil’s 21-day-old #144), PR #165 bitrate properties makingsampleRate/channels/codec/width/heightrequired (kixelated’s third schema-strengthening ask), PR #175 version-string-instead-of-number. MSF -01 still NOT submitted to Datatracker — Day +134, 5th consecutive day of slippage. mondain/moq2ts MSFTS demonstrator publicly announced on Slack by Paul Gregoire (created May 21, 9-commit June 1-2 surge to cross-platform CI build, linking against pinned moqxr SDK). - moq 14 merges + 6 OPEN June 1-2 clearing pre-London backlog incl. 3 long-pending PRs: PR #1587 OPEN moq-mux MPEG-TS import/export (+1548/−2, 15f, bridges to MPEG-2 TS, complements moq2ts MSFTS-conformant path), PR #1573 MERGED moq-lite-05 AnnounceOk (was OPEN), PR #1540 MERGED subscribe_track async (+1221/−632, OPEN 4 days), PR #1439 MERGED per-track timescale long-pending, PR #1513 MERGED qmux version mapping long-pending, PR #1581 MERGED unified —auth-api for moq-pro CDN dashboard. cloudflare/moq-rs PR #171 OPEN June 1 by suhasHere “Add pluggable AuthHook trait and C4M token authentication” — concrete implementation of PR #169 design proposal (+2090/−15, 30f, 2 new crates
moq-auth+moq-auth-cat); first concrete cross-impl auth implementation engagement after May 30 thibmeu review burst. Slack moq breaks 7-day silence with Martin Duke June 1 22:43 UTC asking if anyone wants draft-16 interop at London → Alan Frindell + Mike English confirm moxygen and moq-rs will have 14+16+partial-18 simultaneously; Mike: “I’m also feeling like 18+ might be where we finally start on proper multi-version support”. - Implementations: moq see above. moq-rs PR #171 C4M auth impl + PR #167 minor refresh. moq2ts (NEW PUBLIC REPO, C++) ~9 commits June 1-2 cross-platform CI + ffmpeg 8 + native AVCaptureSession + moqxr SDK link. moqxr 3 commits June 1 packaging publisher static library + picoquic/picotls bundle. moqx afrind 9-event June 1 sprint: 5-PR multi-thread stack OPEN (PR #361-#365) for
threads > 1production milestone + several merges including PR #371 bpf, PR #372 stop() idempotent, PR #373 perf, PR #374 UDP socket buffer config. quiche moqt breaks 5-day quiet with 2 martinduke commits (3b9d5450parameter handling refactor +0b92a8b4FETCH stream LocationIsValid removal). moqtail, moq-js (PR #72 OPEN), imquic (PR #27 OPEN, last updated June 1 13:15), quiche_moq, Moqintosh, moqlivemock, Eyevinn/warp-player, Eyevinn/moqtransport all quiet. - Interop: 177 / 51 / 125 / 1 at 2026-06-02 00:50:22 UTC — first run at new draft-18 target following PR #68 merge June 1 05:21 UTC. −3 pass vs June 1 (54 → 51, 30.5% → 28.8%, −1.7pp); skip 0 → 1; 15-day cadence (new longest streak). Version breakdown shifts to 0 at target · 0 ahead · 177 behind — no impl is registered with the runner as advertising draft-18 even though 3 impls have draft-18 main-branch code. Drift between runner-registered-version and impl-main-branch-version is now the visible structural gap (Martin Duke’s Slack question 4h later is the implementer-side response).
Operation: Update Sources:
- Slack:
#moqbreaks 7-day silence with 5 messages June 1-2 (Paul Gregoire moq2ts announcement, Martin Duke draft-16 London poll, Alan Frindell + Mike English × 2 multi-version responses).#moq-rs,#moq-js,#libquicr,#moq-interop-runnerall quiet. - GitHub moq-wg repos: moq-transport 4 events: PR #1638 DTS OPEN by wilaw (fixes #259), Issue #1639 + PR #1640 EXPIRES extension by martinduke, Issue #1519 vasilvv updated. moq-msf 3 PRs MERGED June 1 (#159 compression, #165 bitrate, #175 version-string) — last sprint PR lands; only #156 + #169 still OPEN. moq-wg/loc, cmsf, catalog-format, secure-objects, privacy-pass: All quiet.
- GitHub implementations:
- moq-dev/moq: 14 PRs MERGED + 6 OPEN June 1-2. Highlights: #1587 MPEG-TS import/export OPEN, #1573 AnnounceOk MERGED, #1540 subscribe_track async MERGED, #1439 per-track timescale MERGED, #1513 qmux version mapping MERGED, #1581 unified —auth-api MERGED, 1589 MERGED, #1583 external Opus DTX OPEN, 1592 OPEN.
- cloudflare/moq-rs: PR #171 OPEN June 1 18:40 UTC suhasHere “Add pluggable AuthHook trait and C4M token authentication” (+2090/−15, 30 files); PR #167 updated June 2 06:02 UTC; PR 170 untouched.
- video-dev/moq-js: quiet (PR #72 OPEN since May 26).
- moqtail/moqtail, meetecho/imquic (PR #27 OPEN since May 25), moqxr mondain 3 commits SDK packaging, mondain/moq2ts NEW announcement + 9 commits, birneee/quiche_moq, t-gazzy/Moqintosh, Eyevinn/moqlivemock, Eyevinn/warp-player, Eyevinn/moqtransport, Quicr/cat-token: all quiet (Eyevinn).
- openmoq/moqx: afrind 5-PR multi-thread stack OPEN (#361-#365), 5 PR MERGED (#360, #371, #372, #373, #374), 1 sync-bot moxygen merge (#369); paul-mondain PR 286 unchanged.
- google/quiche (
quiche/quic/moqt): 2 martinduke commits June 1 17:28-17:34 UTC (parameter handling refactor + FETCH stream LocationIsValid removal). - englishm/moq-interop-runner: New report 2026-06-02 00:50:22 UTC (first draft-18 target run); no new PRs.
- Mailing list: NO new messages June 1 or 2 beyond the May 31 03:01 UTC Repository Activity Summary Bot weekly digest. Weekend → Monday silence extends into 4th day.
- IETF Datatracker: No new revisions June 1 or 2. WG state: transport-18 (Day +21), msf-00 (Day +134 since -00, wilaw -01 still NOT submitted), loc-02, secure-objects-00, privacy-pass-02, cmsf-00.
- Interop runner: New report 2026-06-02 00:50:22 UTC: 177 / 51 / 125 / 1 (first run at new draft-18 target, −3 pass vs June 1, 28.8% pass rate, 15-day cadence longest streak, 0 at target · 0 ahead · 177 behind reflects impl-registration drift).
- MoQ Monthly: No new issue since #2 May 31 (Day +1).
- tobbee/moq-llm-wiki: No open issues.
Pages updated: discussions/discussions-2026-06.md (NEW June 2 section), drafts/moq-msf.md (June 2 entry: 3 PR merges + Day +134 5th day slippage), drafts/moq-transport.md (June 2 entry: DTS PR #1638 + EXPIRES Issue/PR + 2 quiche moqt commits), drafts/moq-msfts.md (June 2 entry: moq2ts demonstrator + cross-impl MPEG-TS adjacency), implementations/moq-dev.md (June 2 entry: 14-merge burst + MPEG-TS bridge + long-pending merges), implementations/moq-rs.md (June 2 entry: PR #171 C4M implementation), implementations/openmoq.md (June 2 entry: afrind multi-thread sprint Day 4 + mondain SDK packaging), interop/interop-runner.md (June 2 first draft-18 target report 177/51/125/1), index.md (last_updated bump), log.md (this entry).
Key findings:
- DTS lands as a PR-against-moq-transport-18 base spec — Cullen Jennings’s May 27 preference wins over Magnus Westerlund’s separate-Internet-Draft proposal. moq-transport PR #1638 (+147/−0, 1 file, fixes #259) by wilaw June 1 11:06 UTC adds Dynamic Track Switching directly to the base specification with a new
SWITCHING-SET-ASSIGNMENTparameter. Heading into the June 4 consensus call close, the tally is 4 YES + 0 NO (Will Law / Cullen Jennings / Gwendal Simon / Yu You-Nokia / Ali Begen) with 3 of 4 SWITCH co-authors + Nokia implementation report — substantively decided 14 days before close. The PR’s structural choice (base-spec PR vs separate companion draft) matches Cullen’s preference and the implementer pattern (MOQtail + Nokia both implemented DTS as integrated transport feature). Carry-forward: London Day-1 0900-1045 “MOQT Issues” 180-min slot now structurally anchored around 2 normative-text deliverables (DTS PR #1638 + EXPIRES PR #1640) plus 2 issue threads (bidi-stream-credit Issue #1637 + request-blocking Issue #1519). Wider impact: the DTS PR-against-base-spec landing structurally breaks the precedent of “controversial features get their own RFC” — future MOQT features may follow the same path, which simplifies the dependency tree for impl conformance testing. - cloudflare/moq-rs PR #171 ships concrete C4M AuthHook implementation 4 days after thibmeu review burst — design vs implementation cleavage now visible. PR #171 by suhasHere (+2090/−15, 30 files) adds
moq-auth+moq-auth-catcrates implementing PR #169’s AuthHook trait with C4M (CAT for MoQ) signature verification. Suhas advances from design proposal to working code with end-to-end test plans for both shared-secret and C4M auth modes. The thibmeu PR #169 review critiqued the trait surface for accommodating Privacy Pass challenge-reply (issuer-aware) — PR #171 does not yet address that pivot; Suhas ships the verify-callback shape and lets Privacy Pass adapt or extend later. PR #169 stays OPEN as design venue, PR #171 stays OPEN as concrete implementation to test against — first wiki-tracked example of explicit design-PR-vs-implementation-PR cleavage in MoQ. Cross-impl significance: moqx has been driving CAT token auth via PR #264 + PR #286 since May 1; cloudflare/moq-rs PR #171 is the second relay implementation of CAT auth under the C4M framing — structurally parallels rather than reuses openmoq/moqx’s pattern. Carry-forward: London Day-1 PRIVACY_PASS slot now has 2 concrete relay implementations (openmoq/moqx CAT + cloudflare/moq-rs C4M) plus thibmeu’s pending PrivacyPass critique on PR #169 = 3 vectors of auth-implementation experience. - First impl of MSFTS spec publicly announced — moq2ts + moq-dev/moq PR #1587 together = first cross-impl MPEG-TS substrate for MoQ. mondain/moq2ts (C++, created May 21 2026) publicly announced by Paul Gregoire on Slack June 1 19:43 UTC — first publicly-announced reference implementation of draft-gregoire-moq-msfts-00 which Paul co-authored. Same June 2 02:25 UTC window, moq-dev/moq PR #1587 opens MPEG-TS import/export for
moq-muxvia singlempeg2tscrate — two complementary MoQ-side MPEG-2 TS paths now exist (moq2ts MSFTS-spec-conformant + moq-dev/moq codec-agnostic via mpeg2ts crate). Carry-forward: with mondain/moqxr SDK packaging June 1 + moq2ts CI builds linking against it + moq-dev/moq PR #1587 import/export, MSFTS becomes the second concrete MoQ-side MPEG-2 TS path (after moqlivemock catalog work). London Day-2 35-min MSF/CMSF/MSFTS slot now has concrete reference impls to discuss. - First draft-18 interop run reveals impl-registration drift — 0 at target · 0 ahead · 177 behind despite 3 impls having draft-18 main code. June 2 00:50 UTC report (first after PR #68 merge) shows the matrix is now structurally ahead of every impl: no impl is registered with the runner as advertising draft-18 even though moq-dev/moq, mondain/moqxr, meetecho/imquic have draft-18 code in main. The −3 pass count (54 → 51) is the cost of recategorization, not regression — previously-passing draft-16↔draft-16 cells likely still pass; the “ahead-of-target” category (8 tests, all draft-17) shifts to “behind”. Carry-forward: only remaining structural lever is each impl updating its runner registration to advertise draft-18 (3 impls have the code, none have updated their registration). Same-day Slack response is the implementer-side answer: Martin Duke’s June 1 22:43 UTC question about draft-16 London interop confirms impls are intentionally maintaining 14+16+partial-18 simultaneously rather than rushing single-version migration. Mike English’s “I’m also feeling like 18+ might be where we finally start on proper multi-version support” signals a structural shift in impl strategy — until now MoQ impls tracked latest draft with best-effort migration; draft-18 may be the version where multi-version support becomes deliberate impl feature, not slow-migration side effect.
- MSF -01 unfulfilled on Datatracker now in 5th consecutive day of slippage (Day +134 since -00) — but all editorial work is now complete with the June 1 3-PR merge wave (#159 compression, #165 bitrate, #175 version-string). Only the
xml2rfcDatatracker submission remains. With London hackathon 7 days away, the London Day-2 35-min MSF/CMSF slot is structurally without an anchor normative artifact unless -01 lands in next ~3 business days. Carry-forward: the announced-but-unmet draft cadence is now a 5-day data point the wiki is tracking; if -01 doesn’t publish before London, the structural credibility cost on wilaw’s Slack-pledged release cadence widens further. The June 1 3-PR merge wave closes the loop on 3 long-standing MSF issues (Vasil V’s 21-day-old #144 compression, kixelated’s May 22 #164 mandatory-fields ask, the version-string interop debate from #163) all in one ~4-hour window — strong signal that the editor side is unblocking for submission rather than holding for further design work.
2026-06-01 — interop runner PR #68 draft-18 target bump MERGED; MoQ Monthly #2 published; moq-dev/moq cluster-mesh burst
TL;DR:
- interop runner PR #68 “Update interop target to draft-18” MERGED June 1 05:21:25 UTC by englishm-cloudflare — 14 days after OPEN (May 18 21:01 UTC). First interop-target version bump since matrix inception and first matrix-shape change since PR #71 May 25 (moqx docker adapter). The June 1 00:49 UTC interop report still shows
draft-16as target (PR merged ~4.5h after report cut); June 2 will be the first run targeting draft-18. Three impls have been on draft-18 main 2-3 weeks (moq May 18, moqxr May 19-20, imquic May 20); the structural gap closes precisely 8 days before London. - MoQ Monthly #2 published May 31 by Mike English — “A new draft, an industry town hall, and London next week”. Ends Day-+31 silence since #1 (Apr 30). Coverage: Draft-18 May 12, London interim June 9-12, Dan Rayburn town hall May 12, Streaming Tech Sweden May 21 (Vindral + SVT), Luke Curley’s “MoQ Boy” Game Boy demo, CacheFly + Red5 announce MoQ beta for summer 2026 (new ecosystem signal), 3 ACM MMSys 2026 papers from Özyeğin University, MPEG-2 TS + neural codec drafts, Jan Ozer overview, upcoming FOKUS Media Web Symposium (June 16-17) + CommCon (June 9-11) + RTC.ON (Sep 16-18).
- moq cluster-mesh infrastructure burst May 31 17:51 UTC → June 1 03:20 UTC = 5 merges + 1 OPEN in ~12h, all kixelated. Externalizes cluster topology to operator-owned endpoint + deterministic FNV-1a route tie-break + per-auth-root billing + moq-lite-05 AnnounceOk wire feature. PR #1571 MERGED
--cluster-connect-apipolls operator’s HTTP endpoint or local file for peer list (+874/−150, breaking change to PR #1504’s--cluster-mesh). PR #1570 MERGED deterministic FNV-1a route tie-break —DefaultHashernot stable across Rust versions, mismatched binaries in rolling deploy must still converge. PR #1574 MERGED per-auth-root session counts for presence-based billing (idle authenticated sessions billable). PR #1573 OPEN moq-lite-05AnnounceOk(second concrete moq-lite-05 wire feature after PR #1531 deflate) reports responder origin once +active: Ncount + initial-set boundary enablesconnect()to block until initial set landed. moq-pro pattern visible: externalize policy (routing endpoint in moq-pro), leave mechanism in OSS moq-dev/moq. - Implementations: moq see above + dependabot merges + #1575 chore-release closes #1557. moqx afrind PR #359 MERGED May 31 22:08 UTC “relay: fix shutdown hang when sessions hold lingering server refs” (+31/−0, 5f) —
unique_ptr-ownedIOThreadPoolExecutor+ idempotent stop, completes May 28 PR #351 ownership model. Plus 2 sync-bot moxygen merges (PR #357 + #358). moqxr 2 commits June 1 by Paul Gregoire:ced45c85cancellablepublish_live_objects+c18924ccbound graceful flush — incremental shutdown polish. moq-rs quiet Day +2 since 8-thibmeu review burst May 30 (PR #169 AuthHook + PR #170 Manish draft-16 rewrite untouched). quiche moqt Day +2 silent. moqtail, moq-js (PR #72 still OPEN), imquic (PR #27 still OPEN), quiche_moq, Moqintosh, moqlivemock, Eyevinn/warp-player, Eyevinn/moqtransport all quiet. - Interop: 177 / 54 / 122 / 0 at 2026-06-01 00:49:16 UTC — +2 pass vs May 31 (52 → 54, 29.4% → 30.5%, +1.1pp). First 30%+ pass rate since cadence recovery May 19. 14 consecutive days of daily reports (May 19-Jun 1), longest cadence streak the wiki has tracked. 5-day monotonic uptick continues (46 → 49 → 50 → 52 → 54 from May 28→Jun 1, +8 pass over 5 days). Target at report time still draft-16 but PR #68 MERGED ~4.5h after report cut; June 2 first draft-18 run.
Operation: Update Sources:
- Slack:
#moq,#moq-rs,#moq-js,#libquicr,#moq-interop-runnerall quiet May 31-Jun 1. Latest substantive messages remain afrind self-fetch (May 28) + Lorenzo moq-mi/LOC (May 27). - GitHub moq-wg repos: All quiet since May 31 06:00 UTC. moq-wg/msf: PRs 174 all MERGED previously; only PR #165 (bitrate properties) remains OPEN; MSF -01 still NOT published on Datatracker (Day +133 since -00). moq-wg/moq-transport: Issues #1637 + #1519 still OPEN. moq-wg/cmsf: Issue #122 zapping debate unresolved. moq-wg/secure-objects: PR #88 still OPEN. moq-wg/loc, catalog-format, privacy-pass: All quiet.
- GitHub implementations:
- moq-dev/moq: 5 merges + 1 OPEN May 31-Jun 1. #1569 dedup mesh dials MERGED 17:51 UTC; #1570 deterministic route tie-break MERGED 19:26 UTC; #1571 cluster-connect-api MERGED Jun 1 00:22 UTC; #1572 simplify polling onto HTTP cache MERGED 01:11 UTC; #1574 per-auth-root billing MERGED 03:20 UTC; #1573 moq-lite-05 AnnounceOk OPEN 02:47 UTC; #1575 chore release MERGED 03:47 UTC. Dependabot 1568 merged. #1540 subscribe_track async still OPEN.
- openmoq/moqx: PR #359 shutdown hang fix MERGED May 31 22:08 UTC; PR #357 + #358 sync-bot moxygen MERGED.
- mondain/moqxr: 2 commits Jun 1 by Paul Gregoire (cancellable + bounded graceful flush).
- cloudflare/moq-rs, video-dev/moq-js, meetecho/imquic, moqtail/moqtail, birneee/quiche_moq, t-gazzy/Moqintosh, Eyevinn/moqlivemock, Eyevinn/warp-player, Eyevinn/moqtransport, Quicr/cat-token, englishm/moq-interop-runner (other than PR #68): All quiet.
- google/quiche (
quiche/quic/moqt): Day +2 silent.
- Mailing list: 1 message May 31 03:01 UTC — Weekly github digest from Repository Activity Summary Bot (auto-summary). No new substantive MoQ messages May 31-Jun 1. Weekend mailing-list silence into 3rd day.
- IETF Datatracker: No new revisions May 31 or Jun 1. WG state: transport-18 (Day +20), msf-00 (Day +133 since -00, wilaw -01 still NOT submitted), loc-02, secure-objects-00 (PR #88 stages content for -01, no submission), privacy-pass-02, cmsf-00.
- Interop runner: New report 2026-06-01 00:49:16 UTC: 177 / 54 / 122 / 0 (+2 pass vs May 31, 30.5% pass rate, 14-day cadence, 5-day monotonic uptick). PR #68 MERGED 05:21:25 UTC — draft-18 target bump.
- MoQ Monthly: NEW issue #2 published May 31 (Day +31 since #1, cadence shortens from 58 → 31 days). Coverage: Draft-18, London June 9-12, Dan Rayburn town hall, Streaming Tech Sweden (Vindral+SVT), MoQ Boy, CacheFly+Red5 beta, ACM MMSys 2026 (Özyeğin), MPEG-2 TS + neural drafts, Jan Ozer overview, FOKUS/CommCon/RTC.ON.
- tobbee/moq-llm-wiki: No open issues.
Pages updated: discussions/discussions-2026-06.md (NEW file — June discussions month start), drafts/moq-msf.md (June 1 entry: Day +133 4th day slippage), implementations/moq-dev.md (June 1 entry: cluster-mesh burst with 1573), implementations/openmoq.md (June 1 entry: PR #359 shutdown hang fix + mondain/moqxr Paul Gregoire commits), interop/interop-runner.md (June 1 177/54/122/0 callout + PR #68 MERGED draft-18 target bump), index.md (last_updated bump + add discussions-2026-06 entry), log.md (this entry).
Key findings:
- The June 1 05:21:25 UTC merge of interop runner PR #68 “Update interop target to draft-18” is the matrix-shape lever the wiki has been tracking since May 18 — 14 days OPEN → MERGED. The +1/−1 diff (a single config string change) sat in CI-gated limbo for 14 days while englishm-cloudflare worked through CI infrastructure issues (May 19 PR #69 per-test timeout fix → matrix cadence resumes; May 25 PR #71 moqx docker adapter; subsequent 13 daily reports). With the merge happening ~4.5h after the June 1 report cut, June 2 will be the first interop matrix run targeting draft-18. The “97 at target · 8 ahead · 72 behind” version breakdown under draft-16 will recompose under draft-18: impls on draft-18 main (moq, moqxr, imquic) become “at target”, draft-17 becomes “behind”, draft-16 becomes “behind”. Whether the net pass count moves up or down depends on whether the matrix harness counts cross-version pairings as expected-fail or genuine-fail. Carry-forward: PR #68’s merge exhausts the only matrix-shape lever the wiki was tracking before London; the next structural feature request is Mike’s May 27 Slack ask for streaming-format-level automated interop (MSF/CMSF/LOC matrix beyond wire-protocol), no implementation started. Wider impact: the structural gap between matrix-target draft-version and shipped-impl draft-versions that the wiki tracked May 18-Jun 1 has closed precisely 8 days before London hackathon (June 9), so London-week interop activity will exercise the same draft-18 protocol on both runner and implementations — the prerequisite for hackathon-time interop counts being directly comparable across impls.
- MoQ Monthly #2 published May 31 ends the Day-+31 newsletter silence with London-cycle framing. The cadence shortens from 58 days (#0→#1) to 31 days (#1→#2), suggesting Mike English is reasserting per-IETF-interim publication cadence. The new ecosystem signal the wiki had not captured: CacheFly + Red5 MoQ beta announcement for summer 2026 (adds a 4th major CDN actor to the Cloudflare/Akamai/Fastly trio the wiki has been tracking). The retrospective coverage of Dan Rayburn town hall May 12, Streaming Tech Sweden (Vindral + SVT production implementations), and Luke’s MoQ Boy demo provides third-party validation of activity the wiki recorded in 2026-05 discussions. Carry-forward: with #2 published 8 days before London, the natural cadence puts #3 around June 30 (Day +30) covering London interim outcomes — assuming London catalyzes the cadence-shortening trend Mike is establishing.
- moq-dev/moq cluster-mesh infrastructure burst makes the moq-pro pattern visible. The 5-merge May 31-Jun 1 wave (#1569 dedup mesh dials, #1570 deterministic FNV-1a tie-break, #1571
--cluster-connect-api, #1572 HTTP-cache simplification, #1574 per-auth-root billing) externalizes cluster topology to an operator-owned endpoint. PR #1571’s body is explicit: “The/cluster/connectendpoint itself (proprietary routing over the node inventory) lives in moq-pro”. This is the first public surfacing of the OSS-vs-commercial boundary in moq-dev/moq’s architecture: moq-dev/moq stays topology-agnostic (dials whatever hostnames the source returns); moq-pro owns the routing decisions. The deterministic FNV-1a tie-break (PR #1570) directly enables this split — under rolling deploys with mismatched binaries, every node must converge on the same route, andDefaultHasherexplicitly is not stable across Rust versions. PR #1574’s per-auth-root session counting ({sessions, sessions_closed}mapping per auth root) enables presence-based billing of idle authenticated sessions — a SaaS-control-plane feature, not a protocol feature. Carry-forward: the moq-pro pattern (externalize policy via HTTP endpoint, leave mechanism in OSS substrate) is now a deployable architecture; combined with PR #1573’s moq-lite-05AnnounceOkwire feature opening to gate the protocol behind aLite05Wipversion variant, moq-dev/moq has the dual-track shape of (a) OSS protocol substrate evolving under public PRs and (b) commercial routing/billing layer composed against it. Wider impact: moq-dev/moq becomes the first MoQ implementation to ship a clear OSS-vs-commercial architectural boundary while keeping the protocol substrate fully open; this is the structural pattern any future commercial MoQ deployment (CacheFly+Red5, Cloudflare’s moq-rs production work, etc.) will likely adopt or reject. - MSF -01 unfulfilled on Datatracker now in 4th consecutive day of slippage (Day +133 since -00). The editorial work has been complete since May 30 (PRs 174 all MERGED); only the
xml2rfcDatatracker submission remains. With London hackathon 8 days away, the London Day-2 35-min MSF/CMSF slot is structurally without an anchor normative artifact unless -01 lands in the next ~3 business days. The interop runner PR #68 draft-18 target bump landing precisely now means the runner can exercise the draft-18 wire-protocol matrix, but MSF/CMSF/LOC media-format-level interop (Issue #32) still depends on the MSF -01 cut to anchor implementation choices. Carry-forward: if MSF -01 doesn’t publish before London, the structural credibility cost on wilaw’s Slack-pledged release cadence widens further — the announced-but-unmet draft cadence is now a 5-day-slippage data point the wiki is tracking. Wider impact: the moq-pro pattern observed in moq-dev/moq (PR #1571 splits proprietary policy from OSS mechanism) and the externalize-routing-to-endpoint approach is structurally analogous to MSF’s “keep the streaming format in IETF, leave the codec/container choices to implementations” design — both reflect the 2026 MoQ pattern of leaving normative envelope open and pushing implementation-specific choices into operator/vendor territory. - Interop matrix +2 pass to 54 with 5-day monotonic uptick (+8 pass over 5 days) lands at the same time as PR #68 draft-18 target bump. The trajectory 46 → 49 → 50 → 52 → 54 between May 28-Jun 1 shows the matrix has been steadily catching positives from moq-dev/moq’s May 27-31 refactor wave (cross-language smoke test phase 2 + libmoq auto-reconnect + Python/Swift/Kotlin/Go splits + IETF stats path fix + viewer atomics + cluster-mesh infrastructure). First 30%+ pass rate since cadence recovery May 19 crosses a notable psychological threshold ~30% (54/177). With the draft-18 target bump merged ~4.5h after the report cut, the June 2 report becomes the first composite signal of (a) implementation refactor wave + (b) target version bump in a single report — disentangling the two contributions to pass count will require subsequent runs to settle. Carry-forward: 14 consecutive days of daily cadence (May 19-Jun 1) is the longest streak the wiki has tracked; the matrix has been stable through ~75 PR/commit events across implementations during this window. With PR #68’s merge exhausting the structural levers and 8 days to London hackathon, the runner’s June 1-9 trajectory becomes the wiki’s primary signal for whether implementations are converging on draft-18 conformance pre-London.
2026-05-31 — moq-dev/moq polyglot-split day (Swift+Kotlin+Go follow Python within 24h); cloudflare/moq-rs AuthHook gets 8 thibmeu review comments; MSF -01 still unfulfilled Day +132; interop 52/124 13-day cadence 4-day uptick
TL;DR:
- moq-dev/moq executes the May 30 Python-split template across Swift + Kotlin + Go in 24h — ~14 PRs. Python PR #1551 MERGED May 30 18:08 UTC → PR #1561 Swift split + Swift-native redesign (+1810/−489) MERGED May 31 02:47 UTC → PR #1562 Kotlin split (+704/−181) MERGED May 31 02:49 UTC → PR #1563 Go split + new ergonomic wrapper (+2333/−309) MERGED May 31 03:48 UTC. All 4 language splits ship two independently-versioned distributions (
moq-ffiraw bindings + ergonomic wrapper) using language-native compatibility ranges (PEP 440~=, SPM.upToNextMinor, Maven[0.2,0.3), Go MVS) so wrappers float to newest bindings patch automatically. Plus PR #1554 ergonomic announced streams (SwiftAsyncSequence+ KotlinFlow), PR #1559 moq-rs (Python) FFI parity gaps, PR #1560 wire session stats into IETF protocol path (closes long-standing gap: IETF connections silently contributed zero to dashboard/billing counters), PR #1553 count viewers as distinct per-session subscriptions, PR #1556 drop in-repo cross-language smoke test (moves to new moq-dev/smoke repo to test published artifacts not source builds). First multi-language FFI release architecture in any tracked MoQ implementation. - cloudflare/moq-rs PR #169 AuthHook breaks 2-day silence — 8 thibmeu review comments May 30 14:55-15:20 UTC. Thibault Meunier (Cloudflare privacy-pass author) delivers first substantive design engagement on the May 28 AuthHook trait design proposal: (1) trait surface might be limiting for Privacy Pass challenge reply (§3.4.5.1); (2) reference
AUTHORIZATION_TOKENparameter directly with Token Alias/Type/Value structure; (3) need upstream moqt spec issue; (4) decode-before-scope vs scope-before-challenge ordering matters for two distinct namespaces using two distinct issuers; (5)&[u8]over&strper privacy-pass-moq-auth which uses bytes; (6-8) useSETUPconsistently per draft-18, mixed -16/-18 wording. Design wedge: thibmeu’s review forces AuthHook to accommodate issuer-aware challenge reply rather than pure verify-callback — splits “verifier hook” from “challenge protocol participant”. First cross-impl review pressure on englishm’s editorial pace since PR #167. - moq-wg/msf — MSF -01 still unfulfilled on Datatracker Day +132. No Datatracker submission May 30 or 31. PR #171 MERGED May 30 16:59 UTC by wilaw “Add optional parent namespace field to clone tracks” (+13/−3, fixes Issue #146 — auto-CLOSED 4 seconds later); wilaw cumulative MSF events May 24-31 = 17. Editorial work on
maincomplete; onlyxml2rfcDatatracker submission remains. First announced-but-unmet draft cadence the wiki has tracked, now in its 3rd day of slippage. moq-wg/cmsf Issue #122 “initial text on zapping” attracts editorial debate May 30: Gwendal Simon 13:23 UTC argues PR over-explains simple HESP-style fast-switching mechanism; Suhas Nandakumar 21:43 UTC proposes appendix-section split — first cmsf editor-vs-contributor design pushback the wiki has tracked. moq-wg/moq-transport — afrind May 30 16:00:09 UTC reply on Issue #1519: “Most MOQT stacks don’t really offer direct application control of ‘send these two requests in the same QUIC packet’… Are we ok saying ‘this is mostly fine’ or do we need a MOQT mechanism to collect the related requests on the receiver side.” — surfaces stack-level design constraint, asks whether to add receiver-side request-coalescing. - Implementations: moq see above. moq-rs PR #169 AuthHook 8 thibmeu review comments; PR #170 (Manish draft-16 rewrite) quiet. moqx quiet Day +1 after afrind 3-day sprint — only 2 sync-bot moxygen merges (PR #355 + #356). 22-event May 27-29 sprint cumulative. quiche moqt 1 small commit
e05dcf91May 30 06:20 UTC ClangTidy fix; substantive draft-19 prep pauses. moqxr21b791a8Paul Gregoire May 30 21:46 UTC “Fix live object catalog ordering and stop wakeup” (+53/−7) — first commit since May 24. moqtail, moq-js (PR #72 still OPEN), imquic (PR #27 still OPEN), quiche_moq, Moqintosh, moqlivemock, Eyevinn/warp-player, Eyevinn/moqtransport, englishm/moq-interop-runner all quiet. - Interop: 177 / 52 / 124 / 0 at 2026-05-31 00:47:05 UTC — +2 pass vs May 30 (50 → 52, 28.2% → 29.4%, +1.2pp). 13 consecutive days of daily reports (May 19-31), longest cadence streak the wiki has tracked. Rolling 5-day band 46-52, trajectory 46 → 49 → 50 → 52 = 4-day monotonic uptick, new May high since cadence recovery. Target still draft-16 (PR #68 OPEN since May 18). London hackathon 9 days away.
Operation: Update Sources:
- Slack:
#moqno new top-level messages May 30-31. Lorenzo moq-mi/LOC thread + afrind self-fetch thread already covered.#moq-rs,#moq-js,#libquicr,#moq-interop-runnerall quiet. - GitHub moq-wg repos:
- moq-wg/msf — PR #171 MERGED May 30 16:59:09 UTC (+13/−3, fixes Issue #146); only PR #165 (bitrate properties) remains OPEN. -01 still NOT published on Datatracker May 30 or May 31 UTC.
- moq-wg/moq-transport — afrind comment May 30 16:00:09 UTC on Issue #1519. Issues #1637 + #1519 still OPEN with active design discussion.
- moq-wg/cmsf — Issue #122 “initial text on zapping” Gwendal + Suhas comments May 30 13:23/21:43 UTC.
- moq-wg/secure-objects — PR #88 (Suhas test vectors) still OPEN no new commits.
- moq-wg/loc, catalog-format, privacy-pass: All quiet.
- GitHub implementations:
- moq-dev/moq: ~14 PRs in 24h (most kixelated): #1561 Swift split MERGED, #1562 Kotlin split MERGED, #1563 Go split MERGED, #1559 Python FFI parity MERGED, #1554 announced streams MERGED, #1560 IETF stats MERGED, #1553 viewer-count atomics MERGED, #1556 drop in-repo smoke MERGED, #1564 cachix MERGED, #1558 libiconv scrub MERGED, #1552 libmoq announced MERGED, #1555 ci pin cachix MERGED, #1550 chore release MERGED. OPEN: #1557 release-plz moq-net v0.1.8.
- cloudflare/moq-rs: 8 thibmeu review comments on PR #169 May 30 14:55-15:20 UTC. PR #170 quiet.
- video-dev/moq-js: PR #72 still OPEN no new commits.
- meetecho/imquic: PR #27 still OPEN no new commits.
- openmoq/moqx: 2 sync-bot moxygen PRs (#355 + #356) MERGED, no afrind activity.
- mondain/moqxr:
21b791a8Paul Gregoire May 30 21:46 UTC. - google/quiche (
quiche/quic/moqt): 1 commite05dcf91May 30 06:20 UTC ClangTidy fix. - moqtail/moqtail, birneee/quiche_moq, t-gazzy/Moqintosh, Eyevinn/moqlivemock, Eyevinn/warp-player, Eyevinn/moqtransport, Quicr/cat-token, englishm/moq-interop-runner: All quiet.
- Mailing list: No new messages May 30 or 31. Latest archive entries remain Yu You (May 29 05:59) + Ali Begen (May 29 10:02). Weekend mailing-list silence.
- IETF Datatracker: No new revisions May 30 or 31. WG state: transport-18 (Day +19), msf-00 (Day +132 since -00, wilaw -01 still NOT submitted), loc-02, secure-objects-00 (PR #88 stages content for -01, no submission), privacy-pass-02, cmsf-00.
- Interop runner: New report 2026-05-31 00:47:05 UTC: 177 / 52 / 124 / 0 (+2 pass vs May 30, 29.4% pass rate, 13-day cadence, 4-day monotonic uptick).
- MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30). Day +31 since #1.
- tobbee/moq-llm-wiki: No open issues.
Pages updated: discussions/discussions-2026-05.md (new “May 30 06:00 UTC → May 31 06:00 UTC” section), drafts/moq-msf.md (May 31 entry: -01 still unfulfilled Day +132, PR #171 MERGED), drafts/moq-transport.md (May 31 entry: afrind Issue #1519 comment), drafts/moq-cmsf.md (May 31 entry: Gwendal vs Suhas Issue #122 zapping debate), implementations/moq-dev.md (May 31 entry: polyglot-split day, Swift+Kotlin+Go follow Python within 24h, IETF stats path + viewer atomics), implementations/moq-rs.md (May 31 entry: 8 thibmeu review comments on PR #169 AuthHook), implementations/openmoq.md (May 31 entry: quiet Day +1 after sprint), interop/interop-runner.md (May 31 177/52/124/0 callout, 13-day cadence, 4-day monotonic uptick), index.md (last_updated bump), log.md (this entry).
Key findings:
- The May 30 → May 31 polyglot-split day is the template moment moq-dev/moq’s May 22-30 multi-language-binding sprint was building toward. PR #1551 OPEN May 30 05:12 UTC framed the Python split as “the repeatable pattern for Swift/Kotlin/Go to follow later”; within 24h kixelated executed exactly that: PR #1551 Python MERGED 18:08 UTC → PR #1561 Swift OPEN 19:44 UTC → PR #1562 Kotlin OPEN 19:53 UTC → PR #1563 Go OPEN 22:07 UTC → all three MERGED by May 31 03:48 UTC. 4 independently-versioned FFI distributions (
moq-ffiraw +moqergonomic wrapper) × 4 languages (Python/Swift/Kotlin/Go) = first multi-language FFI release architecture in any tracked MoQ implementation where ergonomic wrappers float to the latest bindings patch via language-native compatibility ranges (PEP 440~=, SPM.upToNextMinor, Maven[0.2,0.3), Go0.2.xMVS). Carry-forward: with the polyglot-split-day pattern now codified across 4 languages and the in-repo cross-language smoke test moved to moq-dev/smoke (which installs published artifacts not source builds, so it catches missing wheels/stale Homebrew formulas/broken.debs/un-buildable Go modules), moq-dev/moq has produced a reproducible multi-language reference architecture for FFI-distributed protocol stacks that extends well beyond MoQ. Wider impact: PR #1560 “wire session stats into the IETF protocol path” fixed a pre-existing silent-undercount bug where IETF MoQT connections contributed zero to dashboard/billing counters — a structural observability gap that any other implementation deploying both moq-lite and IETF MoQT alongside each other likely also has. The fix surfaces only because moq-dev/moq runs both protocol paths on the same code. - cloudflare/moq-rs PR #169 AuthHook design proposal gets 8 thibmeu review comments — first cross-impl review pressure on englishm’s editorial pace since PR #167 May 11. Thibmeu’s review forces the trait surface to accommodate issuer-aware challenge reply rather than pure verify-callback — splits “verifier hook” from “challenge protocol participant”. The May 28 “intended as a shared reference for contributors working on PP and C4M implementations in parallel” framing now collides with the privacy-pass model’s bidirectional challenge requirement; the trait shape will likely need to grow to a state machine rather than a stateless verifier. Carry-forward: with London hackathon 9 days away, the AuthHook trait surface decisions are now actively contested — whether the trait becomes a pure verifier (CAT-friendly) or a challenge-protocol-aware abstraction (PrivacyPass-friendly) sets the implementation baseline for both auth efforts. Openmoq/moqx’s PR 286 CAT token integration is on a parallel track and afrind has stayed silent on the cloudflare/moq-rs AuthHook proposal so far. Wider impact: thibmeu (Cloudflare, privacy-pass-moq-auth-02 author) review-engaging on cloudflare/moq-rs PR (englishm-cloudflare) is first cross-impl review engagement by a non-Cloudflare-stewarded contributor since PR #167 even though both reviewers are Cloudflare employees — the review-cadence pressure for cloudflare/moq-rs design PRs is now bimodal (same-day for cloudflare engineers, multi-week for external contributors).
- MSF -01 unfulfilled on Datatracker for 3rd consecutive day (May 29/30/31, Day +132 since -00) despite wilaw merging PR #171 parent-namespace May 30 16:59 UTC. Editorial work on
mainis complete (PR #166 typed-object initDataList, #167 targetBuffer, #168 catalog object numbering, #171 parent-namespace, #173 normative refs, #174 timestamp rounding — all MERGED); only thexml2rfcDatatracker submission remains. Plausible attribution: (a) wilaw is on a long weekend after the May 24-27 sprint and the May 29-30 follow-on; (b) the draft is being held for a coordinated multi-draft London-cycle drop (MSF + secure-objects + transport bidi-stream-credit issue + potential transport draft-19); (c) review feedback in a non-public channel is gating submission. Carry-forward: with London hackathon 9 days away and MSF -01 still off-schedule, the London Day-2 35-min MSF/CMSF slot is structurally without an anchor normative artifact unless -01 lands in next ~4 business days. The downstream Lorenzo/Mike English/Mo Zanaty interest in MSF-vs-LOC media-format-level interop (interop-runner Issue #32) needs the -01 cut to anchor implementation choices. Wider impact: wilaw’s May 27 Slack pledge slipping from May 29 → May 31+ without on-list explanation is the first announced-but-not-delivered draft date in MoQ WG history that the wiki has tracked; if the slippage extends into next week, the structural credibility cost on the Slack-pledged release cadence widens, even though the editorial work is demonstrably complete. - moq-wg/cmsf Issue #122 Gwendal vs Suhas editorial debate is the first cmsf editor-vs-contributor design pushback the wiki has tracked. Gwendal’s “over-explaining something that is quite simple in theory” framing is structurally analogous to his May 27 chair-rebuttal on SWITCH — challenges a published artifact’s framing rather than waiting for show-of-hands at interim. Suhas’s “may be an appendix section?” response proposes a structural normative-vs-informative split that resolves the over-engineering concern without removing the example content. Pattern: cmsf editorial control rests with Suhas (sole maintainer historically); Gwendal’s pushback comes from a contributor-not-editor seat. The Issue #122 resolution will shape the post-London editorial process: either Gwendal’s “simple in theory” framing wins and the PR shrinks to the bare HESP-style switching mechanism description, or Suhas’s appendix-section compromise lands and the example-heavy text moves to non-normative status. Carry-forward: zapping/fast-switching is now one of two open CMSF schema threads alongside emsg signaling (Issue #16 reactivated May 25); both are slot candidates for the London Day-2 35-min MSF/CMSF Will Law slot.
- Interop 177/52/124/0 (+2 pass, 29.4%, 13-day cadence, 4-day monotonic uptick) sets a new May high since cadence recovery. Rolling 5-day trajectory 46 → 49 → 50 → 52 = 4-day monotonic uptick continues; matrix breaks above 50 pass for the second consecutive day. Plausibly attributable to moq-dev/moq’s polyglot-split-day ~14-PR wave shaking some test combinations stable: PR #1560 “wire session stats into the IETF protocol path” in particular fixes a silent undercount bug that may have been registering as “no data” cells; PR #1559 closes Python FFI parity gaps that could have caused test scaffolding to throw spurious errors. Carry-forward: 13 consecutive days of daily cadence (May 19-31) extends the longest streak the wiki has tracked; the 4-day monotonic uptick (46 → 52, +6 pass over 4 days) suggests moq-dev/moq’s refactor wave is shaking down to net-positive matrix impact rather than the wire-level-noise-sensitivity pattern observed earlier in May. Target still draft-16 (PR #68 OPEN since May 18, no commits since May 19); London hackathon 9 days away. PR #68’s draft-18 target bump remains the only outstanding matrix-shape lever before London, with the matrix now in a 50-52 pass band that any new wire-level refactor wave could swing within.
2026-05-30 — Ali Begen 4th explicit YES on SWITCH/DTS; MSF -01 wilaw “Friday” promise unfulfilled; martinduke bidi-stream-credit issue surfaces post-draft-18 design gap; moq-dev/moq cross-language smoke phase 2 (rust×python×js-browser passes)
TL;DR:
- Mailing list — Ali C. Begen May 29 10:02:29 UTC Re: Consensus Call: DTS and SWITCH votes YES/YES on both SWITCH and DTS adoption + integration into MOQT draft, with note that he’d accept “a separate normative RFC … published together with the MOQT draft” if necessary; both features are complementary, “my team has already implemented both in MOQtail and plans to share implementation results with the working group”. 4th explicit on-list YES vote within 4 days after Will Law (May 26 Yes/Yes/Yes/Yes), Gwendal Simon (May 28 YES/YES + DTS reservations), Yu You/Nokia (May 29 YES/YES + measured benefit numbers); all 4 SWITCH co-authors and the only on-list implementation reporter from a non-co-author team (Nokia) have now publicly voted YES — June 4 close substantively decided.
- MSF -01 wilaw “Friday” promise unfulfilled (so far): wilaw merged 2 more MSF PRs May 29 morning UTC (PR #173 normative refs MERGED 08:52 UTC + PR #174 timestamp rounding MERGED 11:12 UTC, both closing 2 issues #108 + #172) but datatracker still shows MSF -00 only at 06:00 UTC May 30 — Will Law’s May 27 Slack pledge to “release a new draft this Friday ahead of the London interop” did NOT materialize as a Datatracker submission on May 29; first announced-but-unmet draft publication cadence the wiki has tracked. Suhas Nandakumar moq-wg/secure-objects PR #88 OPEN May 30 03:26 UTC “Add test vectors appendix” (+326/−0) = first secure-objects content PR in weeks, signals draft-01 prep. Martin Duke moq-transport Issue #1637 OPEN May 29 22:30 UTC “What does MOQT do without bidi stream credit?” — surfaces a draft-18 design gap: REQUEST_BLOCKED was removed but PUBLISH_BLOCKED exists asymmetrically; “if both directions are blocked, who is responsible?“. Ian Swett 4 comments May 30 01:53-02:27 UTC on #1637 + #1519 advancing the ABR/blocked-request discussion — first martinduke design issue with engaged-multi-implementer thread within hours of opening.
- Implementations: moq continues the burst — PR #1528 moq-rtc MERGED May 30 00:41 UTC (originally OPEN on May 28; the WebRTC↔MoQ bridge lands in
main36 hours after open), PR #1542 MERGED “test/browser: headless-browser smoke client (phase 2)” (+228/−5, 11f) — Playwright + nix-provisioned Chromium drives<moq-publish>/<moq-watch>against fake-camera H.264 WebCodecs encode/decode; fullrust × python × js-browsercross-language matrix now passes both ways (3×3 = 9 cells), first browser-included cross-language interop harness in any tracked MoQ impl; PR #1544 MERGED “libmoq: auto-reconnect sessions; conducer-based Reconnect notifications” (+160/−42) = libmoq C consumers now get exponential-backoff reconnect with re-announced broadcasts + re-subscribed consumers automatically (closes Apr’s “single session that dies permanently” gap); PR #1551 OPEN May 30 05:12 UTC “py: split moq-ffi bindings from the ergonomic wrapper into two packages” (+2284/−1016, 133f) = architectural Python-release-flow change somoq-ffi(raw uniffi) +moq(pure-python wrapper) version independently via PEP 440~= 0.2.16compatibility lock; documents the repeatable pattern for Swift/Kotlin/Go to follow. PR #1541 MERGED “moq-ffi: route Android logs to logcat” by Qizot (new external contributor) — first contribution from Qizot completes the iOS-Xcode/Android-Logcat platform-logging parity. PR #1546 MERGED libmoq terminal-callback lifetime contract for C consumers; PR #1547 MERGED kio: rename conducer crate to kio; PR #1548 MERGED stats: retain entries by liveness instead of tick window; PR #1549 MERGED go: ship moq.h + linux staticlibs so Go module builds for consumers; PR #1536 MERGED moq-net auto-create Origin on connect/accept; PR #1537 MERGED stats StatsConfig value type. moq-rs — PR #170 OPEN May 29 07:09 UTC by itzmanish (Manish) “[Rewrite] Draft-16 migration” (+5289/−3115, 81 files) — fresh draft-16 rewrite; PR #131 (155-day-old previous attempt) CLOSED simultaneously by Manish himself with note “please use this branch instead of older #131 because that is not compatible with base branch”; Manish writes off 155 days of work to start over. moqx — afrind continues multi-thread sprint: PR #346 PublishOk NGR forwarding tests MERGED, PR #352 CrossExecFilter MERGED, PR #354 omoq-sync-bot moxygen 608fca6 MERGED. moqx CAT token PRs — Paul Mondain’s PR #264 (+1804/−11 opt-in CAT token authorization) + PR #286 (+179/−521 Catapult CWT integration) both still OPEN with continued commits May 30 04:48-05:47 UTC. quiche moqt quiet Day +1 since martinduke’s May 28c4503a21/997d6543“requests on bidi streams” prep commits — note Issue #1637 (bidi stream credit) appearing May 29 22:30 UTC is the design-discussion counterpart to the May 28 implementation prep, confirming “requests on bidi streams” as a structural draft-19 direction. moqtail, moq-js, imquic, quiche_moq, Moqintosh, moqlivemock, Eyevinn/warp-player, Eyevinn/moqtransport, englishm/moq-interop-runner all quiet. - Interop: 177 / 50 / 126 / 0 at 2026-05-30 00:43:27 UTC — +1 pass vs May 29 (49 → 50, 27.7% → 28.2%, +0.5pp); 12 consecutive days of daily reports (May 19-30), extends the longest cadence streak the wiki has tracked. Rolling 5-day band 46-50, trajectory 48 → 46 → 49 → 50 = 3-day monotonic uptick, first time pass count crosses 50 since cadence recovery May 19. Target still draft-16 (PR #68 OPEN since May 18, no commits since May 19). London hackathon 10 days away.
Operation: Update Sources:
- Slack:
#moqno new top-level messages May 29-30. Thread continuations on Lorenzo moq-mi/LOC thread May 27 and afrind self-fetch thread May 28 already covered in May 29 wiki.#moq-rs,#moq-js,#libquicr,#moq-interop-runnerall quiet. - GitHub moq-wg repos:
- moq-wg/msf — 2 PRs MERGED + 2 issues CLOSED May 29: PR #173 (normative refs) MERGED 08:52 UTC + PR #174 (timestamp rounding) MERGED 11:12 UTC, closing Issues #172 + #108. PRs 122 still OPEN. wilaw’s announced MSF -01 publication on Datatracker did NOT materialize May 29.
- moq-wg/moq-transport — Issue #1637 NEW May 29 22:30 UTC by martinduke (bidi stream credit), with 4 ianswett/martinduke comments through May 30 02:27 UTC; Issue #1519 ianswett ABR-approaches comment May 30 02:27 UTC.
- moq-wg/secure-objects — PR #88 NEW May 30 03:26 UTC by suhasHere “Add test vectors appendix” (+326/−0 to draft-ietf-moq-secure-objects.md, 1 file).
- moq-wg/cmsf — Issue #16 Gwendal comment May 29 06:50 UTC (suggests Event Timeline over emsg, “I was just notetaker”).
- moq-wg/loc, catalog-format, privacy-pass: All quiet.
- GitHub implementations:
- moq-dev/moq: ~15 merges + 3 OPEN May 29-30. Notable merges detailed above.
- cloudflare/moq-rs: PR #170 OPEN May 29 07:09 UTC by itzmanish (Manish) “[Rewrite] Draft-16 migration” (+5289/−3115, 81 files); PR #131 (155 days old) CLOSED 07:09:54 UTC by Manish in favor of #170.
- video-dev/moq-js: PR #72 still OPEN no new commits.
- meetecho/imquic: PR #27 still OPEN (last updated May 29 17:44 UTC, Lorenzo thread reply).
- moqtail/moqtail: No new commits since Ali Begen
3e9b788cMay 25 18:52 UTC. - openmoq/moqx: afrind PR #346 + PR #352 MERGED + PR #354 sync-bot MERGED; mondain CAT token PRs 286 continued commits.
- mondain/moqxr, birneee/quiche_moq, t-gazzy/Moqintosh, Eyevinn/moqlivemock, Eyevinn/warp-player, Eyevinn/moqtransport, Quicr/cat-token, englishm/moq-interop-runner: All quiet.
- google/quiche (
quiche/quic/moqt): Day +1 silent since997d6543May 28 21:51 UTC.
- Mailing list: 1 substantive message May 29-30 — Ali C. Begen “Re: Consensus Call: DTS and SWITCH” May 29 10:02:29 UTC.
- IETF Datatracker: No new revisions May 29 or 30. WG state: transport-18 (Day +18), msf-00 (wilaw’s announced -01 NOT yet submitted, Day +131 since -00), loc-02, secure-objects-00 (PR #88 stages content for -01), privacy-pass-02, cmsf-00.
- Interop runner: New report 2026-05-30 00:43:27 UTC: 177 / 50 / 126 / 0 (+1 pass vs May 29, 28.2% pass rate, 12-day cadence).
- MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30). Day +30 since #1.
- tobbee/moq-llm-wiki: No open issues.
Pages updated: discussions/discussions-2026-05.md (new “May 29 06:00 UTC → May 30 06:00 UTC” section), discussions/interim-meetings.md (May 30 note: Ali Begen 4th YES vote), drafts/moq-msf.md (May 30 entry: -01 publication promise unfulfilled), drafts/moq-secure-objects.md (May 30 entry: PR #88 test vectors), drafts/moq-transport.md (May 30 entry: Issue #1637 bidi stream credit), implementations/moq-dev.md (May 30 entry: cross-lang smoke phase 2 + libmoq auto-reconnect + python split + Qizot Android logcat + moq-rtc landed), implementations/moq-rs.md (May 30 entry: Manish PR #170 fresh draft-16 rewrite, PR #131 closed), implementations/openmoq.md (May 30 entry: afrind multi-thread sprint Day 3 + mondain CAT activity), interop/interop-runner.md (May 30 177/50/126/0 callout, 12-day cadence), index.md (last_updated bump), log.md (this entry).
Key findings:
- Ali Begen’s May 29 YES/YES vote brings the public on-list tally to 4 explicit YES votes (Will Law May 26, Gwendal Simon May 28, Yu You/Nokia May 29, Ali Begen May 29) across the SWITCH and DTS adoption consensus calls — 6 days before the June 4 close. Notably, 3 of the 4 SWITCH co-authors (Will Law, Gwendal Simon, Ali Begen) and the only independent implementation reporter (Yu You/Nokia) have all voted YES; the only on-list dissent so far is Magnus Westerlund’s suggestion to move Track Filters / Top-N to a separate draft (Cullen rejected this May 27), and that’s a separate consensus call from SWITCH/DTS. Ali Begen’s footnote “my team has already implemented both [SWITCH and DTS] in MOQtail and plans to share implementation results” adds moqtail as a 6th SWITCH implementation (overlapping with Gwendal’s May 27 count of 4 because Ali is a SWITCH co-author, but distinct from Nokia/Yu You). Carry-forward: with 4 explicit YES votes, no on-list NO votes, and 2 implementation reports (Yu You/Nokia + Ali/moqtail), the June 4 close is substantively decided. Open question: whether SWITCH and DTS land as a PR against moq-transport-18 (Cullen’s May 27 preference) or as a separate companion RFC (Ali Begen’s May 29 “if necessary” framing). The chair (Martin Duke) has not yet posted a position on the integration question since his May 26 “Thoughts on SWITCH” technical analysis. Wider impact: the WG’s running-code-as-vote pattern now has 2 measured-benefit reports in 24h driving the consensus call, replacing the prior “carry to interim → show-of-hands → close after weeks” cadence.
- MSF -01 publication NOT materializing on Datatracker May 29 despite wilaw’s Slack “this Friday” pledge is the first announced-but-unmet draft cadence the wiki has tracked. wilaw merged 2 more cleanup PRs (#173 normative refs + #174 timestamp rounding) on May 29 morning UTC and closed 2 issues, suggesting the editorial work was completed — but neither the
xml2rfcsubmission to Datatracker nor a@-mention back to the Lorenzo thread / interop runner Issue #32 announced -01 by EOD May 29 UTC. Plausible causes: (a) wilaw discovered last-minute issues that delayed submission; (b) “Friday” was meant as US-Pacific-evening cutoff which extends into May 30 UTC; (c) the draft was held to coincide with secure-objects PR #88 + transport Issue #1637 ripening for a coordinated London-cycle drop. Carry-forward: with London hackathon 10 days away and MSF -01 now off-schedule, the London Day-2 35-min MSF/CMSF slot loses its anchor normative artifact unless -01 lands in the next ~5 business days. The downstream Lorenzo / Mike English / Mo Zanaty interest in MSF-vs-LOC media-format-level interop (Issue #32) needs the -01 cut to anchor implementation choices. Wider impact: if MSF -01 doesn’t publish before London, wilaw faces a structural credibility-cost on the Slack-pledged release cadence — the first announced-but-not-delivered draft date in MoQ WG history that the wiki has observed. - Martin Duke’s Issue #1637 “What does MOQT do without bidi stream credit?” May 29 22:30 UTC is the design-discussion counterpart to his May 28 google/quiche moqt “requests on bidi streams” prep commits (
c4503a21+997d6543) — the implementation work and the design issue are now publicly paired by the same author within 24 hours. Issue #1637’s 4-comment thread (martinduke 2 + ianswett 2) within 4 hours surfaces the asymmetry REQUEST_BLOCKED removed in draft-18 vs PUBLISH_BLOCKED retained is unworkable for the bidi-stream credit case — “if both directions are blocked, who is responsible for finally opening it?”; ianswett’s “create a new MoQT session” suggestion is unprecedented for streaming-pattern protocols. Carry-forward: combined with Issue #1519 vasilvv “Improve design of requests blocking on other requests” (open since March 2 with new ianswett ABR-approaches comment May 30 02:27 UTC), MOQT’s request-message-on-bidi-stream design space is opening for draft-19 — the chair-as-implementer dual role gives Martin Duke a structural advantage to drive both the C++ implementation refactor and the spec issue simultaneously. Wider impact: London Day-1 0900-1045 “MOQT Issues” 180-min slot is now structurally anchored around bidi-stream-credit + request-blocking design, with #1637 + #1519 as the two open issues to resolve. - moq-dev/moq cross-language smoke phase 2 May 29-30 completes the 3×3 rust × python × js-browser interop matrix via Playwright + nix-provisioned Chromium driving the real
<moq-publish>/<moq-watch>web components against a fake-camera H.264 WebCodecs pipeline — first browser-included cross-language interop harness in any tracked MoQ implementation. Combined with PR #1544 libmoq auto-reconnect (exponential backoff + automatic re-announce + re-subscribe), PR #1551 Python split (architectural change to PyPI release flow somoq-ffiraw uniffi +moqergonomic wrapper version independently via PEP 440), and PR #1541 Qizot Android logcat (first contribution from new external contributor closing the iOS-Xcode/Android-Logcat platform-logging parity gap), moq-dev/moq’s London pitch is now structurally complete with 6-language coverage + 9-channel distribution + WebRTC↔MoQ bridge + full cross-language CI harness + libmoq production-grade auto-reconnect. Carry-forward: the headless-browser phase-2 smoke client is the foundational infrastructure for browser+native cross-impl interop tests at London — once additional impls expose comparable smoke harnesses, the moq-dev/moq Playwright runner can be extended to cover them. Wider impact: the explicit “this is the pattern Swift/Kotlin/Go should follow” framing in PR #1551 positions moq-dev/moq’s release infrastructure as a multi-language reference architecture for FFI-distributed protocol implementations beyond MoQ. - cloudflare/moq-rs PR #131 (155-day-old draft-16 attempt) CLOSED by Manish himself May 29 07:09:54 UTC in favor of fresh PR #170 (+5289/−3115, 81 files) — Manish writes off 155 days of work to start over with a larger rewrite. The new PR notes: “please use this branch instead of older #131 because that is not compatible with base branch.” Combined with video-dev/moq-js PR #72 (Manish’s +11205/−22195 refactor still OPEN since May 26), Manish is now driving both Cloudflare-stewarded TypeScript/Rust stacks as essentially “from-scratch” rewrites within the same week. Carry-forward: if PR #170 ships before London, cloudflare/moq-rs gets its first draft-16 (still 2 drafts behind transport-18) baseline merged by an external contributor whose original attempt (PR #121) took 155 days. Wider impact: the external-contributor-rewrites-twice pattern is structurally different from the corporate-contributor pattern at moq-dev/moq (kixelated owns the main branch and merges his own work in hours) — cloudflare/moq-rs’s PR-merge cadence for external contributors is now visibly bimodal: same-day for Cloudflare staff, multi-month for external.
2026-05-29 — Nokia 5th SWITCH implementer; kixelated ~25-PR single-day burst (moq-rtc WebRTC bridge + lite-05 deflate); quiche moqt breaks 8-day silence
TL;DR:
- Mailing list 2 messages = Nokia becomes 5th independent SWITCH implementer. Gwendal Simon May 28 14:08:56 UTC Re: Consensus Call: DTS and SWITCH votes YES on DTS adoption with scope reservations (lacks normative bandwidth-measurement guidance, requires relays to fetch all renditions while forwarding one which “moves away from the lightweight, stateless, horizontally scalable model needed for CDN deployment”; advocates “focused, proportionate PR” not full chapter) + YES/YES on SWITCH (real OTT operational need; current 4-message switching insufficient; aligns with charter on rate adaptation + selection of desired encoding; no objection demonstrates concrete harm). Yu You (Nokia) May 29 05:59:04 UTC reports Nokia implemented SWITCH PR #1378 with positive results: “the first object arrival time significantly reduced compared to naive track re-subscription, and catch-up objects using fetch headers over separate unistreams functioned as intended”; YES/YES on both SWITCH and DTS adoption + integration into MOQT draft. Nokia = 5th independent team (after Gwendal’s May 27 count of 4) — first on-list implementation report providing measured benefit numbers, 6 days before June 4 close.
#moqSlack — Will Law answers Lorenzo May 27 10:30 UTC (the May 27 thread continued post-prior-cut): “LOC is just a packaging format, so if you want to transmit media, then you should use MSF (MOQT Streaming Format). There is a -00 draft in the ID repo, however its old and we have a bunch of new features. I plan to release a new draft this Friday ahead of the London interop. For a preview, you can view https://moq-wg.github.io/msf/draft-ietf-moq-msf.html” — announces MSF -01 will publish today May 29 (Friday) before London, converting the wilaw 16-events-in-4-days editorial sprint into a normative artifact (first MSF revision since -00 published Jan 19 2026, 130 days). Lorenzo confirms imquic PR #27 already uses MSF for catalog. Mike English asks for streaming-format level automated interop (interop-runner Issue #32). Alan Frindell suggests Jordi Cenzano moves moq-encoder-player off moqmi; Lorenzo notes encoder-player is still stuck on v14. afrind self-fetch thread continues: Lorenzo “content is content”, Suhas asks usecase, afrind “if we allow [self-subscribe], allowing the other seems right… you can cheat to prime the cache?” — useful for relay-cache testing scaffolding.- Implementations: moq — kixelated ~25-PR single-day burst May 28 ~14:00 UTC → May 29 ~05:00 UTC (largest single-day push by single contributor the wiki has tracked). Headline: PR #1528 OPEN “moq-rtc: WebRTC (WHIP/WHEP) gateway, both ingest and egress” (+2590/−17, 30 files) — new
rs/moq-rtccrate via str0m 0.19 with 2×2 matrix (server/client × publish/subscribe), Opus/H.264/VP8/VP9 codec support — first WebRTC↔MoQ bridge in any tracked MoQ implementation, unlocks OBS/browser/camera-vendor ingest via WHIP and last-mile distribution via WHEP without custom MoQ clients. PR #1531 MERGED “lite-05: negotiate per-frame compression via SUBSCRIBE_OK (Rust + JS)” (+790/−113) — first concrete moq-lite-05 wire feature since PR #1518 reserved the version variant: opt-in raw DEFLATE per-frame compression negotiated via newCompressioncodec field inSUBSCRIBE_OK, hop-by-hop not end-to-end, backwards compatible (lite-04 always negotiatesNone); pure Rustflate2/miniz_oxideand browserCompressionStream "deflate-raw"produce identical bytes; 16 MiB inflated-size cap rejects zip bombs. PR #1530 OPEN “add REANNOUNCE; AnnounceConsumer yields (path, Announced)” (+716/−252) — implementsmoq-dev/drafts#23atomic broadcast replacement (ANNOUNCE status2) so backup promotion + shorter-hop-path arrival surface as single Reannounce delivery rather than Ended-then-Active pair; IETF moq-transport splits to namespace_done+namespace. PR #1529 MERGED “moq-ffi: streaming media import + cross-language interop smoke test” (+535/−7) — addsBroadcastProducer.publish_media_stream(format)so publisher can pipe encoder stdin straight in without manifest/NAL-splitting, plusjust test smokeorchestrator running 2×2 rust↔python H.264 publisher/subscriber combinations + negative control. Plus 20+ more merges/opens: #1487 moq-mux catalog filter/Annex-B (+1766/−109), #1514 moq-net linger upstream subscriptions across consumer churn (+725/−164), #1517 moq-net gzipped stats broadcast (+1092/−718), #1521 moq-net 16 MiB cap, #1522 docs route breaking changes to dev branch, #1523 moq-relay stop downgrading WS clients to lite-02, #1524 moq-gst /nix/store leak check, #1525 js/net timeout SUBSCRIBE_OK, #1526 swift+kt re-export FFI + session.shutdown, #1434 split OriginConsumer into cheap read handle + announcement cursor (opened May 21), #1495 moq-mux thiserror, #1473 moq-net runtime Timescale/Timestamp, #1533 libmoq catalog producer + raw moq-net track API, 1538 nixfmt + linger test fix, #1535 moq-relay scope mTLS grants to URL path, #1537 stats StatsConfig type, #1539 js version bump; OPEN: #1527 advertise both qmux drafts on WS fallback, #1532 duration-based jitter buffer skipping, #1536 moq-ffi auto-create Origin, #1540 moq-net subscribe_track async, #1513 still-open qmux version map. moqx — afrind multi-thread sprint continues: PR #348 res→reply coroutine MERGED, #349 TSan MERGED, #350 cBPF reuseport MERGED, #351 IOThreadPoolExecutor MERGED, #337 mvfst recvmmsg + batch 64 MERGED, #353 omoq-sync-bot moxygen 059ed9e MERGED, #352 CrossExecFilter OPEN, #346 PublishOk NGR tests OPEN, #331 relay_thread config OPEN. quiche moqt breaks 8-day silence — martinduke 2 commits May 28:c4503a2119:59:40 UTC “Move IncomingDataStream to moqt_uni_stream.h. Other preparatory changes for requests on bidi streams” +997d654321:52:27 UTC “Move Incoming Subscribe tests out of MoqtSessionTest”. The “requests on bidi streams” note is significant — preparatory work for a future draft direction (post-draft-18) where SUBSCRIBE-class messages move from the single control stream onto per-request bidi streams. moq-rs PR #169 AuthHook design still OPEN no new comments. moq-js PR #72 Manish refactor still OPEN no new commits. imquic PR #27 still OPEN. moqtail, moqxr, quiche_moq, Moqintosh, moqlivemock, Eyevinn/warp-player, Eyevinn/moqtransport, englishm/moq-interop-runner all quiet. - Interop: 177 / 49 / 127 / 0 at 2026-05-29 00:47:39 UTC — +3 pass vs May 28 (46 → 49, pass rate 26.0% → 27.7%, +1.7pp). 11 consecutive days of daily reports (May 19-29) — extends the first double-digit cadence streak by one day. Rolling 5-day band 46-49, recent trajectory 48 → 46 → 49 = matrix rebounds past May 27 peak. Target still draft-16 (PR #68 OPEN since May 18, no commits since May 19; three impls on draft-18 main). Version breakdown: 97 at target · 8 ahead · 72 behind. London hackathon 11 days away.
Operation: Update Sources:
- Slack:
#moqthread continuations (Lorenzo moq-mi-vs-LOC thread = Will Law + Mike English + Alan Frindell replies; Alan Frindell self-fetch thread = Lorenzo + Suhas + afrind replies). No new top-level messages May 28-29. - GitHub moq-wg repos:
- moq-wg/msf — PR 165 still OPEN, no new commits May 28-29 (latest commit
be8da356Will Law May 27 20:22 UTC = PR #167 merge). wilaw Slack-announced MSF -01 draft publishes today May 29 (Friday) for London. - moq-wg/moq-transport — PR #1378 (SWITCH) updated May 28 11:58 UTC (Yu You agreement comment supporting same SETUP-shared control stream design as Gwendal). Issue #1636 no new comments.
- moq-wg/cmsf, loc, secure-objects, catalog-format, privacy-pass: All quiet.
- moq-wg/msf — PR 165 still OPEN, no new commits May 28-29 (latest commit
- GitHub implementations:
- moq-dev/moq: ~25 PRs / merges + opens May 28-29 (kixelated). Largest single-day push by single contributor tracked. Headline merges + opens detailed above.
- cloudflare/moq-rs: PR #169 AuthHook design still OPEN no new comments since May 28 03:58 UTC.
- video-dev/moq-js: PR #72 still OPEN no new commits.
- meetecho/imquic: PR #27 still OPEN no new commits May 28-29 (last updated May 28 17:00 UTC).
- openmoq/moqx: afrind multi-thread sprint Day 2 — 6 MERGED (#337, 348-351, #353 bot) + 3 OPEN (#346, #352, #331).
- google/quiche (
quiche/quic/moqt): 8-day silence breaks with 2 martinduke commits May 28 (c4503a21+997d6543) — preparatory refactoring for “requests on bidi streams” (post-draft-18 direction). - moqtail/moqtail, birneee/quiche_moq, mondain/moqxr, t-gazzy/Moqintosh, Eyevinn/moqlivemock, Eyevinn/warp-player, Eyevinn/moqtransport, Quicr/cat-token, englishm/moq-interop-runner: All quiet.
- Mailing list: 2 substantive messages May 28-29 — Gwendal Simon “Re: Consensus Call: DTS and SWITCH” May 28 14:08:56 UTC (YES/YES on SWITCH with DTS reservations) + Yu You (Nokia) “Re: Consensus Call: DTS and SWITCH” May 29 05:59:04 UTC (Nokia implementation report + YES/YES on both).
- IETF Datatracker: No new revisions May 28 or 29 yet. WG state: transport-18 (Day +17), msf-00, loc-02, secure-objects-00, privacy-pass-02, cmsf-00. wilaw-announced MSF -01 publication targeted today May 29 ahead of London.
- Interop runner: New report 2026-05-29 00:47:39 UTC: 177 / 49 / 127 / 0 (+3 pass vs May 28, 27.7% pass rate, 11-day cadence).
- MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30). Day +29 since #1.
- tobbee/moq-llm-wiki: No open issues.
Pages updated: discussions/discussions-2026-05.md (new “May 28 06:00 UTC → May 29 06:00 UTC” section), discussions/interim-meetings.md (May 29 note: Gwendal vote + Yu You Nokia implementation report), drafts/moq-msf.md (May 29 entry: wilaw Slack-announces MSF -01 publication today), implementations/moq-dev.md (May 29 entry: ~25-PR burst with moq-rtc + lite-05 compression + REANNOUNCE), implementations/openmoq.md (May 29 entry: afrind multi-thread sprint Day 2), implementations/moq-rs.md (May 29 quiet note), implementations/moq-js.md (May 29 quiet note), implementations/imquic.md (May 29 entry: thread continuations), interop/interop-runner.md (May 29 177/49/127/0 callout, 11-day cadence), index.md (last_updated bump), log.md (this entry).
Key findings:
- Yu You’s Nokia SWITCH implementation report May 29 05:59:04 UTC is the first on-list implementation report providing measured benefit numbers for SWITCH — “the first object arrival time significantly reduced compared to naive track re-subscription, and catch-up objects using fetch headers over separate unistreams functioned as intended”. Combined with Gwendal’s May 27 count of 4 teams already implementing/exploring SWITCH, Nokia becomes the 5th independent team. The implementation evidence shifts the June 4 consensus call from architectural debate to measured deployment readiness — Yu You’s vote of YES/YES on both adoption + integration with concrete catch-up-unistream functioning report carries more weight than Cisco’s Cullen Jennings procedural objection or Martin Duke’s chair-neutral “trade-off analysis is correct” posture. Carry-forward: with Gwendal’s May 28 14:08:56 UTC reservations-on-DTS-not-on-SWITCH posture, Will Law’s May 26 Yes/Yes/Yes/Yes vote, and Nokia’s May 29 Yes/Yes + implementation report, the public vote tally favors SWITCH adoption with integration into the main MOQT draft. The June 4 close is now substantively decided ahead of the formal deadline. Wider impact: the moq-wg’s consensus-call pattern of “publish PR + open consensus call + interim show-of-hands + close after weeks” is structurally being supplemented by public implementation evidence on-list — the WG’s preference for running-code-as-vote moves implementation reports from “carry to interim” status to “post on list before close” status, accelerating decision cycles.
- kixelated’s ~25-PR single-day burst May 28-29 is the largest single-day push by any single contributor the wiki has tracked across any MoQ implementation — exceeds afrind’s 13-event May 27 openmoq/moqx single-day burst (which itself exceeded kixelated’s overnight ~17-PR waves spanning 8+ hours; afrind’s 13 within ~6h; kixelated’s May 28-29 ~25 within ~15h). The PR theme cluster reveals structural completion of moq-dev/moq’s London pitch: (1) moq-rtc = first WebRTC↔MoQ bridge → unlocks OBS/camera-vendor ingest and last-mile WHEP distribution → completes the “MoQ as plumbing for existing WebRTC ecosystems” deployment story; (2) lite-05 deflate = first concrete moq-lite-05 wire feature → demonstrates the May 27 PR #1518 Lite05Wip unadvertised version variant works as intended (features land gated without wire exposure); (3) REANNOUNCE = atomic broadcast replacement → operationally important for relay failover + upstream restart + shorter-hop-path arrival without subscriber-visible gaps; (4) moq-ffi streaming media import + cross-language smoke test = first cross-language interop validation harness inside the repo, complementing the
just test smokerust↔python 2×2 matrix already passing. Carry-forward: combined with the May 22-25 packaging story (Homebrew + .deb + .rpm) + May 24 cluster-discovery + May 26 preferred_address + May 27 qmux version mapping + May 28 mTLS path scoping + May 29 moq-rtc + lite-05 compression + REANNOUNCE, moq-dev/moq’s London pitch is now “single-tree polyglot full-stack production-grade MoQ deployment” — exceeds any other tracked implementation’s deployment-readiness story by structural margin. Wider impact: with London 11 days away and moq-dev/moq shipping a WebRTC bridge as a single-day PR, the “MoQ replaces WebRTC” framing Luke Curley pushed in the May 9 HN flame war converts to “MoQ ingests-from + serves-to WebRTC peers” — narrower, more operationally tractable, and immediately deployable against any WHIP/WHEP-compliant peer. - google/quiche moqt 8-day silence breaks with martinduke’s two May 28 commits preparing “requests on bidi streams” —
c4503a21“Move IncomingDataStream to moqt_uni_stream.h. Other preparatory changes for requests on bidi streams” +997d6543“Move Incoming Subscribe tests out of MoqtSessionTest”. The commit message’s explicit “requests on bidi streams” note signals a structural direction for draft-19 (or a later draft): moving SUBSCRIBE-class messages from the single control stream (current draft-18 design) onto per-request bidirectional QUIC streams. This would echo the H/3 “every request is a bidi stream” model rather than the current H/2-multiplex-over-single-control-stream model. Carry-forward: with the May 28 commit theme already preparing this refactor in the chair-led C++ implementation, draft-19 is likely to surface this as a major redesign topic at London or at the June 22 interim. Martin Duke wearing both chair and quiche-moqt-implementer hats means the implementation precedes formal spec proposal — same pattern as wilaw’s MSF-spec-and-PRs editorial control and afrind’s openmoq/moqx multi-thread sprint preceding the London Day-1 MOQT Issues slot. Wider impact: SUBSCRIBE-on-bidi-streams would resolve the long-standing head-of-line-blocking concern on the control stream (currently every SUBSCRIBE waits behind every other in-flight control message); cost is per-subscription QUIC stream-table overhead and reduced batching. The fact that the chair is preparing the C++ implementation before publishing a draft proposal suggests this is not a hypothetical — London discussion is likely. - wilaw’s Slack-announced MSF -01 publication “this Friday” = May 29 today is the first announced draft revision since wilaw’s 16-events-in-4-days editorial sprint May 24-27. Converts the editorial sprint into a normative artifact: PR #166 typed-object initDataList + PR #167 targetBuffer + PR #168 catalog object numbering + PR #173 normative refs update will land in -01. Open PRs not yet merged (#171 parent-namespace, #174 timestamp rounding, #165 bitrate properties) may or may not make -01 depending on cut. Carry-forward: MSF -01 publication today provides the first concrete spec artifact for the London Day-2 35-min MSF/CMSF slot; combined with Tobbe’s three remaining Issue #153 points (per-language
langoverride + Safari/FairPlay AVC1-vs-AVC3 + mid-stream-init-change scheduling) still open, the post—01 issue backlog continues to shape the editorial agenda. Wider impact: with MSF -01 publishing 130 days after MSF -00 (Jan 19 → May 29), wilaw establishes the publication cadence as “draft-XX every ~4 months” — slower than moq-transport (draft-17 Mar 24 → draft-18 May 12 = 49 days) but consistent with the higher relative editorial stability MSF has had as a packaging-format spec rather than a wire-protocol spec. - Interop matrix 177 / 49 / 127 / 0 (+3 pass, 27.7% pass rate, 11-day cadence) rebounds past the May 27 peak of 48 — recent 3-day trajectory 48 → 46 → 49 = monotonic uptick re-established, exceeds the May 27 high. The +3 is plausibly attributable to moq-dev/moq’s massive ~25-PR refactor wave shaking some test combinations stable: PR #1487 moq-mux catalog filter/Annex-B + PR #1514 linger + PR #1473 timescale refactors touch a lot of code, and the matrix harness may have picked up some new pass combinations that were previously borderline. Carry-forward: the 11 consecutive days of daily reports (May 19-29) is the longest cadence streak the wiki has tracked, and the pass rate has now climbed above 27% for the first time since cadence recovery. With the draft-18 target bump still gated on PR #68 (no commits since May 19), the matrix-shape lever remains untouched. Wider impact: London hackathon is 11 days away; pass-rate 27.7% on draft-16 matrix while 3 implementations (moq-dev/moq, mondain/moqxr, meetecho/imquic) run draft-18 on main suggests the matrix-vs-impl version lag will become the dominant interop story at London — implementations that won’t downgrade to draft-16 for the matrix will not produce passes regardless of correctness.
2026-05-28 — Gwendal disputes chair SWITCH framing; afrind 13-event moqx burst
TL;DR:
- Gwendal Simon May 27 10:58 UTC disputes Martin Duke’s “Thoughts on SWITCH” analysis with 4 points — (1) down-switch is actually 4 coordinated messages, not 3 (REQUEST_UPDATE old + SUBSCRIBE new + Absolute Joining FETCH + REQUEST_UPDATE priority reset), with a break-before-make vulnerability: “if the FETCH fails or the new track is unavailable, the old subscription is already gone”, producing “an unacceptable hard freeze in live streaming contexts”; (2) up-switch group N+k selection requires relay-side information subscribers cannot compute (SWITCH does the smallest-group-where-both-tracks-fully-available computation server-side); (3) SWITCH is additive, not replacive — coexists with the current approach, opponents can keep using REQUEST_UPDATE+SUBSCRIBE+AJF; (4) 4 independent teams have already implemented or explored SWITCH, indicating genuine OTT Live TV demand (subscribers running 2-5 groups behind live edge). First strong technical rebuttal of the chair’s framing on the May 21 SWITCH consensus call. Plus Cullen Fluffy Jennings May 27 19:26 UTC — “I disagree it should be done as a separate draft. I think it should be worked as a PR that can be discussed in context. … or are you concluding that it cannot move forward as something we put in MoQT?” — Cullen rejects Magnus Westerlund’s suggestion to move Track Filters + Top-N to a separate draft, references the DTS experience as evidence that off-base-spec extension drafts create unnecessary confusion. Two senior contributors pushing back on chair-side framing in the same 24h window.
#moqSlack ends 7-day silence with two substantive questions. Lorenzo Miniero May 27 08:21 UTC: “Is moq-mi still relevant, or should all A/V efforts focus on LOC now? I’ve started playing with media in my demo applications, and my first step was to revive the old interop I had with moq-encoder-player: that used moq-mi, though, and I’m not sure if it’s still considered of interest for interop purposes. I started tinkering with catalogs too, so if I want to play with different codecs the latest LOC makes more sense, but from my understanding it may change a lot post the upcoming interims” — strategic question about LOC vs moq-mi consolidation, first ecosystem-level “where do we focus?” question from an implementer since draft-18 published May 12. Lorenzo’s question pairs with his own meetecho/imquic PR #27 opened May 25 15:56 UTC (still OPEN) — “New MoQ demos to test publishing/subscribing LOC with live capture/playback” (+3057/−492) implementing H.264 + Opus capture/render via libavcodec + libopus + SDL2; PR body explicitly acknowledges the dual-identity moq-mi/LOC question (“this started arguably more of an implementation of moq-mi”). Alan Frindell May 28 04:43 UTC: “we allow self-subscribe. Do we allow self-fetch?” — novel question about whether the publisher-as-subscriber-of-its-own-track pattern extends to FETCH.moq-wg/msf— Will Law sprint Day 3 (May 27): 3 PRs MERGED + 3 PRs OPEN + Issue #150 CLOSED + Issue #172 NEW = 7 events. PR #166 (Tobbe’s typed-object design) MERGED 08:35 UTC; PR #167 “Introduce target buffer property in track object” MERGED 20:22 UTC closing kixelated’s Apr 1 Issue #150 “Wall clock is problematic” (open 56 days) — wilaw’s resolution: per-tracktargetBufferproperty defining required end-to-end buffer in seconds for smooth playback; PR #168 “Revise catalog object specifications and numbering” MERGED 08:14 UTC (fixes #149); PR #171 “Add optional parent namespace field to clone tracks” still OPEN; PR #173 “Update normative references for MoQ drafts” OPEN — fixes new Issue #172 wilaw filed same day flagging that MSF still points to draft-mzanaty-moq-loc-05 (individual) instead of draft-ietf-moq-loc-02 (WG); PR #174 “Update media presentation timestamp rounding description” OPEN (fixes #108). wilaw 16 MSF events in 4 days (May 24-27) — extends the largest single-contributor MSF push since draft adopted; closes kixelated’s longest-open issue via PR #167.- Implementations: moqx first openly-tracked single-day push of the wiki — afrind 13 events May 27: 6 PRs MERGED (#338 moxygen sync, #341 perf scripts, #342 cross-exec handle wrappers, #343 publisher/subscriber accessors, #344 verifyOnRelayExec wrapping, #345 NGR test downcast removal) + 6 PRs OPEN (#346 PublishOk NGR forwarding tests, #348 res→reply coroutine, #349 TSan build mode, #350 bpf cBPF reuseport steering filter for QUIC worker socket multi-thread prep, #351 IOThreadPoolExecutor owned exclusively by main, #352 CrossExecFilter wrapping) + Issue #347 OPEN “moqx+picoquic can block when the highest pri stream is flow control blocked”. Theme: cross-exec thread-safety + multi-threaded I/O prep + relay-level test scaffolding. moq-rs breaks its own quiet streak: PR #169 OPENED May 28 03:13 UTC by englishm-cloudflare “docs: add AuthHook trait design proposal” (+724/−0, 1 file) — pluggable
AuthHooktrait surface + invocation points for PrivacyPass + C4M (CAT for MoQ) auth schemes in parallel; first cloudflare/moq-rs design-PR since PR #167 Suhas filter-framework May 11 (still OPEN Day +16). moq-js PR #72 OPEN by itzmanish (Manish) May 26 12:49 UTC “Refactor project structure and APIs” (+11205/−22195, draft-16 baseline) — massive code reorganisation, same external contributor whose PR #121 took 155 days to merge in cloudflare/moq-rs and whose PR #131 (draft-16) is still open. moq 5 merges + 3 OPEN + Issue #1499 CLOSED: PR #1515 moq-muxseek(sequence)MERGED; PR #1518 Lite05Wip version variant (unadvertised, gates future moq-lite-05 work without exposing wire/ALPN) MERGED 21:26 UTC; PR #1519 lint shell/workflows/TOML/Nix/justfiles via nix devShell (+973/−656, actionlint/shellcheck/shfmt/taplo/nixfmt/just —fmt) MERGED; PR #1520 moq-ffi 0.2.15 MERGED; PR #1513 OPEN qmux version mapping (WG decided: moq-transport-18 → qmux-01, 14-17 → qmux-00, moq-lite unconstrained); PR #1514 OPEN moq-lite linger; PR #1517 OPEN moq-net stats aggregate into single gzipped broadcast (+653/−684). Issue #1499 (natmurella cluster discovery) CLOSED May 27 19:42 UTC — kixelated explained: cluster nodes now proxy via multi-hop (San Jose → Texas → Virginia → London) for cache efficiency rather than full mesh; natmurella requests gossip-style as opt-in. moqtail, imquic (still PR #27 carry-forward open), moqxr, quiche_moq, Moqintosh, moqlivemock, Eyevinn/warp-player, Eyevinn/moqtransport, englishm/moq-interop-runner, google/quiche moqt all quiet (last quiche commit083b83b3May 20 22:36 UTC = Day +7, longest post-draft-18-publication silence for chair-led C++ impl). - Interop: 177 / 46 / 130 / 0 at 2026-05-28 00:41:34 UTC — −2 pass vs May 27 (48 → 46, pass rate 27.1% → 26.0%, −1.1pp). 10 consecutive days of daily reports (May 19-28) — first double-digit cadence streak. Rolling 5-day band 42-48, recent trajectory 47 → 48 → 46 = monotonic uptick broken. Target still draft-16 (PR #68 OPEN since May 18, no commits since May 19). Version breakdown of 177 tests: 97 at target · 8 ahead · 72 behind. London hackathon 12 days away.
Operation: Update Sources:
- Slack:
#moqends 7-day silence with Lorenzo Miniero May 27 08:21 UTC moq-mi-vs-LOC question + Alan Frindell May 28 04:43 UTC “self-fetch?“.#moq-interop-runner,#moq-rs,#moq-js,#libquicrall quiet. - GitHub moq-wg repos:
- moq-wg/msf — wilaw 7 events May 27: PR #166 MERGED 08:35 UTC, PR #168 MERGED 08:14 UTC, PR #167 MERGED 20:22 UTC closing Issue #150 (kixelated wall-clock, open 56 days), PR #171 still OPEN, PR #173 OPEN (fixes #172), PR #174 OPEN (fixes #108), Issue #172 NEW.
- moq-wg/moq-transport — Issue #1636 (RichLogan Empty namespace clarification) still active, no new comments since prior wiki cut.
- moq-wg/cmsf, loc, secure-objects, catalog-format, privacy-pass: All quiet.
- GitHub implementations:
- moq-dev/moq: 5 merges + 3 OPEN + Issue #1499 CLOSED. Merges: #1510 (diegonieto docs), #1515 (moq-mux seek), #1518 (Lite05Wip), #1519 (CI lint), #1520 (moq-ffi 0.2.15). Open: #1513 (qmux version map), #1514 (moq-lite linger), #1517 (gzipped stats broadcast). Closed: #1499 (kixelated multi-hop explanation).
- cloudflare/moq-rs: PR #169 OPENED May 28 03:13 UTC (englishm-cloudflare AuthHook trait design proposal +724/−0); first design PR since PR #167 May 11.
- video-dev/moq-js: PR #72 OPEN by itzmanish (+11205/−22195) since May 26 12:49 UTC, project structure refactor on draft-16.
- meetecho/imquic: PR #27 still OPEN since May 25 15:56 UTC (lminiero +3057/−492 MoQ LOC demos with H.264+Opus capture/render).
- openmoq/moqx: 13-event afrind burst May 27: 6 MERGED (#338, 341-345), 6 OPEN (#346, 348-352), Issue #347 OPEN.
- moqtail/moqtail: No new commits.
- google/quiche (
quiche/quic/moqt): No new commits since083b83b3martinduke May 20 22:36 UTC (Day +7). - birneee/quiche_moq, mondain/moqxr, t-gazzy/Moqintosh, Eyevinn/moqlivemock, Eyevinn/warp-player, Eyevinn/moqtransport, Quicr/cat-token, englishm/moq-interop-runner: All quiet.
- Mailing list: 2 substantive messages May 27 — Gwendal Simon “Re: Thoughts on SWITCH” 10:58 UTC (disputes Martin Duke 4-point) + Cullen Fluffy Jennings “Re: Support for Track Filters and Top-N” 19:26 UTC (rejects Magnus’s separate-draft suggestion). Magnus Westerlund 2 messages May 27 (Object filters + Track Filters/Top-N replies).
- IETF Datatracker: No new revisions May 27 or 28. WG state: transport-18 (Day +16), msf-00, loc-02, secure-objects-00, privacy-pass-02, cmsf-00. Notable individual: lite-04, subscribe-rewind-02, qlog-moq-events-06, nmsf-01, gregoire-moq-msfts-00 (May 6, Day +22), englishm-cdn-provisioning-00, englishm-relay-dos-00, lcurley-compressed-mp4-00.
- Interop runner: New report 2026-05-28 00:41:34 UTC: 177 / 46 / 130 / 0 (−2 pass vs May 27, 26.0% pass rate, 10-day cadence).
- MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30). Day +28 since #1.
- tobbee/moq-llm-wiki: No open issues.
Pages updated: discussions/discussions-2026-05.md (new “May 27 06:00 UTC → May 28 06:00 UTC” section), drafts/moq-msf.md (May 28 entry: wilaw Day-3 sprint with 3 merges + 3 opens + Issue #150 close + Issue #172 new), implementations/moq-dev.md (May 28 entry: 5 merges + 3 open + Issue #1499 close), implementations/moq-rs.md (May 28 entry: PR #169 AuthHook design ends quiet streak), implementations/openmoq.md (May 28 entry: afrind 13-event burst), implementations/imquic.md (May 28 entry: PR #27 LOC demos + Lorenzo’s moq-mi-vs-LOC question), implementations/moq-js.md (May 28 entry: PR #72 Manish refactor), interop/interop-runner.md (May 28 177/46/130/0 callout, 10-day cadence milestone), discussions/interim-meetings.md (May 28 note: Gwendal SWITCH rebuttal + Cullen Track Filters preference), index.md (last_updated bump), log.md (this entry).
Key findings:
- Gwendal Simon’s May 27 10:58 UTC 4-point rebuttal of Martin Duke’s “Thoughts on SWITCH” is the first instance the wiki has tracked of a non-chair WG member directly contesting a chair-published technical analysis on the moq mailing list with multi-point structured argument. The break-before-make hard-freeze risk in the current 4-message down-switch sequence is a concrete operational concern that the chair’s May 26 framing did not surface — Martin Duke counted 3 messages (UNSUBSCRIBE + SUBSCRIBE + Absolute Joining FETCH), Gwendal correctly identifies that this requires a 4th REQUEST_UPDATE to reset priority after FETCH completes, and the 4-message sequence has a window where the old track is gone before the new one delivers. Carry-forward: with the May 26 interim consensus call closing on June 4 (DTS+SWITCH), Gwendal’s rebuttal effectively raises a “current draft is broken for OTT Live TV” signal alongside Will Law’s May 26 Yes/Yes vote — combined, the May 26 interim outcome (yet to record on list) is being post-litigated on the mailing list before the formal June 4 close. Wider impact: Cullen Jennings’s same-day rejection of the separate-draft path for Track Filters + Top-N indicates two senior contributors pushing back on chair-side procedural framing within 24h — Martin Duke’s “I don’t have strong opinions” posture from May 26 leaves room for both pushbacks to land without re-litigating chair authority. The May 26-27 mailing-list pattern suggests the chair’s neutral-position posture is becoming a venue for contributors to drive technical disposition through direct rebuttal rather than chair-tinted discussion.
- The
#moqSlack 7-day silence breaking with TWO substantive questions — Lorenzo’s strategic moq-mi-vs-LOC and Alan Frindell’s novel self-fetch — within 22 hours of each other is the first multi-message Slack day since May 11 interim coverage. Lorenzo’s question is implementer-strategic: he has an existing moq-encoder-player integration on moq-mi (Facebook’s stuck-on-draft-14 stack), wants to do live A/V with imquic, and is asking “is moq-mi still tracked as an interop point or do I migrate everything to LOC?” — the underlying question is whether moq-mi continues to exist as a parallel A/V wire format alongside MSF/CMSF/LOC, or whether LOC’s recent progress effectively makes moq-mi a historical-only reference. Carry-forward: no one has answered Lorenzo on Slack as of May 28 06:00 UTC; the answer matters because his imquic PR #27 (still OPEN) currently uses moq-encoder-player’s draft-14-era LOC property IDs, and an answer of “focus on LOC going forward” would mean re-doing the PR against draft-ietf-moq-loc-02 (or the conflicting moq-transport-18 §15.8-2 values that moq-dev/moq’s PR #1388 ships). Wider impact: the moq-mi-vs-LOC dual-identity question is the same cross-spec coordination gap surfaced by moq-wg/loc Issue #20 and resolved implementation-side by kixelated’s May 23 PR #1388 — but only inside moq-dev/moq’s stack. A WG-level answer is still missing and London is now 12 days away. Alan Frindell’s self-fetch question opens a separate corner of the spec: the currentmoq-transport-18 §6.1allows self-subscribe (publisher subscribes to its own track) but doesn’t extend the symmetry to FETCH (publisher fetches its own past objects out of its own egress cache). The question matters for relay-cache testing scaffolding and self-paired publisher-subscriber instrumentation. - The afrind 13-event single-day push on openmoq/moqx is the largest single-author single-day push the wiki has tracked across any MoQ implementation — exceeds kixelated’s overnight ~17-PR waves in moq-dev/moq (those spanned 8+ hours of merge cadence; afrind’s 13 events all landed within a 6-hour window May 27 17:29-23:37 UTC). The PR theme cluster — cross-exec handle wrappers, IO thread isolation, multi-threaded I/O prep via cBPF reuseport steering, ThreadSanitizer build mode, perf-test scaffolding, relay-level NGR forwarding tests — reveals afrind is staging openmoq/moqx for multi-threaded production deployment, complementing his moq-wg chair contributions (Joining FETCH/SWITCH/filters), Issue #1636 prose-AI incident, May 22-23 PR #1518 Object Filters extension work, and May 27 0900-1045 London Day-1 slot for “MOQT Issues” (180 minutes). Carry-forward: combined with afrind’s London Day-1 0900-1045 slot, openmoq/moqx PR #350 cBPF reuseport filter (still single-thread “doesn’t do anything yet”) + PR #351 IOThreadPoolExecutor isolation + PR #352 CrossExecFilter + Issue #310 “Support multiple IO threads” sets up an “openmoq/moqx is the multi-threaded MoQ relay reference implementation” positioning for London. Wider impact: the moq-dev/moq operator-quality story (anycast preferred_address + Homebrew/.deb/.rpm packaging + cluster discovery + linger upstream) and openmoq/moqx multi-thread story (May 27 burst) running in parallel are now the two leading “operationally-ready” MoQ relay implementations 12 days before London. Cloudflare/moq-rs has shipped binary fixes (May 20 PR #168 release-plz) but no operator-quality features since.
- cloudflare/moq-rs PR #169 (englishm-cloudflare AuthHook trait design) ends a 17-day quiet streak from cloudflare/moq-rs design-PR activity (since Suhas’s PR #167 filter-framework May 11, which itself is still OPEN). The PR is a documentation-only design proposal (+724/−0, 1 markdown file) explicitly framed as “shared reference for contributors working on PP and C4M implementations in parallel” — PrivacyPass for moq-privacy-pass-auth-02 (afrind-authored WG draft) and C4M for CAT for MoQ (Cisco-led). Carry-forward: PR #169’s openin signals cloudflare/moq-rs is back in the design-venue rotation alongside its release-cut role; the trait surface deliberately abstracts both schemes so PrivacyPass and C4M can ship as parallel implementations rather than as competing forks. Wider impact: this is the first cloudflare/moq-rs PR in a while whose explicit purpose is to coordinate two competing-but-orthogonal auth efforts inside a single implementation — that coordination work used to happen on the mailing list or in PRs to moq-wg/moq-transport. Moving it inside cloudflare/moq-rs’s repo is a structural choice that pushes the trait-surface decisions toward implementation-driven design rather than spec-driven design.
- Interop matrix 177 / 46 / 130 / 0 (−2 pass, 26.0% pass rate, 10-day cadence) breaks the 47 → 48 monotonic 2-day uptick with a regression to 46 — a 4-pass round-trip within 3 days (47 → 48 → 46). The −2 is plausibly attributable to moq-dev/moq’s May 27 refactor wave (PR #1519 lint changes touched 973 LOC + 656 LOC across
flake.nixand CI; PR #1515 moq-mux seek changed importer trait surfaces; PR #1518 added Lite05Wip version variant that the matrix harness may have noticed). Carry-forward: the 10 consecutive days of daily reports is the first double-digit cadence streak the wiki has tracked since the May 14-18 outage; the daily-cadence story is now structurally stable independent of pass-count oscillation. Wider impact: with 12 days to London and pass rate stuck in a 25-27% band, the matrix-shape-locked-at-177 phase is yielding ~±2 pass swings per day from individual-impl refactors; the structural lever to break out of this band remains PR #68 (draft-16 → draft-18 target bump), which has been OPEN with no commits since May 19. PR #68 merging is now the only remaining matrix-shape event before London.
2026-05-27 — wilaw revises PR #166 to Tobbe’s typed-objects design; Martin Duke posts first chair SWITCH analysis
TL;DR:
- Will Law revises PR #166 May 26 13:05 UTC adopting Torbjörn Einarsson’s typed-object design (
{"id": "1", "type": "inline", "data": "..."}instead of bare base64 strings + numeric indices); Tobbe approves 12 minutes later (“That’s perfect.”). Within 24 hours of Tobbe’s May 25 18:44 UTC review comment proposing the typed shape, his design is in the PR. The wiki user’s design absorption from May 26 (“partially absorbed”) flips to design accepted — wilaw kept editorial control of the diff but adopted the underlying design verbatim, including named-stringidrefs instead of numeric indices and forward-extensibility hooks for non-"inline"types (separate MoQ track / HTTP URL / content-addressed identifier) in a future PR. Plus 4 more wilaw PRs onmoq-wg/msfMay 26: PR #170 “Undo commit ae4b7c4” MERGED 13:59:50 UTC (a 1-minute open-to-merge cycle reverting an accidental direct-to-main commit) + PR #171 “Add optional parent namespace field to clone tracks” OPEN (fixes #146) + PR #169 “Update MOQT mapping details in media transmission section” OPEN (fixes #148) + Vasil V’s Issue #144 reply “Accept-Encoding does not really work with MoQ model of fan-out (in general, data can flow from publisher to subscribers, but not back)” — closes Tobbe’s May 25 17:21 UTC negotiated-compression suggestion as architecturally incompatible. wilaw 9 MSF events in 3 days (May 25-27): largest MSF spec-side push by a single contributor since the draft was adopted. - Mailing list 5 messages May 26-27 — first post-final-agenda technical content from the chair + first explicit yes/yes vote on DTS+SWITCH adoption + Mo Zanaty endorses both consensus calls. Martin Duke “Thoughts on SWITCH” May 26 17:33 UTC (10:33 PDT) — first technical chair position on the SWITCH consensus call (4 days before May 26 interim, 8 days before June 4 close): outlines that the current 3-step UNSUBSCRIBE+SUBSCRIBE+Absolute Joining FETCH approach is identical to SWITCH when the relay has cache, but SWITCH continues delivering the high-bandwidth track until upstream content arrives vs Absolute Joining FETCH which terminates the old track immediately; for up-switch suggests SUBSCRIBE+Absolute Joining FETCH with delayed-close of the low-bandwidth track as a make-before-break strategy. Self-reply at 18:08 UTC clarifies framing. Will Law “Yes / Yes / Yes / Yes” on DTS+SWITCH adoption May 26 17:50 UTC — first explicit on-list vote from a co-author of one of the two specs (Will Law co-authored SWITCH PR #1378 with Gwendal Simon + Ali Begen + Zafer Gürel). Mo Zanaty 2 messages May 27 00:31-01:00 UTC — endorses Object Filters (“I support Object Range Filters in MOQT”, references PR#1401 Location filters for separate London presentation) + endorses Track Filters and Top-N (“primary concern is finalizing the desired behavior, regardless of whether this lands in MOQT or an extension”). Both before the May 26 interim outcome but after Cullen’s May 24 “filters/top-N” prioritization letter; continues the Cullen-Mo “more filters less of everything else” convergence pattern.
- Implementations: moq 7 new PRs + 5 merges + 2 new issues May 26 ~06:00 UTC → May 27 ~06:00 UTC. Headline: PR #1512 MERGED 17:20 UTC “moq-native: advertise QUIC preferred_address in the server config” (+81/−0) — adds RFC 9000 §9.6 transport-parameter support so a relay can announce an alternate address that clients migrate to post-handshake. Unlocks a clean BGP anycast deployment shape: anycast
/24handshake target + per-host unicastpreferred_address, “overloaded host can withdraw the anycast route from BGP without dropping existing connections, because they are no longer using that address”; Chrome M131+ (Nov 2024) on by default with ~99% migration success per Google’s measurements. PR #1513 / #1514 / #1515 OPEN (qmux version mapping, moq-lite linger-upstream across consumer churn, moq-muxseek(sequence)for explicit group boundaries) all with(Written by Claude)disclaimers — 4 more PRs dogfooding the PR #1503 AI Attribution H2 norm. PR #1510 Diego Nieto external-contributor docs fix MERGED. New Issue #1516 by danrossi May 27 05:12 UTC: “Cargo project audit checks — Crates is now vulnerable to supply chain attacks… worth adding into the CI checks or build system somehow” referencescargo-vetMozilla tool. moqtail quiet 24h+. moq-rs, moq-js, imquic, moqxr, quiche_moq, Moqintosh, moqlivemock, Eyevinn/warp-player, Eyevinn/moqtransport, englishm/moq-interop-runner, google/quiche moqt (last083b83b3martinduke May 20 22:36 UTC = Day +6, longest post-draft-18-publication silence for the chair-led C++ implementation) all quiet. - Interop: 177 / 48 / 128 / 0 at 2026-05-27 00:44:59 UTC — +1 pass vs May 26 (47 → 48, pass rate 26.6% → 27.1%, +0.5pp). Matrix shape steady at 177 post-PR-71 expansion. 9 consecutive days of daily cadence (May 19-27). Target still draft-16 (PR #68 OPEN since May 18, no new commits since May 19). Version breakdown: 97 at target · 8 ahead · 72 behind. London hackathon 13 days away.
Operation: Update Sources:
- Slack:
#moqquiet 7 days (last meaningful gazzy May 20 15:22 CEST Moqintosh announcement; only Alina join-event May 21 17:08 CEST since).#moq-interop-runner,#moq-rs,#moq-js,#libquicrall quiet. - GitHub moq-wg repos:
- moq-wg/msf — 5 wilaw events May 26: PR #170 MERGED (revert accidental commit, 1-min cycle), PR #171 OPEN parent-namespace for clones (fixes #146), PR #169 OPEN MOQT mapping details (fixes #148), PR #166 revised to typed-object shape ({“id”,“type”,“data”}) accepting Tobbe’s review. Tobbe approves PR #166 13:16 UTC. Issue #144 Vasil V comment 16:27 UTC (“Accept-Encoding doesn’t work with MoQ fan-out”).
- moq-wg/cmsf: no activity since May 25 (Issue #16 still open waiting on Gwendal).
- moq-wg/moq-transport — only PR #1378 SWITCH for Client-side ABR updated metadata May 26 16:17 UTC; no new comments since prior wiki entry.
- loc, secure-objects, catalog-format, privacy-pass: All quiet.
- GitHub implementations:
- moq-dev/moq: 5 merges + 4 OPEN PRs since prior wiki cut. Merges: #1510 (Diego Nieto docs ext-contributor), #1511 (changelog fix), #1512 (QUIC preferred_address for anycast deploy), #1509 (jemalloc init fix, already covered in May 26 entry, merged within window). Open: #1513 (qmux version mapping), #1514 (moq-lite linger upstream subscriptions across consumer churn), #1515 (moq-mux seek(sequence)), #1504 (still open from May 25), #1496 release. New issue: #1516 (danrossi cargo audit / cargo-vet). Closed: #1507, #1508 (already covered May 26).
- moqtail/moqtail: No new commits since
3e9b788cAli Begen May 25 18:52 UTC. - google/quiche (
quiche/quic/moqt): No new commits since083b83b3martinduke May 20 22:36 UTC (Day +6). - cloudflare/moq-rs, video-dev/moq-js, meetecho/imquic, birneee/quiche_moq, mondain/moqxr, t-gazzy/Moqintosh, Eyevinn/moqlivemock, Eyevinn/warp-player, Eyevinn/moqtransport, openmoq/moqx, Quicr/cat-token, englishm/moq-interop-runner: All quiet.
- Mailing list: 5 substantive messages May 26-27 — Martin Duke “Thoughts on SWITCH” May 26 17:33 UTC + self-reply 18:08 UTC + Will Law “Yes/Yes” on DTS+SWITCH adoption 17:50 UTC + Mo Zanaty Object Filters May 27 00:31 UTC + Mo Zanaty Track Filters/Top-N May 27 01:00 UTC.
- IETF Datatracker: No new revisions May 26 or 27. WG state: transport-18 (Day +15), msf-00, loc-02, secure-objects-00, privacy-pass-02, cmsf-00. Notable individual: lite-04, subscribe-rewind-02, qlog-moq-events-06, nmsf-01, gregoire-moq-msfts-00 (May 6, Day +21), englishm-cdn-provisioning-00, englishm-relay-dos-00, lcurley-compressed-mp4-00.
- Interop runner: New report 2026-05-27 00:44:59 UTC: 177 / 48 / 128 / 0 (+1 pass vs May 26, 27.1% pass rate, 9-day cadence).
- MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30). Day +27 since #1.
- tobbee/moq-llm-wiki: No open issues.
Pages updated: discussions/discussions-2026-05.md (new “May 26 06:00 UTC → May 27 06:00 UTC” section covering: wilaw PR #166 revised May 26 13:05 UTC to Tobbe’s typed-object shape + Tobbe approves in 12 min, wilaw 4 more MSF PRs/events same day (#170 1-min revert / #171 parent-namespace / #169 MOQT mapping / Issue #144 Vasil V Accept-Encoding rejection), Martin Duke first chair technical position on SWITCH + self-reply, Will Law Yes/Yes on DTS+SWITCH adoption, Mo Zanaty endorsing both consensus calls May 27, moq-dev/moq PR #1512 QUIC preferred_address for anycast deploy + PRs 1513-1515 dogfooding the AI Attribution H2 norm, new issue #1516 danrossi cargo-vet supply chain audit, interop 177/48/128/0 +1 pass / 9-day cadence, google/quiche moqt Day +6 silent, moq Slack quiet 7 days), drafts/moq-msf.md (May 27 entry: wilaw PR #166 typed-object revision + Tobbe approval + 4 more PRs/events May 26 + Vasil V Accept-Encoding rejection on #144), implementations/moq-dev.md (May 27 entry: PR #1512 preferred_address + 4 open PRs dogfooding LLM-disclaimer + Issue #1516 cargo-vet), interop/interop-runner.md (May 27 177/48/128/0 callout), discussions/interim-meetings.md (May 27 note: Will Law Yes/Yes vote + Martin Duke “Thoughts on SWITCH” chair technical position), index.md (last_updated bump), log.md (this entry).
Key findings:
- The wilaw PR #166 revision from numeric-index-base64-strings to
{"id", "type", "data"}typed-object shape, completed less than 24 hours after Tobbe’s May 25 18:44 UTC review comment proposing exactly that shape, is the first observed case in the wiki’s tracking where a non-Akamai/non-Cloudflare/non-Cisco/non-Google/non-AWS contributor’s design proposal moves an MSF PR’s diff before merge — and the timing structurally upgrades the “editor maintains editorial control” pattern from May 26’s “partially absorbed” framing. wilaw kept commit authorship (Tobbe doesn’t get a PR-author byline) but adopted the underlying design verbatim, including the named-string id refs and forward-extensibility hooks. Carry-forward: Tobbe’s remaining 3 of 4 original Issue #153 points (per-languagelangoverride, Safari/FairPlay AVC1-vs-AVC3, mid-stream-init-change scheduling) are still open; the typed-object PR #166 shape pre-positions a follow-on PR for time-varying init (Tobbe’s Point 3) via the sameinitDataListreferences (Tobbe’s"initSchedule": [{"fromGroup": 0, "ref": "v1"}]sketch fits cleanly on top). Wider impact: the 1-day review-to-revision cycle is the fastest spec-side feedback loop the wiki has tracked onmoq-wg/msfin May 2026 — wilaw’s 9 events in 3 days (5 PRs + #153 ping + #164 fix + #144 absorption + #19 cmsf merge) shows a London-deadline-driven sprint cadence that responds to outside review faster than the corporate-contributor norm. - Martin Duke’s May 26 17:33 UTC “Thoughts on SWITCH” is the first technical chair position on the May 21 SWITCH/DTS consensus call (4 days before May 26 interim + 8 days before June 4 close). The framing is balanced — outlines what SWITCH does that the current draft doesn’t (continued high-bandwidth delivery during down-switch when relay has no cache) and what the current draft does that SWITCH doesn’t (make-before-break via Absolute Joining FETCH + delayed close on up-switch). Critically, the chair doesn’t commit to a position (“I don’t have strong opinions, but I do think the trade-off analysis here is correct”) — leaves room for the show-of-hands at the May 26 interim to drive the disposition. Will Law’s same-day yes/yes vote is the first explicit on-list vote from a SWITCH co-author. Carry-forward: combined with the Cullen May 24 + Mo May 23-24 + Mo May 27 “more filters less of everything else” pattern, the May 26 interim agenda risk is that SWITCH gets show-of-hands consensus to adopt but loses agenda territory to filters/top-N for the formal London June 11-12 sessions. The interim outcome (recorded after the May 26 16:30 UTC start) will be the structural disposition signal. Wider impact: this is the chair (Martin Duke) doing active substance contribution to consensus, not just procedural facilitation — the moq-wg’s chair-cadence has now matured from “schedule and moderate” (Apr-May 2026) to “scheduling + interim outcomes + technical position-taking” (late May 2026).
- moq-dev/moq PR #1512 (QUIC preferred_address advertising) is structurally significant beyond its diff size: the 81 LOC change unlocks anycast-based BGP deployment for MoQ relays — an operational shape that until now required either (a) DNS-based geo-steering (slow failover, no in-flight migration), or (b) custom load balancers in front of QUIC (TLS termination overhead, no end-to-end QUIC). The advertised preferred_address transport parameter lets a
/24anycast handshake target distribute new connections to the nearest POP, then steady-state connections pin to the unicast IP and survive BGP reconvergence, with the additional property that an overloaded host can withdraw its anycast route without dropping existing connections (they’re now on the unicast IP, not the anycast one). Carry-forward: this puts moq-dev/moq’s deploy model on par with HTTP/3 CDN anycast deployments (Cloudflare’s own posture among others) — operators evaluating MoQ for production no longer have to choose between MoQ semantics and modern QUIC operational tooling. Wider impact: combined with the May 22-25 packaging story (Homebrew + .deb + .rpm + Cloudflare Worker apt/rpm hosts), the May 24 cluster-discovery PR #1504 still-open in-flight, and the May 26 preferred_address landing, moq-dev/moq has gone from “kixelated’s research prototype” to “first MoQ implementation operationally on par with HTTP/3 CDN deployments” within a 5-day window. - Continued dogfooding of the PR #1503 AI Attribution H2 norm (PRs #1512 / #1513 / #1514 / #1515 all carry
(Written by Claude)disclaimers) confirms the norm has stuck as the operational standard for AI-authored PR bodies in moq-dev/moq within 48 hours of the H2 promotion. Carry-forward: the next institutional test is whether any moq-wg spec repository adopts a parallel rule (afrind’s May 22 “With apologies for answering your question with AI” prose remains unilateral). The PR #1503 exemption design (no-tag on code / doc comments //docpages) means the norm only fires on issue replies, PR descriptions, and design-doc prose — exactly the surfaces where afrind’s May 22 hallucination event occurred — so the moq-dev/moq norm is structurally well-positioned to be copy-pasted into moq-wg/moq-transport’s contributing guidelines with minimal modification. Wider impact: this is now the most extensively dogfooded AI-disclosure framework in any tracked open-source protocol working group — every PR opened by kixelated since PR #1469 May 23 has the marker, and the convention propagated organically into 4 different PR bodies without re-litigation. - Interop matrix 177 / 48 / 128 / 0 (+1 pass, 27.1% pass rate, 9-day cadence) shows continued small monotonic recovery from the post-PR-71 baseline: 47 → 48 is consistent with the same single-impl-fix-yields-single-pass-delta pattern from May 19-23. Carry-forward: the matrix is now showing 9 consecutive days of daily reports (May 19-27) — the longest sustained streak since the May 14-18 outage. The +1/+5/-3/-1/+4 oscillation pattern over the last 5 days has tightened to a +1/+5/+1 monotonic uptrend over the last 3 days. PR #68 (draft-18 target bump) still OPEN since May 18, no commits since May 19 — the draft-revision lag is now the only outstanding matrix-shape item before London. Three implementations on draft-18 main (moq-dev/moq, mondain/moqxr, meetecho/imquic) vs the matrix targeting draft-16. Wider impact: with London hackathon 13 days away and the matrix shape locked at 177 cells post-PR-71, the focus shifts to whether implementations can move the pass count from 27% toward 50% via individual-impl fixes (Mike English’s “low-hanging fruit” May 19 frame) without the matrix expanding further. The PR #68 target bump merger will be the next discrete event that re-shapes the matrix.
2026-05-26 — wilaw absorbs Tobbe’s #153 into PR #166; post-London interims scheduled
TL;DR:
- Will Law ships 4 MSF PRs May 25 between 12:55–16:24 UTC: PR #165 “Update bitrate and related properties” (fixes kixelated’s #164: required
sampleRate+channelsfor audio +codec+width+heightfor video, newmaxGOPDuration/maxGroupDuration/averageBitrate, redefinesbitrateas max); PR #166 “Enhance root catalog with Initialization Data List” (partial fix for Torbjörn Einarsson’s Issue #153 — adds root-levelinitDataList[]for readability dedup); PR #167 target buffer property (fixes #150); PR #168 catalog object renumbering (fixes #149). wilaw explicitly pings Tobbe on #153: “please review #166 and see if it meets your needs” — Tobbe’s May 23 offeredinitDatas[]+initDataRefIDPR is absorbed back into Akamai-authored form within 48 hours; covers Point (2) readability dedup but NOT the Safari/FairPlay Point (4) AVC1-vs-AVC3 or Point (3) per-language override. Editor-maintains-editorial-control pattern: external design proposals partially absorbed rather than merged via outside PR. Plus PR #157 MERGED by Suhas (clarifies group numbering for restarts, fixes #147). cmsf activity by wilaw same day: PR #19 MERGED (drops loose “GOP” terminology + redundant decode-order text, fixes #12 yekuiwang); Issue #16 reactivated (wilaw asks Gwendal about emsg signaling — catalog presence flag + per-track scheme_id_uri + multiple emsg tags). Will Law sprinting toward London Day-2 35-min MSF/CMSF slot with 4 concrete diffs + emsg follow-on inbound. - Martin Duke May 25 17:44 UTC schedules June 22 + July 6 virtual interims (archive, both 16:30–18:00 UTC), feedback deadline June 8 (“the day before London begins”). First post-London interim cadence announcement; the four May-26-to-June-5 consensus calls (Object Filters May 26 close, DTS/SWITCH June 4 close, Filters June 5 close, London formal June 11-12) all resolve before June 22, making it the first interim after all four are settled. The 6-week London→June 22→July 6→Vienna cadence mirrors the Apr 27→May 26 two-interims-in-the-gap pacing. moq lighter ~8-PR day breaks the 3-day overnight wave pattern: PR #1504 OPEN “moq-relay: restore gossip-style cluster discovery” (+797/−121) opened ~12h after Issue #1499 by natmurella — re-introduces
--cluster-node <self-url>publishing.internal/origins/<url>placeholder broadcasts so peers auto-discover via--cluster-connect; new.block(prefix)view refuses publishes + hides announces under non-mTLS sessions. First downstream-user-flagged regression in the May 22-25 refactor wave to get a same-day fix-in-flight. PR #1503 MERGED “docs(claude): tighten conventions” (+33/−3 to CLAUDE.md) — AI Attribution promoted from a buried Comment Conventions bullet into its own H2 covering “LLM-authored prose visible to humans” with explicit no-tag list (code, doc comments, /doc pages exempt to avoid disclosure noise). Third evolution of the LLM-disclaimer norm in 4 days (PR #1469 source-code rule May 23 → PR-body dogfooding via #1484+#1494 May 24 → policy H2 promotion May 25). PR #1503 also adds Cross-Package Sync table, end-to-end Testing Approach default, Refactor As You Go rule (4+ args = struct in same PR), and divan Benchmarks convention. PR #1509 MERGED “moq-native(jemalloc): drop runtime activation; fixes moq-boy startup crash” — 28-minute self-issue-to-merge cycle (kixelated filed #1507 at 03:58 UTC, PR #1509 merged at 04:26 UTC). Root cause: dead-code branch flippingprof.active=trueat runtime fails with EINVAL unlessMALLOC_CONF=prof:truewas set at process start; moq-relay’s systemd unit always sets it, moq-boy doesn’t. Swift release-pipeline shakedown: PRs #1502 (decouple release manifest from dev Package.swift, gate publish on SPM resolve) + #1505 (manual moq-ffi 0.2.14 bump; release-plz doesn’t detect binary-only cdylib changes via cargo semver-checks) + #1506 (CI fix: SPM derives path-based package identity from final path component not name: field). New external-user issues May 25-26: #1500 mirakae (HLS fMP4 audio ~47 MoQ groups/s no aggregation control), #1501 danrossi (JS Connection.reload() silently hangs on relay unavailable), #1508 kixelated-self (Reconnect doesn’t retry on DNS failure — open). 3 of 5 issues from external production-deploying users in 24h = adoption signal from operators filing actionable bug reports against May 22-25 refactor breakage. - Implementations: moq ~8 merges + 1 still-open PR #1504 cluster-discovery regression-fix (~12h cycle); PR #1503 AI Attribution H2 promotion; PR #1509 28-min self-issue-to-merge; Swift release pipeline first end-to-end exercise; 4 new external-user issues. moqtail single client-js demo fix (Ali Begen
3e9b788c). moq-rs, moq-js, imquic, moqxr, quiche_moq, Moqintosh, moqlivemock, Eyevinn/warp-player, Eyevinn/moqtransport, englishm/moq-interop-runner, google/quiche moqt all quiet (last quiche commit083b83b3May 20 22:36 UTC = Day +5, longest post-draft-18-publication silence). - Interop: 177 / 47 / 129 / 0 at 2026-05-26 00:43:38 UTC — first observed matrix-shape change from PR #71 (moqx docker adapter, merged May 25 03:18 UTC), total 168 → 177 (+9), pass 42 → 47 (+5), pass rate 25.0% → 26.6%. Smaller than gmarzot’s predicted ~+75 passes — likely partial-column moqx-as-relay coverage or docker-adapter-specific failures. 8-day cadence holds. Target still draft-16 (PR #68 OPEN, three impls on draft-18 main). Version breakdown: 97 at target · 8 ahead · 72 behind.
Operation: Update Sources:
- Slack:
#moqquiet 6 days (gazzy May 20 15:22 CEST → present; only Alina join-event May 21 17:08 CEST).#moq-interop-runner,#moq-rs,#moq-js,#libquicrall quiet. Longest stretch since May 11 interim. - GitHub moq-wg repos:
- moq-wg/msf — 4 new PRs by wilaw May 25 12:55-16:24 UTC: #165 (fixes #164), #166 (partial fix #153, pings Tobbe), #167 (fixes #150), #168 (fixes #149). PR #157 by Suhas MERGED 09:16 UTC (fixes #147). Issue #144 updated by Tobbe 17:21 UTC (Accept-Encoding negotiation).
- moq-wg/cmsf — PR #19 MERGED by wilaw 09:19 UTC (fixes #12 yekuiwang); Issue #16 reactivated by wilaw 09:41 UTC (emsg signaling questions to Gwendal).
- moq-transport, loc, secure-objects, catalog-format, privacy-pass: All quiet.
- GitHub implementations:
- moq-dev/moq: ~8 PR events May 25 06:00 UTC → May 26 ~05:00 UTC. Merges: #1502 (Swift release manifest decoupling), #1503 (CLAUDE.md AI Attribution H2 promotion), #1505 (moq-ffi 0.2.14 bump), #1506 (CI Swift identity fix), #1509 (jemalloc init fix). Closed: #1429 (AWS CMSF awaiting since May 20, formally closed). Open: #1504 (cluster gossip), #1496 (release auto-PR). New issues: #1499 (natmurella, closed in flight by #1504), #1500 (mirakae HLS audio groups), #1501 (danrossi JS reconnect), #1507 (closed by #1509), #1508 (DNS reconnect open).
- moqtail/moqtail: Single commit
3e9b788cby Ali Begen May 25 18:52 UTC (fix(demo): use next group start for sub). PR #202 release-bot still OPEN. - google/quiche (
quiche/quic/moqt): No new commits since083b83b3martinduke May 20 22:36 UTC (Day +5 — longest post-draft-18-publication silence). - cloudflare/moq-rs, video-dev/moq-js, meetecho/imquic, birneee/quiche_moq, mondain/moqxr, t-gazzy/Moqintosh, Eyevinn/moqlivemock, Eyevinn/warp-player, Eyevinn/moqtransport, openmoq/moqx, Quicr/cat-token, englishm/moq-interop-runner: All quiet.
- Mailing list: 2 substantive messages May 25 — Martin Duke “Upcoming Virtual Interims” 17:44 UTC scheduling June 22 + July 6 16:30-18:00 UTC interims, feedback deadline June 8 + weekly github digest auto-bot summary 17:48 UTC.
- IETF Datatracker: No new revisions May 25 or 26. WG state: transport-18 (Day +14), msf-00, loc-02, secure-objects-00, privacy-pass-02, cmsf-00. Notable individual: lite-04, subscribe-rewind-02, qlog-moq-events-06, nmsf-01, gregoire-moq-msfts-00 (May 6, Day +20), englishm-cdn-provisioning-00, englishm-relay-dos-00, lcurley-compressed-mp4-00.
- Interop runner: New report 2026-05-26 00:43:38 UTC: 177 / 47 / 129 / 0 (matrix-shape +9 from PR #71 moqx docker adapter, pass +5 vs May 25, 26.6% pass rate, 8-day cadence).
- MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30). Day +26 since #1.
- tobbee/moq-llm-wiki: No open issues.
Pages updated: discussions-2026-05.md (new “May 25 06:00 UTC → May 26 06:00 UTC” section covering: wilaw 4-PR MSF cluster absorbing Tobbe’s #153 initDatas[] proposal into PR #166, wilaw CMSF PR #19 + Issue #16 reactivation for Denver emsg agenda, Martin Duke June 22 + July 6 virtual interim schedule with June 8 feedback deadline, moq-dev/moq lighter day with PR #1504 12h regression-fix cycle for natmurella #1499, PR #1503 AI Attribution H2 promotion as third LLM-disclaimer evolution in 4 days, PR #1509 28-minute self-issue-to-merge jemalloc fix, Swift release-pipeline first end-to-end exercise, 3-of-5 new issues from external operators, moqtail demo fix Day +1, interop 177/47/129/0 with first observed PR #71 matrix-shape change smaller than predicted, google/quiche moqt Day +5 silent), implementations/moq-dev.md (May 26 entry: lighter ~8-PR day + PR #1504 cluster-discovery regression-fix + PR #1503 AI Attribution H2 promotion + PR #1509 28-min self-fix cycle + Swift pipeline shakedown + 3-of-5 external-user issues), implementations/moqtail.md (May 26 entry: single Ali Begen demo fix), drafts/moq-msf.md (May 26 entry: wilaw 4-PR cluster absorbing #153 + PR #157 merge + #144 Accept-Encoding update), drafts/moq-cmsf.md (May 26 entry: wilaw PR #19 + Issue #16 emsg reactivation), discussions/interim-meetings.md (Martin Duke June 22 + July 6 schedule + new table rows), interop/interop-runner.md (May 26 177/47/129/0 callout + first PR #71 matrix-shape observation), index.md (last_updated bump), log.md (this entry).
Key findings:
- The wilaw 4-PR MSF cluster (#165 + #166 + #167 + #168) absorbs Tobbe’s May 23 offered
initDatas[]PR into Akamai-authored form within 48 hours, with wilaw explicitly pinging Tobbe to review PR #166 (“see if it meets your needs”). Structurally significant: this is the editor-maintains-editorial-control pattern playing out in real time — the MSF spec author (wilaw, Akamai) shipped his own version of Tobbe’s design before Tobbe could file a PR himself. PR #166 covers Tobbe’s Point (2) readability dedup via root-levelinitDataList[], but does NOT cover Point (3) per-language override (langasmdhd.languageoverride extender) or Point (4) Safari/FairPlayavc1/hvc1requirement — both remain open on Issue #153. Carry-forward: Tobbe now has 3 paths: (a) review PR #166 and signal whether Point 2 is closed for him; (b) file a follow-on PR for Points 3-4; (c) request schema treatment of Points 3-4 via the sameinitDataList[]mechanism (e.g., per-track override sub-objects). The fastest path to both sides getting closure is probably (a) + (b) in parallel — accept #166 as closure of Point 2 and push Point 3-4 as a separate diff. Wider impact: this is the first observed case where the wiki user’s own design contribution gets shipped by a different contributor before the user could ship it — a structural validation that the moq-wg/msf editor cycle is responsive to outside-Akamai design input even if absorbing it into editorial control. - The PR #1503 AI Attribution H2 promotion is the third evolution of the LLM-disclaimer norm in 4 days and the most editorially-sophisticated of the three — PR #1469 added a single-rule line; PR-body dogfooding via PR #1484 + #1494 extended the rule informally to PR-description prose; PR #1503 codifies “LLM-authored prose visible to humans” with explicit exemptions for code, doc-comments, and
/docpages. The exemption design is sophisticated norm engineering: it preserves disclosure where humans read it editorially (issue replies, PR descriptions, design docs) and avoids disclosure-noise where it would clutter without informing (inline source comments, generated docs, technical reference pages). Carry-forward: this is now the most explicit AI-attribution framework in any tracked MoQ codebase. Two open questions: (1) does any moq-wg repository (especially moq-wg/moq-transport where afrind has used prose disclaimers) adopt a parallel rule before or at London? (2) does the rule survive the first PR-body-from-Claude that intentionally omits the disclaimer to test whether the convention is human-enforceable vs only-bot-enforceable? Wider impact: PR #1503’s exemption-list is the templatable form other projects can copy — most AI-disclosure conventions in OSS today are include everything and create disclosure fatigue; PR #1503’s include only where editorial is a useful counter-pattern. - PR #1504’s 12-hour cycle from natmurella’s Issue #1499 to in-flight fix is the validation signal for moq-dev/moq’s “merge fast, monitor downstream, fix on demand” pattern: the May 22-25 ~40-PR refactor wave (CMSF unified pipeline, LOC support, MKV/WebM I/O, audio FFI, moq-lite→moq-net rename, moq-clock removal, server FFI, Go bindings, Homebrew/.deb/.rpm distribution channels) shipped a known-unknown blast radius. natmurella’s gossip-discovery regression was the first regression report from a non-Cloudflare-non-AWS-non-Eyevinn user to be both filed and have a fix-in-flight within 24 hours. The fact that PR #1504 also re-introduces the previously-removed variable name (
--cluster-node) is structural evidence that the removal was a refactor casualty, not an intentional design change. Carry-forward: the next 2-3 weeks before London will see whether the other 3 external-user issues (mirakae #1500 HLS audio fragment aggregation, danrossi #1501 JS reconnect, kixelated-self #1508 DNS retry) get similar same-day fix cycles, or whether the pace settles to a more triaged turnaround. Adoption-vs-velocity tension is now an observable phenomenon. Wider impact: the 12h cycle plus the explicit “Fixes #1499” in PR #1504 builds the operator-trust signal moq-dev/moq needs to keep adoption growing during a high-velocity refactor period; the Day-1 1015-1100 Joining FETCH slot at London is the next chair-led discussion where operator-velocity-trust signal would matter. - Martin Duke’s June 22 + July 6 virtual interim schedule (announced May 25 17:44 UTC) settles the post-London cadence with all four consensus calls already closed: the cascading deadlines (May 26 Object Filters close + DTS/SWITCH show-of-hands → June 4 DTS/SWITCH close → June 5 Filters close → June 11-12 London formal) all resolve before June 22, so June 22 is the first interim where the WG can take stock of the four closed consensus calls together. Carry-forward: Martin’s June 8 feedback deadline strategically lands the day before London opens, so the post-London schedule is settled before participants arrive in London. The 6-week London→June 22→July 6→Vienna cadence mirrors the Apr 27→May 26 two-interims-in-the-gap pacing — Martin’s chair-cadence is now established as two interims per IETF-to-IETF cycle, giving the WG ~3 weeks per interim for written discussion + editorial follow-through. Wider impact: this is the first explicit post-London chair-coordination move, and it lands before any London-specific disposition has been recorded. The lack of any agenda preview for June 22 / July 6 is itself a signal — Martin is reserving slots for whatever falls out of London (filters disposition, MSF schema decisions, SWITCH/DTS adoption outcome, joining-FETCH consensus) rather than pre-committing to topics.
- The interop runner’s +9 total / +5 pass May 26 delta is the first observed matrix-shape change since the May 13 4-PR registry expansion, but is far smaller than gmarzot’s predicted ~+75 from PR #71: only 9 new tests appeared (177 vs 168) and only 5 of them passed. The version breakdown 97-at-target / 8-ahead / 72-behind shows the matrix is now exercising 97 cells against the actual draft-16 target with the moqx-docker rows partially populated. Carry-forward: the gap between gmarzot’s local-validation table (~+75 passes for 6/6 against well-behaved clients) and the runner’s observed +9/+5 means at least one of three things is true: (a) the runner’s docker bringup is producing test failures the local table didn’t see (most likely; CI environments differ from local moq-rs validation rigs), (b) PR #71 only added moqx-as-relay rows against a subset of clients (partial-row insertion), (c) the docker adapter is silently producing skip results that count as fails. A runner-side post-mortem of this matrix-shape change before London is structurally needed — without one, the matrix-shape signal becomes ambiguous (did PR #71 work as designed but the runner is mis-instrumented, or did PR #71 surface real interop gaps in moqx?). Wider impact: London hackathon is 14 days away. The matrix’s 8-day cadence is its longest sustained streak since the May 14-18 outage; the +9/+5 delta from PR #71 means the draft-revision lag (PR #68 target bump still OPEN since May 18) is now the only outstanding matrix-shape item before London — three implementations on draft-18 main vs the matrix on draft-16 makes the matrix structurally lag the field. PR #68’s status (OPEN, no commits since May 19) is the structural gap that PR #71’s partial-success does not address.
2026-05-25 — moq-dev/moq audio FFI; LLM-disclaimer dogfooded; Cullen agenda skeptic
TL;DR:
- Third consecutive overnight merge wave on moq May 24 06:00 UTC → May 25 ~05:00 UTC (~17 PR events, all kixelated plus 2 external-contributor merges; three-day cumulative ~40 merges, the largest three-day window the wiki has tracked). Theme is audio FFI gap closure + Rust/JS namespace cleanup + first dogfooding of the PR #1469 LLM-disclaimer norm. Headline: PR #1484 “feat: add moq-audio crate, raw-audio FFI, and rename moq-codec to moq-video” MERGED 22:41 UTC (+2576/−71 across 39 files) — new
rs/moq-audiocrate (Opus encode/decode of raw PCM overmoq-mux+hang, rubato resampler so callers can pass any WebCodecsAudioData.format/rate, genericEncoder/Decodertraits with Opus impl at fixed 20 ms frames),moq-ffi+libmoqgain raw-audio publish/subscribe APIs so Python/Swift/Kotlin/C callers can drive a microphone or speaker without bringing their own codec library; ~340 KB stripped size impact for bundled libopus inlibmoq_ffi.dylib. Renames emptymoq-codecplaceholder →moq-video(squat the name; audio/video have different enough I/O shapes to live in separate crates). PR description ends with(Written by Claude)line — first PR to apply the PR #1469 LLM-disclaimer norm in practice, less than 22h after that norm merged. PR #1492 “Remove moq-lite stub crate” MERGED 23:00 UTC (+3/−479) — drops the deprecatedrs/moq-litere-export ofmoq-netleft over from the rename, completing the moq-lite → moq-net Rust-side rename that opened May 18 with PR #1428; protocol-level moq-lite references (wire protocol, ALPN strings,concept/layer/moq-litedocs) intentionally untouched. PR #1498 “js: re-export @moq/net as Net (deprecate Lite/Moq aliases)” MERGED May 25 01:36 UTC —@moq/publish+@moq/watch+@moq/hangstandardise onNetnamespace,Lite+Moqstay as@deprecatedaliases. PR #1494 “moq-clock: convert to a moq-native example” MERGED May 25 00:02 UTC (+224/−764) — deletes standaloners/moq-clockcrate, moves source intors/moq-native/examples/clock.rsalongside the existingchat.rsexample; fixesrelease-plz releasefailure onmain; also ends with(Written by Claude)disclaimer. External-contributor double-merge by metapox (taku) May 24 22:56-22:57 UTC: PR #1396 “feat(lite): implement SUBSCRIBE_UPDATE API for JS subscriber and publisher” (closes Issue #1363 from Apr 30, 24-day cycle) + PR #1397 “fix(lite): update in-flight group priorities on SUBSCRIBE_UPDATE” — addstrack.updatePriority(priority)method via internal Signal +SubscribeUpdatesend/apply path; motivated by metapox’s own moq-multicam multi-camera streaming project where camera switching needs instant priority changes without re-subscribe to avoid replaying stale groups from relay cache. PR #1485 “hang: non_exhaustive VideoConfig/AudioConfig with constructors” MERGED 18:06 UTC — continues the pre-1.0 API freeze begun by PR #1472. PR #1486 “ci(rs): add cargo-deny” MERGED 18:27 UTC — security/licensing audit added to CI. Plus 8 smaller merges (#1480/#1481 dependabot, #1482 docs lib/bin grouping, #1483 infra: reuse SIGNING_KEY, #1488 fix Kotlin release + stop publishing moq-clock, #1489 multi-segment —stats-node values + cargo-deny to ci, #1490 moq-token-cli stdin/stdout, #1491 relay(stats) TOML config fix, #1497 ci(rpm) skip rclone bucket probe, 1475 release-plz auto-PRs). Still-open follow-ons: PR #1473 “moq-net: runtime Timescale/Timestamp; container::Frame keeps source scale” (follow-on to #1439); PR #1487 “moq-mux: catalog filter/target and Annex-B exporters”; PR #1495 “moq-mux: replace anyhow with thiserror”; PR #1371 “hang: cross-broadcast track references in renditions” OPEN. NEW issue #1499 by natmurella May 25 05:02 UTC: “old leaf discovery strategy gone?” — external user observing a relay-topology behavior change post-refactor; first downstream notice of an unannounced behavioral regression. - Cullen Jennings (Cisco) publishes the first public criticism of Martin Duke’s May 21 final London agenda (archive, May 24 14:27 UTC / 08:27 PDT): “I do not think we will make any progress with this agenda. Every topic on it does not have enough time for any meaningful discussion to resolve the issues.” Recommends “pick a limited set of important topics that needs face to face time and finish them” — identifies filters / top N as his preferred London priority. First push-back on the May 21 final agenda since publication, from a senior contributor whose own Secure Object slot was already compressed to 20 min (−60%) and whose 5-minute Top-N slot was kept on the Day-2 conditional agenda. moqx docker adapter shipped on englishm/moq-interop-runner: PR #71 MERGED May 25 03:18 UTC by Giovanni Marzot — new
adapters/moqx/Dockerfile.relaywrapsghcr.io/openmoq/moqx:latestwith the runner’s/certsconvention + UDP port 4443, addsroles.relay.dockerto the moqx implementation entry, registers publisher role. Expected next-matrix impact: moqx-as-relay column moves from 13/18 (no docker) to ~75+/162 with full docker bringup for well-behaved clients (moqx, moxygen, moq-rs-*, aiomoqt, moqlivemock all reaching 18/18 against moqx in the local validation table). First matrix-shape change of the post-May-18 cadence-recovery period; will hit the May 26 report. moqtail Day-2 relay-conformance fix by Zafer Gürel: PR #201 MERGED May 24 21:15 UTC “fix(relay): deliver mid-subgroup objects to late subscribers” (+165/−67, 5 files) — cachesSubgroupHeaderinTrack::active_headersmap keyed byStreamIdwhen first object of a new subgroup arrives so late subscribers get a new QUIC send stream rather than silently droppingheader_info=Noneobjects; second consecutive day of relay-conformance bug fixes (PR #199 FETCH_OK May 23, PR #201 mid-subgroup join May 24). Pattern: methodical pre-London relay hardening. Mailing list: 4 messages May 24 — Cullen’s agenda critique + weekly github digest auto-bot summary + Mo Zanaty Object Filters reply (already covered May 24 wiki entry) + Alan Mallett “Fwd: Your requested identity verification code” (third spam from same address in 4 days, still no chair moderation follow-up). moq Slack quiet 5 days beyond gazzy May 20 15:22 CEST Moqintosh announcement (longest stretch since the May 11 interim). Issue #164 on moq-wg/msf updated May 24 17:56 UTC by kixelated (only moq-wg repo activity). - Implementations: moq third consecutive overnight merge wave (~17 PR events; audio-FFI gap closure + Rust/JS namespace cleanup + first PRs dogfooding PR #1469 LLM-disclaimer norm + external metapox SUBSCRIBE_UPDATE merge + pre-1.0 API freeze continuation + new issue #1499 leaf-discovery regression). moqtail Day-2 relay-conformance fix (Zafer Gürel PR #201 mid-subgroup join + PR #202 release auto-PR). moq-interop-runner first commit since May 19 (PR #71 moqx docker adapter by gmarzot, expected next-matrix +moqx-relay expansion). moq-rs, moq-js, imquic, moqxr, quiche_moq, Moqintosh, moqlivemock, Eyevinn/warp-player, Eyevinn/moqtransport, google/quiche moqt all quiet (last quiche commit
083b83b3May 20 22:36 UTC = Day +4). - Interop: 168 / 42 / 125 / 0 at 2026-05-25 00:45:06 UTC — −3 pass vs May 24 (45 → 42, pass rate 26.8% → 25.0%, −1.8pp), the matrix has now registered two consecutive day-over-day regressions (May 24 −1, May 25 −3) following the May 23 +4 recovery; rolling 5-day band tightens to 42–46 pass. 7 consecutive days of daily cadence (May 19/20/21/22/23/24/25) — extends the post-May-14-18-outage streak. Plausible attribution: moq-dev/moq’s continuing main-branch refactor (moq-codec → moq-video rename, moq-clock removal, moq-lite stub removal, moq-mux per-codec/per-container restructure follow-ons). Target still draft-16 (PR #68 OPEN since May 18, no new commits since May 19). The May 25 report ran at 00:45 UTC, before PR #71 (moqx docker adapter) merged at 03:18 UTC, so the matrix-shape expansion will hit the May 26 report.
Operation: Update Sources:
- Slack:
#moqquiet ~5 days beyond gazzy May 20 15:22 CEST Moqintosh announcement (longest stretch since the May 11 interim).#moq-interop-runner,#moq-rs,#moq-js,#libquicrall quiet. - GitHub moq-wg repos:
- moq-wg/msf — Issue #164 updated May 24 17:56 UTC by kixelated (continued discussion on require-sample-rate-and-channels for audio tracks).
- moq-transport, loc, secure-objects, cmsf, catalog-format, privacy-pass: All quiet.
- GitHub implementations:
- moq-dev/moq: ~17 PR events May 24 06:00 UTC → May 25 ~05:00 UTC. Merges: #1480 (dependabot), #1481 (dependabot), #1482, #1483, #1485, #1486, #1488, #1489, #1490, #1491, #1492, #1493, #1494, #1396 (metapox external), #1397 (metapox external), #1484 (audio FFI), #1497, #1498, #1475 (release). Open: #1471 still pending merge state (closed prior day), #1473, #1487, #1495, #1496 (release), #1371, #1401, plus older #1448. New issue #1499 (natmurella May 25). Closed (without merge): #1479 (Joshalphonse).
- moqtail/moqtail: PR #201 zafergurel MERGED May 24 21:15 UTC (mid-subgroup join fix) + PR #202 release auto-PR.
- englishm/moq-interop-runner: PR #71 gmarzot MERGED May 25 03:18 UTC (moqx docker adapter + URL update + publisher role). PR #68 still OPEN.
- google/quiche (
quiche/quic/moqt): No new commits since083b83b3martinduke May 20 22:36 UTC (Day +4 quiet). - cloudflare/moq-rs, video-dev/moq-js, meetecho/imquic, birneee/quiche_moq, mondain/moqxr, t-gazzy/Moqintosh, Eyevinn/moqlivemock, Eyevinn/warp-player, Eyevinn/moqtransport, Quicr/cat-token: All quiet.
- Mailing list: 4 messages May 24: Cullen Jennings “Re: London Interim Preliminary Agenda” (14:27 UTC) + Weekly github digest (auto-bot) + Alan Mallett “Fwd: Your requested identity verification code” (third spam carry-forward; still no chair moderation) + Mo Zanaty Object Filters May 24 (already covered in May 24 wiki entry).
- IETF Datatracker: No new revisions May 24 or 25. WG state: transport-18 (Day +13), msf-00, loc-02, secure-objects-00, privacy-pass-02, cmsf-00. Notable individual: lite-04, subscribe-rewind-02, qlog-moq-events-06, nmsf-01, gregoire-moq-msfts-00 (May 6, Day +19), englishm-cdn-provisioning-00, englishm-relay-dos-00, lcurley-compressed-mp4-00.
- Interop runner: New report 2026-05-25 00:45:06 UTC: 168 / 42 / 125 / 0 (−3 pass vs May 24, 25.0% pass rate). 7-day cadence holding. PR #71 (moqx docker adapter) merged after report cut, so the matrix-shape expansion hits May 26.
- MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30). Day +25 since #1.
- tobbee/moq-llm-wiki: No open issues.
Pages updated: discussions-2026-05.md (new “May 24 06:00 UTC → May 25 06:00 UTC” section covering: moq-dev/moq third-day ~17-PR cluster with audio FFI gap closure (PR #1484) + Rust/JS namespace cleanup (PRs #1492 / #1494 / #1498) + first dogfooding of PR #1469 LLM-disclaimer norm, external-contributor metapox SUBSCRIBE_UPDATE double-merge with 24-day issue close cycle, Cullen Jennings agenda-skeptic letter as first push-back on the May 21 final London agenda, moqx docker adapter PR #71 with expected next-matrix +moqx-relay expansion, moqtail Day-2 relay-conformance fix, moq Slack 5-day quiet, interop 168/42/125 second-consecutive regression), implementations/moq-dev.md (May 25 entry: ~17-PR cluster + audio FFI gap closure + 3-day cumulative ~40 merges + LLM-disclaimer first dogfooding), implementations/moqtail.md (May 25 entry: PR #201 mid-subgroup join + Day-2 relay-conformance pattern), interop/interop-runner.md (May 25 168/42/125 callout + table row + PR #71 next-matrix-impact note), interim-meetings.md (Cullen May 24 agenda-skeptic note), index.md (last_updated bump), log.md (this entry).
Key findings:
- The audio FFI gap closure on PR #1484 is the second of two structural FFI-completeness moves in 48 hours (PR #1417 server API May 23 + PR #1484 audio May 24). With both merged, moq-dev/moq’s FFI now exposes (a) every transport role (client + server), (b) raw-audio publish/subscribe in Opus without an external codec library, across Python/Swift/Kotlin/C, and (c) the existing video pipeline via WebCodecs in JS. The crate split
moq-codec→moq-video+moq-audiois structural: it pre-positions video-side raw-frame FFI symmetry (PR #1484 explicitly notes “Once the input/output story for video samples is settled it can mirrormoq-audio’s structure”). Carry-forward: by London, the moq-dev/moq value proposition shifts from “single-tree multi-language client” to “single-tree multi-language full-stack with native codec helpers” — Python and Swift apps can now drive microphones end-to-end without external dependencies. Wider impact: the AAC out-of-scope note (“Codec module shape is generic so it can drop in later behind its own feature”) leaves room for third-party crate contributions for AAC encode/decode parity; this is a structural extensibility hook for non-kixelated contributors who want to land inmoq-audiowithout disturbing the Opus default. - The PR #1469 LLM-disclaimer norm is fully dogfooded within 22 hours of its merge: PR #1484 (audio FFI) and PR #1494 (moq-clock removal) both end with
(Written by Claude)lines, the first PRs in the wiki’s tracking to apply the explicit AI-disclosure marker in PR descriptions. Structurally interesting: the disclaimer norm was added toCLAUDE.mdfor source-code comments, not PR descriptions; kixelated’s same-day extension to PR bodies shows the norm propagating to adjacent surfaces (PR description = the editorial layer adjacent to the diff). Carry-forward: the next AI-skeptic-narrative test is whether non-moq-dev MoQ repos (especiallymoq-wg/moq-transportwhere afrind has already been using a “With apologies for answering your question with AI” prose disclaimer) move toward a similar codified marker. Wider impact: this is the fastest community-norm adoption the wiki has tracked — 22-hour norm-merge-to-dogfood cycle vs the 4–6 day inter-event cadence on the broader AI-skeptic narrative (Mike English May 18 → Lorenzo May 19 → afrind May 22 → PR #1469 May 24). - Cullen Jennings’s agenda-skeptic letter is the first structural counter-pressure to the May 21 final London agenda, and it lands from a senior contributor who already lost agenda territory in the May 21 compression: Cullen’s Secure Object slot was cut from 50 → 20 min (−60%) and his Top-N slot was kept only on the Day-2 conditional agenda. His “pick a limited set of important topics that needs face to face time and finish them” framing, with filters/top-N as his top pick, structurally aligns with Mo Zanaty’s (already the dominant Object Filters mailing-list voice 3-of-4 messages May 23-24). Carry-forward: the May 26 interim is now bracketed by two consensus-call closes (Magnus’s Object Filters call closing same day) and two senior contributors (Cullen + Mo) advocating for more time on filters, less on other topics. If Martin Duke concedes any agenda repacking, the prior beneficiaries (afrind’s 180-min slot and Will Law’s MSF/CMSF 35-min slot) become the targets. Wider impact: the agenda-compression-vs-substance tension that has been latent since the May 21 “did not have time to meet all the requests” note is now a public list discussion; the May 26 interim outcome (SWITCH/DTS show-of-hands + Object Filters consensus close) will be the proxy disposition for whether the London formal agenda holds or gets repacked.
- The moqx docker adapter PR #71 is the first matrix-shape change of the post-May-18 cadence-recovery period and will materially reshape moqx-relay coverage on May 26: gmarzot’s local validation table shows moqx-as-relay reaching 18/18 against moqx, moxygen, moq-rs-draft-16, aiomoqt, and moqlivemock in docker mode (the prior 13/18 remote-only configuration limited moqx to 2 transport modes × 6 tests). Expected next-matrix impact: moqx-as-relay column moves from 13/18 to ~75+/162. Carry-forward: this fills the matrix gap raised by openmoq/moqx#316 (“why does moqx only run 12/12 vs moq-rs’s 18/18?”) and demonstrates that the adapter pattern works for third-party docker images (the prereq landed upstream as
MOQX_ENDPOINTenv var in openmoq/moqx#319). Wider impact: this is the second-of-two outstanding matrix-shape items (the other being PR #68 draft-18 target bump, still OPEN since May 18). If May 26’s report shows ~75 moqx passes added without breaking other rows, the matrix will have validated its docker-adapter-per-impl posture as the path forward — but the draft-revision lag (matrix on draft-16, three+ impls on draft-18) remains the structural gap that PR #71 does not address. - The second consecutive day-over-day pass-count regression (May 24 −1, May 25 −3) confirms that the interop matrix is now sensitive to single-day-cluster-PR effects on moq-dev/moq: the −3 today lands during the third consecutive overnight cluster (moq-codec rename, moq-clock removal, moq-lite stub removal, moq-mux follow-ons), and is causally consistent with the wire-level-refactor-sensitivity hypothesis established May 21-22. Rolling 5-day band tightens from 42–46 to 42–46 (same), but trajectory is downward over 3 days (46 → 45 → 42). Carry-forward: if PR #71 (moqx docker adapter) lands ~75 passes on May 26, total pass-count would jump to ~117/168 (~70%), but the moqx delta is structural matrix-shape, not implementation-quality, so the band-of-comparison shifts. After PR #71 hits the May 26 report, the matrix-quality signal will need to be read against the new equilibrium band, not the pre-May-26 42–46. Wider impact: the draft-revision lag remains the structural gap — PR #68 (draft-18 target bump) has been OPEN since May 18 with no commits since May 19, while moq-dev/moq is shipping audio FFI + post-rename cleanup on draft-18 daily. London hackathon is 17 days away.
2026-05-24 — moq-dev/moq Go FFI + server API + LLM-disclaimer norm; Tobbe joins MSF #153
TL;DR:
- Second consecutive ~14-PR overnight merge wave on moq May 23 17:56 UTC → May 24 01:30 UTC (~7.5h, all kixelated; two-day cumulative ~24 merges), theme distribution + binding + API hardening. Headline: PR #1470 Go bindings MERGED (+827/−4, 13 files,
uniffi-bindgen-gov0.7.1+v0.31.0, 5-target CI matrix linux/darwin/windows × amd64/arm64) — Go added as 4th FFI language after Python+Kotlin+Swift; net language coverage Rust + TypeScript + Python + Swift + Kotlin + Go from a single tree = first 6-language MoQ stack; consumer modelgo get github.com/moq-dev/moq-go@vX.Y.Zvia mirror repo. PR #1417 “Add MoQ server API with session acceptance and handshake” MERGED (+1120/−5, 12 files) — newMoqServer+MoqRequesttypes expose server role through ALL FFI bindings (previously client-only); Pythonserver_smoke.pydemonstrates Python-as-MoQ-server, structurally lowering the barrier to building relays in Python/Swift/Kotlin/Go. PR #1469 “docs: require LLM disclaimer on AI-authored comments” MERGED (+2/−0 inCLAUDE.md: “when an LLM leaves a comment, it should include a short disclaimer like// Written by Claude…“) — first project-level mandatory-LLM-disclaimer policy in any tracked MoQ codebase, direct institutional response 22h after the May 22 moq-wg/moq-transport Issue #1636 afrind AI-hallucination incident; 4th community-side AI-skeptic event in 6 days, first one producing a written normative artifact. PR #1456 Homebrew tap + PR #1457 .deb/.rpm packaging (apt.moq.dev / rpm.moq.dev Cloudflare Workers) — first Linux/macOS binary distribution channels for moq binaries. PR #1452 moq-mux restructured into per-codec + per-container modules (pre-extensibility for future containers like m2ts). PR #1472 Tighten public APIs ahead of release (#[non_exhaustive]+ builders) — pre-1.0 API freeze signal. Plus 6 CI fixes + 5 dependabot bumps. Net distribution model post-May 24: cargo/npm/pip/PyPI/brew/apt/dnf/SPM(in-flight)/Maven(in-flight)/Go-mirror = 9 distribution channels in production or in-flight, unique footprint. Torbjörn Einarsson (the wiki user) substantive 4-point comment on moq-wg/msf Issue #153 May 23 16:02 UTC re-opens catalog-bloat / mid-stream-init-change conversation (suhasHere May 14 had asked to close): (1) cross-packaging dedup as design opportunity, (2) readability-not-just-compression rationale for rootinitDatas[], (3)lang-as-mdhd.language-override as dedup-extender, (4) Safari/FairPlay requiresavc1/hvc1notavc3/hev1— Will Law’s “use AVC3” resolution doesn’t cover Safari/FairPlay pipelines. Offers a focused PR forinitDatas[]+initDataRefID— would be the first MSF schema additive contribution from outside the Akamai/Cloudflare/Cisco/Google/AWS core. Magnus Westerlund “Consensus call on Object filters” thread sees 4 more messages May 23-24 (Mo Zanaty ×3, Alan Frindell ×1), continuing the May 22-23 afrind ↔ Mo Zanaty PR 1518-interpretation back-and-forth — deadline May 26 = 2 days away; Mo Zanaty’s 3-of-4 dominance is structurally significant for the show-of-hands interim May 26. - Implementations: moq ~14-PR overnight merge wave (Go FFI + server API + Homebrew + .deb/.rpm + moq-mux restructure + LLM-disclaimer norm + API hardening + CI + dependabots). moqtail breaks long-quiet streak May 23: Zafer Gürel
1c209c5bfix(relay): send FETCH_OK for all non-empty fetch ranges (PR #199) + Ali Begen client-js commits28c04571/b69009be+ PR #200 release. moq-rs, moq-js, imquic, moqxr, quiche_moq, Moqintosh, moqlivemock, Eyevinn/warp-player, Eyevinn/moqtransport all quiet. google/quiche moqt quiet Day +3 (last083b83b3martinduke May 20 22:36 UTC). englishm/moq-interop-runner PR #68 (draft-18 target bump) still OPEN, no new commits since May 19. - Interop: 168 / 45 / 122 / 0 at 2026-05-24 00:43:56 UTC — −1 pass vs May 23 (46→45, pass rate 27.4% → 26.8%, −0.6pp), skip drops 1 → 0 (previously-skipped test now runs, contributing to the +1 fail delta). 6 consecutive days of daily cadence (May 19/20/21/22/23/24) = longest stretch since the May 14-18 outage. Rolling 5-day band 42–46 pass. Target still draft-16 (PR #68 OPEN).
Operation: Update Sources:
- Slack:
#moqquiet 84h+ beyond gazzy May 20 15:22 CEST Moqintosh announcement (longest quiet stretch since May 11 interim).#moq-interop-runner,#moq-rs,#moq-js,#libquicrall quiet. - GitHub moq-wg repos:
- moq-wg/msf — Issue #153 substantive 4-point comment by tobbee May 23 16:02 UTC (1163 words) re-opening catalog-bloat / mid-stream-init-change discussion; offers focused PR for
initDatas[]+initDataRefID. No other moq-wg repo activity. - moq-transport / moq-wg/loc / secure-objects / cmsf / catalog-format / privacy-pass: All quiet (Issue #1636 last comment May 22 21:45 UTC afrind apology; no new comments).
- moq-wg/msf — Issue #153 substantive 4-point comment by tobbee May 23 16:02 UTC (1163 words) re-opening catalog-bloat / mid-stream-init-change discussion; offers focused PR for
- GitHub implementations:
- moq-dev/moq: ~14-PR merge wave May 23 17:56 → May 24 01:30 UTC (#1417 / #1452 / #1456 / #1457 / #1463 / #1464 / #1465 / #1466 / #1467 / #1468 / #1469 / #1470 / #1471 / #1472 / #1474 / #1476 / #1477 / #1478 / 5 dependabots #1458–#1462) plus open follow-ons (#1473 follow-on to #1439, #1475 chore release). Total merge cluster ~24 in two days May 22-24.
- moqtail/moqtail: 5 commits May 23 (Zafer Gürel
1c209c5bPR #199 FETCH_OK fix + Ali Begen28c04571+b69009beclient-js fixes + 2 release-bot commits PRs 200). - google/quiche (
quiche/quic/moqt): No new commits since083b83b3martinduke May 20 22:36 UTC (Day +3 quiet). - cloudflare/moq-rs, video-dev/moq-js, meetecho/imquic, birneee/quiche_moq, mondain/moqxr, t-gazzy/Moqintosh, Eyevinn/moqlivemock, Eyevinn/warp-player, Eyevinn/moqtransport, Quicr/cat-token: All quiet.
- englishm/moq-interop-runner: PR #68 still OPEN; no new commits since May 19.
- Mailing list: 4 messages May 23-24 all on Magnus Westerlund “Consensus call on Object filters” thread: Mo Zanaty May 23 (archive) + Alan Frindell May 23 (archive) + Mo Zanaty May 23 (archive) + Mo Zanaty May 24 (archive). No other threads.
- IETF Datatracker: No new revisions May 23 or 24. WG state: transport-18 (Day +12), msf-00, loc-02, secure-objects-00, privacy-pass-02, cmsf-00. Notable individual: lite-04, subscribe-rewind-02, qlog-moq-events-06, nmsf-01, gregoire-moq-msfts-00 (May 6, Day +18), englishm-cdn-provisioning-00, englishm-relay-dos-00, lcurley-compressed-mp4-00.
- Interop runner: New report 2026-05-24 00:43:56 UTC: 168 / 45 / 122 / 0 (−1 pass vs May 23, 26.8% pass rate, skip 1→0). 6-day cadence holding.
- MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30). Day +24 since #1.
- tobbee/moq-llm-wiki: No open issues.
Pages updated: discussions-2026-05.md (new “May 23 06:00 UTC → May 24 06:00 UTC” section covering: moq-dev/moq second-day ~14-PR cluster with Go FFI + server API + LLM-disclaimer + Homebrew + .deb/.rpm + moq-mux restructure + API hardening, PR #1469 first-project-level mandatory-LLM-disclaimer norm + direct causal chain from Issue #1636, PR #1470 Go bindings = 6-language stack analysis + Tobbe-as-Go-user implication, PR #1417 server API lifts moq-dev/moq from client-library to full-stack-binding, PRs 1457 first Linux+macOS binary distribution channels + 9-channel footprint table, Tobbe May 23 MSF Issue #153 4-point substantive comment + Safari/FairPlay AVC3 limitation + initDatas[] PR offer, moqtail Zafer + Ali Begen May 23 cluster breaks long-quiet, Object Filters consensus-call thread 4 more messages, moq Slack 84h+ quiet, interop 168/45/122/0 with 6-day cadence), implementations/moq-dev.md (May 24 entry: 14-PR cluster + 6-language coverage table + 9-channel distribution model), implementations/moqtail.md (May 24 entry: PR #199 FETCH_OK + Ali Begen client-js cluster), drafts/moq-msf.md (Tobbe Issue #153 4-point comment summarised), interop/interop-runner.md (May 24 168/45/122/0 callout + table row), index.md (last_updated bump), log.md (this entry).
Key findings:
- The Go bindings + server API + LLM-disclaimer triple on May 23 is moq-dev/moq’s most explicit “this is becoming an ecosystem product, not just an implementation” signal yet. Two days after the LOC/CMSF/MKV container-format triple-merge (the implementation-feature peak), kixelated pivots to ecosystem infrastructure — Go FFI brings moq-dev/moq to the 6-language coverage that Eyevinn/moqtransport (Go-only), gazzy/Moqintosh (Swift-only), and other tracked impls cannot match; the server-side FFI lifts every binding language from “consume a MoQ relay” to “build a MoQ relay”; Homebrew + apt + rpm move from
cargo installdeveloper-only to consumer-grade Linux/macOS distribution. Carry-forward: by London, moq-dev/moq is positioned to demo “build a relay in Python in 20 lines, install via brew on macOS, install via apt on Debian” — a deployment-friction profile no other tracked MoQ implementation can match. The pre-1.0 API freeze (#[non_exhaustive]+ builders in PR #1472) suggestsmoq-net v1.0may ship at or shortly after London. Wider impact: the “single repo, six languages, server + client, three distribution channels per OS” posture is structurally how kixelated is competing against the IETF-standard moq-transport — productisation outruns standardisation. - The PR #1469 mandatory LLM-disclaimer norm is the first written normative artifact in the MoQ community’s 6-day AI-skeptic-narrative arc: events 1-3 were discussion-only (Mike English / Giovanni Marzot resolution May 18, Lorenzo Miniero “stay away from AI” May 19, afrind #1636 apology May 22). PR #1469 is a 2-line CLAUDE.md edit by kixelated but represents a project-level decision that AI-authored comments MUST be labeled at the source-tree level — making them visible during review and future maintenance. Carry-forward: expect propagation to other MoQ codebases that have been receiving AI-assisted contributions; most directly the moq-wg/moq-transport issue threads where afrind’s preemptive “With apologies for answering your question with AI” disclaimer has already normalised the practice. The structural question this raises for moqlivemock (where Tobbe has been transparent about AI-tooling use) and moq-dev/moq (where #1469 is now enforced) is whether the IETF moq-wg adopts a parallel norm in some written form — currently the disclosure norm is socially required but not procedurally encoded. London Day-1 may surface this as an editorial agenda item or chair-clarification ask.
- Tobbe’s MSF Issue #153 comment is the first moment the wiki user becomes a wiki subject: by submitting a substantive 4-point design comment on
moq-wg/msfand offering to ship a focused PR, Tobbe enters the same content stream the wiki is tracking. The 4 points cover orthogonal dimensions (dedup, readability, override semantics, AVC3-limits-due-to-Safari/FairPlay), each potentially generating its own follow-on issue. Point 4 (Safari/FairPlay requiresavc1/hvc1, notavc3/hev1) is the most spec-actionable: it falsifies the suhasHere/wilaw May 14 closing rationale (“streams requiring mid-stream parameter re-initialization can leverage AVC3 self-initializing segments”) for any deployment targeting Safari/FairPlay DRM, which is the dominant consumer-iOS path. Carry-forward: if Tobbe ships the offeredinitDatas[]+initDataRefIDPR, it would be the first MSF schema additive contribution from outside the Akamai/Cloudflare/Cisco/Google/AWS core, and the Safari/FairPlay datapoint will flow into the Cullen Jennings Secure Object London Day-2 discussion (DRM-init-handling cuts across MSF/CMSF/Secure Objects). Wider impact: the wiki user-becomes-subject pattern is the strongest validation signal yet for the Karpathy LLM-wiki concept — the user’s own contributions are now tracked alongside the rest of the ecosystem, and the wiki must self-consistently treat them by the same news-judgement rules. - The 6-day daily-cadence interop streak with rolling 42–46 pass band is the new equilibrium: post the May 14-18 5-day outage and May 19-23 +35→+38→+46→−4→+4 oscillation, the May 24 −1 settles the matrix into a 42-46 pass / 121-125 fail steady state. The −1 today is causally legible (PR #1452 moq-mux restructure changed file paths; #1474 follow-on shipped gitignore fix), demonstrating the matrix is now sensitive enough to register single-PR effects within 24h. Carry-forward: this is the cadence-and-stability profile the matrix needs to hit by London — daily cadence + within-band oscillation that reflects upstream PR-level activity. The remaining structural gap is the draft-16 target vs draft-18 implementation reality: PR #68 has been OPEN since May 18 with no commits since May 19, and 3+ implementations are on draft-18 main. The June 11 London hackathon needs draft-18 matrix coverage to have credibility — the next 18 days are the structural window for PR #68 to merge.
- The Magnus Westerlund Object Filters consensus call deadline (May 26) is now 2 days away with Mo Zanaty as the dominant participant: 3 of the last 4 messages in 26h are by Mo, with afrind’s single response continuing the May 22-23 PR 1518-interpretation back-and-forth. The May 26 interim was repurposed by Martin Duke May 21 as a “SWITCH/DTS show-of-hands” meeting but the Object Filters call closing May 26 will overlap. Carry-forward: the May 26 interim is now structurally the disposition moment for Object Filters (consensus call closes that day) plus the disposition signal for SWITCH/DTS (Martin’s show-of-hands) — two consensus call outcomes in one ~90-minute window. Expected disposition: Object Filters PR #1518 moves toward editorial integration (Mo Zanaty’s read of “filters apply to PUBLISH+Objects” not contested), SWITCH/DTS get a show-of-hands signal that informs Martin’s June 4 formal consensus close. Mo Zanaty’s continued mailing-list dominance is the early indicator that Mo’s London Day-1 50-min slot (already cut from his requested 135 min) will be the focal point for the cascading filter-disposition decisions.
2026-05-23 — moq-dev/moq overnight container-format triple-merge; afrind AI hallucination
TL;DR:
- moq 10-PR overnight merge wave May 22 18:24 UTC → May 23 02:26 UTC (~8h, all kixelated, ~+7160/−355 across ~120 files) makes moq-dev/moq the first MoQ implementation with all three major container formats unified on
main: PR #1444 “feat: Unified CMSF/Hang pipeline (cleanup of #1429)” MERGED (+1278/−14) — kixelated forks AWS’s #1429, strips out-of-scope C API + caller-driven group boundaries, ships MSF-catalog core; third AWS-vs-kixelated design-cycle resolution in 9 days (#1413 close → #1408→#1429 50% shrink → #1429→#1444 33% shrink; AWS net code in merged result ~25-30% of original #1408 scope). PR #1388 “Add Low Overhead Container (LOC) frame format support” MERGED (+844/−16, 30 files) — first LOC impl in the moq-dev/moq stack, newmoq-locRust crate +@moq/locJS pkg, votes-with-code for moq-transport-18 §15.8-2 property type IDs (TIMESTAMP=0x06, TIMESCALE=0x08) over the conflicting historical draft-ietf-moq-loc-02 values (TIMESTAMP=0x02) — implementation-side resolution of the moq-wg/loc Issue #20 cross-spec coordination gap. PR #1438 “Add Matroska/WebM import and export support” MERGED (+3087/−66, 18 files) — bidirectional MKV/WebM viars/moq-mux/src/{import,export}/mkv.rs, supports H.264/H.265/VP8/VP9/AV1 video + AAC/Opus audio; first non-CMAF, non-LOC container packaging shipped in any tracked MoQ impl, predating any individual draft. PR #1442 “Add stats via MoQ broadcasts” MERGED (+1492/−70) — observability dogfooded as a broadcast. Plus 6 smaller merges (PR 1447) covering hang catalog backwards-compat, direnv GC, mandatory reconnect timeout (5min default), broadcast-name catalog format auto-detect, Opus voice-vs-music encoder presets, moq-ffi release pipeline. PR #1448 “swift: wire SPM mirror publish (Phase A)” OPENED May 23 03:08 UTC (next-up in FFI publishing chain). Issue #1636 AI-hallucination incident May 22 afternoon: afrind 18:24 UTC initial reply (prefixed “With apologies for answering your question with AI”) hallucinated “between 1 and 32 Track Namespace Fields” + non-existent line numbers (511 / 544-546 / 3107-3108) claiming 0-element namespaces are PROTOCOL_VIOLATION; RichLogan 21:15 UTC catches the hallucination by quoting actual draft-18 §2.4.1 (“between 0 and 32”); afrind 21:45 UTC explicit apology “Wow, that is pretty embarrassing. I apologize. It spit out that sentence about 1 and 32 and that seemed familiar I didn’t double check it. Ouch.” — first explicit on-record acknowledged-AI-hallucination onmoq-wg/moq-transportby an editor in spec discussion; third community-side AI-skeptic narrative event in 4 days (after Mike English/Giovanni Marzot resolution + Lorenzo Miniero “stay away from AI”). Martin Duke opens “Consensus call on filters” May 22 12:22 UTC (archive) — “merge all the filters into the MOQT draft except for top N”, deadline June 5 = 4th simultaneous chair-coordinated consensus call (after Joining FETCH Survey, Object Filters May 12, DTS/SWITCH May 21). 4-message afrind↔Mo Zanaty “Object Filters” thread May 22-23: afrind notes ambiguity in PR #1518 (extension-as-extension preference), Mo quotes PR text directly proving filters already apply to PUBLISH + Objects, afrind concedes “Thanks for setting me straight Mo. That’s clear enough and I missed it”, Mo proposes releasing the London Day-1 1015-1020 Track Property Filters slot. New MSF Issue #164 by kixelated “Require sample rate and channels” — “It’s reaally annoying that everything is optional”, third successive MSF schema strengthening ask. - Implementations: moq 10-PR overnight merge wave (LOC + CMSF + MKV/WebM + stats + Opus + release infra); moq-rs, moq-js, imquic, moqtail, moqxr, quiche_moq, Moqintosh, moqlivemock, Eyevinn/warp-player, Eyevinn/moqtransport, google/quiche moqt all quiet (last quiche commit May 20 22:36 UTC = Day +2). englishm/moq-interop-runner PR #68 (draft-18 target bump) still OPEN, no commits since May 19.
- Interop: 168 / 46 / 121 / 1 at 2026-05-23 00:42:56 UTC — +4 pass vs May 22 (42→46), pass rate 25.0% → 27.4% (+2.4pp), fully recovers from May 22’s regression restoring to May 21 level. 5 consecutive days of daily cadence (May 19/20/21/22/23). Skip count returns to 1. Target still draft-16 (PR #68 still OPEN).
Operation: Update Sources:
- Slack:
#moqquiet 60h beyond gazzy May 20 15:22 CEST Moqintosh announcement (longest quiet window since May 11 interim).#moq-interop-runner,#moq-rs,#moq-js,#libquicrall quiet. - GitHub moq-wg repos:
- moq-transport — Issue #1636 3 substantive comments May 22 18:24-21:45 UTC (afrind initial AI-hallucinated reply + RichLogan catch + afrind apology). No other new issues / PRs.
- moq-wg/msf — NEW Issue #164 by kixelated May 22 20:17 UTC (require sample rate + channels for audio tracks).
- moq-wg/loc, secure-objects, cmsf, catalog-format, privacy-pass: All quiet.
- GitHub implementations:
- moq-dev/moq: 10-PR merge wave May 22 18:24 UTC → May 23 02:26 UTC (#1440 / #1441 / #1443 / #1442 / #1444 / #1394 / #1438 / #1388 / #1446 / #1447). Plus PR #1448 OPENED May 23 03:08 UTC. Plus 2 new issues opened May 22-23 (#1445 Opus DTX for voice, #1449 Safari iOS watch demo doesn’t maximise) — both by kixelated + joeblew999 respectively.
- google/quiche moqt: No commits since
083b83b3martinduke May 20 22:36 UTC (Day +2). - cloudflare/moq-rs, video-dev/moq-js, meetecho/imquic, moqtail/moqtail, birneee/quiche_moq, mondain/moqxr, t-gazzy/Moqintosh, Eyevinn/moqlivemock, Eyevinn/warp-player, Eyevinn/moqtransport, Quicr/cat-token: All quiet.
- englishm/moq-interop-runner: PR #68 still OPEN; no new commits.
- Mailing list: 7 messages May 22-23: Martin Duke “Consensus call on filters” May 22 12:22 UTC (archive) + 4-message Object Filters thread (afrind May 22 21:39 UTC + Mo Zanaty May 23 00:29 UTC + afrind May 23 00:48 UTC + Mo Zanaty May 23 01:38 UTC) + Alan Frindell “Re: Joining FETCH Survey” May 22 + Alan Mallett May 22 03:57 UTC “Google Transparency Report” (same spam carry-forward, still no chair moderation follow-up after 31h).
- IETF Datatracker: No new revisions May 22 or 23. WG state: transport-18 (Day +11), msf-00, loc-02, secure-objects-00, privacy-pass-02, cmsf-00. Notable individual: lite-04, subscribe-rewind-02, qlog-moq-events-06, nmsf-01, gregoire-moq-msfts-00 (May 6, Day +17), englishm-cdn-provisioning-00, englishm-relay-dos-00, lcurley-compressed-mp4-00.
- Interop runner: New report 2026-05-23 00:42:56 UTC: 168 / 46 / 121 / 1 (+4 pass vs May 22, 27.4% pass rate). 5-consecutive-day cadence holding.
- MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30). Day +23 since #1.
- tobbee/moq-llm-wiki: No new open issues (all 3 closed since April).
Pages updated: discussions-2026-05.md (new “May 22 06:00 UTC → May 23 06:00 UTC” section covering: moq-dev/moq 10-PR overnight merge wave + LOC/CMSF/MKV all-three-containers analysis, PR #1444 third AWS-vs-kixelated design-cycle resolution, PR #1388 LOC frame format with property-type votes-with-code, PR #1438 Matroska/WebM bidirectional first-non-spec’d-container, Issue #1636 afrind AI-hallucination incident, MSF Issue #164 kixelated require-sample-rate-and-channels, Martin Duke “Consensus call on filters” 4th simultaneous consensus call, 4-message afrind↔Mo Zanaty Object Filters thread, Slack 60h quiet, google/quiche moqt 60h+ quiet, interop 168/46/121 recovery), interim-meetings.md (added “Consensus call on Object filters” row Magnus May 12 deadline May 26 + “Consensus call on filters” row Martin May 22 deadline June 5 + cascading deadline note), interop/interop-runner.md (May 23 168/46/121 recovery callout + table row), implementations/moq-dev.md (May 23: 10-PR overnight merge wave + LOC/CMSF/MKV table + AWS-vs-kixelated cycle 3 + structural three-container-formats deployment shape), drafts/moq-transport.md (#1636 AI-hallucination incident documented in full), drafts/moq-loc.md (PR #1388 LOC encoder/decoder first-impl-in-moq-dev callout + property type ID votes-with-code), drafts/moq-msf.md (Issue #164 kixelated require-sample-rate callout), drafts/moq-cmsf.md (PR #1444 CMSF/Hang unified pipeline merged callout + third AWS-vs-kixelated cycle), index.md (last_updated bump), log.md (this entry).
Key findings:
- The three-container-format unification on moq-dev/moq’s
mainis the most consequential implementation milestone in the wiki’s tracking since draft-18 ship (8 days prior). With CMAF/fMP4 + LOC + MKV/WebM all in one tree, moq-dev/moq is the first implementation positioned to interop on every plausible MoQ packaging value at the London hackathon (June 9-10). Thehang::Catalogintermediate representation pattern (single in-memory shape, serializes to MSF or Hang catalog) is the structural answer to the AWS #1408 “parallel CMSF pipeline” approach that kixelated rejected — “CMSF is CMAF with a different catalog format” now demonstrably works as both an architectural principle and shipped code. Carry-forward: by London, moq-dev/moq’s MKV exporter creates a new deployment shape — moq-server-side MoQ-to-MKV transcoding lets standard players (VLC, MPV, browser , dramatically lowering deployment friction for non-real-time use cases. Whether this is positioned as a “MKV is a debug/diagnostic format” or “MKV is a deployment target” will be a kixelated design statement worth watching. - The third AWS-vs-kixelated design-cycle resolution (#1429 → #1444) shows the corporate-contributor pattern has stabilised at “kixelated will personally clean up”: previous two cycles (#1413, #1408→#1429) had AWS re-filing in response to review. This third cycle is kixelated forking the AWS branch himself, stripping out-of-scope, and merging — a structurally different relationship. The cumulative AWS code in the merged #1444 is ~25-30% of original #1408 scope (3906 → 1969 → 1278 LOC), but the CMSF feature itself is now live. Carry-forward: the AWS corporate footprint moves from “PR-filer” to “PR-seed-author” — AWS’s main contribution is opening the design conversation, not directly merging large-shape contributions. The Cloudflare/Nokia/Eyevinn/AWS contributor mix is now stably reciprocal but single-maintainer-bottlenecked: ~25 contributions / 5 maintainers ratio in the moq-dev/moq ecosystem means review-throughput by kixelated is the structural rate-limiter.
- The Issue #1636 AI-hallucination is the first on-record editor-side confirmation that AI-assistance carries reputation risk on
moq-wg/moq-transport: afrind’s preemptive “With apologies for answering your question with AI” disclaimer + RichLogan’s catch + afrind’s “Wow, that is pretty embarrassing” apology establishes a norm-formation precedent: AI-generated spec quotes are not trusted without verification, and AI assistance disclosure is becoming socially required. Carry-forward: expect explicit AI disclaimers to become standard etiquette onmoq-wg/moq-transportissue threads, and “verify the citation” norms to harden. The substantive question (0-element namespace + empty name: allow or forbid) remains genuinely open and now needs manual editor review at London. Wider impact: this is the third event in a 4-day AI-skeptic-narrative cluster (Mike English/Giovanni Marzot resolution May 18 + Lorenzo Miniero May 19 + afrind May 22) — the MoQ community is collectively crystallizing AI-use norms in real time, with editor-level errors now publicly documented. - The 4-simultaneous-consensus-calls structure is the most parallel chair-coordinated decision pipeline in the wiki’s MoQ governance tracking: Joining FETCH Survey (afrind May 11) + Object Filters (Magnus May 12, May 26) + DTS/SWITCH (Martin May 21, June 4) + Filters (Martin May 22, June 5). The Magnus + Martin filter calls overlap in scope but produce a layered disposition matrix: Magnus’s call determines “are Object Filters in MOQT at all?”, Martin’s call determines “if yes, mandatory or extension?“. The cascade deadlines May 26 → June 4 → June 5 → June 11-12 means the London Day-1 0945-1045 filter slate opens with both consensus calls already concluded — radically different agenda dynamics than the May 11 interim where filters were still pre-disposition. Carry-forward: the chair-coordination intensity (Martin Duke 5 mailing-list messages in 26 hours May 21-22) is the structural inverse of his engineering bandwidth — google/quiche moqt has been quiet 60h+ as he handles WG governance. Expect this pattern to persist through London, with the post-London period being the structural moment to watch for resumed Google/quiche commits.
- The May 22 → May 23 +4 / −4 interop oscillation validates the matrix-against-
maindesign: May 21’s +8 pass jump → May 22’s −4 regression → May 23’s +4 recovery shows the matrix registers both regressions and recoveries within one daily cycle. The wire-level-refactor-sensitivity hypothesis is now confirmed: when moq-dev/moq’s PR cluster is media-pipeline + catalog + stats infrastructure (May 22 wave), the matrix re-stabilises within 24h. When it’s FFI + library refactors (May 21 wave), it briefly regresses. Carry-forward: the matrix is healthy enough to surface real signal, not just noise, but the target-draft-revision lag (PR #68 still OPEN, target still draft-16) means interop validation is happening on a 2-draft-revision-stale wire baseline while moq-dev/moq is shipping LOC + CMSF + MKV on draft-18. The structural gap widens daily until PR #68 merges; Mike English’s bandwidth recovery (#121 + #168 cloudflare/moq-rs May 20 merges) is the only positive signal there.
2026-05-22 — moq-dev Swift+Kotlin FFI ships; London final agenda; SWITCH/DTS consensus call
TL;DR:
- moq record-tying May 21 PR cluster (7 merges + 4 opens + 1 close + 1 self-close in 24h, ~+6000/−1100 net code): headline PR #1432 MERGED May 22 00:38:56 UTC — “Add Swift and Kotlin FFI wrappers” (+1997/−569 across 48 files), shipping first-party iOS/macOS/Android/JVM language bindings via UniFFI 24 hours after gazzy’s Moqintosh announcement on
#moq. Plus PR #1438 OPENED “Add Matroska/WebM import and export support” (+3092/−39, third container muxer/demuxer pipeline after CMAF and CMSF), PR #1439 “Add per-track timescale and frame timestamps to moq-lite” (+936/−546, per-track timescale negotiation via SUBSCRIBE_OK — moq-lite-leads-moq-transport-follows precedent), PR #1437 self-closed by kixelated 1h after open — “review feedback led us to the right architectural conclusion: the avc3/hev1 importers shouldn’t transcode their own output” (third “right architectural conclusion” self-redirect in 7 days after #1413, #1408, #1437). Plus 2 external-contributor merges (Qizot audio encoder reconfig open since Apr 29 = 23 days, YogiSotho buffering overlay). Chair-triplet on the mailing list within 49 minutes (May 21 17:19 → 18:08 UTC, Martin Duke) structurally locks the May 26 → June 4 → June 11-12 decision pipeline: (1) “26 May Agenda” — interim-2026-moq-16 re-purposed as a SWITCH/DTS show-of-hands meeting, “almost the entire balance of Tuesday’s meeting will be given to Gwendal and Will”; (2) “Consensus Call: DTS and SWITCH” — formal consensus call opened, deadline June 4 (1 week before London opens), 2 questions × 2 docs (PR #1378 + wilaw/dts4moq); (3) “London Interim Preliminary Agenda” — final agenda published, “did not have time to meet all the requests”, Day-2 “dependent on the outcome of the SWITCH consensus call”. Compression analysis: Mo Zanaty 135→50 min (−63%), Suhas 55→15 (−73%), Cullen 50→20 (−60%), Will Law 105→35 (−67%), afrind ~240→180 (−25% smallest cut), Tim Evens 15→0 (−100% DENIED). Issue #1633 got a substantive 4-comment make-before-break thread May 21 18:43-21:21 UTC (martinduke ↔ ianswett) where martinduke surfaces a new design alternative: instead of allowing 2 concurrent subscriptions, extend REQUEST_UPDATE with a “start at next group” parameter — “the group-as-join-point thinking in the design is still pretty muddled”. Plus NEW issue #1636 “Empty namespace clarification” by RichLogan (Cisco). moqxr 3 more commits May 21 shifting from docs/i18n (May 20) to feature-adds (“Add live object publish API”, “Add optional MSF media timeline track”) — 17-commit running total May 19-21, highest-cadence open-source MoQ C++ implementation for May. - Implementations: moq PR #1432 Swift+Kotlin FFI MERGED (+1997/−569, 48 files); PRs 1358 also merged; PRs 1439 OPEN. moqxr 3 commits May 21 (live publish API + MSF media timeline track + jemalloc merge). All other tracked repos quiet: imquic
mainquiet, moq-rs quiet again after May 20 burst, google/quiche moqt quiet, moqlivemock v0.9.0 holding, moq-js / moqtail / shaka-player / moqintosh / quiche_moq all longer-quiet. - Interop: 168 / 42 / 125 / 0 at 2026-05-22 00:43:51 UTC — −4 pass vs May 21 (46→42, pass rate 27.4% → 25.0%, first regression since cadence recovery May 19). 4 consecutive days of daily cadence holding. Skip count drops 1→0. Hypothesis: moq-dev/moq’s high-velocity May 21 PR cluster re-broke some moq-dev-rs/moq-dev-js test combinations stabilised May 19-20. Target still draft-16 while moq-dev/moq is shipping draft-18 + iOS/Android bindings.
Operation: Update Sources:
- Slack:
#moqquiet 36h beyond “Alina joined the channel” May 21 17:08 CEST.#moq-interop-runner,#moq-rs,#moq-js,#libquicrall quiet. - GitHub moq-wg repos:
- moq-transport — NEW Issue #1636 (RichLogan May 21 10:50 UTC, “Empty namespace clarification”); Issue #1633 4 substantive comments May 21 18:43-21:21 UTC (martinduke ×2 + ianswett ×2 make-before-break thread).
- moq-wg/msf, loc, secure-objects, cmsf, catalog-format, privacy-pass: All quiet.
- GitHub implementations:
- moq-dev/moq: 13 PR events May 21-22 (PRs #1432 MERGED Swift+Kotlin FFI; #1438 OPENED Matroska/WebM +3092/−39; #1439 OPENED per-track timescale; #1437 self-closed; #1410 / #1362 external-contributor merges; #1433 / #1435 / #1425 / #1431 / #1358 closes-and-merges).
- mondain/moqxr: 3 commits May 21 (
8255194Add live object publish API 15:49 UTC,8e90a0eAdd optional MSF media timeline track 17:12 UTC,5c3cf91Merge PR #13 jemalloc 17:17 UTC). - cloudflare/moq-rs, meetecho/imquic, moqtail/moqtail, video-dev/moq-js, google/quiche moqt, Eyevinn/moqlivemock, Eyevinn/warp-player, birneee/quiche_moq, Eyevinn/moqtransport, Quicr/cat-token, t-gazzy/Moqintosh, englishm/moq-interop-runner: All quiet.
- Mailing list: 8 messages May 21-22: 3 Martin Duke chair messages within 49 min May 21 17:19-18:08 UTC (26 May Agenda, Consensus Call: DTS and SWITCH, London Interim Preliminary Agenda) + Tim Evens 15min draft-evens-moq-bench (denied by agenda) + 3 Joining FETCH Survey responses (Mo Zanaty + Victor Vasiliev + Mo follow-up) + Alan Mallett May 22 03:57 UTC list spam “Google Transparency Report” (no chair follow-up yet).
- IETF Datatracker: No new revisions May 21 or 22. WG state: transport-18 (Day +10), msf-00, loc-02, secure-objects-00, privacy-pass-02, cmsf-00. Notable individual: lite-04, subscribe-rewind-02, qlog-moq-events-06, nmsf-01, gregoire-moq-msfts-00 (May 6, Day +16), englishm-cdn-provisioning-00, englishm-relay-dos-00, lcurley-compressed-mp4-00.
- Interop runner: New report 2026-05-22 00:43:51 UTC: 168 / 42 / 125 / 0 (−4 pass vs May 21, 25.0% pass rate). 4-consecutive-day cadence holding.
- MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30). Day +22 since #1.
- tobbee/moq-llm-wiki: No new open issues.
Pages updated: discussions-2026-05.md (new “May 21 06:00 UTC → May 22 06:00 UTC” section covering: Martin Duke chair-triplet (Final Agenda, Consensus Call, May 26 prep) + agenda compression analysis, #1633 make-before-break thread, #1636 empty-namespace clarification, moq-dev/moq 13-event PR cluster + Swift+Kotlin FFI ship, mondain/moqxr 3 feature-add commits, interop runner 168/42/125 regression, moq quiet 36h), interim-meetings.md (Upcoming meetings table updated with May 26 SWITCH/DTS show-of-hands + June 4 consensus call deadline + final London Day-1/Day-2 agenda tables + compression-analysis table), interop/interop-runner.md (May 22 168/42/125 regression callout + table row), implementations/moq-dev.md (May 22: PR #1432 Swift+Kotlin FFI + PR #1438 Matroska/WebM + PR #1439 per-track timescale + PR #1437 self-redirect pattern), implementations/openmoq.md (May 22: 3 May 21 feature-add commits + 17-commit running total), drafts/moq-transport.md (#1636 added + #1633 make-before-break thread documented + London Day-1 slot 1300-1310 referenced), index.md (last_updated bump), log.md (this entry).
Key findings:
- The Swift+Kotlin FFI wrapper merge is the structural moq-dev/moq response to gazzy’s Moqintosh announcement: PR #1432 was opened May 21 16:24 UTC — 25 hours after gazzy’s “Pure Swift Client Only draft-14 based”
#moqannouncement May 20 15:22 CEST. At +1997/−569 across 48 files with UniFFI-backed Swift+Kotlin async/await APIs, this is far beyond what a “competitive response” PR would be (it had been in progress for some time before May 20); but the merge-timing is the structural signal. moq-dev/moq now spans Rust + TypeScript + Python + Swift + Kotlin from a single tree, while Moqintosh is draft-14 client-only with no relay. Carry-forward: by London hackathon, expect kixelated to demo iOS+Android moq-dev/moq apps at Cloudflare’s office (Mike English flagged “Cloudflare is also looking into catering lunch one or both days; if this happens, we may have some lunch demos” in the May 21 agenda message). Whether gazzy continues Moqintosh independently or pivots to consuming the moq-dev/moq FFI wrappers is the open question — gazzy has been a long-tenured#moqparticipant since March (datagram-size questions, OS-level audio bug reports) and is unlikely to abandon his approach immediately, but the structural signal is moq-dev/moq has just made the “build your own iOS client” path significantly harder to justify. - The Martin Duke chair-triplet in 49 minutes is the most operationally-dense WG governance event tracked by the wiki for 2026: 3 mailing-list messages structurally locking 3 future decision points: (1) May 26 interim = SWITCH/DTS show-of-hands meeting; (2) June 4 = formal consensus call deadline (2 questions × 2 docs); (3) June 11-12 = London final agenda with Day-2 conditional on June 4 outcome. The compression-analysis table in the agenda shows the chairs prioritised core-MOQT (afrind −25%) and structurally compressed implementation/external-format requests (Mo / Suhas / Cullen / Will at −60% to −73%, Tim Evens at −100% DENIED). This is the inverse pattern from prior interims where editor agenda items took a small slot — for London, the chairs have committed to MOQT-issues-as-headline with the Day-2 SWITCH/DTS/Top-N/MSF/CMSF block as conditional and compressed. Carry-forward: the June 4 consensus call outcome determines London Day-2 viability — if both SWITCH and DTS go to
/dev/null, Day-2 collapses to ~3h of Top-N + MSF/CMSF + Privacy Pass + Secure Objects, and London becomes effectively a 1.5-day formal meeting. If both are integrated into MOQT, Day-2 is full and afrind’s Day-1 “Other MOQT Issues” 120-min slot has to absorb the post-integration consequences. - The Issue #1633 make-before-break thread is now the entry point to a much broader Group-As-Join-Point design conversation: Martin Duke’s May 21 18:57 UTC question — “the group-as-join-point thinking in the design is still pretty muddled. Why can’t a REQUEST_UPDATE be triggered to start on the next group?” — opens a new design alternative that is orthogonal to the original Editors’ 4-proposal slate. Ian Swett’s same-day pushback (“doing that for arbitrary parameters/filters might be quite complex”) marks the immediate design tension. The London 10-min Day-1 slot (1300-1310 June 11) for Concurrent Subscribe now needs to decide both proposal-1b-vs-1a AND whether REQUEST_UPDATE gets a next-group offset — likely dramatically under-budgeted. Carry-forward: expect a London afrind/ianswett/martinduke 3-way design debate that overflows the 10-min slot into afrind’s 120-min “Other MOQT Issues” block. The structural conclusion may be that filters + concurrent subscriptions + REQUEST_UPDATE next-group offset all collectively redefine what a Subscription’s lifecycle looks like in draft-19 — a much bigger spec change than the Filter PR #1518 by itself.
- The interop-runner regression is the first cost-signal of moq-dev/moq’s high-velocity main-branch development: May 22’s 46→42 pass-count drop (−4) cleanly inverts May 21’s +8 jump, putting the rolling 3-day average back to ~+2/day — a more sustainable rate. Hypothesis: moq-dev/moq’s May 21 PR cluster touched origin-consumer / Matroska / per-track-timescale / cargo / Swift+Kotlin FFI — high-surface-area infrastructure changes that broke previously-passing moq-dev-rs/moq-dev-js test combinations. This is the first concrete evidence that the matrix-against-
mainstrategy has a velocity-vs-stability trade-off. Carry-forward: by London hackathon, the matrix-side mitigation may need to be per-impl version pinning (run matrix againstmoq-dev/moq@v0.16.4instead ofmain) to decouple test-suite stability from upstream development velocity. Alternative: accept the noise as a “reality check” signal that catches regressions earlier than per-impl CI. - The cumulative London decision-pipeline structurally pre-determines MOQT v1: 3 sequential decision events in 21 days (May 26 show-of-hands → June 4 consensus call close → June 11-12 London formal): SWITCH/DTS integration outcome by June 4, Concurrent Subscribe (#1633) + Filters (PR #1518) + Request Blocking (#1519) by June 11 Day 1, MSF/CMSF + Top-N + Privacy Pass + Secure Objects by June 12 Day 2 (conditional). The afrind 180-min Day-1 block alone covers ~6 distinct MOQT-bedrock issues (Request Blocking, Concurrent Subscribe, Joining FETCH, Other MOQT issues including the 22+ post-draft-18 items). By the end of London, draft-19’s scope will be effectively committed — the wiki’s London hackathon forecast last week (5+ impls on draft-18 with 3 pairwise-tested combinations) is now matched on the spec side: 5+ disposition points across 21 days. Carry-forward: the next 21 days are the highest spec-decision-density 21-day window the MoQ WG has executed.
2026-05-21 — moq-net rename merged; AWS re-files CMSF as #1429; imquic draft-18 on main; new iOS Swift impl
TL;DR:
- 3 draft-18 codebases now on
mainafter imquic PR #25 MERGED May 20 09:25 UTC (+2184/−1693, Lorenzo Miniero) — joins moq-dev (PR #1418 May 18) and moqxr (mainvia 14 fix-up commits May 19-20). moqxr +6 more commits May 20 shifting from wire-protocol fixes to docs/i18n (Paul Gregoire considers wire gap closed). AWS files PR #1429 “Unified CMSF/Hang pipeline” May 20 08:37 UTC (+1969/−12, supersedes #1408, “CMSF is CMAF with a different catalog format”) — second AWS-vs-kixelated design-cycle resolution in 7 days, both ending with AWS re-architecting toward kixelated’s preferred shape (50.4% LOC reduction vs #1408). [PR #1428 (moq-lite → moq-net rename) MERGED May 20 14:07 UTC** (+1230/−939, kixelated)** —moq-net v0.1.0on crates.io/npm/PyPI. cloudflare/moq-rs BREAKS 38-day main-quiet streak May 20 16:34-16:45 UTC — mike-english merges PR #121 itzmanish remote-manager refactor (+762/−647, OPEN since Dec 18 = 155 days) + PR #168 release v0.7.18 with “subscribe cleaning on drop” bug fix. NEW IMPLEMENTATION: t-gazzy/Moqintosh — gazzy announces iOS Swift client on#moqMay 20 15:22 UTC, draft-14, client-only — 14th distinct open-source MoQ impl tracked, first iOS-targeted. Slack SVC TPL-vs-SGPL thread adds 2 more replies (afrind: “you cannot NGR a subgroup - only a group”; Ian Swett: “a number of cases you might want multiple at once, particularly in transitions”) — adds 4th technical diff (NGR scoping) to afrind’s “essentially isomorphic” framing. Mailing list London Agenda: Cullen re-files BOTH rejected requests compliantly (Secure Object 20min, NEW track filter DDOS 30min); Martin Duke implicitly declines Mo Zanaty’s May 26 deadline extension with “submit and cancel later” compromise; Mo Zanaty files 135 min filter-focused block May 21 (Object Range / Track Property / Top-N / Subscription Location / LOC). Updated agenda inbox: ~585 min ≈ 9h45m ≈ 22% oversubscribed vs ~8h capacity. Filter-design cluster now structurally top item by allocated time (~260 min Mo+Cullen+afrind+Suhas). NEW thread “User case or question to Joining Fetch” — Zafer Gurel describes moqtail relay cache collision with multi-publisher same-track-same-group scenarios (workaround: randomize base group IDs). google/quiche moqt 1 commit May 20 (martinduke083b83b3MoqtSessionTest cleanup — 3rd commit in publisher-refactor sequence). - Implementations: moq PR #1428 MERGED (+1230/−939) + AWS PR #1429 OPENED (+1969/−12) + PR #1358 Origin rewrite touched May 20. imquic PR #25 MERGED draft-18 to main. moqxr 6 more commits May 20 (14-commit running total). moq-rs PR #121 + PR #168 MERGED — 38-day main-quiet broken. google/quiche moqt 1 commit (
083b83b3). NEW: Moqintosh iOS Swift client announced. moqlivemock, moqtail, moq-js, shaka-player, other all quiet. - Interop: 168 / 46 / 121 / 1 at 2026-05-21 00:45:51 UTC — +8 pass vs May 20 (38→46, pass rate 22.6% → 27.4%, +4.8pp largest single-day jump). 3 consecutive days of daily cadence. Matrix at 13 implementations (added moqtail since prior wiki summary at 12). Target still draft-16 while 3 codebases now on draft-18.
Operation: Update Sources:
- Slack:
#moq— 3 substantive messages May 20 (afrind 14:56 + Ian Swett 15:53 SVC-thread replies, gazzy 15:22 Moqintosh announce + Paul Gregoire 15:31 moqntosh-coincidence reply).#moq-interop-runner/#moq-rs/#moq-js/#libquicrall quiet. - GitHub moq-wg repos: All quiet. No new issues / PRs / comments on moq-transport since the May 19 afrind tranche (#1633/#1634/#1635). moq-wg/msf PR #157 untouched Day +4.
- GitHub implementations:
- moq-dev/moq: PR #1428 MERGED May 20 14:07:45 UTC. PR #1429 OPENED May 20 08:37:20 UTC. PR #1408 CLOSED May 20 08:37:27 UTC (by AWS). PR #1358 touched May 20 16:40 UTC. PR #1425 release-plz auto touched May 20 16:09 UTC.
- google/quiche (
quiche/quic/moqt): 1 commit May 20 22:36 UTC by martinduke (083b83b3MoqtSessionTest cleanup). - meetecho/imquic: PR #25 MERGED May 20 09:25:23 UTC (draft-18). PR #26 MERGED May 20 14:06:55 UTC (RoQ refactor, not MoQ-relevant).
- mondain/moqxr: 6 commits May 20 (
617a582→95b912d). - cloudflare/moq-rs: PR #121 MERGED May 20 16:34:59 UTC. PR #168 MERGED May 20 16:45:39 UTC.
- t-gazzy/Moqintosh: Repo metadata — created Apr 10 2026, last push May 20 15:27 UTC, primary language Swift, 3 stars at announcement.
- Eyevinn/moqlivemock: Quiet (v0.9.0 holding).
- Eyevinn/warp-player: 3 dependabot PRs (#130/#131/#132) still OPEN Day +2.
- moqtail/moqtail: Day +8 quiet since
dbd7085May 13 08:44 UTC. - video-dev/moq-js, birneee/quiche_moq, Eyevinn/moqtransport, Quicr/cat-token: All longer-quiet.
- englishm/moq-interop-runner: PR #68 still OPEN; no further commits since May 19 PR #69 merge.
- Mailing list: 9 messages May 20-21 (4 May 20 + 4 May 21 + … ): London Agenda thread (5 messages — Cullen ×2 re-files [track filter DDOS + Secure Object], Ali C. Begen, Martin Duke implicit-deadline-decline reply to Mo, Mo Zanaty May 21 135-min filter block) + Joining FETCH Survey (4 messages — Ali, Zafer, Victor, Mo) + “User case or question to Joining Fetch” new thread (Zafer Gurel).
- IETF Datatracker: No new revisions May 20 or 21. WG state: transport-18 (Day +9), msf-00, loc-02, secure-objects-00, privacy-pass-02, cmsf-00. Notable individual: lite-04, subscribe-rewind-02, qlog-moq-events-06, nmsf-01, gregoire-moq-msfts-00 (May 6, Day +15), englishm-cdn-provisioning-00, englishm-relay-dos-00, lcurley-compressed-mp4-00.
- Interop runner: New report 2026-05-21 00:45:51 UTC: 168 / 46 / 121 / 1 (+8 pass vs May 20, 27.4% pass rate). 3-consecutive-day cadence. Matrix at 13 implementations.
- MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30). Day +21 since #1.
- tobbee/moq-llm-wiki: No new open issues.
Pages updated: discussions-2026-05.md (new “May 20 06:00 UTC → May 21 06:00 UTC” section covering: SVC thread continuation with NGR-scoping 4th diff, Moqintosh announcement + Paul Gregoire moqntosh-coincidence, PR #1428 merged + PR #1429 OPENED CMSF-rewrite, imquic PR #25 draft-18 to main, moqxr 6 more commits, cloudflare/moq-rs Day +37 quiet broken, London Agenda 9h45m oversubscription with Cullen re-files + Mo Zanaty 135min + Martin Duke deadline-extension implicit-decline, Joining FETCH Survey 4 responses, NEW User case to Joining Fetch thread (MOQtail cache collision), interop runner 168/46/121 + 3-day cadence), interim-meetings.md (London Agenda table updated with 9h45m oversubscription + Cullen re-files + Mo Zanaty 135min row + Martin Duke implicit-decline row), interop/interop-runner.md (May 21 168/46/121 report row + 13-impl matrix + 3-day cadence callout + structural gap widens narrative), implementations/imquic.md (May 21: draft-18 on main via PR #25), implementations/moq-dev.md (May 21: PR #1428 merged + PR #1429 opened + second AWS design-cycle resolution comparison table), implementations/openmoq.md (May 21: 6 more moqxr commits, docs/i18n shift, Paul moqntosh-coincidence note), implementations/moq-rs.md (NEW May 21 callout: 38-day quiet broken + PR #121 + PR #168 + draft-18 still not staged), implementations/moqintosh.md (NEW PAGE: iOS Swift impl), index.md (last_updated bump + Moqintosh row + new bullet), log.md (this entry).
Key findings:
- The “AWS re-architects toward kixelated’s preferred shape in 6 days” pattern is now a stable corporate-contributor signal: PR #1408 → #1429 is the second time in a week (after PR #1413 → close + AWS-AVC-fix-as-separate-PR) that AWS engineering took kixelated’s design feedback, rewrote a large PR end-to-end, and re-filed compliantly. The cycle time is 6 days for a structural rewrite of the largest external PR ever filed against moq-dev/moq (3906 LOC → 1969 LOC, 50.4% reduction). This pattern reads as AWS committing to live design dialogue rather than parallel-fork — significant given moq-lite/moq-net is single-maintainer-controlled at the API level. Carry-forward: by London, expect AWS to file ≥1 more material PR addressing kixelated’s MSF/CMSF reservations (probably the encoder-failover-via-separate-broadcasts shape from PR #1413’s resolution); the AWS-as-second-corporate-contributor footprint may stabilize moq-dev/moq’s external-contributor pipeline around the “3-day review, 5-day rewrite” cadence.
- The “3 codebases on draft-18 main” milestone is the structural fulcrum for London: moq-dev May 18 (PR #1418), imquic May 20 (PR #25), and moqxr May 19-20 (14 commits via main) now all carry draft-18 on
main8 days post-publication. This is the fastest 3-impl spec-to-main cycle the wiki has tracked, and means the London hackathon (June 9-10) has ≥3 distinct draft-18 endpoints before the interop-runner matrix has even bumped to draft-18 target (PR #68 still OPEN). Bilateral testing will outpace matrix testing for at least another week. Carry-forward: the next structural watermark is PR #68 merging + first matrix run on draft-18 target; until then, the 3 implementations’ draft-18 paths exist outside Mike English’s automated regression surface. Lorenzo Miniero’s May 19 09:12-09:55 UTC bidi-vs-uni interop discovery (8 moqxr commits in 10 hours) is precisely the kind of finding that the matrix would not surface; bilateral testing’s signal-to-noise ratio is higher right now. - The London Agenda 9h45m oversubscription crystallizes the filter-design cluster as the dominant London topic: Mo Zanaty’s May 21 135-min block — Object Range Filters (30) + Track Property Filters (15) + Top-N Filters (45) + Subscription Location Filters re-proposal (30) + LOC (15) — overlaps with all three of (a) afrind’s “#1633 concurrent subscriptions per Track 30min”, (b) Cullen’s NEW “track filter DDOS 30min”, and (c) Suhas’s “Top-N Track Filter Impl Experiences 35min”. Net ~260 min of London time is reserved for PR #1518 / PR #1401 / #1633 consensus. This dwarfs the Joining FETCH Dissent block (~60 min) as the WG’s biggest design battle. The Cullen “happy to consolidate everyone’s concerns into one deck” offer is a chair-friendly compression vehicle — likely to be accepted to fit the 22% oversubscription into the 8h capacity. Martin Duke’s “submit and cancel later” compromise (declining Mo’s May 26 extension) keeps the deadline-as-policy intact while allowing programmatic compression as the agenda crystalises pre-meeting. The pattern: strict on format, lenient on cancel, compressing-via-consolidation.
- The cloudflare/moq-rs Day +37 silence-break is a non-draft-18 signal: Mike English’s May 20 16:34-16:45 UTC merges (PR #121 + PR #168) cleared a 155-day-stale community refactor and shipped an actual “subscribe cleaning on drop” bug fix. But the cloudflare/moq-rs draft-18 bump is still not staged — no PR exists to update beyond the draft-14
main/ draft-16 PR #131 split. The drift between cloudflare/moq-rs and moq-dev/moq is now 2 full draft revisions with no announced bridge. Carry-forward: by London hackathon, cloudflare/moq-rs as a draft-14 reference and Manish’s PR #131 as a draft-16 branch means the IETF-aligned-fork is structurally falling behind the moq-dev twin. The matrix-side mitigation (themoq-rs/moq-rs-draft-16split labeled as separate impls) keeps cloudflare/moq-rs in the matrix but doesn’t close the gap with draft-18 codebases. Mike English’s bandwidth is the bottleneck; the May 21 merge cluster is good news as a sign of bandwidth recovery but the draft-18 register-bump remains unfunded engineering work. - Moqintosh’s announcement is a structurally exploratory event but signals platform-expansion: gazzy’s iOS Swift client (
t-gazzy/Moqintosh) is the first Apple-platform-native MoQ implementation tracked by the wiki — prior Apple-platform MoQ work was via cloudflare/moq-rs (C FFI through Objective-C) or shaka-player (web). The draft-14 baseline + client-only scope make it not-yet-interop-eligible (no PR against englishm/moq-interop-runner), but the pure-Swift framework opens a new platform-native deployment path. Carry-forward: Moqintosh’s actual signal will depend on whether gazzy targets draft-18 + relay/publisher functionality before London. If draft-14-client-only persists, Moqintosh is a learning-exercise; if it adds relay or moves to draft-16/18, it becomes a serious matrix candidate. The Paul Gregoire “I named mine nearly the same ‘moqntosh’” coincidence note suggests MoQ-on-Apple is a topic with latent demand — multiple implementers independently arriving at the same name in the same week is a market-validation signal.
2026-05-20 — first cross-impl draft-18 interop attempt; afrind files 3 draft-18 issues; London Agenda inbox fills
TL;DR:
- First cross-implementation hands-on draft-18 interop attempt the wiki has tracked: Lorenzo Miniero vs moqxr (Paul Gregoire) — Lorenzo’s May 19 09:12–09:55 UTC diagnostic sequence on the
#moqthread found a bidi-vs-uni SETUP-stream divergence in moqxr’s draft-18 path (defaulted to draft-14 unless--draft 18set; used bidi stream for SETUP when draft-18 requires two unidirectional streams). Paul Gregoire’s response: 8 commits to mondain/moqxr in 10 hours (May 19 14:17 → May 20 00:11 UTC) — “Align draft-18 WebTransport stream handling” / “Fix MoQT control compliance gaps” / “Fix MoQT publish framing” / “Fix draft 17 and 18 MoQT wire semantics” / “Fix MoQT pass 3 compliance gaps” / “Fix WebTransport protocol offers” / “Fix draft-18 setup option delta encoding” / “Fix draft 18 request stream polling”. The fastest implementation-level draft-18 fix-up turnaround tracked. afrind filed 3 formal draft-18 issues May 19 16:33–18:37 UTC operationalising the May 18 SVC-thread procedural gap: #1633 “Should we allow more than one concurrent subscription per Track” (4-proposal slate with Editors’ rec 1a = unique Track Aliases per sub, no dedup; Ian Swett + Martin Duke prefer 1b = same alias publisher-coalesces; same-day afrind/Swett debate on 1b conflict-handling), #1634 “[draft-18] What semantics do FIN or RST on a request stream carry?” (with afrind self-comment defining the rule: “FIN almost always isn’t a cancellation… For TRACK_STATUS an early FIN is perfectly normal”), #1635 “[draft-18] Should a subscriber treat FIN/RST on a bidi stream as equivalent to PUBLISH_DONE?” (sibling-to-#1634 from subscriber side). London Agenda inbox fills 0 → 6 requests in 24h validating Martin Duke’s May 18 chair-prod: Suhas (Top-N + Privacy Pass, 55min compliant), afrind (37 non-editorial MOQT issues, ~4+ hours single largest ask), Will Law revised (MSF/CMSF + DTS, 105min compliant), Cullen (Secure Object 20min — REJECTED format), Will Law initial (REJECTED format), Mo Zanaty deadline-extension ask May 20→May 26. Net ~6+ hours requested against ~8 hours of formal-session capacity. Mike English ↔ Giovanni Marzot formally resolved the Apr 25 “suspicious AI-PR” incident on#moq-interop-runnerMay 18 23:17 UTC: “It turns out it really was just Claude being overzealous about tackling a slightly under-specified prompt where the intent was just to fix some artifact links.” Lorenzo Miniero May 19 07:52 UTC: “One more reason for me to stay away from AI as long as I can 😂“. - Implementations: mondain/moqxr — 8 fix-up commits in 10h (May 19 14:17 → May 20 00:11 UTC) by Paul Gregoire after Lorenzo’s interop testing. google/quiche moqt — 1 new commit
a3f18c9May 19 17:41 UTC by martinduke (“Fix asan error in moqt_session_test”) — follow-up to May 186460010ePublishedSubscription refactor. moq-dev/moq quiet day — only PR #1428 (moq-lite → moq-net rename) still OPEN Day +2; no new merges in window. meetecho/imquic —moq-18branch ready, merge gated on PR #68 (Lorenzo May 19 15:40 UTC: “finished the bulk of the work and the rest can wait”). Eyevinn/warp-player 3 dependabot PRs still OPEN; Eyevinn/moqlivemock quiet (v0.9.0 holding); moqtail Day +7 quiet; cloudflare/moq-rs Day +37 main-quiet. - Interop: 168 / 38 / 129 / 1 at 2026-05-20 00:46:03 UTC — +3 pass vs May 19 (35→38, pass rate 20.8% → 22.6%). 2 consecutive days of daily cadence post-PR #69 timeout fix. Matrix unchanged at 12 implementations; target still draft-16 — PR #68 still OPEN, Mike English working through CI issues.
Operation: Update Sources:
- Slack:
#moq— quiet day after May 18 burst, only the moqxr thread continued (Lorenzo 5 diagnostic msgs May 19 09:12–09:55 UTC + Paul Gregoire 13:21 UTC reply confirming the bug).#moq-interop-runner— Mike English May 18 23:17 UTC apology+resolution thread (Giovanni Marzot incident) + Lorenzo May 19 07:52 UTC reaction.#moq-rs,#moq-js,#libquicrall quiet. - GitHub moq-wg repos:
- moq-transport — 3 NEW issues May 19 16:33–18:37 UTC by afrind: #1633 (concurrent subscriptions per Track, with afrind/Swett same-day comment-debate), #1634 (FIN/RST semantics on request stream), #1635 (FIN/RST as PUBLISH_DONE). PR #1378 SWITCH still updated_at May 15.
- moq-wg/msf, moq-wg/loc, secure-objects, cmsf, catalog-format, privacy-pass: All quiet.
- GitHub implementations:
- moq-dev/moq: Quiet window. PR #1428 (moq-net rename) still OPEN Day +2 (last touch May 18 22:04 UTC).
- google/quiche (
quiche/quic/moqt): 1 new commita3f18c9May 19 17:41 UTC by martinduke (asan fix in moqt_session_test). - mondain/moqxr: 8 fix-up commits May 19 14:17 → May 20 00:11 UTC (see TL;DR).
- meetecho/imquic:
moq-18branch ready, not merged to main.mainlast touch Apr 16. - Eyevinn/moqlivemock: No new commits since May 17 v0.9.0 release.
- Eyevinn/warp-player: 3 dependabot PRs (#130/#131/#132) still OPEN since May 19 01:27 UTC.
- moqtail/moqtail: Day +7 quiet.
- cloudflare/moq-rs: Day +37 main-quiet.
- video-dev/moq-js, birneee/quiche_moq, Eyevinn/moqtransport, Quicr/cat-token: All longer-quiet.
- englishm/moq-interop-runner: PR #68 (draft-18 target) still OPEN; no further commits since May 19 PR #69 merge.
- Mailing list: 10 new messages May 19 (vs 2 May 18, 0 May 17): London Agenda thread (6 messages — Cullen, Will Law initial+revised, Suhas, afrind, Mo Zanaty, plus 2 Martin Duke procedural rejections) + Joining FETCH Survey thread (4 messages — Cullen, Suhas, 2 afrind clarification replies).
- IETF Datatracker: No new revisions May 19 or 20. WG state: transport-18 (Day +8), msf-00, loc-02, secure-objects-00, privacy-pass-02, cmsf-00. Notable individual: lite-04, subscribe-rewind-02, qlog-moq-events-06, nmsf-01, gregoire-moq-msfts-00 (May 6, Day +14), englishm-cdn-provisioning-00, englishm-relay-dos-00, lcurley-compressed-mp4-00.
- Interop runner: New report 2026-05-20 00:46:03 UTC: 168 / 38 / 129 / 1 (+3 pass vs May 19). 2-consecutive-day cadence.
- MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30). Day +20 since #1.
- tobbee/moq-llm-wiki: No new open issues.
Pages updated: discussions-2026-05.md (new “May 19 06:00 UTC → May 20 06:00 UTC” section covering: moqxr ↔ imquic first cross-impl draft-18 interop attempt with Lorenzo 5-message diagnostic + Paul 8-commit response, Mike English Giovanni Marzot apology thread, LOCMAF carry-forward with Will Law STS-Sweden talk offer, moq-transport issues 1635, London Agenda 6-request inbox, Joining FETCH Survey 2nd-round responses, interop runner May 20 report), interop/interop-runner.md (May 20 168/38/129 row + 2-consecutive-day cadence callout), drafts/moq-transport.md (3 new Design Issues + Draft-18 Impl Status table refresh), implementations/openmoq.md (moqxr 8-commit fix-up sprint), implementations/imquic.md (moq-18 branch unmerged), discussions/interim-meetings.md (London Agenda 6-request table + format-strict precedent + Mo Zanaty deadline-extension ask), index.md (last_updated bump), log.md (this entry).
Key findings:
- The 10-hour-8-commit moqxr fix-up sprint is the new structural floor for cross-impl draft-18 turnaround: the May 19 09:12 → May 20 00:11 UTC window — Lorenzo’s first interop attempt → Paul Gregoire’s 8 compliance-fix commits — is the first hands-on cross-impl draft-18 testing cycle the wiki has tracked. The combinatorial-explosion fear flagged by Mike English on May 18 (matrix scaling + per-impl-runtime cost) is partially mitigated by this kind of out-of-matrix-bilateral testing: two implementers can run a full-fidelity exchange and resolve a wire bug in 10 hours, while the matrix takes 6+ hours per run to surface the same finding. The trade-off is that bilateral findings stay out-of-matrix until both sides publish stable, so the matrix lags. Carry-forward: by London hackathon, expect 5+ implementations on draft-18 with at least 3 pairwise-tested combinations (moqxr ↔ imquic, moqxr ↔ moq-dev, imquic ↔ moq-dev), all from out-of-matrix bilaterals.
- The afrind 3-issue tranche operationalises a 6-week-old WG procedural gap: Issue #1633 (concurrent subscriptions per Track) explicitly cites PR #1451 which has been open since April 13 — six weeks of slow-burn that finally got tracked-formally because Luke Curley surfaced the SVC-thread procedural-gap version on May 18 (“isn’t it illegal to SUBSCRIBE to the same track twice?”). The 4-proposal Editors’ slate format is unusually decision-shaped — afrind is scripting a London consensus call with explicit Editors’ Recommendation (1a). Ian Swett’s same-day comment (“I was about to file this. @martinduke prefers 1b”) shows the chairs are now aligned on forcing the issue at London. The sibling issues 1635 are tactical follow-ons — semantic-gap-fixes for draft-18 control-stream lifecycle, easier to consensus-call as PROTOCOL_VIOLATION clarifications. The pattern: afrind is now structuring the London agenda from the issue tracker — every issue with a
[draft-18]prefix + concrete proposal slate is a London-blocking decision item. - The London Agenda inbox is 75% afrind-shaped at submission deadline: of ~6 hours of formal-time requested, afrind’s MOQT-issues block alone is ~4 hours (Joining FETCH Dissent 60min + Filter consensus + ABR/SWITCH 60min + #1519 60min + #1633 30min + 22 remaining issues 1-2h). This is the inverse pattern from prior interims where editor agenda items took a small slot and the rest was implementation/use-case talks. The chairs (Martin Duke + Mike English) will need to either compress the issue-discussion budget or defer issues to follow-up virtual interims (interim-2026-moq-16 on May 26 is the obvious candidate, particularly if Mo Zanaty’s deadline-extension-to-May-26 ask is granted). The format-strict rejection of Cullen + Will Law’s initial requests is separately a precedent for procedural rigor at the May 26 IETF 126 submission window.
- The Mike English ↔ Giovanni Marzot social resolution is structurally important post-incident: Mike’s May 18 23:17 UTC framing — “my overreaction to the suspicious-looking PR… it really was just Claude being overzealous” — establishes an on-record community norm that LLM-shaped PRs need careful but not paranoid review. Lorenzo’s “one more reason to stay away from AI” reaction is the first explicit on-record skeptic position in the MoQ community, while Mike’s “working together more on improving the interop runner” signals the contributor base remains intact. The carry-forward: by London, the MoQ community will need to surface this as a meta-topic — the
Co-authored-by: ClaudePR pattern (now visible on moq-dev/moq, moq-interop-runner, and via Tobbe’s wiki update workflow) needs a community-level position on review standards, attribution norms, and trust boundaries. afrind’s verbal sketches at IETF 125 (“claude is also writing a reference py impl and validating”) suggest the chairs view LLM-assisted contributions as legitimate and reviewable; Lorenzo’s reaction may be a minority position but is non-zero. - The interop runner’s recovery is fragile but holding: 2 consecutive days of daily cadence (May 19 + May 20) after the May 14-18 5-day silence is necessary but not sufficient evidence that the per-test-timeout fix (PR #69) closed the structural bug. The 168-test matrix still runs at ~6h wall-clock, and PR #68 (draft-18 bump) staging is CI-stability-gated — Mike English flagged this on May 18 23:20 UTC as “working through some CI issues” and the May 19/20 report timing (01:36 UTC → 00:46 UTC, 23-hour apart) shows the cron schedule is back. But the matrix is still draft-16 against 3 shipped draft-18 codebases + moqxr’s 8 fix-up commits — the structural gap widened in the window because moqxr improved its draft-18 path without the matrix exercising it. By London hackathon (June 9), the matrix needs to be on draft-18 with at least moqxr + imquic + moq-dev registered as draft-18 endpoints — otherwise the matrix becomes a record of yesterday’s wire format, not today’s interop frontier.
2026-05-19 — interop runner returns; draft-18 reaches 3 impls; moq-lite library renamed moq-net
TL;DR:
- interop-runner cadence resumed after 5-day silence: new May 19 01:36:37 UTC report publishes 168 / 35 / 132 (total / pass / fail) — matrix grew 105 → 168 tests (+60%) following the May 13 4-PR registry-expansion finally getting end-to-end CI exposure. Root cause of the May 14–18 silence diagnosed by mike-english (
#moq-interop-runnerMay 18 21:19 UTC) as a CI-timeout from combinatorial explosion (test suite hung 6+ hours); PR #69 MERGED May 19 01:35 UTC adds per-test timeouts. Status restored to current. Pass rate 20.8% vs 18.1% on May 13 — “a lot of low hanging fruit to get some of these to green” (Mike English May 19 02:21 UTC). PR #68 (Update target to draft-18) OPENED May 18 21:01 UTC but NOT merged at report time — matrix is still targeting draft-16. Plus: 3 additional draft-18 implementations announce in 6 hours on#moq(May 18 17:53 → 22:21 UTC): imquic (Lorenzo Miniero, partial — missing REQUEST_UPDATE on SUBSCRIBE_NAMESPACE/TRACKS, POC relay at lminiero.it:9000), mondain/moqxr (Paul Gregoire, openmoq member, C++, 10 commits May 16–18), andcdn.moq.dev/anon(Luke Curley deployed 14-edge-node hop-based routing on the anonymous CDN, claims draft-18 wire support — untested). Plus: moq renamesmoq-litelibrary tomoq-net(PR #1428 OPEN, kixelated, +1230/−939) across Rust / JS / Python — the first structural admission the library is dual-protocol (negotiates either moq-lite or moq-transport wire protocol at session setup). Shims kept for backward compat with explicit deprecation warnings. Plus: AWS PR #1413 CLOSED unmerged May 18 23:43 UTC after kixelated rejects transport-layer encoder-failover stitching: “It’s a lot less gross to stitch at the application level than stitching at the transport level.” — recommends primary/backup as separate broadcasts viaSUBSCRIBE_NAMESPACE/announced. Plus: London Agenda mailing list activity: chair martin-duke May 18 prods on “zero requests for agenda time” at T-2 days; will-law files first concrete request — MSF/CMSF tech-decisions (60 min) + DTS (30 min, “unless it gets resolved May 26th”). Plus: Torbjörn Einarsson formally announces LOCMAF on#moqMay 18 06:19 UTC with locmaf.dev domain + first mention of “may want to make an Internet-Draft”; Gwendal Simon (Akamai) responds suggesting expansion into CMSF. - Implementations: moq-dev/moq 7-PR cluster post-#1418 (#1420–#1427) plus #1428 OPEN: cluster loop detection (#1420), web-transport-iroh 0.4 (#1421), 2 release-plz autos (#1422 / #1425), Ended-tolerance (#1423), moq-boy CI cache (#1424), probe stream error scoping #1426 (Generated with Claude Code, +73/−53), AnnounceInterest.exclude_hop u53 overflow fix #1427. google/quiche moqt 1 commit May 18 22:45 UTC: martinduke
Factor PublishedSubscription out of MoqtSession, into SubscriptionPublisher(6460010e) — re-architecting publisher path. meetecho/imquic + mondain/moqxr both shipped draft-18 (see TL;DR). Eyevinn/warp-player 3 new dependabot PRs (#130/#131/#132) re-rebasing post-#127 closure. Eyevinn/moqlivemock quiet post-v0.9.0 release. cloudflare/moq-rs Day +36 main-quiet; moqtail/moqtail Day +6 quiet; video-dev/moq-js, birneee/quiche_moq, Eyevinn/moqtransport all longer-quiet. - Interop: 168 / 35 / 132 at 2026-05-19 01:36:37 UTC — first new report in 5 days, +60% test volume vs May 13 (105 → 168, +63 tests). Pass count up 19 → 35 (+16). Matrix now has 12 distinct implementation identifiers (added moq-rs / moq-rs-draft-16 split for cloudflare/moq-rs). interop-runner status restored to current after May 17 “unreliable” downgrade. Still draft-16 target vs moq-dev/moq + imquic + moqxr all shipped draft-18.
Operation: Update Sources:
- Slack:
#moq— 8 substantive messages in the May 18 06:00 UTC → May 19 06:00 UTC window (highest single-day count since May 15): Torbjörn Einarsson 06:19 UTC (LOCMAF formal announcement + locmaf.dev + I-D possibility); Suhas 04:56 UTC May 17 already in prior entry; Gwendal Simon 13:29 UTC (response to Tobbe — CMSF integration suggestion); Lorenzo Miniero 17:53 UTC (imquic draft-18 + lminiero.it:9000 POC relay); Suhas 18:38 UTC (offering to test against Lorenzo); Paul Gregoire 18:44 UTC (moqxr draft-18 announce); Luke Curley 20:21 UTC (cdn.moq.dev/anon draft-18 claim); Luke Curley 20:24 UTC (14-edge-node hop-based routing deployed); Mike English 23:20 UTC (interop runner draft-18 bump + CI work).#moq-interop-runner— Mike English 21:19 UTC (combinatorial explosion diagnosis), 02:21 UTC May 19 (new report).#moq-rs,#moq-js,#libquicrall quiet. - GitHub moq-wg repos:
- moq-transport — no new issues or merged PRs in the window. PR #1378 SWITCH still updated_at May 15 (no new substantive activity).
- moq-wg/msf — no new activity since PR #157 kixelated comment May 16 19:08 UTC. Issue #163 (will-law catalog draft-version field) untouched Day +4.
- moq-wg/loc, secure-objects, cmsf, catalog-format, privacy-pass: All quiet.
- GitHub implementations:
- moq-dev/moq: 7 PRs MERGED + 2 PRs OPEN May 18 06:19 → May 19 01:11 UTC. MERGED: #1420 cluster loop detection (06:19), #1421 web-transport-iroh 0.4 (06:19), #1422 release v0.16.3 (08:08), #1423 Ended-tolerance (07:46), #1424 moq-boy CI cache (08:07), #1427 AnnounceInterest u53 fix (10:58), #1426 probe stream error scoping (19:50, Generated with Claude Code). OPEN: #1425 release v0.16.4 (release-plz auto), #1428 rename moq-lite → moq-net (21:31, +1230/−939, major rename). CLOSED unmerged: PR #1413 AWS non-sequential groups + AVC fallback (23:43 UTC) — extensive May 16–18 design dialogue between kixelated and ksletmoe-aws on cross-region encoder-failover semantics; kixelated rejects transport-layer stitching; AWS to re-file AVC fix as separate PR. Issue #1403 (YogiSotho draft-18 audit tracking) CLOSED 19:49 UTC by PR #1418 merge.
- google/quiche (
quiche/quic/moqt): 1 new commit —6460010eMay 18 22:45 UTC by martinduke (Factor PublishedSubscription out of MoqtSession, into SubscriptionPublisher) — breaks 3-day quiet on the moqt path. Structural refactor of the publisher class hierarchy, not a draft-18 wire-update. - meetecho/imquic (imquic): Last push May 18 15:51 UTC — draft-18 support shipped (Lorenzo Slack 17:53 UTC), partial (missing REQUEST_UPDATE on SUBSCRIBE_NAMESPACE/TRACKS).
- mondain/moqxr (openmoq): 10 commits May 16 13:16 UTC → May 18 19:07 UTC by Paul Gregoire — “Implement draft-18 subscribe tracks”, “fix draft 18 subgroup header encoding”, “Add cross-draft MoQ message serde tests”, “Update MoQ draft WebTransport docs”, “Refresh roadmap”, “Poll live publisher stats”, “Record published-object stats for non-live publish modes”, “Fix missing functional include”. C++ Origin Publisher for OpenMOQ. Slack
#moqannouncement May 18 18:44 UTC. - Eyevinn/moqlivemock: No new commits in window (v0.9.0 release tag remains the latest, May 17 09:36 UTC).
- Eyevinn/warp-player: 3 new dependabot PRs OPENED May 19 01:27 UTC (#130 @types/node dev-deps, #131 production-deps group 3 updates, #132 eslint 9.39.4→10.4.0) — re-rebases triggered by recent merges. PR #127 (the prior eslint upgrade) CLOSED 01:27 UTC, superseded by #132. No moq-relevant activity.
- moqtail/moqtail: Day +6 quiet since
dbd7085May 13 08:44 UTC. - cloudflare/moq-rs: Day +36 main-quiet. PR #167 (Suhas filter-framework) Day +9 untouched.
- video-dev/moq-js: No new commits since Feb 17.
- birneee/quiche_moq: No new commits since Mar 13.
- Eyevinn/moqtransport: No new commits since Apr 17.
- Quicr/cat-token: No new commits since May 10 22:30 UTC rename.
- englishm/moq-interop-runner: PR #68 OPENED May 18 21:01 UTC by englishm-cloudflare (“Update interop target to draft-18”, +1/−1). PR #69 MERGED May 19 01:35 UTC (“Add per-test timeout to prevent hanging tests from blocking CI”). New report published 01:36:37 UTC.
- Mailing list: 2 new messages May 18 (3-day silence May 15-17 broken): Martin Duke (chair) on London Agenda — “We’re two days out and have received zero requests for agenda time” (May 20 deadline reminder); Will Law (Akamai) on London Agenda — first concrete request: MSF/CMSF tech-decisions 60min + DTS 30min (“unless it gets resolved May 26th”).
- IETF Datatracker: No new revisions May 18 or 19. WG state: transport-18 (Day +7), msf-00, loc-02, secure-objects-00, privacy-pass-02, cmsf-00. Notable individual: lite-04, subscribe-rewind-02, qlog-moq-events-06, nmsf-01, gregoire-moq-msfts-00 (May 6, Day +13, still no on-list announcement), englishm-cdn-provisioning-00, englishm-relay-dos-00, lcurley-compressed-mp4-00.
- Interop runner: New report 2026-05-19 01:36:37 UTC: 168 / 35 / 132 (total / pass / fail) — first new run in 5 days. Status restored to current. Matrix at 12 implementation identifiers (added moq-rs / moq-rs-draft-16 split). Target draft-16 (PR #68 to bump to draft-18 staged, not merged).
- MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30). Day +19 since #1.
- tobbee/moq-llm-wiki: No new open issues.
Pages updated: discussions-2026-05.md (new “May 18 06:00 UTC → May 19 06:00 UTC” section covering: interop runner cadence resume + 168-test matrix, moq-lite library → moq-net rename PR #1428, moq-dev/moq 8-PR cluster post-#1418, AWS PR #1413 design rejection + closure, 3 additional draft-18 implementations (imquic / moqxr / cdn.moq.dev anon), London Agenda chair prod + Will Law first request, Tobbe LOCMAF Slack announcement + Gwendal Simon response, google/quiche moqt structural refactor, Eyevinn/warp-player dependabot re-rebase), implementations/moq-dev.md (May 19 status: moq-lite → moq-net rename + 7-PR cluster + AWS PR #1413 closure + 14-edge hop-routing deployment), implementations/imquic.md (May 19 status: draft-18 shipped + lminiero.it:9000 POC relay + REQUEST_UPDATE gap), implementations/openmoq.md (May 19 status: mondain/moqxr draft-18 shipped), drafts/moq-transport.md (Draft-18 Implementation Status table with 3 codebases + 1 deployment + interop-runner row), interop/interop-runner.md (May 19 status restored to current + 168 / 35 / 132 row + PR 69 callout), index.md (last_updated bump), log.md (this entry).
Key findings:
- The 6-day spec-to-3-impl turnaround is now the structural new normal: draft-18 (published May 12) has 3 distinct codebases shipped (moq-dev/moq via PR #1418 May 18 05:08 UTC; meetecho/imquic May 18 17:53 UTC; mondain/moqxr commits May 16-18, announced May 18 18:44 UTC) plus 1 production deployment (cdn.moq.dev/anon). This is faster than draft-17 cleared its first implementation (~3 weeks). Two accelerants: (1) the Claude-co-authored PR pattern on moq-dev/moq is visible on both feature PRs (#1418) and resilience PRs (#1426 probe stream error scoping) — the LLM workflow is no longer experimental, it’s the default; (2) draft-18 has small-delta scope (7-byte varint, FIRST_OBJECT bit, RequestID removal, LARGEST_OBJECT — most of which are 1-2 day implementer effort each). Carry-forward: by London interop, expect 5+ implementations on draft-18 with hands-on interop between at least 3 of them, well above the historical 2-impl-pair-at-publication-date norm.
- The
moq-lite→moq-netlibrary rename is the structural admission of a dual-protocol library: PR #1428’s framing — “the new name reflects that this is the networking layer; at session setup it negotiates either the moq-lite or moq-transport wire protocol” — is the first time kixelated has publicly framed his library as protocol-agnostic. Previously, moq presented as a reference implementation of moq-lite with IETF “adapter shims”; now it presents as a session-layer with two first-class wire protocols (moq-lite and moq-transport). This has three downstream effects: (1) the interop-runner matrix labelsmoq-dev-rs/moq-dev-jsare now ambiguous — the matrix needs to either rename them tomoq-net-rs/moq-net-jsor split them by wire protocol; (2) the “moq-lite vs moq-transport” contention in the IETF process loses some of its zero-sum framing — the leading moq-lite implementer is now also a draft-18 producer; (3) the rename is defensive against the OpenMOQ narrative where moq-lite was framed as competing with the IETF effort. - kixelated’s stance on non-sequential group sequences is now public and concrete: PR #1413’s discussion thread (closed unmerged May 18 23:43 UTC) captured the clearest verbatim statement of moq-lite’s “library-level non-compliance with concessionary spec language”: “Sequences numbers should be += 1 just like HLS/DASH. I strongly disagree with the IETF drafts that allow, and even encourage, sequence number gaps.” This is now the second case in two weeks of kixelated documenting intentional moq-lite non-compliance (first was
LARGEST_OBJECTin PR #1418 body). The pattern crystallises: kixelated accepts spec text wording where consensus pulls him toward concessionary MUST/SHOULDs, but won’t implement the concession path in the moq-lite library. AWS accepted the architectural pushback (“primary/backup as separate broadcasts via SUBSCRIBE_NAMESPACE”) gracefully and will re-file the AVC description fix as a separate PR — the design engagement is healthy but slow, AWS is committing 2 PRs in 24h while kixelated’s review cycle is days, not hours. - The interop-runner returns to current status but with a new failure-mode budget concern: Mike English’s May 18 21:19 UTC framing — “the combinatorial explosion of test runs might be causing the test run and report generation task to time out… maybe something is just hanging or if we’re really running tests for 6+ hours now” — surfaces a structural CI-budget constraint: at 168 tests with potential 6+ hour runtimes, any further matrix expansion (e.g. registering mondain/moqxr, or splitting moq-rs further into moq-rs / moq-rs-draft-16 / moq-rs-draft-18) compounds the wall-clock cost. The per-test timeout (PR #69) is necessary but not sufficient — likely needs skip-policy work (e.g., only run draft-N tests for impls claiming draft-N support) before London to keep the matrix in a runnable budget. The matrix also still targets draft-16 vs 3 implementations on draft-18; the gap will close only when PR #68 merges, which Mike English flagged as next-up but is gated on CI stability work.
- Tobbe’s formal LOCMAF announcement on
#moqopens a 2-week visibility window before London: the Slack post (May 18 06:19 UTC) is the first wide-audience disclosure of LOCMAF, with thelocmaf.devdomain elevating it from “Eyevinn-internal experiment” to “first-class project”. The explicit conditional “if some of you think this is a good idea, we may want to make an Internet-Draft” is a standard pre-IETF temperature-check. The Gwendal Simon response (“you can probably expand CMSF… It is very interesting”) is a specific architectural suggestion to fold LOCMAF into CMSF rather than file a parallel I-D — politically lighter (CMSF is already WG-adopted at -00) but constrains LOCMAF to CMAF-mode-compatible optimizations. The May 19-20 window will likely see additional reactions from Luke Curley (the LOC author), Will Law (MSF/CMSF editor), and Mike English (CMSF co-author); these reactions will shape whether LOCMAF goes to London as an agenda item, a CMSF expansion proposal, or a standalone I-D candidate. Tobbe may want to file an agenda slot before the May 20 deadline — currently no LOCMAF slot in the chairs’ agenda inbox.
2026-05-18 — moq-dev/moq ships draft-18 (first implementation); SVC thread broadens to 4 voices
TL;DR:
- moq-dev/moq becomes the first open-source implementation to ship draft-ietf-moq-transport-18: PR #1418 MERGED May 18 05:08 UTC by kixelated (+1431/−477,
Co-authored-by: Claude). 6 days after draft-18 publication May 12 — the fastest implementation turnaround the wiki has tracked for any major draft revision (draft-17 took ~3 weeks; draft-16 took ~2 weeks). Wire version0xff000012/ ALPN"moqt-18"; closes spec items #1595 (7-byte varint), #1618 (FIRST_OBJECT bit), #1615 (Request ID removal from PUBLISH_NAMESPACE/SUBSCRIBE), #1542 (SUBSCRIBE_TRACKS rejected), #1559 (optional trailing GoAway Request ID). First explicit spec non-compliance documented in a moq-lite PR body: “LARGEST_OBJECT (#1621): we lie on purpose — honoring the new MUST is strictly worse for live latency.” Refactor switches version matches from “explicit newest” to “newest defaults forward” — Draft19 will inherit Draft18 unless explicitly opted out. Suhas SVC TPL-vs-SGPL thread grew 13 replies in 24h: Lorenzo Miniero (Meetecho) joined as 4th voice with a WebRTC-mirror argument; afrind softened the May 15 “religious question” framing to “wire image essentially isomorphic, adaptation layer on subscriber side”; Luke surfaced a new draft-18 procedural gap: SUBSCRIBE-same-track-twice-with-different-filters is currently illegal, so subscriber control over per-layer priority is structurally only possible with TPL, which afrind conceded May 17 23:27 UTC. The London SVC design discussion now has 4 design positions to reconcile plus an outstanding moq-transport #1451 procedural dependency. - Implementations: moq-dev/moq — kixelated 5-merge / 2-open spree May 18 01:51 → 05:58 UTC, the largest single-window merge volume in 2026. Beyond PR #1418 draft-18: PR #1414 audio frame-per-group (01:51, +17/−50), PR #1412 SolidJS → vanilla Web Components migration (02:37, +1366/−2234), PR #1411 pixel budget ABR (03:42, +139/−2), PR #1419 BEM CSS cleanup (04:44). Plus 2 new: PR #1420 cluster loop detection (+67/−18) fixing a ~120 MB/hr memory leak on a live nanode relay (phantom
anon/la-cbs/anon/la-nbcpublishers re-announcing through 13-edge mesh); PR #1421 web-transport-iroh 0.4 bump (+477/−227). Eyevinn synchronised LOCMAF v0.9.0 release by Torbjörn Einarsson: moqlivemock PR #85 audio sample regeneration (06:47, +354/−8), PR #86 LOCMAF docs banner/logo/revision (08:58, +180/−1), PR #87 v0.9.0 release (09:36, +66/−7); warp-player PR #129 v0.9.0 release (09:40, +91/−13). LOCMAF v0.1 wire format frozen and labeled; publisher + player shipped together. cloudflare/moq-rs Day +35 main-quiet; google/quiche moqt Day +3 quiet; moqtail Day +5 quiet; video-dev/moq-js, birneee/quiche_moq, Eyevinn/moqtransport all longer-quiet. - Interop: Still 19 / 72 / 14 from May 13 00:41:38 UTC — 5 consecutive missed daily cadences (May 14, 15, 16, 17, 18). Matrix now structurally one revision behind its highest-touch implementation (moq-dev/moq on draft-18 since May 18 05:08 UTC). 22 days from London.
Operation: Update Sources:
- Slack:
#moq— the Suhas May 17 02:56 UTC SVC top-level thread grew 13 replies in the May 17 06:00 UTC → May 18 06:00 UTC window: afrind 08:26 CEST clarifying question; Suhas 08:58 CEST “I always supported spatial layers as tracks and temporal layers as subgroups”; Lorenzo Miniero 13:05 CEST joins as 4th-party voice with WebRTC-mirror argument “If we mirrored the way WebRTC currently does it, it would be SVC layers as subgroup, since layers per track would be more like simulcast”; afrind 17:12 CEST “Oh you are on team ‘both’. In any case, the wire image is essentially isomorphic so any system that can be built with one can be built with the other with an adaptation layer on the subscriber side.” + 17:14 CEST “I realize I am essentially telling the world ‘you can edit files in vim or emacs’”; Lorenzo 18:39 CEST “I guess I’m on team ‘depends what kind of SVC this is’”; Suhas 20:50 CEST introduces RTP SRST/MRMT analogy “Most of the real world implementations are SRST for its simplicity”; Luke 00:25 CEST May 18 acknowledges sub-group temporal scalability appeal; Luke 00:29 CEST surfaces NEW draft-18 procedural gap: “isn’t it illegal to SUBSCRIBE to the same track twice? how does that work withSUBSCRIBE track=video FILTER=sub-group=0andSUBSCRIBE track=video FILTER=sub-group=1”; afrind 01:27 CEST concedes “Oh, yeah, if you want subscriber control over layer priority you have to use track per layer.”#moq-rs,#moq-js,#libquicr,#moq-interop-runnerall quiet. - GitHub moq-wg repos:
- moq-transport — no new issues or merged PRs in the window. Spec gap #1451 “Allow multiple Subscriptions to a Track” (open since April 13) now load-bearing for the SGPL-with-filters subscriber-priority story.
- moq-wg/msf — no new activity since PR #157 kixelated comment May 16 19:08 UTC. Issue #163 (will-law catalog draft-version field) untouched Day +3.
- moq-wg/loc, secure-objects, cmsf, catalog-format, privacy-pass: All quiet.
- GitHub implementations:
- moq-dev/moq: 5 PRs MERGED May 18 01:51 → 05:08 UTC by kixelated: #1414 audio frame-per-group (01:51), #1412 SolidJS → vanilla Web Components (02:37, +1366/−2234), #1411 pixel budget ABR (03:42, +139/−2), #1419 BEM CSS cleanup (04:44), #1418 draft-18 support (05:08, +1431/−477). 2 PRs OPENED May 18 05:54 → 05:58 UTC: #1420 cluster loop detection (+67/−18, ~120 MB/hr leak fix on live nanode relay), #1421 web-transport-iroh 0.4 bump (+477/−227). 2 new issues May 17 by danrossi: #1416 (Watch TS API ready signal), #1415 (TS disconnect-on-pause toggle).
- google/quiche (
quiche/quic/moqt): No new commits May 16, 17, or 18 — Day +3 since3d089cbMay 15 16:09 UTC. - Eyevinn/moqlivemock: 3 PRs MERGED May 17 06:47 → 09:36 UTC by tobbee — #85 audio sample regeneration (+354/−8), #86 LOCMAF version banner / logo / revision history (+180/−1), #87 v0.9.0 release (+66/−7). Commit
66f6cae“docs(CLAUDE): expand multi-namespace section and add locmaf-vX.Y tag convention”. - Eyevinn/warp-player: PR #129 MERGED May 17 09:40 UTC by tobbee — v0.9.0 release (+91/−13). PR #127 (eslint 9.39.4 → 10.4.0 dev-dep) still open Day +3 after May 16 dependabot burst.
- moqtail/moqtail: Day +5 quiet since
dbd7085May 13 08:44 UTC. - cloudflare/moq-rs: Day +35 main-quiet. PR #167 (Suhas filter-framework) Day +8 untouched.
- video-dev/moq-js: No new commits since Feb 17.
- birneee/quiche_moq: No new commits since Mar 13.
- Eyevinn/moqtransport: No new commits since Apr 17.
- Quicr/cat-token: No new commits since May 10 22:30 UTC rename.
- Mailing list: Weekly GitHub digest May 17 02:20 UTC (Repository Activity Summary Bot,
do_not_reply@mnot.net) — summary of moq-wg activity (moq-transport +1/−10 issues / 6 comments / 3 PRs; warp-streaming-format +2/−8 issues / 17 comments / 6 PRs; loc +1/−0 issues). Note: this fell within yesterday’s wiki entry’s window (02:20 < 06:00 UTC May 17) but was missed in the May 17 log. Cadence restored to weekly (Day +7 since May 10 digest). No other on-list messages May 17 06:00 UTC → May 18 06:00 UTC. - IETF Datatracker: No new revisions May 17 or 18. WG state: transport-18 (Day +6), msf-00, loc-02, secure-objects-00, privacy-pass-02, cmsf-00. Notable individual: lite-04, subscribe-rewind-02, qlog-moq-events-06, nmsf-01, gregoire-moq-msfts-00 (May 6, Day +12), englishm-cdn-provisioning-00, englishm-relay-dos-00, lcurley-compressed-mp4-00.
- Interop runner: Still 19 / 72 / 14 at 2026-05-13 00:41:38 UTC — 5 consecutive missed daily cadences (May 14, 15, 16, 17, 18). Status remains “unreliable”. New gap: matrix is now structurally one revision behind its highest-touch implementation.
- MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30). Day +18 since #1.
- tobbee/moq-llm-wiki: No new open issues.
Pages updated: discussions-2026-05.md (new “May 17 06:00 UTC → May 18 06:00 UTC” section covering: moq-dev/moq ships draft-18 via PR #1418, 5-PR overnight merge spree + 2 fresh opens, Suhas SVC thread grows 13 replies / Lorenzo joins / Luke draft-18 procedural gap / afrind concession, Eyevinn synchronised LOCMAF v0.9.0 release across moqlivemock + warp-player, mailing list weekly digest carry-forward), implementations/moq-dev.md (PR #1418 + 4-merge spree + 2 new PR callout, draft-18 added to IETF adapter shims list), implementations/moqlivemock.md (May 17 PRs 87 + warp-player PR #129 callout, repo descriptions updated to v0.9.0, LOCMAF v0.1 wire-format-frozen tag), interop/interop-runner.md (May 18 pending row, 5-consecutive-miss callout, draft-18-vs-matrix structural gap note), index.md (last_updated bump), log.md (this entry).
Key findings:
- The 6-day moq-transport-18 → moq-dev/moq turnaround is the fastest draft-revision implementation cycle the wiki has tracked: draft-17 → moq-lite took ~3 weeks; draft-16 → moq-lite took ~2 weeks. The accelerant is the
Co-authored-by: Claudeworkflow — kixelated has been operating with an LLM pair-programmer for every PR since early May, and the 6 PR commits on the draft-18 branch all share the auto-co-author trailer. The PR body’s section structure (“Spec-driven changes” / “Intentionally NOT changed” / “Refactor”) reads as LLM-generated PR-body scaffolding. Carry-forward: if Claude-assisted PRs continue at this cadence, draft-19 implementation timing should be measured in days rather than weeks; the interop-runner would need an order-of-magnitude faster matrix-rebuild cadence to keep up, which is structurally the opposite of where it’s currently heading (5 consecutive missed runs). - The “we lie on purpose”
LARGEST_OBJECTcomment in PR #1418 is the first explicit documented spec non-compliance in moq-lite’s history: until now, moq-lite divergence from the WG draft has been framed as “subset” or “simplified” — a complement of the spec. PR #1418’s verbiage is qualitatively different: “honoring the new MUST is strictly worse for live latency”. This is product-narrative-prioritised non-compliance, and it’s now public and explicit. Implications: (1) interop reports that testLARGEST_OBJECTcompliance against moq-dev/moq draft-18 will fail by design — the matrix will need a “non-compliance is acknowledged” signalling layer to stay interpretable; (2) other implementations adopting draft-18 may follow Luke’s precedent and document their own intentional non-compliance points, which would compound the interop interpretation problem; (3) mike-english and afrind may need to weigh in on whether the WG cares to push back on this or accept that moq-lite is structurally a draft-with-intentional-deviations. - Lorenzo Miniero’s WebRTC-mirror argument adds a real fourth axis to the SVC TPL-vs-SGPL discussion: the discussion now has (1) afrind: wire-image-isomorphism (mostly indifferent), (2) Luke: economics (cache fragmentation, relay ingress), (3) Suhas: decoder-asymmetry + RTP SRST/MRMT precedent (mixed: spatial→tracks, temporal→subgroups), (4) Lorenzo: WebRTC simulcast precedent (favoring SGPL for spatial layers since they’re already separate streams in simulcast). Each axis weights the design space differently — there’s no single dimension along which TPL or SGPL strictly wins. Plus the Luke-discovered procedural gap (SGPL-with-per-layer-priority requires multiple subscriptions to the same track, which MOQT doesn’t allow) which is the first concrete functional differentiator in the thread. The carry-forward for London is that what used to be presented as a “religious question” (afrind May 15) now has at least one structural functional asymmetry plus four different evaluation lenses — likely demands a dedicated agenda slot.
- moq-dev/moq is running production-shaped traffic on live infrastructure: PR #1420’s body — “Heap profile from a live nanode relay … phantom anonymous publisher (
anon/la-cbs,anon/la-nbc) … 13-edge mesh” — discloses that someone (likely kixelated or moq.dev’s deployment) has been forwarding CBS / NBC livestream feeds through a moq-dev relay cluster. The 13-edge mesh and 32-hop announce-bounce phenomenon are characteristic of a production-scale CDN-shaped deployment, not a single dev machine. The fact that the diagnostic process used a heap profile of a Rust relay running on nanode infrastructure suggests this is a real-world soak-test setup, not a lab. Carry-forward: moq-dev/moq is no longer just a reference implementation — it’s a stack that has accumulated enough operational scar tissue to justify per-relay loop-detection bookkeeping, cross-session origin stability, and a 13-edge mesh. This may shift how the wiki should frame moq-dev/moq: from “Luke Curley’s reference impl” to “the most operationally-mature MoQ stack”. cloudflare/moq-rs has been on the deployment side at Cloudflare but itsmainbranch has been Day +35 quiet; moq-dev/moq is now the one moving on both deployment and spec axes. - Eyevinn’s synchronised LOCMAF v0.9.0 release pattern is the textbook pre-interop coordination move: publisher (moqlivemock) and player (warp-player) released together at the same version, with the wire format frozen at LOCMAF v0.1 and labeled both in the catalog field (
locmafVersion: "0.1") and in the design doc (“Document version: 0.1 (2026-05-17)”) and in the git-tag scheme (locmaf-v0.1). The audio-loop drift fix in PR #85 is unrelated to LOCMAF but came up during multi-loop soak testing — exactly the kind of issue that production-readiness preparation surfaces. Eyevinn enters the London hackathon with the highest pre-interop discipline of any tracked implementation: tooling + design doc + wire-format version + DRM coverage + audio-loop QA, all under a single v0.9.0 release tag landed 22 days before the meeting. The remaining open item is whether other implementations will adopt LOCMAF for interop testing or treat it as Eyevinn-internal — which depends largely on how widely the LOC parallel (also Luke’s) becomes a shared format in the matrix.
2026-05-17 — Suhas joins SVC thread; kixelated reverts audio frame batching; msf PR #157 converges
TL;DR:
- Suhas Nandakumar joins SVC TPL-vs-SGPL Slack design thread May 17 04:56 CEST (02:56 UTC) with a substantive pushback against the afrind “it’s a religious question” framing: “the internal details are more complicated than object model simplification — SVC has spatial, quality, and temporal layers and the advanced ones have intricate layer dependencies across all the 3 degrees. Temporal layers and Spatial layers/Quality are handled pretty differently on the decoder side based on the information needed in-band vs can be found out of band. It is generally easier to separate Spatial layers/Quality then temporal layers into tracks. Can it be done, yes*, but with adding more complexities for the applications.” — first 3rd-party participation in the May 15 thread, first decoder-side argument introduced, and first explicit asymmetric-decomposition advocacy (Spatial/Quality → tracks, temporal → subgroups, mix-and-match). moq-wg/msf PR #157 (Suhas group-numbering) reaches editorial agreement: kixelated May 16 19:08 UTC “I would have SHOULD for both, but that works for me” — accepts wilaw’s “each subsequent Group ID SHOULD increase by 1. Any intentional gaps MUST be signaled using the MOQT Prior Group ID Gap Extension header” formulation. suhasHere May 16 17:38 UTC clarifies the primary/backup-mux track-output property scope. The gap-signaling extension-header path is now the consensus mechanism for non-sequential groups — directly addresses the same bug class as moq-dev/moq PR #1413 (AWS non-sequential groups runtime fix). Mailing list / Datatracker / MoQ Monthly all silent May 16–17 — first full 2-day on-list quiet since the Joining FETCH consultation opened May 11.
- Implementations: moq-dev/moq — kixelated reverts audio frame batching (real-time latency design reversal). PR #1414 OPENED May 16 20:29 UTC by luke-curley (+17/−50), “audio: send each frame as its own group”: “Audio frames were being packed into ~100ms groups for relay efficiency. For real-time use cases, that bounds end-to-end latency at the group boundary since the relay cannot forward a group until it is closed. Go back to one-frame-per-group: each frame is flushed to the relay immediately, and the codec’s packet loss concealment (Opus PLC, AAC PLC) handles individual frame drops.” — applies to browser publish encoder + Rust opus/aac mux importers. Net -33 LOC removing the batching path; latency-first reversal. PR #1405 (Karolk99 solid-js peerDep) CLOSED unmerged May 16 11:36 UTC — superseded by PR #1412 SolidJS-to-Web-Components migration. Eyevinn/moqlivemock — Torbjörn Einarsson PR #84 MERGED May 16 10:36 UTC (+326/−0), “docs: add DRM section to LOCMAF.md” — end-to-end encrypted-CMAF → LOCMAF-wire → reconstructed-CMAF → MSE/EME/CDM pipeline, catalog
contentProtectionsarray, cenc vs cbcs IV-on-the-wire comparison table, byte-equal-mdat preservation guarantee. Eyevinn/warp-player dependabot burst: 7 PRs merged in 15 minutes May 16 21:07–21:22 UTC — TypeScript 5.9→6.0, commitlint 20.5→21.0, eslint dev-deps, production-deps group across 1 dir, dependency-review-action v4→v5. PR #123 (3-update group) closed unmerged. google/quiche moqt 2-day quiet after May 15 16:07 UTCOutgoingFetchStreamcommit. cloudflare/moq-rs Day +34 main-quiet. moqtail / video-dev/moq-js / birneee/quiche_moq / Eyevinn/moqtransport / Quicr/cat-token all quiet. - Interop: Still 19 / 72 / 14 from May 13 00:41:38 UTC — 4 consecutive missed daily cadences (May 14, 15, 16, 17). The cadence is structurally broken; with mike-english handling London logistics + interim registration, no operator capacity has reopened the runner. Wiki action: downgrade interop-runner status to “unreliable” until a successful run resumes — the May 17 entry is the threshold flagged in the May 16 log.
Operation: Update Sources:
- Slack:
#moq— 1 new substantive top-level post in the May 16 06:00 UTC → May 17 06:00 UTC window: suhas-nandakumar May 17 02:56 UTC continuing the SVC TPL-vs-SGPL design discussion as a fresh top-level message (not threaded into the May 15 26-reply chain).#moq-rs,#moq-js,#libquicr,#moq-interop-runnerall quiet. Background: the May 10 moq-interop-runner OpenMOQ-fork-process thread closed May 15 16:11 CEST with afrind summarising fork governance (“1. Need to move faster than upstream, 2. Insulate from breaking changes, 3. Upstream-disinterested ownership”) and Lucas Pardue “Thank you Alan, Will et al” — that thread is now formally closed. - GitHub moq-wg repos:
- moq-transport — no new issues or merged PRs. PR #1378 (SWITCH) still updated_at May 15; no new comments / reviews / commits.
- moq-wg/msf — PR #157 (Suhas group-numbering) 2 new comments May 16: suhasHere 17:38 UTC “It’s the property of output track that we are talking about here. The same rules apply” (clarifies that primary/backup input-mux behaviour is still subject to the output-track sequential-group rule); kixelated 19:08 UTC accepts wilaw’s “each subsequent Group ID SHOULD increase by 1. Any intentional gaps MUST be signaled using the MOQT Prior Group ID Gap Extension header” formulation with “I would have SHOULD for both, but that works for me”. Issue #163 (will-law catalog draft-version field) no new comments. PR #159 (catalog compression) untouched since May 15 07:51 UTC.
- moq-wg/loc, secure-objects, cmsf, catalog-format, privacy-pass: All quiet.
- GitHub implementations:
- moq-dev/moq: PR #1414 OPENED May 16 20:29 UTC (kixelated, +17/−50, audio one-frame-per-group revert). PR #1405 CLOSED May 16 11:36 UTC (Karolk99 solid-js peerDep, superseded by PR #1412 SolidJS removal). No new merges to main since May 15 16:48 UTC PR #1395 (Day +1 main-quiet). PR #1408, #1410, #1411, #1413 still open (last update May 16 03:50–04:45 UTC).
- google/quiche (
quiche/quic/moqt): No new commits May 16 or May 17 (last3d089cbeMay 15 16:07 UTC). 9 commits in 4 days now followed by 2-day quiet. - Eyevinn/moqlivemock: PR #84 MERGED May 16 06:55 → 10:36 UTC (tobbee LOCMAF DRM docs, +326/−0, docs-only).
- Eyevinn/warp-player: Dependabot 7-PR merge burst May 16 21:07–21:22 UTC — PR #121 (dependency-review-action v4→v5, 21:07 UTC), PR #122 (dev-deps group, 21:07 UTC), PR #125 (@commitlint/cli 20.5.3→21.0.0, 21:07 UTC), PR #126 (@commitlint/config-conventional 20.5.3→21.0.1, 21:12 UTC), PR #128 (prod-deps group, 21:15 UTC), PR #124 (TypeScript 5.9.3→6.0.3, 21:22 UTC). PR #123 (3-update prod-deps group, alternate to #128) CLOSED unmerged 21:10 UTC. PR #127 (eslint 9.39.4→10.4.0) still open after CI signal.
- moqtail/moqtail: Last commit May 13 08:44 UTC (
[ci] release #196); quiet. - cloudflare/moq-rs: Day +34 main-quiet. PR #167 (suhas-nandakumar filter-framework) untouched since May 10 05:03 UTC — Day +7.
- video-dev/moq-js: No new commits since Feb 17.
- birneee/quiche_moq: No new commits since Mar 13.
- Eyevinn/moqtransport: No new commits since Apr 17.
- Quicr/cat-token: No new commits since May 10 22:30 UTC rename.
- Mailing list: No new messages May 16 or May 17 — 2-day silence. Last on-list activity remains the May 15 6-message bundle (Mike English London invitation + afrind Joining-FETCH-survey synthesis + Joining-FETCH use-case redesign acceptance). No Weekly GitHub digest May 17 (last digest May 10, Day +7 now). Will Law recharter thread (Day +5 silence) and martinduke “On other use cases” thread both quiet.
- IETF Datatracker: No new revisions May 14–17. WG state: transport-18 (Day +5), msf-00, loc-02, secure-objects-00, privacy-pass-02, cmsf-00. Notable individual: lite-04, subscribe-rewind-02, qlog-moq-events-06, nmsf-01, gregoire-moq-msfts-00 (May 6, Day +11, still no on-list announcement), englishm-cdn-provisioning-00, englishm-relay-dos-00, lcurley-compressed-mp4-00.
- Interop runner: Still 19 / 72 / 14 at 2026-05-13 00:41:38 UTC — 4 consecutive missed daily cadences (May 14, 15, 16, 17). Cadence structurally broken; downgrade interop-runner to “unreliable” status until a run resumes.
- MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30). Day +17 since #1.
- tobbee/moq-llm-wiki: No new open issues.
Pages updated: discussions-2026-05.md (new “May 16 06:00 UTC → May 17 06:00 UTC” section covering: Suhas pushback on SVC religious-question framing, kixelated audio one-frame-per-group revert PR #1414, moq-wg/msf PR #157 SHOULD-both editorial convergence, PR #1405 SolidJS peerDep closure superseded by PR #1412, Eyevinn/moqlivemock LOCMAF DRM docs PR #84, Eyevinn/warp-player dependabot 7-PR burst), interop/interop-runner.md (May 17 pending row, status downgraded to “unreliable”), implementations/moq-dev.md (PR #1414 audio frame-per-group revert callout, PR #1405 closure note), implementations/moqlivemock.md (PR #84 LOCMAF DRM docs callout), index.md (last_updated bump), log.md (this entry).
Key findings:
- The SVC TPL-vs-SGPL thread is no longer a 3-author exchange: Suhas Nandakumar’s May 17 02:56 UTC top-level post is the first 3rd-party participation (afrind / Luke / Victor were the only voices in the May 15 thread). Substantively, Suhas opens a new axis the afrind framing didn’t address: decoder-side complexity asymmetry between layer types. The framing was “with subgroup filters, TPL and SGPL produce identical wire bytes except Track Alias, so it’s a religious question”. Suhas’s counter is that the wire-format equivalence is true but irrelevant — the decoder needs different in-band vs out-of-band information for temporal layers vs spatial/quality layers, and that asymmetry maps better to a mixed-decomposition (spatial/quality → tracks for separable subscribe-control, temporal → subgroups for in-band signalling). This is a third option neither afrind, Luke, nor Victor put on the table — TPL-only, SGPL-only, or mixed-by-layer-type. Carry-forward: the 2026-06-09-london-interim design discussion likely now has three positions to reconcile, not two. Worth noting Suhas posted as a fresh top-level message rather than threading into afrind’s 26-reply chain — likely intentional surfacing, since threading would have buried the point in the existing back-and-forth.
- The moq-wg/msf PR #157 editorial convergence resolves the same bug class that AWS hit at runtime: AWS’s moq-dev PR #1413 (May 16 00:50 UTC) was the runtime symptom — “the consumer assumed group sequences increment by 1, but CMSF/EML uses epoch-based sequences with large gaps (e.g. 85386781784064, 85386781832192)” causing ~1s audio underflows. The msf PR #157 / wilaw / kixelated agreement that “each subsequent Group ID SHOULD increase by 1; intentional gaps MUST signal via the MOQT Prior Group ID Gap Extension header” is the spec-side resolution path: producers (like CMSF/EML) that use epoch-based sequences are now spec-permitted-with-extension, and consumers (like AWS’s moq-dev fork or any compliant subscriber) get a wire-level signal to switch into gap-aware mode. Note: kixelated’s preferred wording “SHOULD for both” (vs wilaw’s “SHOULD … MUST”) is a slight weakening — it makes the extension-header signalling a strong recommendation rather than mandatory, leaving an explicit non-compliant-but-still-legal path. This compromise reflects that some producers (Luke’s own moq-lite) may not always have a clean way to predict the gap before emitting. Worth flagging in the moq-msf page when PR #157 merges.
- The kixelated audio-frame-per-group revert is a real-time-latency reversal, not just a bug fix: PR #1414’s rationale is end-to-end latency arithmetic — “the relay cannot forward a group until it is closed, so 100ms groups put a 100ms floor on E2E latency”. The earlier batching choice (~100ms) was for relay efficiency (smaller QUIC stream count); the revert is for real-time use cases (every individual frame flushed immediately). The codec-PLC fallback (“Opus PLC, AAC PLC handles individual frame drops”) is the trade-off — relay efficiency goes down (more streams), but latency floor drops to ~frame-duration. This is the second moq-lite design choice this month that has been reversed in the “go back to the more obvious primitive” direction (the other: PR #1385 May 6 reverted PR #1356
insert_trackAPI change, then PR #1387 re-reverted). The pattern is kixelated tightening real-time semantics in advance of London hackathon — moq-lite’s product narrative is “low-latency live”, and the audio batching was a latency leak. Carry-forward: expect more “prefer immediate flush over batch efficiency” reverts pre-June 9. - The interop-runner is now formally unreliable, not paused: The May 16 wiki entry flagged May 17 as the structural-stability check — “Either the new-15-role matrix is genuinely broken… or the operator is taking the time to verify the larger matrix before publishing. Either way, the carry-forward is that the moq-llm-wiki’s interop-status surface is dark going into the 11-business-day window before London. If the May 17 run is also missing, the wiki should explicitly downgrade the interop-runner status.” The May 17 run did not publish. Four consecutive missed daily cadences confirms this is operator-bandwidth-limited, not an intentional baselining pause — Mike English has been focused on London logistics + cdn-provisioning + relay-dos drafts + the May 15 invitation announcement, and the new-15-role matrix expansion he merged May 13 17:23–17:25 UTC remains uncommitted to a CI run. Wiki action: downgrade interop-runner header status from “current” to “unreliable” and flag it on the implementation pages that depend on it for status signals (specifically mlmtest, aiomoqt, moqx-client, Nokia-via-Docker — all 4 newly merged on May 13 and have had zero validation runs).
- The wiki’s signal density has dropped sharply May 16–17: this is the lowest-activity 24-hour window in the wiki’s tracking history of 2026. Single new substantive Slack post, single net-new moq-dev/moq PR, zero merged moq-wg PRs, zero new IETF revisions, zero mailing list messages, zero new interop runs. Most likely cause: the London interim June 9–12 registration deadline (June 4) is now 18 days out, and the design-debate energy of mid-May (Joining FETCH consultation, SVC thread, AWS onboarding, LOCMAF tooling burst) has shifted into implementation prep mode — implementers are busy stabilising their stacks for the interop hackathon, not opening new threads. This is the pre-London quiet the wiki should expect to see for the next 2–3 weeks; if the May 17 quiet pattern persists, the wiki may need to switch to a less daily-intensive update cadence until London traffic resumes.
2026-05-16 — SVC TPL-vs-SGPL Slack design thread; London interim formal invitation; AWS 2nd PR within 24h
TL;DR:
- First substantive
#moqSVC architecture thread of 2026: alan-frindell May 15 20:27 CEST (18:27 UTC) opens 26-reply thread arguing Track-per-layer vs Subgroup-per-layer is now “a religious question” because draft-18 subgroup filters narrowed the wire-format differences to just the Track Alias. Luke Curley + Victor Vasiliev push back on two concrete remainders: (1) publisher-priority scope across namespaces is undefined (Victor 20:35 CEST: “I think we currently assume it’s shared across the scope” — fresh draft-18 gap), (2) filter-based opt-out has CDN economics costs (Luke 20:46 CEST: “fragmented cache, or increases relay ingress costs”). Carry-forward to London. Mailing list — Mike English May 15 formally announces London interim June 9–12 (archive): 4-day contiguous in-person window at Cloudflare London office (County Hall / The Riverside Building, SE1 7PB), 09:00–17:00 BST daily, registration deadline June 4 for building security. Reframes the meeting structure from the wiki’s previous “moq-08/09/10/11 across June 11–12 only” model — June 9–10 are hackathon/interop days, June 11–12 the formal sessions. Joining FETCH discussion continues: afrind ×2 on the survey synthesis, Yu You (Nokia) accepts the redesign recommendation (wall-clock Group IDs + unique Object IDs per participant), Mo Zanaty + Luke Curley reply with track-per-publisher anti-pattern guidance. moq-wg/msf — Issue #163 OPENED (will-law, “Version should carry draft info for interop until released”) — proposes catalogversionfield becomes"draft-NN"string or sub-1 decimal for the June interop forcing function — first MSF issue explicitly motivated by London. PR #157 (Suhas group-numbering): wilaw 10:03 UTC proposes tying gap-signaling to MOQT Prior Group ID Gap Extension header — formalises the extension-based path. - Implementations: moq-dev/moq — 8-PR-merge-in-24-hours volume record (May 14 16:45 → May 15 16:48 UTC): luke-curley merges PR #1395 (moq-cli rename), #1398 (Qizot activity signals), #1404 (Qizot catalog fix), #1409 (danrossi new-contributor Vite worker plugin). Same window opens 4 new PRs: #1410 (YogiSotho new-contributor buffering overlay fix, +101/−2), #1411 (kixelated pixel-budget ABR control, +139/−2), #1412 (kixelated SolidJS → vanilla Web Components migration, +1366/−2234 net −868 LOC, removes
@moq/ui-corepackage), and #1413 (ksletmoe-aws SECOND AWS PR within 24h of #1408, +68/−14) fixing non-sequential group sequences (CMSF/EML epoch-based gaps causing ~1s audio underflows) + AVC description fallback for WebCodecs. AWS now highest-touch external contributor of the week: 2 PRs in 24h (one packaging-layer, one runtime-fix). google/quiche moqt — 1 commit May 15 16:07 UTC by martinduke (Create OutgoingFetchStream and factor out OutgoingUniStream as a parent of both data stream types) — 9th moqt commit in 4 days, building class hierarchy for draft-18 FETCH. Eyevinn/moqlivemock — 3 PRs MERGED by Torbjörn Einarsson (the wiki owner): #81 (09:36, +2115/−61, LOCMAF encoder/decoder + roundtrip CLI + design doc), #82 (16:45, +70/−3, cataloglocmafVersionfield), #83 (19:37, +144/−4, LOCMAF-accurate bitrate reporting; e.g., 128 kbps AAC was misreported as 171.5 kbps). With PR #79 (May 14, hugobjoers, +2886/−83) that’s ~+5215 LOC LOCMAF work in 36 hours going into London. cloudflare/moq-rs Day +33 quiet, PR #167 Day +6 quiet. moqtail / video-dev/moq-js / birneee/quiche_moq / Eyevinn/moqtransport all quiet. - Interop: No new run since May 13 00:41:38 UTC reading of 19 / 72 / 14 — 3 consecutive missed daily cadences now (May 14, May 15, May 16). 105-test baseline structurally broken since the mike-english 4-PR registry expansion at May 13 17:23–17:25 UTC. The next run is the structural-stability check: does it publish, and does total-tests-count grow above 105?
Operation: Update Sources:
- Slack:
#moq— 1 substantive new thread in the May 15 09:00 UTC → May 16 06:00 UTC window: alan-frindell May 15 20:27 CEST “On the question of ‘Is SVC better as Track per layer or Subgroup per layer?’…” with 26 thread replies all from luke-curley (17 replies) and victor-vasiliev (5 replies) — the first substantive SVC architecture design discussion on#moqin 2026.#moq-rs: gazzy joins May 15 15:37 CEST (no messages).#moq-js,#libquicr,#moq-interop-runnerall quiet. - GitHub moq-wg repos:
- moq-transport — no new issues or merged PRs. PR #1378 (gwendalsimon SWITCH for Client-side ABR)
updated_atbumped to May 15 21:15 UTC but timeline inspection shows no new comments/reviews/commits/labels since April 17 — likely an internal subscription/mention event. - moq-wg/msf — Issue #163 OPENED May 15 10:44 UTC (will-law, “Version should carry draft info for interop until released”) — catalog
versionfield needs to carry draft revision for interop until RFC release; proposes string"draft-NN"or sub-1 decimal convention. PR #157 (Suhas group-numbering restarts) — wilaw May 15 10:03 UTC comment: “What if we said ‘each subsequent Group ID SHOULD increase by 1. Any intentional gaps MUST be signaled using the MOQT Prior Group ID Gap Extension header.’?” — formalises gap-signaling via extension header. - moq-wg/loc — Issue #20 (cross-spec Properties collision) no activity. Issue #19 (Luke Curley LOC Private Properties) still open.
- moq-wg/secure-objects, cmsf, catalog-format, privacy-pass: All quiet.
- moq-transport — no new issues or merged PRs. PR #1378 (gwendalsimon SWITCH for Client-side ABR)
- GitHub implementations:
- moq-dev/moq: 4 PRs MERGED May 15 14:08 → 16:48 UTC — #1409 (danrossi Vite alias resolver, 14:08), #1404 (Qizot catalog fix, 14:16), #1398 (Qizot activity signals, 16:14), #1395 (kixelated moq-cli rename, 16:48). 4 PRs OPENED: #1410 (YogiSotho buffering overlay, 13:59 UTC, +101/−2), #1411 (kixelated pixel budget, 14:15 UTC, +139/−2), #1412 (kixelated SolidJS→Web Components migration, 16:31 UTC, +1366/−2234), #1413 (ksletmoe-aws non-sequential groups + AVC desc fallback, May 16 00:50 UTC, +68/−14 — 2nd AWS PR within 24h of #1408). PR #1396 (metapox SUBSCRIBE_UPDATE), #1391 (release-bot v0.16.1), #1405 (Karolk99 solid-js peerDep) all still open.
- google/quiche (
quiche/quic/moqt): 1 new commit —3d089cbMay 15 16:07 UTC by martinduke (“Create OutgoingFetchStream and factor out OutgoingUniStream…”). 9th moqt commit in 4 days. - Eyevinn/moqlivemock: 3 PRs MERGED by tobbee — #81 (09:36 UTC, +2115/−61, LOCMAF encoder/decoder + roundtrip CLI + design doc), #82 (16:45 UTC, +70/−3,
locmafVersioncatalog field), #83 (19:37 UTC, +144/−4, LOCMAF bitrate calculation). - Eyevinn/warp-player: PR #120 (hugobjoers LOCMAF) updated May 15 19:36 UTC, still open Day +10.
- moqtail/moqtail: quiet post-PR-193 release cycle.
- cloudflare/moq-rs: Day +33 main-quiet. PR #167 (suhas-nandakumar filter-framework) untouched since May 10 05:03 UTC — Day +6.
- video-dev/moq-js: No new commits since Feb 17.
- birneee/quiche_moq: No new commits since Mar 13.
- Eyevinn/moqtransport: No new commits since Apr 17.
- Quicr/cat-token: No new commits since May 10 22:30 UTC rename.
- Mailing list: 6 messages May 15:
- Mike English May 15 “[Moq] London interim June 9-12” (archive) — formal in-person interim invitation, June 9–12 contiguous, Cloudflare London office, registration deadline June 4.
- afrind May 15 ×2 on “[Moq] Re: Joining FETCH Survey” — translating Luke Curley’s prose-form May 14 reply to survey (Q1=4, Q2=3, Q3=MAY-remove, Q4.3=Fill); follow-up Qs to Victor on unified-control-plane-vs-separate-data-planes interpretation.
- Yu You (Nokia) May 15 on “[Moq] Re: User case or question to Joining Fetch” — accepts redesign: wall-clock Group ID + unique Object ID per participant, with shared “catalog” track + per-participant track names.
- Mo Zanaty May 15 on same thread — anti-pattern warning on shared-chat-track: “MOQT says such tracks SHOULD NOT use group range filters at all”, “A track is malformed if different objects end a subgroup or group”. Recommends Subscribe-Tracks-per-sender alternative.
- Luke Curley May 15 on same thread — track-per-publisher pattern.
- No activity on Will Law’s recharter thread (Day +3 silence) or martinduke’s “On other use cases” thread. No Weekly GitHub digest May 15 (Day +5 from May 10).
- IETF Datatracker: No new revisions May 14–16. WG state: transport-18 (Day +4), msf-00, loc-02, secure-objects-00, privacy-pass-02, cmsf-00. Notable individual: lite-04, subscribe-rewind-02, qlog-moq-events-06, nmsf-01, gregoire-moq-msfts-00 (May 6, Day +10, still no on-list announcement), englishm-cdn-provisioning-00, englishm-relay-dos-00, lcurley-compressed-mp4-00 (ingested May 15).
- Interop runner: 19 / 72 / 14 at 2026-05-13 00:41:38 UTC — no May 14, 15, or 16 run published. 3 consecutive missed daily cadences.
- MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30). Day +16 since #1.
- tobbee/moq-llm-wiki: No new open issues.
Pages updated: discussions-2026-05.md (new “May 15 09:00 UTC → May 16 06:00 UTC” section covering: SVC TPL-vs-SGPL Slack design thread, London interim formal invitation, moq-dev/moq 8-PR-merge-in-24h volume record + AWS 2nd PR #1413, Eyevinn/moqlivemock LOCMAF tooling trio by tobbee, moq-wg/msf Issue #163 + PR #157 wilaw activity, google/quiche moqt 9th commit, mailing-list Joining-FETCH survey synthesis + Nokia chat redesign), interim-meetings.md (London June 9-12 4-day reframing, registration deadline June 4, full schedule), interop/interop-runner.md (May 16 pending row), implementations/moq-dev.md (May 15 8-PR merge + May 16 AWS PR #1413 callout), implementations/moqlivemock.md (May 14–15 LOCMAF tooling-stabilisation callout, packaging list), index.md (last_updated bump), log.md (this entry).
Key findings:
- The SVC TPL-vs-SGPL design debate has now been substantively narrowed by Alan Frindell to two operational concerns: (1) cache fragmentation / relay ingress costs (TPL advantage), (2) subgroup-per-object-on-enhancement-layer alignment headache (SGPL advantage). The protocol-design difference is “a religious question”. The fresh finding is the Victor Vasiliev publisher-priority-scope ambiguity at 20:35 CEST — “I think we currently assume it’s shared across the scope” — not flagged on any issue tracker, and Luke’s counter (cross-namespace priority should NOT leak) directly contradicts the “shared across the scope” default. This is a draft-18 gap that needs an Issue ticket and likely belongs in the 2026-06-09-london-interim design agenda. Lukewarm consensus signal: Luke + Victor are working through the design live without an editor, no escalation to the list — likely they’ll synthesise into a single PR or issue post-London.
- The June 9–12 London interim formal invitation reframes the meeting structure significantly: the wiki’s prior mental model was “moq-08/09/10/11 across June 11–12, with hackathon/interop being implicit”. Mike English’s May 15 announcement makes it explicit: June 9–10 are full hackathon/interop days, June 11–12 are formal sessions — 4 days, 32 hours of in-person time at Cloudflare London. The June 4 registration deadline is operationally significant: any implementer planning to attend in-person must have name + affiliation on the wiki by 19 days from the announcement. Carry-forward: implementations that intend to interop must be on the May 16 / May 17 baseline by June 4 to leave one week for image-build + matrix-registry merge before the runner needs to be matrix-ready for the June 9 hackathon. Mike’s 4-PR registry expansion at May 13 17:23–17:25 UTC pre-staged this exact need.
- AWS contribution pattern is fastest-onboarding of any corporate contributor on moq-dev/moq in 2026: PR #1408 (May 14, +3891/−457 CMSF muxer + C FFI, packaging layer) → PR #1413 (May 16, +68/−14 non-sequential groups + AVC fallback, runtime fix) in under 36 hours. The runtime-fix PR is the more significant signal — AWS is actively running the moq-dev stack against CMSF/EML producers and hitting wire-format edge cases (epoch-based group sequences with 48-bit-range gaps). The non-sequential-groups bug would have blocked an internal AWS demo or pilot; ksletmoe-aws hit it, fixed it upstream, and filed within 6 hours of the AVC catalog problem. This is the deepest external engagement on moq-dev/moq core consumer/decoder paths in the wiki tracking history — qualitatively different from packaging contributions (which are isolated to integration code).
- The Eyevinn/moqlivemock LOCMAF burst is a textbook pre-interop tooling sprint by the wiki owner himself: PR #79 (May 14, hugobjoers, +2886/−83 LOCMAF support) → PR #81 (May 15 09:36, tobbee, +2115/−61 encoder/decoder fixes + CLI + design doc) → PR #82 (May 15 16:45, tobbee, +70/−3 catalog
locmafVersion) → PR #83 (May 15 19:37, tobbee, +144/−4 bitrate fix). The cataloglocmafVersionfield hedge (“the LOCMAF wire format is still evolving and some recent changes are behavioural rather than additive — e.g. the absolutemoofBaseMediaDecodeTimeoverride on field ID 10 with new semantics”) is a production-quality versioning anti-pattern detection: when wire-format semantics change without bumping the registered identifier, downstream consumers must rely on out-of-band version negotiation. The fact that tobbee builds the version-negotiation path before the wire format stabilises is exactly the discipline that makes pre-interop LOCMAF testing tractable. Carry-forward: tobbee and hugobjoers’s coordinated LOCMAF push (publisher in moqlivemock, player in warp-player PR #120 still open) is positioning Eyevinn for a strong LOCMAF showing at June 9–10 hackathon. - The interop-runner 3-consecutive-missed-runs is now a structural concern, not a baseline pause: May 16 was the structural check we flagged in the May 15 entry. A third missed run means either (a) the new-15-role matrix is genuinely broken and Mike English hasn’t had the bandwidth to fix it (May 15 he was busy with the London interim announcement), or (b) the runner has been intentionally re-baselined and the operator is taking the time to verify the larger matrix before publishing. Either way, the carry-forward is that the moq-llm-wiki’s interop-status surface is dark going into the 11-business-day window before London. If the May 17 run is also missing, the wiki should explicitly downgrade the interop-runner status from “daily cadence” to “unreliable” in interop-runner and flag the gap to Mike on
#moq-interop-runner.
2026-05-15 (supplemental) — ingest draft-lcurley-compressed-mp4-00
TL;DR:
- Added draft-lcurley-compressed-mp4-00 — Luke Curley’s individual submission (17 March 2026, 12 pages, Informational, expires 18 September 2026). Defines a varint-based compression scheme for ISO BMFF: a
cmpdtable inmoovmaps varint IDs ↔ 4-char box type names; four compressed box variants (cmfh,cfhd,cfdt,crun) replace fixed-width payload fields with QUIC-style varints. Reduces per-fragment overhead from ~96 bytes to ~21 bytes (≈78%) while preserving the ISOBMFF box hierarchy. Positions between LOC (new wire format) and CMSF (full standard fMP4). Security/IANA sections still stubs in -00. - Implementations: No code-side change in this supplemental — pure ingest. Source / issue tracker at github.com/kixelated/moq-drafts.
- Interop: No new run; carry-forward from the May 15 main entry (19 / 72 / 14 from May 13).
Operation: Ingest Sources:
https://www.ietf.org/archive/id/draft-lcurley-compressed-mp4-00.txt(downloaded tosources/ietf-drafts/draft-lcurley-compressed-mp4-00.txt)https://datatracker.ietf.org/doc/draft-lcurley-compressed-mp4/
Pages updated: wiki/drafts/compressed-mp4.md (NEW), wiki/index.md (IETF Drafts table row), wiki/log.md (this entry).
Key findings:
- Third Luke-Curley individual draft tracked alongside moq-lite and (informally)
draft-lcurley-moq-hang-01. Unlike moq-lite (transport) and Hang (media layer), this one is a container-format draft — Luke’s first contribution at the ISOBMFF layer. - The compression scheme is intentionally lossless and reversible: a receiver MUST be able to reconstruct the original uncompressed ISO BMFF structure by reversing the ID-to-name mapping and adjusting size fields. This is the structural difference vs LOC, which replaces fMP4 entirely.
- Acknowledgments explicitly disclose AI-assisted drafting (Claude) — consistent with the pattern on other recent Luke-authored artifacts (PR #1407
Co-authored-by: Claudetrailer May 14). - Open editorial gaps in -00:
Security ConsiderationsisTODO Security; IANA registration for 5 ISO BMFF box types (cmpd,cmfh,cfhd,cfdt,crun) is enumerated but not coordinated with MP4RA. Both would need resolution before adoption.
2026-05-15 — interop registry expands by 4; AWS lands in moq-dev/moq; post-draft-18 issue triage pattern emerges
TL;DR:
- First mass expansion of the interop matrix in 2026: mike-english MERGED 4 long-pending interop-runner PRs in 2 minutes May 13 17:23–17:25 UTC — PR #67 (gmarzot aiomoqt, Python asyncio MoQT client) 17:23:32 UTC, PR #66 (gmarzot moqx client role) 17:24:28 UTC — first OpenMOQ-author merge post-May-9-fork-incident, PR #63 (Torbjörn Einarsson / Eyevinn mlmtest moqlivemock client) 17:25:14 UTC — Day +31 from open, PR #65 (yuyou / Nokia Docker RELAY_URL support) 17:25:58 UTC. Registry grows from 11 → 15 roles (mlmtest + moqx-client + aiomoqt + Nokia-via-Docker-URL). Second-order effect: matrix has not produced a May 14 or May 15 daily run — 2 consecutive missed cadences. Either intentional re-baselining or CI gating; carry-forward is the May 16 run as the structural-stability check. AWS enters moq-dev/moq: PR #1408 OPENED May 14 18:20 UTC by ksletmoe-aws (Kevin Sletmoe at AWS) — “feat(moq-mux, libmoq): add CMSF muxer, demuxer, and C API” (+3891/−457, largest single PR to moq-dev/moq in 2026). Brings CMSF muxer/demuxer + C FFI surface to the moq-dev stack alongside existing Rust + TypeScript. moq-dev corporate-contributor footprint now: Cloudflare (englishm review activity), Nokia (yuyou), Eyevinn (tobbee adjacent), OpenMOQ (gmarzot via interop-runner), and now AWS (ksletmoe-aws). Post-draft-18 issue triage pattern emerges in moq-transport (3 actions same day May 14): alan-frindell 18:43 UTC on Issue #1632 (cross-spec Properties collision) — “The LOC authors will create a new loc draft, and update the appendix in moq to reflect it so we don’t keep having this problem” (defers to LOC editorial fix); Issue #1631 (codec switching) TRANSFERRED to MSF as #162 after victor-vasiliev May 14 11:56 UTC: “Either way, this is an MSF issue, and not MOQT” + will-law 16:41 UTC MSF confirmation — first cross-spec issue transfer post-draft-18, sets the routing precedent (codec/encoding belongs to MSF); afrind 19:01 UTC closes 18-month-old Issue #607 (“Group Order for Subscriptions ?”) as keep — “Folks seems to have use cases for this. Closing.” Pattern: WG editors actively route-and-defer rather than reopen MOQT debate.
- Implementations: moq-dev/moq breaks 5-day quiet — luke-curley merges 4 PRs in ~12 hours May 14 16:45 → May 15 04:37 UTC: PR #1402 (SteveMcFarlin moq-gst CAPS+EOS — first merge from 2nd new contributor of May), PR #1407 (kixelated “Bump package versions across JS packages” with explicit
Co-authored-by: Claudetrailer), PR #1399 (skirsten MultiBackend close), PR #1400 (skirsten PromiseReactions leak). Release-bot PR #1391 “chore(moq-lite): release v0.16.1” opens May 15 04:39 UTC. google/quiche moqt — 2 more commits May 14 22:49 + 23:03 UTC by martin-duke (OutgoingDataStream refactor + OutgoingSubgroupStream cleanup) bringing total to 8 commits in 3 days (May 12–14) — most concentrated quiche-moqt activity of 2026. Eyevinn moqlivemock PR #79 (hugobjoers LOCMAF support) MERGED May 14 08:08 UTC, +2886/−83 — largest moqlivemock PR of 2026; warp-player PR #120 (same author) still open. moqtail quiet post-PR-193 release cycle. cloudflare/moq-rs Day +32 main-quiet; PR #167 untouched Day +5. video-dev/moq-js / birneee/quiche_moq / Eyevinn/moqtransport / Quicr/cat-token all quiet. - Interop: No new run since May 13 00:41:38 UTC reading of 19 / 72 / 14 (note: prior wiki entries recorded
19/71/14for this reading; the results page shows19/72/14, total 105). 2 consecutive missed daily cadences (May 14 + May 15) aligning precisely with the 4-PR registry-expansion merge at May 13 17:23–17:25 UTC. Plausible causes: (a) new-15-role matrix re-baselining intentionally paused, (b) a new image build failing CI and gating the run, (c) operator absence. Carry-forward: the May 16 run is the structural-stability check — a successful run with higher total-tests count would confirm matrix expansion; another miss means the cadence is structurally broken.
Operation: Update Sources:
- Slack:
#moq— 1 new event in the May 14 09:00 UTC → May 15 09:00 UTC window: Dragana Damjanovic (Mozilla) May 14 18:09 CEST joined#moq— first Mozilla-affiliated public join on the wiki record (Dragana is well-known in QUIC circles via Neqo); reads as Mozilla observation interest post-draft-18 + recharter. No messages.#moq-rs,#moq-js,#libquicr,#moq-interop-runnerall unchanged. - GitHub moq-wg repos:
- moq-transport — Issue #1632 (cross-spec collision) afrind May 14 18:43:18 UTC comment establishing LOC-new-draft + appendix-sync resolution path; Issue #1631 (codec switching) TRANSFERRED to moq-wg/msf Issue #162 after vasilvv May 14 11:56 UTC + wilaw May 14 16:41 UTC confirmations; Issue #607 (Group Order for Subscriptions, Suhas Nov 2024) CLOSED May 14 19:01:43 UTC by afrind as keep. PR #1476 (afrind delivery timeouts, Feb 9) updated May 14 11:50 UTC — needs rework after PR #1605 landed (DELIVERY_TIMEOUT split).
- moq-wg/msf — Issue #162 ACTIVE (transferred from moq-transport #1631): wilaw May 14 16:41 UTC framing the MSF position (new track, not codec switch). Issue #153 (vasilvv
initTrackdoes not work) still updated within window. PR #159 (catalog compression) updated May 15 04:45 UTC; PR #157 (group numbering) and PR #156 (object-stream mapping) quiet. - moq-wg/loc — Issue #20 (LOC-02 Properties collision, yuanchao-chris May 14) — no further activity; resolution path is the LOC-new-draft afrind referenced. Issue #19 (Luke Curley LOC Private Properties) still open.
- moq-wg/secure-objects, cmsf, catalog-format, privacy-pass: All quiet.
- GitHub implementations:
- moq-dev/moq: PR #1408 OPENED May 14 18:20:14 UTC (ksletmoe-aws, “feat(moq-mux, libmoq): add CMSF muxer, demuxer, and C API”, +3891/−457, first AWS contribution + largest single PR of 2026). PRs MERGED: #1402 (SteveMcFarlin moq-gst) May 14 16:45 UTC; #1407 (kixelated version bump) May 14 16:59 UTC; #1399 (skirsten MultiBackend) May 14 17:00 UTC; #1400 (skirsten PromiseReactions) May 15 04:37 UTC. Open: PR #1391 (release v0.16.1 moq-bot, May 15 04:39 UTC); PR #1405 (Karolk99 solid-js peerDependency, May 14 20:58 UTC); PR #1404 (Qizot Fix reading catalogs, May 14 16:58 UTC); PR #1401 (skirsten video pacing rAF) updated May 11.
- google/quiche (
quiche/quic/moqt): 2 new commits May 14 by martinduke — 9c96a40 22:49 UTC “Refactor: Move OutgoingDataStream to a separate file…”; 6b1d73b 23:03 UTC “Cleanup OutgoingSubgroupStream…“. Total 8 commits May 12–14 across 3 authors (martinduke, vasilvv, asedeno). - Eyevinn/moqlivemock: PR #79 MERGED May 14 08:08:57 UTC (hugobjoers LOCMAF, +2886/−83). PR #77 (CENC chain IV) already merged earlier.
- Eyevinn/warp-player: PR #120 (hugobjoers LOCMAF) updated May 14 12:02 UTC, still open. Dependabot PRs #121–127 all open Day +4.
- moqtail/moqtail: No new merges since May 13 morning release pipeline. PR #170 (April 8 closed) updated_at touch was a release-tagging side effect, not a new event.
- cloudflare/moq-rs: Day +32 main-quiet. PR #167 (suhas-nandakumar filter-framework) untouched since May 10 05:03 UTC — Day +5.
- video-dev/moq-js: No new commits since Feb 17.
- birneee/quiche_moq: No new commits since Mar 13.
- Eyevinn/moqtransport: No new commits since Apr 17.
- Quicr/cat-token: No new commits since May 10 22:30 UTC rename.
- Mailing list: 7 messages May 14–15 all on already-open threads. 5 replies May 14 on “[Moq] Re: Consensus call on Object filters” (Lorenzo Miniero / Luke Curley / Victor Vasiliev ×2 / Mo Zanaty) — first substantive engagement on Magnus’s May 12 consensus call. 2 replies May 14 on “[Moq] Re: Joining FETCH Survey” (Luke Curley / Victor Vasiliev). Yu You (Nokia) May 15 follow-up on the Joining Fetch user-case thread. No May 14–15 activity on Will Law’s recharter thread (Day +3 silence post-IAB-burst) or martinduke’s “On other use cases” thread. No Weekly GitHub digest May 14 or 15 (last digest May 10).
- IETF Datatracker: No new revisions May 13–15. WG state: transport-18 (Day +3), msf-00, loc-02, secure-objects-00, privacy-pass-02, cmsf-00. Notable individual: lite-04, subscribe-rewind-02, qlog-moq-events-06, nmsf-01, gregoire-moq-msfts-00 (May 6, Day +9, still no on-list announcement), englishm-cdn-provisioning-00, englishm-relay-dos-00.
- Interop runner: 19 / 72 / 14 at 2026-05-13 00:41:38 UTC — no May 14 / May 15 run as of this update. 4-PR registry expansion at May 13 17:23–17:25 UTC has interrupted the daily cadence.
- MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30). Day +15 since #1, breaking the longest-gap record set yesterday.
- tobbee/moq-llm-wiki: No new open issues.
Pages updated: discussions-2026-05.md (new “May 14 09:00 UTC → May 15 09:00 UTC” section covering: interop-runner 4-PR registry-expansion burst, AWS-enters-moq-dev/moq via PR #1408, Luke 4-PR-merge-in-12-hours review burst breaking 5-day quiet, moq-transport post-draft-18 issue triage pattern (Issues #1632 / 1631-transfer / #607), google/quiche moqt 2-more-commits, moqlivemock PR #79 LOCMAF merge, Filters consensus engaging on mailing list, Dragana Damjanovic Mozilla #moq join, interop runner 2-consecutive-missed-runs status), interop/interop-runner.md (registry expanded 11 → 15 roles, May 14 + May 15 rows added with ”—” pending), implementations/moq-dev.md (May 14 AWS PR #1408 callout in header), index.md (last_updated bump), log.md.
Key findings:
- The interop matrix is in its first structural expansion since the moqx-relay-add of April 11: 4 new participant roles in 2 minutes is a Mike English deliberate batch — likely a pre-London-interim staging act, getting all known mlmtest / moqx-client / aiomoqt / Nokia-v17 endpoints registered before the June 9–10 interop. The 2-consecutive-missed-runs is plausibly intentional: a 15-role matrix produces ~225 client-server pairs (vs ~121 for 11 roles), and the previous 105-test baseline was scoped to a known-passing subset. Carry-forward: the May 16 reading is the structural check — if total-tests count grows, the expansion is operational; if no run again, intervention will be needed before London.
- AWS has entered the moq-dev/moq orbit with a packaging-layer contribution, not a protocol-core contribution: ksletmoe-aws’s PR #1408 brings CMSF muxer/demuxer + C FFI — exactly the packaging/integration layer where AWS would have leverage for IVS, Media Live, Elastic Transcoder, etc. The fact that the contribution is to Luke’s moq-dev/moq (moq-lite) stack rather than to the IETF-aligned cloudflare/moq-rs is notable — it suggests AWS’s near-term productization path is the moq-lite ecosystem, not the WG-strict spec. Combined with the C FFI (libmoq) surface this PR introduces, the moq-dev stack is becoming the de-facto cross-language integration target for non-Rust/non-TypeScript producers (Go, C++, Python, etc.) — a substantial widening of the implementation surface beyond what cloudflare/moq-rs offers.
- The post-draft-18 issue triage pattern is now codified: WG editors are routing issues to (a) dependent specs (LOC-new-draft for #1632, MSF for #1631→#162), (b) future cycles (PR #1476 rework), or (c) closed-as-keep (#607). This is a notably different stance from pre-draft-18 where many issues bounced back-and-forth without resolution. The May 14 actions establish that draft-18 baseline is the contract; design churn is downstream work — exactly the editorial discipline needed to keep momentum toward IETF WGLC. The Issue #1631→#162 transfer also formalises a clean separation of concerns: MOQT defines the transport, MSF defines the media model, with codec/encoding decisions belonging to MSF. This is a foundational architectural clarification that the May 11 6-PR sprint did not encode.
- The moq-dev/moq external-contributor onboarding is accelerating, not slowing: SteveMcFarlin’s first-merge (PR #1402) makes 3 new external contributors in 5 days (metapox May 10, SteveMcFarlin May 14, ksletmoe-aws May 14). Previously the repo was almost exclusively Luke-authored; the May timeline shows Luke transitioning into a maintainer/review-and-merge role rather than sole contributor. Luke’s “gotta queue up the Claude prompt” (May 11) is now visibly playing out: external work batched and merged via Claude-orchestrated review sessions, with explicit
Co-authored-by: Claudetrailers on the version-bump PR #1407. Pattern: Luke is industrialising the maintenance pipeline. - The google/quiche moqt 8-commit-in-3-days push is the most credible draft-18-implementation signal in the ecosystem: martinduke’s structural refactor (separate files, explicit interfaces, private/public boundary cleanup) immediately after the draft-18 cut, with vasilvv joining the moqt subdir for the first time, reads as a coordinated 2-engineer push. The fact that this is happening at Google (where draft-ietf-moq-transport co-authors Martin Duke and Victor Vasiliev both work) means the implementation-spec feedback loop is tight. Carry-forward: by London (June 9–10), quiche-moqt may be the only matrix participant tracking draft-18 wire format — but it will be the editorially-authoritative one. This raises a strategic question: should the interop-runner matrix be re-scoped to draft-18-only for the June interim, or maintain draft-16 compatibility for the longer-tail implementations?
2026-05-14 — first post-draft-18 cross-spec collision flagged; MSF 3-PR cleanup
TL;DR:
- First post-draft-18 cross-spec coordination failure surfaces within 14 hours of publication: yuanchao-chris (new contributor, his 2nd issue in 2 days) opens twin cross-spec issues May 14 03:18 / 03:24 UTC — moq-transport Issue #1632 “MOQ-18: Properties Type collision with LOC-02” + moq-wg/loc Issue #20 “LOC-02: Properties Type collision” — concrete diff table: MOQ-18 §15.8-2 assigns
TIMESTAMP=0x06,TIMESCALE=0x08,VIDEO_FRAME_MARKING=0x0A,AUDIO_LEVEL=0x0C,VIDEO_CONFIG=0x0D; LOC-02 commit history saysTIMESTAMP=0x02(collides with Audio Level),VIDEO_FRAME_MARKING=0x04,AUDIO_LEVEL=0x06, etc. — i.e., MOQ-18 publication did not adopt the LOC IANA-registry-provisional values from PR #1624 (April 30, Issue #1550). This is the first ever cross-spec collision flagged by a non-author / non-WG-regular (yuanchao-chris has no prior repo history before May 13). The headline carry-forward: WG editorial coordination between moq-transport and LOC is not yet operational —wg-editorial-coordinationis now its own work item for the 2026-06-09-london-interim. moq-transport Issue #1631 (Track-level codec switching, yuanchao-chris May 13) afrind 05:11 UTC + yuanchao-chris 09:23 UTC exchange — afrind sketches new-group-with-codec-property-on-Object-0; yuanchao-chris confirms works in stream mode but in datagram mode needs property-stamped frames +REQUEST_UPDATE-based “ACK” semantics (subscriber tells publisher to stop adding the property once received). Mailing list — Yu You (Nokia) May 13 opens “[Moq] User case or question to Joining Fetch” — 4 same-day replies (Will Law / Zafer Gurel / Mo Zanaty / Will Law), first Nokia-driven on-list contribution since Yu You’s May 8 3GPP SA4 announcement. moq-wg/msf — 3 PRs MERGED May 13 10:30–18:43 UTC: PR #158 (Suhas, “Replace delta update fields with ordered operations array”, +72/−81, closes Issue #145); PR #133 (Suhas, “Add SCTE-35 support and CEA-608/708 accessibility fields”, +184/0, the long-debated event-timeline PR, closes Issue #95) — finally landed after the May 8 split-into-3-PRs debate; PR #161 (Will Law, “Update overlapping presentation time requirement”, +6/−1, closes Issue #155). Largest MSF main-advancement single-day in 2026. Will Law’s recharter thread shows no May 13/14 follow-up — Day +2 silence after the May 12 IAB cross-WG burst. - Implementations: google/quiche moqt — 4 commits May 13 continuing the post-draft-18 push: vasilvv first moqt-dir commit (“Use new MOQT control message parser API directly”); martinduke “Fix ASAN/MSAN errors in MoqtSessionTest and MoqtTrackTest”; martinduke “Fix an issue from AI review of cl/914368728” (first explicit “AI review” commit message in any wiki-tracked MoQ repo — Google’s internal AI code review flagging cl/914368728); asedeno “Fix OSS QUICHE build”. Combined with May 12’s 2 commits = 6 commits in 2 days, the most concentrated quiche-moqt activity since March 2026 — clearly tracking draft-17/18 implementation. moqtail/moqtail — 3 PRs MERGED May 13 08:41–08:44 UTC (PR #195 docs, PR #192 release, PR #196 ci-release) post-PR-193 release pipeline run. moq-dev/moq Day +5 main-quiet (last Luke commit May 9 22:30 UTC) — 5 external-contributor PRs still open (skirsten 1401, SteveMcFarlin #1402, Qizot #1398). cloudflare/moq-rs Day +31 main-quiet; PR #167 untouched Day +4. Eyevinn/moqlivemock LOCMAF PR #79 + warp-player PR #120 both updated May 13 09:30 UTC — Day +7 LOCMAF iteration. video-dev/moq-js / birneee/quiche_moq / Eyevinn/moqtransport / Quicr/cat-token all quiet.
- Interop: No new run since May 13 00:41:38 UTC reading of 19 / 71 / 14. The daily ~00:40 UTC run for May 14 has not yet fired (or has not yet published to the GitHub Pages site) as of this update. Carry-forward: the May 14 reading is the first that could reflect a google/quiche-moqt rebuild post-May 13 quiche-moqt commits — if the
quiche-moqimage is auto-rebuilt nightly, the 6 quiche-moqt commits May 12–13 (including PUBLISH_OK removal) should land in the next run; expect potentially larger movement than the +1/−1 daily variance.
Operation: Update Sources:
- Slack:
#moq— 3 thread replies on alan-frindell’s May 13 01:15 CEST “It’s heeeeere” draft-18 announcement: Paul Gregoire (mondain) May 13 05:59 CEST: “Is moqx already supporting it? I suppose I should already know the answer…” — first non-OpenMOQ-author public probe of OpenMOQ moqx draft-18 status; afrind 06:48 CEST: “lol no.” + “Goal is interop in London” — explicit confirmation that no implementation is draft-18-ready and the June 9–10 London interop is the formal interop target. No other#moqactivity in the May 13 06:00 UTC → May 14 ~09:00 UTC window.#moq-interop-runner,#moq-rs,#moq-js,#libquicrall unchanged. - GitHub moq-wg repos:
- moq-transport — Issue #1632 OPENED May 14 03:24 UTC (yuanchao-chris, “MOQ-18: Properties Type collision with LOC-02”) with concrete reference to MOQ-18 §15.8-2 and the LOC commit-history-implied values; Issue #1631 (Track-level codec switching) — afrind May 13 05:11 UTC reply + yuanchao-chris May 13 09:23 UTC reply (in-band codec switching answer for datagram mode involves property-stamped frames + REQUEST_UPDATE ACK semantics); Issue #1614 (kixelated Joining FETCH + SUBSCRIBE prioritization) pinged May 13 00:09 UTC; Issue #1459 (martinduke Request ID validation broken in draft-16) CLOSED May 12 23:51 UTC; PR #1476 (afrind delivery timeouts) updated May 13 00:07 UTC.
- moq-wg/loc — Issue #20 OPENED May 14 03:18 UTC (yuanchao-chris, “LOC-02: Properties Type collision”) — the LOC-side twin to moq-transport #1632. Issue #19 (Luke Curley May 5 LOC Private Properties) still open.
- moq-wg/msf — 3 PRs MERGED May 13 (PR #158 10:30 UTC, PR #161 18:43 UTC, PR #133 18:42 UTC); 3 Issues CLOSED May 13 (#145 10:30 UTC ordering of delta updates, #95 18:42 UTC close captions, #155 18:43 UTC sequence-aligned-groups). PR #157 (Suhas, Group numbering restarts) updated May 13 21:45 UTC. PR #156 (Suhas, Object-Stream mapping) updated May 13 16:27 UTC. PR #159 (Suhas, catalog compression via Track Properties — renamed) updated May 14 05:42 UTC. Issue #153 (vasilvv, “
initTrackdoes not work”) updated May 14 05:46 UTC. - moq-wg/secure-objects, cmsf, catalog-format, privacy-pass: All quiet.
- GitHub implementations:
- google/quiche (
quiche/quic/moqt): 4 new commits May 13 in addition to May 12’s 2 (Day +1 from the wiki’s May 13 entry): vasilvv “Use new MOQT control message parser API directly”, asedeno “Fix OSS QUICHE build”, martinduke “Fix ASAN/MSAN errors in MoqtSessionTest and MoqtTrackTest”, martinduke “Fix an issue from AI review of cl/914368728”. First “AI review”-cited commit message in wiki-tracked repos. 6 commits in 48 hours. - moqtail/moqtail: 3 PRs MERGED May 13 08:41–08:44 UTC — PR #195 docs (+64/0), PR #192 release-bot, PR #196 [ci] release. Bumps moqtail post-PR-193 (upstream FETCH on cache miss) into a release.
- moq-dev/moq: Day +5 main-quiet (no commits since May 9 22:30 UTC). PR #1400 last updated May 12 06:43 UTC; PR #1402 last updated May 12 03:48 UTC. No Luke review activity visible.
- cloudflare/moq-rs: Day +31 main-quiet (last commit Apr 13). PR #167 (suhas-nandakumar filter-framework) untouched since May 10 05:03 UTC — Day +4.
- Eyevinn/moqlivemock: LOCMAF PR #79 updated May 13 09:30 UTC (still open Day +7).
- Eyevinn/warp-player: LOCMAF PR #120 updated May 13 09:30 UTC. Dependabot PRs #121–127 all still open Day +3.
- video-dev/moq-js: No new commits since Feb 17.
- birneee/quiche_moq: No new commits since Mar 13.
- Eyevinn/moqtransport: No new commits since Apr 17.
- Quicr/cat-token: No new commits since May 10 22:30 UTC rename.
- google/quiche (
- Mailing list: 1 new thread May 13 — Yu You (Nokia) “[Moq] User case or question to Joining Fetch” with 4 same-day replies (Will Law / Zafer Gurel / Mo Zanaty / Will Law). Luke Curley May 13 reply on the “[Moq] Re: Consensus call on Object filters” thread (Magnus’s May 12 consensus call). No May 14 messages as of this update. Will Law recharter thread / martinduke “On other use cases” thread / afrind Joining FETCH Survey thread all show no May 13/14 follow-up.
- IETF Datatracker: No new draft revisions since draft-18 (2026-05-12). WG state: transport-18, msf-00, loc-02, secure-objects-00, privacy-pass-02, cmsf-00. Notable individual: lite-04, subscribe-rewind-02, qlog-moq-events-06, nmsf-01, gregoire-moq-msfts-00 (May 6, Day +8, still no on-list announcement), englishm-cdn-provisioning-00, englishm-relay-dos-00.
- Interop runner: 19 / 71 / 14 at 2026-05-13 00:41:38 UTC — no May 14 run yet as of this update (the ~00:40 UTC daily run may not have published).
- MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30). Day +14 since #1, longest gap to date.
- tobbee/moq-llm-wiki: No new open issues.
Pages updated: discussions-2026-05.md (new “May 13 06:00 UTC → May 14 09:00 UTC” section covering: yuanchao-chris cross-spec collision twin issues #1632 / loc #20, Issue #1631 in-band codec switching afrind/yuanchao-chris exchange, MSF 3-PR cleanup sequence, Yu You Nokia Joining FETCH thread, google/quiche moqt 4-commit draft-18 push including first “AI review”-cited commit, moqtail release-pipeline burst, moq-dev/moq Day +5 quiet, interop runner no-new-run status), drafts/moq-transport.md (Active Issues section: add Issue #1632 collision entry as headline post-draft-18 issue), drafts/moq-loc.md (Active Issues: add Issue #20 entry; last_updated bump), index.md (last_updated bump), log.md.
Key findings:
- Cross-spec coordination is the first concrete carry-forward from draft-18: The yuanchao-chris twin-issue filing (moq-transport #1632 + loc #20, same author within 6 minutes, 03:18–03:24 UTC May 14) is the first bilaterally-flagged cross-spec collision in the wiki record — Issue #1550 (April 16, also by yuanchao-chris on the LOC side) was a one-sided LOC-repo filing. Two observations: (a) yuanchao-chris has emerged in 5 days as the most active new cross-spec reviewer, having filed 4 issues across moq-transport + LOC since May 5 (no prior repo history); (b) PR #1624 (afrind, April 30, “provisional IANA registry for LOC properties”) was supposed to resolve the Issue #1550 collision by establishing a registry — but draft-18 §15.8-2 went out using a different assignment (TIMESTAMP=0x06, AUDIO_LEVEL=0x0C) than what the LOC commit history records (TIMESTAMP=0x02, AUDIO_LEVEL=0x06). So either (i) PR #1624’s registry was not synced into the editor’s draft-18 cut, or (ii) the registry is correct and LOC-02’s source needs updating but the LOC editors have not yet done so. Either way, a published WG document (draft-18) and a published WG document (loc-02) now diverge on assigned IANA-style codepoints — the kind of failure mode an editorial-coordination workflow exists to prevent.
- The in-band codec switching design discussion is the first MoQ design issue actively progressed in the post-draft-18 window: afrind’s “new group with codec property on Object 0” sketch + yuanchao-chris’s “datagram mode needs property-stamped + REQUEST_UPDATE ACK” extension is the first iteration of an actual new design problem since the May 11 6-PR sprint. The fact that a brand-new contributor is now driving design conversations day +1 of a new draft is a healthy sign for the WG’s external engagement — but also exposes that the H265→H264 / AV1→H264 use case (well-understood from WebRTC PT-change semantics) was not addressed in the draft-18 cut.
- google/quiche moqt is now the dominant draft-18 implementation push (post-draft-18 day count: 6 commits / 2 days vs all-other-tracked-repos: 1 docs + 1 release PR at moqtail, 0 main commits at moq-dev/moq + cloudflare/moq-rs). The vasilvv first moqt-dir commit indicates the moqt subdir is no longer martinduke-only and is becoming a coordinated 2-engineer project. The “AI review” commit message (martinduke May 13 16:38 UTC) is the first explicit Google-AI-code-review-tooling reference in a wiki-tracked MoQ commit — pattern: AI-tooling is now visibly in the loop in MoQ implementation at Google (alongside Luke Curley’s Claude orchestration at moq-dev/moq, Giovanni Marzot’s “over zealous claude” at OpenMOQ).
- MSF cleared its largest single-day delta of 2026: 3 PRs merged + 3 issues closed (May 13 10:30–18:43 UTC), with PR #133 (SCTE-35 + CEA-608/708) being the headline — open since Jan 30, with the wiki tracking 4 prior debate cycles (Apr 22 ContentProtection-and-Captions split, May 8 split-into-3-PRs from avelad, May 8 event-timeline restructuring from wilaw/gwendalsimon, May 11 Suhas’s “I do have initial drafts on…”). The fact that the PR landed as-is rather than being split into 3 event-timeline drafts indicates the split-out-event-timeline-drafts editorial direction (wilaw May 8) is future work, not blocking-merge work — MSF is consolidating before the London interim, not expanding.
- Interop runner’s May 14 run is materially-important: The May 13 reading (19/71/14, post-draft-18-day floor-breach) is the only matrix snapshot since google/quiche moqt’s PUBLISH_OK-removal commit landed pre-cutoff. Whether the May 14 run shows continued matrix degradation (because quiche-moq is now ahead of moq-transport-spec the matrix tests against) or recovery (because the spec-side is catching up) will be the first signal of how the spec-vs-implementation gap is resolving post-draft-18. Watch carry-forward: the May 15 update should be the first reading with a full nightly post-quiche-moqt-rebuild propagation.
2026-05-13 — draft-18 published; Will Law proposes recharter to non-media
TL;DR:
- draft-ietf-moq-transport-18.txt PUBLISHED 2026-05-12 — the long-anticipated cut. Phase 2 of the editorial work (after May 11 6-PR sprint) added 3 more merges to
mainMay 12 20:02–23:07 UTC: PR #1625 (suhasHere, Security Considerations — extends magnus-westerlund’s long-parked PR #1455, closes Issue #783); PR #1605 (vasilvv, Split DELIVERY_TIMEOUT into OBJECT_DELIVERY_TIMEOUT + new SUBGROUP_DELIVERY_TIMEOUT, +114/−76, closes Issue #667 “DELIVERY_TIMEOUT is unimplementable”); PR #1630 (alan-frindell, Draft 18 release notes, body literally “Behold”). Datatracker upload ~23:30 UTC; alan-frindell Slack#moqMay 13 01:15 CEST: “It’s heeeeere”. Draft-18 abstract rewritten to emphasise content-agnostic framing: “Despite its name referencing media, the specification emphasizes that MOQT remains content-agnostic and applicable across various use cases.” Mailing list — Will Law (Akamai) May 12 “[Moq] Proposal to recharter to include non-media use cases.” — proposes expanding the WG charter (chartered August 2022 for media) to cover AI inference / ML interfaces, sensor & telemetry, UAV C2, financial market data, AR/VR I/O; emphasises no MOQT protocol changes required. Same-day responses from Ted Hardie, Christian Huitema, Richard Barnes, martin-duke, Mo Zanaty — first time non-MoQ-regular IETF voices (Hardie / Huitema / Barnes) engage on a MoQ recharter thread on-list. The spec-side draft-18 abstract reframing and the WG-charter-side recharter proposal landed within 24 hours of each other. magnus-westerlund opens 2 filter consensus calls on-list May 12: (1) “Consensus call on Object filters” — PR #1518 (mzanaty), two-week consensus period through May 26, optional support with implementer capacity advertisement; (2) “Support for Track Filters and Top-N” — meeting poll was 7-7 (numerous-support vs equal-opposition), splits the question into “track filters without top-N” vs “track filters with top-N” and proposes the filters-as-extension-point pattern (first explicit chair framing). Magnus also posted “[Moq] Meeting cut short” clarifying yesterday’s Town Hall ended abruptly on Meetecho mis-configuration (afrind May 11 20:01 CEST had hinted with “Brutally killed by meetecho!”). moq-transport Issue #1631 OPENED May 13 02:23 UTC by yuanchao-chris (0 prior issues, new contributor) — “Track-level codec switching semantics” — first day-+1 post-draft-18 issue, raises in-band codec migration (H265→H264, AV1→H264 mid-session like RTP/WebRTC PT change inside same SSRC); afrind May 13 05:11 UTC answers with new-group-with-codec-property-on-Object-0 sketch. moq-wg/msf — Will Law adds Suhas Nandakumar to authors list (PR #160 merged May 12 12:30 UTC) — first MSF author-list change of 2026, formalises Suhas’s de-facto co-editor role; Will in MSF-issue-grooming mode 10:59–12:32 UTC closes Issues 111 in 4 minutes. moqtail PR #194 merged May 12 20:00 UTC (zafergurel, remove track-forwarding-preference dead code, +27/−52) bringing moqtail in line with draft-16 wire format; moqtail PR #195 docs update opened 21:17 UTC. - Implementations: google/quiche moqt — 2 commits May 12 by martin-duke after 7-day quiet, both explicitly preparing for draft-17/18: “Remove PUBLISH_OK message” (14:23 UTC, commit message: “Part of implementing draft-17/18 PUBLISH in draft-16”) and “Allow fragmented MOQT object payloads” (17:52 UTC, MoqtLiveRelayQueue robustness). First implementation activity directly cited as draft-17/18 work in any wiki-tracked repo, same day as draft-18 publication. moqtail PR #194 merged (above); PR #195 opened. moq-dev/moq Day +3 main-quiet — no Luke commits since May 9 22:30 UTC; the 5 external-contributor PRs from May 10–11 (SteveMcFarlin #1402, skirsten 1401, Qizot #1398) all open, with PR #1400 / #1402 updated May 12 morning UTC but no Luke review activity visible (consistent with afrind’s May 11 22:56 UTC “gotta queue up the Claude prompt” / Luke “in Claude orchestration mode” reading). cloudflare/moq-rs Day +30 main-quiet, PR #167 (Suhas filter-framework, +12163/−2197) untouched since May 10 — Suhas’s May 12 effort went into MSF + moq-transport Security Considerations, not the moq-rs filter framework, even as Magnus opened the Object Filters consensus call that PR #167 implements. Eyevinn/moqlivemock PR #80 merged May 12 08:02 UTC (fix(cenc): chain IV across CMAF fragments to avoid reuse); LOCMAF PR #79 unchanged Day +6; warp-player LOCMAF PR #120 + dependabot burst (PRs #121–127) all still open. video-dev/moq-js / birneee/quiche_moq / Eyevinn/moqtransport all quiet.
- Interop: 19 / 71 / 14 at 2026-05-13 00:41:38 UTC — −1 pass / +1 fail vs May 12 (20/71/14). Breaches the post-PR-#145 floor of 20 on the downside; first 19-reading since May 8. Walking arc: 22 → 23 → 22 → 23 → 23 → 23 → 24 → 25 → 24 → 24 → 20 → 20 → 20 → 20 → 19 → 20 → 20 → 21 → 20 → 19. Most plausible driver: google/quiche moqt commits May 12 14:23 / 17:52 UTC (both pre-cutoff) — the PUBLISH_OK removal is a wire-format-affecting change, so any
quiche-moqpair that had been passing on the PUBLISH_OK code point could be expected to flip; moqtail PR #194 (track-forwarding-preference removal) merged 20:00 UTC also pre-cutoff. moq-transport PRs #1625 / #1605 / #1630 (Phase 2 of draft-18 cut) are spec-only and don’t drive image rebuilds. At draft-18 publication day with no implementation tracking draft-18 yet, the spec-vs-implementation gap is at its widest; matrix at 20±1 for 9 of 10 May-weekday readings since May 5.
Operation: Update Sources:
- Slack:
#moq— 2 new posts in the May 12 01:00 UTC → May 13 06:00 UTC window, both from alan-frindell: May 12 00:53 UTC qmux-01 framing for draft-18 interop; May 13 01:15 CEST draft-18 announcement (“It’s heeeeere”).#moq-rs,#moq-js,#libquicr,#moq-interop-runnerall unchanged. - GitHub moq-wg repos:
- moq-transport — Phase 2 of draft-18 cut: PR #1625 MERGED May 12 20:02:18 UTC (suhasHere Security Considerations, closes Issue #783); PR #1605 MERGED May 12 23:04:53 UTC (vasilvv OBJECT_DELIVERY_TIMEOUT + SUBGROUP_DELIVERY_TIMEOUT split, closes Issue #667); PR #1630 MERGED May 12 23:07:53 UTC (alan-frindell “Draft 18 release notes”). Issue #1631 OPENED May 13 02:23 UTC by yuanchao-chris (new contributor) — “Track-level codec switching semantics”; afrind May 13 05:11 UTC reply. PR #1628 (afrind QMux moqt-18 ALPN) updated May 12 20:40 UTC, still open. PR #1476 (afrind, Feb 9 Delivery timeouts are both Track and Object Properties) updated May 13 00:07 UTC — needs rework after PR #1605 landed. PR #1607 / PR #1604 updated May 12 20:03 UTC. PR #1627 (ianswett SUBSCRIBE with Joining Fetch) still open Day +10.
- moq-wg/msf — PR #160 OPENED + MERGED May 12 12:30 UTC (will-law) — “Add Suhas Nandakumar to the authors list” (first MSF author-list change of 2026). Issues #93 / #100 / #111 CLOSED May 12 10:59–12:32 UTC (Will Law issue-grooming). Suhas’s May 11 4-PR burst (PRs #156–159) all still open with review iteration May 13 00:57–04:17 UTC.
- moq-wg/loc, secure-objects, cmsf, catalog-format, privacy-pass: All quiet.
- GitHub implementations:
- google/quiche (
quiche/quic/moqt): 2 commits May 12 by martin-duke — first activity in 7 days; both explicitly draft-17/18 prep work. - moqtail/moqtail: PR #194 MERGED May 12 20:00 UTC (zafergurel, remove track-forwarding-preference, +27/−52). PR #195 OPENED May 12 21:17 UTC (zafergurel, docs +64/0). Issue #148 CLOSED May 11 22:39 UTC.
- moq-dev/moq: Day +3 main-quiet (no commits since May 9 22:30 UTC). 5 external-contributor PRs from May 10–11 all open; skirsten PR #1400 updated May 12 06:43 UTC, SteveMcFarlin PR #1402 updated May 12 03:48 UTC. No Luke review activity visible May 12.
- cloudflare/moq-rs: Day +30 main-quiet. PR #167 untouched since May 10 05:03 UTC.
- Eyevinn/moqlivemock: PR #80 MERGED May 12 08:02 UTC (fix(cenc): chain IV across CMAF fragments). LOCMAF PR #79 unchanged Day +6.
- Eyevinn/warp-player: LOCMAF PR #120 + dependabot PRs #121–127 all still open.
- video-dev/moq-js: No new commits since Feb 17.
- birneee/quiche_moq: No new commits since Mar 13.
- Eyevinn/moqtransport: No new commits since Apr 17.
- google/quiche (
- Mailing list: 6+ threads in the May 12 window: [Moq] I-D Action: draft-ietf-moq-transport-18.txt (internet-drafts); [Moq] Proposal to recharter to include non-media use cases (Will Law) + responses from Ted Hardie / Christian Huitema / Richard Barnes / Martin Duke / Mo Zanaty; [Moq] Consensus call on Object filters (magnus-westerlund, + responses from Law / Luke Curley); [Moq] Support for Track Filters and Top-N (magnus-westerlund, + Mo Zanaty); [Moq] Meeting cut short (magnus-westerlund); [Moq] Re: On other use cases (Mo Zanaty, follow-up to martinduke’s May 11/12 thread).
- IETF Datatracker: draft-ietf-moq-transport-18 PUBLISHED 2026-05-12. WG state: transport-18 (NEW), msf-00, loc-02, secure-objects-00, privacy-pass-02, cmsf-00. Notable individual: lite-04, subscribe-rewind-02, qlog-moq-events-06, nmsf-01, gregoire-moq-msfts-00 (May 6, Day +7, still no on-list announcement), englishm-cdn-provisioning-00, englishm-relay-dos-00.
- Interop runner: 19 / 71 / 14 at 2026-05-13 00:41:38 UTC. −1 pass / +1 fail vs May 12 (20/71/14) — breaches post-PR-#145 floor of 20.
- MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30). Day +13 since #1.
- tobbee/moq-llm-wiki: No new open issues.
Pages updated: discussions-2026-05.md (new “May 12 01:00 UTC → May 13 06:00 UTC” section covering: draft-18 publication + Phase-2 PR sequence, draft-18 abstract reframing, Will Law recharter proposal + IAB/cross-WG response list, Magnus Westerlund Object Filters + Track Filters/Top-N consensus calls, Magnus “Meeting cut short” note on Meetecho mis-config, Issue #1631 codec-switching first day-+1 issue, MSF Will Law issue-grooming + PR #160 authors-list change, google/quiche moqt 2-commit draft-17/18 prep, moqtail PR #194 track-forwarding-preference removal, moq-dev/moq Day +3 quiet observation, Eyevinn moqlivemock PR #80 CENC IV chaining fix, interop floor-breach), drafts/moq-transport.md (draft_version bumped to 18, abstract rewritten with draft-18 framing, new Recent Changes (draft-18) section with two-phase cut breakdown), interop/interop-runner.md (May 13 row added + floor-breach narrative + draft-18-publication-day framing), index.md (moq-transport row bumped to draft-18 with 2026-05-12 publication date, last_updated bump), log.md.
Key findings:
- draft-ietf-moq-transport-18 lands: After 47 days of Apr/May editorial work (the longest sustained 2026 sprint), draft-17 → draft-18 is now the published canonical reference. The two-phase cut sequence — Phase 1 May 11 21:32–22:02 UTC (6 PRs in 30 min: #1544 + #1615 + #1617 + #1618 + #1621 + #1629) and Phase 2 May 12 20:02–23:07 UTC (3 PRs: #1625 + #1605 + #1630) — is the largest moq-transport
main-advancement sequence in the wiki record. PR #1615 Remove Required Request ID is the single headline change implementing the Apr 27 interim consensus; the entire May 11–12 editorial sequence was structured around it. The cut went uncelebrated on#moqbeyond afrind’s 5-word announcement (“It’s heeeeere”) — consistent with the WG’s pattern of decompressing all communication into bursts (5-day silence May 6–10, then May 11 burst, then May 12 Town Hall + draft cut, then May 13 quiet). - The protocol-vs-charter reframing arrives in a single 24-hour window: The draft-18 abstract was rewritten to emphasise “Despite its name referencing media, the specification emphasizes that MOQT remains content-agnostic and applicable across various use cases” — and Will Law’s recharter proposal arrives within hours, formalising the WG charter side of the same reframing. The mailing-list responses from Ted Hardie / Christian Huitema / Richard Barnes (none of whom are MoQ-regulars; all are senior IETF/IAB figures) are the first cross-WG engagement on MoQ scope on the wiki record — implying the proposal has carried beyond the MoQ WG’s usual perimeter. Carry-forward: a formal WG recharter process is now plausible 2026-Q3, with the June 9–10 London interim/interop as the natural venue for a charter-proposal discussion alongside the Joining FETCH technical agenda.
- Magnus Westerlund frames filters as extension-points: Magnus’s parallel Object Filters consensus call (May 12 → May 26 deadline) + Track Filters / Top-N question, with explicit “potential to divide filters into core functionality vs optional extensions” framing, is the first WG-chair-level articulation of the filters-as-extension-point pattern for moq-transport. This is the natural draft-18 → draft-19 trajectory: the May 12 cut establishes a stable -18 baseline; the filters debate then proceeds as extension-point work without blocking the core spec. The Object Filters consensus call references PR #1518 (mzanaty) which has been open since Mar 2 and saw first activity in weeks May 11 — now the spec-side anchor of the consensus question.
- google/quiche moqt is the first implementation moving on draft-18 (same day as the cut): martin-duke’s May 12 commits “Remove PUBLISH_OK message” (with commit message “Part of implementing draft-17/18 PUBLISH in draft-16”) + “Allow fragmented MOQT object payloads” land the same day as draft-18 publication, making quiche-moq the first wiki-tracked implementation with explicit draft-17/18 prep on
main. Other implementations (moq-dev/moq, moqtail, moq-rs) are all still tracking draft-16 wire formats. The implication for the June 9–10 London interop is significant: if quiche-moq is the only draft-18-tracking implementation by June 9, it will need to interop against draft-16/14 implementations using draft-16/14 wire formats. The QMux moqt-18-over-TLS+TCP path (afrind PR #1628) is a parallel second interop pillar for draft-18 — “For anyone interested in draft-18 interop over QMux, we intend to use qmux-01 framing” implies a draft-18-aligned QMux interop subset alongside the QUIC main path. - Interop matrix breaches the floor on draft-18 day: 19/72/14 is the first sub-20 reading since May 8 — and lands exactly on the day draft-18 publishes, with no draft-18 implementation in the matrix yet. The most likely flip driver is the google/quiche moqt PUBLISH_OK removal landing pre-cutoff (wire-format-affecting). The matrix has now been at 20±1 for 9 of 10 May-weekday readings since May 5 — completely insensitive to the parallel spec activity. Carry-forward: the post-draft-18 interop matrix needs structural attention — without a draft-18 build for at least one matrix participant, the matrix cannot demonstrate draft-18 stability between now and the June 9–10 London interop.
2026-05-12 — draft-18 sprint lands; OpenMOQ fork incident surfaces
TL;DR:
- moq-transport — 6 PRs MERGED in 30 minutes (May 11 21:32–22:02 UTC), the largest single-sitting editorial sprint of 2026: PR #1544 “Improve Startup Latency and 0-RTT” (fixes #420, #8…); PR #1615 “Remove Required Request ID” (fixes #1603, materializes Apr 27 interim consensus — the headline draft-18 commit); PR #1617 GOAWAY on request streams; PR #1618 FIRST_OBJECT bit 0x40 in SUBGROUP_HEADER; PR #1621 forbid relays from lying about LARGEST_OBJECT; PR #1629 scope-definition (fixes #1432). alan-frindell queued the entire Apr 14–30 stack overnight on May 10/11 so it could land in one sequence ahead of the May 12 Town Hall (Dan Rayburn, 13:00 ET / 17:00 UTC). Issue #1603 CLOSED 21:41:24 UTC, with afrind’s “This is now tracked in #1519” forwarding the “dependency structure between requests” pieces to vasilvv’s PR #1519. ian-swett PR #1627 “SUBSCRIBE with Joining Fetch” (+44/−139 net-shrink, fixes 1612) is the alternative Joining-FETCH approach being surveyed below. alan-frindell PR #1628 (
moqt-18ALPN over QMux+TLS+TCP) updated May 11 22:43 UTC; Slack#moqconfirmation 22:53 UTC (00:53 CEST May 12): “For anyone interested in draft-18 interop over QMux, we intend to use qmux-01 framing.” — first explicitqmux-01framing target announced. Mailing list reactivates after 5-day silence: afrind opens “[Moq] Joining FETCH Survey” (Slack 18:02 UTC, list 18:15 UTC) with 2 multi-question polls (4.1/4.2/4.3 on past-data flow control + Y/N + MAY/MUST/MUST NOT; plus “willing to delay WGLC and RFC by ___ months for a more preferable Joining FETCH outcome: 0/1/2/3/4+”). martinduke opens “[Moq] London Agenda requests” same day, “[Moq] On other use cases” May 12; London interim/interop is June 9–10 (alan-frindell “interop is 6/9-10”). moq-wg/msf — suhas-nandakumar opens 4 new PRs in 1 hour evening May 11: PR #156 (object→stream mapping implementation-specific, addresses #148), PR #157 (group numbering for restarts, addresses #147), PR #158 (replace delta updates with ordered operations array, addresses #145), PR #159 (catalog compression via track name suffix); plus luke-curley May 11 23:23 UTC on Issue #139 proposes nested-object catalog structure ("container": {"kind": "cmaf", "initData": "..."}). MSF spec-trimming continues — Suhas in spec-curator mode.#moq-interop-runnerchannel (Mike English created May 9 18:09 CEST) hosted OpenMOQ fork incident in its first 48h: Mike English May 9 18:20 CEST noticesopenmoq/moq-interop-runnerfork with cloned issues; giovanni-marzot admits “over zealous claude perhaps”, makes fork private May 10 17:37 CEST; lucas-pardue May 10 19:57 CEST escalates: “this is not a good look for OpenMoQ. Taking IETF work, forming pay to participate consortia, and then coopting running code from others. Thats not how we develop standards”; will-law May 10 21:02 CEST 5-paragraph response: “This is not an official OpenMOQ action … we need an improved system for validating code provenance before it is merged into any repo managed by openmoq. I’ll ask the dev team to institute that next week.” First public OpenMOQ governance incident on record; Claude-as-community-friction-vector (Giovanni: “claude overstepped”). Episode closed (fork private, issues retracted); carry-forward is OpenMOQ code-provenance review next week. - Implementations: moqtail/moqtail PR #193 [4/n] MERGED May 11 22:37:32 UTC after Day +5 stuck — completes the [N/n] upstream-FETCH series (#186/#187/#188 May 6 + #193 May 11). moq-dev/moq Day +2 main-quiet but 5 external-contributor PRs open in 24h: first contribution from SteveMcFarlin PR #1402 (moq-gst CAPS+EOS fixes, 0 prior commits — second new external contributor after metapox May 10); skirsten PRs 1401 (video pacing rAF + PromiseReactions leak + MultiBackend close); Qizot PR #1398 (track activity signals +197/−6). Open-PR queue now ~12, deepest in repo history. cloudflare/moq-rs Day +29 main-quiet; PR #167 (Suhas filter-framework, +12163/−2197) untouched since May 10 05:03 UTC — Suhas’s May 11 evening went to MSF PRs #156–159 instead. Quicr/cat-rs renamed → Quicr/cat-token (May 10 22:30 UTC commit confirms Suhas’s May 6 announcement). Eyevinn/warp-player saw dependabot burst (PRs #121–127). google/quiche moqt / video-dev/moq-js / birneee/quiche_moq / Eyevinn/moqlivemock+moqtransport all quiet.
- Interop: 20 / 71 / 14 at 2026-05-12 00:37:28 UTC — −1 pass / +1 fail vs May 11 (21/70/14), back to the post-PR-#145 floor. The May 11 +1 lift was per-run variance, not a real recovery. Walking arc: 22 → 23 → 22 → 23 → 23 → 23 → 24 → 25 → 24 → 24 → 20 → 20 → 20 → 20 → 19 → 20 → 20 → 21 → 20. Matrix has now been at 20±1 for 8 of 9 May-weekday readings since May 5. No implementation activity in window: moqtail PR #193 merged 22:37:32 UTC (after run cutoff); moq-transport 6 PRs spec-only; moq-dev/moq main Day +2 quiet. Most plausible flip-back driver is a borderline
moq-dev-rs/moq-dev-jspair that passed May 11 by variance. Pre-Town-Hall reading: matrix opens the May 12 Town Hall at the floor, having shown no real movement in 8 days.
Operation: Update Sources:
- Slack:
#moq— 8 new posts in the May 11 12:00 UTC → May 12 01:00 UTC window: afrind 18:01 “Brutally killed by meetecho!”, afrind 18:02 (4.1/4.2/4.3 survey questions), afrind 18:03 (delay-WGLC survey question), afrind 18:15 “Now available as list email”, suhas-nandakumar 18:24 “wonder a survey monkey link”, afrind 18:29 “Eh, email will let people express their nuanced feelings”, afrind 22:53 “For anyone interested in draft-18 interop over QMux, we intend to use qmux-01 framing”, luke-curley 22:55 “when is draft-18?”, afrind 22:56 “tomorrow”, luke-curley 22:56 “gotta queue up the Claude prompt”, afrind 22:56 “interop is 6/9-10”.#moq-interop-runnerchannel (C0B2KQLJGN7): 22 messages in May 9 18:09 CEST → May 12 00:32 CEST window, including the OpenMOQ fork incident (Mike English May 9 18:20 CEST → Will Law May 10 21:02 CEST).#moq-rs,#moq-js,#libquicrall unchanged. - GitHub moq-wg repos:
- moq-transport (the BIG editorial day):
- 6 PRs MERGED May 11 21:32–22:02 UTC: #1544 (afrind, Improve Startup Latency and 0-RTT, fixes #420 #8…), #1615 (afrind, Remove Required Request ID, fixes #1603 — Apr 27 interim consensus), #1617 (afrind, GOAWAY on request streams, fixes #1481), #1618 (afrind, FIRST_OBJECT bit 0x40), #1621 (afrind, forbid relays from lying about LARGEST_OBJECT, fixes #1386), #1629 (vasilvv, Clarify definition of scope, fixes #1432).
- Issue #1603 CLOSED May 11 21:41:24 UTC by afrind with “This is now tracked in #1519”.
- PR #1628 (afrind QMux moqt-18 ALPN) updated May 11 22:43 UTC, now
mergeable_state=clean. - PR #1627 OPENED May 3, updated May 11 20:42 UTC — ian-swett “SUBSCRIBE with Joining Fetch” (+44/−139, fixes #1039 #1313 #1602 #1612) — competing Joining-FETCH-as-SUBSCRIBE-mode approach.
- PR #1623 (Ian Swett, Remove Request ID from GOAWAY, reverts #1559) updated May 11 22:19 UTC — now redundant on most lines after #1617 merged.
- PR #1625 (suhasHere, Magnus Security Considerations rebase) updated May 11 23:03 UTC, rebased on top of new
main. - PR #1605 (vasilvv, DELIVERY_TIMEOUT split into OBJECT_DELIVERY_TIMEOUT + SUBGROUP_DELIVERY_TIMEOUT) updated May 11 23:56 UTC.
- PR #1591 (Ian Swett, RFC: Add flow control for Subscriptions, MAX_SUB_STREAMS + MAX_SUB_BYTES + SUBGROUP_RESET, fixes #869) updated May 11 22:18 UTC.
- PR #1518 (mzanaty, Filters with reduced scope, no location or group filter, +265/−16) updated May 11 16:27 UTC — first activity in weeks.
- PR #1519 (vasilvv, Improve design of requests blocking on other requests) updated May 11 21:40 UTC — now designated tracker for swap-tracks / ABR / pause-unpause use cases formerly motivating required-request-id.
- moq-wg/msf (Suhas burst May 11 22:21–23:08 UTC):
- PR #156 OPENED May 11 22:21 UTC (Suhas, Make MOQT Object to Stream mapping implementation-specific, +7/−3, addresses #148,
mergeable_state=clean). - PR #157 OPENED May 11 22:29 UTC (Suhas, Clarify Group numbering requirements for restarts (#147), +10/−13).
- PR #158 OPENED May 11 22:41 UTC (Suhas, Replace delta update fields with ordered operations array, +63/−56, addresses #145).
- PR #159 OPENED May 11 23:08 UTC (Suhas, Add catalog compression support via track name suffix, +40/−1).
- Issue #139 (luke-curley May 11 23:23 UTC): proposes nested-object catalog structure.
- Issue #129 (yuyou): Suhas May 11 21:50 UTC explains BiDi-stream semantics for PUBLISH+FORWARD=1.
- Issue #111, #102: minor activity.
- PR #133 (Suhas SCTE-35 + CEA-608/708) updated May 11 21:41 UTC.
- PR #156 OPENED May 11 22:21 UTC (Suhas, Make MOQT Object to Stream mapping implementation-specific, +7/−3, addresses #148,
- moq-wg/loc, secure-objects, cmsf, catalog-format, privacy-pass: All quiet on
main.
- moq-transport (the BIG editorial day):
- GitHub implementations:
- moq-dev/moq (Day +2 main-quiet, 5 external-contributor PRs in 24h):
- PR #1402 OPENED May 12 00:04 UTC by SteveMcFarlin (+33/−22, 0 prior commits — first contribution) — “moq-gst: Fix MoqSink CAPS handling and per-pad EOS aggregation”.
- PR #1401 OPENED May 11 20:41 UTC by skirsten (+243/−139) — “Refactor/video pacing rAF”.
- PR #1400 OPENED May 11 20:21 UTC by skirsten (+17/−12) — “fix: stop leaking PromiseReactions in consumer loops”.
- PR #1399 OPENED May 11 20:18 UTC by skirsten (+3/−0) — “fix(watch): close MultiBackend’s sync and sources”.
- PR #1398 OPENED May 11 07:21 UTC by Qizot (+197/−6) — “Expose track name and used/unused activity signals”.
- PR #1396 (metapox SUBSCRIBE_UPDATE JS API) updated May 11 08:33 UTC.
- Open-PR queue now ~12, deepest in repo history.
- cloudflare/moq-rs: PR #167 (suhas-nandakumar filter-support framework, +12163/−2197) untouched since May 10 05:03 UTC. Day +29 main-quiet.
- moqtail/moqtail: PR #193 MERGED May 11 22:37:32 UTC (final stats +303/−158) — completes the [N/n] upstream-FETCH-on-cache-miss series. PR #192 (release-bot) opened May 11 22:38:27 UTC.
- Eyevinn/warp-player: dependabot burst — PRs #121–127 opened May 11 23:33–23:35 UTC (eslint 9→10, typescript 5.9→6.0, commitlint 20.5→21, deps groups). LOCMAF PR #120 unchanged Day +5.
- Eyevinn/moqlivemock: LOCMAF PR #79 unchanged Day +5.
- Quicr/cat-token (renamed from
cat-rs): commit May 10 22:30 UTC “Update repository URL to Quicr/cat-token, bump to 0.1.2” confirms Suhas’s May 6 Slack announcement. - video-dev/moq-js: No new commits since Feb 17.
- google/quiche (
quiche/quic/moqt): No new commits since May 5 01:02 UTC — Day +7 quiet. - birneee/quiche_moq: No new commits since Mar 13.
- Eyevinn/moqtransport: No new commits since Apr 16.
- moq-dev/moq (Day +2 main-quiet, 5 external-contributor PRs in 24h):
- Mailing list (reactivates after 5-day silence): 4 new threads / 4 new responses in May 11–12 window: afrind “[Moq] Joining FETCH Survey” (May 11); martinduke “[Moq] London Agenda requests” (May 11); Mo Zanaty + martinduke “[Moq] Re: Joining FETCH Survey” (May 11); martinduke “[Moq] On other use cases” (May 12); Mo Zanaty “[Moq] Re: On other use cases” (May 12).
- IETF Datatracker: No new draft revisions in the May 7–12 window. WG state unchanged: transport-17, msf-00, loc-02, secure-objects-00, privacy-pass-02, cmsf-00. Notable individual: lite-04 (Apr 9), nmsf-01 (Apr 7), qlog-moq-events-06 (Mar 16), gregoire-moq-msfts-00 (May 6, Day +6, still no on-list announcement). Draft -18 candidate text is now effectively assembled on
mainafter the 6-PR merge sprint; awaits editor cut for datatracker submission. - Interop runner: 20 / 71 / 14 at 2026-05-12 00:37:28 UTC. −1 pass / +1 fail vs May 11 (21/70/14) — back to the post-PR-#145 floor. Walking arc: 22 → 23 → 22 → 23 → 23 → 23 → 24 → 25 → 24 → 24 → 20 → 20 → 20 → 20 → 19 → 20 → 20 → 21 → 20. The May 11 +1 lift was per-run variance, not a real recovery. Matrix at 20±1 for 8 of 9 May-weekday readings since May 5.
- MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30). Day +12 since #1, longest gap to date.
- tobbee/moq-llm-wiki: No new open issues. (3 closed: #1, #2, #3.)
Pages updated: discussions-2026-05.md (new “May 11 12:00 UTC → May 12 01:00 UTC” section covering: 6-PR moq-transport editorial sprint, afrind Joining FETCH Survey + qmux-01 framing announcement, mailing-list 5-day-silence break, MSF Suhas 4-PR burst, moq-dev/moq 5-external-PR wave + SteveMcFarlin first contribution, moqtail PR #193 merge completing upstream-FETCH series, OpenMOQ fork incident in #moq-interop-runner channel, Quicr/cat-rs → cat-token rename, dependabot warp-player burst, interop floor-return), interop-runner.md (May 12 row + flip-back-to-floor narrative + 8-of-9-readings-at-floor framing), index.md (last_updated bump), log.md.
Key findings:
- The largest single-sitting editorial sprint in moq-transport 2026 lands May 11 21:32–22:02 UTC: 6 PRs in 30 minutes, headlined by PR #1615 “Remove Required Request ID” which materializes the Apr 27 interim consensus on draft -18. alan-frindell’s strategy of queueing the entire Apr 14–30 PR stack on May 10/11 for a single-sitting merge is now visible — he’s been clearly waiting for the day before the May 12 Town Hall. Draft -18 candidate text is effectively assembled on
mainafter this sprint; the next datatracker submission is the long-anticipated -18. The Slack confirmation (afrind 22:53 UTC: “For anyone interested in draft-18 interop over QMux, we intend to use qmux-01 framing”) makes qmux-01 the official target framing for draft-18 interop testing — first concrete commitment after May 11’s PR #1628 floated the idea. - The mailing-list 5-day-silence-then-coordinated-burst pattern continues to be the WG’s pre-public-event signature: silence May 6–10 (only May 10 weekly digest), then May 11 sees afrind’s Joining FETCH Survey (Slack + list), martinduke’s London Agenda + use-cases threads, with Mo Zanaty responses. The survey is the first WG-wide poll specifically on Joining FETCH timing-vs-design tradeoffs (“willing to delay WGLC and RFC by ___ months: 0/1/2/3/4+”), positioning the May 12 Town Hall not as a presentation but as a forcing function for WG-wide consensus on whether to delay. ian-swett’s PR #1627 “SUBSCRIBE with Joining Fetch” (+44/−139) is the net-shrink alternative being implicitly surveyed — fold Joining FETCH into SUBSCRIBE modes rather than allow it to be sent on the SUBSCRIBE stream.
- OpenMOQ governance episode is the first public friction between OpenMOQ and Cloudflare: lucas-pardue’s May 10 19:57 CEST characterization (“Taking IETF work, forming pay to participate consortia, and then coopting running code from others”) is the deepest public critique of OpenMOQ’s IETF-relation posture on the wiki record. The carry-forward is structural: will-law commits to OpenMOQ code-provenance review before merge (“ask the dev team to institute that next week” — i.e. week of May 12–18). The
#moq-interop-runnerchannel is now a high-visibility venue, not a quiet operational channel — to be probed every update. First MoQ-ecosystem LLM-driven community-incident on record: Giovanni cites “over zealous claude perhaps” / “claude overstepped” — fork-then-clone-issues was an LLM-assisted action that went further than intended. This is a noteworthy precedent for an ecosystem where LLM-tooling is now widespread (Luke May 11: “gotta queue up the Claude prompt”). - moq-dev/moq’s external-contributor wave continues: SteveMcFarlin May 12 00:04 UTC is the second consecutive new external contributor after metapox May 10. Combined with skirsten (4 prior) + Qizot (3 prior) recurring, the May 10–11 24h window has 5 external-contributor PRs vs zero Luke commits to
main. Luke is in Town Hall prep / Claude-orchestration mode, not merge mode. The repo is transitioning from solo-Luke to community-contributed in real time. - Interop matrix’s pre-Town-Hall reading is at the floor: 20/71/14 for 8 of 9 May-weekday readings since May 5. The May 11 +1 was variance, not recovery. The May 12 Town Hall opens with the matrix unable to demonstrate post-Apr-27-interim improvement to the public audience — the spec is moving faster than the implementations are catching up.
2026-05-11 — moq-transport pre-Town-Hall burst surfaces draft-18 / QMux fallback
TL;DR:
- moq-wg/moq-transport pre-Town-Hall burst — the day before the May 12 MOQ Town Hall (Dan Rayburn / will-law), the tracker — quiet for days during the May 6–10 mailing-list silence — receives 7 PRs and 3 issue threads of activity in the May 11 00:27–05:53 UTC window from alan-frindell and Victor Vasilyev (vasilvv). First public mention of
moqt-18ALPN lands in afrind’s new PR #1628 “Add QMux framing for moqt-18 over TLS+TCP” (+4/−3, OPENED May 11 01:29 UTC, fixes Issue #1626 sharmafb May 1 “Version negotiation for QMUX”) — first spec-side commitment to MoQ-over-TLS+TCP via QMux v1, signaling the post-Apr-27-interim editorial work is being cut into draft -18 candidate text on GitHub. lucas-pardue May 11 01:57 UTC comment cites QMux draft §8.1-2 ALPN naming rules — first Pardue moq-transport comment in months, Cloudflare’s QMux co-author tagging in for ALPN review. Other newly-opened: PR #1629 (vasilvv +7/−0, “Clarify definition of scope”, fixes michalhosna’s Mar 14 session-reuse Issue #1432). Older PRs rebased/refreshed for Town Hall: #1605 (vasilvv, DELIVERY_TIMEOUT split into OBJECT_DELIVERY_TIMEOUT + new SUBGROUP_DELIVERY_TIMEOUT, +112/−77); #1617 (afrind, GOAWAY on request streams to migrate individual requests, +85/−73); #1618 (afrind, FIRST_OBJECT bit 0x40 in SUBGROUP_HEADER, type-format expands 0b00X1XXXX → 0b0XX1XXXX, +22/−10); #1621 (afrind, forbid relays from lying about LARGEST_OBJECT, +8/−1); #1625 (suhasHere, rebased magnus-westerlund Security Considerations PR #1455, +132/−1). Issue threads: #1603 (martinduke required-request-id, 12 comments) — afrind May 11 01:33 UTC quotes Cullen’s mailing-list swap-tracks use case, bringing Apr 27 interim consensus (“remove required-request-id from draft 18 and fix Joining Fetch”) into direct collision with Cullen’s pushback; #1614 (kixelated JOINING-FETCH+SUBSCRIBE prioritization) Day +14 ping; #1582 (vasilvv REQUEST_ERROR caching) Day +42 ping. - moq-wg/msf Issue #8 (Content protection) — vasilvv May 11 02:54 UTC: “This should probably be moved to CMSF repo, since that’s where the text about content protection was moved.” Pushes back on suhasHere’s May 9 “can we close this?”, extending the broader May spec-restructuring pattern (event-timeline + content-protection text migrating out of MSF into format-specific WG documents).
- Implementations: First full day of all-around
main-side quiet in May. moq-dev/moq Day +1 quiet since Luke’s May 9 22:30 UTC PR #1393 merge; 7-PR open queue unchanged at +4362/−307 (#1374 Day +7, #1388 Day +4, #1389 Day +4 no further LOC growth, 1397 Day +1). cloudflare/moq-rs Day +28 main-quiet, PR #167 (suhas-nandakumar +12163/−2197) untouched since May 10 05:03 UTC. moqtail PR #193 [4/n] (sharmafb +248/−132) Day +5 stuck mergeable_state=blocked, the longest non-Luke PR stall in moqtail draft-16 era. video-dev/moq-js, birneee/quiche_moq, google/quiche moqt, Eyevinn/moqlivemock+warp-player (LOCMAF PRs Day +4), Eyevinn/moqtransport, Quicr/cat-rs all quiet. Slack#moq: Mike English (Cloudflare) May 9 18:23 CEST creates new#moq-interop-runnerchannel (C0B2KQLJGN7) — first split of interop-runner discussion off the main channel. Luke May 9 20:13 CEST posts HN WebRTC flame-war link (news.ycombinator.com/item?id=48051951), pre-Town-Hall public-discourse positioning. - Interop: 21 / 70 / 14 at 2026-05-11 00:42:00 UTC — +1 pass / −1 fail vs May 10 (20/71/14). Walking arc: 22 → 23 → 22 → 23 → 23 → 23 → 24 → 25 → 24 → 24 → 20 → 20 → 20 → 20 → 19 → 20 → 20 → 21. Marginal lift above the post-PR-#145 floor, still −4 below the May 2 high (25). Most plausible cause: first run since the May 9 evening moq-dev/moq merges (PRs #1338 / #1392 / #1393), so
moq-dev-rs/moq-dev-jsdocker images rebuilt againstmoq-lite v0.16.0for the first time. PR #1393’s cache-eviction 30s → 5s tightening is the most likely single-pair flip-driver. moqtail PR #193 and moq-rs PR #167 still open — nomoqtail-relayormoq-rs-draft-16rebuild involved.
Operation: Update Sources:
- Slack:
#moq— 2 new posts in the May 9 11:00 UTC → May 11 12:00 UTC window: (a) Mike English May 9 18:23 CEST (16:23 UTC) created#moq-interop-runnerchannel (C0B2KQLJGN7); (b) luke-curley May 9 20:13 CEST posted HN WebRTC flame-war link.#moq-rs,#moq-js,#libquicrall unchanged. - GitHub moq-wg repos:
- moq-transport (pre-Town-Hall burst):
- PR #1628 OPENED May 11 01:29 UTC (alan-frindell, +4/−3,
mergeable_state=blocked) — “Add QMux framing for moqt-18 over TLS+TCP”. First publicmoqt-18ALPN reference; fixes Issue #1626 (sharmafb May 1). lucas-pardue May 11 01:57 UTC cites QMux §8.1-2 ALPN naming rules — implies afrind’smoqt-18ALPN needs to be QMux-suffixed. - PR #1629 OPENED May 11 05:47 UTC (vasilvv, +7/−0,
mergeable_state=clean) — “Clarify definition of scope”. Fixes Issue #1432 (michalhosna Mar 14 session-reuse rules). - PR #1605 (vasilvv, Apr 14, +112/−77) — “Split DELIVERY_TIMEOUT into two types of timeout” — updated May 11 04:28 UTC with “Addressed the comments.” Splits into
OBJECT_DELIVERY_TIMEOUT+ newSUBGROUP_DELIVERY_TIMEOUT. Fixes Issue #667. - PR #1617 (afrind, Apr 28, +85/−73) — “Allow GOAWAY on request streams to migrate individual requests” — updated May 11 05:20 UTC. Per-request GOAWAY with zero-length URI causes endpoint to re-issue request on the specified URI session. Fixes Issue #1481.
- PR #1618 (afrind, Apr 28, +22/−10) — “Add FIRST_OBJECT bit to SUBGROUP_HEADER type” — updated May 11 04:39 UTC. Bit 6 (0x40) signals subgroup contains the first object published by the original publisher; type byte expands 0b00X1XXXX → 0b0XX1XXXX (still 1-byte varint).
- PR #1621 (afrind, Apr 28, +8/−1) — “Forbid relays from lying about LARGEST_OBJECT” — updated May 11 00:27 UTC. Fixes Issue #1386.
- PR #1625 (suhasHere, Apr 30, +132/−1) — “Rebased and Update Security Considerations PR from Magnus Westerlund” — updated May 11 01:09 UTC. Rebases magnus-westerlund’s PR #1455.
- Issue #1603 (martinduke, “What is the use case for required-request-id”, 12 comments) — afrind May 11 01:33 UTC quotes Cullen’s mailing list post: “1) Swap tracks …“. Brings the Apr 27 interim consensus (Ian Swett “remove required-request-id from draft 18”) into collision with Cullen’s swap-tracks use case.
- Issue #1614 (kixelated JOINING FETCH + SUBSCRIBE prioritization) — Day +14 ping at May 11 03:09 UTC.
- Issue #1582 (vasilvv REQUEST_ERROR caching) — Day +42 ping at May 11 03:09 UTC.
- PR #1628 OPENED May 11 01:29 UTC (alan-frindell, +4/−3,
- moq-wg/msf — Issue #8 (Content protection): vasilvv May 11 02:54 UTC: “This should probably be moved to CMSF repo, since that’s where the text about content protection was moved.” Follows suhasHere’s May 9 “can we close this?“. Editorial direction: migrate to moq-cmsf rather than close.
- moq-wg/loc, secure-objects, cmsf, catalog-format, privacy-pass: All quiet on
main.
- moq-transport (pre-Town-Hall burst):
- GitHub implementations (first all-around quiet day in May):
- moq-dev/moq: No new commits since luke-curley’s May 9 22:30 UTC PR #1393 merge. Day +1 of post-burst quiet. Open-PR queue unchanged at 7 PRs / +4362/−307 (#1374 Day +7, #1388 Day +4, #1389 Day +4 no further LOC growth, 1397 Day +1).
- cloudflare/moq-rs: PR #167 (suhas-nandakumar filter-support framework, +12163/−2197) untouched since May 10 05:03 UTC. Day +28 main-quiet.
- moqtail/moqtail: PR #193 [4/n] (sharmafb upstream FETCH on cache miss, +248/−132,
mergeable_state=blocked) untouched since May 9 20:29 UTC — Day +5 stuck. - Eyevinn/moqlivemock — PR #79 LOCMAF unchanged Day +4.
- Eyevinn/warp-player — PR #120 LOCMAF unchanged Day +4.
- video-dev/moq-js: No new commits since Feb 17.
- google/quiche (
quiche/quic/moqt): No new commits since May 5 01:02 UTC — Day +6 quiet post-Vasiliev parser-rewrite. - birneee/quiche_moq: No new commits since Mar 13.
- Eyevinn/moqtransport: No new commits since Apr 16.
- Quicr/cat-rs / catapult: No new commits since May 7 04:07 UTC.
- Mailing list:
- No new human-authored messages since yu-you’s May 8 11:52 CEST 3GPP SA4 #136 PoC announcement. Only the auto-generated May 10 weekly digest in the May 6–11 window — 5-day human-silence stretch, longest in May. cullen-jennings (request-sync), magnus-westerlund (framing), suhas-nandakumar, will-law, ian-swett, alan-frindell all silent on-list. All May 11 activity is on GitHub instead. May 12 MOQ Town Hall is the awaited unlock event.
- IETF Datatracker: No new draft revisions in the May 7–11 window. WG state unchanged: transport-17, msf-00, loc-02, secure-objects-00, privacy-pass-02, cmsf-00. Notable individual drafts: lite-04 (Apr 9), nmsf-01 (Apr 7), qlog-moq-events-06 (Mar 16), gregoire-moq-msfts-00 (May 6, Day +5, still no on-list announcement). PR #1628’s
moqt-18ALPN reference suggests draft -18 candidate text is being prepared on GitHub ahead of the datatracker submission. - Interop runner: 21 pass / 70 fail / 14 skip (105 tests, 2026-05-11 00:42:00 UTC report). +1 pass / −1 fail vs May 10 (20/71/14). Walking arc: 23 → 22 → 23 → 23 → 23 → 24 → 25 → 24 → 24 → 20 → 20 → 20 → 20 → 19 → 20 → 20 → 21. First marginal lift above the post-PR-#145 floor since the May 5 −4 regression. Most plausible cause: first run since the May 9 evening moq-dev/moq merges (PR #1338 release-train
moq-lite v0.16.0, PR #1392 moq-ffi, PR #1393 cache-eviction 30s → 5s), somoq-dev-rs/moq-dev-jsdocker images rebuilt againstv0.16.0for the first time. PR #1393’s cache-eviction tightening is the most likely single-pair flip-driver. moqtail PR #193 still open Day +5 so nomoqtail-relayrebuild; moq-rs PR #167 still open so nomoq-rs-draft-16rebuild. - MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30). Day +11 since #1.
- tobbee/moq-llm-wiki: No new open issues. (3 closed: #1, #2, #3.)
Pages updated: discussions-2026-05.md (new “May 10 12:00 UTC → May 11 12:00 UTC” section: moq-transport pre-Town-Hall burst + draft-18 + QMux signal, msf #8 vasilvv push-to-CMSF, all-impl-quiet day, Mike-English new interop-runner channel, Luke HN flame post, 5-day mailing-list silence), interop-runner.md (May 11 row + +1-pass narrative explaining v0.16.0 builder-rebuild theory), index.md (last_updated bump), log.md.
Key findings:
moqt-18ALPN appears in spec text for the first time (alan-frindell PR #1628 May 11 01:29 UTC, “Add QMux framing for moqt-18 over TLS+TCP”). This is the first GitHub-side confirmation that draft -18 editorial work is in progress — up to now the active draft is transport-17 (Apr 9 / IETF Datatracker). The PR explicitly couples the draft -18 ALPN to QMux v1 framing over TLS+TCP — the first spec-side commitment to MoQ-over-TLS+TCP fallback via QMux. lucas-pardue (Cloudflare, QMux co-author) responds within 28 minutes citing QMux ALPN naming rules — Cloudflare tagging in for review of how themoqt-18token must be QMux-suffixed. The Apr 27 interim consensus on draft -18 work is now being materialized as concrete editorial PRs.- moq-transport tracker activity is decoupled from the mailing list: 7 PRs + 3 issues touched on May 11 vs zero human-authored mailing-list messages May 6–10 (only the May 10 weekly digest). The WG has shifted from on-list debate to GitHub-issue + interim-meeting + PR-cleanup cadence. The pre-Town-Hall burst pattern (afrind/vasilvv rebasing Apr 14–30 PRs on the eve of a public meeting) is now the third occurrence of this in 2026 (mirrors the pre-Apr-27-interim and pre-NAB editorial sprints). The May 12 Town Hall hosted by Dan Rayburn / will-law is public-facing — distinct from the WG-internal interims — so afrind/vasilvv are prepping the editorial story for an outside-IETF audience.
- msf Issue #8 vasilvv migration push extends the May spec-restructuring direction: after May 8 wilaw/gwendalsimon/suhasHere consensus to spin out event-timeline formats from MSF, May 11 vasilvv pushes content-protection text out to CMSF. The MSF spec is being trimmed back to a packaging spec rather than the omnibus document it was on opening, with: (a) event-timeline formats (SCTE-35, WebVTT, IMSC1) → 3 separate individual drafts; (b) content protection / encryption → CMSF; (c) MSFTS (MPEG-2 TS packaging) → already a separate draft (gregoire-moq-msfts-00). Suhas’s role is shifting from MSF author to spec curator splitting the document.
- First all-around
main-quiet day across all tracked impl repos in May: moq-dev/moq quiet Day +1, moq-rs Day +28, moqtail Day +5, all Eyevinn repos Day +4 on the LOCMAF branch, google/quiche moqt Day +6, video-dev/moq-js Day +84, birneee Day +59. The 7-PR moq-dev/moq backlog is large but idle — Luke is in May 12 prep mode rather than May 11 merge mode. The matrix is in a 7-day plateau (May 4–11 all within 20±1 except May 8’s 19) — the May 5 PR #145 regression remains structurally uncorrected. - The +1 pass interop lift is the first post-PR-#145 floor break: walking arc since May 5 was 20 → 20 → 20 → 20 → 19 → 20 → 20 → 21. The May 9 evening Luke merges (release-train shipping
moq-lite v0.16.0+ cache-eviction 30s → 5s) are the first wire-impactingmoq-devchange since the PR #145 regression; the May 11 +1 is consistent with a singlemoq-dev-rs/moq-dev-jsrebuild flip. Whether this is a real recovery or per-run variance will be visible in the May 12 report. The May 5 −4 regression is still mostly uncorrected (matrix at 21, May-2 high was 25).
2026-05-10 — moq-dev/moq breaks quiet: v0.16.0 ships, 2 fix PRs merge, 4 new PRs opened including first external May contributor
TL;DR:
- moq-dev/moq breaks 2-day quiet on
main— after no commits since May 7 18:17 UTC, luke-curley resumes May 9 19:27 UTC with 3 merges (PR #1338 release-train shippingmoq-lite v0.16.0+251/−128; PR #1392 moq-ffi uniffi-bindgen fix +3/−3; PR #1393 track group cache eviction 30s → 5s single-constant tuning) and 2 new feature PRs OPENED the same evening: PR #1394 Auto-detect catalog format from broadcast name extension (+197/−86) and PR #1395 moq-cli: rename--outputto--format,--nameto--broadcast, addacceptsubcommand (+162/−42, CLI ergonomics breaking change). PR #1389 stats aggregation grew +215 LOC overnight (+1168/−39 → +1383/−50). After the post-revert auto-bump,moq-botopens PR #1391 for the v0.16.1 release train. Open-PR count now 7 (was 3 on May 8); combined diff +4362/−307, deepest backlog in repo history. - First non-Luke contributor to moq-dev/moq in May:
metapox(taku) opens 2 PRs at May 10 10:58 UTC closing out the May 5–6 SUBSCRIBE_UPDATE backlog: PR #1396 feat(lite): implement SUBSCRIBE_UPDATE API for JS subscriber and publisher (+30/−4, addresses Issue #1363) and PR #1397 fix(lite): update in-flight group priorities on SUBSCRIBE_UPDATE (+176/−63, addresses Issue #1370). New external contributor — no prior commits in repo. Same morning, Issue #1390 opened by Dan Rossi — “Production ES Watch library won’t connect to the dev relay” — first production-deployment friction issue in months, signal that@moq/watchis in real use against non-Cloudflare relays. - Implementations: moq-dev/moq day-4 burst (3 merges + 4 new PRs + 1 metapox external contributor) is the only material activity. cloudflare/moq-rs PR #167 (suhas-nandakumar filter-support framework, +12163/−2197, opened May 6) updated May 10 05:03 UTC — Suhas’s largest moq-rs PR still active; moq-rs
mainDay +27 quiet. moqtail PR #193 still open Day +4 withmergeable_state=blocked; moqtailmainquiet since May 6. moq-wg/secure-objects Issue #8 — luke-curley May 9 19:08 UTC comment, first non-author engagement in many days. Eyevinn LOCMAF PRs 120 unchanged Day +3. video-dev/moq-js, birneee/quiche_moq, Eyevinn/moqtransport, google/quiche moqt, Quicr/cat-rs all quiet. moq-wg/msf PR #133 quiet for first time since opening (no comments since May 8 18:30 UTC). - Interop: 20/71/14 at 2026-05-10 00:40:03 UTC — flat 2nd consecutive day (gh-pages commit
f70964a01:04:20 UTC). Walking arc since the Apr 17 floor: 18 → 18 → 18 → 20 → 22 → 22 → 23 → 24 → 22 → 23 → 22 → 23 → 23 → 23 → 24 → 25 → 24 → 24 → 20 → 20 → 20 → 20 → 19 → 20 → 20. The May 5 −4 regression that returned the matrix to the post-PR-#145 floor remains uncorrected; May 8’s brief dip to 19 was statistical noise. moq-dev/moq’s May 9 evening merges (PRs #1338, #1392, #1393) all landed after the May 10 00:40 UTC run, so anymoq-lite v0.16.0builder rebuild effect would only show in the May 11 report. moqtail PR #193 still open so nomoqtail-relayrebuild has touched the matrix.
Operation: Update Sources:
- Slack:
#moq— no new posts since yu you’s May 8 11:52 CEST 3GPP SA4 #136 PoC announcement.#moq-rs,#moq-js,#libquicrall unchanged. - GitHub moq-wg repos:
- moq-transport: No new commits, no new issues, no new PRs in the May 9 06:00 UTC → May 10 12:00 UTC window. Issue #1622 untouched since May 8. PR #1617 (afrind GOAWAY-on-request-streams) state unchanged.
- moq-wg/msf — PR #133 (Suhas SCTE-35 + CEA-608/708): No new comments since May 8 18:30 UTC suhasHere reply. First quiet day on the thread since avelad’s May 7 split-into-3-PRs comment opened the review escalation.
- moq-wg/secure-objects: Issue #8 “Content protection and encryption” — luke-curley new comment May 9 19:08 UTC (first non-author engagement on the thread in many days). No
maincommits. - moq-wg/loc, cmsf, catalog-format, privacy-pass: All quiet on
main.
- GitHub implementations:
- moq-dev/moq (day-4 burst after 2-day quiet, all luke-curley except where noted):
- PR #1338 MERGED May 9 19:27 UTC (+251/−128) — release-train auto-bump shipping
moq-lite v0.16.0. Replaced same instant by PR #1391 OPENED May 9 19:29 UTC (moq-bot, release-train for v0.16.1). - PR #1392 MERGED May 9 21:41 UTC (+3/−3) — moq-ffi: fix uniffi-bindgen invocation, bump 0.2.9.
- PR #1393 MERGED May 9 22:30 UTC (+1/−1) — Reduce track group cache eviction timeout from 30s to 5s. Single-constant tuning, Claude Code co-author. Reduces idle memory at the cost of more cache rebuilds for slow re-subscribers.
- PR #1394 OPENED May 9 22:04 UTC (+197/−86) — Auto-detect catalog format from broadcast name extension. Catalog format inferred from path-extension trailer rather than passed as separate flag; aligns with PR #1341 moq-mux backport (May 7).
- PR #1395 OPENED May 9 22:36 UTC (+162/−42) — moq-cli: rename
--outputto--format,--nameto--broadcast, addacceptsubcommand. CLI ergonomics breaking change; newacceptsubcommand mirrorspublish/subscribefor inbound subscriptions. - PR #1396 OPENED May 10 10:58 UTC by
metapox(taku, +30/−4) — feat(lite): implement SUBSCRIBE_UPDATE API for JS subscriber and publisher. Closes Issue #1363 (May 5). - PR #1397 OPENED May 10 10:58 UTC by
metapox(+176/−63) — fix(lite): update in-flight group priorities on SUBSCRIBE_UPDATE. Closes Issue #1370 (May 6). - Issue #1390 OPENED May 10 11:07 UTC by Dan Rossi — “Production ES Watch library won’t connect to the dev relay”. First production-deployment friction issue from a non-developer outside contributor in months.
- PR #1389 stats aggregation grew +215 LOC overnight: was +1168/−39 May 8, now +1383/−50 (May 10 00:12 UTC update). Day +3 still open and actively iterated.
- PRs #1374 / #1388 / #1389 / #1394 / #1395 / #1396 / #1397: 7 open feature PRs total. Combined +4362/−307 — deepest backlog in repo history.
- PR #1338 MERGED May 9 19:27 UTC (+251/−128) — release-train auto-bump shipping
- cloudflare/moq-rs: PR #167 (suhas-nandakumar filter-support framework, opened May 6, +12163/−2197) updated May 10 05:03 UTC — review iteration; diff size unchanged (still the largest open PR in moq-rs).
mainDay +27 quiet (no commits since Apr 13). - moqtail/moqtail: PR #193 [4/n] (sharmafb upstream FETCH on cache miss, +248/−132) updated May 9 20:29 UTC, still open Day +4,
mergeable_state=blocked.mainquiet since May 6. - Eyevinn/moqlivemock — PR #79 LOCMAF unchanged since May 8 21:03 UTC. Day +3 still open.
- Eyevinn/warp-player — PR #120 LOCMAF unchanged since May 8 09:42 UTC. Day +3 still open.
- video-dev/moq-js: No new commits since Feb 17.
- google/quiche (
quiche/quic/moqt): No new commits since May 5 01:02 UTC — Day +5 quiet post-Vasiliev parser-rewrite. - birneee/quiche_moq: No new commits since Mar 13.
- Eyevinn/moqtransport: No new commits since Apr 16.
- Quicr/cat-rs: No new commits since May 7 04:07 UTC.
- moq-dev/moq (day-4 burst after 2-day quiet, all luke-curley except where noted):
- Mailing list:
- May 10 — “[Moq] Weekly github digest (Media Over QUIC Activity Summary)” (Repository Activity Summary Bot, auto-generated weekly digest). Same cadence as the May 3 digest. Zero human-authored messages May 9–10.
- Cullen request-sync thread (May 1) / Magnus Westerlund framing thread (May 4) / suhas-nandakumar / will-law all silent. Four-day silence stretch in human discussion (last human message: yu you May 8 about 3GPP SA4 #136 PoC).
- IETF Datatracker: No new draft revisions. WG state unchanged: transport-17, msf-00, loc-02, secure-objects-00, privacy-pass-02, cmsf-00. Notable individual drafts: lite-04 (Apr 9), nmsf-01 (Apr 7), qlog-moq-events-06 (Mar 16), gregoire-moq-msfts-00 (May 6, Day +4, still no on-list announcement).
- Interop runner: 20 pass / 71 fail / 14 skip (105 tests, 2026-05-10 00:40:03 UTC report, gh-pages commit
f70964a01:04:20 UTC). Flat vs May 9 (20/71/14). Walking arc: 22 → 23 → 22 → 23 → 23 → 23 → 24 → 25 → 24 → 24 → 20 → 20 → 20 → 20 → 19 → 20 → 20. moq-dev/moq’s May 9 evening merges all landed after the May 10 00:40 UTC interop run, so anymoq-lite v0.16.0builder-rebuild effect would only show in the May 11 report. moqtail PR #193 still open (Day +4) so nomoqtail-relayrebuild has touched the matrix. The post-PR-#145 floor at 20 pass continues. - MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30 / May 1). Day +10 since #1.
- tobbee/moq-llm-wiki: No new open issues. (3 issues remain closed: #1, #2, #3.)
Pages updated: discussions-2026-05.md (new “May 9 06:00 UTC → May 10 12:00 UTC” section: moq-dev/moq day-4 burst, metapox first external May contributor, Dan Rossi production friction issue, moq-rs PR #167 filter-framework still active, secure-objects #8 kixelated comment, moqtail PR #193 still blocked, mailing-list 4-day human-silence stretch), interop-runner.md (May 10 row + flat-day narrative), index.md (last_updated bump), log.md.
Key findings:
- moq-dev/moq’s May 9 day-4 burst is the heaviest open-PR queue in repo history at +4362/−307 across 7 unmerged PRs: 3 large feature PRs (#1374 Lite05 DATAGRAMS +1615/−7 Day +6, #1388 LOC frame format +799/−17 Day +3, #1389 stats aggregation +1383/−50 Day +3 — grew +215 LOC overnight) + 2 same-evening Luke ergonomics PRs (#1394 Auto-detect catalog format +197/−86, #1395 moq-cli renames +162/−42) + 2 metapox SUBSCRIBE_UPDATE PRs (#1396 +30/−4, #1397 +176/−63). The PR #1389 +215 LOC growth in 24h signals active design iteration (not just review-comment polishing) and confirms Luke is reformulating the closed PR #853 (fcancela observability +1261/−38) into a more ambitious in-band stats-broadcasts design rather than a fix-and-merge.
- First non-Luke contributor to moq-dev/moq in May (metapox / taku): 2 PRs opened May 10 10:58 UTC, both closing pre-existing Luke-filed issues (#1363 SUBSCRIBE_UPDATE TS impl, #1370 in-flight group priorities). This is the first time in May an external contributor has both opened and immediately delivered on Luke’s tracked issue backlog — the typical pattern is Luke himself opens-and-closes issues in the same session. metapox has no prior commits in moq-dev/moq history, so this is a new entry.
- Dan Rossi’s Issue #1390 is the first production-deployment friction signal in months: “Production ES Watch library won’t connect to the dev relay” — implies (a) at least one real production deployment of
@moq/watchexists outsiderelay.cloudflare.com, (b) the deployment is failing against therelay.moq.devdev relay rather than a Cloudflare-hosted one. Pattern signal: moq-dev/moq’s@moq/watchhas at least one real downstream production user attempting to use the dev infrastructure. (Dan Rossi’s prior issue history in moq-dev/moq is unclear; if first-time, this expands the active production-user surface from 0 to 1.) - Suhas’s PR #167 still active in moq-rs (May 10 05:03 UTC update) confirms the May-5/6 cross-repo pattern: Suhas pushes filter+observability infrastructure into moq-rs, while Luke reformulates the same domain inside moq-dev/moq (#1389 stats aggregation, +215 LOC overnight). Same observability problem, two parallel impls, two different codebases — and PR #853 in moq-dev/moq (fcancela’s combined-domain attempt) was closed. The two-track pattern persists: moq-rs gets the comprehensive framework, moq-dev/moq gets Luke’s smaller in-house design.
- moqtail PR #193 still blocked Day +4: with
mergeable_state=blockedand no maintainer review since the May 9 metadata ping, the upstream-FETCH-on-cache-miss feature [4/n] is now the longest-stalled non-Luke PR in the moqtail draft-16 era.mainquiet since May 6 means no rebuilds; the May 5 −4 interop regression remains structurally uncorrected pending this merge. - Mailing-list 4-day human-silence stretch is the longest in May: only the auto-generated May 10 weekly digest in the May 6–10 window. Cullen / Magnus Westerlund / Suhas / Will Law / Ian Swett / afrind all silent on-list. Implication: the May 5 Knowing the start of a Subgroup exchange and the May 8 Cullen pushback are the last unanswered substantive content; the WG is functionally on hiatus on the list awaiting either the May 12 MOQ Town Hall (Will Law / Dan Rayburn) or the next IETF interim.
2026-05-09 — Eyevinn LOCMAF packaging proposal; MSF event-timeline split debate
TL;DR:
- NEW packaging proposal: LOCMAF (Low Overhead CMAF) — Hugo Björs (Eyevinn) opens twin PRs moqlivemock #79 (+2697/−83, 17 files) and warp-player #120 (+2211/−188, 14 files) on May 7, both updated through May 8. Experimental LOC-inspired/compatible CMAF compression designed for his master’s thesis: avoids re-transmitting fixed/derivable CMAF header fields by encoding only non-derivable fields as MoQT/LOC-style key-value pairs aggregated under one LOCMAF property, defining 3 properties (init segment, full header, delta header). Optimizations:
tfdt.baseMediaDecodeTimecalculated from priorbaseMediaDecodeTime+ sample durations (omitted from wire); single-sample fragments omit sample size (equals payload length). First standalone container-format proposal from Eyevinn since the v0.8.0 LOC pipeline release — bridges the LOC/CMAF gap from the impl side rather than the spec side (luke-curley’s March compressed-mp4 attempt was the spec-side counterpart). Targets DRM testing on the warp-player branch. - moq-wg/msf PR #133 escalates to spec-restructuring debate — will-law May 8 11:29 UTC notices an asymmetry in event-timeline format coverage (SCTE-35 carriage spec’d inline but WebVTT/IMSC1 punted to external drafts) and asks whether all event-timeline formats should move to separate drafts. gwendalsimon agrees (May 8 13:09 UTC); suhasHere replies May 8 18:30 UTC “I do have initial drafts on…” — implies pre-staged draft text already exists for the SCTE-35 / WebVTT / IMSC1 separation. Editorial direction shift: PR #133 is now likely to be split into 3+ separate individual drafts (CEA-608/708 stays in MSF; SCTE-35, WebVTT, IMSC1 each spin out as separate Event-Timeline drafts), extending the MSF Packaging Extensions umbrella (see moq-msfts precedent) into Event-Timeline Extensions. avelad’s May 7 split-into-3-PRs comment was the trigger; today’s exchange formalizes the spec-restructuring.
- Implementations: Eyevinn LOCMAF PRs the only material activity. moq-dev/moq main quiet on May 8 (last commit May 7 18:17 UTC); 3 large PRs still open Day +4 (#1374 Lite05 DATAGRAMS, #1388 LOC frame format, #1389 stats aggregation) — the +3877/−303 Claude-Code-generated diff backlog is now the largest open-PR queue in moq-dev/moq history. moqtail completely quiet for the 2nd consecutive day; PR #193 untouched 48h+. cloudflare/moq-rs Day +26 quiet; google/quiche moqt Day +4 quiet; video-dev/moq-js, birneee/quiche_moq, Eyevinn/moqtransport all quiet. moq-wg/msf only repo with activity (PR #133 comment thread); moq-transport / loc / secure-objects / cmsf / catalog-format / privacy-pass all quiet on
main. - Interop: 20/71/14 at 2026-05-09 00:39 UTC — +1 pass / −1 fail vs May 8’s 19/72/14. Partial recovery back to the May 4–7 floor, not below it. Walking arc since the Apr 17 floor: 18 → 18 → 18 → 20 → 22 → 22 → 23 → 24 → 22 → 23 → 22 → 23 → 23 → 23 → 24 → 25 → 24 → 24 → 20 → 20 → 20 → 20 → 19 → 20. moqtail PR #193 still open (Day +3 since open) so the bounce isn’t a moqtail-relay rebuild effect; most likely natural per-run variance. Net effect of the 2-day excursion to 19 is zero.
Operation: Update Sources:
- Slack:
#moq— 1 new post (yu you May 8 11:52 CEST): FYI. We will present a conferencing PoC over MOQT at the upcoming 3GPP SA4 #136 meeting next week in Montreal, Canada. Links to 3GPP S4-261065 input document and the FS_Q4RTC_MED study (SP-251661). PoC body: “based on our in-house MOQT v17 implementation and provided as an informative input to the ongoing study in SA4.” First public mention of a Nokia in-house MOQT v17 stack; first cross-pollination between MOQT and 3GPP SA4 standardization (FS_Q4RTC_MED is a 3GPP study item on Q4RTC media).#moq-rs,#moq-js,#libquicrall unchanged. - GitHub moq-wg repos:
- moq-transport: No new commits, no new issues, no new PRs in May 8 06:00 UTC → May 9 06:00 UTC window. PR #1617 (alan-frindell Allow GOAWAY on request streams to migrate individual requests, +85/−73) received a metadata-only timestamp ping May 8 17:15 UTC — last code commit on the branch remains May 1 18:48 UTC. No new comments on Issue #1622.
- moq-wg/msf — PR #133 (Suhas SCTE-35 + CEA-608/708) received 3 new comments in 7 hours, escalating from yesterday’s avelad split-into-3-PRs suggestion to a full spec-restructuring exchange:
- wilaw May 8 11:29 UTC: “I notice another anomaly here. The current draft has a section for defining the event timeline carriage of SCTE-35 data, but then it punts the definition of the carriage of WebVTT and IMSCI to external drafts. Wouldn’t be better to specify all event timeline formats outside of the MSF spec?” — proposes spinning out all event-timeline formats as separate drafts.
- gwendalsimon May 8 13:09 UTC: agrees with wilaw’s restructuring direction.
- suhasHere May 8 18:30 UTC: “@wilaw @gwendalsimon I do have initial drafts on…” — reveals pre-staged draft text already exists for the separation.
- Direction: 3 separate Event-Timeline format drafts (SCTE-35, WebVTT, IMSC1) likely to spin out as individual drafts; CEA-608/708 accessibility stays in MSF. Extends the MSF Packaging Extensions pattern (precedent: moq-msfts) into Event-Timeline Extensions.
- moq-wg/secure-objects, loc, cmsf, catalog-format, privacy-pass: All quiet on
main.
- GitHub implementations:
- Eyevinn/moqlivemock — PR #79 OPENED May 7 13:12 UTC by hugobjoers (+2697/−83, 17 files, OPEN, updated May 8 21:03 UTC) — Add LOCMAF support. LOCMAF (Low Overhead CMAF) = compact LOC-inspired/compatible CMAF packaging that avoids re-transmitting CMAF header fields that are fixed, derivable, or only present for structural reasons. Stores only fields needed to reconstruct CMAF init segments and
mooffragment headers. Encoding: fields as MoQT/LOC-style key-value pairs, each with a LOCMAF ID; values aggregated into one LOCMAF property rather than one LOC property per CMAF field (avoids globally coordinating new property IDs). Three LOCMAF properties: (1) init segment — non-derivable fields needed to reconstruct CMAFftyp+moov; (2) full header — non-derivable fields needed to reconstruct a completemoofheader (must be sent as stream access point + first object in MoQT group, ensuring group is independently decodable); (3) delta header — differences relative to the previousmoofheader (with a “deleted” semantic that resets fields to defaults rather than treating them as deltas). Decompression: receiver constructs empty CMAF init/fragment headers with default values, parses LOCMAF KV map, applies stored deltas. Key optimizations: (a)tfdt.baseMediaDecodeTimecomputed from previousbaseMediaDecodeTime+ previous sample durations — omitted from wire; (b) single-sample fragments omit sample size (equals LOCMAF payload length). Body marks the proposal as experimental, with a more detailed description and measurements coming in the author’s master’s thesis. - Eyevinn/warp-player — PR #120 OPENED May 7 13:15 UTC by hugobjoers (+2211/−188, 14 files, OPEN, updated May 8 09:42 UTC) — Add LOCMAF support. Player-side counterpart to moqlivemock #79 (cross-references it). Body: “meant to match the corresponding branch and pull request”. A separate branch tests DRM with LOCMAF, but DRM is not in this PR.
- moq-dev/moq: No new commits on
mainsince May 7 18:17 UTCc54bca84(luke-curley,@moq/watch network stats). Day +1 of post-burst quiet. PR #1374 (Lite05 DATAGRAMS, +1615/−7) updated May 7 19:25 UTC, still open Day +4. PR #1388 (LOC frame format, +799/−17) opened May 7 17:42 UTC, still open Day +1. PR #1389 (stats aggregation, +1168/−39) opened May 7 18:23 UTC, still open Day +1. Combined open-PR diff: +3582/−63 across 3 PRs — largest open-PR backlog in moq-dev/moq history. - moqtail/moqtail: No new commits, no PR updates, no new issues — 2nd consecutive completely quiet day. PR #193 [4/n] (sharmafb upstream FETCH on cache miss, +248/−132, OPEN since May 6 23:11 UTC) untouched 48h+ later. Earliest stale PR signal since the May 4 PR #145 merge.
- cloudflare/moq-rs: No new commits since Apr 13 (Day +26 of upstream-fork quiet).
- video-dev/moq-js: No new commits since Feb 17.
- google/quiche (
quiche/quic/moqt): No new commits since May 5 01:02 UTC — Day +4 quiet post-Vasiliev parser-rewrite. - birneee/quiche_moq: No new commits since Mar 13.
- Eyevinn/moqtransport: No new commits since Apr 16.
- Eyevinn/moqlivemock — PR #79 OPENED May 7 13:12 UTC by hugobjoers (+2697/−83, 17 files, OPEN, updated May 8 21:03 UTC) — Add LOCMAF support. LOCMAF (Low Overhead CMAF) = compact LOC-inspired/compatible CMAF packaging that avoids re-transmitting CMAF header fields that are fixed, derivable, or only present for structural reasons. Stores only fields needed to reconstruct CMAF init segments and
- Mailing list:
- yu you (Nokia) May 8 — new thread “Web conferencing demo over MOQT” — same announcement as Slack post (3GPP SA4 #136 PoC over in-house MOQT v17). First IETF-archive cross-post of the 3GPP SA4 PoC.
- Cullen Fluffy Jennings May 8 — reply on “Knowing the start of a Subgroup” — first Cullen reply on this thread, disputes Ian Swett’s claim that the WG already agreed to single-byte priority: “since even the pre-WG draft proposal we have always had a pretty complicated prioritization including object ID (lower goes first when doing datagrams and streams), group ID (both directions), subscriber priority, publisher priority.” Pushback against Ian’s May 5 framing that subgroup-design topics are closed for draft -18.
- Cullen’s “Request Synchronization Use Case” thread (May 1) and Magnus Westerlund’s three May 4 framing messages — still unanswered for 8 days and 5 days respectively.
- No on-list announcement for the MSFTS draft — Day +3 since Datatracker submission.
- IETF Datatracker: No new draft revisions. WG state: transport-17, msf-00, loc-02, secure-objects-00 (-01 substantively ready in repo, still not on Datatracker), privacy-pass-02, cmsf-00. Notable individual drafts: lite-04 (Apr 9), nmsf-01 (Apr 7), qlog-moq-events-06 (Mar 16), gregoire-moq-msfts-00 (May 6, Day +3).
- Interop runner: 20 pass / 71 fail / 14 skip (105 tests, 2026-05-09 00:39 UTC report). +1 pass / −1 fail vs May 8’s 19/72/14. Partial recovery back to the May 4–7 floor (which is also the post-NAB floor since PR #145 wholesale draft-14→16 migration). Walking arc: 22 → 23 → 22 → 23 → 23 → 23 → 24 → 25 → 24 → 24 → 20 → 20 → 20 → 20 → 19 → 20. moqtail PR #193 still open Day +3, so bounce isn’t a
moqtail-relayrebuild effect. moq-dev/moq merges in window (none onmain) can’t have triggered the recovery. Most plausible cause: natural per-run variance / single image rebuild for one of the matrix entries (moq-rs, moq-rs-draft-16, moqx, quiche-moq, libquicr, xquic, imquic) flipping a single test from fail back to pass. Two-day net effect (May 7 20 → May 8 19 → May 9 20) is zero. - MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30 / May 1). Day +9 since #1.
- tobbee/moq-llm-wiki: No new open issues. (3 issues remain closed: #1, #2, #3.)
Pages updated: discussions-2026-05.md (new “May 8 06:00 UTC → May 9 06:00 UTC” section: LOCMAF Eyevinn twin PRs, MSF PR #133 spec-restructuring escalation, mailing list reactivation with yu you 3GPP SA4 + Cullen subgroup pushback, moq-dev/moq main quiet day, moqtail 2nd quiet day, interop bounce-back), moqlivemock.md (LOCMAF PR #79 reference; PR #120 in warp-player), media-packaging.md (LOCMAF entry under “The Bridge” section as impl-side counterpart to compressed-mp4), moq-msf.md (PR #133 split-into-3-drafts direction note), interop-runner.md (May 9 row + narrative on bounce-back), interop-status.md (May 9 reading note), index.md (last_updated bump), log.md.
Key findings:
- LOCMAF is the first impl-side proposal to bridge the LOC↔CMAF gap since luke-curley’s compressed-mp4 spec attempt (Mar 18, individual draft
draft-lcurley-compressed-mp4-00). The two attempts come from opposite directions: Luke’s compressed-mp4 starts with a CMAF stream and applies a generic compressor (he called it “kinda gross, but maybe it’s enough to bridge the gap”); LOCMAF starts with the CMAF structure and encodes only the non-derivable fields as LOC-style KV pairs, leveraging properties LOC already defines for varint+byte-string encoding. LOCMAF makes no new global property IDs needed — single LOCMAF property aggregates all fields under locally-scoped LOCMAF IDs. The init/full/delta header design recovers 90%+ of CMAF re-transmission overhead (estimated; concrete measurements awaiting Hugo Björs’s master’s thesis). Hugo previously implemented DRM in moqlivemock + warp-player (CMSF ContentProtection PR #18), so this work fits a pattern of media-pipeline contributions from him. - MSF PR #133 escalation likely produces 3+ separate Event-Timeline drafts: avelad’s May 7 split-into-3-PRs suggestion → wilaw’s May 8 anomaly observation (SCTE-35 inline vs WebVTT/IMSC1 external) → gwendalsimon agreement → suhasHere’s “I do have initial drafts on…” reveal. The trajectory points to MSF retaining only CEA-608/708 accessibility metadata in the spec and spinning out 3 separate Event-Timeline format drafts (SCTE-35, WebVTT, IMSC1). This extends the MSF Packaging Extensions pattern (precedent: moq-msfts for
m2ts) into Event-Timeline Extensions — making MSF an umbrella with both axes (packaging extensions + event-timeline extensions) modular. First time a moq-wg PR’s spec restructuring is shaped openly in a 3-author exchange (wilaw + gwendalsimon + suhasHere) rather than via interim or chair direction. - First MOQT cross-pollination into 3GPP SA4 standardization: yu you’s May 8 announcement places MOQT in the FS_Q4RTC_MED 3GPP study (S4-261065 input document). MOQT has previously been informational at Demuxed, IETF Hackathon, Mile High Video, and NAB — but not at 3GPP. Nokia maintains an in-house MOQT v17 implementation that has not been disclosed before, sitting alongside the public moq-rs/moq-js/moq-dev/moqtail/moxygen/imquic/libquicr/quiche-moq stack. SA4 Montreal #136 is May 11–15, so the PoC will be presented next week. Pattern signal: MOQT is reaching 3GPP attention while the IETF WG is still in draft-17.
- Cullen Fluffy Jennings’s May 8 reply is the first material on-list pushback against Ian Swett’s May 5 framing of subgroup-design topics as closed: Ian had backed afrind’s “we’ve been at this four years and no one has needed it” dismissal of varint-vs-fixed-width tweaks. Cullen’s pushback re-opens the priority-encoding question by pointing out the prioritization has always been multi-field (object ID + group ID + subscriber priority + publisher priority), not single-byte. This tightens the topic for the May 12 MOQ Town Hall (Will Law / Dan Rayburn) and likely re-enters the editorial backlog before draft-18 cutoff.
- moq-dev/moq has the largest open-PR backlog in repo history at +3582/−63 across 3 unmerged PRs (#1374 Lite05 DATAGRAMS +1615/−7, #1388 LOC frame format +799/−17, #1389 stats aggregation +1168/−39). All 3 are Claude-Code-generated. Day +4 since #1374 opened, Day +1 since 1389. The pattern of opening major design-PRs without immediately merging them contrasts with Luke’s typical 1-day merge-then-ship cadence on smaller PRs. Possible interpretation: he’s accumulating review feedback before merging the wire-level Lite05 changes, since #1388 (LOC) and #1389 (stats) both depend on the moq-lite session model.
- Interop matrix two-day excursion from 20→19→20 is statistical noise, not a regression: PR #145 (moqtail wholesale draft-16 migration, May 4 19:23 UTC) remains the only structural cause for the May 5 −4 drop from 24 → 20; subsequent May 6/7/8 readings (20/20/19) and now May 9 (20) are walking around the new floor at 20±1. Both PR #1341 (moq-mux backport, internal hang-catalog only) and PR #193 (moqtail upstream FETCH, still open Day +3) have not produced matrix movement. The matrix is now stable at 20 pass for 5 of 6 May-weekday readings.
2026-05-08 — moq-dev/moq day-3 burst: revert-of-revert + LOC frame format + stats aggregation; interop floor breaks downward to 19/72/14
TL;DR:
- moq-dev/moq day-3 burst (Luke 17:42–18:24 UTC May 7) — PR #1387 “Revert the revert” MERGED May 7 17:47 UTC (+167/−177) un-reverting yesterday’s PR #1385: PR #1356 (
insert_tracktakesTrackConsumer) re-lands. Body: “Actually fix the issue by incrementing the dynamic count when cloning.” First merge → revert → revert-of-revert cycle onmainin moq-dev/moq’s history (PR #1356 May 5 → #1385 May 6 → #1387 May 7, all within 44 hours). PR #1386 (@moq/watch network stats from QUIC connection) MERGED May 7 18:17 UTC (+72/−177); resolves Firefox-navigator.connection-unavailable gap. - moq-dev/moq lands two large new feature PRs (both Luke, both Claude-Code-generated): PR #1388 OPENED May 7 17:42 UTC (+799/−17) — Add Low Overhead Container (LOC) frame format support — new
moq-locRust crate +@moq/locJS package with full encode/decode for the LOC wire format from draft-ietf-moq-loc, wired intomoq-mux, hang catalog (Container::Loc { timescale }), and watch-player audio/video decoders + MSE backends. First time moq-dev/moq adopts an IETF-spec container format alongside its native moq-lite/Hang stack. PR #1389 OPENED May 7 18:23 UTC (+1168/−39) — Add stats aggregation and publishing for moq-lite sessions — per-broadcast and per-prefix stats published as.stats/<level>/<name>JSON broadcasts (1Hz snapshot) on configurable origin; introducesPath::is_hidden()filtering so stats infrastructure doesn’t generate its own stats traffic. Same problem space that the May 5 housekeeping wave closed PR #853 (fcancela observability) for — Luke’s reformulation lands as moq-bot effectively re-opens that domain in his own design. - Implementations: moq-dev/moq day-3 burst — PR #1386 + PR #1387 MERGED, PR #1388 + PR #1389 OPENED (huge feature-PR pair). PR #1374 (Lite05 DATAGRAMS) updated May 7 19:25 UTC, still open Day +3. moq-wg/msf — PR #133 (Suhas SCTE-35 + CEA-608/708, +259/0, opened Feb 27) gets May 7 11:50 UTC comment from avelad suggesting “this should be separated into 3 PRs, one for CEA, one for SCTE-35, and one for IMSC1 and WebVTT”. moq-transport — afrind comment on Issue #1622 (May 7 18:53 UTC): “Perhaps we want to use the Request ID slot to convey a Group ID when sent on an individual subscription or fetch stream.” moqtail completely quiet (no commits or PR updates May 7). cloudflare/moq-rs Day +25 quiet; google/quiche moqt Day +3 quiet; video-dev/moq-js, birneee/quiche_moq, Eyevinn repos all quiet. Quicr/cat-rs (newly open-sourced May 6) — May 7 04:07 UTC commit “Security hardening: fix all audit findings”.
- Interop: 19/72/14 — −1 pass / +1 fail vs 4 prior days at 20/71/14. Breaks the 4-day floor downward; new post-Apr-17 low (prior floor was 20). Most plausible cause: moqtail PR #193 ([4/n] upstream FETCH on cache miss) still open (no merge), so this is unlikely to be moqtail-relay rebuild — more likely natural variance or a different image rebuild. The previous
19reading was the early Apr 17–21 floor before the post-NAB recovery wave.
Operation: Update Sources:
- Slack:
#moq— no new posts since suhas-nandakumar’s May 6 17:49 CEST CAT4MOQ + Will Law’s May 6 09:44 CEST MOQ Town Hall announcement.#moq-rs,#moq-js,#libquicrall unchanged. - GitHub moq-wg repos:
- moq-transport: No new commits or merges in May 7 06:00 UTC → May 8 06:00 UTC window. Open PRs 1544 received label/timestamp pings on May 7 18:13–18:37 UTC (no code pushes). PR/Issue #1455 (Magnus Westerlund’s Security Consideration Extension) state remains CLOSED, May 7 timestamp ping. Issue #1622 (ianswett Request ID in GOAWAY isn’t useful): alan-frindell new comment May 7 18:53 UTC — “Perhaps we want to use the Request ID slot to convey a Group ID when sent on an individual subscription or fetch stream.” Reframes the GOAWAY-Request-ID slot as potentially repurposable for per-stream Group ID rather than removing it.
- moq-wg/msf — PR #133 (Suhas SCTE-35 + CEA-608/708) received first new comment in 12 days. avelad (Alvaro Velad / Google) May 7 11:50 UTC: “Perhaps this should be separated into 3 PRs, one for CEA, one for SCTE-35, and one for IMSC1 and WebVTT?” — first review-process pushback from a new reviewer; PR has been open since Feb 27 with periodic updates, current shape +259/0.
- moq-wg/secure-objects, loc, cmsf, catalog-format, privacy-pass: All quiet on
main.
- GitHub implementations:
- moq-dev/moq (day-3 burst, all luke-curley):
- PR #1387 MERGED May 7 17:47:35 UTC (+167/−177) — Revert the revert. Body one-liner: “Actually fix the issue by incrementing the dynamic count when cloning.” Un-reverts PR #1385’s revert of PR #1356. Net effect: the May 5
insert_track-takes-TrackConsumerchange is back inmain, with the underlying clone-counting bug now fixed in-place rather than by reverting the API change. Cycle: PR #1356 merged May 5 22:15 UTC → reverted via #1385 May 6 22:08 UTC (−24h) → reverted-back via #1387 May 7 17:47 UTC (+19h 39m). First time onmainthat an immediate revert is itself reverted within 24 hours. - PR #1386 MERGED May 7 18:17:23 UTC (+72/−177) — @moq/watch: source network stats from the connection, not navigator. Final shape +72/−177 (vs opened-shape +88/−130 — net deletes more code than originally drafted). Resolves Firefox-
navigator.connection-unavailable gap. Second Firefox-compat PR to land in 3 days; sibling PR #1307 (Lite03+ via legacy SETUP) still open. - PR #1388 OPENED May 7 17:42:06 UTC (+799/−17, OPEN) — Add Low Overhead Container (LOC) frame format support. First adoption of a non-Hang IETF media container in moq-dev/moq. New
moq-locRust crate +@moq/locJS package implementing encode/decode for the draft-ietf-moq-loc wire format; QUIC-style varint property block (delta-encoded type IDs 0x06=timestamp, 0x08=timescale) followed by raw codec payload. Catalog integration: hang catalog gainsContainer::Loc { timescale }(default 1,000,000 µs); audio source selection prioritizes LOC after legacy, before CMAF. Watch player audio/video decoders + MSE backends instantiate the appropriate LOC decoder based on catalog config. Per-frame timescale (0x08 property) overrides catalog default. Body marked ”🤖 Generated with Claude Code”. - PR #1389 OPENED May 7 18:23:35 UTC (+1168/−39, OPEN) — Add stats aggregation and publishing for moq-lite sessions. New
Statsmodule (rs/moq-lite/src/stats.rs); per-broadcast and per-prefix stats published as.stats/<level>/<name>JSON broadcasts (1Hz snapshot, atomic counters withRelaxedordering). Hidden-path filtering: newPath::is_hidden()(segments starting with.) so stats infrastructure doesn’t recursively generate its own stats traffic;OriginConsumer::announced()filters hidden paths, complementaryannounced_hidden()exposes them. NewStatsConfigin moq-relay (name+levels). Per-broadcast RAII guards (PublisherStats/SubscriberStats/PublisherTrack/SubscriberTrack) record open/close, frames, bytes, groups. Same problem domain as the May 5-closed PR #853 (fcancela’s “Minimal observability metrics”, +1261/−38) — Luke’s reformulation lands as a 1168-line opening within 2 days. Body marked ”🤖 Generated with Claude Code”. - PR #1374 (Lite05 DATAGRAMS) updated May 7 19:25 UTC — still open, Day +3 since open. No movement towards merge.
- PR #1338 (chore: release, moq-bot) updated May 7 18:32 UTC — auto-bumped after #1387 + #1386 merges; release line now includes the day-1 revert + day-3 revert-of-revert net no-op + Firefox stats fix.
- PR #853 (fcancela observability) — note: closed-not-merged on May 5; received an automated cross-reference timestamp ping May 7 17:50 UTC when PR #1389 opened (PR #1389 occupies adjacent design space). State remains CLOSED.
- PR #1387 MERGED May 7 17:47:35 UTC (+167/−177) — Revert the revert. Body one-liner: “Actually fix the issue by incrementing the dynamic count when cloning.” Un-reverts PR #1385’s revert of PR #1356. Net effect: the May 5
- moqtail/moqtail: completely quiet day — no new commits, no PR updates, no new issues. PR #193 [4/n] (sharmafb upstream FETCH on cache miss, +248/−132, OPENED late May 6) remains untouched 24h+ later.
- cloudflare/moq-rs: No new commits since Apr 13 (Day +25 of upstream-fork quiet).
- video-dev/moq-js: No new commits since Apr 16.
- google/quiche (
quiche/quic/moqt): No new commits since May 5 01:02 UTC1ceadc7Vasiliev “Rewrite MOQT control message parser” — Day +3 quiet. - birneee/quiche_moq: No new commits since Mar 13.
- Eyevinn/moqlivemock + warp-player: No new commits since the May 5 v0.8.0 release.
- Eyevinn/moqtransport: No new commits.
- Quicr/cat-rs (newly open-sourced May 6): May 7 04:07:33 UTC commit
1e4423e“Security hardening: fix all audit findings” by Suhas. Continues post-open-source polish; Day +1 of the public maintenance.
- moq-dev/moq (day-3 burst, all luke-curley):
- Mailing list: Quiet for 3rd consecutive day. No new messages on May 6 or May 7. Cullen Jennings’s “Request Synchronization Use Case” thread (May 1) and Magnus Westerlund’s three May 4 framing messages now sit unanswered for 7 days and 4 days respectively. No on-list announcement posted for the new MSFTS draft (
draft-gregoire-moq-msfts-00, posted to Datatracker May 6) — Day +2 since draft. - IETF Datatracker: No new draft revisions. WG state: transport-17, msf-00, loc-02, secure-objects-00 (-01 substantively ready in repo, still not on Datatracker), privacy-pass-02, cmsf-00. Notable individual: lite-04 (Apr 9, despite Lite05 in moq-dev/moq PR #1374), nmsf-01 (Apr 7), qlog-moq-events-06 (Mar 16), gregoire-moq-msfts-00 (May 6, Day +2).
- Interop runner: 19 pass / 72 fail / 14 skip (105 tests, 2026-05-08 00:38 UTC report). −1 pass / +1 fail vs May 7 / May 6 / May 5 / May 4 (all 20/71/14). Breaks the 4-day floor downward — new post-NAB low. Walking arc: 18 → 18 → 18 → 20 → 22 → 22 → 23 → 24 → 22 → 23 → 22 → 23 → 23 → 23 → 24 → 25 → 24 → 24 → 20 → 20 → 20 → 20 → 19. moqtail PR #193 (upstream FETCH, OPEN since May 6) did not merge so this isn’t a moqtail-relay rebuild effect; more likely natural variance or a different image’s rebuild. The previous
19reading was the early Apr 17–21 floor; the matrix has now returned to that depth. - MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30 / May 1). Day +7 since #1.
- tobbee/moq-llm-wiki: No new open issues. (3 issues remain closed: #1, #2, #3.)
Pages updated: discussions-2026-05.md (top-level “May 7 06:00 UTC → May 8 06:00 UTC” section: moq-dev/moq day-3 burst with revert-of-revert + LOC frame + stats aggregation; msf PR #133 review pushback; moq-transport Issue #1622 afrind comment; mailing list quiet day-3; cat-rs security hardening), moq-dev.md (header bump + “May 7 → May 8” section: PR #1386 + PR #1387 merged, PR #1388 + PR #1389 opened), moq-loc.md (added “Implementation tracking” note for PR #1388 in moq-dev/moq), interop-runner.md (May 8 row + narrative paragraph: floor breaks down to 19), interop-status.md (May 8 reading note: 19/72/14, post-NAB new low), index.md (last_updated bump), log.md.
Key findings:
- First merge → revert → revert-of-revert cycle on
mainin moq-dev/moq’s history: PR #1356 (May 5 22:15 UTC,insert_tracktakesTrackConsumer) → PR #1385 (May 6 22:08 UTC, revert) → PR #1387 (May 7 17:47 UTC, “Revert the revert”). Total cycle 43h 32m. Yesterday’s wiki entry framed PR #1385 as a “first merge-then-revert-within-24h” event; today it’s reframed as a transient revert. The actual fix lands in-place: “Actually fix the issue by incrementing the dynamic count when cloning.” TheTrackConsumer::produce()removal from PR #1300 is again gone from the codebase. Pattern signal: Luke is comfortable usingmainfor fast iteration on type-level cleanup, including reverting and un-reverting within 24h windows. - moq-dev/moq adopts LOC frame format support — first non-Hang container format alongside CMAF/moq-lite native stack: PR #1388 (+799/−17) brings full encode/decode for draft-ietf-moq-loc frames into both Rust (
moq-loccrate) and JS (@moq/locpackage). Hang catalog gainsContainer::Loc { timescale }. Audio source selection now prioritizes LOC ahead of CMAF (after legacy). This positions moq-dev/moq for direct interop with moqtail and moqlivemock’s LOC paths. Significant strategic shift: Luke previously treated Hang as the canonical media layer above moq-lite — adopting LOC inline brings the IETF-aligned media container into the same stack rather than relying on shim/conversion. First IETF-spec container format adopted by moq-dev/moq. - moq-dev/moq stats aggregation reformulates the closed PR #853 (fcancela observability) at 1168 lines: PR #1389 (Luke, +1168/−39) opens stats infrastructure 2 days after the May 5 housekeeping wave closed PR #853 (+1261/−38) without merging. Domain overlap is direct: per-broadcast and per-session counters (broadcasts, subscriptions, bytes, frames, groups) with relay-side aggregation. Luke’s reformulation introduces three novel mechanisms: (1) stats published as in-band
.stats/<level>/<name>MoQ broadcasts (subscribe to your own stats stream rather than scraping Prometheus); (2)Path::is_hidden()filtering so the stats system itself doesn’t generate stats traffic recursively; (3) per-prefix-level bucketing (configurable depth) for hierarchical aggregation. Both PRs are Claude-Code-generated. The pattern of closing a 13-month-old observability PR and opening a fresh maintainer-authored design 2 days later is the second time this contributor-→-maintainer-rewrite pattern has appeared (after the Apr 30 Lite05 design absorbing earlier contributor-FETCH-API ideas). - avelad opens MSF PR #133 review wedge — first review-process pushback in 70 days: Suhas’s SCTE-35 + CEA-608/708 PR has been open since Feb 27 (70+ days) accumulating updates without a substantive review challenge. Alvaro Velad (Google, Shaka Player engineer) joins May 7 11:50 UTC: “Perhaps this should be separated into 3 PRs, one for CEA, one for SCTE-35, and one for IMSC1 and WebVTT?” — process suggestion, not technical pushback, but the first concrete reviewer engagement after Will Law’s Apr 27 round. The PR adds 4 separable concerns (accessibility metadata, SCTE-35 timeline events, IMSC1 captions, WebVTT) — a 4-way split would change the merge cadence considerably. First moq-wg/msf review activity from a Google engineer in this PR thread.
- afrind reframes ianswett’s GOAWAY-Request-ID-removal proposal as repurposable Group-ID slot: Issue #1622 was opened Apr 30 by ianswett arguing “Request ID in GOAWAY isn’t useful” (request IDs are not the right primitive in MoQ; HTTP-style stream IDs would be HTTP, not MoQ). afrind’s May 7 18:53 UTC reply: “Perhaps we want to use the Request ID slot to convey a Group ID when sent on an individual subscription or fetch stream.” — repurposes the wire field for a different per-stream identifier rather than removing it. The competing fronts (Vasiliev’s Apr 30 PR #1559 hesitation, the Required Request ID removal in PR #1615, GOAWAY’s leftover Request-ID use) suggest the editorial team is converging on per-stream identifier signalling as a subgroup of the Request-ID-cleanup direction. First substantive afrind comment on Issue #1622 since the original Apr 30 “trivial to put in goaway” reply.
- Interop runner breaks the 4-day floor: 19/72/14 vs 4 prior days at 20/71/14. PR #193 (moqtail upstream FETCH) did not merge May 7 — yesterday’s wiki noted it as the next candidate to move the matrix once
moqtail-relayrebuilds, but the rebuild hasn’t happened. The likely cause is therefore another image’s rebuild or natural per-run variance. The 19 reading matches the Apr 17–21 floor exactly, suggesting the post-NAB recovery wave’s gains have all been given back. The matrix is now at the same passing-test count as 22 days ago. Notable that no on-mainwire-format change in moq-transport occurred May 7 — the regression is in implementation pairs. - moq-dev/moq is producing the largest single-day Claude-Code-generated PR pair in repo history: PR #1388 (+799) + PR #1389 (+1168) both opened ~40 minutes apart (17:42 UTC and 18:23 UTC). Both bodies tagged ”🤖 Generated with Claude Code”. Neither is merged yet; combined +1967/−56. Second Claude-Code-generated PR pair within 7 days after the May 5 PR #1378 (+295/−240) + PR #1374 (+1615/−7) Lite05 design pair. Cumulative Claude-Code-generated diff in moq-dev/moq’s recent history is now >4000 lines added across 4 PRs in a 4-day window.
2026-05-07 — New MSFTS draft (MPEG-2 TS over MoQ) lands; moq-dev/moq evening burst includes 24h revert; moqtail upstream-FETCH series merges; CAT4MOQ Rust lib open-sourced; MOQ Town Hall scheduled
TL;DR:
- NEW individual draft
draft-gregoire-moq-msfts-00submitted to Datatracker May 6 — MPEG-2 Transport Stream Packaging for Media Over QUIC Transport, 21 pages, by Paul Gregoire (Red5) + gwendal-simon (Synamedia). Registers them2tspackaging value alongside CMSF/LOC under the MSF umbrella; defines 10 m2ts-specific catalog fields (188/192-octet packets, PMT/PCR/SCTE-35 PIDs, PSI interval, timestamp modes,initData). First non-CMAF, non-LOC packaging format for MSF — extends MoQ to broadcast/contribution workflows. First MoQ contribution from Paul Gregoire (moqxr maintainer); Gwendal’s first IETF-side artifact after the late-April spec/impl cross-pollination wave. No mailing-list announcement yet. - moq-dev/moq evening burst day-2: luke-curley merges PR #1382 (moq-mux test fixtures), PR #1383 (
@moq/watchbroadcast-flap fix), and PR #1385 reverting yesterday’s PR #1356 (insert_tracktakesTrackConsumer) within 24 hours of merge — first merge-then-revert-within-24h onmainsince the Apr 30 → May 2 fetch_group cycle. Opens PR #1386 (@moq/watchsource network stats from QUIC connection, notnavigator.connection) — second Firefox-compatibility-affecting PR alongside still-open PR #1307. Issue #1384 opens (@moq/signalsimprovements). PR #1374 (Lite05 DATAGRAMS) unmoved, Day +2. - moqtail upstream-FETCH 3-PR series MERGED in 27 minutes: zafer-gurel lands sharmafb’s #186 + #188 + #187 (merge order 1→3→2) on May 6 14:31–14:58 UTC, plus davemevans’s PR #179 Firefox docs at 15:04 UTC. sharmafb opens PR #193 [4/n] (+248/−132) at 23:11 UTC as the capstone — actual upstream FETCH on cache miss, with
fetch_requestsmap split into incoming/outgoing and publisher-track-alias forwarding. Second consecutive day of non-maintainer merges onmain(after thexeos’s co-authored #191 May 5). - Implementations: moq-dev/moq merges 3 PRs (#1382 +3/−0, #1383 +15/−5, #1385 revert +160/−117) + opens PR #1386 + Issue #1384. moqtail merges 4 PRs (#186 +15/0, #187 +71/−6, #188 +154/−8, #179 +11/−2) + opens PR #193 [4/n] +248/−132. moq-wg/secure-objects: first commits in many weeks (Suhas Nandakumar, 2 commits May 6 13:30–13:45 UTC, diagram fix via PR #87 — no normative change). cloudflare/moq-rs Day +24 fork quiet; google/quiche moqt Day +2 post-Vasiliev rewrite quiet; video-dev/moq-js, birneee/quiche_moq, Eyevinn repos all quiet.
- Interop: 20/71/14 — flat for 3rd consecutive day at the Apr 17–21 floor. PR #1341 moq-mux backport (merged May 6 01:20 UTC) was the candidate to move the matrix on May 7 — no movement observed, suggesting hang catalog/init shape is internal to moq-dev not a moq-transport wire change.
Operation: Update Sources:
- Slack:
#moq— 2 new posts (first activity since May 5):- suhas-nandakumar May 6 17:49 CEST: CAT4MOQ implementation update —
catapult(C++) and newly open-sourcedcat-rs(Rust) at Quicr/cat-rs. Both up to date with C4M spec, full CAT token + DPoP support. First Rust CAT4MOQ implementation in the open. - Will Law (Akamai) May 6 09:44 CEST: Dan Rayburn hosting MOQ Town Hall Zoom session May 12 at 1pm ET (LinkedIn announcement). Open to all — first public-facing moderated MoQ town hall (vs IETF interim or Demuxed talks).
#moq-rs(C09CG9V7A2Y),#moq-js(C09BZ7KH0BZ),#libquicr(C08ER7J16BF) all unchanged.
- suhas-nandakumar May 6 17:49 CEST: CAT4MOQ implementation update —
- GitHub moq-wg repos:
- moq-transport: No new commits, merges, or new issues in May 6 06:00 UTC → May 7 06:00 UTC window. Only PR #1604 timestamp ping (label/state, no new comment after alan-frindell’s May 5 reframing).
- moq-wg/secure-objects: First main-branch activity in many weeks. Commits
8d789cf(May 6 13:30 UTC, suhas-nandakumar) Fix encryption/decryption diagrams to match SECURE_OBJECT_AAD structure and68f9f0b(May 6 13:45 UTC) merge of PR #87 frompic-fixbranch. Diagram-only fix, no normative change. secure-objects-01 substantive draft remains not on Datatracker. - moq-wg/loc — Issue #19 unchanged: kixelated’s May 5 22:14 UTC self-reply remains the most recent; no LOC ecosystem engagement yet.
- moq-wg/msf, cmsf, catalog-format, privacy-pass: No new commits or PRs.
- GitHub implementations:
- moq-dev/moq (evening burst day-2):
- PR #1382 MERGED May 6 20:03 UTC (+3/−0) — Unignore moq-mux test fixtures. Test-fixture inclusion fix following PR #1341 backport.
- PR #1383 MERGED May 6 21:09 UTC (+15/−5) — @moq/watch: don’t tear down a broadcast when an unrelated path flaps. Targeted TS
watchfix for spurious tear-downs. - Issue #1384 OPENED May 6 20:41 UTC — @moq/signals improvements. Tracks reactive-signals layer cleanup.
- PR #1386 OPENED May 6 21:51 UTC (+88/−130, OPEN) — @moq/watch: source network stats from the connection, not navigator. Replaces
navigator.connection(Firefox doesn’t expose) with QUIC-connection-sourced stats. Second Firefox-compatibility PR after #1307. - PR #1385 MERGED May 6 22:08 UTC (+160/−117) — Revert “moq-lite: switch insert_track to take TrackConsumer (#1356)“. Body: standard auto-generated revert (“This reverts commit
b611acd1.”). Backs out PR #1356 ~24 h after May 5 22:15 UTC merge. No follow-up issue explaining the regression. - PR #1338 updated May 6 22:24 UTC —
chore: release(moq-bot[bot]). Auto-bumped, will drop PR #1356 from staging release line. - PR #1358 updated May 6 21:32 UTC — Origin poll-driven rewrite, still open.
- PR #1149 updated May 6 19:06 UTC — catalog registry, still open.
- Issue #1364 CLOSED May 6 06:00 UTC — Dan Rossi’s “Cloudflare Relay” question. No comment on close.
- PR #1374 (Lite05 DATAGRAMS) — no movement (Day +2).
- PR #1307 (Firefox legacy-SETUP fallback) — no movement.
- moqtail/moqtail (sharmafb upstream-FETCH series merges + capstone opens):
- PR #186 MERGED May 6 14:31 UTC by zafergurel (+15/0) — [upstream fetches] Add command-line args for FETCH upstream timeout and gap limit [1/n] (sharmafb / Aman Sharma).
- PR #188 MERGED May 6 14:56 UTC (+154/−8) — [upstream fetches] Function to send upstream fetch [3/n]. Merged before #187 ([2/n] plumbing PR).
- PR #187 MERGED May 6 14:58 UTC (+71/−6) — [upstream fetches] Plumbing to forward FETCH data received from upstream [2/n]. Merge order 1 → 3 → 2 (likely cherry-pick / linearization).
- PR #179 MERGED May 6 15:04 UTC (+11/−2) — docs: add instructions for Firefox testing using private CA (davemevans / David Evans, opened Apr 29).
- PR #192 OPENED May 6 15:05 UTC by github-actions[bot] —
[ci] release. - PR #193 OPENED May 6 23:11 UTC by sharmafb (+248/−132, OPEN) — [upstream fetches] Finish implementation of sending FETCH requests upstream for cache misses [4/n]. Upstream fetch on cache miss; splits
fetch_requestsinto incoming/outgoing maps; uses publisher’s track alias for upstream FETCH so response stream resolves correctly. 4-terminal manual test plan in PR body. - Commit
ccf9d2eMay 6 08:59 UTC by Ali C. Begen — docs: update reference.
- cloudflare/moq-rs: No new commits since Apr 13 (Day +24 of upstream-fork quiet).
- video-dev/moq-js: No new commits since Apr 16.
- google/quiche (
quiche/quic/moqt): No new commits since May 5 01:02 UTC1ceadc7Vasiliev “Rewrite MOQT control message parser” — Day +2 quiet. - birneee/quiche_moq: No new commits since Mar 13.
- Eyevinn/moqlivemock + warp-player: No new commits since the May 5 v0.8.0 release.
- Eyevinn/moqtransport: No new commits.
- moq-dev/moq (evening burst day-2):
- Mailing list: Quiet for 2nd consecutive day. No new messages on May 6 or May 7. Cullen’s “Request Synchronization Use Case” thread (May 1) and Magnus Westerlund’s three May 4 framing messages now sit unanswered for 6 days and 3 days respectively. No announcement message posted for the new MSFTS draft. The “Knowing the start of a Subgroup” thread is dormant since alan-frindell’s twin May 5 pushback messages.
- IETF Datatracker: NEW individual draft
draft-gregoire-moq-msfts-00posted May 6 (21 pages, MPEG-2 TS packaging, Gregoire/Simon). All WG drafts unchanged: transport-17, msf-00, loc-02, secure-objects-00 (-01 still not on Datatracker), privacy-pass-02, cmsf-00. Other notable individual drafts unchanged (moq-lite-04 Apr 9, nmsf-01 Apr 7, qlog-moq-events-06 Mar 16, moq-probe-00 Mar 16, moq-largest-group-00 Mar 22).media-interopno longer in listing (Apr 23 expiry). - Interop runner: 20 pass / 71 fail / 14 skip (105 tests, 2026-05-07 00:38 UTC report). Flat vs. May 6 (also 20/71/14). Three consecutive days at the Apr 17–21 floor. Walking arc: 18 → 18 → 18 → 20 → 22 → 22 → 23 → 24 → 22 → 23 → 22 → 23 → 23 → 23 → 24 → 25 → 24 → 24 → 20 → 20 → 20. PR #1341 (moq-mux backport, merged May 6 01:20 UTC) was the most plausible candidate to move the matrix in this report — no movement observed, suggesting catalog/init shape change is internal to moq-dev/hang not a moq-transport wire change. moqtail PR #193 (upstream FETCH on cache miss) opens late May 6 — could affect May 8 matrix once
moqtail-relayrebuilds. - MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30 / May 1). Day +6 since #1.
- tobbee/moq-llm-wiki: No new open issues. (3 issues remain closed.)
Pages updated: discussions-2026-05.md (top-level “May 6 06:00 UTC → May 7 06:00 UTC” section added with MSFTS draft / moq-dev evening burst / moqtail upstream-FETCH series / secure-objects diagram fix / mailing list quiet / Slack CAT4MOQ + Town Hall sub-sections), moq-dev.md (header bump + “May 6 → May 7” section: PR 1383 merged, PR #1385 revert of #1356, PR #1386 opened, Issue #1384 opened), moqtail.md (header bump + “May 6” section: PR 179 merged, PR #193 [4/n] capstone opened), interop-runner.md (May 7 row + narrative paragraph), interop-status.md (May 7 reading, third-day-at-floor note, PR #1341 no-effect observation), moq-msf.md (added MSF Packaging Extensions section listing CMSF + new MSFTS), index.md (last_updated bump + MSFTS mention in individual drafts list), log.md.
Key findings:
- First non-CMAF, non-LOC packaging extension to MSF:
draft-gregoire-moq-msfts-00registersm2tspackaging alongsidecmaf(CMSF) and the LOC bytestream form. The 192-octet variant accommodates the M2TS source-packet form (4-byte timestamp prefix), and SCTE-35 PID is explicitly modeled, signaling intent to support ad-insertion / splice points end-to-end. Co-authored by gwendal-simon (also PR #1378 SWITCH for client-side ABR author) — his first IETF-side artifact, suggesting the late-April spec/impl cross-pollination wave is producing concrete spec contributions. First MoQ draft from Paul Gregoire (Red5), who also maintainsmoqxr— extends the MoQ author base into the broadcast-streaming community. No mailing-list announcement yet — the WG hasn’t been notified on-list. - First merge-then-revert-within-24h on
mainsince the Apr 30 → May 2 fetch_group cycle: PR #1356 (insert_tracktakesTrackConsumer) merged May 5 22:15 UTC, reverted via PR #1385 May 6 22:08 UTC — exactly 23 h 53 min. The PR description is auto-generated revert text; no follow-up issue explains the regression that prompted the pull-back. The release-train PR #1338 auto-bumped 16 minutes after the revert, so the next moq-lite release will not include the type-level cleanup. The post-Lite04 deprecation queue (PR #1378 +295/−240) is therefore not 100% complete as the wiki implied yesterday —TrackConsumer::produce()from #1300 is back in. - moqtail contributor base widening visibly: 4 of 5 merges on
mainin the May 5 → May 6 window have non-maintainer authorship (thexeos co-authoring #191 on May 5; sharmafb authoring 188 on May 6; davemevans authoring #179 on May 6). Only Ali C. Begen’sccf9d2e“docs: update reference” and the bot release PRs are maintainer-internal. First time in moqtail’s history that 3 different external contributors land code onmainwithin a 48-hour window. PR #193 [4/n] +248/−132 will likely be the largest sharmafb contribution when it merges. - moqtail completes a key relay capability in contributor-led increments: upstream FETCH on cache miss is a textbook CDN-relay primitive (a relay that can fetch absent groups from origin rather than serving only what’s locally cached). PR 193 implement it as a 4-PR chain. First example of a non-trivial relay feature being shipped to moqtail by an external contributor. The 4-terminal manual test setup in PR #193’s body documents the testing approach reproducibly.
- secure-objects shows life signs but only diagram-level: 2 commits on
main(Suhas Nandakumar) merge apic-fixbranch correcting the encryption/decryption figure to match the SECURE_OBJECT_AAD structure. No normative change. The substantive secure-objects-01 draft (containing the SFRAME RFC reference, additional test vectors, en-dash fix from open PRs 85) remains not on Datatracker as of May 7. Suhas’s parallel May 6 17:49 CEST Slack post about the cat-rs CAT4MOQ open-source release suggests a coherent Cisco/Quicr push around the broader CAT4MOQ + secure-objects axis. - CAT4MOQ Rust impl
cat-rsopen-sourced (Quicr/cat-rs) — first Rust CAT4MOQ client-side implementation. Pairs with the existing C++catapultto give the privacy-pass / CAT4MOQ track its first cross-language client-side coverage. Both libraries claim full CAT token + DPoP support per spec. Notable framing: Suhas’s Slack post explicitly invites feedback (“Please give them a try and let us know”) — solicitation of community testing, not just announcement. - First public-facing MoQ town hall scheduled: Dan Rayburn (StreamingMediaBlog analyst) hosting a May 12 1pm ET Zoom Town Hall, open to all. Distinct from IETF interim format — frames as “promote your project or service, or debate the nuances of MOQT”. Will Law (Akamai) is the messenger. Falls 6 days from the next regular WG cadence; slot timing (1pm ET / 19:00 CEST / 17:00 UTC / 10am PT) hits both EU and US working hours. First non-IETF-organized MoQ public event of the year.
- Interop runner three consecutive days at floor: 20/71/14 unchanged. PR #1341 (moq-mux backport, merged May 6 01:20 UTC) did not move the matrix — the catalog
Container::Cmaf { init: Bytes }schema change is internal to moq-dev’s hang format, so moq-transport wire interop is preserved as designed. The post-PR #145 image-rebuild floor at 20 pass continues to be the new normal until pair-level fixes land. moqtail PR #193 (upstream FETCH +248/−132) is the next candidate to potentially move the matrix whenmoqtail-relayrebuilds with merge.
2026-05-06 — Luke’s biggest single-day merge run on moq-dev/moq; moqtail-ts polish; afrind closes door on Subgroup-ID/varint reopening; interop flat at floor
TL;DR:
- moq-dev/moq lands seven PRs in a ~9-hour window — capped by the +2588/−3594 PR #1341 moq-mux backport from
devtomain(82 files; net deletion ~1000 lines, all per-codec feature flags removed, dualOrderedConsumer/ConsumerAPI collapsed into singleConsumer<F: Container>). Other merges: PR #1378 API tightening (+295/−240), PR #1380 Origin API renames (port from #1358), PR #1379 Windows DNS fix, PR #1377 TOML config string-or-array, PR #1356 insert_track-takes-TrackConsumer, PR #1381 OG image. PR #1307 OPENED: legacy-SETUP fallback so Firefox can negotiate Lite03+ without ALPN selection. PR #1374 (Lite05 DATAGRAMS) still open. - mailing list: alan-frindell enters “Knowing the start of a Subgroup” thread with two replies in 6 minutes — pushes back on revisiting Subgroup ID width (“we’ve already been over this ground”) and on a broader varint audit (Group/Object IDs are also varints + part of priority scheme); on track-starts: “we’ve been at this four years and no one has needed it.” Combined with Ian Swett’s May 3 FIRST_OBJECT-bit decision, the editorial direction now signals subgroup-design topics are closed for draft -18. Cullen’s request-sync framing remains unanswered for a 5th day. moqtail merges per-subscription early-discard (#189) + isValidTrackAlias BigInt fix (#191, co-authored by thexeos closing #156). moq-wg/loc — Luke OPENS Issue #19 “How do you encode LOC Private Properties?” — argues LOC needs its own version/encoding contract rather than borrowing moq-transport’s. PR #1378 SWITCH (gwendalsimon) gets 2 commits reassigning message type 0x12 → 0x1F → 0x1B.
- Implementations: moq-dev/moq merges 7 PRs (PR #1341 +2588/−3594, PR #1378 +295/−240, others smaller); PR #1307 OPENED Firefox legacy-SETUP fallback. moqtail merges PR 190 (
moqtail-tspolish + release); PR #156 closed in favor of #191. cloudflare/moq-rs Day +23 fork quiet; google/quiche moqt Day +1 quiet (post-Vasiliev rewrite); video-dev/moq-js, birneee/quiche_moq, Eyevinn repos all quiet. - Interop: 20/71/14 — flat vs May 5 (also 20/71/14). Two consecutive days at the Apr 17–21 floor; no recovery from yesterday’s −4 regression.
Operation: Update Sources:
- Slack:
#moq— no new posts since torbjorn-einarsson’s May 5 06:43 CEST moqlivemock + warp-player MSF/LOC/WebCodecs/moq-mi announcement (3 clap reactions are the only post-Slack-MCP-probe activity).#moq-rs(C09CG9V7A2Y),#moq-js(C09BZ7KH0BZ),#libquicr(C08ER7J16BF) all unchanged. - GitHub moq-wg repos:
- moq-transport: No new commits or merged PRs in the May 5 06:00 UTC → May 6 06:00 UTC window.
- PR #1378 (gwendalsimon SWITCH for client-side ABR) updated May 5 09:55–09:59 UTC with 2 commits:
c301893fix(switch): change SWITCH message type from 0x12 to 0x1F +77e5326fix(switch): change SWITCH message type to 0x1B. Two consecutive code-point assignments in 4 minutes — final SWITCH type 0x1B. Open since Nov 24, 2025; received its first push in months as the Joining-FETCH-vs-SWITCH design space heats up. - PR #1604 (martinduke Joining FETCH with subscription) — afrind comment May 5 16:36:31 UTC: “Luke indicated in another issue a case where you want future SUBSCRIBE groups > FETCH current group > SUBSCRIBE current group. But that also can’t be expressed in any form in MOQ today.” Frames the priority-overlap concern as an open spec gap rather than a blocker.
- Open PR slate unchanged: #1627, #1604, #1617, #1615, #1625, #1607, #1544, #1623, #1618, #1621, #1591, #1605, #1378 (now active), #1613.
- PR #1378 (gwendalsimon SWITCH for client-side ABR) updated May 5 09:55–09:59 UTC with 2 commits:
- moq-wg/loc — Issue #19 OPENED May 5 22:12:11 UTC by kixelated (luke-curley) — “How do you encode LOC Private Properties?“. Body: “The encoding of LOC Public Properties depend on the moq-transport version, but it’s how are we supposed to encode private properties? I don’t know the version, nor will it be the same between an arbitrary publisher/subscriber with a relay in the middle.” Self-comment May 5 22:14:17 UTC: “Based on
vi64I can guess that moq-transport-17 encoding is being used, but LOC itself is going to have to specify a specific version/encoding for anything in the payload.” Direct conceptual challenge to LOC’s “borrow moq-transport’s encoding” stance; intersects with #1550 (Properties Type collision moq-16 ↔ loc-01) at a deeper architectural layer. - moq-wg/secure-objects, msf, cmsf, catalog-format, privacy-pass: No new activity since the May 1 secure-objects editorial wave. Open secure-objects PRs remain #83 (SFRAME RFC ref), #84 (test vectors), #85 (en-dash fix). draft-ietf-moq-secure-objects-01 still not on Datatracker.
- moq-transport: No new commits or merged PRs in the May 5 06:00 UTC → May 6 06:00 UTC window.
- GitHub implementations:
- moq-dev/moq (biggest single-day merge run since Apr 29–30):
- PR #1377 MERGED May 5 17:17:23 UTC (+52/−1, closes #1376) — fix(config): accept single string or array for TOML list fields.
serde_with::OneOrMany<_, PreferMany>onserver.tls.{cert,key,generate,root},tls.root,web.https.root,auth.tls.root,auth.domains. Production-fixing config PR. - PR #1380 MERGED May 5 18:51:38 UTC (+130/−127). moq-lite: port Origin API renames from #1358. Stacked on #1378. Ports public-API renames without merging the substrate change.
OriginProducer::publish_only→scope;OriginConsumer::consume_only→scope;OriginConsumer::try_consume_broadcast→get_broadcast;OriginProducer::consume_onlyandtry_consume_broadcastdropped. - PR #1379 MERGED May 5 19:22:22 UTC (+110/−11). Fix DNS resolution to prefer matching address family. New
pick_addr()selects DNS entry whose family matches local socket; falls back to first entry. Cross-platform stability fix for WindowsAddrNotAvailableerrors. - PR #1381 MERGED May 5 20:03:32 UTC — OG image dimensions. Cosmetic.
- PR #1378 MERGED May 5 20:08:31 UTC (+295/−240, 20 files). moq-lite: tighten public API surface and remove deprecated methods. Crate-private
ALPN_*/MAX_HOPS/ coding module / encode_params!/decode_params! macros; re-exportDecodeError/EncodeError/BoundsExceededfrom crate root. Drops deprecatedTrackProducer::close,poll_next_group,next_group(alias),FrameProducer::write_chunk,OriginProducer/OriginConsumer::consume_broadcast. Renamesnext_group_ordered→next_group. AddsOrigin::new(id).cargo test -p moq-lite --lib278/278 pass. 🤖 Generated with Claude Code. Largest API-surface tightening of the moq-lite cycle. - PR #1356 MERGED May 5 22:15:50 UTC (+117/−160). moq-lite: switch insert_track to take TrackConsumer. Removes
TrackConsumer::produce()from #1300 (added as workaround). AddsTrackConsumer::weak()(pub(crate)). - PR #1341 MERGED May 6 01:20:29 UTC (+2588/−3594, 82 files) — moq-mux backport + dual-API cleanup. Largest moq-dev/moq merge of the post-NAB period. Backports
moq-muxstructural refactor fromdev; module reorgmoq_mux::{import,export,container,convert}; catalog-sideContainer::Cmaf { init: Bytes }; all codec support always compiled (no per-codec feature flags); lazy track creation;Decoder→Framedrename;convert::cmaf::Convert+convert::hang::Convert. Final cleanup commit5e6d5a3collapses dual APIs inmoq_mux::export:OrderedConsumer<F: ContainerFormat>→Consumer<F: Container>;ContainerFormattrait →container::Containertrait;OrderedFrame→container::Frame;OrderedMuxer<F>→Muxed;export::Cmaf { timescale }→container::Cmaf { trak }. Net deletion ~1000 lines despite being a backport. ksletmoe-aws’s #1359 effectively flowed back via this merge in a different shape. - PR #1307 OPENED / updated May 5 21:45 UTC (+150/−13, still open) — moq-lite: negotiate Lite03+ via legacy SETUP when ALPN is unavailable. Direct Firefox-WebTransport-compatibility fix. Firefox can never pick
moq-lite-03/04since WebTransport doesn’t expose ALPN selection; previous fallback only advertised[Lite02, Lite01, Draft14]. Extends fallback to advertise every supported moq-lite version in draft-14 SETUP versions list. - PR #853 + PR #856 CLOSED unmerged May 5 21:45 UTC — fcancela’s “Minimal observability metrics” (+1261/−38) and ac-freeman’s “WIP: Delivery timeout” (+225/−54). Multi-year-old housekeeping retire from before the moq-lite split.
- PR #1374 (Lite05 DATAGRAMS) updated May 5 16:17 UTC — still open. Today’s merges (#1378, #1380, #1377) reduce surrounding API surface area.
- PR #1371 (cross-broadcast track refs) updated May 5 16:07 UTC — still open.
- PR #1338 (chore: release, moq-bot) updated May 5 22:37 UTC — staging the next moq-lite release line.
- PR #1377 MERGED May 5 17:17:23 UTC (+52/−1, closes #1376) — fix(config): accept single string or array for TOML list fields.
- moqtail/moqtail (
moqtail-tspolish day):- PR #189 MERGED May 5 13:40:06 UTC by zafergurel (+18/−4) — feat(moqtail-ts): set early discard policy per subscription. Refines May 4 PR #184’s lib-wide
setEarlyDiscardPolicyAPI to per-subscription scope. - PR #191 MERGED May 5 14:00:08 UTC by zafergurel (+51/−4, closes #156, co-authored by @thexeos) — fix(moqtail-ts): adds isValidTrackAlias validator. Fixes a BigInt-falsy bug —
if (!trackAlias)returns true for0n, so the relay’s first-assignedtrackAlias = 0was treated as missing. Single canonicalisValidTrackAliastype guard consolidates 3 prior inconsistent checks. First moqtail-ts merge with a non-maintainer co-author. - PR #156 CLOSED unmerged May 5 14:01:57 UTC (thexeos’s strict-undefined-check approach, superseded by zafergurel’s broader fix in #191 with attribution preserved).
- PR #190 MERGED May 5 14:04:21 UTC by github-actions[bot] — [ci] release. Cuts next moqtail release line capturing #189 + #191.
- PR #179 (davemevans Firefox docs) updated May 5 10:04 UTC — still open.
- PRs 188 (sharmafb upstream-FETCH 3-PR series) — all 3 still open, no movement.
- PR #189 MERGED May 5 13:40:06 UTC by zafergurel (+18/−4) — feat(moqtail-ts): set early discard policy per subscription. Refines May 4 PR #184’s lib-wide
- cloudflare/moq-rs: No new commits since Apr 13 (Day +23 fork quiet).
- video-dev/moq-js: No new commits since Apr 16.
- google/quiche (
quiche/quic/moqt): No new commits since the May 5 01:02 UTC1ceadc7Vasiliev “Rewrite MOQT control message parser” — Day +1 of post-rewrite quiet. - birneee/quiche_moq: No new commits since Mar 13.
- Eyevinn/moqlivemock + warp-player: No new commits since the May 5 04:15 UTC v0.8.0 release.
- Eyevinn/moqtransport: No new commits.
- moq-dev/moq (biggest single-day merge run since Apr 29–30):
- Mailing list:
- “Knowing the start of a Subgroup” — 2 new May 5 messages, both from alan-frindell:
- alan-frindell May 5 16:56 UTC (msg) — replies to Luke Curley’s May 4 b-frame use-case. “We’ve already been over this ground and I don’t see any need to revisit the size of the subgroup ID field.” Counter-frames prioritization argument: “Group IDs and Object IDs are varints and are also part of the priority scheme, so ‘we only have 1 byte for prioritization’ is already the wrong place to start from.” Concedes editorial gap on mixed subgroup/datagram priority specification but tags it as tertiary.
- alan-frindell May 5 17:02 UTC (msg) — replies to a Cullen suggestion about addressing track/group/subgroup starts simultaneously. Splits the problem: group starts already solved (Object ID = 0 or Gap header); track starts non-trivial (publishers can lose state between instances, but “we’ve been at this four years and no one has needed it”); subgroup-ID priority overlap dismissed via Group/Object ID varint argument.
- REWIND consensus: No chair-summary message. Cullen’s “Request Synchronization Use Case” thread (May 1) and Magnus Westerlund’s three May 4 framing messages remain unanswered for a 5th day.
- “Knowing the start of a Subgroup” — 2 new May 5 messages, both from alan-frindell:
- IETF Datatracker: No new draft versions. WG state: transport-17, msf-00, loc-02, secure-objects-00 (-01 substantively ready in repo, still not on Datatracker), privacy-pass-02, cmsf-00. Notable individual: lite-04 (Apr 9, despite Lite05 in moq-dev/moq PR #1374), nmsf-01 (Apr 7), qlog-moq-events-06 (Mar 16), media-interop-03 (expired Apr 23, no -04), subscribe-rewind-02.
- Interop runner: 20 pass / 71 fail / 14 skip (105 tests, 2026-05-06 00:36 UTC report). Flat vs. May 5 00:37 UTC (also 20/71/14). Walking arc: 18 → 18 → 18 → 20 → 22 → 22 → 23 → 24 → 22 → 23 → 22 → 23 → 23 → 23 → 24 → 25 → 24 → 24 → 20 → 20. Two consecutive days at the Apr 17–21 floor reading. PR #1341 (moq-mux backport) merged May 6 01:20 UTC — after this run, so its effect could appear in May 7. Other moq-dev/moq merges are API/config/platform fixes (no wire-format changes), so wire interop should be preserved.
- MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30 / May 1). Day +5 since #1 publication.
- tobbee/moq-llm-wiki: No new open issues. (3 issues remain closed: #1, #2, #3.)
Pages updated: discussions-2026-05.md (top-level “May 5 06:00 UTC → May 6 06:00 UTC” section added), moq-dev.md (header bump + “May 5 → May 6” section: 7 PRs merged incl. PR #1341 moq-mux backport, PR #1307 Firefox fallback opened), moqtail.md (header bump + “May 5” section: PR #189 + #191 + #190 merged, PR #156 closed in favor of #191), interop-status.md (20/71/14 flat day note + post-PR-#145 narrative), interop-runner.md (May 6 row added + narrative paragraph), index.md (last_updated bump), log.md.
Key findings:
- Luke’s biggest single-day merge run since Apr 29–30: 7 PRs merged on
main, capped by the +2588/−3594 PR #1341moq-muxbackport. Despite being a backport, the merge net-deletes ~1000 lines because all per-codec feature gates evaporate and the dualOrderedConsumer/ConsumerAPIs collapse into a singleConsumer<F: Container>. ksletmoe-aws’s #1359 (closed unmerged on May 4) effectively flowed back into the codebase through thisdev-branch backport in a different shape — first time that pattern is visible in moq-dev/moq’s history. - moq-lite API tightening completes the post-Lite04 deprecation queue: PR #1378 (+295/−240) drops every deprecated method accumulated since Lite03, makes
ALPN_*/MAX_HOPS/ coding module crate-private, and re-exports the minimum-viable error types from the crate root. Combined with PR #1380 (Origin API renames) and PR #1356 (insert_tracktakesTrackConsumer), the moq-lite public API is now in its cleanest pre-Lite05 state. The next merge can be PR #1374 (Lite05 DATAGRAMS) without dragging deprecated naming forward. - Firefox compatibility front opens via PR #1307: Firefox’s WebTransport doesn’t expose an ALPN selection API, so it has been stuck on Lite02 for the post-Lite03 era. PR #1307 extends the legacy SETUP path (bare
moqlALPN) to advertise every supported moq-lite version in the draft-14 SETUP versions list. First moq-dev/moq PR addressing a known browser-platform compatibility gap that doesn’t require browser-vendor changes. - afrind closes the door on Subgroup-ID/varint reopening: Two replies in 6 minutes turn back both fronts of Mo Zanaty’s May 4 04:24 UTC varint-vs-fixed-width audit call. Combined with Ian Swett’s May 3 22:38 UTC FIRST_OBJECT-bit decision, the editorial direction is clear: subgroup-design topics are closed for draft -18; reopening would need fresh on-list advocacy. Notable specific framing: “we’ve been at this four years and no one has needed it” on Track-start markers — a strong “demonstrated need only” stance from the editor.
- Luke (kixelated) opens new LOC architectural front via Issue #19: Argues LOC needs its own version/encoding contract for private properties rather than implicitly inheriting moq-transport’s wire version — particularly because the publisher/subscriber pair may not even agree on the wire-version when a relay bridges them. Conceptually adjacent to the existing #1550 (Properties Type collision moq-16 ↔ loc-01) but at a deeper layer. First LOC issue from the moq-dev/moq maintainer in a multi-week window.
- moqtail-ts polish + first non-maintainer co-author: PR #191 (isValidTrackAlias) absorbs thexeos’s PR #156 (strict-undefined-check approach), preserving credit via Co-Authored-By. Establishes a template for the moqtail maintainer team to merge externally-proposed-but-broader-fix-warranted PRs: replace with the broader fix, close the original PR, credit the original author. Useful pattern as moqtail’s contributor base widens (sharmafb’s 3-PR upstream-FETCH series is the next contributor-led thread to watch).
- Interop runner two consecutive days at floor: 20/71/14 unchanged. The post-moqtail-PR-#145 image-rebuild state appears to be the new normal until pair-level fixes land. Today’s seven moq-dev/moq merges are non-wire (API, config, DNS, OG image), so no further matrix shift expected on those rebuilds. PR #1341 (moq-mux backport) merged 44 minutes after the May 6 00:36 UTC report — its effect would appear in May 7.
2026-05-05 — moqtail draft-16 umbrella merges; moq-lite Lite05 opens; interop major regression
TL;DR:
- moqtail PR #145 (umbrella draft-16) finally MERGED into
mainafter being open since Mar 6 — 216 files, +17,114/−11,744. PR #182 (drop draft-14 docs) merges 49 min later — moqtail is now a single-draft (draft-16) project. Mailing list “Knowing the start of a Subgroup” thread surfaces 3 implementer voices asking “why >256 subgroups?”; Magnus Westerlund returns to list with 3 messages reframing request-sync as problem-solving and pointing at London. - Implementations: moqtail PR #145 MERGED (+17,114/−11,744 across 216 files); PR 184 MERGED; sharmafb opens 3-PR upstream-FETCH series 188 (+240/−14). moq-dev/moq Luke OPENS PR #1374 introducing Lite05 wire version (ALPN
moq-lite-05, +1615/−7 across 21 files, new DATAGRAMS control stream + QUIC datagram delivery). google/quiche +1 moqt commit (Vasiliev: rewrite control message parser) — first since Apr 22. Eyevinn moqlivemock + warp-player coordinated v0.8.0 (HEVC LOC, WebCodecs LOC, namespace filtering, Safari wt.closed fix). cloudflare/moq-rs Day +22 quiet, video-dev/moq-js, birneee/quiche_moq quiet. - Interop: 20/71/14 — −4 pass / +4 fail vs May 4 (24/67/14). Largest single-day regression since Apr 17 floor. Most plausible cause: moqtail-relay image rebuild after PR #145 wholesale draft-14→draft-16 migration.
Operation: Update Sources:
- Slack:
#moq(broke 7-day silence) — yuyou May 4 08:47 CEST (London June interim venue question), Martin Duke May 4 16:19 CEST (“yes”), torbjorn-einarsson May 5 06:43 CEST announces moqlivemock + warp-player MSF/LOC/WebCodecs/moq-mi update with demo URLhttps://moqlivemock.demo.osaas.io.#moq-rs/#moq-js/#libquicrquiet. - GitHub moq-wg repos:
- moq-transport: No new commits, no new PRs opened, no merges in May 4 06:00 UTC → May 5 06:00 UTC window. Open PRs unchanged: #1627, #1604, #1617, #1615, #1625, #1607, #1544, #1623, #1618, #1621, #1591, #1605, #1378, #1613.
- moq-wg/secure-objects: No new activity since May 1 wave. Open PRs remain #83, #84, #85.
- moq-wg/msf, loc, cmsf, catalog-format, privacy-pass: No new activity.
- GitHub implementations:
- moq-dev/moq (Lite05 day):
- PR #1374 OPENED May 4 22:57:32 UTC by luke-curley — moq-lite: add DATAGRAMS control stream + QUIC datagram delivery (Lite05) (+1615/−7 across 21 files, both Rust + TS). New wire version
Lite05/DRAFT_05, ALPNmoq-lite-05, code0xff0dad05. NewDATAGRAMSbidi control stream0x6parallel toSUBSCRIBEsharingsubscribe_idnamespace. QUIC datagram body:subscribe_id (i) | sequence (i) | payload (b), payload capped at 1200B. 33ms publisher-side cache with per-subscribermax_latencyfilter. Public API:TrackProducer.write_datagram/append_datagram,TrackConsumer.subscribe_datagrams→DatagramsConsumer. JS:Track.writeDatagram/appendDatagram/recvDatagram/skipDatagramsToLatest. Spec draft section + Lite05 changelog entry live in the separatemoq-wg/moq-draftsrepo (not the source-code monorepo). 17 new Rust tests, 12 new TS tests; manual relay round-trip + Lite04↔Lite05 cross-version sanity still pending. Body marked ”🤖 Generated with Claude Code”. - PR #1359 CLOSED unmerged May 4 21:25 UTC — ksletmoe-aws’s unify Consumer across container formats did not land in the form opened (~+1002/−1173 across 14 files).
- PR #1356 updated May 4 23:10 UTC by luke-curley — moq-lite: switch insert_track to take TrackConsumer (+39/−93). Removes
TrackConsumer::produce()from #1300; addsTrackConsumer::weak(). - PR #1373 updated May 4 22:25 UTC by skirsten — playback stalls / frame-rate beating fix (still open, follow-up to PR #1367).
- PR #1341 updated May 4 22:24 UTC by luke-curley — fMP4 / CMAF passthrough refactor (+3808/−2025 across 79 files; module reorg
moq_mux::import→moq_mux::producer, removed feature gates, base64 ftyp+moov in catalog). - PR #1338 updated May 4 21:47 UTC —
chore: release(moq-bot staging release).
- PR #1374 OPENED May 4 22:57:32 UTC by luke-curley — moq-lite: add DATAGRAMS control stream + QUIC datagram delivery (Lite05) (+1615/−7 across 21 files, both Rust + TS). New wire version
- moqtail/moqtail (umbrella merge day):
- PR #145 MERGED May 4 19:23:22 UTC by zafergurel — feat: draft-16 compatibility (+17,114/−11,744 across 216 files). Body: “Here is a substantial PR thanks to the huge difference between draft-14 and draft-16.” New ALPN-based ClientSetup/ServerSetup negotiation (#132). Two new demo apps:
apps/client-js(browser subscriber) +apps/meet(WebRTC-over-MoQ video conferencing). Renamedrequest_id→max_request_id(#146). MessageParameter typed parameters (#153). Track Extensions + Object Extensions (#155). Unified request ID registry (#163). - PR #181 MERGED May 4 19:39:57 UTC by zafergurel — refactor: clean up object status values (closes Issue #117).
- PR #182 MERGED May 4 20:12:09 UTC by zafergurel — docs: remove draft 14 texts. moqtail formally drops draft-14 documentation ~30 minutes after umbrella draft-16 lands.
- PR #184 MERGED May 4 21:21:20 UTC by zafergurel — feat: add setEarlyDiscardPolicy to moqtail-ts API (+85/−38). New developer-facing API to cancel slow subgroup streams after configurable timeout.
- README updated May 4 20:27 UTC by Ali C. Begen (
1d39865) — first co-maintainer commit onmainin this window. - CI release commits (#173, #183, #185) bumped versions on
main. - PR #186 OPENED May 4 21:37:33 UTC by sharmafb (Aman Sharma) — [upstream fetches] Add command-line args for FETCH upstream timeout and gap limit [1/n] (+15/0).
- PR #187 OPENED May 5 02:35:51 UTC by sharmafb — [upstream fetches] Plumbing to forward FETCH data received from upstream [2/n] (+71/−6).
- PR #188 OPENED May 5 02:50:23 UTC by sharmafb — [upstream fetches] Function to send upstream fetch [3/n] (+154/−8).
- PR #145 MERGED May 4 19:23:22 UTC by zafergurel — feat: draft-16 compatibility (+17,114/−11,744 across 216 files). Body: “Here is a substantial PR thanks to the huge difference between draft-14 and draft-16.” New ALPN-based ClientSetup/ServerSetup negotiation (#132). Two new demo apps:
- google/quiche (
quiche/quic/moqt): First commit since Apr 22 (Day +13 quiet ended) —1ceadc7May 5 01:02:22 UTC “Rewrite MOQT control message parser” by Vasiliev. - cloudflare/moq-rs: No new commits since Apr 13 (Day +22 of upstream-fork quiet).
- video-dev/moq-js: No new commits since Apr 16.
- birneee/quiche_moq: No new commits since Mar 13.
- Eyevinn/moqlivemock (v0.8.0 release):
d174037May 5 03:59 UTC chore: bump version to 0.8.0;77d67b0May 3 22:13 UTC feat(catalog): expose accurate per-packaging bitrate;2d08ea1May 3 21:20 UTC feat(loc): add HEVC support for LOC packaging (closes Issue #23 via PR #76). - Eyevinn/warp-player (v0.8.0 release):
05ded99May 5 04:15 UTC chore: bump version to 0.8.0;421e8daMay 5 03:54 UTC docs: cover MSF catalog and WebCodecs LOC pipeline in README and CLAUDE.md;48378e9May 3 21:32 UTC feat(loc): add HEVC support to WebCodecs LOC pipeline;f154020May 3 20:56 UTC fix(transport): handle wt.closed rejection so Safari doesn’t flag it;95a653dMay 3 20:36 UTC feat(ui): add engine legend, mute toggle, and namespace filtering.
- moq-dev/moq (Lite05 day):
- Mailing list:
- “Knowing the start of a Subgroup” thread — 4 new May 4 messages:
- ian-swett May 4 16:56 UTC (msg) — replies to Mo Zanaty: limiting Subgroup ID to single byte is “a very appealing change”, but flags trade-off (256-Object/Group cap when doing Object-per-Subgroup without datagrams). References Issue #1405. Reiterates concern about Subgroup ID + Priority overlap as prioritization mechanisms.
- mo-zanaty May 4 17:36 UTC (msg) — proposes single-object stream workaround (multiple objects with id=0 + reset) plus a specialized header format for single-object streams resembling datagrams. “If stream-per-object can be done without consuming many Subgroup IDs, a single byte for Subgroup ID would suffice.”
- suhas-nandakumar May 4 17:40 UTC (msg) — “Is there a use-case where we need more than 256 subgroups and needs to be considered for prioritization? I cannot think of one but appreciate inputs from others.”
- luke-curley May 4 20:00 UTC (msg) — “What are the use-cases for a sub-group per object/datagram? I think for media, it would be sending each b-frame as a separate sub-group.”
- “Request Synchronization Use Case” thread — 3 new May 4 messages:
- magnus-westerlund May 4 10:04 UTC (msg) — replies to Cullen’s May 1 framing. Clarifies WG poll was about whether request synchronization needed resolution in draft-18, with intent to defer to London. “The discussion also indicated that there are some different views on why a request synchronization mechanism is needed.” Proposes two paths: state explicitly that capability remains, or retain
required_request_idin -18 with notes documenting issues. Frames as problem-solving, not removal of consensus. - magnus-westerlund May 4 10:15 UTC (msg) — asks Cullen to detail three scenarios: Swap Tracks (REQUEST_UPDATE forward-flag vs new subscriptions), Client Side ABR (REQUEST_UPDATE / new subscriptions / SWITCH), Pause/Unpause (questions whether reorder-via-REQUEST_UPDATE is achievable; “requests will be delivered and processed in the order transmitted”).
- luke-curley May 4 17:10 UTC (msg) — identifies deadlock concern with draft-17
required_request_id: “if either side RESETs a request, it can cause a deadlock. The peer may never learn about a specific request_id referenced via a required_request_id so it will block.” Says the issue is “addressable”.
- magnus-westerlund May 4 10:04 UTC (msg) — replies to Cullen’s May 1 framing. Clarifies WG poll was about whether request synchronization needed resolution in draft-18, with intent to defer to London. “The discussion also indicated that there are some different views on why a request synchronization mechanism is needed.” Proposes two paths: state explicitly that capability remains, or retain
- “Re: Minutes from Interim meeting 27 of April 2026” — magnus-westerlund May 4 07:59 UTC (msg) — responds to Cullen on minutes quality. “For keeping the arguments more easily available we should in fact have more discussion over email as there the full argumentation would be available in the mail archive.”
- “Knowing the start of a Subgroup” thread — 4 new May 4 messages:
- IETF Datatracker: No new draft versions. WG state: transport-17, msf-00, loc-02, secure-objects-00 (-01 substantively ready in repo, still not on Datatracker), privacy-pass-02, cmsf-00. Notable individual: lite-04 (Apr 9, despite Lite05 introduction in moq-dev/moq PR #1374), nmsf-01 (Apr 7).
- Interop runner: 20 pass / 71 fail / 14 skip (105 tests, 2026-05-05 00:37 UTC report). −4 pass / +4 fail vs May 4 00:38 UTC’s 24/67/14. Largest single-day regression since Apr 17 floor (also 20). Walking arc: 18 → 18 → 18 → 20 → 22 → 22 → 23 → 24 → 22 → 23 → 22 → 23 → 23 → 23 → 24 → 25 → 24 → 24 → 20. Most plausible cause: moqtail PR #145 merged into
mainMay 4 19:23 UTC — image rebuilds formoqtail-relayandmoq-dev-rs/moq-dev-jslikely flipping multiple pairs to fail. - MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30 / May 1). Day +4 since #1 publication.
- tobbee/moq-llm-wiki: No new open issues. (3 issues remain closed: #1, #2, #3.)
Pages updated: discussions-2026-05.md (top-level “May 4 06:00 UTC → May 5 06:00 UTC” section added covering moqtail umbrella merge + Lite05 + mailing list + Slack + Eyevinn v0.8.0 + interop regression), moqtail.md (header + new “May 4” section: PR #145 merged, draft-14 docs removed, setEarlyDiscardPolicy, sharmafb upstream-FETCH 3-PR series), moq-dev.md (header + new “May 4 → May 5” section: PR #1374 Lite05, PR #1359 closed, PR 1341 updated), moqlivemock.md (header bump to v0.8.0, packaging formats now CMSF/LOC/MSF/moq-mi, both moqlivemock and warp-player at v0.8.0), moq-lite.md (Lite05 banner added at top), interop-status.md (20/71/14, regression note), interop-runner.md (May 5 row added, narrative paragraph appended), index.md (last_updated bump), log.md.
Key findings:
- moqtail’s 2-month draft-16 migration completes: PR #145 (umbrella draft-16) was opened Mar 6 and merged May 4 19:23 UTC after 29 commits and 216 files of churn. Combined with PR #182 (remove draft-14 docs) merged 49 minutes later, moqtail is now a single-draft (draft-16) project on
main. This is the largest moqtail merge in the project’s history. Concurrently, the team has already started building draft-16-specific features on top — sharmafb’s 3-PR upstream-FETCH series and zafergurel’ssetEarlyDiscardPolicyAPI both opened/merged the same day. - moq-lite Lite05 wire-version increment: Luke’s PR #1374 adds the first wire-version increment in moq-lite since Lite04 was the baseline. The DATAGRAMS control stream + QUIC datagram body design intentionally encodes a
sequencefield that Lite05 doesn’t use — “so a future moq-transport adapter can reuse the same encoding.” This is forward-looking spec engineering: the unreliable delivery design is being defined in moq-lite first, with a clear extension hook for adoption into moq-transport later. Notable that the spec text lives inmoq-wg/moq-drafts(a separate repo) rather than being merged into draft-lcurley-moq-lite-05 on Datatracker — suggests a different publication cadence. - Magnus Westerlund returns to the list with substance: Three messages in a single day (Apr 27 interim minutes, Cullen’s request-sync framing × 2). His framing on request-synchronization explicitly resists Cullen’s “removal of consensus” reading — “problem-solving”. Asks Cullen to detail three concrete scenarios (Swap Tracks / Client Side ABR / Pause/Unpause). London (June 9–12) appears now firmly framed as the venue where this gets resolved, with the mailing list as the primary preparation surface — Magnus explicitly: “we should in fact have more discussion over email as there the full argumentation would be available in the mail archive.”
- Subgroup-ID-as-single-byte gains traction: The May 4 thread surfaces 3 implementer voices (Ian Swett, Suhas Nandakumar, Luke Curley) asking the same question — “why do we need >256 subgroups?” — with no use case offered. Mo Zanaty’s varint-vs-fixed-width audit thread (opened May 4 04:24 UTC) is now feeding directly into PR-shaped change proposals. Likely London agenda item.
- Interop runner regression coincides with moqtail umbrella merge: 24 → 20 pass / 67 → 71 fail. The proximate cause is most likely the moqtail-relay image rebuild after PR #145 — the wholesale draft-14→draft-16 migration would change wire-level behavior on every moqtail × {moq-dev, moq-rs, moqx, moxygen, …} pair. Pair-level diff inspection warranted to confirm. moq-dev/moq PR #1374 (Lite05) was opened May 4 22:57 UTC and is not yet merged, so the May 5 regression cannot be attributed to it.
- Eyevinn coordinated v0.8.0 release: Both moqlivemock and warp-player bumped to v0.8.0 May 4–5, with HEVC for LOC, WebCodecs LOC pipeline, accurate per-packaging bitrate in catalog, namespace filtering UI, mute toggle, and a Safari
wt.closedrejection fix. Tobbe’s Slack announcement makes this the most expansive Eyevinn-side release of the cycle: now spans CMSF + LOC + MSF + moq-mi, and exercises both MSE and WebCodecs rendering paths.
2026-05-04 — ianswett opens competing-design Issue #1627 to martinduke’s PR #1604
TL;DR:
- ianswett opens Issue #1627 (“SUBSCRIBE with Joining Fetch”) as a competing-design alternative to martinduke’s PR #1604; fixes the same four issues (#1039/#1313/#1602/#1612) by adding two new modes to SUBSCRIBE instead of carrying Joining FETCH on the SUBSCRIBE stream. Mailing list reignites — ianswett announces decision to proceed with FIRST_OBJECT bit (PR #1618), backing the May 1 PR #1608 closure on-list; Mo Zanaty broadens scope by calling for varint-vs-fixed-width audit (“Subgroup ID could be a single byte”). Weekly GitHub digest sent May 3.
- Implementations: moq-dev/moq PR #1373 OPENED by skirsten (
@moq/watchplayback stall + frame-rate beating fix, closes #1367) supersedes skirsten’s own PR #1367 two days after opening; PR #1359 (ksletmoe-aws Consumer unify) revised. moqtail PR #145 (umbrella draft-16) gets 3 commits (two race-condition fixes bracketing a logging refactor). cloudflare/moq-rs Day +21 fork quiet; google/quiche moqt Day +12; video-dev/moq-js, birneee/quiche_moq quiet. - Interop: 24/67/14 — flat vs May 3 (post-revert run shows net-zero matrix change).
Operation: Update Sources:
- Slack:
#moq— no new posts since Apr 27 18:50 CEST (Day +7).#moq-rs/#moq-js/#libquicrquiet. - GitHub moq-wg repos:
- moq-transport:
- Issue #1627 OPENED May 3 07:40:15 UTC by ian-swett — “SUBSCRIBE with Joining Fetch”. Body: “A different take on #1604 that adds two new modes to SUBSCRIBE instead of allowing Joining FETCH to be sent on the SUBSCRIBE stream.” Notes: removable Request ID once #1615 lands; needs text on FETCH_HEADER stream behavior on Subscription cancel; needs prioritization clarification. Fixes #1039, #1313, #1602, #1612 — same four-issue closure target as martin-duke’s PR #1604, framed as a competing simpler design.
- PR #1604 (Joining FETCH with subscription) — comments by ianswett May 3 06:39 + 06:42 UTC. First comment replies to gwendalsimon’s Apr 16 SWITCH-relay-proactive-FETCH framing: “This conversation makes me think using a single message would be better.” Second on prioritization concern: “I don’t think there’s a compelling use case for updating the priority separately. You’re issuing a message to Join a Track.” Both ~1 hour before opening Issue #1627.
- No new commits or merged PRs in the May 3 06:00 → May 4 06:00 UTC window.
- moq-wg/secure-objects: No new activity since May 1 editorial wave. Open PRs remain #83 (SFRAME RFC ref), #84 (test vectors), #85 (en-dash fix).
- moq-wg/msf, loc, cmsf, catalog-format, privacy-pass: No new activity.
- moq-transport:
- GitHub implementations:
- moq-dev/moq:
- PR #1373 OPENED May 3 16:53:49 UTC by skirsten (+146/−144 across 6 files, @moq/watch: fix playback stalls and frame-rate beating, closes #1367). Body terse: “Detailed description of both fixes is in the commits.” Same author as the May 1 PR #1367 (pull-mode renderer for 144Hz+ Chrome) — effectively a rewrite that supersedes #1367. coderabbitai bot review (May 3 17:02): “No actionable comments were generated.” skirsten now has 4 PRs in the May 1–3 window (#1349 + #1365 merged; #1367 + #1373 open with #1373 superseding).
- PR #1359 revised May 3 04:30 UTC by ksletmoe-aws — now +1002/−1173 across 14 files (vs. earlier reading). Author summary: “Replace the two separate consumer implementations (Legacy and CMAF) with a single generic
Consumerclass that accepts aContainerFormatstrategy for frame parsing. This mirrors the Rustmoq-muxConsumer<F: Container>pattern… Additionally, add asequentialdelivery mode flag to fix audio stuttering caused by inter-group serialization.” Presumably addresses Luke’s May 2 nits aboutFrame/DecodedFramereuse and avoidingLegacy.LegacyFormat. - No merges in window. Open: PR #1370 (metapox), #1371 (Luke), #1367 (skirsten), #1373 (skirsten), #1359 (ksletmoe-aws), #1362 (Qizot), 1341 (Luke).
- moqtail/moqtail:
- PR #145 (DRAFT: draft-16) updated with 3 new commits May 3:
6f7991018:10 UTC fix: fixes a race conditionee9f7e019:02 UTC refactor: proper logging for moqtail-tsad78f2523:39 UTC fix: fixes a race condition Now at 29 commits, +17187/−11733, 240 files vs. main. Two race-condition fixes ~5.5 hours apart bracket the logging refactor. Still not landed onmain.
- PR #145 (DRAFT: draft-16) updated with 3 new commits May 3:
- cloudflare/moq-rs: No new commits since Apr 13 (Day +21 of upstream-fork quiet).
- video-dev/moq-js: No new commits since Apr 16.
- google/quiche (
quiche/quic/moqt): No new commits since Apr 22 (Day +12). - birneee/quiche_moq: No new commits since Mar 13.
- moq-dev/moq:
- Mailing list:
- ian-swett May 3 22:38 UTC (msg) “Re: Knowing the start of a Subgroup” — thanks Mo Zanaty, announces decision to proceed with the bitfield approach (FIRST_OBJECT bit, PR #1618). Reservation: “having both Subgroup ID and Priority serve as methods for prioritizing objects within a group” — Subgroup ID creates a much larger namespace than the agreed single-byte priority. Effectively closes the design dispute on-list.
- mo-zanaty May 4 04:24 UTC (msg) “Re: Knowing the start of a Subgroup” — replies broadening the topic: proposes reconsidering varints across the spec (“Subgroup ID could be a single byte”), recommends a broader review of all variable-length integer fields to determine whether they genuinely require varint encoding. First explicit on-list call for a varint-vs-fixed-width audit.
- Repository Activity Summary Bot May 3 (msg) — weekly GitHub digest. moq-transport: “3 new issues, 12 issues received 15 comments, 14 issues closed, 10 PRs.” Notable: PR #1625 (Magnus Security), PR #1615 (Remove RRID, “Merge Ready”), PR #1608 (6 comments), PR #1607 (Largest Available Group filter). For warp-streaming-format: “2 PRs incl. SCTE-35 + CEA-608/708 accessibility fields and initial zapping specifications” — first wiki-visible mention of warp-streaming-format SCTE-35/CC PR work.
- REWIND consensus: Day +3 since May 1 deadline without chair-summary message. Cullen’s “Request Synchronization Use Case” thread (May 1) still no replies.
- IETF Datatracker: No new draft versions. WG state: transport-17, msf-00, loc-02, secure-objects-00 (-01 substantively ready but not yet published despite the May 1 merge wave), privacy-pass-02, cmsf-00. Notable individual: lite-04 (Apr 9), nmsf-01 (Apr 7).
- Interop runner: 24 pass / 67 fail / 14 skip (105 tests, 2026-05-04 00:38 UTC report). Flat vs. May 3 00:38 UTC (also 24/67/14). Walking arc since Apr 17 floor: 18 → 18 → 18 → 20 → 22 → 22 → 23 → 24 → 22 → 23 → 22 → 23 → 23 → 23 → 24 → 25 → 24 → 24. The May 2 21:18 UTC PR #1372 revert (Luke pulling fetch_group + Subscription API) presumably reached this run, so any restoration-effect is already baked in.
- MoQ Monthly: No new issue. Archive remains #0 (Mar 3) + #1 (Apr 30 / May 1). Day +3 since #1 publication.
- tobbee/moq-llm-wiki: No new open issues.
Pages updated: discussions-2026-05.md (top-level “May 3 06:00 UTC → May 4 06:00 UTC” section added), moq-dev.md (May 3 → May 4 section: PR #1373 opened superseding #1367, PR #1359 revised), moqtail.md (PR #145 commit log extended), interop-status.md (24/67/14, flat day note), interop-runner.md (history table extended), index.md (last_updated bump), log.md.
Key findings:
- Joining FETCH redesign now has two competing live proposals in the moq-transport repo: Martin Duke’s PR #1604 (carry Joining FETCH on the SUBSCRIBE stream) vs. Ian Swett’s brand-new Issue #1627 (collapse Joining FETCH into new SUBSCRIBE modes). Both target the same four issues (#1039 / #1313 / #1602 / #1612). Issue #1627 was opened ~1 hour after Ian’s “single message would be better” comment on PR #1604, making it explicit that he wants the alternative shape considered. Resolution will likely surface in London hybrid-interim agenda.
- Subgroup-start design is on-list-confirmed: Ian Swett’s May 3 22:38 UTC message converts the May 1 PR #1608 closure into an on-list direction statement — FIRST_OBJECT bit (PR #1618) is the WG path forward. That removes ambiguity from the closed dispute.
- Mo Zanaty has opened a new design front: a broader varint vs. fixed-width audit. This is the first time the spec’s encoding-class choices have been challenged as a design topic on-list, separate from any specific message. Could be picked up at London if anyone champions it.
- moq-dev/moq external-contributor velocity: skirsten alone has 4 PRs in 3 days (#1349 catalog merged, #1365 AudioContext merged, #1367 pull-mode + #1373 superseding-fix open). ksletmoe-aws is now in active revision turn-around. metapox has the open PriorityQueue bug-with-fix-offer (#1370). Luke’s repo has clearly transitioned from solo-development to multi-contributor activity in the post-NAB window.
- Interop runner flat-day: the May 2 PR #1372 revert (Luke removing the partial fetch_group / Subscription API merged Apr 30) didn’t move the matrix needle — net zero from May 3 to May 4. The walking arc has stabilized at 24 pass for 2 consecutive days, with one excursion to 25 on May 2.
- Slack signal-to-noise: 7 days of silence on
#moqafter the Apr 27 interim. The mailing list and GitHub are the only active surfaces — Slack as a coordination channel is absent post-interim.
2026-05-03 — Luke reverts the FETCH-path API; metapox files first fix-with-PR
TL;DR:
- Luke reverts PR #1357 (fetch_group + TrackDynamic) and PR #1348 via PR #1372 — “FETCH isn’t hooked up yet, the breaking API change isn’t worth it; the API also wasn’t quite right.” Three days after PR #1357 was framed as the first track-level FETCH path API. moq-transport quiet (no new PRs/commits); REWIND consensus chair-summary message still absent (Day +2 since deadline); MoQ Monthly archive shows #1 dated Apr 30 not May 1 (minor adjustment).
- Implementations: moq-dev/moq PR #1372 MERGED (revert); PR #1371 OPENED by Luke (hang cross-broadcast track refs, +PathRelative type); metapox OPENS PR #1370 (PriorityQueue not updating in-flight groups on SUBSCRIBE_UPDATE) — detailed bug report citing draft-13 §6.1 with working fix in their fork (camera-focus switch latency) and offer to submit. PR #1369 (sidsethupathi moq-gst EOS) MERGED. moqtail PR #180 (separate stream for SUBSCRIBE_NAMESPACE, +1150/−488) MERGED into
draft-16branch ~10 hours BEFORE moq-transport PR #1542 itself merged. cloudflare/moq-rs, video-dev/moq-js, google/quiche, birneee/quiche_moq quiet. - Interop: 24/67/14 — first regression after 4-day +1/day recovery streak (−1 pass / +1 fail vs May 2’s 25/66/14).
Operation: Update Sources:
- Slack:
#moq— no new posts since Apr 27 18:50 CEST.#moq-rs/#moq-js/#libquicrquiet. - GitHub moq-wg repos:
- moq-transport: No new commits or PRs in the May 2 → May 3 06:00 UTC window. Issue #1313 (ianswett “Joining FETCH as a separate control message creates edge cases and feature gaps”) got a comment May 3 06:00 UTC.
- moq-wg/secure-objects: No new activity. Open PRs remain #83 (SFRAME RFC ref), #84 (test vectors), #85 (en-dash fix) — all editorial polish.
- moq-wg/msf, loc, cmsf, catalog-format, privacy-pass: No new activity.
- GitHub implementations:
- moq-dev/moq (busy day):
- PR #1372 MERGED May 2 21:18:50 UTC by luke-curley — Revert moq-lite FETCH/Subscription API changes. Reverts PR #1357 (fetch_group + TrackDynamic, merged Apr 30 00:01 UTC) and PR #1348 (Subscription model API for FETCH readiness). Body: “FETCH isn’t hooked up yet, so the breaking API change isn’t worth it; the API also wasn’t quite right.” Hop-based clustering (PR #1322) and per-frame buffer changes (PR #1353) preserved. Notable U-turn — PR #1357 was just three days old and described as “first track-level FETCH path API” in the Apr 30 wiki entry.
- PR #1371 OPENED May 2 20:28:59 UTC by luke-curley — hang: cross-broadcast track references in renditions. New
PathRelativetype +Path::resolvein moq-lite Rust + mirrorresolveBroadcastfor@moq/hang. Lets a downstream catalog reference tracks in another broadcast without republishing bytes. Body explicitly notes ”🤖 Generated with Claude Code”. - PR #1370 OPENED May 2 15:28:56 UTC by metapox — fix(lite): PriorityQueue does not update in-flight groups on SUBSCRIBE_UPDATE. Detailed bug report citing draft-ietf-moq-transport-13 §6.1: “When subscriber priority is changed, a best effort SHOULD be made to apply the change to all objects that have not been sent.”
PriorityQueue::insert()copies thetrackvalue at insertion time;SUBSCRIBE_UPDATEdoesn’t refresh in-flight groups. Real-world impact: “Switching camera focus via SUBSCRIBE_UPDATE takes several seconds because old groups from the previously-focused camera continue to be served at high priority.” Proposed fix:subscription_idonPriorityItem,update_subscription()API, wider quinn priority spreadindex * 64, priority-awarewrite_allviatokio::select!withpriority.next(). metapox: “We have a working implementation in our fork and can submit a PR if interested.” References Issues #699 (priority tie-breaking) + #1363 (own JS SUBSCRIBE_UPDATE issue from Apr 30). First substantive bug-report-with-fix-offer from metapox. - PR #1369 MERGED May 2 14:53:33 UTC by luke-curley (sidsethupathi author, +39/−2, moq-gst: fix moqsink eos). Lands ~11.5 hours after open. sidsethupathi’s second merged PR after #1294 (Apr 12).
- moqtail/moqtail:
- PR #180 MERGED May 1 12:45:51 UTC by zafergurel (+1150/−488, feat: separate stream for subscribe_namespace) into the
draft-16branch. Reviewer: DenizUgur. moqtail merged the impl-side SUBSCRIBE_NAMESPACE/SUBSCRIBE_TRACKS split design ~10 hours BEFORE moq-transport PR #1542 itself merged May 1 22:59 UTC. Still ondraft-16branch (PR #145 umbrella tracker still not landed onmain).
- PR #180 MERGED May 1 12:45:51 UTC by zafergurel (+1150/−488, feat: separate stream for subscribe_namespace) into the
- cloudflare/moq-rs: No new commits since Apr 13.
- video-dev/moq-js: Quiet since Apr 21.
- google/quiche (
quiche/quic/moqt): No new commits since Apr 22. - birneee/quiche_moq: No new commits since Mar 13.
- moq-dev/moq (busy day):
- Mailing list: No new on-list messages May 2-3 visible. Cullen’s “Request Synchronization Use Case” thread (May 1) has had no replies. The “Knowing the start of a Subgroup” thread is quiet. The REWIND consensus deadline message-of-record from a chair has still not appeared on the list as of May 3 06:00 UTC.
- IETF Datatracker: No new draft versions. WG state: transport-17, msf-00, loc-02, secure-objects-00 (-01 substantively ready but not yet published), privacy-pass-02, cmsf-00. Notable individual: lite-04 (Apr 9), nmsf-01 (Apr 7).
- Interop runner: 24 pass / 67 fail / 14 skip (105 tests, 2026-05-03 00:38 UTC report). First regression after 4-day +1/day recovery streak: −1 pass / +1 fail vs May 2’s 25/66/14. Walking arc since the Apr 17 floor: 18 → 18 → 18 → 20 → 22 → 22 → 23 → 24 → 22 → 23 → 22 → 23 → 23 → 23 → 24 → 25 → 24. Most plausible cause: a moqtail
draft-16branch image rebuild after PR #180 merged. - MoQ Monthly: Archive page now shows #1 (“NAB, interoperability, and a whole lot of catching up”) dated April 30 rather than May 1. The publish email may have arrived May 1 but the archive entry is dated Apr 30 — minor cleanup vs May 2 wiki entry.
- tobbee/moq-llm-wiki: No new open issues. (3 issues all closed: #1 OpenMOQ, #2 broken interop-runner links, #3 factual corrections.)
Pages updated: discussions-2026-05.md (top-level “May 2 → May 3” section added), moq-dev.md (May 2 → May 3 section: PRs #1369 merged, 1371 opened, #1372 merged-as-revert), moqtail.md (PR #180 status updated to MERGED), interop-status.md (24/67/14), interop-runner.md (history table extended + May 3 narrative), index.md (last_updated bump), log.md.
Key findings:
- moq-dev/moq: Luke’s PR #1372 reverts PR #1357 (fetch_group + TrackDynamic) just three days after merging it, with the candid rationale that “FETCH isn’t hooked up yet, the breaking API change isn’t worth it; the API also wasn’t quite right”. The Apr 30 wiki entry framed PR #1357 as the “first track-level FETCH path API” — that framing is now stale; track-level FETCH path remains unimplemented in
moq-dev/moq. - metapox PR #1370 is the most concrete external-contributor bug report on
moq-dev/moqto date: cites the draft normatively, has a working fix, identifies a real user-visible regression (camera-focus switching takes seconds under bandwidth pressure), and offers to submit. Tracks Issue #699 (priority tie-breaking) which has been open since 2025. - moqtail PR #180 lands the SUBSCRIBE_NAMESPACE / SUBSCRIBE_TRACKS split design before the corresponding moq-transport PR #1542 merged. moqtail’s
draft-16branch is now ahead of the moq-transportmainon this design point. - Interop runner regression breaks the 4-day +1/day recovery streak. The May 2 21:18 UTC PR #1372 (Luke’s revert) happened after the May 3 00:38 UTC report, so its effect — possibly partially restoring functionality that broke when PR #1357 landed — would only show up in May 4’s run.
- Mailing list silence on REWIND consensus continues. Day +2 since the May 1 deadline without a chair-summary message; Cullen’s framing (option-#1, willing to “punt to London”) remains the only on-list interpretation.
2026-05-02 — PR #1542 NAMESPACE split MERGED; secure-objects wave concludes; MoQ Monthly #1
TL;DR:
- PR #1542 (SUBSCRIBE_NAMESPACE/SUBSCRIBE_TRACKS split) MERGED — most structural moq-transport merge of the post-interim wave; closes Issue #1458. New Issue #1626 (sharmafb, QMUX version negotiation) — afrind: “TLS ALPN moqt-18 implies qmux-01” (first concrete framing for draft-18). PR #1608 formally CLOSED in favor of #1618. REWIND consensus call deadline reached without chair-summary message; Cullen opens “Request Synchronization Use Case” thread (3 use cases — track swap, ABR, pause/unpause), willing to “punt to London”.
- MoQ Monthly #1 PUBLISHED May 1 by Mike English — first since #0 (Mar 4); names draft-18 as next interop target, calls Safari 26.4 → WebTransport Baseline, explicitly cites this wiki (
tobbee.github.io/moq-llm-wiki/) and Tobbe’s moqlivemock update. - Implementations: secure-objects editorial wave concludes May 1 — PRs #82 (padding, fixes #54), #77 (threat model, fixes #49), #86 (fan-out, fixes #49) all MERGED. moq-dev/moq quiet day for Luke (PR #1366 flake bump, PR #1368 doc-note merged) but two new contributor PRs OPENED — skirsten PR #1367 (pull-mode renderer for 144Hz+ Chrome) + sidsethupathi PR #1369 (moqsink EOS fix, second sidsethupathi PR). moqtail, cloudflare/moq-rs, video-dev/moq-js, google/quiche, birneee/quiche_moq quiet.
- Interop: 25/66/14 (+1 vs May 1) — recovery now +1/day for 4 consecutive days.
Operation: Update Sources:
- Slack:
#moq— no new posts since Apr 27 18:50 CEST.#moq-rs/#moq-js/#libquicrquiet. - GitHub moq-wg repos:
- moq-transport:
- PR #1542 MERGED May 1 22:59:13 UTC by alan-frindell (+215/−135, Split SUBSCRIBE_NAMESPACE into SUBSCRIBE_NAMESPACE and SUBSCRIBE_TRACKS). Replaces single SUBSCRIBE_NAMESPACE (0x11) with SUBSCRIBE_NAMESPACE (0x50) for namespace discovery + SUBSCRIBE_TRACKS (0x51) for track subscriptions; removes SUBSCRIBE_NAMESPACE_OPTIONS + BOTH mode; adds TRACK_NAMESPACE_PREFIX (0x34) for prefix changes via REQUEST_UPDATE. Approvals: ianswett (Mar 9), vasilvv (Apr 27), suhasHere (final May 1 18:32:48 UTC on commit
4aa849a). Closes Issue #1458 — one of the longest-standing draft-17 design splits. moqtail PR #180 (zafergurel) had already been opened against the post-Apr-29 split design. - Issue #1626 OPENED May 1 23:50:05 UTC by sharmafb (Suhas Sathyanarayana): “Version negotiation for QMUX” — body: “We have an idea of how version negotiation works for MoQ-over-HTTP/3 and how it works for MoQ-over-QUIC, but do we know how it’s going to work for MoQ-over-QMUX?” afrind reply May 2 02:19:30 UTC: “We discussed quite a bit last IETF. The plan is to say something like TLS ALPN moqt-18 implies qmux-01”. First explicit statement of the QMUX/transport ALPN coupling for draft-18.
- PR #1608 formally CLOSED May 1 18:35 UTC by alan-frindell (“Closing in favor of 1618”) — confirms FIRST_OBJECT bit (PR #1618) as the WG-adopted answer to “Knowing the start of a Subgroup”.
- PR #1542 MERGED May 1 22:59:13 UTC by alan-frindell (+215/−135, Split SUBSCRIBE_NAMESPACE into SUBSCRIBE_NAMESPACE and SUBSCRIBE_TRACKS). Replaces single SUBSCRIBE_NAMESPACE (0x11) with SUBSCRIBE_NAMESPACE (0x50) for namespace discovery + SUBSCRIBE_TRACKS (0x51) for track subscriptions; removes SUBSCRIBE_NAMESPACE_OPTIONS + BOTH mode; adds TRACK_NAMESPACE_PREFIX (0x34) for prefix changes via REQUEST_UPDATE. Approvals: ianswett (Mar 9), vasilvv (Apr 27), suhasHere (final May 1 18:32:48 UTC on commit
- moq-wg/secure-objects — Editorial wave concludes May 1 21:05–21:33 UTC:
- PR #82 MERGED May 1 21:05:19 UTC by fluffy (suhasHere author, +66/0, Add padding property for byte boundary alignment). Closes Issue #54 (fluffy Nov 2025).
- PR #77 MERGED May 1 21:06:12 UTC self-merged by fluffy (+50/0, describe threat model). Mostly fixes Issue #49.
- PR #78 CLOSED unmerged May 1 21:29 UTC (the “DO NOT MERGE YET” fan-out PR, superseded).
- PR #86 OPENED + MERGED May 1 21:27:42 → 21:33:18 UTC (~6 minutes) by fluffy → suhasHere (+27/0, Explain Fan Out Attack, “This replaces PR#78 and is part of Fixes #49”). Closes Issue #49.
- Open PRs remaining: #83 (SFRAME RFC ref), #84 (test vectors), #85 (en-dash fix). All polish — secure-objects substantively at -01 release line, but draft-ietf-moq-secure-objects-01 has NOT yet been published on Datatracker.
- moq-wg/msf, loc, cmsf, catalog-format: No new activity.
- moq-transport:
- GitHub implementations:
- moq-dev/moq:
- PR #1366 MERGED May 1 14:58 UTC — flake.lock bump.
- PR #1368 MERGED May 1 18:08:59 UTC by luke-curley (+1/−1) — single-line doc note: Cloudflare doesn’t support both
reloadANDlatency=real-time. - PR #1367 OPENED May 1 15:17:12 UTC by skirsten (+46/−4, @moq/watch: add pull mode to video renderer). Fixes 120fps over-render on Chrome with 144Hz+ monitors via recursive rAF; adds
mode: "push" | "pull"prop. Fourth skirsten PR after #1349, #1355, #1365. - PR #1369 OPENED May 2 03:27:40 UTC by sidsethupathi (Sid Sethupathi, MLB) (+39/−2, moq-gst: fix moqsink eos). Fixes the gst-launch pipeline so EOS from
num-buffersis honored. Second sidsethupathi PR after #1294 (Apr 12).
- moqtail/moqtail: No new activity since Apr 30 PR #178 merge + PR #180 open.
- cloudflare/moq-rs: No new commits since Apr 13.
- video-dev/moq-js: Quiet since Apr 21.
- google/quiche (
quiche/quic/moqt): No new commits since Apr 22. - birneee/quiche_moq: No new commits since Mar 13.
- moq-dev/moq:
- Mailing list:
- Cullen Fluffy Jennings opens new thread “Request Synchronization Use Case” May 1 16:10:06 -0600 (22:10:06 UTC) (msg). Three use cases: (1) swap tracks in video conference, (2) client-side ABR, (3) rapid pause/unpause. Key quotes: “the chairs are going to treat this as we no longer have the consensus we had on drafts up to -17”, “reopening base issues about what the requirements are is not helpful”, “I would have objected to bidi if it did not have a way to synchronize”, “I’m fine with punting this to London.” No replies as of May 2 04:00 UTC.
- REWIND Consensus Call deadline (May 1, 2026): No chair-summary message on the list as of May 2 04:00 UTC. Magnus Westerlund / Suhas Nandakumar / Alan Frindell have not yet posted an interpretation of the split outcome. Cullen’s “Request Synchronization Use Case” thread is his framing of the situation absent a chair message.
- “Knowing the start of a Subgroup” thread: ~1 additional Cullen reply on May 1; PR #1608 formally closed same day.
- IETF Datatracker: No new draft versions. WG state: transport-17, msf-00, loc-02, secure-objects-00 (-01 imminent post-wave but not yet published), privacy-pass-02, cmsf-00. Notable individual: lite-04 (Apr 9), nmsf-01 (Apr 7).
- Interop runner: 25 pass / 66 fail / 14 skip (105 tests, 2026-05-02 00:37 UTC report). +1 pass / -1 fail vs May 1’s 24/67/14. Recovery now +1/day for 4 consecutive days from the Apr 17 floor.
- MoQ Monthly #1 PUBLISHED May 1, 2026 by Mike English — first issue since #0 (Mar 4 2026). ~3,500 words. Title: “NAB, interoperability, and a whole lot of catching up”. Covers NAB 2026 (Qualabs/Ateme/EZDRM C2PA+DRM+MoQ on Cloudflare; Oracle Video@Edge multi-vendor with Ateme/Broadpeak/Cloudflare/Bitmovin; Wowza OBS→Shaka via CMSF; Norsk native MoQ), names draft-18 as next interop target, Safari 26.4 → WebTransport Baseline, OpenMOQ/aiomoqt/Vindral activity, Streaming Tech Sweden May 21 Stockholm, IETF MoQ Interim June 9–12 London (Cloudflare hosting). Explicitly cites this wiki at
tobbee.github.io/moq-llm-wiki/: “Torbjörn is also running an experiment using Andrej Karpathy’s LLM Wiki concept to build a living MoQ ecosystem reference”; spec-section reference: “For a current summary of all active drafts and their status, the MoQ LLM Wiki has a useful table.” Tobbe’s moqlivemock update also called out by name. - tobbee/moq-llm-wiki: No new open issues.
Pages updated: discussions-2026-05.md (top-level “May 1 → May 2” section added), moq-transport.md (PR #1542 to Recently Merged, new Issue #1626, PR #1608 formally closed), moq-secure-objects.md (PRs 86 wave wraps, Issues #49 + #54 closed), moq-dev.md (May 1–2 doc fix + new contributor PRs), interop-status.md (25/66/14), interop-runner.md (history table extended), mike-english.md (MoQ Monthly #1 callout), index.md (last_updated bump), log.md.
Key findings:
- moq-transport: PR #1542 lands the SUBSCRIBE_NAMESPACE/SUBSCRIBE_TRACKS split, the most structural merge of the post-interim wave. Closes Issue #1458 (~1.5 month old). moqtail PR #180 already prepares for this on the impl side.
- secure-objects: 30-hour editorial wave wraps. 8 PRs merged across Apr 29 → May 1 (#75, #76, #79, #80, #82, #77, #86 + commit 87a95f77 AAD simplification); 7 issues closed (#49, #54, #58, #61, #70, #71, #74). Open work is all polish. -01 not yet on Datatracker but substantively ready.
- QMUX version negotiation surface (Issue #1626) opens — afrind’s “TLS ALPN moqt-18 implies qmux-01” note is the first concrete framing for draft-18.
- REWIND consensus deadline reached without a chair conclusion. Cullen’s “Request Synchronization Use Case” reframes the post-call situation as a regression of pre-interim consensus, willing to punt to London.
- moq-dev contributor base widening: skirsten’s 4th PR + sidsethupathi’s 2nd; both external. Luke quiet on his own PRs (only flake bump + 1-line doc fix on May 1).
- MoQ Monthly #1 cites this wiki by URL — first external publication acknowledgement of the wiki experiment. Names draft-18 as next interop target (matching the moq-transport editorial wave’s trajectory).
2026-05-01 — Editorial wave culminates; secure-objects 30-hour cleanup wave
TL;DR:
- PR #1534 (REDIRECT) MERGED by afrind, closes Issue #1481. PR #1624 (LOC properties registry) MERGED, closes Issue #1550 (cross-draft 0x02/0x04 collision saga). afrind contests ianswett’s Issue #1622 walk-back of PR #1559 (Request ID in GOAWAY). Mailing list “Knowing the start of a Subgroup” expands 3→10 messages — Mo Zanaty calls PR #1608 a “footgun for devs” with concrete AV1 example; Luke proposes 0-indexed per-subgroup counter as a third design.
- secure-objects MASSIVE editorial wave — 4 PRs MERGED (#79 fixed-width int AAD, #80 Publisher Priority in E2E, #75 track-extension guidance, #76 32-bit Object ID nonce), 5 issues CLOSED (#74 Track Properties → option #1 = no E2E, #58, #61, #70, #71), 6 PRs OPENED (#77/#78/#82-#85), direct commit removes Track Namespace + Track Name from AAD. -01 substantively ready, not yet on Datatracker.
- Implementations: moqtail PR #178 (relay scheduling algorithm, +455/−62) MERGED — first draft-17-specific feature merged; PR #180 OPENED (+1150/−488, separate stream for SUBSCRIBE_NAMESPACE) — first impl adopting post-Apr-29 split. moq-dev/moq PR #1365 (skirsten AudioContext) MERGED; ksletmoe-aws PR #1359 self-summary + apology; new Issue #1364 (danrossi Cloudflare relay bug). cloudflare/moq-rs, video-dev/moq-js, google/quiche, birneee/quiche_moq quiet.
- Interop: 24/67/14 (+1 vs Apr 30); draft-cenzano-moq-media-interop-03 EXPIRED Apr 23 with no -04 published.
Operation: Update Sources:
- Slack:
#moq— no new posts since Apr 27 18:50 CEST.#moq-rs/#moq-js/#libquicrquiet. - GitHub moq-wg repos:
- moq-transport:
- PR #1534 MERGED May 1 01:11:59 UTC by afrind (+50/−1, Add REDIRECT for request errors and established subscriptions). Lands both: REDIRECT error code on REQUEST_ERROR + standalone REDIRECT message for established subscriptions. Closes Issue #1481 (per-track move).
- PR #1624 MERGED Apr 30 18:10:18 UTC by afrind (+11/0, Add provisional registry for LOC properties, suhasHere). Closes Issue #1550 (cross-draft 0x02/0x04 collision saga). Provisional IANA registry coordinates LOC + MOQT codepoints.
- Issue #1622 “Request ID in GOAWAY isn’t useful” (ianswett) — afrind counter Apr 30 18:31:57 UTC: “trivial to put the request ID in goaway, and might be useful. If nothing else it can speed up retry when a new request is racing a GOAWAY.” PR #1623 (revert) now contested. First explicit pushback against the walk-back.
- PR #1607 (Largest Available Group filter, vasilvv) — suhasHere counter Apr 30 03:57 UTC on Luke’s Apr 24 catalog use-case: “NGR is not used for catalog typically. Also if new group generates the same catalog, it is application problem.” Stays in CHANGES_REQUESTED.
- PR #1544 (0-RTT, ianswett) — 6 inline reply/suggestion comments Apr 30 02:12-02:29 UTC working through Thomson’s rewrite (already captured in Apr 30 entry).
- moq-wg/secure-objects — MASSIVE editorial wave Apr 29 → May 1:
- PR #79 MERGED May 1 03:02:45 UTC (suhasHere, Use fixed-width integers for AAD and nonce formation to avoid varint ambiguity). Closes Issue #58.
- PR #80 MERGED May 1 03:04:41 UTC (suhasHere, Add Publisher Priority to E2E authenticated data). Closes Issue #71.
- PR #75 MERGED May 1 03:24:17 UTC (fluffy, guidance on track extentions).
- PR #76 MERGED May 1 03:24:52 UTC (fluffy, Explain 32-bit object ID nonce limitation). Closes Issue #70.
- Commit
87a95f77(suhasHere May 1 03:17:34 UTC): “Remove Track Namespace and Track Name from AAD structure” — landed via direct commit after PR #81 was closed unmerged. Most consequential wire-format change of the wave. - Commit
56248619(suhasHere May 1 03:01:33 UTC): “make object id 32 bits”. - Issue #74 “Authentication of Track Properties” CLOSED May 1 03:24:18 UTC by suhasHere/fluffy with consensus: option #1 — “Don’t provide end to end security for track properties. Applications will just add properties that need end to end security as object properties to first object of the group.”
- 6 new open PRs: #77 (threat model, fluffy, fixes #49), #78 (fan-out attack DO-NOT-MERGE, fluffy), #82 (padding for byte boundary, suhasHere, fixes #54), #83 (SFRAME RFC ref, fluffy), #84 (test vectors, fluffy), #85 (dash fix, fluffy).
- PR #81 (Simplify SECURE_OBJECT_AAD) CLOSED unmerged May 1 03:19:20 UTC, but the change landed via commit 87a95f77.
- moq-wg/msf, loc, cmsf, catalog-format: No new activity since Apr 29 wave.
- moq-transport:
- GitHub implementations:
- moq-dev/moq:
- PR #1365 MERGED May 1 01:38:38 UTC (skirsten, @moq/watch: expose AudioContext on the audio backend, +11/0). Completes the Hang/moq-watch audio-handling polish (after PRs #1349 + #1355) for browser autoplay constraints.
- PR #1359 (ksletmoe-aws OrderedConsumer refactor) — author self-summary Apr 30 21:16:33 UTC + apology Apr 30 22:10:45 UTC for messy commit history; Luke Apr 30 22:29:47 UTC: “No worries, I’ll take a look at it soon.” PR remains open.
- Issue #1364 “Cloudflare Relay” opened Apr 30 14:20:51 UTC by danrossi — moq-js can’t connect to Cloudflare draft-14/draft-07 relays. CodeRabbit auto-flagged as possible duplicate of #586. Same class of friction as Issue #1346 (kubo6472).
- moqtail/moqtail:
- PR #178 MERGED Apr 30 12:23:13 UTC by zafergurel (+455/−62, feat: implementation of the scheduling algorithm in the relay). First draft-17-specific feature merged. Closes Issue #176.
- PR #180 OPENED Apr 30 18:51:59 UTC by zafergurel (+1150/−488, feat: separate stream for subscribe_namespace) against
draft-16branch. Major refactor anticipating moq-transport PR #1542 split. First moqtail PR adopting the post-Apr-29 SUBSCRIBE_NAMESPACE split design.
- cloudflare/moq-rs: No new commits since Apr 13.
- video-dev/moq-js: Quiet since mid-March.
- google/quiche (
quiche/quic/moqtdir): No new commits since Apr 22.
- moq-dev/moq:
- Mailing list:
- “Knowing the start of a Subgroup” thread (Apr 29 → Apr 30): expanded from 3 messages to 10 with 7 Apr 30 additions. Magnus Westerlund, Ian Swett follow-up, Luke Curley (proposes 0-indexed per-subgroup counter as third design alternative — “only helps REWIND for the first object… you still need a plan to handle the rest of the gaps”), Alan Frindell, Suhas Nandakumar, Luke follow-up, Mo Zanaty Apr 30 22:06 UTC (endorses #1618 over #1608 with concrete AV1 temporal-layering example showing frame numbers ≠ layer numbers; calls #1608 “a footgun for devs to screw up”; “even the working group fell into this trap”; on subgroup-vs-datagram tie-breaking: “subgroup wins”).
- REWIND Consensus Call: deadline reached today (May 1, 2026). Chair Magnus Westerlund will need to interpret a split outcome (Cullen explicit option-#1, Luke + Ian-individually for option-3 with CurrentGroupFill, Martin Duke compromise-floor, Gwendal Simon live-streaming pushback). No new messages on this thread Apr 30 – May 1.
- IETF Datatracker: No new draft versions. WG state: transport-17, msf-00, loc-02, secure-objects-00 (wave indicates -01 imminent), privacy-pass-02, cmsf-00. Notable individual: lite-04 (Apr 9), nmsf-01 (Apr 7).
- Interop runner: 24 pass / 67 fail / 14 skip (105 tests, 2026-05-01 00:40 UTC report). +1 pass / -1 fail vs Apr 30’s 23/68/14. Gradual recovery from Apr 17 regression continues.
- MoQ Monthly: Still only #0 (March 4 2026); no #1 yet.
- tobbee/moq-llm-wiki: No new open issues.
Pages updated: discussions-2026-05.md (created), discussions-2026-04.md, moq-transport.md, moq-secure-objects.md, moq-dev.md, moqtail.md, interop-status.md, moq-media-interop.md (marked EXPIRED), index.md, log.md.
Key findings:
- moq-transport: REDIRECT lands (PR #1534) — completes the Feb-9-Issue-#1481 → May-1-merge editorial cycle. LOC properties registry lands (PR #1624) — closes the cross-draft #1550 collision saga.
- secure-objects: First substantive activity since draft-00 (Mar 2). Wave decided track-property authentication scope (Issue #74 option #1: not in scope), simplified AAD structure (Track Namespace + Track Name removed), nailed down 32-bit Object-ID nonce, brought publisher priority under AEAD. -01 release imminent.
- “Knowing the start of a Subgroup” debate is now 3-way: PR #1608 (closed but ianswett still backs), PR #1618 (FIRST_OBJECT bit, APPROVED, Cullen + Mo Zanaty support), Luke’s per-subgroup counter (newly proposed Apr 30).
- Request ID in GOAWAY contested: afrind pushes back on ianswett’s walk-back. PR #1623 needs WG resolution.
- moqtail jumps to draft-17 features: PR #178 merged with §7.2 prioritization scheduling. PR #180 already prepares for SUBSCRIBE_NAMESPACE split.
- moq-dev Hang audio polish complete: skirsten’s PR #1365 (AudioContext exposure) closes the autoplay-policy gap left by PRs #1349 and #1355.
- media-interop draft EXPIRED Apr 23 with no -04. LOC media-interop testing relies on what’s already implemented; document marked outdated.
2026-04-30 — Editorial wave continues; ianswett walks back PR #1559
TL;DR:
- PR #1619 (NAMESPACE response name fix) MERGED; PR #1593 CLOSED unmerged (OBE’d by #1618); Issue #1365 ABR-grouping CLOSED as NotTransport. ianswett walks back his own PR #1559 — opens Issue #1622 + PR #1623 (Remove Request ID from GOAWAY). suhasHere opens PR #1624 (LOC properties registry) + PR #1625 (rebased Magnus security considerations). PR #1542 / #1534 / #1620 / #1618 all reach APPROVED.
- Mailing list: new thread “Knowing the start of a Subgroup” (Ian/Alan/Cullen) splits WG between #1608 and #1618 designs; Cullen casts first explicit option-#1 REWIND ballot vote.
- Implementations: moq-dev/moq Luke MERGES four PRs — #1357 (fetch_group + TrackDynamic — first track-level FETCH path API), #1350 (mTLS HTTPS), #1349 (skirsten static catalog), #1360 (jemalloc into moq-native). Qizot replaces #1354 with #1362 (audio encoder reconfiguration); ksletmoe-aws expands #1359 from CMAF-specific fix to generic OrderedConsumer refactor (+971/−…) per Luke’s suggestion; metapox opens Issue #1363 (JS Subscriber lacks SUBSCRIBE_UPDATE). moqtail opens PR #178 (relay scheduling, +455/−62) + PR #179 (Firefox private-CA docs, new contributor davemevans). cloudflare/moq-rs, video-dev/moq-js, google/quiche, birneee/quiche_moq quiet.
- Interop: 23/68/14 — unchanged from Apr 29; the four moq-dev/moq merges all landed after the Apr 30 00:38 UTC run.
Operation: Update Sources:
- Slack: MCP working.
#moq— no new posts since Apr 27 18:50 CEST.#moq-rs/#moq-js/#libquicrquiet. - GitHub moq-wg repos:
- moq-transport — PR-merge + new-PR + new-issue activity continuing the post-interim editorial wave (Apr 29 17:29 → Apr 30 06:00 UTC):
- PR #1619 MERGED Apr 29 20:44:21 UTC by ian-swett (+1/−1, Fix SUBSCRIBE_NAMESPACE response message name, fixes #1616, label:
Editorial). Approved by ianswett at Apr 29 20:44:14 UTC. Closes Issue #1616 (mope-life’s Apr 28 inconsistency report). - PR #1593 (RFC: Allow framing single Objects without Subgroup ID, ianswett, opened Apr 2) CLOSED unmerged Apr 29 17:29:35 UTC by ian-swett. The PR proposed a fundamentally different approach (OBJECT_STREAM type that omits Subgroup ID + Object Length, FETCH_HEADER moved 0x05→0x50). afrind’s Apr 3 review pushback (“This doesn’t make any sense. Datagrams and FETCH_HEADER never appear in the same context. … there’s already a way to omit the subgroup id in single-object subgroups — set the mode bits to ‘01’ and the sg-id == object id.”) plus the WG’s Apr 27 interim disposition on PR #1608 made #1593 OBE. The “knowing the start of a Subgroup” problem is now being addressed by PR #1618 (FIRST_OBJECT bit) instead.
- Issue #1365 CLOSED Apr 30 01:46:16 UTC by ian-swett (“If you can’t deliver an entire Group, should you send any Objects for a Track?”, ianswett, Nov 6 2025). ianswett’s Apr 23 17:00 UTC closing comment: “I’m inclined to close this with no action right now or declare it as NotTransport since it’s something Sender side ABR would need to do.” Final closure delayed until Apr 30, but ultimately the existing DELIVERY_TIMEOUT and Data-Forwarding-prioritization text were judged sufficient. ABR-grouping decision deferred to “sender-side ABR” extension territory rather than a transport feature.
- Issue #1622 OPENED Apr 30 00:52:40 UTC by ian-swett (label
Handshake and Session): “Request ID in GOAWAY isn’t useful”. Body: “After more thought (yes I approved #1559), I don’t think the Request ID in GOAWAY is actionable in MoQ. My intuition was ‘We have a Stream ID in HTTP/3, so we should have one in MoQ’. But MoQ is not HTTP, and that’s intentional. … Now that we’re removing Required Request ID (#1615) and we’ve already removed Request ID flow control, GOAWAY is one of the two remaining uses of Request ID (the other is Joining Fetch). Filing this now because #1559 landed relatively recently (hasn’t even been published in a draft) to address #1549. … @vasilvv noted reluctance to relying on Request ID on the PR as well, but I think we all thought this would be useful at the time.” Walks back PR #1559 (which ianswett himself approved). Triggered by ianswett’s Apr 29 18:10 UTC comment on PR #1617: “I think we should remove Request ID from GOAWAY entirely, since I don’t think it has much practical value.” - PR #1623 OPENED Apr 30 01:38:30 UTC by ian-swett (+0/−10, Remove Request ID from GOAWAY, label
Handshake and Session). Body: “Reverts #1559. Fixes #1622. Related to #1617 which adds GOAWAY for individual Requests.” Pure-removal patch (no additions). Pairs with PR #1615 (RRID removal) and the Apr 27 interim direction toward removing per-request Request ID semantics. - PR #1624 OPENED Apr 30 05:17:57 UTC by suhas-nandakumar (+11/0, Add provisional registry for LOC properties, fixes #1550). Tiny fix that addresses the LOC property-type collision (#1550 — Properties Type collision between moq-16 and loc-01) by adding a provisional IANA registry.
- PR #1625 OPENED Apr 30 05:59:02 UTC by suhas-nandakumar (+132/−1, Rebased and Update Security Considerations PR from Magnus Westerlund). Body: “This PR adds a few fixes and addition to @gloinul PR #1455”. Rebases and extends Magnus Westerlund’s long-parked Security Considerations PR. Self-comment Apr 30 06:00:12 UTC: “@gloinul please give it a read and let me know if this is heading in the right direction”.
- PR #1542 (Split SUBSCRIBE_NAMESPACE) — suhas-nandakumar APPROVED Apr 29 17:52:16 UTC after a brief comment thread (17:51-17:52 UTC). This is a second approval after Vasilvv’s pre-interim approval. PR is now ready to merge.
- PR #1534 (REDIRECT) — suhas-nandakumar APPROVED Apr 29 17:56:52 UTC with one suggestion-text patch (
Track Namespace/Track Name Length/Track Nameformatting). Now has Vasilvv (Apr 27 23:01 UTC) + suhasHere approvals. - PR #1620 (Clarify Joining FETCH unaffected by fwd→0) — ian-swett APPROVED Apr 29 20:40:08 UTC. Two approvals → ready to merge.
- PR #1618 (FIRST_OBJECT bit) — ian-swett inline comment Apr 29 20:48:19 UTC: “Ideally, I’d like this to be required, which was a perk of my other proposal to force the Subgroup ID==First Object ID”. Then a long Apr 29 20:54-22:04 UTC issue-level comment quoting yuyou, explaining why ianswett still prefers his closed PR #1608: “I looked at #1618 and I think this approach has some benefits: 1) It’s required that one use it. 2) You can tell when you Don’t have the first Object of a Subgroup.” afrind reply Apr 29 22:25 UTC: “An original publisher really ought to know if it’s the beginning or not. A relay should know then either because it just received this information or by caching it. … its primary value is to know when it’s safe to serve the beginning of a subgroup from cache vs going upstream.” suhas-nandakumar APPROVED Apr 29 23:45:55 UTC: “Looks fine to me” with one inline note (“if the subscriber/relay uses object status to make decision, this is at the same level. Whatever, we say there should be said here too or atleast they both should match”). PR ready to merge.
- PR #1608 (Subgroup ID = first Object Id, CLOSED Apr 28) — saw two new ianswett summary comments Apr 29 20:54 + 22:04 UTC re-litigating the closure on the issue track, posting the full text of yuyou’s earlier objection as context. afrind’s Apr 28 closure stands.
- PR #1607 (Largest Available Group filter) — saw a new suhas-nandakumar reply Apr 30 03:57:02 UTC pushing back on Luke’s catalog-track use case from Apr 24 23:10 UTC: “NGR is not used for catalog typically. Also if new group generates the same catalog, it is application problem. Regardless, fetching existing catalog seems a fine solution.” — keeps PR #1607 in CHANGES_REQUESTED state.
- PR #1544 (0-RTT) — significant editorial activity Apr 28 → Apr 30. After martin-thomson’s Apr 28 01:30 UTC substantive rewrite of the introductory sentences, ian-swett posted 6 inline reply/suggestion comments Apr 30 02:12-02:29 UTC working through Thomson’s rewrite: defending the gRPC-style “client declares request as safe” 0-RTT-WT path (“Technically I could 0-RTT a WebTransport session if I declare my request as safe in the client library.”); two suggested-text patches around cache-expiry semantics for replayed objects; and a rewrite for the resource-exhaustion mitigation (“Relays MAY defer initiating upstream subscriptions until the handshake is complete or reject 0-RTT entirely to mitigate resource exhaustion from replayed packets.”). martin-thomson replied Apr 30 03:25:32 UTC: “Do you have a specific response code that a relay could use so that the client can know that this was something that can be retried? Or is it always possible to retry a subscription? Surely there are classes of rejection that are permanent and others that are temporary.” Plus a follow-up review Apr 30 03:27:15 UTC. The 0-RTT review is now in serious dialogue.
- PR #1617 (per-request GOAWAY) — ianswett comment Apr 29 18:10 UTC: “I think we should remove Request ID from GOAWAY entirely, since I don’t think it has much practical value.” — directly motivated PR #1623.
- Issue #1453 (Send Rate parameter, wilaw) — labeled
Parkedby ian-swett Apr 30 01:52:15 UTC. ianswett’s Mar 30 closing comment: “I’m increasingly unsure if we want to add this as a client controlled feature, at least now. … we might want to park this until someone implements and deploys Netflix style pacing that uses MoQ.”
- PR #1619 MERGED Apr 29 20:44:21 UTC by ian-swett (+1/−1, Fix SUBSCRIBE_NAMESPACE response message name, fixes #1616, label:
- msf, loc, secure-objects, cmsf, catalog-format, privacy-pass: no activity.
- moq-transport — PR-merge + new-PR + new-issue activity continuing the post-interim editorial wave (Apr 29 17:29 → Apr 30 06:00 UTC):
- Implementation repos:
- moq-dev/moq — four merges + Qizot replaces #1354 with #1362 + ksletmoe-aws pivots #1359 to a generic refactor + new external bug:
- PR #1357 MERGED Apr 30 00:01:46 UTC by luke-curley (final +427/−133, moq-lite: add fetch_group API + TrackDynamic). First FETCH path API at the track level lands. New
TrackConsumer::fetch_group(seq) -> Result<GroupConsumer>with cache-hit / cache-miss-no-handler / cache-miss-with-handler branches. Concurrent fetches for the same sequence share the in-flight group. NewTrackProducer::dynamic() -> TrackDynamicmirrorsBroadcastProducer::dynamic(). NewTrackDynamic::poll_requested_group/requested_groupyieldsGroupProducerfor the publisher to fill. 8 new unit tests inrs/moq-lite/src/model/track.rs.cargo test --workspace= 290 moq-lite tests pass (up from 282). Wire-side FETCH hookup (lite::ControlType::Fetch,ietf::run_fetch_stream) intentionally still returns errors — captured here as a clean follow-up. - PR #1350 MERGED Apr 29 16:46:18 UTC by luke-curley — moq-relay: authenticate HTTPS callers via the cluster mTLS CA. The CodeRabbit-flagged 🟠 Major (CORS+browser-readable-GET) noted in the Apr 28 log was apparently resolved offline (no follow-up review thread visible) and the PR merged. mTLS HTTPS auth lands.
- PR #1349 MERGED Apr 29 16:08:52 UTC by luke-curley (skirsten’s @moq/watch: add static catalog format). Third catalog mode lands —
<moq-watch catalog-format="static">plus writableSignal<Catalog.Root | undefined>forBroadcast.catalog. - PR #1360 MERGED Apr 29 16:29:05 UTC by luke-curley (+29/−10, moq-native: relocate jemalloc helper; wire it into moq-boy). moq-boy now production-instrumented for jemalloc heap profiling at 6+ instances.
- PR #1361 OPENED+CLOSED Apr 29 16:17 UTC → 16:29 UTC by luke-curley — moq-native: move jemalloc profiling helper from moq-relay. Replaced by PR #1360 (broader scope including HTTPS mTLS) — closed superseded.
- PR #1354 CLOSED unmerged Apr 29 16:54:30 UTC by Qizot. Qizot’s closing comment: “This was wrong approach, we should have reconfigured the encoder instead.” Replaced by PR #1362 OPENED Apr 29 17:04:41 UTC by Qizot (+40/−17, Add audio encoder reconfiguration). New approach: when iOS Safari mismatch is detected (worklet’s
channelCountresolves to 2 butonmessagereceives mono), the encoder is reconfigured rather than padding the AudioData. Cleaner solution. Open and under CodeRabbit review. - PR #1359 — TITLE CHANGED from “fix(watch): process CMAF groups sequentially in WebCodecs decoder” to “feat(hang): unify OrderedConsumer across container formats”. Now +971/−… (was +64/−67). After Luke’s Apr 28 23:00 UTC review comment: “I think we need a generic
OrderedConsumer. The problem is thatrecvGroup(and MoQ in general) returns groups out-of-order. The idea behindOrderedConsumeris that we skip groups based on the target latency, which requires timestamp information unfortunately.” and Apr 29 00:29 UTC: “On the Rust side, I made an interface to parse the timestamp out of each frame. Then OrderedConsumer can be reusable.” — ksletmoe-aws (Karl Sletmoe, AWS) rewrote the PR as a genericOrderedConsumer<F: Container>refactor that unifies Legacy + CMAF containers behind aContainerFormatstrategy interface. Mirrors the Rustmoq-muxConsumer<F: Container>pattern. New files:container/format.ts,container/consumer.ts,container/cmaf/format.ts,container/consumer.test.ts(25 tests). 4 watch decoders migrated. Apr 30 01:43 UTC ksletmoe-aws addressed CodeRabbit nitpicks. - Issue #1363 OPENED Apr 30 00:43:26 UTC by metapox (taku): “feat(lite): JS Subscriber lacks SUBSCRIBE_UPDATE support for dynamic priority changes”. Concrete use case: multi-camera streaming where the viewer switches focus between cameras; each camera has a subscription, and the focused one should get higher priority — but the close→re-subscribe path causes a 1s keyframe-wait gap on every switch, while SUBSCRIBE_UPDATE would be seamless. Rust subscriber already handles this via
TrackSubscriber::update(). JS subscriber is missing the equivalent. Issue includes a proposed implementation in three files (track.ts adds priority Signal + updatePriority; lite/subscriber.ts watches for priority changes and sends SubscribeUpdate; lite/publisher.ts applies received priority). Tested in metapox’s moq-multicam app. Fork: https://github.com/metapox/moq/tree/feat/subscribe-update-api. Total diff: 30 inserts/4 deletes across 3 files. Second time metapox surfaces a moq-lite/JS issue (after Apr 27 #1351 false-alarm). - PR #1356 / #1358 / #1341: still OPEN, no new substantive activity.
- PR #1357 MERGED Apr 30 00:01:46 UTC by luke-curley (final +427/−133, moq-lite: add fetch_group API + TrackDynamic). First FETCH path API at the track level lands. New
- moqtail/moqtail — two new PRs Apr 29 morning:
- PR #178 OPENED Apr 29 08:54:49 UTC by zafergurel (+455/−62, feat: implementation of the scheduling algorithm in the relay). Body: “This PR implements the scheduling algorithm in the relay defined in the draft. Look at the comments for a detailed explanation of how priorities are computed based on the subscriber and publisher priorities.” Implements draft-17’s prioritization scheduling at the relay layer.
- PR #179 OPENED Apr 29 09:44:42 UTC by davemevans (David Evans, +11/−2, docs: add instructions for Firefox testing using private CA). Firefox-specific HTTP/3 trust-quirk workaround (
network.http.http3.disable_when_third_party_roots_found). First moqtail PR from David Evans (new external contributor). Notably moqtail’s umbrella PR #145 (zafergurel) for draft-16 ontomainremains open.
- cloudflare/moq-rs, video-dev/moq-js, google/quiche (moqt), birneee/quiche_moq: No new activity. (google/quiche has many non-moqt commits Apr 27-30 in adjacent QUIC/MASQUE areas; nothing under
quiche/quic/moqt/.)
- moq-dev/moq — four merges + Qizot replaces #1354 with #1362 + ksletmoe-aws pivots #1359 to a generic refactor + new external bug:
- Mailing list — two new threads / six new messages Apr 28–30:
- ian-swett Apr 29 (msg): “[Moq] Knowing the start of a Subgroup” — NEW THREAD. Re-litigates the closed PR #1608 vs. open PR #1618 design choice on the list. ianswett still prefers his closed-PR-#1608 approach (Subgroup ID == first Object ID): mandatory, plus enables receivers to detect when they don’t have the first Object. Notes #1618 (FIRST_OBJECT bit) is “less effective”. Maintains compatibility with Subgroups arriving on separate streams as a core requirement. Asks for community feedback, particularly from those with concerns about #1608.
- alan-frindell Apr 29 (msg): “Re: Knowing the start of a Subgroup” — supports #1608 over #1618. “It’s not clear to me why that’s a problem” (re removing application surface). Notes that Mo, Cullen, Magnus, and Suhas objected during the Monday interim meeting, and explicitly asks them to provide examples of what would be broken by #1608.
- Cullen Fluffy Jennings Apr 30 ~14:00 MDT (msg): “RE: Knowing the start of a Subgroup” — three critiques of #1608: (1) “mirror existing end-marker logic — publishers should explicitly signal the start of tracks, groups, and subgroups when known”; (2) implementation feasibility — “I’m just not seeing how it works in this case” re. catalogs needing stable Subgroup IDs while incrementing object IDs within groups; (3) opposes the conflation of Subgroup ID with first Object ID — prefers explicit signaling rather than “pinning to very weird implicit signaling”. Clearly favors the #1618 FIRST_OBJECT-bit approach over #1608.
- ian-swett Apr 29 17:27 UTC (msg): “Re: Consensus call on way forward on REWIND” — clarifies his Apr 28 02:03 UTC CurrentGroupFill endorsement was “his individual position” as an editor, not an editorial mandate. Endorses “some variant of option 3” (use REWIND as basis for a PR), specifically afrind’s CurrentGroupFill proposal as “a strict improvement on the current draft”. Reiterates: “I’m open to some variant of REWIND, but not very optimistic that we’ll get consensus on anything more complex than CurrentGroupFill.” Direct response to chair Magnus’s Apr 28 10:49 UTC “please state explicit positions” intervention.
- Cullen Fluffy Jennings Apr 29 ~14:54 MDT (msg): “Re: Consensus call on way forward on REWIND” — explicitly endorses option #1: “I support option #1. I do not think we should not take on Rewind until we have MoQT wrapped up.” Adds: “when the working group eventually addresses this topic, we need to start with the use case we are trying solve.” First explicit option-#1 ballot vote on the list.
- Magnus Westerlund (chair) Apr 29 (msg): “Re: Minutes from Interim meeting 27 of April 2026” — notes Martin Duke submitted a correction to the AI-generated summary’s representation of his technical argument. Magnus expresses satisfaction with AI-assisted minutes overall. Invites group feedback on whether participants’ points were “fairly represented”.
- Pre-interim list activity not previously logged (Apr 27): Mo Zanaty Apr 27 14:43 UTC (msg): “1608 is a major change to the core data model that makes subgroups semantically meaningless, as they would encode transport irregularities that destroy the app’s semantic meaning.” Argues subgroup IDs are meaningful video-layer identifiers (LOC use case), and proposes alternative subgroup-header type values. alan-frindell Apr 27 16:04 UTC (msg) reply: “Do you have an application that uses subgroup IDs with specific semantic values that would break if this change were adopted? Can you explain how it works?” — establishing the burden of proof shift that ultimately led to PR #1608’s closure.
- IETF Datatracker: No new WG or individual draft versions since moq-lite-04 (Apr 9). draft-ietf-moq-transport-17 still the latest WG transport draft.
- Interop runner: Apr 30 00:38 UTC run = 23 / 68 / 14 — unchanged from Apr 29. Walking arc since draft-17 publication: 22 → 23 → 24 → 22 → 23 → 22 → 23 → 23. The four moq-dev/moq merges (#1357, #1350, #1349, #1360) all merged after the Apr 30 00:38 UTC run, so they couldn’t have shifted the matrix yet. The two interim spec PR merges (#1611, #1609) are spec-only.
- MoQ Monthly: Still only issue #0 (Mar 4).
- tobbee/moq-llm-wiki issues: None open (3 closed).
Pages updated: discussions/discussions-2026-04.md, drafts/moq-transport.md, implementations/moq-dev.md, implementations/moqtail.md, interop/interop-runner.md, index.md
Key findings:
Editorial wave continues at full pace; ianswett shifts attention from PR 1618 to GOAWAY Request ID removal. The Apr 29-30 work pattern mirrors the Apr 28-29 wave but with new structural targets. ianswett’s Apr 29 18:10 UTC review comment on PR #1617 (per-request GOAWAY) — “I think we should remove Request ID from GOAWAY entirely” — turned into Issue #1622 within hours, then PR #1623 (a pure-removal patch reverting his own #1559 from earlier in the cycle). With PR #1615 removing Required Request ID and PR #1623 about to remove the GOAWAY use of Request ID, the only remaining use of Request ID across the whole protocol becomes Joining FETCH. The cleanup arc that started at the interim is now drilling into specific control-message dependencies. ianswett walking back his own approval of #1559 — “yes I approved #1559” — is unusual editorial honesty and a useful signal that the WG’s Apr 27 RRID-removal decision is reshaping how editors think about adjacent uses of Request ID.
PR #1608 vs PR #1618 design dispute moves to the IETF list. Both ianswett and afrind posted to the list Apr 29 defending the closed PR #1608 approach (Subgroup ID == first Object ID) over the open PR #1618 (FIRST_OBJECT bit). afrind asks the four objectors at the interim (Mo, Cullen, Magnus, Suhas) to “provide examples of what would be broken by #1608”. Mo’s Apr 27 list message (now surfaced into the wiki record): “1608 is a major change to the core data model that makes subgroups semantically meaningless, as they would encode transport irregularities”. Cullen’s Apr 30 list reply: prefers explicit signaling, “pinning to very weird implicit signaling” is the wrong direction. Net: the WG decided in the interim, but two of the four authors are publicly relitigating the decision on the list. Meanwhile PR #1618 itself reached APPROVED state Apr 29 23:45 UTC from suhasHere — so the implementation is moving forward in parallel. The list discussion’s outcome may amount to “let #1618 land, but document the FIRST_OBJECT semantics carefully so it constrains future relay behavior.”
Cullen casts the first explicit “option #1” REWIND ballot. After chair Magnus’s Apr 28 10:49 UTC “please state explicit positions” intervention, Cullen Fluffy Jennings posts the most clear-cut response yet: “I support option #1. I do not think we should not take on Rewind until we have MoQT wrapped up.” (Note the double-negative — Cullen means “we should not take on REWIND until MoQT wraps up”; option #1 = no action.) ianswett’s Apr 29 reply clarifies his Apr 28 CurrentGroupFill endorsement was an “individual position” (option 3 with afrind’s filter). The May 1 deadline is in 1 day. With at least one explicit option-#1 vote (Cullen) and several strong option-3-with-CurrentGroupFill positions (Luke, Ian Swett), and Martin Duke’s compromise-floor framing, the chair will need to interpret a split outcome. Gwendal’s Apr 28 push-back on Joining FETCH removal isn’t yet on the ballot.
Luke’s FETCH-readiness API lands; the moq-lite-fetch branch is fully scaffolded. PR #1357 merging at Apr 30 00:01 UTC is the first FETCH-path API merge at the moq-lite track-consumer level. Combined with the still-open #1356 (TrackConsumer-by-value insert_track), #1358 (Origin rewrite), and PR #1348 (Subscription model API, also in flight), the model layer is now FETCH-aware. The wire-side hookup is still TODO (lite::ControlType::Fetch returns errors, ietf::run_fetch_stream Standalone returns “not supported”), but Luke’s stated approach is to land each subsystem independently. Pairs with his Apr 27 issue #1614 (JOINING FETCH prioritization) — Luke wants the API design fully settled before wire-format work begins. moq-relay also gets mTLS HTTPS auth (PR #1350 merged) and moq-boy gets jemalloc heap profiling (PR #1360 merged) — the operational instrumentation continues alongside the protocol work.
Luke + ksletmoe-aws redesign PR #1359 from a fix into a generic OrderedConsumer refactor. The original ksletmoe-aws fix (CMAF-specific decoder ordering) was rewritten — at Luke’s suggestion — into a generic OrderedConsumer<F: Container> pattern mirroring Rust’s moq-mux::Consumer<F: Container>. The PR went from +64/−67 (a one-file fix) to +971/−… (a 13-file refactor including 25 unit tests). This is the first instance of a moq-dev/moq external contributor’s PR being expanded in scope at the maintainer’s request, in this case to align JS-side architecture with the Rust side. AWS’s Karl Sletmoe followed Luke’s lead and redesigned the work — concrete sign of the AWS contribution becoming a genuine collaborative effort rather than a one-off bug fix.
moqtail starts implementing draft-17 features (relay scheduling, +455 LOC). Zafer Gurel’s PR #178 (relay scheduling algorithm per the draft) is the first moqtail PR implementing a draft-17-specific feature rather than chasing draft-16 conformance. With draft-16 work still ongoing on the integration branch and umbrella PR #145 still open against main, the relay-side scheduling work appears to be running in parallel. David Evans’s PR #179 (Firefox private-CA docs) is moqtail’s first PR from a new external contributor since Feb. Both are live signals that moqtail is widening its contributor surface.
Interop matrix unchanged at 23/68/14. No movement Apr 29 → Apr 30. The four moq-dev/moq merges (PRs #1357, #1350, #1349, #1360) all landed after the Apr 30 00:38 UTC run, so the next run will be the first to reflect them. Expect a possible matrix shift in the Apr 30 → May 1 window from moq-dev-rs / moq-dev-js image rebuilds.
2026-04-29 — Post-interim editorial wave; afrind 9-PR burst in 8 hours
TL;DR:
- afrind 9-PR wave in ~8 hours: PR #1611 (PUBLISH_OK removal) + PR #1609 (Joining FETCH fwd race → request error) MERGED; PR #1608 (Subgroup ID = first Object ID) CLOSED unmerged, replaced by PR #1618 (FIRST_OBJECT bit per yuyou’s review-comment template); five new afrind PRs opened (#1617 individual GOAWAY, #1618, #1619, #1620, #1621 forbid LARGEST_OBJECT lying). PR #1615 (RRID removal) now unblocked.
- Chair Magnus asks for explicit ballot positions with 3 days left; Gwendal Simon pushes back on Joining FETCH removal from a live-streaming-deployment perspective; Ian Swett endorses CurrentGroupFill (option-3 floor); minutes from interim-14 published.
- Implementations: moq-dev/moq merges #1352 (announcement-less relay handling, resolves #1346) + #1353 (per-frame buffer, +346/−146) + #1355; five new Luke PRs (#1356–#1360, including #1358 Origin rewrite +994/−1289); first AWS-affiliated PR (ksletmoe-aws #1359, CMAF passthrough); Qizot #1354 (audio encoder); moq-boy now in production at 6+ instances. cloudflare/moq-rs, video-dev/moq-js, moqtail, google/quiche, birneee/quiche_moq quiet.
- Interop: 23/68/14 (+1 vs Apr 28); back to Apr 24/27 reading.
Operation: Update Sources:
- Slack: MCP working.
#moq— no new posts since Apr 27 18:50 CEST (Giovanni Marzot’s 😞).#moq-rs/#moq-js/#libquicrquiet. - GitHub moq-wg repos:
- moq-transport — 9-PR wave from afrind over ~8 hours (5 new + 2 merges + 1 close + duplicate-closure):
- PR #1611 MERGED Apr 29 00:04:05 UTC by alan-frindell (+11/−30, Remove PUBLISH_OK message type, make it a REQUEST_OK alias, fixes #1598). Wire-format change: removes the
PUBLISH_OKcode point. Approvals from ian-swett (Apr 27 19:39 UTC, post-interim greenlight), Suhas Sathyanarayana (@sharmafb, Apr 28 23:42 UTC),@sandarsh(Apr 28 23:55 UTC). Closes Issue #1598. - PR #1609 MERGED Apr 29 00:03:07 UTC by alan-frindell (+3/−2, Joining Fetch forward state mismatch is a request error, fixes #1601). Approvals from ian-swett,
@sharmafb,@sandarsh. Unblocks PR #1615 per afrind’s Apr 28 21:17 UTC comment: “Removing RRID creates races between REQUEST_UPDATE FWD=1 and Joining FETCH (rejoining a paused subscription). At least #1609 is required, so it’s a request rather than a session error.” - PR #1608 CLOSED unmerged Apr 28 21:19 UTC. afrind: “Discussed 4/27: The working group didn’t think this was the right approach, but agreed we need a way to know if a subgroup contains the beginning.” Issue #1405 stays open. yuyou’s Apr 28 07:29 UTC review comment on #1608 anticipated the FIRST_OBJECT bit alternative: “To solve the original problem of identifying the first Object ID, may it be an alternative approach to explicitly signal the starting Object ID in the Subgroup header instead of tying it to the Subgroup ID field. By keeping the Subgroup ID logically decoupled from the Object ID, publishers can maintain consistent data structures.”
- PR #1617 OPENED Apr 28 16:21 UTC by alan-frindell (+85/−73): Allow GOAWAY on request streams to migrate individual requests (fixes #1481 — fluffy’s Feb 9 issue). Per-request GOAWAY with zero-length URI for client; on receipt the endpoint re-issues that request on a session at the specified URI and closes the old stream.
- PR #1618 OPENED Apr 28 21:33 UTC by alan-frindell (+20/−10): Add FIRST_OBJECT bit to SUBGROUP_HEADER type. “Add bit 6 (0x40) to signal that the subgroup contains the first object published in the subgroup by the original publisher. The type format expands from 0b00X1XXXX to 0b0XX1XXXX. All valid type values still fit in a 1-byte varint.” The replacement for PR #1608, honoring yuyou’s alternative-approach comment.
- PR #1619 OPENED Apr 28 22:05 UTC by alan-frindell (+1/−1): Fix SUBSCRIBE_NAMESPACE response message name (fixes #1616). Implements afrind’s Apr 28 03:43 UTC commitment to mope-life.
- PR #1620 OPENED Apr 28 23:25 UTC by alan-frindell (+2/0): Clarify Joining FETCH is unaffected by fwd changing to 0 (fixes #1612).
- PR #1621 OPENED Apr 28 23:50 UTC by alan-frindell (+8/−1): Forbid relays from lying about LARGEST_OBJECT (fixes #1386 — ianswett’s Dec 7 2025 issue). “If we want to serve cached objects in response to SUBSCRIBE, lying is not the correct approach.”
- Issue #1602 (martinduke, Joining Fetch should be on the SUBSCRIBE/PUBLISH stream) CLOSED Apr 28 23:31 UTC by afrind as duplicate of #1313 (ianswett’s Joining-FETCH-as-separate-control-message issue from Oct 15).
- PR #1615 (Remove Required Request ID) — still OPEN. afrind’s Apr 28 21:17 UTC comment confirms PR #1609 was the precondition; now unblocked.
- PR #1611 MERGED Apr 29 00:04:05 UTC by alan-frindell (+11/−30, Remove PUBLISH_OK message type, make it a REQUEST_OK alias, fixes #1598). Wire-format change: removes the
- msf, loc, secure-objects, cmsf, catalog-format, privacy-pass: no activity.
- moq-transport — 9-PR wave from afrind over ~8 hours (5 new + 2 merges + 1 close + duplicate-closure):
- Implementation repos:
- moq-dev/moq — two interim PRs land plus a wide push from Luke and external contributors:
- PR #1352 MERGED Apr 29 01:32:29 UTC (+10/−2, Handle relays without announcement subscription support) — final size grew by 4 lines vs the original +6/0 after the CodeRabbit suffix-match-false-positive fix. Issue #1346 (kubo6472’s cross-impl Cloudflare-relay catalog-discovery friction) effectively resolved at the moq-lite layer.
- PR #1353 MERGED Apr 29 01:49:24 UTC (+347/−147, moq-lite: per-frame buffer + BufMut producer to cut relay memory) — production-profiled memory optimization (~234 MB / ~254 MB / ~446 MB attribution) lands. First memory-cost-per-connection optimization to land in moq-relay.
- PR #1355 MERGED Apr 28 20:04:23 UTC by luke-curley (author Qizot, +7/−2): Add encoder’s AudioContext sampleRate override. Routine.
- PR #1356 OPENED Apr 28 16:11 UTC (+27/−86): moq-lite: switch insert_track to take TrackConsumer. Removes
TrackConsumer::produce()(added in #1300 as a workaround). - PR #1357 OPENED Apr 28 16:33 UTC (+319/−24): moq-lite: add fetch_group API + TrackDynamic. New
TrackConsumer::fetch_group(seq) -> Result<GroupConsumer>first-class FETCH path. “The breaking API change is captured here so the wire-side hookup (lite ControlType::Fetch, ietf::run_fetch_stream) can land as a clean follow-up.” - PR #1358 OPENED Apr 28 19:20 UTC (+994/−1289): moq-lite: rewrite Origin as a poll-driven, conducer-based model. Massive rewrite: replaces
OriginNode/NotifyNodetree, per-publishweb_async::spawncleanup, and per-consumermpscfan-out with a flatHashMap<PathOwned, Entry>behind aMutex+ per-consumer queues +conducer::Waiter. - PR #1360 OPENED Apr 28 23:55 UTC (+29/−10): moq-native: relocate jemalloc helper; wire it into moq-boy. Wires
moq-boyfor jemalloc heap profiling — “its 6 production instances…” — moq-boy is now in production at 6+ instances. - External — PR #1359 OPENED Apr 28 21:22 UTC by ksletmoe-aws (Karl Sletmoe, AWS) (+64/−67): fix(watch): process CMAF groups sequentially in WebCodecs decoder. Concrete bug exposed by CMAF passthrough where each group is one moof+mdat blob — concurrent
effect.spawn()per MoQ group caused issues. First moq-dev/moq PR from an AWS contributor. - External — PR #1354 OPENED Apr 28 07:23 UTC by Qizot (+21/−11): Fix missing channel samples for audio encoder. iOS Safari WebCodecs/getUserMedia mismatch —
channelCountresolves to 2 but the encoder receives mono audio. - PR #1350 (mTLS for HTTPS callers) — still OPEN, last activity Apr 27 23:33 UTC. The CodeRabbit-flagged 🟠 Major (CORS+browser-readable-GET) hasn’t been addressed.
- Issues 1328 (beeequeue, JS tooling) — substantive Luke replies Apr 28→Apr 29 about Vite-specific URL resolution.
- cloudflare/moq-rs, video-dev/moq-js, moqtail/moqtail, google/quiche (moqt), birneee/quiche_moq: No activity in the window.
- moq-dev/moq — two interim PRs land plus a wide push from Luke and external contributors:
- Mailing list — Four new messages Apr 28 continuing the REWIND thread plus interim minutes:
- luke-curley Apr 28 08:43 UTC (msg): Three paths for merging CurrentGroup proposals — (1) status quo with Joining FETCH, (2) replace Joining FETCH with REWIND or modified SUBSCRIBE with
Start_Groupparameter, (3) remove Joining FETCH entirely. Personal preference for option 2. - Gwendal Simon (Synamedia) Apr 28 10:38 UTC (msg): Pushes back on Joining FETCH removal. “Joining FETCH was added via explicit WG consensus to address live streaming requirements”. Argues CurrentGroupFill addresses the current group only while Joining FETCH enables fast buffer filling at join (multiple past groups). Alternative: proactive past-object inline delivery on SUBSCRIBE/PUBLISH; a parameter in SUBSCRIBE_OK communicates
[Start_Group, Live_Edge), eliminating subscriber round trip. First substantive defense of Joining FETCH from a live-streaming-deployment perspective. - Magnus Westerlund (chair) Apr 28 10:49 UTC (msg): Chair note — difficulty interpreting consensus because participants have discussed numerous related topics without clearly stating positions on the actual consensus question. Requests explicit ballot positions. With 3 days left until the May 1 ballot deadline, the consensus call is at risk of producing no clear outcome.
- Magnus Westerlund Apr 28 12:34 UTC (msg): “Minutes from Interim meeting 27 of April 2026” — formally publishes the interim-14 minutes on the datatracker.
- luke-curley Apr 28 08:43 UTC (msg): Three paths for merging CurrentGroup proposals — (1) status quo with Joining FETCH, (2) replace Joining FETCH with REWIND or modified SUBSCRIBE with
- IETF Datatracker: No new WG or individual draft versions since moq-lite-04 (Apr 9). draft-ietf-moq-transport-17 still the latest WG transport draft.
- Interop runner: Apr 29 00:38 UTC run = 23 / 68 / 14 — +1 pass from Apr 28 (22/69/14), back to the Apr 24 / Apr 27 reading. Walking arc: 22 → 23 → 24 → 22 → 23 → 22 → 23. The two interim-PR merges (#1611, #1609) are spec-only; the moq-dev/moq merges (#1352, #1353, #1355) merged after the Apr 29 00:38 UTC run. Most likely a flaky test or an upstream image rebuild.
- MoQ Monthly: Still only issue #0 (Mar 4).
- tobbee/moq-llm-wiki issues: None open (3 closed).
Pages updated: discussions/discussions-2026-04.md, drafts/moq-transport.md, implementations/moq-dev.md, interop/interop-runner.md, index.md
Key findings:
Editorial-cleanup wave is the dominant story. afrind opened 5 new PRs and merged 2 in ~8 hours (Apr 28 16:21 UTC → Apr 29 00:04 UTC). The volume is unusually concentrated. Three of the new PRs implement specific interim-14 outcomes; two close longer-running 2025-era design issues (#1481 individual-track GOAWAY; #1386 LARGEST_OBJECT lying). The merge wave is conspicuously all-afrind on the new-PR side (5/5), with concurring approvals from @sharmafb (Suhas Sathyanarayana, who’s been driving recent reviews) and @sandarsh. PR #1615 (RRID removal) is the sole interim-driven PR not yet merged — now unblocked because afrind’s stated precondition (PR #1609) merged Apr 29 00:03 UTC.
PR #1608 → PR #1618 design pivot driven by yuyou’s review comment. The “Subgroup ID = first Object ID” approach was closed unmerged after WG pushback at the interim. yuyou’s Apr 28 07:29 UTC review comment on #1608 is now the template for the replacement design (PR #1618): explicitly signal the first-Object property via a header bit rather than encoding it in the Subgroup ID. The header type byte gains bit 6 (0x40), expanding the format from 0b00X1XXXX to 0b0XX1XXXX while still fitting in a 1-byte varint. This is the cleanest “WG identified the requirement, then someone unrelated to the original PR proposed a better mechanism” sequence in the wiki record so far this month.
REWIND consensus call enters chair-arbitration territory. With 3 days to the May 1 ballot deadline, chair Magnus Westerlund posted an unusual mid-thread intervention asking participants to state explicit ballot positions rather than continuing the design debate. Gwendal Simon’s same-day message defends Joining FETCH from a live-streaming-deployment perspective — the first substantive pushback on the Luke + Ian “remove Joining FETCH” framing. Gwendal’s proactive-past-object-delivery proposal (a parameter in SUBSCRIBE_OK communicating [Start_Group, Live_Edge)) is a third structural option that the thread hadn’t surfaced before. The ballot may produce no clear outcome under these conditions.
moq-dev/moq external contributor base widening rapidly. Four of the last 12 PRs/issues come from non-Luke contributors: Qizot (audio-encoder, iOS Safari), ksletmoe-aws (Karl Sletmoe / AWS, CMAF passthrough decoder), skirsten (static catalog), kubo6472 (cross-impl Cloudflare bug). The AWS PR is the first moq-dev/moq PR from an AWS-affiliated contributor. Combined with the moq-boy production-profile context in PR #1360 (“its 6 production instances”), Luke’s stack is now seeing both production deployment scaling and external contribution at a scale not seen earlier in 2026.
moq-lite-fetch readiness API takes shape. Three PRs in flight build the FETCH path at the model layer: PR #1348 (Subscription API, Apr 26), #1356 (insert_track takes TrackConsumer), #1357 (fetch_group + TrackDynamic). Luke explicitly states the design pattern in #1357: “The breaking API change is captured here so the wire-side hookup (lite ControlType::Fetch, ietf::run_fetch_stream) can land as a clean follow-up.” This is unusual scaffolding-first-then-wire ordering — Luke wants the API surface settled before FETCH semantics are implemented on the wire. Pairs with his Apr 27 issue #1614 spec-side argumentation about JOINING FETCH prioritization.
Interop matrix +1 to 23/68/14. Recovery from Apr 28’s 22/69/14 dip. Neither the spec merges (#1611, #1609) nor the moq-dev/moq merges (#1352, #1353, #1355) explain it — the latter merged after the Apr 29 00:38 UTC interop run. Most likely a flaky test or upstream image rebuild. The matrix continues to walk between 22 and 24 since draft-17 publication; no new ground broken in either direction.
2026-04-28 — Interim-14 day; WG decision REMOVE Required Request ID
TL;DR:
- interim-2026-moq-14 takes place Apr 27 16:30 UTC. Headline WG decision: REMOVE Required Request ID from draft-18 (ianswett opens PR #1615 +3/−52, vasilvv approves within hours). Make-before-break work deferred to London hybrid interim in June. PR #1608 closed at the interim with WG agreement that the requirement (knowing the start of a subgroup) needs a different mechanism. Martin Thomson joins PR #1544 (0-RTT) review with a substantive rewrite — first time on a moq-transport PR.
- Mailing list: REWIND consensus thread re-erupts (9 messages Apr 27-28) — Luke + Ian Swett favor CurrentGroupFill; Martin Duke defends best-effort REWIND; Gwendal Simon pushes back on Joining FETCH removal. Chair Magnus asks for explicit ballot positions.
- Implementations: Luke’s moq-relay big day — three open PRs in <2 hours after interim: PR #1350 (mTLS HTTPS, +351/−18), PR #1352 (announcement-less relay, +6/0, resolves Apr 24 kubo6472 bug), PR #1353 (per-frame buffer, +346/−146, production-profiled memory optimization on a 66-connection 4 GB box). cloudflare/moq-rs, video-dev/moq-js, moqtail, google/quiche, birneee/quiche_moq quiet.
- Interop: 22/69/14 (−1 vs Apr 27); back to the Apr 21–23 plateau.
Operation: Update Sources:
- Slack: MCP working.
#moq— two new posts since the Apr 27 log entry, both during the interim itself: alan-frindell Apr 27 16:32 UTC (“Interim starting now. Small number of participants so far…”) and Giovanni Marzot Apr 27 16:50 UTC (single 😞 emoji).#moq-rs/#moq-js/#libquicrquiet. - GitHub moq-wg repos:
- moq-transport:
- PR #1615 OPENED Apr 27 19:48 UTC by ian-swett (+3/−52, Remove Required Request ID, label
Control Messages). Body: “Fixes #1603. Removes ‘Required Request ID’. Does not remove Request ID, because it is used by Joining Fetch and GOAWAY.” victor-vasiliev APPROVED within hours. Direct implementation of the interim decision. - Issue #1603 closed-pending: ian-swett Apr 27 18:42 UTC summary comment: “From today’s interim: Conclusion was to remove required-request-id from draft 18 and fix Joining Fetch (if necessary?). Those who believe some functionality in this space is useful, such as for make-before-break, should explore those use cases in more detail and further describe what, if any, dependency structure between requests is needed in MoQ. Tentative plan is to discuss these at the London hybrid interim in June.” Make-before-break work pushed to London (interim-2026-moq-08–11, June 11-12).
- PR #1611 (PUBLISH_OK removal): ian-swett Apr 27 19:39 UTC review APPROVED with body “Reminder to retarget this.” — proceeds with retarget post-interim.
- PR #1608 (Subgroup ID = first Object Id): ian-swett Apr 27 18:36 UTC summary of interim feedback: “1) People agreed it was important to know what the start Object ID of the Subgroup (and possibly Group?) 2) People had different concerns about restricting the Subgroup ID to be starting Object ID at the Original Publisher. 3) There was some confusion about both this proposal and what is possible in today’s Object model in terms of publishing Objects in a subgroup ‘out of order’.” — no merge yet, more iteration needed. Issue #1405 (“Single Object Subgroups don’t need a Subgroup ID”) received the same comment Apr 27 18:36 UTC.
- PR #1534 (REDIRECT): victor-vasiliev APPROVED Apr 27 23:01 UTC after interim. afrind’s Cloudflare/Google relay-caching alignment loop (“Cacheable up to retry interval?”) still unresolved in pushed text but no longer blocking review.
- PR #1542 (SUBSCRIBE_NAMESPACE split): Pre-interim review pass concluded in early hours of Apr 27 (already covered Apr 27 log). victor-vasiliev APPROVED Apr 27 04:00 UTC. Several afrind responses Apr 27 05:07–05:13 UTC. Looks close to merge.
- PR #1544 (0-RTT): Forward-secrecy text removal sequence — ian-swett Apr 27 19:42 UTC: “I think I took that from HTTP/3 or the early data draft? Should I remove this?”; victor-vasiliev Apr 27 22:08 UTC: “I don’t see text like that in RFC 8470. Let’s just remove it?”; ian-swett Apr 28 01:28 UTC removed it via suggestion patch. Then martin-thomson (well-known IETF figure, IAB chair / TLS WG / former QUIC chair) joined the review at Apr 28 01:46 UTC with a substantive rewrite suggestion for the introductory sentences: rewriting “QUIC 0-RTT provides the option for a client to initiate transactions immediately after attempting to establish a connection…” and clarifying the WebTransport restriction.
- Issue #1614 OPENED Apr 27 19:11 UTC by luke-curley (split from #1358): “(JOINING) FETCH + SUBSCRIBE prioritization”. Body: “as it stands in the current draft, it’s implementation specific how to prioritize these two requests. Ideally, we want the JOINING FETCH first… However, this doesn’t work properly when NextGroup starts. The higher priority JOINING FETCH takes precedence over order=DESC.” Concrete TTV math. Concludes: “Basically, we need order=DESC support for JOINING FETCH. Either some way of prioritizing between the SUBSCRIBE + JOINING FETCH, or cancelling the JOINING FETCH if the next group starts (kinda gross), or add back the LargestGroup filter (pls).” Self-comment Apr 27 19:16 UTC: “Effectively, I want to race to determine if it’s faster to: Download all of the current group (at network speed), or Wait for the next group. SUBSCRIBE filter=CurrentGroup order=DESC does this perfectly. I don’t think it’s possible in the current draft.”
- Issue #1616 OPENED Apr 28 03:09 UTC by mope-life (Dustin Ross, new contributor): “Both PUBLISH_NAMESPACE and NAMESPACE are responses to SUBSCRIBE_NAMESPACE”. Spotted a textual inconsistency in §1588-1592 vs §3404-3408 of draft-ietf-moq-transport.md. afrind Apr 28 03:43 UTC: “It should only be NAMESPACE since draft-16. We will clean this ul[sic].” Editorial cleanup item.
- Other interim agenda PRs (#1604 / #1605 / #1607 / #1591 / #1378): no new substantive comments. PR #1607 received a non-text luke-curley COMMENTED review at Apr 27 19:40 UTC.
- PR #1615 OPENED Apr 27 19:48 UTC by ian-swett (+3/−52, Remove Required Request ID, label
- msf:
- PR #133 (suhas-nandakumar, “Add SCTE-35 support and CEA-608/708 accessibility fields”, fixes #95) — suhas pinged @wilaw Apr 27 19:19 UTC after pushing fixes for Will’s earlier feedback.
- PR #122 (suhas-nandakumar, “initial text on zapping”, fixes #110, +2627/0) — suhas pinged @wilaw Apr 27 18:56 UTC requesting another review pass.
- loc, secure-objects, cmsf, catalog-format, privacy-pass: no activity.
- moq-transport:
- Implementation repos:
- moq-dev/moq — three new PRs from luke-curley in <2 hours after the interim, plus an external opener:
- PR #1350 OPENED Apr 27 22:24 UTC (+351/−18) — moq-relay: authenticate HTTPS callers via the cluster mTLS CA. The QUIC server already short-circuits to
AuthToken::unrestricted()when a peer presents a client cert signed by--server-tls-root, but the HTTPS web server (/announced,/fetch,/ws/*) didn’t. NewMtlsAcceptorwrapsRustlsAcceptor, installsWebPkiClientVerifierwith.allow_unauthenticated(), and a per-connection tower middleware (SetMtlsExtension) injects anOption<MtlsPeer>request extension. SIGUSR1 cert hot-reload preserved on the mTLS path. CodeRabbit flagged a 🟠 Major issue: combined withCorsLayer::allow_origin(Any), an arbitrary website could read/announcedand/fetchthrough a browser that auto-selects or has approved a matching client cert. Luke posted six self-review comments Apr 27 23:15–23:28 UTC — same self-review pattern as PR #1343. - PR #1352 OPENED Apr 27 23:59 UTC (+6/0) — Handle relays without announcement subscription support. Direct response to issue #1346 (kubo6472’s Apr 24 cross-impl Cloudflare-relay catalog-discovery bug). Changes
announcedgetter type fromSet<Path.Valid>toSet<Path.Valid> | undefined; when connecting tomediaoverquic.comthe system explicitly setsannouncedtoundefinedand treats it asreload=false, preventing indefinite waiting for announcements that will never arrive. CodeRabbit flagged hostname-suffix matching false-positive risk; Luke pushed a fix at Apr 28 00:07 UTC. - PR #1353 OPENED Apr 28 00:27 UTC (+346/−146) — moq-lite: per-frame buffer + BufMut producer to cut relay memory. Production-profiled memory optimization — Luke profiled a relay with ~66 connections at 2.7 GB RSS on a 4 GB box, attributing ~234 MB to per-chunk
Bytesheaders, ~254 MB to retained frame state, and ~446 MB to quinn’s reassembly arena that was being pinned by heldBytes. ReplacesFrameState.chunks: Vec<Bytes>withFrameBuf— a single Arc-shared, fixed-capacity heap allocation per frame.FrameProducernowimpl bytes::BufMutso the receive path writes quinn stream bytes directly into the pre-allocated buffer viaread_buf.FrameConsumertracks a byte cursor and materializes transientBytesviews viaBytes::from_owner(buf.clone()).slice(..). Net effect: one memcpy, no per-chunk Bytes headers, no quinn-arena pinning. - Issue #1351 OPENED+CLOSED Apr 27 23:15 UTC → Apr 28 00:10 UTC by metapox (taku): “Container.Legacy.Consumer.next() returns undefined after 20-60 frames with multiple concurrent tracks”. Reported against
@moq/hang0.2.4 +@moq/lite0.2.2 againstmoq-relay0.10. Luke replied Apr 27 23:18 UTC: “recvGroup() should only return undefined when the track has finished. Can you verify this is not happening? Yeah, I need more information, this should never happen.” metapox followed up Apr 28 00:08 UTC: “After further investigation, I was unable to reproduce this issue in a clean environment. Both recvGroup() and Container.Legacy.Consumer work correctly with multiple groups and 200+ frames. The original report was likely caused by an unstable publisher on my side. Sorry for the noise — feel free to close this.” — false-alarm closure. - PR #1349 (skirsten static catalog) — no new pushed code, last activity Apr 28 01:27 UTC (CodeRabbit re-review).
- PR #1348 (moq-lite-fetch Subscription model) — no new pushed code, last activity Apr 28 00:27 UTC.
- No new merges to
mainsince Apr 26 (PRs #1340 + #1343).
- PR #1350 OPENED Apr 27 22:24 UTC (+351/−18) — moq-relay: authenticate HTTPS callers via the cluster mTLS CA. The QUIC server already short-circuits to
- cloudflare/moq-rs, video-dev/moq-js, moqtail/moqtail, google/quiche (moqt), birneee/quiche_moq: No activity in the window.
- moq-dev/moq — three new PRs from luke-curley in <2 hours after the interim, plus an external opener:
- Mailing list — The “Consensus call on way forward on REWIND” thread RE-ERUPTS (9 messages Apr 27 06:55 UTC → Apr 28 02:03 UTC). Magnus Westerlund’s Apr 16 consensus call (ballot deadline May 1) had been quiet for 9 days; the interim discussion pushed the design debate back onto the list:
- Suhas Nandakumar Apr 27 06:55 UTC (replying to Gwendal Simon’s earlier ABR-switching argument): “IIUC REWIND was not addressing this use-case. Looks like the switch needs continuous groups with no gaps as it expects Relay to have cached the objects. REWIND does give up if there are gaps.”
- Luke Curley Apr 27 08:33 UTC: “Imagine if HTTP operated based on the cache state… a HTTP server was allowed to return a partial response with byte range 68-419.” Argues against cache-state-dependent behavior; would support REWIND if it required best-effort upstream retrieval.
- Gwendal Simon (Synamedia) Apr 27 16:12 UTC: Acknowledges Luke’s feedback re PR #1378. “REWIND delivery begins at the start of the latest gap-free run of Groups, skipping earlier Groups with gaps.” Notes SWITCH has stricter requirement: “for every Group in the range, if available on current Track, must be available on target Track”. Symmetric gaps OK. Commits to updating #1378 with explicit cache-continuity condition.
- Martin Duke Apr 27 12:23 UTC: Defends best-effort design. “The ‘best-effortness’ of REWIND is critical to the design, and is consistent with what I briefed in Boulder.”
- Luke Curley Apr 27 12:46 UTC: Reiterates HTTP analogy + supports PR #1607 (Largest Available Group filter) instead.
- Martin Duke Apr 27 12:52 UTC: Compromise proposal — “would you accept something that is still best-effort (i.e. the publisher MAY refuse based on its cache state) but does not preclude the relay doing something more aggressive” (best-effort floor, allow more aggressive).
- Luke Curley Apr 27 13:18 UTC: Agrees: “A relay MUST deliver objects within a sub-group in order (SUBSCRIBE semantics). Otherwise, the relay MUST skip the remainder of the sub-group.”
- Luke Curley Apr 27 13:32 UTC (clarification): Fragmented-cache options — relay may serve partial sub-groups, request upstream via REWIND/FETCH, or skip sub-groups entirely. “Relays must deliver objects within sub-groups in order per SUBSCRIBE semantics. If unable to maintain order, the relay must skip the remainder of that sub-group. Skipping entire groups will negatively impact user experience, similar to a FETCH returning an error.”
- Ian Swett Apr 28 02:03 UTC: “I’m open to some variant of REWIND, but not very optimistic that we’ll get consensus on anything more complex than CurrentGroupFill.” Endorses CurrentGroupFill (Alan Frindell’s sketched alternative) — “the main rationale for pursuing more complex solutions like REWIND would be enabling removal of the Joining Fetch mechanism entirely”. Would support removing Joining Fetch if CurrentGroupFill adopted, but uncertain about WG support.
- IETF Datatracker: No new WG or individual draft versions since moq-lite-04 (Apr 9). draft-ietf-moq-transport-17 still the latest WG transport draft.
- Interop runner: Apr 28 00:37 UTC run = 22 / 69 / 14 — −1 pass from Apr 27 (23/68/14), regressing back to the Apr 21–23 / Apr 26 plateau. The walking arc since draft-17 publication: 22 → 23 → 24 → 22 → 23 → 22. Most plausible cause: flaky test or an upstream image rebuild. moq-dev/moq’s Apr 27 PRs (#1349, #1350, #1352, #1353) are all still open, so they shouldn’t have rebuilt the docker image. moqtail’s draft-16 work also remains on a branch.
- MoQ Monthly: Still only issue #0 (Mar 4).
- tobbee/moq-llm-wiki issues: None open (3 closed).
Pages updated: discussions/discussions-2026-04.md, discussions/interim-meetings.md, drafts/moq-transport.md, implementations/moq-dev.md, interop/interop-runner.md, index.md
Key findings:
Interim outcome on RRID: REMOVE. The biggest spec decision of the interim is now in the editor’s copy as PR #1615 (ian-swett, Apr 27 19:48 UTC, +3/−52). victor-vasiliev approved within hours. Required Request ID is being removed from draft-18, not flow-controlled (Alan’s PR #1613) or restructured (Martin’s PR #1604 — joining FETCH on SUBSCRIBE stream). The structural-fix camp won the conceptual argument: RRID’s use cases (make-before-break, dependency ordering) didn’t justify keeping the field in the wire format. Make-before-break design work is deferred to the London hybrid interim in June (interim-2026-moq-08–11, June 11-12). Net: PR #1604 and PR #1613 both lose their headline justification; #1615 lands the simplest possible resolution. Request ID itself stays — Joining FETCH and GOAWAY still need it.
REWIND consensus thread breaks the dam. After 9 calendar days of post-Apr-16-consensus-call silence, the thread re-erupted with 9 messages over 19 hours during/after the interim. Two crystallizing positions: (a) Luke Curley + Ian Swett favor CurrentGroupFill — the simpler band-aid Alan sketched on Apr 17, no relay-side backfill, just current-group-with-fill semantics. Ian states explicitly that “I’m open to some variant of REWIND, but not very optimistic that we’ll get consensus on anything more complex than CurrentGroupFill” and would support removing Joining Fetch entirely if CurrentGroupFill landed. (b) Martin Duke defends REWIND’s best-effort semantics as critical to the design, but accepts a compromise framing: best-effort floor, allow relays to do something more aggressive. The HTTP-style “publisher MUST attempt upstream retrieval” framing Luke initially pushed has been weakened to a sub-group-ordering MUST that Luke agreed to. Suhas raised a structural challenge: REWIND can’t handle gapped caches, which Gwendal’s PR #1378 SWITCH does. Gwendal committed to updating SWITCH with an explicit cache-continuity condition. The May 1 consensus-call deadline is now 3 days away.
moq-relay big day from Luke: mTLS for HTTPS, announcement-less relay handling, per-frame buffer. Three open PRs in <2 hours after the interim, two of which directly address operational reality. PR #1350 (mTLS HTTPS, +351/−18) closes the gap between the QUIC server’s mTLS short-circuit and the HTTPS REST surface (/announced, /fetch, /ws/*) — important for any cluster-internal HTTPS callers (e.g., a control plane behind the same mTLS root). CodeRabbit flagged the CORS/browser-readable-GET issue; not yet addressed. PR #1352 (announcement-less relay, +6/0) is a tiny but operationally significant patch — directly resolves the Apr 24 kubo6472 cross-impl bug (issue #1346) by hardcoding mediaoverquic.com as a relay that doesn’t support announcement subscriptions and short-circuiting the indefinite-wait logic. (CodeRabbit flagged the suffix-match false-positive, fixed.) PR #1353 (per-frame buffer, +346/−146) is a production-profiled memory optimization — Luke’s profiling on a real ~66-connection relay attributed ~234 MB to per-chunk Bytes headers and ~446 MB to pinning quinn’s reassembly arena, then rewrote frame storage to a single Arc<FrameBuf> per frame with BufMut-driven direct writes. Together these three PRs continue the Apr 26 SaaS-multi-tenancy push (slug routing + wait_for_broadcast) by tackling the next layer down: HTTPS auth, peer-impl differences, and memory cost-per-connection.
Issue #1346 (kubo6472) closed in PR by mode rather than fix. The cross-impl Cloudflare-relay catalog-discovery friction the user reported Apr 24 is now resolved in moq-lite via explicit knowledge that mediaoverquic.com doesn’t support SUBSCRIBE_NAMESPACE. Strictly, moq-lite stops waiting for the announcements that will never arrive; the underlying interop gap (Cloudflare moq-rs not implementing announcement subscriptions) is unchanged. From Luke’s side this is a pragmatic move — preserves the user-visible behavior of <moq-watch catalog-format=msf> against a Cloudflare endpoint at the cost of hardcoding a single relay URL into the moq-lite source.
Martin Thomson joins PR #1544 review. Martin Thomson (former QUIC WG chair, IAB member, very senior IETF security/transport reviewer) posted a substantive rewrite suggestion on the 0-RTT introductory text at Apr 28 01:46 UTC. First time on a moq-transport PR within April 2026’s wiki record. PR #1544 had been parked since Mar 8 with only ianswett activity; Vasilvv started reviewing Apr 27, and now Thomson. The review is becoming serious and the security-considerations text needs a rewrite before merge — not surprising for 0-RTT but a notable widening of the reviewer pool.
Interop matrix walks back into the plateau at 22/69/14. Apr 28 = 22/69/14, −1 from Apr 27. Five-day arc: 22 → 23 → 24 → 22 → 23 → 22. None of moq-dev/moq’s Apr 27 PRs have merged to main, so docker images shouldn’t have rebuilt. Most likely a flaky test or an unrelated impl rebuild. The matrix neither at the Apr 25 peak (24) nor at the Apr 19–20 trough (18) — stuck at the post-draft-17 plateau.
2026-04-27 (deep-dive) — Wire-format diff across moq-transport draft-14/16/17
TL;DR:
- User query: scrutinize Group/Subgroup/Object encoding and stream/channel framing across draft-14, -16, -17. Conceptual data model is stable across 14/16/17; draft-15/16 was the wire-format upheaval (bit-flag Type fields, FETCH redesigned with delta encoding); draft-17 is mostly rename + the bidi-stream-per-request architecture change.
- New page
concepts/streams-and-framing.md; major rewrites ofsubgroups-and-objects.mdandtrack-properties.md; downloaded the missing draft-16 source. - Implementations: n/a — research-only deep-dive, no impl activity inspected.
- Interop: n/a — research-only deep-dive, no runner check.
Operation: User query — “Scrutinize the concepts page and the description of the groups, subgroups, objects for their definitions and encoding. … description of any differences between draft 14, 16, 17. The same goes for channels and streams.”
Sources read:
sources/ietf-drafts/draft-ietf-moq-transport-14.txtsources/ietf-drafts/draft-ietf-moq-transport-17.txtsources/ietf-drafts/draft-ietf-moq-transport-16.txt(downloaded fresh fromhttps://www.ietf.org/archive/id/draft-ietf-moq-transport-16.txt— this version was missing from the local source mirror).
Sections compared in each draft: §1.3 Stream Management Terms, §2 Object Data Model (incl. §2.1 Objects, §2.2 Subgroups, §2.3 Groups, §2.4 Track Naming, §2.5 Extension Headers/Properties), §10.1 Track Alias, §10.2 Objects, §10.2.1 Object Status / Extension Headers / Properties, §10.3 Datagrams, §10.4 Streams (incl. §10.4.2 Subgroup Header and the FETCH per-Object format).
Pages updated:
concepts/subgroups-and-objects.md— major rewrite. Now contains version-by-version wire-format diagrams for SUBGROUP_HEADER + Object, OBJECT_DATAGRAM, and FETCH per-Object header across 14/16/17, plus a delta-encoding summary table covering Group ID / Subgroup ID / Object ID / Publisher Priority / Properties on each stream type. Calls out PR #1586 (FETCH delta encoding, merged Apr 27) and PR #1608 (Subgroup ID = first Object ID).concepts/track-properties.md— added the “Naming Evolution” table (Object Extension Headers → Extension Headers → Properties), the delta-encoded KVP Type rule new in draft-16, and draft-17’s reserved application-private code-point ranges.concepts/streams-and-framing.md— new page. Covers the bidi-stream architecture change in draft-17 (control stream → SETUP unidirectional pair + bidi-per-request), the unidirectional Stream-Type code-point table (0x05FETCH,0x10..0x1DSUBGROUP,0x2F00SETUP), the OBJECT_DATAGRAM bit-flag layout, and the Stream Cancellation reset-code registry across 14/16/17.index.md— added streams-and-framing to Protocol Concepts; tagged subgroups-and-objects and track-properties with their version-diff scope.
Sources mirror updated: added draft-ietf-moq-transport-16.txt (237 KB, 4988 lines) — the previously-missing intermediate version.
Key findings (synthesized):
-
Conceptual data model is stable across 14/16/17. Track / Group / Subgroup / Object definitions are essentially the same. Wording polish in 16/17 only — the only substantive changes are: (a) the three-state Object existence model added in 16; (b) Track Namespace gaining an explicit on-wire structure in 16, then the lower bound dropping from 1 to 0 fields in 17; (c) “forwarding preference” moving from Track-level (14) to per-Object (16+).
-
draft-15/16 was the wire-format upheaval. SUBGROUP_HEADER and OBJECT_DATAGRAM Type fields moved from enumerated values to bit-flag layouts, gaining the
DEFAULT_PRIORITYflag that lets Publisher Priority be inherited from the subscription. Extensions wrapped in a namedExtensions { Length, Headers }struct. Subgroup ID encoding moved to a 2-bitSUBGROUP_ID_MODEfield. FETCH per-Object header was completely redesigned: a singleSerialization Flagsvarint gates the presence of every field and supports delta encoding from the prior Object, with two reserved values0x8C/0x10Cfor End-of-Non-Existent-Range / End-of-Unknown-Range. Object Status was removed from FETCH responses and SUBSCRIPTION-only thereafter. KVP types delta-encoded. -
draft-17 is mostly a rename + cleanup, with one big architectural change. Wire-byte layout of subgroup objects, datagrams, and FETCH per-Object framing is byte-identical to draft-16. The data-plane changes are:
Extension Headers→Propertieseverywhere (including the bit name in the Type field);(i)→(vi64)annotation backed by a self-contained varint definition (§1.4.1) that extends the integer range from RFC-9000’s 2⁶²−1 to 2⁶⁴−1 via a new 9-byte encoding (prefix11111111), omits the 7-byte length, and reserves11111100as invalid (PR #1595). The architectural change is bidirectional-stream-per-request: SETUP moves from a single bidi control stream to a pair of unidirectional control streams (new code point0x2F00), and SUBSCRIBE / PUBLISH / FETCH / PUBLISH_NAMESPACE / SUBSCRIBE_NAMESPACE / TRACK_STATUS each open their own bidirectional request stream. Plus a new normative datagram check (STATUS + PROPERTIESwith non-Normal status → PROTOCOL_VIOLATION) and a clarification of “prior Object” semantics across End-of-Range markers in FETCH. -
PR #1586 (merged Apr 27 2026, into post-17 main, +32/−23) is a textual cleanup of the FETCH-response delta-encoding rule already introduced in draft-16. Final normative wording: “If the Group ID Delta field is present, the Object ID is the value of Object ID Delta if present. When the Group ID Delta field is not present, the Object ID is the prior Object’s ID plus the Object ID Delta if present.” Closes Martin Duke’s long-running #877 “Pack the bits”. Not a redesign of the draft-16 Serialization Flags scheme.
2026-04-27 (interim) — Pre-interim editor warm-up; moq-dev opens FETCH-readiness PR
TL;DR:
- PR #1586 (FETCH delta encoding) merges, closing Martin’s long-running #877 “Pack the bits”.
- Pre-interim review pass: Suhas on #1542 (SUBSCRIBE_NAMESPACE/TRACKS split, 7 inline comments), Vasilvv on #1534 (REDIRECT) and #1544 (0-RTT).
- Implementations: moq-dev/moq merges PR #1340 (+182/−5,
wait_for_broadcast) and PR #1343 (+283/−26, subdomain slug routing); opens FETCH-readiness PR #1348 (+1049/−471). External PR #1349 from skirsten (+196/−13) addsstaticcatalog mode to<moq-watch>. cloudflare/moq-rs, video-dev/moq-js, moqtail, google/quiche, birneee/quiche_moq all quiet. - Interop: 23/68/14 (+1 vs Apr 26, −1 below Apr 25 high of 24/67/14).
Operation: Update Sources:
- Slack: MCP verified working.
#moq/#moq-rs/#moq-js/#libquicrall quiet — no new posts in any channel since ian-swett’s Apr 23 14:12 UTC i18n review request. Four+ days of silence on the eve / morning of the interim. - GitHub moq-wg repos:
- moq-transport:
- PR #1586 MERGED Apr 27 05:24 UTC by alan-frindell (+32/−23, Make Object ID and Group ID delta encoded in Fetch responses). Final suggested-text patch landed at 05:23 UTC immediately before merge. Closes martin-duke’s Issue #877 (“Pack the bits”) and Issue #1345 (“Separate the list of reasons for malformed tracks into two lists”, yekuiwang) — both closed Apr 27 05:24 UTC.
- PR #1542 review pass (Split SUBSCRIBE_NAMESPACE / SUBSCRIBE_TRACKS) — suhas-nandakumar posted seven inline comments Apr 27 03:18–03:40 UTC: suggested
SUBSCRIBE_NAMESPACESplural rename; “I think we don’t allow for the tracks to be echoed by default (sub-ns with self track commit)”; clarifying-question on REQUEST_UPDATE-prefix-narrowing as error; “may be you need to add one line that says what does ‘First’ mean here?”; “should we also add a note to say the namespace, namespace done, publish, publish done messages all get sent on the same bidirectional stream?”; “why did we remove this?”. afrind responded Apr 27 04:59–05:23 UTC: “It is not an error. It is only an error if the new namespace overlaps with a different sub_ns.” / “It was removed in #1596, I updated here to match.” / suggested-text “messages for tracks within matching namespaces, excluding tracks published by the subscriber.” / ”🤷 I can spend 45 seconds asking in the interim” (one item explicitly deferred to live discussion). - PR #1534 review pass (Add REDIRECT) — suhas-nandakumar Apr 27 03:15 UTC: “I am not sure how a relay would know the right FullTrackName which is application scoped.” (afrind replied “via configuration rules typically, it’s not in-band”). victor-vasiliev reviewed Apr 27 03:52 UTC: “This overall looks good, but we do need text on relay behavior (forwarding and caching).” afrind Apr 27 05:00 UTC: “@vasilvv Do you remember what we agreed to say? Cacheable up to retry interval?” — Cloudflare/Google relay-caching alignment loop opened ~3 hours pre-interim.
- PR #1544 (Improve Startup Latency and 0-RTT, ianswett, opened Mar 8) — victor-vasiliev reviewed Apr 27 04:09 UTC: “I don’t understand what forward secrecy has anything to do with the text of this section.” First post-park signal on the PR.
- Other interim agenda PRs (#1603 / #1604 / #1605 / #1607 / #1608 / #1609 / #1611 / #1613): no new comments.
- msf, loc, secure-objects, cmsf, catalog-format, privacy-pass: No new issues, no new PRs, no new comments.
- moq-transport:
- Implementation repos:
- moq-dev/moq:
- PR #1340 MERGED Apr 26 16:26 UTC by luke-curley (+182/−5) — moq-lite: add OriginConsumer::wait_for_broadcast; deprecate consume_broadcast. Fixes the moq-gst sync-lookup footgun.
- PR #1343 MERGED Apr 26 16:35 UTC by luke-curley (+283/−26) — relay: add subdomain-based slug routing for customer isolation. The 🔴 Critical WS/web auth-handler bypass that CodeRabbit flagged Apr 23 was resolved before merge. First SaaS-style multi-tenancy primitive in moq-relay.
- PR #1348 OPENED Apr 26 15:38 UTC by luke-curley (+1049/−471) — moq-lite: backport Subscription model API for FETCH readiness. First FETCH-readiness commit on
moq-lite-fetch. BackportsSubscription/TrackSubscribermodel-layer API fromdev’s PR #1134.Tracklosespriority; newSubscription { priority, ordered, max_latency, start, end }carries it. CodeRabbit flagged 🔴 Critical: aggregator’sstart/endreduce treatsNoneas “no preference” but the doc saysstart: None= “deliver all cached history” /end: None= “no end (live)” — semantics mismatch. - PR #1349 OPENED Apr 27 01:32 UTC by skirsten (Simon Kirsten, external contributor, +196/−13) — @moq/watch: add static catalog format. Third catalog mode beyond
hang/msf:staticlets callers pass aCatalog.Rootdirectly. PromotesBroadcast.catalogto writableSignal<Catalog.Root | undefined>. CodeRabbit 🟡 Minor:finallyclears a potentially user-owned signal. Second contributor-driven catalog-format extension to<moq-watch>after Luke’s MSF (PR #1330). - PR #1341 (Refactor media producers) — Luke posted 8 inline self-review comments Apr 26 16:08–16:16 UTC: “release-plz will bump this; don’t manually do it.” / “just call it
inithonestly. Also is there some serde_as thing we could use instead of String?” / “Could we avoid making this pub?” / “I don’t think we should remove these jitter calculations. Maybe make a jitter.rs helper instead of copy-pasting?jitterisn’t a great name, really it should bemin_frame_durationor something.” — same self-review pattern as PR #1343 used pre-merge.
- moqtail/moqtail, cloudflare/moq-rs, video-dev/moq-js, google/quiche (moqt), birneee/quiche_moq: No activity in the window.
- moq-dev/moq:
- Mailing list: Apr 26 Weekly GitHub digest from Repository Activity Summary Bot (covers Apr 19–26 across moq-charter, moq-transport, moq-requirements, warp-streaming-format, loc, wg-materials). Highlights match what the wiki already tracks: +1 issue (#1612 “What happens to Joining FETCH if fwd changes to 0?”), 1 closed, 5 PRs submitted, 6 receiving 9 comments. No new individual posts since alan-frindell’s Apr 24 18:26 PDT slides-folder reply.
- IETF Datatracker: No new WG or individual draft versions since moq-lite-04 (Apr 9). draft-ietf-moq-transport-17 still the latest WG transport draft.
- Interop runner: Apr 27 00:34 UTC run = 23 / 68 / 14 — +1 pass vs. Apr 26 (22/69/14), but still −1 below the Apr 25 high (24/67/14). Matches the Apr 24 reading and the Apr 15–16 baseline. Walking-arc-with-regression: 22 → 23 → 24 → 22 → 23. The flipped test is not exposed in the summary report. Most plausible cause: PR #1340 (
wait_for_broadcast) flowing throughmoq-dev-rs/moq-dev-jsdocker rebuilds. - MoQ Monthly: Still only issue #0 (Mar 4).
- tobbee/moq-llm-wiki issues: None open.
Pages updated: discussions/discussions-2026-04.md, implementations/moq-dev.md, interop/interop-runner.md, drafts/moq-transport.md, index.md
Key findings:
Pre-interim warm-up on PR #1542 / #1534 / #1544 — Suhas Nandakumar conducted a substantial pre-interim review pass on PR #1542 (SUBSCRIBE_NAMESPACE/SUBSCRIBE_TRACKS split), posting seven inline comments in 22 minutes (Apr 27 03:18–03:40 UTC) raising semantics questions about self-track-echo, REQUEST_UPDATE-prefix-narrowing-as-error, “First message” definition, and the bidi-stream-pinning convention. afrind responded systematically over 24 minutes (04:59–05:23 UTC), explicitly deferring one item to “the interim itself” with ”🤷 I can spend 45 seconds asking in the interim”. Separately, Vasilvv reviewed PR #1534 (REDIRECT) approving the structure but flagging missing relay-behavior text — opening a Cloudflare/Google caching-alignment loop that afrind acknowledged with “@vasilvv Do you remember what we agreed to say? Cacheable up to retry interval?“. Vasilvv also pushed back on PR #1544’s (0-RTT) forward-secrecy framing as a pre-merge blocker. Classic editor warm-up: groom text in PR comments to either land or punt before the call.
PR #1586 lands and closes “Pack the bits” — afrind merged the FETCH delta-encoding PR at Apr 27 05:24 UTC, just hours before the interim, and used it to close two long-running issues: Martin Duke’s #877 “Pack the bits” (one of the older open Martin issues) and yekuiwang’s #1345 (malformed tracks reasons split). Final suggested-text iteration landed at 05:23 UTC immediately before merge. The PR resolves the Apr 23 mid-group-FETCH ambiguity afrind flagged. This is the second main merge in the post-draft-17 era after PR #1606 (stream reset codes) on Apr 23 — moving the editor needle on cleanup as the WG approaches the meeting.
moq-dev/moq big day: #1340 + #1343 merged, #1348 opens for FETCH — Luke pushed two relay-infra primitives through to main Apr 26 16:26–16:35 UTC: wait_for_broadcast (fixes the moq-gst sync-lookup footgun) and subdomain-based slug routing (the first SaaS-style multi-tenancy primitive in moq-relay; resolves the Apr 23 🔴 Critical WS/web auth-handler bypass before merge). Then opened the major FETCH-readiness foundation PR #1348 at 15:38 UTC: backports the Subscription / TrackSubscriber model-layer API from dev’s PR #1134 onto moq-lite-fetch (+1049/−471). Goal stated explicitly: “Land the API surface FETCH needs without implementing FETCH wire/stream handling — fetch can plug into TrackSubscriber::update once the wire path is added.” Pairs with Luke’s Apr 24 spec-side argumentation on issue #1358 about JOINING FETCH priority limitations — Luke wants both API and design clarity locked in before FETCH wire ships. CodeRabbit flagged a 🔴 Critical semantics mismatch in the start/end aggregator that needs fixing before merge.
External PR #1349 from skirsten — second contributor-driven catalog-format extension — Simon Kirsten opened PR #1349 at Apr 27 01:32 UTC adding a third catalog mode (static) to <moq-watch>. After Luke’s own MSF mode (PR #1330) and now an external static mode, the catalog-format-as-attribute API is gaining contributor mindshare. The PR also promotes Broadcast.catalog from getter to writable Signal<Catalog.Root | undefined> — a public-API change that needs Luke’s review.
Interop matrix walks back into interim parity at 23/68/14 — Apr 27 00:34 UTC = 23/68/14, +1 from Apr 26 (22/69/14), but −1 below the Apr 25 high (24/67/14). The walking arc is 22 → 23 → 24 → 22 → 23 over five days. Still matches the Apr 24 reading and the Apr 15–16 baseline. Implementation activity in the relevant window includes moq-dev/moq’s two main merges, of which wait_for_broadcast (PR #1340) is the more plausible cause for a moq-dev-rs / moq-dev-js image rebuild that flipped one pair (it directly affects relay/origin lookups). The matrix walks into the Apr 27 interim at parity with Apr 24, neither at peak nor at the Apr 21–23 plateau.
2026-04-26 — Pre-interim lull; moqtail absorbs two big draft-16 merges
TL;DR:
- moq-wg spec side completely quiet — interim agenda PRs all silent ahead of the Apr 27 meeting.
- moq-dev issue #1346 root-caused as Firefox/GPU/driver, not a moq-lite or @moq/watch defect.
- Implementations: moqtail draft-16 branch lands PR #168 (+1094/−443, FETCH wire format) + PR #169 (+994/−593, Message Parameters migration) — ~2.1k LOC combined, largest moqtail draft-16 day since Apr 14–16. moq-dev/moq merges PR #1345 (+108/0, Python examples) and dependabot PR #1347 (rustls bump). cloudflare/moq-rs, video-dev/moq-js, google/quiche, birneee/quiche_moq quiet.
- Interop: 22/69/14 (−2 vs Apr 25 high of 24/67/14; back to the Apr 21–23 plateau).
Operation: Update Sources:
- Slack: MCP verified working.
#moq/#moq-rs/#moq-js/#libquicrall quiet — no new posts in any channel since ian-swett’s Apr 23 14:12 UTC i18n review request. Three-plus calendar days of silence on the eve of the Apr 27 interim. - GitHub moq-wg repos:
- moq-transport, msf, loc, secure-objects, cmsf, catalog-format, privacy-pass: No new issues, no new PRs, no new comments since the Apr 25 log entry. Pre-interim lull — the headline interim agenda PRs (#1603 / #1604 / #1605 / #1607 / #1608 / #1609 / #1611 / #1613) are all quiet; discussion has likely moved to the meeting itself or offline conversations.
- Implementation repos:
- moq-dev/moq:
- PR #1345 MERGED Apr 25 15:13 UTC by luke-curley (+108/−0) — py/moq-lite: add clock + announced examples. Adds two Python examples for the moq-lite Python bindings.
- PR #1347 MERGED Apr 25 14:47 UTC by dependabot[bot] (+2/−2) — Bump
rustls-webpki0.103.12 → 0.103.13. Routine. - PR #1343 (subdomain-based slug routing) — still OPEN. Luke posted two self-review rounds on Apr 25 (22:09 UTC and 22:40 UTC) with five inline comments addressing CodeRabbit’s earlier feedback (“IMO do one strip_suffix call.” / “Maybe add the leading . to the domain after parsing the config file?” / “We could replace . with / to support multiple paths.” / “We should also lowercase and add a . prefix here.” / “Why is this public? IDK seems like it’s too specific.”). A new CodeRabbit review (Apr 24 22:22 UTC) suggests pre-canonicalizing suffixes to lowercase in
Auth::new. The 🔴 Critical WS/web auth-handler bypass is still not addressed in pushed code. - Issue #1346 (catalog-discovery / “how to build something with this”) — saw ~7 substantive exchanges between @kubo6472 and Luke on Apr 25 14:17–19:15 UTC. Root cause confirmed at 19:15 UTC: kubo6472 switched to Chromium on Linux Mint and both
/watch/liveandmoq.dev/watchstarted working — original tearing was a Firefox/GPU/driver issue, not a moq-lite or @moq/watch defect. Luke confirmed “I’m working on DVR (rewind). It’ll be at least a few months.” The underlying cross-impl Cloudflare-relay catalog-discovery bug (SUBSCRIBE_NAMESPACEnot implemented) and the docs gap remain. Issue still OPEN.
- moqtail/moqtail: Two large merges into the
draft-16integration branch within 2 minutes on Apr 25 afternoon UTC:- PR #168 MERGED Apr 25 17:15 UTC by @ctllmp (+1094/−443) — closes #115. Lands the FETCH-object wire format finalized in the Apr 23 PR comment.
- PR #169 MERGED Apr 25 17:17 UTC by @fatih-alperen (+994/−593). Migrates
FETCH,SUBSCRIBE_NAMESPACE,PUBLISH_NAMESPACE, andTRACK_STATUSmessages from older-draft key-value pairs to draft-16 Message Parameters. - Together: ~2.1k lines across
moqtail-rs+moqtail-tsin lockstep — largest moqtail draft-16 day since the Apr 14–16 burst. The umbrella PR #145 (zafergurel) remains open againstmain.
- cloudflare/moq-rs, video-dev/moq-js, google/quiche (moqt), birneee/quiche_moq: No activity in the window.
- moq-dev/moq:
- Mailing list: No new posts since alan-frindell’s Apr 24 18:26 PDT (Apr 25 01:26 UTC) reply with the slides folder link. Three-plus calendar days of silence ahead of the Apr 27 interim.
- IETF Datatracker: No new WG or individual draft versions since moq-lite-04 (Apr 9). draft-ietf-moq-transport-17 still the latest WG transport draft.
- Interop runner: Apr 26 00:34 UTC run = 22 / 69 / 14 — two-test regression from the Apr 25 high-water mark of 24/67/14, dropping back to the Apr 21–23 plateau. Breaks the three-day improvement arc. Most likely a flaky test or an upstream image rebuild for one of the other matrix entries — moqtail’s draft-16 work landed on the integration branch, not
main, so docker images shouldn’t have changed; moq-dev/moq merged only a Python examples PR and a dep bump, neither of which touches the wire path. - MoQ Monthly: Still only issue #0 (Mar 4).
- tobbee/moq-llm-wiki issues: None open.
Pages updated: discussions/discussions-2026-04.md, implementations/moq-dev.md, implementations/moqtail.md, interop/interop-runner.md, index.md
Key findings:
Pre-interim lull on the spec side — Zero activity across all moq-wg repos in the Apr 25 02:00 UTC → Apr 26 00:34 UTC window: no new issues, no new PRs, and no new comments on any of the eight headline Apr 27 interim agenda PRs (#1603 RRID DoS, #1604 Joining FETCH onto SUBSCRIBE, #1605 delivery timeout, #1607 Largest Available Group filter, #1608 Subgroup ID alignment, #1609 forward-state-mismatch error, #1611 PUBLISH_OK removal, #1613 MAX_REQUEST_UPDATES). After the Apr 24 burst when Luke Curley posted three substantive comments in 52 minutes weighing in on the design, the editors and contributors have gone silent — three-plus calendar days of mailing-list silence too. Discussion has clearly moved offline or to the live meeting tomorrow. The interim agenda is now frozen-in-place: published slides for #1608, 1603, #1613, #1605; Victor Vasiliev’s still-private RRID alternative will be the wildcard.
moqtail’s draft-16 branch absorbs two big merges in 2 minutes — Apr 25 17:15 UTC and 17:17 UTC saw PR #168 (FETCH-object bitmask + delta encoding, +1094/−443, by @ctllmp) and PR #169 (Message Parameters migration for FETCH / SUBSCRIBE_NAMESPACE / PUBLISH_NAMESPACE / TRACK_STATUS, +994/−593, by @fatih-alperen) merged into the draft-16 integration branch. Together ~2.1k LOC across moqtail-rs and moqtail-ts — the largest moqtail day for draft-16 since the Apr 14–16 burst, and the cleanest single-day signal that moqtail is chasing draft-16 conformance for both languages in lockstep. Umbrella PR #145 (zafergurel) still open against main; until that lands, draft-16 work won’t appear in the moqtail interop docker image.
moq-dev #1343 self-review rather than push — Luke posted two self-review rolls on PR #1343 (subdomain-based slug routing) at Apr 25 22:09 UTC and 22:40 UTC with five inline TODOs (“do one strip_suffix call”, “lowercase and add a . prefix here”, “replace . with / to support multiple paths”, etc.). No code push yet; the Apr 23 🔴 Critical WS/web auth-handler bypass is still on the table. This is rework-in-thinking, not rework-in-code. The PR is the first SaaS-style multi-tenancy primitive in moq-relay and remains gated.
Issue #1346 root-caused as browser/GPU, not moq-lite — The Apr 24 first-externally-reported <moq-watch> + MSF cross-impl bug saw heavy back-and-forth Apr 25 afternoon UTC. After Luke pushed back on the tearing as a browser/GPU/driver issue, kubo6472 confirmed at 19:15 UTC: “tried chromium on said linux and now it works on both the /watch/live and the moq.dev/watch, cool”. So the visible playback regression turns out to be a Firefox-on-Linux/GPU-driver issue, not a defect in moq-lite or @moq/watch. The original cross-impl Cloudflare-relay catalog-discovery bug (Cloudflare relay does not support broadcast discovery yet) and the docs gap kubo6472 surfaced (had to paste live.vue source code asking “what am I doing wrong?”) remain unresolved.
Interop matrix regresses 2 tests overnight — Apr 26 00:34 UTC = 22/69/14 — back to the Apr 21–23 plateau and below the Apr 15–16 baseline of 23/68/14. The two flipped tests aren’t exposed in the summary report. Because moqtail’s two big merges hit the draft-16 integration branch (not main, so docker images shouldn’t have changed) and moq-dev/moq merged only a Python examples PR + a dep bump, neither of which touches the wire path, the regression is more plausibly explained by an upstream rebuild on one of the other matrix entries (moq-rs / moq-rs-draft-16 / moqx / quiche-moq / libquicr / xquic / imquic) or by a flaky test. The matrix now enters the Apr 27 interim at the Apr 21–23 plateau rather than at peak strength — the optimistic “matrix entering the meeting at its strongest April reading” framing from yesterday’s log no longer holds.
2026-04-25 — Luke joins the pre-interim spec debate; interop new April high
TL;DR:
- Luke Curley posts three substantive comments in 52 minutes (#1603 RRID DoS, #1607 LargestGroup filter, #1358 JOINING FETCH priority) — strongest pro-#1607 advocacy yet, with concrete Twitch TTV math (333 ms median startup gain).
- Correction: PR #1610 (REQUEST_OK textual aliases) was actually merged Apr 23, not still open as Apr 24 log claimed; unblocks #1611 (PUBLISH_OK removal). Apr 27 interim slides posted; Vasilvv to present a third RRID alternative beyond 1613.
- Implementations: moq-dev/moq PR #1343 (+248/−27, subdomain slug routing) still open with unresolved 🔴 Critical WS auth-handler bypass; dependabot PR #1347 opened (rustls bump); Issue #1346 (first external @moq/watch + MSF cross-impl bug) opened by @kubo6472. cloudflare/moq-rs, video-dev/moq-js, moqtail, google/quiche, birneee/quiche_moq all quiet.
- Interop: 24/67/14 — new April high; second consecutive day of improvement (22 → 23 → 24).
Operation: Update Sources:
- Slack: MCP verified working.
#moq/#moq-rs/#moq-js/#libquicrall quiet — no new posts since ian-swett’s Apr 23 14:12 UTC i18n review request on PR #1588. - GitHub moq-wg repos:
- moq-transport:
- PR #1610 noted as MERGED Apr 23 21:03 UTC by alan-frindell (+22/−17, Define textual aliases for REQUEST_OK by request type). The Apr 24 log entry incorrectly recorded this as still open; the merge happened ~2 hours after the PR opened, after a one-line
LGTMfrom ian-swett. Unblocks PR #1611 (PUBLISH_OK removal) which had been parked behind it. - PR #1608 review thread (Subgroup ID = first Object Id) — three Apr 24 comments approaching consensus: ian-swett 12:26 UTC (“That’s what I mean, so I guess I should be more explicit”), suhas-nandakumar 17:43 UTC suggested-text
Original publishers SHOULD assign each Subgroup a Subgroup ID equal to the Object ID, ian-swett 18:17 UTC (“Actually, re-reading the text, isn’t that what it says?”). - PR #1586 review thread (delta-encoded Object/Group ID in FETCH) — ian-swett Apr 24 18:15 UTC pushed two suggested-text patches addressing the Apr 23 ambiguity flagged by afrind, asking for re-review. Key clarification:
If there is a prior Object in the Group and the Object ID Delta field is present, the Object ID is the prior Object's ID plus the Object ID Delta. - Issue #1603 / PR #1607 / Issue #1358 — luke-curley returns to the spec debate: Three substantive comments in 52 minutes on Apr 24 evening UTC.
- #1603 (RRID DoS), Apr 24 22:44 UTC: “I don’t understand why it’s on so many messages either. … +1 Martin’s concern about DoS. I don’t think it’s a major issue in this instance because of MAX_STREAMS, but I’m not a fan of blocking on arbitrary IDs like Track Alias and Required Request ID in general (oops forgot a timeout).” Lines up with Martin’s structural-fix camp (PR #1604).
- PR #1607 (Largest Available Group filter), Apr 24 23:10 UTC: Concrete defense against Suhas’s NextGroup alternative. Two arguments: (1) catalogs MUST use LargestGroup (NextGroup never resolves on dormant tracks, NGR for catalogs sends every existing subscriber a duplicate copy); (2) Twitch TTV math — at 1s into a 2s GoP with 1.5 Mb/s media on 3 Mb/s network, race-to-startup is 0.66s vs 1s wait = 333 ms faster startup, plus warmed congestion controller. Proposes the combined
CurrentGroup + NGRrace idiom. - Issue #1358 (Subscribing to start of current Group), Apr 24 23:36 UTC: Opens a new design problem — with subscriber priorities, a JOINING FETCH will never be deprioritized even when a new group starts. Walks through TTV=1.33s for JOINING FETCH vs TTV=0.5s for hypothetical
SUBSCRIBE filter=LargestGroup order=DESCin his concrete example.
- PR #1611 / #1609 / #1604 / #1613: Quiet since Apr 24 log entry.
- PR #1610 noted as MERGED Apr 23 21:03 UTC by alan-frindell (+22/−17, Define textual aliases for REQUEST_OK by request type). The Apr 24 log entry incorrectly recorded this as still open; the merge happened ~2 hours after the PR opened, after a one-line
- msf, loc, secure-objects, cmsf, catalog-format, privacy-pass: no activity.
- moq-transport:
- Implementation repos:
- moq-dev/moq:
- PR #1343 (subdomain-based slug routing for customer isolation, +248/−27) opened Apr 23 by luke-curley; updated Apr 24 22:22 UTC. CodeRabbit flagged a 🔴 Critical issue Apr 23: the WebSocket and web auth handlers build
AuthParamsdirectly without consultingAuth::domains, which would leak the slug-based isolation in the WebSocket path. Awaiting Luke’s response. - PR #1347 opened Apr 24 17:04 UTC by dependabot[bot] — bump
rustls-webpki0.103.12 → 0.103.13. - Issue #1346 opened Apr 24 08:24 UTC by @kubo6472 — first externally-reported bug exercising the new
<moq-watch catalog-format="msf">element (PR #1330, Apr 20). User points the element at the Cloudflare draft-14 endpoint; hitsCloudflare relay does not support broadcast discovery yet; skipping subscribe_namespacewarning +subscribe error: id=0 broadcast=room/bbb track=catalog error=SUBSCRIBE error: code=0 reason=internal error: Internal error. No reply yet from Luke. Confirms cross-impl friction at the catalog discovery layer between moq-lite/moq-dev clients and the Cloudflare moq-rs relay (which still doesn’t implementSUBSCRIBE_NAMESPACE). - No new merges to
mainsince PR #1322 (hop-based clustering, Apr 23 23:26 UTC).
- PR #1343 (subdomain-based slug routing for customer isolation, +248/−27) opened Apr 23 by luke-curley; updated Apr 24 22:22 UTC. CodeRabbit flagged a 🔴 Critical issue Apr 23: the WebSocket and web auth handlers build
- cloudflare/moq-rs, video-dev/moq-js, moqtail/moqtail, birneee/quiche_moq: Quiet.
- google/quiche (moqt): No new moqt-specific commits since the Apr 22 batch by martin-duke (
MoqtClient/MoqtServersession parameters API +moqt_messages.hcleanup).
- moq-dev/moq:
- Mailing list: alan-frindell replied Apr 24 18:26 PDT (Apr 25 01:26 UTC) to Martin’s “Monday’s agenda is ready” thread with the slides folder link. Notable line: “Some content is still pending. Victor will provide updated slides on delivery timeout proposals and request ID alternatives.” — confirms Victor Vasiliev will present a competing proposal to RRID at the Apr 27 interim. Headline agenda items now have published slides for #1608, 1603, #1613, #1605; time permitting: Joining FETCH Dissent.
- IETF Datatracker: No new WG or individual draft versions since moq-lite-04 (Apr 9). draft-ietf-moq-transport-17 still the latest WG transport draft.
- Interop runner: Apr 25 00:32 UTC run = 24 / 67 / 14 — second consecutive day of improvement and a new April 2026 high-water mark (Apr 15–16 baseline was 23/68/14). One more test flipped fail → pass. First time since draft-17 publication that the matrix has improved on two consecutive days.
- MoQ Monthly: Still only issue #0 (Mar 4).
- tobbee/moq-llm-wiki issues: None open.
Pages updated: discussions/discussions-2026-04.md, discussions/interim-meetings.md, drafts/moq-transport.md, implementations/moq-dev.md, interop/interop-runner.md
Key findings:
Luke Curley returns to moq-transport spec PRs in force — After being mostly absent from the moq-wg/moq-transport thread (concentrating on his own moq-dev / moq-lite codebase), Luke posted three substantive comments in 52 minutes on Apr 24 evening UTC, weighing in on three of the four headline Apr 27 interim agenda items. The pattern is striking: Luke (1) +1’d Martin’s RRID DoS concern (#1603), aligning with the structural-fix camp behind PR #1604 over Alan’s flow-control camp behind PR #1613; (2) provided the strongest deployment-rooted defense yet for PR #1607 (Largest Available Group filter), with concrete Twitch TTV math (333 ms median startup-time savings) and the catalog-track use case that requires it; and (3) opened a new design problem with JOINING FETCH and subscriber priorities, showing TTV=1.33s for JOINING FETCH vs TTV=0.5s for a hypothetical SUBSCRIBE filter=LargestGroup order=DESC because the SUBSCRIBE can immediately reprioritize to a new group while a JOINING FETCH cannot. Net effect heading into the interim: PR #1607 has its strongest pro-merge advocate yet, PR #1604 vs #1613 leans toward #1604, and the JOINING-FETCH-vs-LargestGroup-SUBSCRIBE ergonomic comparison just got a lot sharper.
PR #1610 was actually merged Apr 23, not still open as the Apr 24 log claimed — A factual correction to yesterday’s log: the editorial REQUEST_OK textual-aliases PR was merged at Apr 23 21:03 UTC, ~2 hours after opening, after a one-line LGTM from Ian Swett. This unblocks PR #1611 (Remove PUBLISH_OK message type, make it a REQUEST_OK alias), which had been parked waiting on the rename to land first. Wiki has been corrected — moq-transport’s Recently Merged section now lists #1610 above #1606.
Apr 27 interim slides are posted; Victor Vasiliev will present an RRID alternative — Alan’s mailing-list reply locks in the agenda 60 hours before the meeting and explicitly flags that Victor will ship updated slides on two topics: delivery timeout proposals (PR #1605) and request ID alternatives. The “request ID alternatives” line is the new piece of information — it confirms there will be a third design proposal on the table beyond Martin’s PR #1604 (move Joining FETCH onto SUBSCRIBE stream) and Alan’s PR #1613 (MAX_REQUEST_UPDATES flow control). The interim is now positioned to choose between (a) status quo, (b) #1604, (c) #1613, or (d) Victor’s still-private proposal.
moq-relay subdomain routing lands on the roadmap with a critical auth bug — Luke’s PR #1343 adds the first SaaS-style multi-tenancy primitive in moq-relay: <slug>.<suffix> host pattern is rewritten to <suffix>/<slug>/... before auth runs. CodeRabbit caught a 🔴 Critical issue at PR-open time — the WS and web auth handlers build AuthParams directly without consulting Auth::domains, leaving a slug-isolation bypass on the WebSocket fallback path. Luke has not yet responded; the PR remains open. This is directly relevant to anyone running moq-relay behind a wildcard certificate (notably the cdn.moq.dev hosted relay).
First externally-reported @moq/watch + MSF cross-impl bug — Issue #1346 (kubo6472) is the first externally-reported bug exercising the catalog-format negotiation that Luke landed in PR #1330 (Apr 20). The user pointed <moq-watch> with catalog-format="msf" at the Cloudflare draft-14 endpoint, and hit two errors on the catalog discovery flow: a Cloudflare relay does not support broadcast discovery yet; skipping subscribe_namespace warning followed by an internal SUBSCRIBE error on the catalog track. Confirms the moq-lite ↔ moq-rs catalog-discovery interop gap is now exposed at the user-facing layer in the new browser element.
Interop matrix at new April high; entering the interim at peak strength — 24/67/14 at Apr 25 00:32 UTC is the strongest April reading and the first time since draft-17 publication that the matrix has improved on two consecutive days (22 → 23 → 24). With no new moq-dev/moq merges to main between the Apr 24 and Apr 25 runs (PR #1322 was the most recent landing, and was already counted toward yesterday’s tick), the gain is most likely attributable to ongoing moqtail or moq-rs container rebuilds. The matrix enters the Apr 27 interim at its strongest April reading — a counter-narrative to the otherwise unresolved spec design debate.
2026-04-24 — Hop-based clustering lands on moq-dev; RRID design forks
TL;DR:
- Alan opens PR #1613 (MAX_REQUEST_UPDATES flow control) as second answer to Martin’s RRID DoS escalation; debate now three-way (#1603 + #1604 + #1613). Alan hints fwd=1 precondition on JOINING FETCH may be relaxed (#1612, “I wonder if we should just allow fwd=0”).
- Implementations: moq-dev/moq merges PR #1322 (hop-based clustering, +961/−979) — biggest Claude-Code-authored moq-dev landing to date; breaking change for moq-lite/moq-relay. moqtail PR #168 finalizes draft-16 FETCH-object wire format in author comment (rebase pending). cloudflare/moq-rs, video-dev/moq-js, google/quiche, birneee/quiche_moq quiet.
- Interop: 23/68/14 (+1 after three days flat; matches Apr 15–16 baseline; coincides with hop-clustering merge).
Operation: Update Sources:
- Slack: MCP verified working.
#moqchannel — one new post since the Apr 24 log entry: ian-swett at Apr 23 14:12 UTC asking for internationalization-statement review on moq-transport PR #1588 (“it’s generated by AI based on past IETF docs, so it’d be good to have a review from someone who knows more than Alan and I”). No response yet on the channel.#moq-rs/#moq-js/#libquicrall quiet (channel-join events only). - GitHub moq-wg repos:
- moq-transport:
- PR #1613 opened Apr 23 23:10 UTC by alan-frindell (+30/0, label
Design, references #1063) — Add MAX_REQUEST_UPDATES setup option and TOO_MANY_REQUEST_UPDATES error. Per-stream flow control for REQUEST_UPDATE: newMAX_REQUEST_UPDATESSetup Option, each REQUEST_OK / REQUEST_ERROR response restores one unit of capacity, default 1 if not present. Direct response to Martin Duke’s RRID DoS escalation on #1603. - Issue #1612 reply Apr 23 21:02 UTC by alan-frindell — “Changing the subscription from 1 to 0 after joining fetch has no effect on the FETCH. … I wonder if we should just allow fwd=0.” Hints at relaxing the fwd=1 precondition for Joining FETCH entirely.
- PR #1604 update Apr 23 20:55–20:57 UTC by martin-duke — added text that “killing SUBSCRIBE also kills the FETCH”; the PR description now says “Now fixes #1612 as well”. Branch is
dirtyvsmain. - PR #1613 discussion Apr 23 23:28 UTC – Apr 24 00:42 UTC: Martin initially pushed back (“doesn’t solve the problem at all… sender sends 1,000 REQUEST_UPDATES, skipping a valid ID each time, each is OKed, receiver still has to store 1,000 request IDs”), then after an offline chat posted at 00:42 UTC: “OK, we chatted online and I get it now. Given the number of authorized streams, there’s a cap on the maximum possible request ID assuming the peer isn’t skipping request IDs, which it shouldn’t. So this does finitely bound the non-contiguous request ID table. However, this PR is missing any text that endpoints have to check the request ID against this theoretical maximum. That’s crucial, and a little tricky to write.”
- PRs #1606 / #1608 / #1609 / #1610 / #1611 quiet since Apr 24 log entry; PR #1542 had a rebase push (updated_at 23:23 UTC) but no new review comments.
- PR #1613 opened Apr 23 23:10 UTC by alan-frindell (+30/0, label
- msf, loc, secure-objects, cmsf, catalog-format, privacy-pass: no activity.
- moq-transport:
- Implementation repos:
- moq-dev/moq: PR #1322 MERGED Apr 23 23:26:44 UTC by luke-curley — moq-lite/moq-relay: hop-based clustering (+961/−979, final diff). Four days after opening on the
hops-portbranch. Single commit landed tomainas45db108ab.hops-portbranch deleted. Achore: releasePR #1338 was refreshed by moq-bot at Apr 23 23:42 UTC to pick up version bumps. PR description carries the🤖 Generated with [Claude Code]trailer — the largest Claude Code–authored moq-devmainmerge to date.cargo-semver-checksflags this as a breaking change onmoq-liteandmoq-relay. PR #1345 (Python examples) unchanged. - cloudflare/moq-rs: No new activity. PR #165 (Semgrep CI) still open, no reviews. PR #157 (Pub/Sub Namespace) still quiet since Apr 21.
- google/quiche (moqt): No new moqt-specific commits.
- moqtail/moqtail: PR #168 status comment by @beyzademirr at Apr 23 20:01 UTC formalising the final draft-16 FETCH-object wire format: Serialization Flags varint with subgroup-mode low-2-bits + object_id / group_id / priority / extensions / datagram flags + End-of-Range markers at 0x8C / 0x10C. FETCH objects no longer carry Object Status; zero-length payload = zero-length Normal object. Sum-type API (
enum FetchObject { Object, EndOfRange }in Rust; TS class + factories).FetchObjectContextthreaded through serialize/deserialize likeprevious_object_idon subgroups. Client-js / meet / Rust client apps stay source-compatible. +1094/−443 on the overall PR. - video-dev/moq-js, birneee/quiche_moq: Quiet.
- moq-dev/moq: PR #1322 MERGED Apr 23 23:26:44 UTC by luke-curley — moq-lite/moq-relay: hop-based clustering (+961/−979, final diff). Four days after opening on the
- Mailing list: Still no new posts since martin-duke’s Apr 22 19:41 PDT “Monday’s agenda is ready” — two calendar days of silence ahead of the Apr 27 interim.
- IETF Datatracker: No new WG or individual draft versions since moq-lite-04 (Apr 9).
- Interop runner: Apr 24 00:35 UTC run = 23 / 68 / 14 — finally up one pass after three days flat at 22/69/14 (Apr 21–23). Matches the Apr 15–16 baseline. The summary report doesn’t expose pair-level diffs, but the timing (~1 hour after the hop-clustering merge) is consistent with moq-dev-rs / moq-dev-js docker rebuilds picking up the new cluster plane.
- MoQ Monthly: Still only issue #0 (Mar 4).
- tobbee/moq-llm-wiki issues: No open issues (3 closed: #1 OpenMOQ, #2 broken interop links, #3 factual corrections).
Pages updated: discussions/discussions-2026-04.md, drafts/moq-transport.md, implementations/moq-dev.md, implementations/moqtail.md, interop/interop-runner.md
Key findings:
moq-dev’s biggest main-branch landing in weeks — PR #1322 had been on the hops-port branch since Apr 19 and is a structural rework of moq-relay’s cluster plane: the three-tier primary / secondary / combined model and the cluster: bool token flag are gone, replaced by a single OriginProducer per relay tagged with an OriginId and hop chains attached to every Broadcast. Lite04 Announce changes from Vec<u64> to Vec<OriginId>; MAX_HOPS tightened from 256 to 32; the CLI contracts from three cluster flags to one. Claims::cluster is now #[deprecated] — existing signed tokens still parse but the flag stops affecting routing. The PR description explicitly marks the local smoke test and browser-publisher interop checks as unchecked on the test plan — the design is wire-compatible, but the new JS originId plumbing ships un-smoke-tested. Claude Code authored this PR (the 🤖 Generated with [Claude Code] trailer at the bottom) — Luke has quietly been shipping more Claude-authored moq-dev PRs, this is the biggest one so far.
RRID DoS resolution is now a two-path fork — Before today, Martin Duke’s Apr 23 DoS escalation on #1603 had one structural answer: PR #1604 (move Joining FETCH onto the SUBSCRIBE stream so RRID stops multiplying). Alan’s PR #1613 opens a second path: keep RRID, add per-stream flow control via a MAX_REQUEST_UPDATES setup option. Martin’s Apr 24 00:42 UTC comment lands at an interesting middle: he accepts the bound argument (authorized-streams × max-per-stream caps the non-contiguous request-ID table) but flags the missing enforcement text (“endpoints have to check the request ID against this theoretical maximum. That’s crucial, and a little tricky to write.”). The Apr 27 interim now has #1603 + PR #1604 + PR #1613 as a three-way design debate instead of a binary one.
Joining FETCH fwd=1 precondition may be on the way out — Alan’s casual aside on #1612 (“I wonder if we should just allow fwd=0”) is the first suggestion from an editor that the fwd=1-only constraint on Joining FETCH might be relaxed. Paired with Martin’s update on PR #1604 clarifying the SUBSCRIBE-kills-FETCH semantics, the precondition and the forward-state-mismatch error path (addressed by PR #1609) are both being rethought together. Expect this to surface in the Apr 27 interim under agenda item 3 (#1604 / #1602).
Interop matrix finally up-ticks, coincides with hop-clustering — Three days flat at 22/69/14 broke at the Apr 24 00:35 UTC run (23/68/14), about an hour after the hop-clustering merge. Summary report doesn’t expose the pair-level diff, so the causal link is circumstantial — but the timing lines up with a moq-dev-rs / moq-dev-js docker rebuild. The 23/68/14 is now the three-way tie with the Apr 15–16 peak; beating it will require either PR #157 (moq-rs Pub/Sub Namespace) landing, PR #168 (moqtail draft-16 FETCH) landing, or one of the Apr 27 interim decisions translating to wire.
moqtail FETCH wire format: canonicalized in a PR comment — @beyzademirr’s Apr 23 20:01 UTC comment on PR #168 is effectively the author-side finalization of draft-16 §10.4.4’s FETCH Object encoding: the Serialization Flags varint at the head, the low-2-bits subgroup-mode encoding (zero / prior / prior+1 / explicit), the two End-of-Range sentinels (0x8C and 0x10C), dropping Object Status from FETCH, and the sum-type Rust enum / TS class API. It’s now on the record in a form that other implementations can cross-check against. PR still needs the rebase push to land.
Slack is quiet, mailing list is quiet, datatracker is quiet, MoQ Monthly is still at issue #0 — Three days of mailing-list silence before an Apr 27 interim is unusual but not unprecedented; the agenda is set and the editors have moved their design debate into GitHub threads. Slack had one substantive post (Ian Swett’s i18n review ask); no one has replied.
2026-04-23 (evening) — moq-transport editor wave ahead of Apr 27 interim
TL;DR:
- Largest single-day moq-transport activity since draft-17: PR #1606 merged (stream reset codes, fixes #1581, first post-draft-17 merge); PRs #1608, #1609, #1610, #1611 all opened by Alan/Ian.
- Martin Duke escalates #1603 with a DoS argument — RRID multiplies via REQUEST_UPDATE; proposes eliminating RRID and moving Joining FETCH to the SUBSCRIBE stream (per PR #1604). Suhas marks CHANGES_REQUESTED on PR #1607 — first hard blocker since the PR opened.
- Implementations: cloudflare/moq-rs PR #165 (+30/0, Semgrep CI scanning) opened by Cloudflare App&ProdSec; moq-dev/moq PR #1345 (+108/0, Python clock + announced examples) opened by Luke. moqtail PR #168 has rebase commits but no substantive changes; video-dev/moq-js, google/quiche, birneee/quiche_moq quiet.
- Interop: 22/69/14 — flat (no new run for Apr 24 yet at check time; last run Apr 23 00:35 UTC).
Operation: Update Sources:
- Slack: No MCP access this session — skipped.
- GitHub moq-wg repos:
- moq-transport: Heavy Apr 23 UTC burst — largest single-day moq-transport day since the draft-17 publication:
- PR #1606 MERGED Apr 23 18:32 UTC by alan-frindell (fixes #1581) — Generalize stream reset codes to all request streams, add new codes, align with PUBLISH_DONE. First merge to
mainsince draft-17 published. - PR #1608 opened Apr 23 17:01 UTC by ian-swett (authored by Jules AI, +9/−10) — Make Subgroup ID identical to first Object Id in the Subgroup. Fixes #1405, closes #1593. First review comment from alan-frindell (18:31 UTC) flags the datagram + SG=0 case.
- PR #1609 opened Apr 23 18:41 UTC by alan-frindell (fixes #1601, +3/−2) — Joining Fetch forward state mismatch is a request error. Downgrades session-fatal mismatch caused by REQUEST_UPDATE fwd=1 / joining-FETCH cross-stream race.
- PR #1610 opened Apr 23 18:51 UTC by alan-frindell (+22/−17) — Define textual aliases for REQUEST_OK by request type. Editorial:
REQUEST_UPDATE_OK,TRACK_STATUS_OK,SUBSCRIBE_NAMESPACE_OK,PUBLISH_NAMESPACE_OK. - PR #1611 opened Apr 23 18:56 UTC by alan-frindell (fixes #1598, +11/−30) — Remove PUBLISH_OK message type, make it a REQUEST_OK alias. Wire format change: removes PUBLISH_OK code point. Author note: retarget main after #1610 lands.
- Issue #1612 opened Apr 23 20:25 UTC by martin-duke — “What happens to Joining FETCH if fwd changes to 0?“. Asks for explicit spec text on this race.
- PR #1607 (Largest Available Group filter) — suhas-nandakumar marked CHANGES_REQUESTED Apr 23 15:07 UTC — first hard blocker on the PR since it opened.
- PR #1605 (DELIVERY_TIMEOUT split) — alan-frindell left three Apr 23 18:02 UTC suggestions: explicitly permit retransmission cancellation after delivery timeout; evaluate delivery timeout “as late as possible” after internal queuing (both datagram and subgroup paths).
- PR #1586 (delta-encoded Object/Group ID in FETCH) — Apr 23 review by alan-frindell (ambiguity for mid-group FETCH starts) + ian-swett suggestion on Group-ID-Delta-present semantics.
- Issue #1603 (required-request-id use case) — martin-duke escalated Apr 23 18:54 UTC with a DoS concern: request IDs multiply via REQUEST_UPDATE even within one stream, so a malicious client can inflate state. Concrete proposal: eliminate RRID + Request ID in REQUEST_UPDATE; move Joining FETCH to the SUBSCRIBE stream (per PR #1604); use SWITCH or accept REQUEST_ERROR for ordering. “I have all these aesthetic concerns, but I do want to highlight that there is a DoS vector in here that IMO we must address.”
- Issue #1578 (Bikeshed:
Largest Object→Next Object) — ian-swett Apr 23 12:56 UTC: agrees with the rename. - Issue #1534 (REDIRECT) — Apr 23 editor call decision: remove REDIRECT message from PR, overload GOAWAY on bidi stream for the same purpose.
- Issue #1476 (DELIVERY_TIMEOUT extension scope) — alan-frindell: “Victor asks if it’s ok to go from zero to non-zero.”
- PR #1606 MERGED Apr 23 18:32 UTC by alan-frindell (fixes #1581) — Generalize stream reset codes to all request streams, add new codes, align with PUBLISH_DONE. First merge to
- msf, loc, secure-objects, cmsf, catalog-format, privacy-pass: no activity.
- moq-transport: Heavy Apr 23 UTC burst — largest single-day moq-transport day since the draft-17 publication:
- Implementation repos:
- cloudflare/moq-rs: PR #165 opened Apr 23 20:47 UTC by @hrushikeshdeshpande (Cloudflare App&ProdSec) — ci: add Semgrep OSS scanning workflow. Part of Cloudflare’s migration from Semgrep Pro to Semgrep CE. +30/0. PR #157 (Pub/Sub Namespace) quiet since Apr 21.
- moq-dev/moq: PR #1345 opened Apr 23 20:39 UTC by luke-curley (+108/0) — py/moq-lite: add clock + announced examples. Python twin of
rs/moq-clock(publish/subscribesubcommands) plus a CLI listing broadcasts announced under a prefix. Fifth PR in the Apr 22–23 burst. - google/quiche (moqt): No new moqt-specific commits — Apr 22–23 commits are all general QUIC refactors (
PendingStreamcleanup) outside the moqt directory. - moqtail/moqtail: PR #168 (draft-16 fetch object) — @ctllmp pushed conflict-resolution commits Apr 23 19:49–19:56 UTC and merged
draft-16back into the feature branch. Rebase work ahead of a push to land; no new substantive changes. PR #169 (message-parameters fix) remains open. - video-dev/moq-js: Quiet.
- birneee/quiche_moq: Quiet.
- Mailing list: No new posts since Martin Duke’s Apr 22 19:41 PDT “Monday’s agenda is ready” notice.
- IETF Datatracker: No new WG or individual draft versions since moq-lite-04 (Apr 9).
- Interop runner: No new run for Apr 24 at time of check — last run Apr 23 00:35 UTC = 22/69/14.
- MoQ Monthly: Still only issue #0 (Mar 4).
- tobbee/moq-llm-wiki issues: No open issues.
Pages updated: discussions/discussions-2026-04.md, drafts/moq-transport.md, implementations/moq-dev.md, implementations/moq-rs.md, implementations/moqtail.md, interop/interop-runner.md
Key findings:
moq-transport editor push ahead of Apr 27 interim — Apr 23 was the largest single-day moq-transport activity day since draft-17 published. The shape of the Apr 27 editor session is now clear: six PRs (#1605, #1607, #1608, #1609, #1610, #1611) and one heavyweight design issue (#1603 required-request-id). PR #1606 landing as the first post-draft-17 merge signals the editors are comfortable landing uncontroversial cleanup while the big design calls wait for the interim. Three Apr 23 PRs (#1609, #1610, #1611) all come from Alan Frindell in the same 15-minute window — a cleanup sweep of REQUEST_OK naming, PUBLISH_OK wire-format removal, and the Joining-FETCH session-error downgrade. PR #1608 is essentially Ian Swett’s inline suggestion from PR #1607 promoted to its own PR, retiring the long-running #1405 Subgroup-ID ambiguity and closing #1593. Suhas’s CHANGES_REQUESTED on PR #1607 is notable because it’s the first formal block on the Largest-Available-Group filter since Vasiliev opened it — until now the review energy had been mostly Luke’s partial-cache pushback and Ian’s Subgroup-ID clarification.
Martin Duke’s RRID DoS escalation (Issue #1603) — Issue #1603 has been lingering since Apr 10. Apr 23 it sharpened into a security argument: request IDs can multiply within a single stream via REQUEST_UPDATE, so the QUIC max-bidi-stream bound (Alan’s mitigation) doesn’t actually cap receiver state. Martin’s concrete proposal is now on the record: eliminate RRID except where dependencies are real (REQUEST_UPDATE, FETCH); move Joining FETCH onto the SUBSCRIBE stream; use SWITCH or accept REQUEST_ERROR for ordering. This is likely to be the spiciest item on the Apr 27 agenda.
Editor call results bleed through in issue threads — Comments like “Discussed in author/editor call” (PR #1534) and “Victor asks…” (Issue #1476) suggest an Apr 23 editor call happened in US hours before the PR burst. The call’s two visible outcomes: REDIRECT moves onto GOAWAY rather than getting its own message; DELIVERY_TIMEOUT zero→non-zero transitions are still an open question.
Semgrep CI scanning appears on moq-rs (PR #165) — Not MoQ-specific content, but a signal that Cloudflare’s App&ProdSec team is including cloudflare/moq-rs in their migration to Semgrep CE. The repo hadn’t had third-party security-tooling contributions before. No new push from Suhas on PR #157 this cycle.
moq-dev’s Python surface widens (PR #1345) — Luke’s Apr 23 PR adds clock.py and announced.py as py/moq-lite examples. Combined with Lullabee’s Apr 16 PR #1318 (raw track Python FFI), the Python binding is approaching functional parity with the Rust examples. This is the fifth consecutive PR in Luke’s Apr 22–23 push; a pattern of stabilizing main ahead of closing #1322 (hop-clustering) and promoting the MSF-vs-Hang catalog negotiation work.
Interop matrix still idle — Three straight days at 22/69/14 (Apr 21 recovered 18→20→22, then two flat days). Nothing landed Apr 23 that would touch the wire — moq-rs PR #157 is still open; moqtail PR #168 is still rebasing; all the moq-transport action was spec-level PRs. Expect movement once PR #157 merges, PR 169 lands, or the Apr 27 interim unblocks any of the DELIVERY_TIMEOUT / REDIRECT / Subgroup-ID design items.
2026-04-23 (morning) — MSF InitTracks reverted; Apr 27 interim agenda published
TL;DR:
- MSF PR #154 merges Will Law’s revert of InitTracks (−170 lines); MSF reverts to statically declared inits + AVC3 self-init segments for mid-stream changes. Luke opens MSF #155 “Sequence aligned groups are too restrictive” challenging §4.2 group alignment.
- Ian Swett review wave (~50 min) on three moq-transport PRs ahead of interim: #1606 APPROVED, #1605 first real review, #1607 Subgroup-ID-as-first-Object-ID inline suggestion. Apr 27 interim agenda published (16:30 UTC, “all editor time”).
- Implementations: moq-dev/moq four-PR burst from Luke — PR #1339 merged (+5/−5, JS version bump), PR #1340 opened (+182/−5,
wait_for_broadcast), PR #1341 opened (+748/−1145, media-producer refactor), PR #1343 opened (+226/−37, subdomain routing), PR #1344 merged (+31/0, catalog-format docs). cloudflare/moq-rs, video-dev/moq-js, google/quiche, moqtail (only Issue #177), birneee/quiche_moq quiet. - Interop: 22/69/14 — flat third consecutive day; 1 short of Apr 16 baseline.
Operation: Update Sources:
- Slack: No MCP access this session — skipped.
- GitHub moq-wg repos:
- msf: PR #154 merged Apr 22 17:01 UTC by will-law — Revert “Add support for InitTracks” (−170 lines). After feedback from Victor Vasiliev, luke-curley, and suhas-nandakumar, Will decided the merged InitTracks design did not provide a practical solution for mid-stream parameter changes; MSF will stick with statically declared inits, leveraging AVC3 self-initializing segments (ISO/IEC 14496-15) for mid-stream changes. Follow-up discussion on catalog bloat: Will proposes
initCopyorinherittrack properties; Vasiliev asks if #144 zlib compression could solve it; Luke argues two tracks shouldn’t have identical init data if publisher is demuxing correctly. - msf: Issue #155 opened Apr 22 22:47 UTC by luke-curley — “Sequence aligned groups are too restrictive”. Argues MSF §4.2 currently mandates group alignment across tracks and lists four concrete problems (audio buffering forced to video keyframe boundaries, on-demand encoding of late renditions, mixed GoP sizes across renditions, transcoding non-source renditions). Proposes MSF require shared PTS but loosen group alignment; CMSF can keep alignment for HLS/DASH compat.
- moq-transport: PR #1606 APPROVED by ian-swett on Apr 23 01:20 UTC (stream reset codes generalization). PR #1605 first review by Ian at 01:55–02:10 UTC — overall “looks reasonable but not sure two timeouts are necessary” + 6 line suggestions on MUST/SHOULD/MAY tuning, section rename, WebTransport datagram queue citation. PR #1607 inline comment by Ian at 01:29 UTC — proposes forcing Subgroup ID = Object ID of first Object in a subgroup (cross-linked to issue #1405) to disambiguate subgroup start with “largest Object” / range filters.
- loc, secure-objects, cmsf, catalog-format, privacy-pass: no activity.
- msf: PR #154 merged Apr 22 17:01 UTC by will-law — Revert “Add support for InitTracks” (−170 lines). After feedback from Victor Vasiliev, luke-curley, and suhas-nandakumar, Will decided the merged InitTracks design did not provide a practical solution for mid-stream parameter changes; MSF will stick with statically declared inits, leveraging AVC3 self-initializing segments (ISO/IEC 14496-15) for mid-stream changes. Follow-up discussion on catalog bloat: Will proposes
- Implementation repos:
- moq-dev/moq: Four-PR burst by luke-curley (Apr 22 16:51 UTC – Apr 23 01:12 UTC):
- PR #1339 (merged Apr 22 16:51 UTC, +5/−5) — bump JS patch versions to publish
recvGroup; fixes the broken@moq/lite@0.2.1on NPM that predated the Apr 17recvGroupAPI. - PR #1340 (open, Apr 22 17:16 UTC, +182/−5) —
OriginConsumer::wait_for_broadcast; deprecate consume_broadcast. Synchronousconsume_broadcastis a footgun on freshly-connected origins; moq-gst’s source hit this. - PR #1341 (open, Apr 23 00:01 UTC, +748/−1145) — refactor media producers, simplify fMP4 CMAF passthrough; rename
moq_mux::import→moq_mux::producer, removeFmp4Configpassthrough flag. - PR #1343 (open, Apr 23 00:24 UTC, +226/−37) — relay subdomain-based slug routing;
--auth-domain/MOQ_AUTH_DOMAINmaps<slug>.<suffix>hosts into path-based routing. - PR #1344 (merged Apr 23 01:12 UTC, +31/−0) — catalog-format configuration docs for
@moq/watch. - Issue #1342 (Apr 23 00:08 UTC) — “Raw QUIC doesn’t support paths”: no PATH SETUP param, only WebTransport works with path-based auth today.
- PR #1339 (merged Apr 22 16:51 UTC, +5/−5) — bump JS patch versions to publish
- cloudflare/moq-rs: No activity since Apr 21 PR #157 push.
- google/quiche (moqt): No new moqt commits since Apr 22
10045277(session-parameter API). - moqtail/moqtail: New Issue #177 opened Apr 22 11:08 UTC by @danrossi — Letsencrypt SSL setup docs suggestion. PR #169 (message-parameters fix, +900/−565) still open. Otherwise quiet.
- video-dev/moq-js: Quiet.
- birneee/quiche_moq: Quiet.
- moq-dev/moq: Four-PR burst by luke-curley (Apr 22 16:51 UTC – Apr 23 01:12 UTC):
- Mailing list: One new post — martin-duke Apr 22 19:41 PDT: “Monday’s agenda is ready” → points at datatracker agenda-interim-2026-moq-14 for the Apr 27 16:30 UTC session. “It’s all editor time.”
- IETF Datatracker: No new WG or individual draft versions since moq-lite-04 (Apr 9). New Apr 27 interim agenda published (PR 1602 + Message Parameters discussion).
- Interop runner: Apr 23 00:35 UTC run — 22 / 69 / 14 — flat vs Apr 22 (third day of the same pass count after the Apr 21–22 two-day recovery). 1-test gap to the Apr 16 baseline remains.
- MoQ Monthly: Still only issue #0 (Mar 4).
- tobbee/moq-llm-wiki issues: No open issues.
Pages updated: discussions/discussions-2026-04.md, discussions/interim-meetings.md, drafts/moq-msf.md, drafts/moq-transport.md, implementations/moq-dev.md, interop/interop-runner.md
Key findings:
MSF InitTracks reverted (Apr 22) — Six days of debate on msf#153 resolved decisively: Will Law reverted his own PR #141 rather than land a partial fix. The consensus that formed between Vasiliev’s original “remove initTrack”, Luke’s Apr 21 “I’d rather just use annexb”, and Suhas’s in-band SPS/PPS practice is now encoded as “statically declared inits only; AVC3 self-init segments for mid-stream changes”. The open design question has shifted from how to synchronize dynamic init updates to how to reduce the catalog bloat from repeated initData across renditions — Will’s proposed initCopy/inherit properties vs Vasiliev’s proposed zlib compression (#144). Luke’s stance is that a correctly-built demuxer won’t produce duplicate init data in the first place, so initCopy is mostly a demuxer-passthrough affordance.
Luke’s msf#155 challenges §4.2 group alignment — Opened hours after the #153 revert. The framing (“Sequence aligned groups are too restrictive”) targets a specific piece of MSF-00 §4.2 text (equal-numbered Groups must have overlapping render-duration). Luke’s four arguments target different pipeline shapes: live encoding (audio flush latency tied to video keyframes), on-demand rendition lift-in, mixed GoP-size ladders (fast-join 1s / efficient 4k 4s), and OBS→Twitch transmux where source keyframe cadence is externally controlled. The proposed split — strict PTS alignment, loose group alignment in MSF; strict group alignment only in CMSF for HLS/DASH back-compat — is a substantive design proposal, not a typo-level nit. Expect discussion on the Apr 27 interim or via the #moq channel.
Ian Swett review wave (Apr 23 01:20–02:10 UTC) — Three open moq-transport PRs reviewed in ~50 minutes, ahead of the Apr 27 interim that has all three on the agenda:
- #1606 APPROVED — error-code generalization is straightforward and now ready to merge.
- #1605 — the DELIVERY_TIMEOUT split got its first real review. Ian’s “don’t intuitively understand why two timeouts are necessary” is the key question the editors will likely take up on Monday.
- #1607 — Ian’s “force Subgroup ID = first Object ID” observation is the kind of design simplification that could land as a separate PR bolted onto the Largest-Available-Group filter work. Cross-posted to issue #1405 (which is the long-standing “Single Object Subgroups don’t need a Subgroup ID” item).
moq-dev spec cleanup push (Apr 22–23) — Luke’s four PRs are all small/medium in scope (producer refactor is the largest at +748/−1145) but they read as a push to stabilize main ahead of (a) closing out hop-clustering #1322 and (b) promoting the MSF-vs-Hang catalog negotiation work landed Apr 19–20 (#1330). The wait_for_broadcast API is a direct fix for a footgun reported by moq-gst; the subdomain routing PR gives operators a cleaner customer-isolation story on multi-tenant relays.
Interop flat at 22/69/14 — Three days of the same number. Apr 22–23 didn’t include landed implementation fixes that would touch the matrix (the moq-dev PRs are docs/refactors; moq-rs PR #157 is still open; quiche moqt just got a session-parameter API that doesn’t change wire format). Expect movement again once PR #157 lands or moqtail PR #169 merges.
2026-04-22 — moq-rs datagram rate restored; interop +2 again
TL;DR:
- Luke argues for static-init or annexb on MSF #153 (two comments) — reopens the simplification path alongside Will Law’s
inits[]proposal and Vasiliev’s original remove-initTrackstance. - google/quiche moqt session-parameter API motivation cites partial-object delivery on the relay — ties directly to the partial-cache debate Luke opened on moq-transport PR #1607 on Apr 19.
- Implementations: cloudflare/moq-rs +5 commits on PR #157 (forwarding-path repair; datagram rate restored 1/sec → 50/sec, fixing earlier regression). google/quiche moqt +2 commits (session-parameter API +
moqt_messages.hcleanup). moqtail PR #175 merged (+47/−42, inactivity timeout 1 s → 5 s); new Issue #176 (draft-16 §7.2 scheduling not yet implemented). moq-dev/moq, video-dev/moq-js, birneee/quiche_moq quiet. - Interop: 22/69/14 — second consecutive +2 day (18 → 20 → 22); 1 short of Apr 16 baseline.
Operation: Update Sources:
- Slack: No MCP access this session — skipped.
- GitHub moq-wg repos: Only activity — two comments from luke-curley on msf#153 (Apr 21 16:21/16:26 UTC) reopening the static-init / annexb simplification path for
initTrack. No new issues/PRs on moq-transport, msf (besides the comments), loc, secure-objects, cmsf, catalog-format, privacy-pass. PR #1607 quiet since Apr 20. - Implementation repos:
- cloudflare/moq-rs: suhas-nandakumar pushed five more commits to PR #157 on Apr 21 06:39–08:46 UTC, follow-up to the 03:13–05:30 UTC debug run in yesterday’s log. Fixes on the forwarding path (track_extensions propagation, stream header type mismatch, datagram broadcast-channel queueing, datagram rate restored 1/sec → 50/sec, SUBSCRIBE-flow object encoding).
- google/quiche (moqt): Two Apr 22 commits by martin-duke —
c8ff6dc4(03:59 UTC) moves non-message data structures out ofmoqt_messages.h;10045277(04:16 UTC) letsMoqtClient/MoqtServercontrol session parameters (groundwork for partial-object delivery). - moqtail/moqtail: PR #175 merged Apr 21 06:17 UTC by [zafergurel] — subscription inactivity timeout raised 1s → 5s for congested links (+47/−42). New Issue #176 opened Apr 21 17:42 UTC — “Implement the scheduling algorithm (Draft 16 Section 7.2)” — relay currently does not honor message priorities.
- video-dev/moq-js: PR #70 still open, no new activity since Apr 20 18:55 UTC.
- moq-dev/moq: Quiet Apr 21 (PRs #1322, #1330, #1335, #1338 unchanged; #1330 and #1335 were in fact merged earlier on Apr 20 — status carried forward correctly in tree).
- birneee/quiche_moq: Quiet.
- Mailing list: No new messages since Apr 19 weekly digest.
- IETF Datatracker: No new WG or individual draft versions since moq-lite-04 (Apr 9).
- Interop runner: Apr 22 00:30 UTC run at 22 / 69 / 14 — second consecutive +2 pass (Apr 20 18/73/14 → Apr 21 20/71/14 → Apr 22 22/69/14). Now just 1 short of the Apr 16 baseline.
- MoQ Monthly: Still only issue #0 (Mar 4).
- tobbee/moq-llm-wiki issues: No open issues, none updated since Apr 21.
Pages updated: discussions/discussions-2026-04.md, drafts/moq-msf.md, implementations/moq-rs.md, implementations/moqtail.md, implementations/quiche-moq.md, interop/interop-runner.md, index.md
Key findings:
cloudflare/moq-rs PR #157 — forwarding-path repair (Apr 21 morning UTC) — After the lifecycle fixes in the 03:13–05:30 UTC session, Suhas ran a second batch between 06:39 and 08:46 UTC focused on the relay’s forwarding path:
7f95515— Forwardtrack_extensionsthrough PUBLISH messages so extensions survive relay hops.4e33675— Fix stream header type mismatch when forwarding objects that have no extensions.0112f91— Move datagram forwarding onto a broadcast channel so per-subscriber queues drain correctly.1148fa1— Fix datagram forwarding rate from 1/sec back to 50/sec (a regression in the earlier refactor that had serialized datagram delivery).5c0606d— Fix object encoding in the SUBSCRIBE flow to match the header type.
The 50/sec vs 1/sec restoration is the most visible change — it directly affects interop pairs that exercise datagram-mode delivery.
Luke on msf#153 initTrack — push toward static-only init or annexb (Apr 21) — Two comments. The first (16:21 UTC) accepts Vasiliev’s race framing but proposes a generic in-band fix using MP4 track_id switching: a moof referencing an unknown track_id blocks the player until the matching moov arrives, and the new init can carry both old and new track_id entries briefly for new subscribers. The second (16:26 UTC) is the stronger opinion — he’d rather use annexb and drop dynamic init segments entirely, and is fine reverting initTrack if init data (and codec mime) are made static with inline fallback. This reopens the static-init simplification path alongside Will Law’s inits[] proposal and Vasiliev’s original remove-initTrack stance.
google/quiche session parameters (Apr 22) — Martin Duke’s 10045277 commit adds an API letting applications control MoQT session parameters on both client and server. Commit message specifically cites partial-object delivery on the relay as the motivating use case, which ties directly into the partial-cache debate Luke opened on moq-transport PR #1607 on Apr 19.
moqtail subscription timeout fix (Apr 21) — Zafer Gürel’s PR #175 raises the no-event subscription termination window from 1 second to 5 seconds because congested links were producing spurious terminations. Combined with the new Issue #176 acknowledging the relay doesn’t yet implement draft-16 §7.2 scheduling (subscribe/publish priorities), this is part of the broader robustness push in moqtail’s draft-16 migration.
Interop runner continues to climb — Three daily runs now: 18/73/14 (Apr 20) → 20/71/14 (Apr 21) → 22/69/14 (Apr 22). Two consecutive +2-pass recoveries after four days stuck at the Apr 17 regression floor. Likely drivers: moqtail PR #175’s timeout fix (less spurious termination on congested pair tests) and Suhas’s datagram-rate restoration on moq-rs.
2026-04-21 - Suhas iterates on moq-rs Pub/Sub Namespace PR, moq-js lifecycle fix, interop partial recovery
Operation: Update Sources:
- Slack: No MCP access this session — skipped
- GitHub moq-wg repos: Only activity — Victor Vasiliev’s PR #1607 (Largest Available Group filter) got two typo review comments from Aman Sharma (@sharmafb) on Apr 20 23:14–23:33 UTC (draft text
available/Availablecasing). No new issues/PRs on moq-transport, msf, loc, secure-objects, cmsf, catalog-format. - Implementation repos:
- cloudflare/moq-rs: suhas-nandakumar pushed 9 commits to PR #157 between 03:13 and 05:30 UTC on Apr 21 — lifecycle/cleanup fixes for SUBSCRIBE_NAMESPACE and PUBLISH_NAMESPACE flows (self-exclusion, wait for PUBLISH_OK, stale namespace on reconnect, handle lifetime). PR now at +6270/−2083 across 82 files.
- video-dev/moq-js: New PR #70 by Manish (@itzmanish, Apr 20 18:55 UTC) — “fix: moq-js player lifecycle and browser audio playback” (+9542/−6440). Substantive playback rework; bulk of diff is deletion of legacy
web/blog site. - moq-dev/moq, google/quiche (moqt), moqtail/moqtail, birneee/quiche_moq: quiet since Apr 20 covered in previous log entry.
- Mailing list: No new messages since Apr 19 weekly digest.
- IETF Datatracker: No new WG or individual draft versions since moq-lite-04 (Apr 9).
- Interop runner: Apr 21 00:33 UTC run at 20 / 71 / 14 — first partial recovery (+2 pass, −2 fail) after four consecutive days flat at the 18/73/14 regression floor since Apr 17. Still 3 short of Apr 16 baseline.
- MoQ Monthly: Still only issue #0 (Mar 4).
- tobbee/moq-llm-wiki issues: All 3 closed, no new issues.
Pages updated: discussions/discussions-2026-04.md, implementations/moq-rs.md, implementations/moq-js.md, interop/interop-runner.md, index.md
Key findings:
cloudflare/moq-rs PR #157 late-night iteration (Apr 21 03:13–05:30 UTC) — Suhas ran a focused debugging session on the SUBSCRIBE_NAMESPACE / PUBLISH_NAMESPACE relay flow that sits on top of Manish’s draft-16 migration branch. Nine commits in ~2 hours:
c8cb923REQUEST_UPDATEwithforward=1when a subscriber arrives for a paused track.12ac6bfPublishNamespacehandle lifetime + stale-track cleanup.54a3557Remove stale namespace entry on publisher reconnect.cd0bdcdKeepPublishNamespacehandles alive inserve_subscribe_namespace.a29815eSendNAMESPACE(notPUBLISH) onSUBSCRIBE_NAMESPACE.43b5665Wait forPUBLISH_OKbefore streaming.4dcaa7aSelf-exclusion onSUBSCRIBE_NAMESPACE(mirrors PR #1596 in the spec).fbefe1dSendPUBLISHfor existing tracks onSUBSCRIBE_NAMESPACE.eddc7bcOnlyPUBLISHfor tracks, notPUBLISH_NAMESPACE.
The PR as a whole bundles: draft-16 migration (subsumes PR #131), a new relay subscriber_registry, preserved subgroup-header forwarding (EndOfGroup fix), a fix for a 1-second freeze on group transitions, and web-transport crate v0.10 with subprotocol negotiation.
video-dev/moq-js PR #70 (Apr 20 18:55 UTC) — First substantive moq-js PR since Ali Begen’s mid-April UI work. The real code changes are concentrated in lib/playback/worker/audio.ts (+137/−9), lib/video-moq/index.ts, lib/playback/worker/{index,timeline,video}.ts, and lib/transport/subscriber.ts. Most of the +9542/−6440 volume is deleting the legacy web/ blog pages (quic-powers, replacing-hls-dash, never-use-datagrams, etc.) and bundling a fresh demo/lib/publish.iife.js (+9066).
Interop runner partial recovery — 20/71/14 is the first movement after four days stuck at 18/73/14. Coincides with continued draft-16 fixes in moqtail and moq-dev plus active iteration on the moq-rs SUBSCRIBE_NAMESPACE flow. Pair-level diff still needed to identify which two tests flipped back to pass.
PR #1607 — typo-only activity: Aman Sharma’s two inline comments are the only moq-wg repo activity in this 24-hour window. No substantive movement on the partial-cache debate Luke opened on Apr 19.
2026-04-20 - moq-dev burst (hop-clustering, MSF catalog), PR #1607 review, quiche cleanup
Operation: Update Sources:
- Slack: No MCP access this session — skipped
- GitHub moq-wg repos: PR #1607 saw its first substantive review on Apr 19 (Luke Curley). No new issues/PRs on moq-transport, msf, loc, secure-objects, cmsf, catalog-format.
- Implementation repos:
- moq-dev/moq very active: PR #1322 (hop-based clustering refactor, open), #1330 (MSF catalog auto-negotiation, open), #1335 (WebSocket fallback tuning, open); merged #1332 (DNS bind), #1331 (fly.toml), #1333 (flake.lock), #1284 (crate READMEs), 1337 (Nix crane downgrade, Apr 20), 1334 (release bumps).
- google/quiche: Apr 20 commit
9843febby martin-duke removingmoqt::SubscribeWindow. - cloudflare/moq-rs, video-dev/moq-js, moqtail/moqtail, birneee/quiche_moq: quiet.
- Mailing list: Apr 19 automated “Weekly github digest” from Repository Activity Summary Bot; Apr 20 quiet.
- IETF Datatracker: No new WG or individual draft versions since moq-lite-04 (Apr 9).
- Interop runner: Apr 20 run still at 18 / 73 / 14 across 105 tests — unchanged since the Apr 17 regression (now three consecutive daily runs at the same numbers).
Pages updated: discussions/discussions-2026-04.md, drafts/moq-transport.md, implementations/moq-dev.md, implementations/quiche-moq.md, interop/interop-runner.md, index.md
Key findings:
moq-dev/moq burst of activity (Apr 19–20) — Luke opened three substantive PRs in rapid succession:
- #1322 (hop-based clustering): Replaces the three-tier
primary/secondary/combinedorigin model and thecluster: booltoken flag with a singleOriginProducerper relay tagged by a stableOriginId. Broadcasts now carryhops: Vec<OriginId>for loop detection and shortest-path routing.MAX_HOPStightened 256 → 32. CLI collapses into--cluster-connectfor full-mesh config.Claims::clusteris now#[deprecated]. Flagged bycargo-semver-checksas a breaking change onmoq-liteandmoq-relay(+857/-900). - #1330 (MSF catalog): Adds a
@moq/msfpackage and race-based Hang/MSF auto-negotiation in<moq-watch>— Hang gets a 100ms head start, thenPromise.any()picks the first successful fetch. Concrete step toward MSF being a first-class catalog format in Luke’s stack. - #1335: WebSocket fallback head start 200 → 500 ms, with a synchronous bail-out when WebTransport has already won.
- Plus merged infra work: DNS-in-bind (#1332), Fly.io docker image (#1331), Nix toolchain alignment (#1336/#1337), crate READMEs (#1284).
PR #1607 has live sub-debate on “partial cache / partial group”:
- luke-curley reviewed Vasiliev’s “Largest Available Group” filter PR on Apr 19 and pushed back: “The MUST is too strong and requiring a full cache is too narrow.” Counter-proposal:
MAY attempt to reconstruct subscription from a partial cache; MUST NOT serve an object until all prior objects in that sub-group have been served. - Convergence on the overall filter shape continues, but partial-cache handling is still being negotiated.
google/quiche: Martin Duke removed moqt::SubscribeWindow (Apr 20) — continues the cleanup of legacy SUBSCRIBE window tracking as draft-17’s PUBLISH/SUBSCRIBE model settles.
Interop runner: Three consecutive daily runs (Apr 18, 19, 20) all at 18/73/14. Pair-level investigation of the Apr 17 regression still pending.
2026-04-19 - Gwendal Simon dissents on REWIND consensus, interop still at 18/73/14
Operation: Update Sources:
- Slack: No MCP access this session — skipped
- GitHub moq-wg repos (moq-transport, msf, loc, secure-objects, cmsf, catalog-format): no new issues or PRs since the Apr 18 update. PR #1607 (Largest Available Group filter) remains the most recent activity.
- Implementation repos: moq-dev/moq had only a release bot PR #1321 (Apr 18); no new commits since Apr 17. cloudflare/moq-rs, video-dev/moq-js, moqtail, google/quiche MoQT, birneee/quiche_moq all quiet in this window.
- Mailing list: One new message — Gwendal Simon’s reply to the REWIND consensus thread (msg, Apr 18) — not covered in the Apr 18 update.
- IETF Datatracker: No new WG or individual draft versions since Apr 9 (moq-lite-04).
- Interop runner: Apr 19 00:32 UTC run still at 18 / 73 / 14 — unchanged since the Apr 17 regression.
- MoQ Monthly: Still only issue #0 (Mar 4).
- tobbee/moq-llm-wiki issues: All 3 closed, no new issues.
Pages updated: concepts/joining-fetch-dissent.md, concepts/switch-abr.md, discussions/discussions-2026-04.md, interop/interop-runner.md, index.md
Key findings:
Gwendal Simon’s dissent on REWIND consensus (Apr 18, mailing list):
- Pushes back on the Alan/Luke/Victor convergence around a narrow LargestGroup/CurrentGroup/CurrentGroupFill filter (documented in the Apr 18 log entry).
- Charter argument: ABR track switching is an explicit MoQ charter deliverable; dismissing it as “innovation for extensions or V2” contradicts the charter.
- Not an edge case: A subscriber is “almost always behind the live edge” during a switch because congestion and intentional buffering both create lag.
- CurrentGroup is insufficient: It covers joining in one group, but ABR switching requires “an arbitrary range of past groups.”
- Real blocker is semantic, not HOL: The V1 constraint he wants the WG to reconsider is that past objects are not allowed in a PUBLISH stream.
- Proposed path: “Joining PUBLISH with live semantics” — already prototyped in PR #1378 (SWITCH).
- This is currently the only documented dissent on the LargestGroup convergence. Consensus call closes May 1, 2026.
Everything else is quiet: this is a settle-down day after the heavy Apr 16–18 activity. moq-wg repos had zero new issues/PRs, implementation repos had only release bots, and no new drafts appeared. Interop runner is still at the Apr 17 regression baseline (18/73/14) with no recovery yet.
2026-04-18 - LargestGroup/CurrentGroup filter convergence (PR #1607)
Operation: Update Sources:
- Slack moq / moq-rs / moq-js / libquicr: nothing new since 2026-04-17 evening update
- GitHub moq-wg repos: PR #1607 (vasilvv, Apr 18) — new Draft/RFC “Largest Available Group filter”; nothing else new
- Mailing list: four new replies in “Consensus call on way forward on REWIND” thread (luke-curley Apr 17 and Apr 18, Victor Vasiliev Apr 18, alan-frindell Apr 18) all coalescing around a LargestGroup / CurrentGroup filter
- Implementation repos: moq-dev/moq merged PR #1327 (Luke, Apr 17 23:48 UTC) — fix TrackConsumer::read_frame respect start_at — and PR #1318 (Lullabee, Apr 17 23:39 UTC) — add JSON data to py_lib
- IETF Datatracker: no new WG or individual draft versions
Pages updated: concepts/joining-fetch-dissent.md, discussions/discussions-2026-04.md, drafts/moq-transport.md, index.md
Key findings:
REWIND consensus thread converging on LargestGroup / CurrentGroup filter (Apr 17–18):
- Luke Curley, Apr 17: argues FETCH is inherently HOL-prone; proposes LargestGroup filter for SUBSCRIBE to cover 99% of the join-live case.
- Luke Curley, Apr 18: “Yeah, I just want to adopt CurrentGroup so we can make some progress.”
- Victor Vasiliev, Apr 18: “Not against the LargestGroup idea.” Turns it into concrete PR #1607 — current group only, always complete group, no relay backfill, “probably really easy to implement.”
- Alan Frindell, Apr 18: does not object; has drafted a parallel “CurrentGroupFill” PR in his own fork.
- Practical direction: drop REWIND for v1; land a narrow SUBSCRIBE filter instead.
moq-transport PR #1607 — Largest Available Group filter (new, vasilvv, Apr 18): Draft/RFC. Sits alongside afrind/moq-transport#15 CurrentGroupFill and Luke’s LargestGroup as three shapes of the same minimal filter direction.
moq-dev/moq late Apr 17: Luke merged PR #1327 fixing TrackConsumer::read_frame to respect start_at. Lullabee merged PR #1318 adding JSON data support to py_lib.
2026-04-17 (evening) - Supplemental: moqlivemock mlmtest, moqxr v0.2.1, Alan’s REWIND reply
Operation: Update Sources:
- Slack moq (via MCP): new messages since morning update (Torbjörn on mlmtest PR #63, Paul Gregoire on moqxr v0.2.1, yuyou on moq-dev-rs v17 build, Torbjörn’s Apr 12 moqlivemock dual-draft update)
- GitHub moq-wg repos: minor churn only — PR #1378 SWITCH got new gwendalsimon review comments Apr 17
- Implementation repos: cloudflare/moq-rs (release v0.7.17 on Apr 13), moq-dev/moq (heavy Apr 16-17 activity), video-dev/moq-js (Ali Begen UI work Apr 13-17), Quicr/libquicr (PUBLISH_OK filter), google/quiche (Apr 14-16 fixes), mondain/moqxr (v0.2.0 Apr 15, v0.2.1 Apr 17)
- Mailing list: Alan Frindell’s Apr 17 reply on REWIND consensus call (backs Option 1)
Pages updated: discussions/discussions-2026-04.md, drafts/moq-transport.md, concepts/joining-fetch-dissent.md, implementations/openmoq.md, interop/interop-runner.md
Key findings:
Alan Frindell on REWIND consensus (Apr 17): Backs Option 1 — no action. Argues FILL_TIMEOUT=0 (PR #1490, merged Apr 14) already removes the HOL-blocking scenarios REWIND was designed to fix. Recommends “stabilise around the core.”
moqlivemock / Eyevinn stack update (Apr 12 + Apr 17): Torbjörn posted a substantial update — dual draft-14/16 auto-negotiation; new namespaces cmsf/clear, cmsf/drm-cbcs, cmsf/ecpp-cbcs; iOS Safari 26.4 via managed source buffers + EME. Interop-runner PR #63 opened Apr 12, updated Apr 17, adds mlmtest component as a runner client.
moqxr v0.2.0 + v0.2.1 releases (Apr 15 + Apr 17, Paul Gregoire / rwl4): Brings moqxr to working draft-16 base. v0.2.0 fixed SUBSCRIBE KVP parser, dropped WebTransport subprotocol for draft-14, unblocked unknown-control-message handling. v0.2.1 is additional draft-16 interop fixes.
2026-04-17 (late) - Supplemental: Luke Curley MoQ Boy demo
Operation: Update Sources:
- Mailing list: “[Moq] MoQ Boy” by Luke Curley (2026-04-17)
- Blog: moq.dev/blog/moq-boy/
Key findings: Game Boy emulator demo streaming via MOQT. Showcases SUBSCRIBE_NAMESPACE as a flow-control + discovery primitive: encoding/emulation pauses when no active SUBSCRIBE for a track; player auto-unsubscribes invisible/muted tracks; bidirectional emulator↔player namespace publishing with per-viewer authorization. Timely given PR #1542 (SUBSCRIBE_NAMESPACE split) and PR #1562 (.session reserved namespace, merged Apr 16).
Pages updated: discussions/discussions-2026-04.md, people/luke-curley.md
2026-04-17 - Wiki update: REWIND consensus call, Session-Level Tracks merged, interop regression
Operation: Update Sources:
- Slack moq: No new messages (Endel joined moq, moq-rs, moq-js on Apr 16 — no substantive posts)
- GitHub: moq-transport — PR #1562 (Session-Level Tracks) + PR #1596 (own-track filter) MERGED Apr 16; new PR #1606 (stream reset codes); PR #1542 (SUBSCRIBE_NAMESPACE split) reworked; PR #1378 SWITCH polish; PR #1604 new Gwendal Simon comment
- GitHub: moq-wg/loc — Issue #10 new Alan Frindell comment (loc-02 also has collisions)
- GitHub: moq-dev/moq — 10+ PRs merged Apr 16–17 (broadcast backup queue, auth refactor, —cert/—key split, moq-boy games, landing page)
- GitHub: moqtail — 2 draft-16 cleanup PRs merged (REQUEST_ERROR unification, publish hack removal); PR #169 open
- GitHub: cloudflare/moq-rs, video-dev/moq-js, birneee/quiche_moq — no new activity
- GitHub: google/quiche — 1 MoQT commit (cancel subgroups on STOP_SENDING)
- Mailing list: 2 new threads (REWIND consensus call + interim-13 minutes) from Magnus Westerlund
- IETF Datatracker: No new WG draft versions; no new individual drafts
- Interop runner: Regression to 18/73/14 (from 23/68/14) in Apr 17 00:32 UTC run
- MoQ Monthly: Still only #0 (March 4). No #1 yet.
- tobbee/moq-llm-wiki: No new issues (all 3 existing closed)
Pages updated: discussions-2026-04.md, moq-transport.md, joining-fetch.md, moq-dev.md, moqtail.md, interop-runner.md, index.md
Key findings:
Spec activity
- PR #1562 MERGED (Apr 16): Session-Level Tracks — reserves
.sessionnamespace tuple[0] for transport-internal tracks. Relays MUST NOT forward; unrecognized tracks MUST be rejected with NOT_SUPPORTED. IANA registry established under Specification Required policy. Useful for extending transport via existing sub/obj machinery (referenced by #1507). - PR #1596 MERGED (Apr 16): Exclude your own tracks from SUBSCRIBE_NAMESPACE (4-line fix for #1585).
- PR #1606 NEW (Apr 16): Alan Frindell generalizes stream reset codes to all request streams. Adds GOING_AWAY (0x4), EXPIRED_AUTH_TOKEN (0x7), SESSION_CLOSED. Renumbers UNKNOWN_OBJECT_STATUS 0x4→0x6. Aligns TOO_FAR_BEHIND at 0x5 and EXPIRED at 0x6 in PUBLISH_DONE. Fixes #1581.
- PR #1542 reworked (Apr 16): Split into SUBSCRIBE_NAMESPACE (0x50, namespace discovery) + SUBSCRIBE_TRACKS (0x51, track subscriptions). Removes SUBSCRIBE_NAMESPACE_OPTIONS and BOTH mode entirely — behavior now determined by message type. Adds TRACK_NAMESPACE_PREFIX (0x34) for REQUEST_UPDATE prefix changes. Fixes #1458.
- PR #1604 (Apr 16): Gwendal Simon explicitly connects #1604 and SWITCH #1378 — same catch-up-on-PUBLISH-bidi pattern; difference is subscriber- vs relay-initiated.
- PR #1378 (Apr 16): Continued prose polish — consistent terminology, trimmed redundant sections, clearer failure flow.
Mailing list
- REWIND consensus call (Apr 16): Magnus Westerlund opened formal three-way vote. Options: (1) no action until MOQT published, (2) adopt as extension, (3) basis for PR to merge. Deadline May 1, 2026. Follows interim-13 decision to keep REWIND as separate experimental extension.
- Interim-13 minutes (Apr 16): Luke Curley + Victor Vasiliev worried REWIND’s cache-dependent unreliability undermines utility; Alan Frindell flagged the “relay cheats by fetching upstream” idea creates substantial implementer complexity. Cullen Jennings vs Will Law on where joining complexity belongs (client library vs relay). Editors will develop FETCH timeout and subgroup filter PRs for immediate HOL relief.
Implementation activity
- moq-dev/moq: Major day — broadcast backup queue (PR #1319, FIFO, avoids reannounces), major moq-relay auth refactor with ~15 new tests using wiremock + axum-server TLS integration test (PR #1311), —identity replaced with —cert/—key (PR #1308), moq-boy game server maintenance (capybara→songbird, fofk→runiestory), Python raw-track support (PR #1318 open). Releases: moq-lite 0.15.14, moq-cli 0.7.18, moq-clock 0.10.16, moq-ffi 0.2.6.
- moqtail: REQUEST_ERROR unification (PR #164), removed draft-14-era fake-SUBSCRIBE hack for PUBLISH (PR #165), message parameters PR #169 open.
- google/quiche: Commit cancels subgroups permanently on STOP_SENDING.
- cloudflare/moq-rs: No new activity since Apr 14.
- video-dev/moq-js: Still quiet since mid-March.
LOC Properties collision
- Alan Frindell comments on loc issue #10: loc-02 still collides with moqt-17 on Properties Type 0x02/0x04. Recommends moving to highest one-byte code points in next LOC revision.
Interop regression
- 18/73/14 (Apr 17) vs 23/68/14 (Apr 16) — 5 tests flipped from pass to fail. Regression coincides with moqtail draft-16 merges and moq-dev broadcast/auth changes. Pair-level investigation needed.
Status watch
- draft-cenzano-moq-media-interop-03 expires in 6 days (April 23) — no renewal
- REWIND consensus call closes May 1, 2026 (14 days)
2026-04-16 - Wiki update: NAB Show MoQ showcase, SWITCH redesign, implementation activity
Operation: Update Sources:
- Slack moq: No new messages (channel quiet since Feb 5). moq-rs and moq-js: only new member joins (Endel).
- GitHub: moq-transport — PR #1378 (SWITCH) major redesign Apr 15-16; PR #1604 new review comments; PR #1562 4th approval
- GitHub: moq-dev/moq — 4 PRs merged + 4 opened Apr 15-16 (browser compat, moq-lite negotiation, TLS config)
- GitHub: moqtail — 5 draft-16 PRs merged Apr 14-15 (unified message registry, SubgroupHeader, REQUEST_OK)
- GitHub: cloudflare/moq-rs — PR #163 qlog alignment work; v0.7.17 released
- GitHub: google/quiche — Joining FETCH fix (largest_object at SUBSCRIBE time) by Martin Duke
- GitHub: msf, loc, secure-objects, cmsf, catalog-format — no activity since Apr 15
- Mailing list: No new threads since April 13
- IETF Datatracker: No new draft versions
- Interop runner: Unchanged at 23/68/14 (105 tests, Apr 16)
- MoQ Monthly: Only #0 published (March 4). No #1 yet.
- tobbee/moq-llm-wiki: No new issues (all 3 existing issues closed)
- Web search: NAB Show 2026 MoQ demos from Wowza, Oracle, Bitmovin, Broadpeak, Synamedia
Pages updated: discussions-2026-04.md, moq-transport.md, switch-abr.md, moq-dev.md, moq-rs.md, moqtail.md, quiche-moq.md, interop-runner.md, index.md
Key findings:
NAB Show 2026 (April 18-22)
Largest public display of MoQ technology to date with multiple live demonstrations:
- Wowza + Cloudflare: CMAF-to-MoQ relay demo (Java/Kwik stack → moq-rs relay) at Cloudflare booth W2300
- Oracle Video @ Edge (OVE): MoQT relay network with partner demos — Ateme (ingest), Broadpeak (packaging), Bitmovin Player Web X (playback)
- Bitmovin Player Web X: Commercial MoQ player using WebTransport + WebCodecs, sub-second latency against Cloudflare’s 330+ city relay network
- Broadpeak: “Half MoQ relay” for HAS/MoQ coexistence at booth W3034
- Synamedia: Quortex PowerVu & MEG with MoQ track-based affiliate distribution
Spec activity
- SWITCH PR #1378 redesigned: Gwendal Simon replaced FETCH+SUBSCRIBE delivery with relay-initiated PUBLISH + inline catch-up (7 commits Apr 15-16)
- Session-Level Tracks PR #1562: 4th approval (Suhas Nandakumar), close to merge
- Joining FETCH PR #1604: Detailed feedback from Gwendal Simon on priority/parameter edge cases
Implementation activity
- moq-dev/moq: Safari/Firefox compatibility fixes (avc3→avc1, AudioDecoder, WebTransport BiDi workaround), moq-lite ALPN fallback, releases moq-cli v0.7.18 + moq-relay v0.10.21
- moqtail: Major draft-16 push — unified message registry (+937/−1398), SubgroupHeader, REQUEST_OK/UPDATE refactoring, datagram compat. v0.9.1 pending.
- cloudflare/moq-rs: qlog alignment with draft-pardue-moq-qlog-moq-events-03 (+346/−242); v0.7.17 released
- quiche-moq: Joining FETCH limited to largest_object at SUBSCRIBE time (prepares for REWIND)
- video-dev/moq-js: No activity since mid-March
Status watch
- draft-cenzano-moq-media-interop-03 expires in 7 days (April 23) — still no renewal
- Interop runner stable at 23/68/14 with 11 implementations
2026-04-15 - Add people pages, fix editor/author roles
Operation: Expansion + Correction
Pages created: ian-swett.md, victor-vasiliev.md, mike-english.md Pages updated: alan-frindell.md, suhas-nandakumar.md, moq-transport.md, index.md, discussions-2026-04.md, discussions-2026-03.md, discussions-2026-02.md, discussions-2026-01.md, open-issues-analysis.md, joining-fetch.md, joining-fetch-dissent.md, quiche-moq.md, moq-rs.md, moq-js.md, interop-runner.md
Key changes:
- Three new people pages: Ian Swett (Google, co-editor of moq-transport), Victor Vasiliev (Google, author of moq-transport, quiche-moq co-developer), Mike English (Cloudflare, maintainer of moq-rs/moq-js, interop runner operator, MoQ Monthly publisher).
- Role corrections: Alan Frindell and Ian Swett are the editors of draft-ietf-moq-transport. Suhas Nandakumar and Victor Vasiliev are authors. Previously the wiki listed Suhas as co-editor. Alan’s page updated to “Co-editor”, Suhas’s page corrected from “Editor” to “Author”.
- moq-transport.md authors section now lists all four authors with wikilinks.
- Wikilinks added across 11 wiki pages: all plain-text mentions of Ian Swett, Victor Vasiliev, and Mike English converted to
[[wikilink]]format. - People section in index.md expanded from 6 to 9 entries.
2026-04-15 - CMSF ContentProtection merged, Shaka Player DRM support
Operation: Update Sources:
- GitHub: moq-wg/cmsf PR #18 (merged Apr 14 by Will Law)
- GitHub: shaka-project/shaka-player PR #9972 (merged Apr 14 by Álvaro Velad Galván)
- User (maintainer) confirmed both merges
Pages updated: moq-cmsf.md, shaka-player.md, moqlivemock.md, discussions-2026-04.md
Key changes:
- CMSF ContentProtection signaling (PR #18): DRM signaling proposal by Torbjörn Einarsson (Eyevinn) merged into the CMSF spec. Defines
contentProtectionswithrefIDs and per-trackcontentProtectionRefIDs. Supports Widevine, PlayReady, FairPlay, and ECCP (ClearKey). Based on DASH/DASH-IF attributes. Key rotation not yet covered. - moqlivemock/warp-player DRM: DRM support implemented by Hugo Björs (Eyevinn). Supports Widevine, PlayReady, FairPlay, and ClearKey/ECCP.
- Shaka Player DRM support (PR #9972): Álvaro Velad Galván (Atème) added CMSF contentProtection support to Shaka Player. This makes Shaka Player the second implementation of CMSF ContentProtection, after moqlivemock/warp-player. Two independent implementations is a significant milestone for the feature.
2026-04-15 - Wiki update: issue #3 corrections, DELIVERY_TIMEOUT PR, interop improvement
Operation: Update + Corrections Sources:
- Slack moq: No new messages (channel quiet since Feb 11)
- GitHub: moq-transport — new PR #1605 (Split DELIVERY_TIMEOUT, Victor Vasiliev, Apr 14)
- GitHub: msf — no new activity since Apr 14; loc — no new activity
- Mailing list: No new threads since Apr 13
- IETF Datatracker: No new draft versions
- Interop runner: Improved to 23 pass / 68 fail / 14 skip (from 21/70/14 on Apr 14)
- tobbee/moq-llm-wiki: Issue #3 filed by Mike English (englishm) — detailed fact-check with corrections
Pages updated: moq-rs.md, moq-js.md, quiche-moq.md (rewritten), moq-transport.md, interop-runner.md, interop-status.md, interop-endpoints.md, discussions-2026-04.md, publish-subscribe.md (via moq-transport.md), martin-duke.md, index.md
Key changes:
Issue #3 corrections (Mike English):
- moq-rs history rewritten: Corrected Mike English’s role — he did not help with the Go→Rust translation (that was Luke Curley). Mike joined mid-2023 as a close collaborator, contributing relay deployments, moq-pub, C FFI exploration, and draft-04 support. Added detailed timeline and key contributors (Manish, Jacob, Scott Godin, Zafer Gurel).
- quiche-moq disambiguation: The wiki incorrectly described quiche-moq as a Rust implementation (birneee/quiche_moq). The interop runner’s “quiche-moq” is actually Google’s QUICHE MoQT — a C++ implementation inside Google’s QUICHE library (part of Chromium), primarily developed by Martin Duke and Victor Vasiliev with ~74+ source files. Rewrote the page entirely. birneee/quiche_moq is a separate Rust project on Cloudflare’s quiche crate, not in the interop runner.
- moq-js Montevideo Tech context: Added history about video-dev/moq-js development coming from the Montevideo Tech Summer Camp 2025, with Mike as technical sponsor and Qualabs community contributors. The 2026 Summer Camp features both Mike and Luke as co-sponsors.
- moqpack label: Changed status from “Active” to “Individual” in index to clarify it’s not a WG document.
- publish-subscribe fix: Corrected “REQUEST” to “REQUEST_OK/REQUEST_ERROR” in the moq-transport Key Concepts list (there is no bare “REQUEST” message in the spec).
- Community resources: Added section to index with MoQ Monthly newsletter (Mike English), Demuxed MoQ Talks playlist, Montevideo Tech Summer Camp, moq.dev Discord, and link to IETF Datatracker for all 24+ individual drafts.
- Individual drafts listing: Added note about notable uncovered individual drafts (rewind, qlog, hang, cdn-provisioning, relay-dos).
New findings:
- Transport PR #1605 (Apr 14): Victor Vasiliev proposes splitting DELIVERY_TIMEOUT into two separate types of timeout.
- Interop runner improvement: 23/68/14 — best result since test count expanded to 105. Two additional tests passing compared to Apr 14.
- draft-cenzano-moq-media-interop-03 expires in 8 days (Apr 23) — still no renewal.
2026-04-14 - Wiki update: GraphQL mailing list thread, MSF authz merge, CARP origin, interop recovery
Operation: Update Sources:
- Slack moq: New messages Apr 13-14 (visa question for London interim, Hugo Björs joined)
- GitHub: msf — PR #118 (authorization flows) merged Apr 13, issue #119 closed
- GitHub: moq-transport — no new issues/PRs since Apr 13; loc — no new activity
- Mailing list: New thread “Using MOQT for graphql subscriptions with draft-17 requires extensions” by Alan Frindell (Apr 13)
- IETF Datatracker: No new WG draft versions; noted draft-law-moq-carp-00 (Nov 2025) as CMSF origin
- Interop runner: Recovery to 21 pass / 70 fail / 14 skip (from 20/71/14 on Apr 13)
- tobbee/moq-llm-wiki: No open issues
Pages updated: discussions-2026-04.md, interop-runner.md, interop-status.md, moq-msf.md, moq-cmsf.md, will-law.md, alan-frindell.md, index.md
Key findings:
- GraphQL subscriptions on MOQT (mailing list, Apr 13): Alan Frindell argues draft-17’s inflexible message parameters are a mistake. Key issues: 4KB track name limit forces query body into namespace/name; custom parameters require negotiation at every hop; 64KB control message size limit may be too small; no HTTP-like header forwarding for auth. Broader question about MOQT suitability for non-media use cases.
- MSF PR #118 merged (Apr 13): Authorization flows documentation added to MSF spec by Suhas Nandakumar.
- CARP → CMSF lineage: draft-law-moq-carp-00 (“CARP - a CMAF compliant implementation of WARP”, Nov 2025) was adopted by the WG and became draft-ietf-moq-cmsf-00 (Dec 2025). Added history to CMSF page.
- Interop runner: Recovered from 20/71 (Apr 13) back to 21/70 (Apr 14). One test flipped back to pass.
- draft-cenzano-moq-media-interop-03 expires in 9 days (Apr 23) — still no renewal.
- Slack activity minimal: Aman Sharma asked about visa invitation for London interim; Hugo Björs joined moq.
2026-04-13 - Wiki update: add moq-lite and NMSF drafts, interop regression, #1405 resolution
Operation: Update Sources:
- GitHub: moq-transport issues/PRs checked — #1405 updated Apr 12 (Ian Swett inclined to close)
- GitHub: msf — no new activity since Apr 10; loc — no new activity since Mar 23
- Mailing list: Only weekly GitHub digest on Apr 12, no new substantive threads
- IETF Datatracker: No new WG draft versions; two individual drafts added to wiki
- Interop runner: Slight regression (21→20 pass, 70→71 fail)
- tobbee/moq-llm-wiki: No open issues
Pages created: wiki/drafts/moq-lite.md, wiki/drafts/moq-nmsf.md Pages updated: index.md, discussions-2026-04.md, interop-runner.md, interop-status.md, moq-transport.md, luke-curley.md, moq-dev.md
Key findings:
- draft-lcurley-moq-lite-04 (Apr 9): Luke Curley’s simplified transport protocol, now at version 04. Removes subgroups, object properties, datagrams, and 30+ message types from moq-transport. Pull-only, stream-based design. Individual submission, not WG-adopted. This is the spec behind moq-dev/moq.
- draft-herz-moq-nmsf-01 (Apr 7): Erik Herz (Vivoh) proposes extending MSF with Neural Video Codec packaging. Dual-track model (hyperprior + latent) for priority-aware delivery. Supports DCVC-RT, SSF, FVC, and other learned codecs. 18 pages, individual submission.
- Issue #1405 (Single Object Subgroup ID): Ian Swett commented Apr 12 that he’s inclined to close with no action after PR #1593 saw no WG interest. Will put before WG to confirm.
- Interop runner: Slight regression from 21 pass / 70 fail to 20 pass / 71 fail (105 tests, 14 skip unchanged). One test flipped from pass to fail.
- Virtual interim 13 happening today (Apr 13) with REWIND slides on agenda.
- draft-cenzano-moq-media-interop-03 expires in 10 days (Apr 23) — still monitoring for renewal.
- Slack moq: No new messages (channel quiet since Feb 11).
2026-04-12 - Add London interim details
Operation: Update Sources: IETF Datatracker (interim-2026-moq-08 through moq-11 session pages)
Pages updated: interim-meetings.md, discussions-2026-04.md
Key changes:
- Added London interim details: County Hall / The Riverside Building, Belvedere Road, London SE1 7PB
- June 11 (moq-08): 2 sessions (hackathon/interop day)
- June 12 (moq-09, moq-10 at 08:30 UTC, moq-11 at 12:30 UTC): 3 working sessions
- Remote participation via Meetecho (details TBD)
- Explained numbering: moq-08 through moq-11 registered on datatracker before the virtual interims
2026-04-12 - Rename Eyevinn MOQ Stack to moqlivemock, major update
Operation: Update + Rename Sources: User (maintainer) provided updated feature list; GitHub repos checked for versions.
File renamed: wiki/implementations/eyevinn-moq.md → wiki/implementations/moqlivemock.md
Pages updated: moqlivemock.md (full rewrite), index.md (renamed + updated draft versions), interop-status.md (renamed + added draft-16), shaka-player.md (updated wikilinks), discussions-2026-01.md (updated wikilink)
Key changes:
- Renamed from “Eyevinn MOQ Stack” to “moqlivemock” (the central component)
- Draft support upgraded from draft-14 only to draft-14 and draft-16 with ALPN negotiation
- Catalog now supports both FETCH and SUBSCRIBE
- Content protection documented with three namespace modes: clear (
cmsf/clear), commercial DRM (cmsf/drm-{scheme}), and ClearKey/ECCP (cmsf/eccp-{scheme}) - All repos at v0.7.0+ (moqtransport v0.7.0, moqlivemock v0.7.0, warp-player v0.7.1)
- All
[[eyevinn-moq]]wikilinks updated to[[moqlivemock]]
2026-04-12 - Add draft-cenzano-moq-media-interop-03
Operation: Ingest Sources:
- HTML: https://afrind.github.io/draft-cenzano-media-interop/draft-cenzano-moq-media-interop.html
- IETF Datatracker: https://datatracker.ietf.org/doc/draft-cenzano-moq-media-interop/
Pages created: wiki/drafts/moq-media-interop.md Pages updated: index.md (added to drafts table), alan-frindell.md (added as co-author), media-packaging.md (added Media Interop section), interop-status.md (added media wire format interop section)
Key findings:
- Individual submission by Jorge Cenzano-Ferret and Alan Frindell (both Meta), currently at version 03
- Defines concrete media wire format over LOC for H.264 video, Opus audio, AAC-LC audio, and UTF-8 text
- Uses MOQT extension headers (0x0A, 0x15, 0x0D, 0x0F, 0x11, 0x13) for media metadata
- Supports mid-stream encoding parameter changes
- Expires 2026-04-23 — needs monitoring for renewal. If not renewed, the draft lapses.
- Not adopted by the MOQ working group (individual submission)
- Documents the wire format used by moxygen and LOC-based media interop
2026-04-12 - Fix moq-rs production draft version, add doc.moq.dev
Operation: Correction + Enhancement Sources:
- Slack moq thread (2026-04-11): Mike English noted moq-rs wiki page incorrectly listed draft-07 as Cloudflare’s current production deployment — it’s actually draft-14
- Slack moq thread (2026-04-11): Luke Curley pointed to doc.moq.dev as documentation for moq-dev/moq
Pages updated:
- moq-rs.md — Fixed draft support: production deployment is draft-14, not draft-07
- moq-dev.md — Added doc.moq.dev as documentation link
2026-04-12 - Wiki update: interop runner expansion, required-request-id debate, rewind-02
Operation: Update Sources:
- Slack moq: No new messages (channel quiet since Feb 11)
- GitHub: moq-transport issues/PRs checked — #1603 has new comments from Ian Swett (Apr 11)
- GitHub: msf, loc — no new activity since Apr 10
- Mailing list: No new threads since last update
- IETF Datatracker: No new WG draft versions; draft-duke-moq-subscribe-rewind-02 published Apr 2
- Interop runner: Test count expanded from 93 to 105; moqx (OpenMOQ relay) added as 11th implementation
- tobbee/moq-llm-wiki: No open issues
Pages updated: interop-status.md, interop-runner.md, discussions-2026-04.md, joining-fetch-dissent.md, martin-duke.md, openmoq.md
Key findings:
- Interop runner expanded to 105 tests (was 93) with 21 pass / 70 fail / 14 skip. The growth is from moqx (OpenMOQ’s moxygen fork) joining the matrix as an 11th relay. moqx shows strong results: 6/6 with moq-dev-js, 5-6/6 with moq-rs-draft-16.
- Ian Swett commented on #1603 (Apr 11): required-request-id was added for “feature parity” with single control stream model but “it was never clear exactly what functionality this provided.” Stream IDs in WebTransport aren’t exposed to applications. He also expressed that Joining FETCH’s dependency on another Request is a design concern.
- draft-duke-moq-subscribe-rewind-02 published Apr 2 — refines the “Rewind” subscription filter for best-effort past group retrieval. Key topic for interim-13 meeting (Apr 13).
- Virtual interim 13 is tomorrow (Apr 13) with REWIND slides on the agenda.
2026-04-11 - Split moq-rs/moq-js into separate implementation pages
Operation: Restructure Sources:
- Slack moq: Mike English’s clarification (2026-04-11) about the relationship between cloudflare/moq-rs, moq-dev/moq, and video-dev/moq-js
- GitHub API: Repo metadata for all four projects
Context: Mike English explained that cloudflare/moq-rs (was englishm/moq-rs) and moq-dev/moq (was kixelated/moq-rs) are “sibling” implementations that both started from Luke Curley’s original codebase but are now independent. Similarly, video-dev/moq-js and the JS in moq-dev/moq are separate codebases. The forks were born when Luke was not going to support the IETF WG specs directly. Luke’s Hang player is a total rewrite, not derived from the old moq-js.
Pages created: wiki/implementations/moq-dev.md (moq-dev/moq — Luke Curley’s Rust+TS monorepo with moq-lite + Hang) Pages updated:
- moq-rs.md — Clarified as Cloudflare’s IETF-aligned fork; added history section; updated maintainer to Mike English
- moq-js.md — Clarified as video-dev’s IETF-aligned JS; added history section
- index.md — Added moq-dev/moq to implementations list and draft support table
- luke-curley.md — Updated references from moq-rs to moq-dev
- interop-endpoints.md — Fixed Luke Curley entry to reference moq-dev
- interop-status.md — Fixed v17 interop to reference moq-dev instead of moq-rs
- interop-runner.md — Updated wikilinks for moq-dev-rs and moq-dev-js entries
- imquic.md — Fixed v17 interop reference to moq-dev
Timeline:
- 2022-06-29: kixelated/moq-rs created (Luke Curley’s original)
- 2023-05-24: kixelated/moq-js created (companion JS library)
- 2024-10-15: englishm/moq-rs and video-dev/moq-js created (IETF-aligned forks)
- 2025-06-20: kixelated/moq-js archived (“Moved to kixelated/moq”)
- Now: kixelated/moq-rs → moq-dev/moq (monorepo), englishm/moq-rs → cloudflare/moq-rs
2026-04-11 - Fix broken interop-runner links (issue #2)
Operation: Maintenance Changes:
- Removed duplicate
wiki/implementations/interop-runner.md(content already covered bywiki/interop/interop-runner.md) - Moved
[[interop-runner]]listing from Implementations to Interop section inwiki/index.md - All
[[interop-runner]]wikilinks now resolve unambiguously
2026-04-11 - Wiki update: new transport issue/PR, MSF initTrack debate
Operation: Update Sources:
- Slack moq: No new messages since Feb 11 (channel quiet)
- Slack moq-rs, moq-js, libquicr: No substantive new activity
- GitHub: moq-transport, msf, loc — checked for new issues/PRs since Apr 10
- Mailing list: No new threads since last update
- IETF Datatracker: No new draft versions (still at transport-17, msf-00, loc-02, etc.)
- Interop runner: Unchanged — 93 tests, 19 pass / 62 fail / 12 skip (draft-16 target)
- tobbee/moq-llm-wiki: No open issues
Pages updated: discussions-2026-04.md, moq-transport.md, joining-fetch-dissent.md, moq-msf.md
Key findings:
- New transport issue #1603 by Martin Duke: questions whether required-request-id is needed for all request types (suggests limiting to REQUEST_UPDATE and FETCH only)
- New transport PR #1604 by Martin Duke: implements #1602 proposal to move Joining FETCH onto SUBSCRIBE/PUBLISH stream; Alan Frindell reviewed noting shared parameter state constraints
- Transport PR #1540 (coalescing REQUEST_UPDATE processing, merged Apr 9) was missed in previous update, now captured
- Transport PR #1562 (Session-Level Tracks reserved namespace) updated Apr 10, now listed as open PR
- MSF PR #118 (authorization flows) updated Apr 10, now listed in MSF page
- MSF issue #153 (initTrack synchronization problem) expanded with Victor Vasiliev’s analysis favoring removal of initTrack feature
2026-04-11 - Add draft-frindell-moq-moqpack-00
Operation: Ingest Sources:
- IETF Datatracker: https://datatracker.ietf.org/doc/draft-frindell-moq-moqpack/
- Full text: draft-frindell-moq-moqpack-00.txt (1792 lines)
Pages created: wiki/drafts/moq-moqpack.md Pages updated: index.md (added to drafts table), alan-frindell.md (added as author)
Key findings:
- New individual submission by Alan Frindell (Meta), published 2026-03-02
- Proposes QPACK-based compression for MOQT control messages to reduce overhead from repeated values (auth tokens, track names)
- Uses flag bit 0x40 on message types to signal compressed format
- Designed for compatibility with existing QPACK libraries
- Not yet adopted by the MOQ working group
2026-04-10 - Wiki update: OpenMOQ repos, MSF PR coverage
Operation: Update Sources:
- Slack moq: Messages through 2026-04-10 (no new activity since last update)
- GitHub: moq-transport, msf, loc — checked for new issues/PRs
- GitHub: tobbee/moq-llm-wiki issue #1 (“Add OpenMOQ”)
- Mailing list: No new threads since last update
- IETF Datatracker: No new draft versions
- Interop runner: Unchanged — 93 tests, 19 pass / 62 fail / 12 skip (draft-16 target)
Pages updated: openmoq.md (added moqx relay context, playa player, moqxr description), moq-msf.md (added merged PR #124)
Key findings:
- Wiki issue #1 requested adding OpenMOQ repos: moqx (server/relay) not yet public — openmoq/moxygen fork serves as buffer repo; red5pro/moq-playa (player) not yet public; mondain/moqxr already listed but description enriched
- MSF had PR #124 (clarify first object in event/media timeline track) merged Apr 9, not previously captured
- No new IETF drafts, mailing list threads, or interop runner changes since last update
2026-04-10 - Wiki update: mailing list, interop runner, discussion enrichment
Operation: Update Sources:
- Slack moq: Messages through 2026-04-10
- GitHub: moq-transport (issues/PRs), msf (issues/PRs), loc (issues/PRs)
- Mailing list: https://mailarchive.ietf.org/arch/browse/moq/ (threads through Apr 10)
- IETF Datatracker: No new draft versions (still at transport-17, msf-00, loc-02, secure-objects-00, privacy-pass-02, cmsf-00)
- Interop runner: 93 tests, 19-22 pass / 59-62 fail / 12 skip (draft-16 target)
Pages created: interop-runner.md Pages updated: discussions-2026-04.md, discussions-2026-03.md, interim-meetings.md, moq-transport.md
Key findings:
- Mailing list had active threads not previously captured: consensus call on draft-17 (Mar 24 → Apr 10), 7-byte varint debate (Mar 19 → Apr 7), MoQ charter and QMUX scope, Presence/Notifications proposal
- 7-byte varint debate resolved with PR #1595 (merged Apr 9)
- Virtual interim 12 (Mar 30) minutes posted, interim 13 (Apr 13) agenda posted with REWIND discussion
- PUBLISH_DONE / subgroup FIN handling question raised by Alan Frindell (Mar 31)
- New varint encoding example bug found and acknowledged (Mar 3)
- Luke Curley published security camera blog post (Mar 10)
- No new draft versions published since last update
2026-04-10 - GitHub issues/PRs analysis, SWITCH status, interim schedule
Operation: Analysis + Ingest Sources:
- GitHub: All open issues across moq-transport (48), msf (49), loc (9), secure-objects (8), privacy-pass (2), cmsf (4)
- GitHub: All open PRs across moq-transport (17), msf (3)
- IETF datatracker API: Interim meeting schedule through June 2026
- AI minutes index: ietfminutes.org
Pages created: switch-abr.md, joining-fetch-dissent.md, open-issues-analysis.md, interim-meetings.md Pages updated: index.md
Key findings:
- 48 open transport issues, 17 open PRs - Joining Fetch and SWITCH are biggest debates
- SWITCH (#1354) has 39 comments, most discussed open issue
- Next interim is April 13 with REWIND slides
- Properties Type collision (#1550) is a cross-draft bug needing coordinated fix
- Request ID validation (#1459) is an implementation blocker labeled BLOCKED
2026-04-10 - Ingest full Slack history (Jan 12 - Apr 10) and interop matrix
Operation: Ingest Sources:
- Slack moq: Complete history from 2026-01-12 through 2026-04-10
- Interop runner matrix: https://englishm.github.io/moq-interop-runner/
Pages created: discussions-2026-01.md, discussions-2026-02.md Pages updated: index.md, interop-status.md (added matrix details), interop-endpoints.md (added quiche-moq, moqtail, akamai, imquic), eyevinn-moq.md (media support details)
Key findings:
- 10 implementations in the interop runner matrix
- Draft-16 published Jan 14, draft-17 published Mar 3
- Boulder interim hackathon (Feb 9-12) drove major interop progress
- Eyevinn moqlivemock announced with HEVC, Opus, AC-3, subtitles (Jan 27)
- Shaka Player v5.0.5 updated to draft-14 support
2026-04-10 - Add draft-14 and Eyevinn implementations
Operation: Ingest Sources:
- Downloaded draft-ietf-moq-transport-14.txt (Sept 2025)
- Eyevinn GitHub repos: moqtransport, moqlivemock, warp-player
Pages created: wiki/implementations/eyevinn-moq.md Pages updated: index.md, interop-status.md
2026-04-10 - Initial Wiki Creation
Operation: Full initial setup Sources ingested:
- IETF drafts: moq-transport-17, moq-msf-00, moq-loc-02, moq-secure-objects-00, moq-privacy-pass-auth-02, moq-cmsf-00
- GitHub activity: moq-wg/moq-transport (issues up to #1602, PRs up to #1599), moq-wg/msf, moq-wg/loc
- Slack moq channel: messages from 2026-03-12 through 2026-04-10
- IETF Datatracker: MOQ WG document listing
Pages created: 30+ pages covering drafts, concepts, people, implementations, discussions, and interop Cross-references: Established between all pages using Obsidian wikilinks