Summary of active discussions in the MOQ ecosystem during August 2026.

Activity (Aug 17 → Aug 18) — A second straight quiet consolidation window. For the second update running there was no moq-wg PR merged, no datatracker document, no new draft, and no Slack #moq traffic — the Jennings discovery I-D (Aug-14) remains the newest MoQ document, transport-19 stands, and the mailing list is unchanged since the Aug-16 weekly GitHub digest. The one WG-thread motion was implementer feedback on the open Top Tracks Filter PR #1830 (Mo Zanaty): Yu You (Nokia) posted an Aug-17 comment asking for clarification “while implementing the Track Filter in our Relay.” The window’s substance was again implementation churn — but at a much lower tempo: moq slowed to just two merges (after a busy ~11-merge Aug-16), led by the breaking moq-nativemoq-tokio crate rename (#2896, +1722/−1662) and a kio poll-native Tasks/FuturesUnordered primitive (#2901, +813/−18); moq-rs opened PR #211 “Restore relay work for draft-18 and port missing session layer” (OPEN Aug-17) — the first sign of the moq-rs relay returning to draft-18; and moqx merged two routine Aug-17 PRs (a gmarzot cache-purge-race test fix #602, a moxygen-sync-bot merge #600). The nightly runner recovered +2 to 133 pass. No new MoQ Monthly (#2, May 31); no open wiki issues.

The Aug 17 → Aug 18 window had no WG-document revision bumps and no new individual drafts: the datatracker shows transport-19 (2026-07-06), loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01, privacy-pass-auth-03 all standing, plus draft-lcurley-moq-lite -05, hang-02/cluster-00/timestamp-01/qmux-websocket-00, draft-wilaw-moq-cmcd-event-timeline -00, draft-liu-moq-feedback -00, draft-altanai-moq-relay-geocode -02, and draft-jennings-moq-discovery -00 (Aug-14, the newest MoQ doc). The IETF list is unchanged since the routine Aug-16 weekly GitHub digest; Slack #moq is silent (newest still Steven Riedl’s Aug-14 aiomoqt post, its thread held at 22 replies, latest Aug-15 13:58, both already logged). IETF-126 minutes remain the single Monday doc at rev -01; the Aug-10-interim minutes doc stands.

No moq-wg merges; Nokia asks about the Top Tracks Filter

The WG side was flat for a second straight window. No moq-transport PR merged — afrind’s PR #1855 “Exclude URI query component from MOQT scope” (the Aug-10 interim action item, Fixes #1835) remains OPEN, and all other draft-20 target PRs (Fill-Fetch #1673, SWITCH_FROM #1674, FORWARD→range-pausing #1825, PUBLISH-sub-params #1834, publisher-priority #1770, Suhas’s #1851–#1853) stay OPEN. The only design-thread motion was on Mo Zanaty’s open Top Tracks Filter PR #1830 (a filter that subscribes a relay to only the top-N most-viewed tracks under a namespace): Yu You (Nokia) posted an Aug-17 implementer-feedback comment“I need some confirmation/clarification while implementing the Track Filter in our Relay” — the second Nokia contribution to move a WG thread this month (after the Aug-3 DATAGRAM-fragmentation discussion). msf (#206 unchanged since Aug-12), loc (#29 since Aug-5), secure-objects, cmsf, catalog-format, and privacy-pass all had no new PRs or issues. The mailing list carried no new message after the Aug-16 weekly digest.

Implementations: moq-dev cools to two merges; moq-rs relay eyes draft-18

  • moq — just two in-window merges (both Luke Curley) after the busy Aug-16 day: the breaking moq-nativemoq-tokio crate rename (#2896, +1722/−1662 — a straight rename of the QUIC-helpers crate, following the Aug-13 endpoint-role connect/listen rename), and a kio Tasks primitive — a poll-native FuturesUnordered (#2901, +813/−18, landed Aug-18 00:07 UTC), extending the in-house kio async runtime. No new release train — moq-relay v0.14.11 (Aug-15) is still Latest. The Aug-13 DVB/MPEG-TS front and the earlier OPEN feature PRs (#2854/#2828/#2830/#2765) stay OPEN.
  • moq-rs — new OPEN PR #211 “Restore relay work for draft-18 and port missing session layer” (updated Aug-17 21:13) — the first motion toward bringing the moq-rs relay (long dormant on draft-14/16 while the client tracked draft-18) back onto draft-18, porting the missing session layer. Still OPEN; moq-relay-ietf v0.7.25 stands. PRs #206–#209 also remain OPEN.
  • moqx — two Aug-17 merges: gmarzot’s test: fix spurious SIGPIPE failure in cache-purge race check (#602) and a routine moxygen-sync-bot merge (#600, moxygen c8cff3a). afrind opened two new OPEN PRs — a metrics: omit_metadata query param (#604) and a build --sync-moxygen-dir helper (#603); the forwarder-registry PRs #573–#590 remain OPEN.
  • Everything else quiet: quiche (moqt, no new commits since Aug-12 d01a24d4), moqtail (relay@0.14.1; no new merges since the Aug-16 ts-18 batch #368), moq-js, moxygen, imquic (#35 OPEN), aiomoqt (v0.10.6; v0.11.0 in-flight, PR #36 OPEN), warp-player, moqlivemock, moqtransport (post-v0.13.0), Moqtopus, and birneee/quiche_moq all had no in-window merges.

Interop runner: +2 pass, back to the band’s middle

The nightly runner’s Aug-17 00:12 UTC cut was 350 / 133 / 206 / 11 (~38.0% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a +2 pass / −2 fail move versus the Aug-16 cut (matrix, skip, and at-target all flat), recovering the Aug-16 −3 slip and returning pass to the middle of the settled band (126–136). Twenty-sixth straight cut on that 350-cell / at-target-220 matrix (13 clients × 16 relays). Still targets draft-18 (interim minutes name draft-22 as the eventual next target). No Aug-18 cut at check time. See interop-runner.

Activity (Aug 16 → Aug 17) — A genuinely quiet consolidation window. For the first time in several updates there was no new datatracker document, no moq-wg PR merged, and no Slack #moq traffic — the Jennings discovery I-D logged Aug-14 remains the newest MoQ document, afrind’s URI-query-scope PR #1855 is still OPEN, and transport-19 stands. The one new mailing-list message was the Aug-16 weekly GitHub digest (Repository Activity Summary Bot) — the recap flagged “due ~Aug-16” the prior day — with no consensus/WGLC/interop-report content. Slack was silent (newest still Steven Riedl’s Aug-14 aiomoqt post; the thread held at 22 replies, latest Aug-15 13:58, already logged). The window’s substance was implementation churn: moq posted a busy Aug-16 (~11 merges) spanning wire encoding (draft-17 message-parameter-by-type #2884), a breaking libmoq config-struct refactor #2880, TCP/Unix listeners without QUIC #2879, and PipeWire NV12 ingest #2871 — but no new release tags (moq-relay v0.14.11 stands); moqtail merged its moqtail-ts ts-18 conformance vector #368. The nightly runner slipped −3 to 131 pass. No new MoQ Monthly (#2, May 31); no open wiki issues.

The Aug 16 → Aug 17 window had no WG-document revision bumps and no new individual drafts: the datatracker shows transport-19 (2026-07-06), loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01, privacy-pass-auth-03 all standing, plus draft-lcurley-moq-lite -05, hang-02/cluster-00/timestamp-01/qmux-websocket-00, draft-wilaw-moq-cmcd-event-timeline -00, draft-liu-moq-feedback -00, draft-altanai-moq-relay-geocode -02, and draft-jennings-moq-discovery -00 (Aug-14, the newest MoQ doc). The IETF list’s one new message is the routine Aug-16 weekly GitHub digest; the Jennings I-D submission is still not reflected in the moq@ietf.org browse index. IETF-126 minutes remain the single Monday doc at rev -01; the Aug-10-interim minutes doc stands.

No moq-wg activity; the weekly digest posts on schedule

The WG side was flat. No moq-transport PR merged in-window — afrind’s PR #1855 “Exclude URI query component from MOQT scope” (the Aug-10 interim action item, Fixes #1835) is still OPEN, and issue #1835 “Is query in URI scoping?” is unchanged since Aug-14. Suhas’s #1851#1853 readability/IANA-naming batch and all other draft-20 target PRs (Fill-Fetch #1673, SWITCH_FROM #1674, FORWARD→range-pausing #1825, PUBLISH-sub-params #1834, publisher-priority #1770, Top Tracks #1830) remain OPEN. msf (#206 unchanged since Aug-12), loc (#29 since Aug-5), secure-objects, cmsf, catalog-format, and privacy-pass all had no new PRs or issues. The only new list item was the Aug-16 weekly GitHub digest — the routine mnot.net-bot recap that the prior day’s log noted was due — carrying no consensus call, WGLC, or interop report.

Implementations: moq-dev breadth, moqtail ts-18 conformance

  • moq — a busy Aug-16 (~11 merges) (all Luke Curley unless noted): encode draft-17 message parameters by type (#2884, +343/−56) — a wire-encoding fix for the draft-17 path moq-dev still speaks; a breaking replace the libmoq client setters with a config struct (#2880, +958/−1428); serve TCP and Unix listeners without QUIC (#2879, +217/−56); validate PipeWire chunk ranges and accept NV12 (#2871, +605/−37); moq-mux: accept refreshed clocks on TS duplicates (#2891, +71/−5); a large main→dev sync (#2883, +4730/−1406); a docs note reserving package bumps for releases (#2889); and four dependabot bumps (#2885#2888). No new release train — moq-relay v0.14.11 (Aug-15) is still Latest. The Aug-13 DVB/MPEG-TS front and the bandwidth-split/CMAF-FFI PRs stay OPEN (#2828/#2830/#2824/#2831/#2854/#2765).
  • moqtail — kerembkmz’s moqtail-ts ts-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). No new relay release; relay@0.14.1 stands.
  • moqx — one routine moxygen-sync-bot merge (#599); afrind’s forwarder-registry PRs #573#590 remain OPEN.
  • Everything else quiet: quiche (moqt, no new commits since Aug-12 d01a24d4), moq-rs (v0.7.25; #204–#209 OPEN), moq-js, moxygen, imquic (#35 OPEN), aiomoqt (v0.10.6; v0.11.0 in-flight, PR #36 OPEN), warp-player, moqlivemock, moqtransport (post-v0.13.0), Moqtopus, and birneee/quiche_moq all had no in-window merges.

Interop runner: −3 pass, back to the band’s low-middle

The nightly runner’s Aug-16 00:12 UTC cut was 350 / 131 / 208 / 11 (~37.4% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a −3 pass / +3 fail move versus the Aug-15 cut (matrix, skip, and at-target all flat), giving back most of the Aug-15 +5 recovery and returning pass to the low-middle of the settled band (126–136). Twenty-fifth straight cut on that 350-cell / at-target-220 matrix (13 clients × 16 relays). Still targets draft-18 (interim minutes name draft-22 as the eventual next target). No Aug-17 cut at check time. See interop-runner.

Activity (Aug 15 → Aug 16) — A quiet window whose one durable artifact is a new individual Internet-Draft: datatracker picked up draft-jennings-moq-discovery-00 “DNS and mDNS Discovery for MOQT” (rev -00, submitted 2026-08-14, 9 pages) by Cullen Fluffy Jennings + Suhas Nandakumar (both Cisco) — the first new MoQ I-D submission since the Aug-3/4 batch, and the first to tackle endpoint discovery (mapping the moqt URI scheme onto SVCB/HTTPS records, SRV as a backup, and DNS-SD over mDNS for local networks). It lands squarely alongside the WG’s live URI-scoping work (the Aug-10 interim’s “query component is out of MoQT scope” call, afrind’s PR #1855, issues #1835/#1839). On Slack, the Aug-14 aiomoqtmoq-dev interop thread added two Aug-15 replies that qualify the prior window’s “0.14.8 fixes the dangling SUBSCRIBE” line — Steven Riedl (Pluto TV) verified 0.14.8 fixes the subscribe-error/404 case (#2673) but the unknown-namespace SUBSCRIBE still hangs silently, and 0.14.8’s stricter NAMESPACE handling (#2667) now makes aiomoqt 0.10.6 session-fatal. No moq-wg PR merged (transport-19 stands; #1855 OPEN); moq cooled to ~5 merges and settled its Aug-15 release-train tags (moq-relay v0.14.11 now Latest). The nightly runner recovered +5 to 134 pass.

The Aug 15 → Aug 16 window had one new datatracker artifact — the Jennings discovery I-D above — and no WG-document revision bumps: the datatracker shows transport-19 (2026-07-06), loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, privacy-pass-auth-03 all standing, plus draft-lcurley-moq-lite -05, hang-02/cluster-00/timestamp-01/qmux-websocket-00, draft-wilaw-moq-cmcd-event-timeline -00, draft-liu-moq-feedback -00, and draft-altanai-moq-relay-geocode -02. The IETF list’s newest message is still Duke’s Aug-14 “8/10 minutes” post; the discovery I-D submission is not yet reflected in the moq@ietf.org browse index. IETF-126 minutes remain the single Monday doc at rev -01; the Aug-10-interim minutes doc stands. No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (+5 pass, see below).

New individual draft: DNS and mDNS discovery for MOQT

The window’s durable headline is draft-jennings-moq-discovery-00 “DNS and mDNS Discovery for MOQT” — a 9-page individual I-D submitted 2026-08-14 by Cullen Fluffy Jennings and Suhas Nandakumar (both Cisco). It specifies how MOQT clients locate a server endpoint, the layer moq-transport leaves out of scope:

  • SVCB / HTTPS records for the moqt URI scheme — a single service-binding lookup yields the endpoint, ports, and supported protocols/ALPN.
  • SRV records as a backup for load-balancing/failover where SVCB/HTTPS is unavailable.
  • DNS-SD over mDNS for zero-config discovery on local networks without a central DNS server.

It is the first endpoint-discovery/bootstrapping draft the wiki has tracked, and the third Jennings/Nandakumar Cisco MoQ individual draft after MOCHA and TEMPO. It is thematically adjacent to the WG’s active URI-scoping work — the interim’s decision that a URI’s query component is out of MoQT scope, afrind’s PR #1855 (OPEN) implementing it, and transport issues #1835 (query-in-URI scoping) / #1839 (URI resolution). Individual draft, not adopted, no list traffic yet — logged as a first-look on a new moq-discovery page. No moq-wg PR merged in-window; transport-19 stands and #1855 is OPEN.

Slack: the aiomoqt↔moq-dev thread qualifies yesterday’s interop win

The prior window’s Aug-14 aiomoqt bug-hunt thread (Steven Riedl / Pluto TV driving aiomoqt against a public moq-dev relay) grew from 20 to 22 replies with two Aug-15 posts that sharpen — rather than overturn — the “moq-dev 0.14.8 fixes the dangling SUBSCRIBE” claim logged the day before:

  • 0.14.8 fixes the subscribe-error case, but not the silent hang. Riedl (Aug-15 03:59 CEST) built moq-dev’s relay from the v0.14.8 tag and ran the interop runner’s subscribe-error case: it fails at his pinned 525d74ef, passes at 0.14.8 (a 404 is delivered) — “the one upstream failure on our conformance row, so we’ll take the bump before registering in September.” But “the unknown-namespace subscribe we originally reported still waits silently at 0.14.8” — a separate behavior from what PR #2673 fixed, and “if that’s intended subscribe-before-publish semantics, no complaint, just confirming.” So the moq-dev 0.14.8 fix is narrower than “the dangling SUBSCRIBE is resolved.”
  • 0.14.8 is now stricter — and that breaks aiomoqt 0.10.6. Riedl also warned Marzot that moq-relay 0.14.8 got stricter (PR #2667: session closed on a malformed NAMESPACE), so aiomoqt 0.10.6’s draft-18 subscribe flow is now session-fatal against ≥0.14.8 relays (session error err=unexpected message), where older relays warned and continued. He recommends testing v0.11.0 against a ≥0.14.8 relay before release — Pluto’s public relay will speak it once they take the bump.
  • The fix stimulated further aiomoqt bugs. Marzot (Aug-15 13:58 CEST): the vi64 fix is “fixed in dev branch already but this stimulated some additional bug finds in filter support. I will validate against your relay endpoint (among others) before the next release.” So aiomoqt v0.11.0 now carries the vi64 decode fix plus filter-support fixes, and will be validated against Pluto’s relay before shipping. The aiomoqt page’s Draft-Support notes were updated for all three points.

Implementations & interop: moq-dev cools, runner rebounds +5

  • moq — a quieter ~5-merge Aug-15/16 day after three consecutive ~13–27-merge days (all Luke Curley unless noted): relay redials reconfigured cluster peers (#2874, +562/−221), a breaking js: default standalone components to enabled (#2872, +279/−42), a chat-workload benchmark harness with JSONL stats + a production-safe host sampler (#2877, +917/−35), compile the OBS plugin in CI and type-check it without obs-deps (#2867, +385/−55), and a main→dev sync (#2852). The Aug-15 release-train tags settled: moq-relay v0.14.11 is now Latest, alongside moq-cli v0.9.11, libmoq v0.5.8, moq-ffi v0.3.11, and obs-moq v0.5.8.
  • moqx — one routine moxygen-sync-bot merge (#597); afrind’s forwarder-registry PRs #573#590 remain OPEN.
  • Everything else quiet: quiche (moqt, no new commits since Aug-12), moqtail (relay@0.14.1; #367 stands, #221 [ci] release OPEN), moq-rs (v0.7.25), moq-js, moxygen, imquic, aiomoqt (v0.10.6; v0.11.0 in-flight), warp-player, moqlivemock, moqtransport (post-v0.13.0), Moqtopus, and birneee/quiche_moq all had no in-window merges. msf / loc / secure-objects / cmsf / catalog-format / privacy-pass all quiet.
  • Interop runner: +5 pass. The nightly runner’s Aug-15 00:12 UTC cut was 350 / 134 / 205 / 11 (~38.3% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a +5 pass / −5 fail move versus the Aug-14 cut (matrix, skip, and at-target all flat), recovering most of the Aug-14 −6 dip and returning pass to the middle of the settled band (126–136). Twenty-fourth straight cut on that 350-cell / at-target-220 matrix (13 clients × 16 relays). Still targets draft-18 (minutes name draft-22 as the eventual next target). No Aug-16 cut at check time. See interop-runner.

Activity (Aug 14 → Aug 15) — A window whose durable headline is the Aug-10 virtual-interim minutes finally posting (datatracker minutes-interim-2026-moq-21-202608101630 rev -00, Aug-14 17:49 UTC; Martin Duke’s “[Moq] 8/10 minutes” list post) after four updates of “still unposted.” The minutes ratify the filter/fetch decisions already visible in the Aug-13 merge batch and, more importantly, set the editorial pipeline to WGLC: draft-20 = a purely-editorial cut just before the editorial meeting, draft-21 = the editorial meeting’s output, draft-22 = the next official interop target — so the runner’s long-standing draft-18 target now has a named successor. The minutes also record a lean toward rejecting PR #1770 (updatable default publisher priority, “error-prone … probably not needed”) and that the URI query component is out of MoQT scope, the latter producing afrind’s action-item PR #1855 “Exclude URI query component from MOQT scope” (Fixes #1835) the same day. On Slack, a full-day Pluto TV ↔ moq-dev/aiomoqt draft-18 interop push closed two bugs same-day — Giovanni Marzot’s aiomoqt vi64 decode bug (fix now targeting aiomoqt v0.11.0 + aiopquic v0.4.0) and a moq-dev dangling-SUBSCRIBE-on-unannounced-namespace hang (Luke Curley: fixed in 0.14.8). No moq-wg PR merged (transport-19 stands, #1855 OPEN); moq had a third straight large day (~13 merged) and moqtail shipped a moqtail-ts conformance batch. The nightly runner slipped −6 to 129 pass, erasing the Aug-12→13 spike.

The Aug 14 → Aug 15 window had no WG-document revision bumps — the datatracker shows transport-19 (2026-07-06), loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01, privacy-pass-auth-03 all standing, plus draft-lcurley-moq-lite -05, hang-02/cluster-00/timestamp-01/qmux-websocket-00, draft-wilaw-moq-cmcd-event-timeline -00, draft-liu-moq-feedback -00, and draft-altanai-moq-relay-geocode -02 — and no new individual drafts (no submissions since Aug-1). The one new datatracker artifact is the Aug-10-interim minutes doc (below). The IETF list’s one new message is Duke’s “8/10 minutes” announcement; the next weekly GitHub digest is not due until ~Aug-16. IETF-126 minutes remain the single Monday doc at rev -01. No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (−6 pass, see below).

The Aug-10 virtual interim: minutes posted, draft-20→22 pipeline set

Monday’s Aug-10 virtual interim (interim-2026-moq-21, 1630–1800 UTC, Meetecho) was logged at the time as discussion-only — no merges toward draft-20. Its written record landed Aug-14: Martin Duke posted “[Moq] 8/10 minutes” to the list and the datatracker doc minutes-interim-2026-moq-21-202608101630 (rev -00) was uploaded 17:49 UTC. Duke chaired; afrind led the transport-issue review and Will Law presented FETCH pacing. The durable outcomes:

  • The draft pipeline to WGLC. “Draft 20 will be cut immediately prior to the editorial meeting and will consist of purely editorial changes … Draft 21 will capture the output of the editorial meeting … Draft 22 will be published as the next official interop target.” This frames the Aug-13 “first draft-20-bound merges” as an editorial cut, and gives the interop runner (still on draft-18) a named future target.
  • Filter/range decisions: Location filters behave unfiltered when a subscriber requests groups before any publication; the Invalid-Range error is removed (out-of-bounds requests clamp to (0,0)); a subscription stays open even if it is entirely in the past; and SUBSCRIBER_PRIORITY changes affect only live subscriptions, not active fill-fetch streams.
  • PR #1770 leaning reject. On Michal Hošna’s PR #1770 (make the default publisher priority an updatable parameter), “the group agreed that this is an error-prone mechanism that probably is not needed” — Duke committed to email the list to solicit wider opinion given the proponents were absent.
  • URI query out of scope. “The group agreed that the query parameter of a URI is not part of the MoQT scope. Alan Frindell will draft text to make this explicit.” afrind opened PR #1855 “Exclude URI query component from MOQT scope” (+10/−5, Fixes #1835) the same day — naming the RFC 3986 components explicitly in the scope-equality rule and stating the query component is not part of the scope.
  • FETCH pacing stays an extension. Will Law’s proposal — a boolean setup option fetch_pacing_supported plus a logarithmic pacing_rate parameter on FETCH requests to smooth the bursty traffic standard congestion control produces — got consensus to continue as an external extension draft (cf. issue #1453).

The interim-meetings page got a new dated note and moq-transport’s draft-20 milestone bullet folded in the pipeline. No moq-wg PR merged in-window; transport-19 stands and #1855 is OPEN.

Slack: a full-day Pluto TV ↔ moq-dev/aiomoqt draft-18 interop push

The prior window’s aiomoqt bug-hunt thread (Steven Riedl / Pluto TV, driving aiomoqt as a library against a public moq-dev relay) grew from 6 to 20 replies across Aug-14 into a day-long draft-18 interop session — Pluto TV runs moq-dev as their GCP “origin” relay:

  • Bug 1 — aiomoqt vi64 decode, closed. Giovanni Marzot confirmed moq-dev’s SUBSCRIBE_OK is spec-correct (Track Properties TIMESCALE=1000, minimal vi64 83 e8) and the parse failure was aiomoqt v0.10.6 decoding that block with RFC-9000 varints; the fix is now bound for aiomoqt v0.11.0 + aiopquic v0.4.0 (both in-flight, with the encode/decode fixes; a shout-out to Christian Huitema on aiopquic). Riedl confirmed the _tolerate_trailing_extensions = True workaround completes the full -18 loop and receives the MSF catalog, same as -16.
  • Bug 2 — moq-dev dangling SUBSCRIBE, fixed same day. Riedl found that at draft-18 a SUBSCRIBE for a namespace nobody has announced never gets a response — no SUBSCRIBE_OK, no SUBSCRIBE_ERROR — it just hangs until the client times out (repro’d on both cdn.moq.pro/anon and Pluto’s own relay), so a subscriber “can’t distinguish ‘no such track’ from ‘slow relay.‘” Luke Curley agreed: “we do need a PUBLISH_NAMESPACE (or NAMESPACE response) before we can route any SUBSCRIBE but obviously it should REQUEST_ERROR instead of hanging” — and reported moq-dev 0.14.8 fixes that issue hours later. This is the operational tail of the same PUBLISH_NAMESPACE routing question Luke has been working on (moq-transport issue #1854 / moq-dev #2748).
  • WebTransport path discovery, resolved by tooling. Riedl couldn’t get a WebTransport session against fb.mvfst.net:9448 or moqx-main.ci.openmoq.org:4433 (404 on /, /moq, /moq-relay). Marzot ran aiomoqt’s relay_probe tool: both want /moq-relay, negotiate draft-14/16/18 (400 on 19), and answer in ~450–520 ms. Riedl now has “session receipts for every public endpoint,” offered Pluto’s relay (34-72-6-160.sslip.io, anonymous subscribe, moqt-14→19) as a moq-dev target for aiomoqt CI, and suggested shipping relay_probe in the next aiomoqt release. afrind’s moqx moq_decode.py was again cited as the neutral wire arbiter.

Implementations: moq-dev’s third big day, moqtail-ts conformance

  • moq — another ~13-merge Aug-14 day (all Luke Curley unless noted): reload custom root CAs without restart (#2863, +855/−113), resolve catalog references like URLs (#2855, +736/−195), fetch and decode a retained media group in bindings (#2827, +669/−28), stop blocking connect on the initial announce set (#2856) with arctic-uno-0144’s serve an IETF subscribe from the live edge (#2862) — together the 0.14.8 dangling-SUBSCRIBE fix — plus honor server version over WebSocket (#2841), signal stalled video renditions (#2865), serialize subscription updates with group pops (#2820), and TS-discontinuity/mux/rtc fixes (#2823/#2840/#2845), landing release trains (moq-cli 0.9.11, libmoq 0.5.8, moq-relay 0.14.10). The Aug-13 DVB/MPEG-TS front stayed OPEN (t0ms EIT/broadcast recipe #2828/#2830/#2824, sreejon optional-track-name #2831), joined by a breaking divide one connection’s bandwidth estimate among its tracks (#2854) and Qizot’s generic-CMAF-muxing FFI (#2765).
  • moqtail — Kerem Bekmez’s moqtail-ts TS-8, TS-9, TS-14, TS-15 conformance batch (#367), continuing the draft-18/19 test-vector work. No new relay release; relay@0.14.1 stands.
  • Everything else quiet: quiche (moqt, no new commits since Aug-12), moqx (no Aug-14 merges; afrind’s forwarder-registry PRs #573#590 OPEN), moq-rs (v0.7.25 stands), moq-js, moxygen, imquic (#35 OPEN), warp-player, moqlivemock, moqtransport (post-v0.13.0), Moqtopus, and birneee/quiche_moq all had no in-window merges. msf / loc / secure-objects / cmsf / catalog-format / privacy-pass all quiet.

Interop runner: −6 pass, back to the band’s middle-low

The nightly runner’s Aug-14 00:24 UTC cut was 350 / 129 / 210 / 11 (~36.9% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a −6 pass / +6 fail move versus the Aug-13 cut (matrix, skip, and at-target all flat), erasing the Aug-12→13 spike and returning pass to the middle-low of the settled band (126–136). Twenty-third straight cut on that matrix, at-target holding 220. Still targets draft-18 — though the newly-posted interim minutes now name draft-22 as the eventual next interop target. No Aug-15 cut at check time. See interop-runner.

Activity (Aug 13 → Aug 14) — A window whose headline is the WG breaking its month-long “nothing lands” streak: the editors merged four moq-transport PRs toward draft-20 on Aug-13Mo Zanaty’s Location-Filter redesign (#1809), afrind’s new PUBLISH_STATE_NOTIFY informative control message (#1820), afrind’s “recommend Secure Objects for confidentiality from relays” security note (#1755, closes #1711), and sharmafb’s “first byte of object” fix for payload-less objects (#1844, closes #1841) — the first draft-20-bound merges since draft-19 shipped July 6, though transport-19 still stands on the datatracker (no -20 uploaded) and the remaining filter/fetch/switch redesign PRs stay OPEN. On Slack, a fresh draft-18 interop bug-hunt closed inside an hour: Steven Riedl (Pluto TV) ran aiomoqt v0.10.6 against moq-dev’s public relay — draft-16 Just Worked end-to-end (MSF catalog received), but draft-18 hit a SUBSCRIBE_OK parse failure, which Giovanni Marzot root-caused as an aiomoqt bug (it decodes Track Properties with RFC-9000 varints instead of LOC vi64, running off the end when a value is ≥ 64, e.g. TIMESCALE=1000); moq-dev’s SUBSCRIBE_OK is spec-correct, and afrind’s moqx moq_decode.py served as the neutral arbiter. moq had another large Aug-13 day (~14 merged), moqtail landed relay object-fanout perf work + a moqtail-ts batch, and moqx merged afrind’s /info and /metrics/track admin PRs. Datatracker no bumps; mailing list, MoQ Monthly, and wiki issues all flat. The nightly runner slipped −1 to 135 pass, giving back one of the prior day’s +9 jump.

The Aug 13 → Aug 14 window (checked ~00:40 CEST Aug-14) had no WG-document revision bumps — the datatracker shows transport-19 (2026-07-06), loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01, privacy-pass-auth-03 all standing, plus draft-lcurley-moq-lite -05, hang-02/cluster-00/timestamp-01/qmux-websocket-00, draft-wilaw-moq-cmcd-event-timeline -00, draft-liu-moq-feedback -00, and draft-altanai-moq-relay-geocode -02 — and no new individual drafts (no submissions since Aug-1). The IETF list’s newest messages are still the five Aug-10 interim-adjacent posts (all logged); the next weekly GitHub digest is not due until ~Aug-16. IETF-126 minutes remain the single Monday doc at rev -01; the Aug-10-interim minutes are still unposted. No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (−1 pass, see below).

WG transport: the first draft-20-bound merge batch lands

After a month in which the log’s refrain was “no moq-wg PR merged, all draft-20 target PRs stay OPEN, transport-19 stands,” the editors landed four moq-transport PRs on Aug-13 (all into the editor’s copy — no -20 revision published yet):

  • #1809 “Location filter changed to match the design of other filters” (Mo Zanaty, +75/−85) — the Location-Filter redesign walked at the Aug-10 interim, aligning it with the shape of the other subscription filters.
  • #1820 “Add PUBLISH_STATE_NOTIFY message” (afrind, +65/−14) — the new strictly-informative control message afrind had floated as PUBLISH_NOTIFY / SUBSCRIPTION_STATE_UPDATE; it lands under the name PUBLISH_STATE_NOTIFY.
  • #1755 “Recommend Secure Objects for confidentiality from relays” (afrind, +8/−9) — a security-considerations note steering deployments toward Secure Objects for relay-opaque confidentiality; closes issue #1711 “Protecting end to end content from relays.”
  • #1844 “Change ‘first byte of object’ for objects that have no payload” (sharmafb, +5/−5) — fixes the OBJECT_DELIVERY_TIMEOUT “first payload byte” definition for payload-less objects; closes issue #1841.

The rest of the draft-20 target set — Fill-Fetch #1673, SWITCH_FROM #1674, FORWARD→range-pausing #1825, PUBLISH-sub-params #1834, Michal Hošna’s publisher-priority #1770, and Suhas’s #1851#1853 clarification batch — remains OPEN, and transport-19 still stands on the datatracker. The moq-transport page’s Recent Highlights got a milestone bullet for the batch. Design discussion also continued on issues #1854 (PUBLISH_NAMESPACE signaling) and #1845 (Yu You’s Prior-Subgroup-ID gap).

Slack: an aiomoqt ↔ moq-dev draft-18 interop bug, root-caused in under an hour

The channel broke its post-Aug-11 quiet with a genuine cross-implementation interop bug-hunt (Steven Riedl / Pluto TV, a new name in #moq, driving aiomoqt as a library):

  • The report. Riedl (Aug-14 00:38 CEST) ran aiomoqt v0.10.6 against Vivoh’s public moq-dev relay (34-72-6-160.sslip.io, anonymous subscribe). draft-16: full success — WebTransport session, SUBSCRIBE_OK, and the MSF catalog object received end-to-end. draft-18: SUBSCRIBE_OK parse failure, transport-independent (same over raw QUIC) — “truncated trailing extensions block (kvp_start=7 tell=8 exts_end=10 parsed_kvps=0).” Session setup and the SUBSCRIBE itself were fine; only moq-dev’s OK response failed to parse.
  • The root cause. Giovanni Marzot (aiomoqt’s author, Vivoh) repro’d and diagnosed within the hour: moq-dev’s SUBSCRIBE_OK is spec-correct (Track Properties TIMESCALE=1000, minimal vi64 83 e8); aiomoqt v0.10.6 decodes that block with RFC-9000 varints instead of vi64 and runs off the end — it works for property values < 64 but breaks at ≥ 64. Fixed on his dev branch, shipping in the next release; workaround until then is MOQTMessage._tolerate_trailing_extensions = True. Riedl confirmed the workaround completes the full -18 loop and receives the MSF catalog, same as -16.
  • A neutral-decoder win. afrind pointed both at moqx’s moq_decode.py as a “neutral 3rd party” to arbitrate the hex — Riedl bookmarked it “for exactly this … it’s going in our October kit.” The aiomoqt page got a note on the -18 varint bug + workaround.

Implementations: moq-dev’s second big day, moqtail relay-fanout perf, moqx admin

  • moq — another ~14-merge Aug-13 day (all Luke Curley unless noted): run multiple import/export stages over one connection (#2809, +860/−118), the breaking moq-native endpoint-role rename to connect/listen (#2750, +3270/−1470), start dialing before the AAAA answer lands (Happy-Eyeballs, #2749, +1305/−356), surface a dropped resume producer instead of stalling readers forever (#2804, +593/−73), arielmol’s catalog container for manually-authored renditions (#2805), decode largest object in subscribe ok (#2837, Glenn444), advertise ALPN so the browser can negotiate a version (#2811), and count advertisements per namespace (#2803, extending the #2748 announce-unasked work), plus TS-cadence/frame-floor/CI fixes. A DVB/MPEG-TS front opened in OPEN PRs — t0ms’s EIT SI-routing test (#2828) and broadcast recipe (#2830), EIT present/following through a TS round-trip (#2824), and sreejon’s optional-track-name binding (#2831).
  • moqtail — Aug-13: relay object-fanout performance optimizations (#366, Zafer Gürel, +983/−100) and Kerem Bekmez’s moqtail-ts ts6b, 16 and 19 batch (#365, +563/−874). No new relay release; relay@0.14.1 stands.
  • moqxafrind’s two admin PRs from the prior window merged Aug-13: start_time/uptime_seconds on /info (#572) and ?limit= on /metrics/track (#561); gmarzot capped asan-build parallelism (#588) and the moxygen-sync bot landed #578.
  • Everything else quiet: quiche (moqt, no new commits since Aug-12), moq-rs (v0.7.25 stands), moq-js, moxygen, imquic (#35 OPEN), warp-player, moqlivemock, moqtransport (post-v0.13.0), Moqtopus, and birneee/quiche_moq all had no in-window merges. msf / loc / secure-objects / cmsf / catalog-format / privacy-pass all quiet (msf #206, loc #30 unchanged since Aug-12).

Interop runner: −1 pass, second-best on the 350-cell matrix

The nightly runner’s Aug-13 00:23 UTC cut was 350 / 135 / 204 / 11 (~38.6% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a −1 pass / +1 fail move versus the Aug-12 cut (matrix, skip, and at-target all flat), giving back one of the +9 that set the 350-cell high the prior day. Pass 135 is the second-best on the 350-cell matrix (behind Aug-12’s 136); twenty-second straight cut on that matrix, at-target holding 220. Still targets draft-18. No Aug-14 cut at check time. See interop-runner.

Activity (Aug 12 → Aug 13) — A GitHub-carried window whose headline is a two-codebase convergence on PUBLISH_NAMESPACE. Luke Curley’s moq #2748 “announce namespaces unasked, with a SETUP opt-out” — the concrete code for his moq-transport issue #1854 extension proposal — MERGED Aug-12 22:14 UTC (+1618/−262, Fixes #2730), closing the loop from wire-design debate to shipped behaviour. Independently and the same day, quiche resumed its stalled moqt wire-migration (first activity since Aug-4): PUBLISH_NAMESPACE moved onto a dedicated bidirectional stream (4b2d81f4) + TRACK_STATUS to its own stream (c57a70d2). Beyond #2748, moq-dev had a large Aug-12 day (~27 merged, ≈+21.6k/−6.4k LOC) centred on ordered-group-delivery correctness (#2766/#2767/#2771/#2772), catalog-rendition advertisement, and moq-hls binding; moqtail carried its relay-hardening sprint into Aug-12 (#361 send SUBSCRIBE to every matching publisher), and moqx merged Michal Hošna’s multiple-AUTHORIZATION_TOKEN support (#552). No moq-wg PR merged (transport-19 stands), but three design threads moved: msf #206 (Will Law event-timeline attribute refactor), loc #30 (Luke Curley: remove VideoConfig/AudioConfig from LOC properties, punt to catalog), and moq-transport #1832 (PUBLISH_DONE/SUBSCRIPTION_ENDED-vs-filter semantics). Datatracker no bumps; mailing list, Slack, and MoQ Monthly flat; no open wiki issues. The nightly runner jumped +9 to a new high of 136 pass.

The Aug 12 → Aug 13 window (checked early Aug-13 UTC) had no WG-document revision bumps — the datatracker shows transport-19, loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01, privacy-pass-auth-03 all standing, plus draft-lcurley-moq-lite -05, hang-02/cluster-00/timestamp-01/qmux-websocket-00, draft-wilaw-moq-cmcd-event-timeline -00, draft-liu-moq-feedback -00, and draft-altanai-moq-relay-geocode -02 — and no new individual drafts. The IETF list’s newest messages are still the five Aug-10 interim-adjacent posts (all logged); the next weekly GitHub digest is not due until ~Aug-16. Slack #moq’s newest top-level message is still Tobbe’s Aug-6 caption post (its Aug-11 reply already logged); no new Aug-12/Aug-13 traffic. IETF-126 minutes remain the single Monday doc at rev -01; the Aug-10-interim minutes are still unposted. No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (+9 pass, see below).

Implementations & spec: the PUBLISH_NAMESPACE loop closes, quiche re-engages the wire

The window’s spine is PUBLISH_NAMESPACE, touched from two independent directions the same day:

  • The code side of #1854 lands. Luke Curley’s moq #2748 “feat(net): announce namespaces unasked, with a SETUP opt-out” — implementing exactly the SETUP-negotiated capability he proposed on moq-transport issue #1854 (if the extension is not negotiated, publishers PUBLISH_NAMESPACE unsolicited; if it is, they wait for interest) — MERGED Aug-12 22:14 UTC (+1618/−262, Fixes #2730). It reverts to announcing unprompted (with the SETUP opt-out to avoid the draft-16-era double-announce), fixing the concrete bug that moq import against moxygen/imquic/moqx/Cloudflare “emits no control messages at all” because no third-party relay sends SUBSCRIBE_NAMESPACE. This is the Aug-11 debate resolved into shipped behaviour.
  • quiche resumes its draft wire-migration. After no moqt-dir activity since Aug-4 (52cc2fef), Google landed four commits Aug-11–12 continuing the “peel control messages onto dedicated bidirectional streams” pattern of its July-17 SUBSCRIBE-to-bidi burst: TRACK_STATUS moved to a separate stream (c57a70d2, Aug-11), a MoqtResponseCallback consistency fix (8a147ac8), PUBLISH_NAMESPACE moved onto a bidi stream (4b2d81f4, Aug-12), and an OSS-build fix (d01a24d4). Google’s change is about stream carriage (a different axis from #1854’s whether/when to send), but both codebases touch PUBLISH_NAMESPACE in the same 48 hours — the quiche-moq Recent Highlights got a bullet for the resumption.
  • moq’s large Aug-12 day (≈27 merged, +21.6k/−6.4k LOC, all Luke Curley unless noted): an ordered-group-delivery correctness clusterserve subscription groups in arrival order (#2772) and the net-side serve subscriptions in arrival order so reordered groups aren’t dropped (#2771), transmit groups in sequence order for ordered subscriptions (#2767), and resolve nextGroup as finished when the track closes above the cap (#2766); catalog-rendition advertisementadvertise the catalog rendition before the first keyframe (#2768) with arielmol’s OPEN manual-rendition catalog container (#2805); moq-hlsbind renditions to the broadcast their catalog came from (#2795) and arielmol’s keep a live-edge subscriber at the live edge across a takeover (#2785); relaygive a peer one key across both discovery paths (#2793) and drop every empty subscription range, not just group 0 (#2791); plus a nix/moq-mux/moq-native/ci sweep (#2790/#2782/#2781/#2780/#2777/#2770/#2769). Notable OPEN: a breaking separate session and stream errors (#2794), solicit announcements lazily, per interested prefix (#2775), count advertisements per namespace (#2803) — the last two extending the namespace-announcement work — plus slide the media timeline over the publisher’s cache (#2787) and a dropped-resume-producer fix (#2804).
  • moqtail carried its Aug-11 relay-hardening sprint into Aug-12 (all Zafer Gürel unless noted): the relay now sends SUBSCRIBE to every matching publisher — both those publishing a track by name and those that announced a namespace it falls under (#361, +255/−164, fixing a lookup that returned only the first match), a FETCH-OK-after-range fix (#363), and a wtransport pin to crates.io 0.7.2 (#360, finalizing the Aug-11 git-rev pin). Kerem Bekmez continued the moqtail-ts draft-18 alignment (feat/ts12-13 #362); dependabot #364 alongside. No new relay release — relay@0.14.1 stands.
  • moqxMichal Hošna’s #552 “auth: support multiple AUTHORIZATION_TOKEN in single message” (+545/−58) MERGED Aug-12 — the code side of transport issue #1838 (semantics of multiple AUTHORIZATION_TOKEN parameters), prep for #530. Still OPEN: afrind’s /info start-time/uptime (#572) and /metrics/track ?limit= (#561), michalhosna’s clang-tidy tooling (#563) and anonymous-claim grants (#553), and gmarzot’s dashboard/docs (#539/#555).
  • Everything else quiet: moq-rs (v0.7.25 stands), moq-js, moxygen (#211/#212 OPEN, no merges), imquic (#35 still OPEN), warp-player (two dependabot PRs #182/#183 OPEN), moqlivemock, moqtransport (post-v0.13.0), Moqtopus, aiomoqt, moq-encoder-player, and birneee/quiche_moq all had no in-window activity.

WG: no merges, three design threads move

No moq-wg PR merged in-window (all the interim’s draft-20 target PRs remain OPEN, transport-19 stands), but three threads advanced:

  • msf PR #206 “Refactor event timeline attributes and requirements” (Will Law, OPEN, +31/−17) — removes the mimeType attribute from identified-objects and scte35 entries, updates name attributes for tracking objects, and clarifies event-timeline track requirements and the updating process. Fixes #76 and #83, continuing Will Law’s MSF Event Timeline design work (cf. his Aug-10 draft-wilaw-moq-cmcd-event-timeline-00).
  • loc issue #30 “When are configs legal?” (Luke Curley, Aug-12) — asks whether VideoConfig is legal as a track property, on object 0, on a sub-group, on any object, or any combination. Luke argues each placement is redundant or nonsensical: a track-level config duplicates the catalog (which already signals the codec out-of-band); per-sub-group configs make no sense with a single decoder; per-keyframe configs “reinvent Annex.B.” His conclusion: “I would remove VideoConfig and AudioConfig, punting them to the catalog.” A concrete simplification proposal for the LOC container.
  • moq-transport issue #1832 “Publish Done should not depend on subscriber location filter” (Mo Zanaty / mzanaty, opened Jul-27) drew Aug-12 discussion: laiDisney (Disney) asked two questions about the pending PR that removes PUBLISH_DONE’s SUBSCRIPTION_ENDED reason — whether a publisher must therefore not close a subscription at filter-end, and whether MOQT allows a publisher to proactively close a subscription for a non-error application reason. afrind replied that a publisher often does know a track is done, but “it seems like we don’t want to proactively close the subscription here to allow the client to send a request_update and change the filter,” and pointed to the existing non-error close codes (Track Ended, Goaway, or an application-defined code).

Interop runner: +9 pass, a new 350-cell high of 136

The nightly runner’s Aug-12 00:22 UTC cut was 350 / 136 / 203 / 11 (~38.9% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a +9 pass / −9 fail move versus the Aug-11 cut (matrix, skip, and at-target all flat), the biggest single-cut swing since Vienna week. Pass 136 is a new high for the 350-cell matrix, edging past the 133 first set July 31 (tied Aug-10); twenty-first straight cut on that matrix, at-target holding 220. The jump plausibly reflects the moqtail relay-hardening and moq-dev delivery-ordering fixes converging, though the at-target set is unchanged. Still targets draft-18. No Aug-13 cut at check time. See interop-runner.

Activity (Aug 11 → Aug 12) — A GitHub-carried, implementation-heavy window whose headline is a same-day loop from wire-design debate to code: Luke Curley’s moq-transport issue #1854 (“to PUBLISH_NAMESPACE or to not PUBLISH_NAMESPACE”) matured through an Aug-11 exchange with afrind into a concrete extension proposal — a peer advertises (via SETUP) whether it requires an explicit SUBSCRIBE_NAMESPACE, else the publisher PUBLISH_NAMESPACEs — and hours later Luke opened moq #2748 “announce namespaces unasked, with a SETUP opt-out” (+1618/−262, Fixes #2730) implementing exactly that. On the implementation side, moqtail had its biggest single relay-hardening dayZafer Gürel landed ~11 relay conformance/correctness fixes (#348#359) while Kerem Bekmez continued the moqtail-ts draft-18 alignment (#355) — moq-dev merged a large net-hardening batch, and afrind landed a local-forwarder-registry refactor on moqx (#541#546). Slack’s only new traffic was Tobbe answering Jordi’s Aug-7 QUIC-mapping / audio-glitch question. No moq-wg PR merged (all draft-20 target PRs stay OPEN, transport-19 stands); datatracker no bumps; mailing list nothing new since Aug-10 (weekly digest not due until ~Aug-16); no new MoQ Monthly; no open wiki issues. The nightly runner slipped −6 to 127 pass.

The Aug 11 → Aug 12 window (checked early Aug-12 UTC) had no WG-document revision bumps — the datatracker shows transport-19, loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01, privacy-pass-auth-03 all standing, plus draft-lcurley-moq-lite -05, hang-02/cluster-00/timestamp-01, draft-wilaw-moq-cmcd-event-timeline -00 (Aug-10), draft-liu-moq-feedback -00, and draft-altanai-moq-relay-geocode -02 — and no new individual drafts. The IETF list’s newest message is still the five Aug-10 interim-adjacent posts (all logged); the next weekly GitHub digest is not due until ~Aug-16. Slack #moq’s newest top-level message is still Tobbe’s Aug-6 caption post, but its thread grew a new Aug-11 reply (below). IETF-126 minutes remain the single Monday doc at rev -01; the Aug-10-interim minutes are still unposted. No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (−6 pass, see below).

WG transport: the PUBLISH_NAMESPACE debate turns into an extension proposal — and code

The Aug-10 interim’s one on-repo artifact, Luke Curley’s issue #1854 “to PUBLISH_NAMESPACE or to not PUBLISH_NAMESPACE”, drew the window’s most substantive WG discussion — and, unusually, produced an implementation the same day:

  • The debate. afrind (Aug-11 01:12 UTC) held the line that “moq-transport is not about how to build the inner workings of a CDN. That is explicitly out of scope. A CDN is a single relay from the perspective of the document.” Luke (Aug-11 19:47) accepted the reframing (swap “CDN” for “relay”) but argued a generic relay still can’t know whether a connecting peer intends to publish or subscribe, so blindly emitting PUBLISH/PUBLISH_NAMESPACE “feels wrong.”
  • The pivot to an extension. Luke then proposed (Aug-11 19:49) a concrete, backward-safe mechanism: “The peer can advertise if it requires an [explicit] SUBSCRIBE_NAMESPACE … far safer than expecting the application to know/configure if the peer will PUBLISH_NAMESPACE.”if the extension is not negotiated, the publisher PUBLISH_NAMESPACEs (unsolicited); if it is, the publisher waits for interest. This turns the Hackathon-era P2P-vs-relay signaling gap into a SETUP-negotiated capability rather than an out-of-band assumption.
  • The code. Hours later Luke opened moq #2748 “feat(net): announce namespaces unasked, with a SETUP opt-out” (OPEN, +1618/−262, Fixes #2730 — t0ms’s matching impl-side bug). The PR text spells out the motivating bug: “On the IETF path we only advertised a namespace in response to a SUBSCRIBE_NAMESPACE. No third-party relay sends one to a publisher, so moq import against moxygen, imquic, moqx, or Cloudflare connects, negotiates a version, and then emits no control messages at all for the life of the process.” The fix reverts to announcing unprompted, with the SETUP opt-out to avoid the draft-16-era double-announce it originally solved.

No moq-wg PR merged in-window; all the interim’s draft-20 target PRs (#1809/#1820/#1673/#1674/#1834/#1825/#1830 + Suhas’s #1851/#1852/#1853 batch) remain OPEN, and transport-19 stands.

Implementations: moqtail’s biggest relay-hardening day, moq-dev net batch, moqx forwarder-registry rework

  • moqtail — a ~11-PR relay conformance/hardening sprint (Aug-11), all Zafer Gürel. With the draft-18 wire aligned, the relay’s runtime correctness got a concentrated pass: build the relay’s own SETUP parameters instead of forwarding them upstream (#359, +307/−100), end a namespace announcement when its request stream ends (#358), deduplicate Objects and raise Forward State for publishers (#356), wait for a track alias on notification (and abandon) (#354), reset a cancelled subscription’s streams (#353), report the true LARGEST_OBJECT downstream (#352), reject a duplicate SUBSCRIBE with DUPLICATE_SUBSCRIPTION (#351), apply forward state and the subscription filter to datagrams (#350), pin the FETCH object layout to the wire in a test (#349), a subscribe-error-after-accept fix (#348), and a wtransport git-rev pin (#357). Alongside, Kerem Bekmez continued the moqtail-ts draft-18 alignment (#355 “feat/ts10-11”, +657/−94, closes 266). Zafer also opened imquic #35 “correct FETCH object parsing of subgroup flags and object status” — cross-pollinating his moqtail FETCH-layout work into Miniero’s C library. No new relay release — relay@0.14.1 stands. See moqtail.
  • moq merged a large Aug-11 net-hardening batch (all Luke Curley unless noted): prioritize moq-lite group streams by send order (#2737, +679/−38, OPEN→MERGED), expose the incoming request path and query to bindings (#2738, +469/−84, shermerL), open send streams with waitUntilAvailable (#2741, +511/−42), restore displaced broadcast publishers (#2740), re-arm the origin takeover gate on every route observation (#2742), account for per-rendition jitter when switching renditions (#2739) + a follow-up moving rendition jitter into the decoder (#2747), and a moq-ffi video-capability py fix (#2744). Still OPEN: the 1854-driven announce-unasked/SETUP-opt-out #2748 (above), Happy-Eyeballs parallel A/AAAA dials (#2749, +1123/−336), a breaking moq-native merge of the client/server split into one endpoint Config (#2750, +2264/−1577), and a takeover-gate refinement (#2746).
  • moqxafrind landed a local-forwarder-registry refactor (five MERGED Aug-11): install the local forwarder chain on subscribe-created tracks (#546, +401/−31), make subscribers wait for an in-flight local forwarder setup (#545, +246/−16), fold registry replacement into installPublisherForwarder (#544), give LocalForwarderRegistry a three-state entry (#542, +647/−67), and name the initial track state a subscriber must observe (#541) — the relay-plumbing counterpart to its subscribe/publish path. Giovanni Marzot’s gtest-discovery build fix (#556) merged; afrind’s /metrics/track ?limit= PR (#561), gmarzot’s dashboard wiring (#539)/docs (#555), and Michal Hošna’s auth-token PRs (#552/#553) stay OPEN.
  • Everything else quiet: moq-rs (v0.7.25 stands), moq-js, quiche (moqt, newest commit Aug-4 52cc2fef), moxygen (#211/#212 OPEN, no merges), warp-player (two dependabot PRs #182/#183 OPEN), moqlivemock, moqtransport (post-v0.13.0), Moqtopus, aiomoqt, moq-encoder-player, and birneee/quiche_moq all had no in-window activity. msf / loc / secure-objects / cmsf / catalog-format / privacy-pass all quiet.

Slack: Tobbe answers Jordi’s QUIC-mapping / audio-glitch question

The channel’s only new traffic was a second thread reply on Tobbe’s Aug-6 caption-announcement post (the first new Slack message since Aug-7). Answering Jordi Cenzano’s Aug-7 question — “What is the QUIC mapping you are doing for video and audio? GOP = QUICStream, audio = Datagram?” + the report of frequent small audio glitches from the USA — Tobbe (Aug-11 11:11 CEST) explained his mapping: he uses MOQ streams, one per group (not datagrams), with audio groups “aligned” with the 1-second-GOP video groups — so each audio group averages ~1 s, its frame count ±1 so audio starts at the same time as (or less than one frame after) video. He committed to investigating the glitch: “Maybe there is some timestamp mismatch…” A small but concrete data point that the Eyevinn stack maps both media types onto per-group QUIC streams, not audio-over-datagram.

Interop runner: −6 pass, near the band low

The nightly runner’s Aug-11 00:18 UTC cut was 350 / 127 / 212 / 11 (~36.3% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a −6 pass / +6 fail move versus the Aug-10 cut (matrix, skip, and at-target all flat). Pass 127 sits near the low of the settled 350-cell band (126–133, high 133 on July 31 and Aug-10); twentieth straight cut on that matrix, at-target holding 220. Still targets draft-18. No Aug-12 cut at check time. See interop-runner.

Activity (Aug 10 → Aug 11) — The Aug-10 virtual interim ran — and it was a discussion-only session: not one PR merged toward draft-20 on any moq-wg repo. The interim (interim-2026-moq-21, 1630–1800 UTC Monday) walked the core-transport filter/fetch/switch PR set live, but every target PR (moq-transport #1809/#1820/#1673/#1674/#1834/#1825 + the #1851/#1852/#1853 clarification batch) remains OPEN, transport-19 stands, and no minutes are posted yet. The one concrete on-repo artifact of the day is Luke Curley’s new wire-affecting issue #1854“to PUBLISH_NAMESPACE or to not PUBLISH_NAMESPACE” — questioning whether the wire needs to distinguish the P2P case (both PUBLISH_NAMESPACE + SUBSCRIBE_NAMESPACE) from S2S relay-to-relay (neither), with afrind pushing back on the framing. The list carried five interim-adjacent Aug-10 messages, including Will Law’s new individual draft draft-wilaw-moq-cmcd-event-timeline-00 (CMCD carried over MSF Event Timeline) and Luke Curley’s moq-lite drafts orientation post. On the implementation side, moqtail’s TypeScript library began its draft-18 alignment (Kerem Bekmez, 336 all MERGED), moq-dev merged minor net fixes and opened a large breaking transport-interface refactor, and afrind merged a per-track /metrics endpoint on moqx. The nightly runner ticked +2 to 133 pass, tying its 350-cell high. Slack quiet; no new MoQ Monthly; no open wiki issues.

The Aug 10 → Aug 11 window (checked the morning after the interim) had no WG-document revision bumps — the datatracker shows transport-19, loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01, privacy-pass-auth-03 all standing, plus draft-lcurley-moq-lite -05, hang-02/cluster-00/timestamp-01, draft-liu-moq-feedback -00, and draft-altanai-moq-relay-geocode -02. The only new individual draft is Will Law’s draft-wilaw-moq-cmcd-event-timeline-00 (below); Luke’s post also surfaced two lcurley individual drafts the wiki had not tracked — draft-lcurley-qmux-websocket-00 (Aug-4) and draft-lcurley-moq-probe-00 (Mar-17). Slack #moq’s newest message is still Tobbe’s Aug-6 caption post and its single Aug-7 Jordi reply (both logged). IETF-126 minutes remain the single Monday doc at rev -01. No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (+2 pass, see below).

The Aug-10 virtual interim: discussion only, nothing lands toward draft-20

Monday’s Aug-10 virtual interim (interim-2026-moq-21, 1630–1800 UTC, via Meetecho) ran on schedule, but produced no merges on any moq-wg repo — the first datable read on the session shows the core-transport PR set the Aug-5 agenda named for draft-20 was discussed live, not landed. As of the next-morning check, all target PRs remain OPEN and wire-neutral to the published spec (transport-19 stands, no -20 published):

  • Location Filter rewrite #1809 (Mo Zanaty, +72/−82), PUBLISH_NOTIFY #1820 (afrind, +61/−11; afrind clarified on-thread it is “strictly informative”), Fill-Fetch #1673 (afrind, +211/−181), SWITCH_FROM #1674 (afrind, +109/−0), PUBLISH-subscription-params #1834 (Ian Swett, +19/−11), FORWARD→range-pausing #1825 (Suhas, +171/−167), and the #1851/#1852/#1853 clarification batch — all touched in the days before the meeting, none merged.
  • “Needs Discussion” issue #1801 (reconsider “OR” in range filters, Victor Vasiliev) drew a fresh Aug-10 15:49 comment from Cullen Jennings (fluffy) — backing afrind’s point about avoiding sending the same object twice (e.g. cell-phone ingest with poor uplink) but asking for a concrete problematic use case before acting.

Datatracker materials for the session: agenda agenda-interim-2026-moq-21-moq-01 at rev -01 (Aug-7), three slide decks all at rev -00“FETCH pacing for MOQT” (Will Law, for issue #1453), “Chair Slides,” and “MOQT PRs and Issues 8/10” — and no minutes posted yet. The interim outcomes that actually reshape -20 will surface as merges (and eventually a -20 upload) in a later window.

WG transport: Luke Curley opens the PUBLISH_NAMESPACE-vs-relay signaling question

The interim’s one concrete on-repo artifact is a new wire-design issue Luke Curley filed during/just after the call:

  • issue #1854 “to PUBLISH_NAMESPACE or to not PUBLISH_NAMESPACE” (kixelated, Aug-10 17:09 UTC) — argues there is an interop gap: nothing in-band distinguishes the P2P case (both PUBLISH_NAMESPACE and SUBSCRIBE_NAMESPACE sent) from the S2S / relay-to-relay case (neither sent), so a generic CDN (e.g. Cloudflare) is oblivious to the application’s intent and blindly sending PUBLISH/PUBLISH_NAMESPACE “feels wrong.” afrind pushed back on the framing (“applications know what they want and send what they need”); Luke countered with the generic-CDN-doesn’t-know case. Unresolved — a continuation of the Hackathon-era SUBSCRIBE_NAMESPACE-mandatory-vs-PUBLISH_NAMESPACE-optional / different-authorization-models debate. (moq-dev contributor t0ms filed a matching implementation-side issue #2730 on PUBLISH_NAMESPACE withholding the same day.)

Mailing list: five interim-adjacent Aug-10 messages, two new drafts

All five verified via raw permalink (200; fabricated-ID control 404). The two most substantive introduce new individual drafts:

  • Will Law — CMCD over MSF Event Timeline announces a new individual draft, draft-wilaw-moq-cmcd-event-timeline-00 “CMCD transmission over MSF Event Timeline” (submitted Aug-10 16:06 UTC). It specifies how an MSF catalog can instruct a publisher to publish configurable CMCD (Common Media Client Data) at target destinations using MSF Event Timeline tracks (a generic ad-hoc-data mechanism on MSF media tracks) — defining both the catalog cmcdConfig configuration syntax and the on-wire carriage (eventType: "urn:cta:cmcd:2026"). Issues/PRs at wilaw/CMCD-over-MSF-event-timeline. This turns the MSF Event Timeline into a concrete telemetry-carriage vehicle and extends Will Law’s running MSF-timeline design work.
  • Luke Curley — moq-lite drafts is an orientation post on the moq-lite family: draft-lcurley-moq-lite-05 is “my subset of moq-transport … my API serialized to the wire” (e.g. no sub-groups), with new features split into IETF extensions — moq-cluster (NAMESPACE carries a hop list + cost for shortest-path SUBSCRIBE routing across a relay cluster), moq-timestamp (promotes the LOC timestamp/timescale to the transport layer), and two drafts the wiki had not tracked: draft-lcurley-moq-probe-00 “MoQ Probe Extension” (Mar-17; subscriber requests current bitrate and targets a higher bitrate via padding) and draft-lcurley-qmux-websocket-00 “QMux over WebSocket” (Aug-4; TCP support in browsers, “not MoQ”). Candid caveat: “Claude wrote these moq-transport extensions so I can’t promise they work (the moq-lite code-path gets far more test[ing]).”
  • Three shorter interim-adjacent threads: Martin Duke — PR #1770 - changes to PUBLISHER_PRIORITY (on Michal Hošna’s agenda-review PR #1770, make Default Publisher Priority updatable), Altanai B — Re: MoQT relay diagnostics follow-up from IETF 126 / issue #1692, and Cullen Fluffy Jennings — Re: Draft Agenda for 8/10 moq interim (the range-filter-OR reply mirrored in his #1801 comment). No WGLC, consensus call, or interop-report post; the next weekly GitHub digest is not due until ~Aug-16.

Implementations: moqtail-ts starts draft-18, moq-dev’s breaking net refactor, moqx metrics

  • moqtail — TypeScript draft-18 alignment begins. After July aligned the Rust side, the moqtail-ts library landed its first draft-18 wire batch Aug-10 (all Kerem Bekmez, in libs/moqtail-ts): CLIENT_SETUP/SERVER_SETUP collapsed into SETUP (#334, +506/−434 — OPEN→MERGED), control streams reworked per draft-18 (#335, +191/−70), and request types moved onto their own bidirectional stream (#336, +718/−124) — the TS counterpart of the RS-side 297 work, drawing down the ~20-issue moqtail-ts API-break backlog. (Two dependabot merges 337 alongside.) See moqtail.
  • moq merged minor items — docs(drafts): spec timeline track + compressed catalog in moq-hang (#2732, +74/−0), the prior-window net fixes invert stream priority (#2720, OPEN→MERGED, +232/−26) and tolerate streams that die before their first byte (#2721), and iOS-simulator builds (#2710) — and opened a large breaking net refactor: #2736 “refactor(net)!: require the poll-based transport interface” (+2049/−671, OPEN), plus moq-lite group-stream send-order prioritization (#2737, +512/−36) and a native-package release repair (#2731). New issues: kixelated’s hang-stats track proposals (#2735/#2734/#2733, viewer-feedback / publisher-stats / moq-net send-backlog) and t0ms’s two bug reports (#2730 PUBLISH_NAMESPACE withholding, #2729 import-ts audio-frame resync). The DON’T-MERGE route-replace refactor #2723, release PR #2724, and dependabot batch #2725#2728 stay OPEN.
  • moqxafrind merged a substantial per-track stats endpoint #533 “stats: per-track counters exposed at /metrics/track” (+2510/−22) and a MoQT-safe name render/parse helper #532 (+350/−0); Giovanni Marzot opened docs/CI PRs #555/#556 (OPEN), and a snapshot-latest build was published. Correction to the prior window’s entries: the auth-token PRs #552 (multiple AUTHORIZATION_TOKEN) and #553 (anonymous-claim grants / per-message token cap) were authored by Michal Hošna (michalhosna), not afrind (the Aug-7/8 entries mis-attributed them); both remain OPEN.
  • moxygen #212 (Giovanni Marzot, per-layer XLOG logging) and #211 still OPEN; no merges. warp-player took two dependabot dev-dep PRs (#182/#183, OPEN).
  • Everything else quiet: moq-rs (v0.7.25 stands), moq-js, quiche (moqt, newest commit Aug-4 52cc2fef), imquic (#34 still OPEN), moqlivemock, moqtransport (post-v0.13.0), Moqtopus, aiomoqt, moq-encoder-player, and birneee/quiche_moq all had no in-window activity. msf / loc / secure-objects / cmsf / catalog-format / privacy-pass all quiet.

Interop runner: +2 pass, ties the 350-cell high

The nightly runner’s Aug-10 00:19 UTC cut (taken the morning of the interim) was 350 / 133 / 206 / 11 (~38.0% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a +2 pass / −2 fail move versus the Aug-9 cut (matrix, skip, and at-target all flat). Pass 133 ties the 350-cell-matrix pass high first reached July 31; nineteenth straight cut on that matrix, at-target holding 220. Still targets draft-18. No Aug-11 cut at check time. See interop-runner.

Activity (Aug 9 → Aug 10) — The small hours of interim day, and a quiet window whose one genuinely new source item is a piece of list hygiene: the overdue weekly GitHub digest finally posted (Sun Aug-9 08:09 UTC, mnot.net bot) — a routine recap, ending the ~week-long gap since Aug-2. With Monday’s Aug-10 virtual interim (interim-2026-moq-21, 1630–1800 UTC) not yet run at check time, the WG stayed in interim-prep mode: no merges on any moq-wg repo, but the core-transport agenda PRs got their pre-meeting rebases on moq-transportSuhas’s #1825 (replace FORWARD with Range-Filter pausing, the PR behind “Needs Discussion” issue #1352), Ian Swett’s #1834 (PUBLISH subscription params), and Suhas’s Range-Filters readability #1851 — all OPEN, all wire-neutral, all toward draft-20. The implementations had their quietest window in weeks: moq merged one net fix and took a dependabot batch, and the one fresh item elsewhere was a moxygen diagnostics PR from Giovanni Marzot. No datatracker bumps; Slack quiet; no new MoQ Monthly; no open wiki issues.

The Aug 9 → Aug 10 window (checked ~00:00–01:00 UTC Monday, before the interim) had no new draft revisions and no new Slack traffic, and its only new mailing-list message was the overdue weekly GitHub digest (below). The datatracker shows transport-19, loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01, privacy-pass-auth-03 all standing, plus draft-lcurley-moq-lite -05, the three Aug-4 lcurley drafts (hang-02/cluster-00/timestamp-01), draft-liu-moq-feedback -00, and draft-altanai-moq-relay-geocode -02. The Aug-10-interim materials are unchanged since Aug-7 (agenda rev 01, chair slides rev 00, Will Law’s FETCH-pacing slides rev 00 from Aug-6). Slack #moq’s newest message is still Tobbe’s Aug-6 caption post and its single Aug-7 Jordi reply (both logged). IETF-126 minutes remain the single Monday doc at rev -01. No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (−1 pass, see below).

Mailing list: the overdue weekly GitHub digest finally posts

The window’s only genuinely new list item is the Weekly github digest (Media Over QUIC Activity Summary) — posted Sun Aug-9 08:09 UTC (01:09 PDT; raw-verified 200 + DKIM d=mnot.net; fabricated-ID control 404). The digest had been missing since Aug-2 (expected ~Aug-9), and the wiki flagged the gap in the Aug-8 and Aug-9 entries; its content is the routine auto-generated recap of the week’s GitHub activity across the MoQ repos — all items already tracked here — so it carries no new durable fact, but it closes the “digest overdue” watch. No WGLC announcement, consensus call, or interop-report post accompanied it, and all other list messages remain Aug-5-or-earlier (afrind’s Aug-10 agenda, the ITU-T SG21 liaison, Jordi’s LOCv4 post — all logged).

WG transport: interim-prep rebasing of the draft-20 agenda PRs

No moq-transport PR merged, but on the eve of Monday’s Aug-10 virtual interim the core-transport PRs the agenda targets for draft-20 were updated (all OPEN, all wire-neutral; transport-19 stands, no new issues):

  • #1825 “Replace FORWARD parameter with Range Filter-based pausing” (Suhas, +171/−167, updated Aug-9 16:03) — the concrete PR behind the agenda’s “Needs Discussion” issue #1352 (“SUBSCRIBE does not need a forward parameter if we have filters”), replacing the standalone FORWARD parameter with range-filter-based pausing semantics.
  • #1834 “PUBLISH can contain Subscription Parameters” (Ian Swett, +18/−10, updated Aug-9 18:50) — the agenda’s “reflects Vienna discussions” review PR.
  • #1851 “Clarify Range Filters section for readability” (Suhas, updated Aug-9 18:49) — the readability tail of Mo Zanaty’s Location-Filter rewrite (issue #1810), part of the three-PR clarification batch logged the prior window; #1853 (IANA rename) also saw a touch.

These are normal pre-meeting rebases; which of the filter/fetch/switch PRs actually land toward -20 will surface after Monday’s session in the next update.

Implementations: the quietest window in weeks

  • moq merged just one net-layer fix — #2721 “fix(net): tolerate incoming streams that die before their first byte” (+224/−4, mmcc, MERGED Aug-9 01:07 UTC; it was OPEN in the Aug-9 log) — and otherwise took a routine dependabot batch (#2725/#2726/#2727/#2728, all OPEN). Its prior-window OPEN PRs — the moq-net v0.2.11 release #2724, invert-stream-priority #2720, iOS-simulator #2710, protocol-version-help #2719, and the large DON’T-MERGE route-replace refactor #2723 (+538/−6073) — all remain in flight. No new issues.
  • moxygen: the one fresh item elsewhere — #212 “standalone: root every layer’s XLOG category so per-layer --logging selectors work” (Giovanni Marzot / gmarzot, +146/−0, OPEN Aug-9), a diagnostics/logging refinement. Notable as the aiomoqt author contributing tooling to Meta’s C++ relay; #211 (active-subscription counting) still OPEN.
  • moqx: the auth-token PRs #552 (multiple AUTHORIZATION_TOKEN per message) and #553 (anonymous-claim grants / per-message token cap) remain OPEN (#552 rebased Aug-9 21:55).
  • Everything else quiet: moq-rs (v0.7.25 stands), moq-js, quiche (moqt, newest commit Aug-4), moqtail (#334 still OPEN), imquic (#34 still OPEN), moqlivemock, warp-player, moqtransport (post-v0.13.0), Moqtopus, birneee/quiche_moq, and moq-encoder-player all had no in-window activity.

Interop runner: −1 pass, still in-band

The nightly runner’s Aug-9 00:18 UTC cut was 350 / 131 / 208 / 11 (~37.4% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a marginal −1 pass / +1 fail move versus the Aug-8 cut (matrix, skip, and at-target all flat). Pass 131 stays inside the settled 350-cell band (126–133, high 133 on July 31); eighteenth straight cut on that matrix, at-target holding 220. Still targets draft-18. No Aug-10 cut at check time. See interop-runner.

Activity (Aug 8 → Aug 9) — A quiet, pre-interim Sunday on the eve of Monday’s Aug-10 virtual interim. The one substantive WG-repo item was Suhas Nandakumar opening a three-PR moq-transport clarification batch#1851 (Range Filters readability, fixes #1810), #1852 (restrict GOAWAY on request streams to the data sender, fixes #1655), #1853 (rename IANA “application-specific” range to “private use”, fixes #1828) — all OPEN, all wire-neutral, all closing “Path-to-WGLC” cleanup issues the interim agenda tracks toward draft-20. No merges (transport-19 stands); no draft bumps; the mailing list and Slack produced nothing new; the nightly runner cut was byte-for-byte identical to Aug-7 (350/132/207/11). moq-dev/moq had its quietest day in weeks.

The Aug 8 → Aug 9 window had no new draft revisions, no new mailing-list messages, and no new Slack traffic — the datatracker shows transport-19, loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01, privacy-pass-auth-03 all standing, plus draft-lcurley-moq-lite -05, the three Aug-4 lcurley drafts (hang-02/cluster-00/timestamp-01), and draft-liu-moq-feedback -00. The IETF list’s newest message is still Aug-5 (afrind’s agenda, the ITU-T liaison, Jordi’s LOCv4 post — all logged) and the weekly GitHub digest had still not posted (last Aug-2, expected ~Aug 9). Slack #moq’s newest message is still Tobbe’s Aug-6 caption post and its single Aug-7 Jordi reply (both logged). IETF-126 minutes remain the single Monday doc at rev -01. No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (flat, see below).

WG transport: Suhas opens a three-PR clarification batch ahead of the interim

Suhas Nandakumar (suhasHere) opened three OPEN moq-transport PRs Aug 8–9, each fixing a specific “Path-to-WGLC” cleanup issue — none touching the wire, so transport-19 stands:

  • #1851 “Clarify Range Filters section for readability” (+59/−25) — fixes #1810 “New section on filters hard to process”; readjusts the Range Filters prose and keeps the filter-type definition multi-line (asks Mo Zanaty to review). This is the readability tail of Mo Zanaty’s Location-filter redesign, one of the core-transport items the Aug-10 interim agenda targets for draft-20.
  • #1852 “Restrict GOAWAY on request streams to the data sender (#1655)” (+19/−7) — fixes #1655 “Tighter language around GOAWAYs on a request stream” by clarifying which side may send GOAWAY in a given session.
  • #1853 “Rename application-specific to private use in IANA registry ranges” (+8/−8) — fixes #1828, replacing the ambiguous “application-specific” label on IANA registry ranges with the standard “private use” term (one of the July-25 IANA/naming issues).

The batch is the code-editing counterpart to the interim agenda’s core-transport filter/fetch/switch/IANA cleanup — worth watching for whether these land at or just after Monday’s session.

Everything else: quiet

  • moq-wg repos msf / loc / secure-objects / cmsf / catalog-format / privacy-pass merged nothing and opened nothing in-window. On moq-transport there were no merges (the Aug-7 editorial batch #1846–#1849 is already logged); #1844 (first byte of a zero-payload object) stays OPEN.
  • moq had its quietest day in weeks — only two prior-window OPEN PRs merged (a multi-track-failover net test #2713 +193/−0 and “docs: welcome AI contributions” #2722), a routine OPEN moq-net v0.2.11 release PR #2724, and its prior-window net fixes (#2720/#2721/#2719) plus a large DON’T-MERGE route-replace refactor (#2723, +538/−6073) still OPEN. No new issues.
  • Implementations quiet: moqx (afrind) auth-token PRs #552/#553 still OPEN; moq-rs (v0.7.25 stands), moq-js, quiche (moqt, newest commit Aug-4), moqtail, moxygen (#211 still OPEN), imquic, moqlivemock, warp-player, moqtransport (post-v0.13.0), Moqtopus, aiomoqt, birneee/quiche_moq, and moq-encoder-player all had no in-window activity.

Interop runner: flat Aug-8 cut

The nightly runner’s Aug-8 00:18 UTC cut was 350 / 132 / 207 / 11 (~37.7% pass; at-target draft-18 220 · 0 ahead · 130 behind) — byte-for-byte identical to the Aug-7 cut (0 pass change; matrix, skip, and at-target all flat). Pass 132 stays inside the settled 350-cell band (126–133, high 133 on July 31); seventeenth straight cut on that matrix, at-target holding 220. Still targets draft-18. No Aug-9 cut at check time. See interop-runner.

Activity (Aug 7 → Aug 8) — Another implementation-carried window, with the WG side in Aug-10-interim-prep mode. moq lands its new moq play CLI player (#2697, OPEN→MERGED) — the prior window’s headline OPEN PR — alongside stateful per-frame fMP4 fragmenting (#2680, +1408/−264) and a fresh net-layer batch, cut as a relay v0.14.9 / libmoq v0.5.6 release train (#2703). afrind opens a coherent auth-token front on moqx — multiple AUTHORIZATION_TOKEN per message (#552) + anonymous-claim grants / per-message token cap (#553) + a CAT4MOQ→draft-01 issue (#551) — the code side of the transport auth-token-semantics threads. On the WG repo, four tiny editorial moq-transport PRs merge and Will Law files issue #1850 (define Track/Object properties to signal payload compression). Datatracker shows no draft bumps but the Aug-10 virtual-interim materials go live (agenda → rev 01, chair slides posted). Slack surfaces one interop observation: Jordi Cenzano tests Tobbe’s captioned stack from the USA and reports frequent small audio glitches, asking about its QUIC mapping.

The Aug 7 → Aug 8 window had no new draft revisions and no new mailing-list messages — the datatracker shows transport-19, loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01, privacy-pass-auth-03 all standing, plus draft-lcurley-moq-lite -05 and the three Aug-4 lcurley drafts (hang-02/cluster-00/timestamp-01) and draft-liu-moq-feedback -00. The only Datatracker-side movement was prep for Monday’s Aug-10 virtual interim (below). The IETF list’s newest message is still Aug-5 (afrind’s agenda, the ITU-T liaison, Jordi’s LOCv4 post — all logged); the weekly GitHub digest had not yet posted (expected ~Aug 9). IETF-126 minutes remain the single Monday doc at rev -01. No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (+3 pass, see below).

Slack: Jordi Cenzano tests the captioned Eyevinn stack — audio glitches from the USA

The channel’s only new traffic was a thread reply on Tobbe’s Aug-6 caption-announcement post (logged in the prior window). Jordi Cenzano (Meta) replied (Aug 7 21:02 CEST): “that is a very complete implementation!!!!” and asked what QUIC mapping the stack uses for video and audio“GOP = QUICStream, audio = Datagram?” — while reporting that, testing from the USA, he hears quite frequent (small) audio glitches. No answer had been posted at check time. It is a small but concrete cross-continent interop observation on the freshly-released Eyevinn v0.13.0 stack, and echoes the recurring audio-over-datagram vs. audio-over-stream question (cf. the Aug-3 DATAGRAM-fragmentation thread and Ian Swett’s July-25 MoQ-over-MoQ audio-drop note).

WG process: Aug-10 virtual-interim materials go live

Ahead of Monday’s Aug-10 virtual interim (interim-2026-moq-21, 1630–1800 UTC), the Datatracker meeting materials moved on Aug 7 (~22:08 UTC) — no mailing-list message, just document activity:

  • Agenda bumped to rev 01 (agenda-interim-2026-moq-21-moq-01) — a revision of the draft agenda afrind circulated Aug 5 (which named draft-20 as the target for the in-flight filter/fetch/switch PR set: moq-transport #1809/#1820/#1673/#1674).
  • Chair slides posted at rev 00 (slides-interim-2026-moq-21-sessa-chair-slides).
  • (Context: Will Law’s FETCH-pacing slidesslides-interim-2026-moq-21-sessa-fetch-pacing-for-moqt — were posted Aug 6, matching his Aug-4 “Pacing for FETCH” thread and the “Needs Discussion” issue #1453 on the agenda.)

moq-dev: moq play lands, per-frame fMP4 fragmenting, and a v0.14.9 release train

moq (all Luke Curley) had another busy day:

  • moq play CLI player lands. #2697 “feat(cli): add moq play” (MERGED Aug 7, +2190/−128) — the native command-line player verb that was OPEN in the prior window — with the Windows-gate compile fix (#2712) merged alongside. moq-cli now has a first-class playback command.
  • Stateful per-frame fMP4 fragmenting. #2680 “feat(moq-mux): add stateful per-frame fMP4 fragmenting” (MERGED, +1408/−264) — the muxing layer can now emit one fMP4 fragment per frame, building on the Aug-6 init-segment/timescale refactor.
  • Net-layer batch (MERGED): expose JavaScript subscription options (#2716, +464/−69), keep UNKNOWN publishers announced across relay loops (#2718, +395/−3), a web-transport dependency bump (#2717), and dropping the Intel-macOS release targets (#2715).
  • Release train prepared via release-plz #2703 (merged Aug 8 00:59): moq-relay 0.14.8→0.14.9, libmoq 0.5.5→0.5.6, moq-cli 0.9.8→0.9.9, moq-ffi 0.3.8→0.3.9, moq-net 0.2.9→0.2.10, moq-mux 0.9.4→0.9.5 (+ moq-native/audio/video/transcode/gst/boy bumps); the git tags had not yet appeared at check time.
  • OPEN net fixes: invert stream priority to match transport send-order semantics (#2720, +96/−13), tolerate incoming streams that die before their first byte (#2721, +194/−3), generate protocol-version help (#2719), a multi-track-failover test (#2713), and a “docs: welcome AI contributions” PR (#2722). New issue #2714 asks for a per-subscriber path predicate on OriginConsumer/AnnounceConsumer (postanteGames). The prior window’s large Origins single-connection rework (#2705) remains OPEN.

moqx: afrind opens an auth-token front

afrind opened a coherent authorization-token cluster on moqx Aug 7 — the code side of the transport-layer auth-token discussions (Michal Hošna’s #1838 “Semantics of multiple AUTHORIZATION TOKEN parameters” and Flynn’s #1843 CAT-token renewal, both logged earlier this month):

  • #552 “auth: support multiple AUTHORIZATION_TOKEN in single message” (OPEN, +545/−58) — directly implements the semantics of transport #1838.
  • #553 “auth: add anonymous_claim grants and per-message token cap” (OPEN, +1290/−155).
  • issue #551 “auth: CAT4MOQ update to draft-01” (michalhosna / Michal Hošna) — tracking the CAT4MOQ (Common Access Token for MoQ) draft-01 revision, the token format behind Flynn’s transport issue #1843 (CAT-token expiration/renewal).

A routine moxygen sync (#550) merged; a rolling snapshot-latest build was published.

WG transport: four editorial merges + a payload-compression issue

  • Four tiny editorial PRs merged Aug 7 (all ~05:18–05:20 UTC): #1846 “Too much partying” (−1), #1847 add INCLUDE_PROPERTIES to the Message Params IANA table (+1) — both OPEN→MERGED — plus #1848 (AUIDO_CONFIGAUDIO_CONFIG typo) and #1849 (one-byte wording fix). No wire change; transport-19 stands.
  • issue #1850 “MOQT should define Track and Object properties to signal payload compression” (Will Law, Aug 7) — a new proposal to add properties advertising per-payload compression, so a receiver knows whether/how object payloads are compressed. Adds to the running properties-semantics front (INCLUDE_PROPERTIES, delivery-timeout).

Everything else: quiet

  • moq-wg repos msf / loc / secure-objects / cmsf / catalog-format / privacy-pass merged nothing and opened nothing in-window.
  • Implementations quiet: moq-rs (v0.7.25 stands), moq-js, quiche (moqt, newest commit Aug-4), moqtail, moxygen (#211 still OPEN), imquic, moqlivemock, warp-player, moqtransport (post-v0.13.0), Moqtopus, aiomoqt, birneee/quiche_moq, and moq-encoder-player all had no in-window activity.
  • Datatracker catch-up note: the individual draft draft-altanai-moq-relay-geocode-02 “Geographic Location for Media over QUIC Relays” (submitted Aug 4, 22:56 UTC) sits on the datatracker — individual, not WG-adopted, and not discussed on-list or referenced in implementations; noted here as a first-look (it predates this window and had escaped prior individual-draft scans).

Interop runner: +3 pass, still in-band

The nightly runner’s Aug-7 01:14 UTC cut was 350 / 132 / 207 / 11 (~37.7% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a +3 pass / −3 fail move versus the Aug-6 cut (matrix, skip, and at-target all flat). Pass 132 stays inside the settled 350-cell band (126–133, high 133 on July 31); sixteenth straight cut on that matrix, at-target holding 220. Still targets draft-18. No Aug-8 cut at check time. See interop-runner.

Activity (Aug 6 → Aug 7) — The Eyevinn stack cuts a coordinated v0.13.0 release wave — moqlivemock v0.13.0 + warp-player v0.13.0 + moqtransport v0.10.0 — completing AV1 video + CTA-608 captions across all three video codecs, with a selectable -cc608mode (paint-on/pop-on/roll-up), announced by Tobbe on Slack (the caveat: the player renders AVC/HEVC captions but not AV1 yet, pending common-media-library support). An ITU-T SG21 liaison statement lands on the WG list — a new work item H.CVR-MP (functional requirements for cloud-VR systems with multi-path transmission) asking MOQ + QUIC to share relevant work. Will Law opens a four-issue MSF media-timeline design review (msf #202–#205), Yu You files moq-transport issue #1845 (a “Prior Subgroup ID Gap” for range-filter omissions), and moq adds a new moq play playback client + a moq-mux fMP4 refactor, cut as relay v0.14.8. No moq-wg PR merged; no datatracker bumps.

The Aug 6 → Aug 7 window mixed an implementation release milestone (the Eyevinn v0.13.0 wave), an external-body signal (the ITU-T liaison), and WG design discussion (Will Law’s MSF issues + Yu You’s range-filter gap) — but no moq-wg repo merged a PR and the datatracker shows no revision bumps (transport-19, loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, catalogformat-01, privacy-pass-auth-03 all stand; draft-lcurley-moq-lite -05 and the three Aug-4 lcurley drafts hang-02/cluster-00/timestamp-01 all stand; draft-liu-moq-feedback -00). Slack #moq broke its quiet with Tobbe’s Aug-6 caption post (below). IETF-126 minutes remain the single Monday doc at rev -01. No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (−1 pass, see below).

Slack + release: the Eyevinn stack cuts a coordinated v0.13.0 wave

On Aug 6 the three Eyevinn repos released together — moqlivemock v0.13.0, warp-player v0.13.0, and moqtransport v0.10.0 — consolidating the CTA-608 caption work and the AV1 path. Tobbe announced it on Slack #moq (Aug 6 17:45 CEST, breaking the channel’s quiet):

  • AV1 joins AVC + HEVC as a fully-captioned codec. The MSF/CMSF source now serves AV1 video alongside AVC and HEVC, each carrying embedded generated CTA-608 captions (the overlay text shows wall-clock + group number), and captions are enabled on both the WebCodecs and MSE/EME playback paths.
  • Selectable caption presentation mode. moqlivemock #125 added a -cc608mode flag (paint-on / pop-on / roll-up, paint-on the default) — paint-on emits two bytes per frame so the text grows two characters at a time. A go-608 v0.9.0 bump (#124) and a deterministic catalog codec ordering (video AVC → HEVC → AV1, audio AAC → Opus → AC-3, #126) landed with it.
  • The one open gap: warp-player renders captions for AVC and HEVC but not yet for AV1, because AV1 caption extraction is not yet supported in the common media library it uses. warp-player’s v0.13.0 also added a UX touch — the CC button is struck through when captions are impossible (#180) — plus a completed cc608 end-to-end verification test (#177).
  • The stack is still on MOQT draft-14 & draft-16 (ALPN version negotiation); Tobbe notes a draft-18 update is coming “relatively soon.” Player + links at moqlivemock.demo.osaas.io.

Separately, Lorenzo Miniero replied (Aug 6 12:59 CEST) to Jordi Cenzano’s Aug-5 moq-encoder-player LOCv4 post (logged in the prior window): he’s on holiday but will test the new endpoints for media interop when back.

Mailing list: an ITU-T SG21 liaison on cloud VR + multi-path transmission

The WG list received a new incoming liaison statement (Aug 5, permalink, raw-verified 200 + valid title; fabricated-ID control 404). Sent from ITU-T Study Group 21 (Working Party 4, Question 9 — Q9/21), it announces the initiation of a new work item, H.CVR-MP “Functional requirements for cloud virtual reality systems supporting multi-path transmission” — a Recommendation aiming to specify service-data-processing, network-capability, and cooperation/management requirements for coordinated network/transport/application-layer optimization to overcome transmission bottlenecks in cloud-VR delivery. It asks the MOQ and QUIC groups to “share with us any relevant work, if you have in these matters” — informational, with no deadline. It is the first ITU-T liaison on a MoQ-adjacent media-transport work item the wiki has tracked; whether the WG responds (multi-path is not currently a MoQT feature) is worth watching.

WG msf: Will Law opens a four-issue media-timeline design review

Will Law (Akamai) filed four new msf issues Aug 6, a coherent review of the MSF media-timeline model ahead of the WGLC push (no PRs; msf-01 stands):

  • #202 — add a default track from an altGroup (which alternative a player should pick when none is specified).
  • #203 — the media timeline should “depend” on a renderGroup rather than on a media track directly.
  • #204 — the media timeline must accommodate tracks appearing and being removed over a session (dynamic track lifecycle).
  • #205how do we implement DVR with MSF? (time-shift / recording semantics on the streaming format).

Together they probe how MSF describes selection, dependency, dynamic membership, and time-shift — the media-catalog side of the same delivery-model cleanup the transport document has been working through.

WG transport: a range-filter “Prior Subgroup ID Gap” and two small PRs

  • issue #1845 “[MOQT] New Prior Subgroup ID Gap” (Yu You / Nokia, Aug 6) — the Range Filter (draft-19) lets a subscriber name the subgroups it wants, so when a relay filters some out, the subscriber sees gaps in the Object ID sequence it can’t distinguish from congestion loss. Yu You proposes a Prior Subgroup ID Gap field — analogous to the existing Prior Group ID Gap and Prior Object ID Gap — to explicitly mark objects intentionally omitted by an applied range filter. A concrete design consequence of the filter/fetch rewrite the Aug-10 interim is landing toward draft-20.
  • PR #1847 (sharmafb, Aug 7, +1/−0) adds INCLUDE_PROPERTIES to the Message Params IANA table, and PR #1846 “Too much partying” (sharmafb, Aug 7, +0/−1) is a one-line editorial fix — both OPEN. sharmafb’s Aug-5 “first byte of object” #1844 and the PUBLISH-subscription-params #1834 / Top Tracks Filter #1830 PRs remain OPEN (all on the Aug-10 agenda). No moq-transport PR merged.

moq-dev: a moq play client, a moq-mux fMP4 refactor, and net-layer correctness (v0.14.8)

moq (all Luke Curley) had another busy day, cut as moq-relay v0.14.8 / libmoq v0.5.5 / obs-moq v0.5.5 (Aug 6):

  • New moq play CLI playback client: OPEN #2697 “feat(cli): add moq play” (+2009/−124) adds a native command-line player verb to moq-cli (previously publish/serve/token-oriented), with a Windows fix already in flight (#2712) — a genuinely new capability direction.
  • moq-mux fMP4 refactor: #2692 “split the fMP4 init segment out of Fragment” (+185/−83) and #2693 “timescale control, and two duration fixes” (+310/−68) both MERGED — tightening the media-muxing layer’s fMP4 handling.
  • Net-layer correctness sweep (all MERGED): remove linger so a broadcast closes with its last source (#2704, +203/−652), stop a takeover from resurrecting dead-source verdicts (#2701, +250/−1), name a broadcast by where its reader found it (#2694, +299/−49), support the Chromium WebTransportError constructor (#2698), a moq-native Server → builder + Listener split (#2700, +377/−154) with serve-over-tcp:///unix:// (#2689), and configurable fallback cache retention (#2702).
  • OPEN net refactor: #2705 “route publish and consume through Origins, share one connection per relay” (+3166/−450) — a large connection-sharing rework of the JS net stack. The mDNS peer-mesh (#2585) front remains OPEN.

Everything else: quiet, plus small stirrings

  • moqtail opened OPEN #334 “collapse CLIENT SETUP SERVER SETUP into SETUP” — the draft-18/19 single-SETUP-message alignment, tracking transport #1836.
  • moqx (afrind) opened OPEN #549 “implement rendezvous timeout feature in MoqxRelay” (the RENDEZVOUS_TIMEOUT behaviour debated at the Vienna Hackathon), plus a routine moxygen sync (#548); the Aug-5 local-forwarder refactor cluster (#542/#544/#545/#546) and #541 remain OPEN. moxygen #211 (active-subscription counting) still OPEN.
  • moq-encoder-player (Jordi Cenzano) added post-LOC-migration tweaks — a low-latency congestion-control hint (Aug 6) after the Aug-5 #45 LOCv4 migration merge.
  • imquic opened a minor macOS socklen fix (#34). moq-rs (v0.7.25 stands), quiche (moqt, 0 in-window commits), moq-js, Moqtopus, aiomoqt, and birneee/quiche_moq were all quiet.
  • moq-wg repos loc / secure-objects / cmsf / catalog-format / privacy-pass merged nothing.

Interop runner: −1 pass, still in-band

The nightly runner’s Aug-6 00:29 UTC cut was 350 / 129 / 210 / 11 (~36.9% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a marginal −1 pass / +1 fail move versus the Aug-5 cut (matrix, skip, and at-target all flat). Pass 129 stays inside the settled 350-cell band (126–133, high 133 on July 31); fifteenth straight cut on that matrix, at-target holding 220. Still targets draft-18. No Aug-7 cut at check time. See interop-runner.

Activity (Aug 5 → Aug 6) — The WG process side moves for the first time in weeks: afrind posts the draft agenda for the Aug-10 virtual interim, and it names draft-20 as the target for the current in-flight filter/fetch/switch PR set (moq-transport 1674) — the first datable sign the WG is landing PRs past -19 toward -20. On the media side, Jordi Cenzano (Meta) announces (on Slack and the list) that moq-encoder-player has finally dropped its proprietary MOQ-MI packaging for standard LOCv4 + codec string (draft-18), with public encoder/player demo URLs. moq merges the MoQ Cluster extension over moq-transport (#2629, +2662/−408) — the prior window’s headline OPEN PR lands — then drains a ~22-merge moq-net/libmoq hardening pass cut as relay v0.14.7, and afrind runs a cross-repo local-forwarder / active-subscription-count cleanup across moqx + moxygen. Two new transport items round it out (a CAT-token-renewal issue and sharmafb’s “first byte of object” PR).

The Aug 5 → Aug 6 window tilted back toward the working group after a long implementation-carried run — the durable new facts are a WG interim agenda and an interop-tooling milestone, not code alone. No datatracker changes (transport-19, loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, draft-lcurley-moq-lite -05, and the three Aug-4 lcurley drafts hang-02/cluster-00/timestamp-01 all stand). Slack #moq broke its quiet with Jordi Cenzano’s Aug-5 moq-encoder-player post (below). IETF-126 minutes remain the single Monday doc at rev -01. No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (+1 pass, see below).

Mailing list: the Aug-10 interim draft agenda names draft-20

afrind (co-chair, with Ian Swett) posted the draft agenda for the 8/10 (Aug 10, Monday) virtual interim (Aug 5 21:26 UTC, DKIM-verified). It is the clearest process signal in weeks — and the first time the wiki has seen draft-20 named as the target for the current in-flight PR set:

  • In-flight PRs targeted for draft-20 (listed in intended landing order; one or more may merge before the meeting): Location Filter rewrite #1809, PUBLISH_NOTIFY #1820, Fill Fetch #1673, and SWITCH_FROM (hard) #1674 — the latter two to be updated once the first two merge.
  • Other PRs to review: PUBLISH contains subscription params #1834 (“reflects Vienna discussions”) and Publisher default priority update #1770 (Michal Hošna’s PR from the London ask).
  • “Needs Discussion” issues: #1453 — Send Rate parameter (“Will has a short presentation for his proposal” — i.e. Will Law’s Pacing-for-FETCH / SCONE rate-signal proposal from his Aug-4 list thread), #1352 — SUBSCRIBE does not need a forward parameter if we have filters (Suhas wrote the PR the chairs asked for), and #1801 — reconsider “OR” functionality in range filters (Victor Vasiliev, re draft-19).
  • New (the sharmafb/URI cluster already logged): #1842 (subgroup timeout overrides not propagated by mid-join relays), #1840 (INCLUDE_PROPERTIES=0 vs mandatory track properties), #1835 (query-in-URI scoping).

Note the interim’s focus is the core-transport filter/fetch/switch cleanup (the Path-to-WGLC work Vienna flagged), not the newer individual drafts — SSTS and Feedback are not on this agenda (candidates for the Aug-24 slot). This is the first time the target draft is called out as -20 rather than -19.

Slack + list: moq-encoder-player finally drops MOQ-MI for LOCv4 + codec string

Jordi Cenzano (Meta) announced — on both Slack #moq (Aug 5 02:51 UTC, breaking the channel’s quiet; 2 👍 / 2 🎉) and the list (“moq-encoder-player finally in LOCv4+codecstring (no more MOQ-MI)”) — that moq-encoder-player now targets draft-18 + LOCv4 (LOC-04) + codec string (per loc PR #29), retiring its proprietary MOQ-MI (MoQ Media Interop) packaging in favour of the standard LOC container. Public demo endpoints are live — encoder moq-madrid.jordicenzano.name/demo/encoder and player .../demo/player — offered to Miniero and Suhas for media interop. This is a genuine interop-tooling milestone: moq-encoder-player was the Meta reference tool at the centre of the Vienna interop matrix (previously carrying “MOQ-MIv3”), and moving it onto standard LOC v4 removes a bespoke packaging layer from the media-interop story.

moq-dev: the MoQ Cluster extension merges, then a moq-net hardening pass (v0.14.7)

moq (all Luke Curley) landed the prior window’s headline OPEN PR: #2629 “implement the MoQ Cluster extension over moq-transport” (merged Aug 5 01:30 UTC, +2662/−408) carries the just-submitted [[moq-cluster|draft-lcurley-moq-cluster-00]] onto the IETF moq-transport wire (not just moq-lite). The rest of the ~22-merge day was moq-net/libmoq hardening on top of the merged cluster code, cut as a fresh release train moq-relay v0.14.7 / moq-cli v0.9.7 / libmoq v0.5.4 (Aug 5 06:03–06:51 UTC):

  • Mesh/routing correctness: origin resume/route serving hardened (#2666, +678/−118), a reflected announce no longer evicts the source we publish (#2684, +292/−45), publisher group order moved out of message parameters (#2677, +614/−157), and the v14/v15 namespace lookup keyed by direction (#2664, +428/−419).
  • IETF wire correctness: subscribe/fetch rejections sent without resetting the stream (#2673), a malformed-NAMESPACE session close (#2667), and synthesized-fMP4-init playability on strict players (#2679); the accepting side may now pick the retention window when the wire carries none (#2657).
  • libmoq: stop holding the global locks across a video encode (#2663, +319/−79) and an HEVC codec-string fix (#2668).
  • OPEN capability PRs: classify/pace/publish accept(2) failures (#2687, +948/−75), tell OBS when a session gives up (#2681), per-frame fMP4 fragmenting + timescale control (#2680, Zac Shenker’s earlier #2623 evolved), and honor --latency-max on RTMP/SRT/RTC gateway ingest (#2660) — the latter tying into the transport delivery-timeout theme. New issue #2685 (stamp requested path on broadcast consumers).

afrind cross-repo: local-forwarder cleanup (moqx) + active-subscription counting (moxygen)

afrind ran a coherent relay-plumbing cleanup across two repos:

  • moqx — a local-forwarder refactor cluster (all OPEN): give LocalForwarderRegistry a three-state entry (#542, +647/−67), fold registry replacement into installPublisherForwarder (#544), make subscribers wait for an in-flight local-forwarder setup (#545, +246/−16), and install the forwarder chain on subscribe-created tracks (#546, +252/−29). The routine moxygen sync-bot (#547) merged.
  • moxygen#211 “Count active subscriptions only once they go active” (+151/−13, OPEN) — the fix for the negative active-subscription counter, matching moqx issue #538 (moqx_pubActiveSubscriptions going negative after teardown) logged the prior window.

WG transport: a CAT-token-renewal issue and a “first byte of object” PR

Two genuinely new moq-transport items beyond the sharmafb delivery-timeout cluster already logged:

  • issue #1843 “Recommendations for CAT token expiration & renewal in control signaling” (Flynn / leonardovon-mcqueen, Aug 5 02:56 UTC) — how MoQT should handle expiry/renewal of CTA Common Access Tokens carried in control signalling; the first token-lifecycle issue in the auth thread.
  • PR #1844 “Change ‘first byte of object’ for objects that have no payload” (sharmafb, Aug 5 16:52 UTC, +5/−4, OPEN) — a concrete follow-up to sharmafb’s own #1841 (“first payload byte” for OBJECT_DELIVERY_TIMEOUT), defining the semantics for zero-payload objects.

Eyevinn: moqlivemock caption-mode work

moqlivemock (Tobbe) opened two OPEN PRs continuing the CTA-608 caption thread: #125 “add -cc608mode with paint-on as the default” (+449/−107) — a selectable caption presentation mode (paint-on vs roll-up) — and a go-608 v0.9.0 dependency bump (#124).

Everything else: quiet

Interop runner: +1 pass, still in-band

The nightly runner’s Aug-5 00:32 UTC cut was 350 / 130 / 209 / 11 (~37.1% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a marginal +1 pass / −1 fail move versus the Aug-4 cut (matrix, skip, and at-target all flat). Pass 130 stays inside the settled 350-cell band (126–133); fourteenth straight cut on that matrix, at-target holding 220. Still targets draft-18. No Aug-6 cut at check time. See interop-runner.

Activity (Aug 4 → Aug 5) — A genuinely spec-heavy window after weeks of implementation-carried days: Luke Curley files a three-draft batch on the IETF Datatracker — the new [[moq-cluster|draft-lcurley-moq-cluster-00]] “MoQ Cluster Extension” (relay-mesh Hop-ID path vector + accumulated route cost) plus revisions [[moq-timestamp|draft-lcurley-moq-timestamp-01]] and [[moq-hang|draft-lcurley-moq-hang-02]] — giving datatracker homes to the moq-net cluster / timestamp / Hang work moq-dev has been building in-code for weeks, and Will Law posts two new WG-list threads prepping Internet-Drafts for the Aug-24 virtual interim: Sender-Side Track Switching (SSTS) and Pacing for FETCH. Meanwhile moq drains a ~26-merge burst into main (native raw-video encoder, Happy-Eyeballs dialing, and OPEN #2629 implementing the cluster extension over moq-transport), the Feedback draft thread turns into a real multi-party discussion, and the WG repos merge one small MSF editorial PR plus three new transport delivery-timeout issues.

The Aug 4 → Aug 5 window inverted the recent pattern — after a long run of implementation-carried days, the durable substance was specs: three new/revised individual Internet-Drafts on the datatracker and two new WG-list design threads. No WG revision bumps (transport-19, loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, warp-01, draft-lcurley-moq-lite -05 all stand) but one new individual draft (moq-cluster-00) and two revisions (moq-timestamp-01, moq-hang-02). Slack #moq stayed quiet (newest is still Yu You’s Aug-3 DATAGRAM-fragmentation thread — already logged; no new traffic). IETF-126 minutes remain the single Monday doc at rev -01. No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (−2 pass, see below).

Datatracker: Luke Curley files three individual I-Ds (one brand-new)

On 2026-08-04 ~02:08 UTC, Luke Curley submitted three individual Internet-Drafts in one batch — the datatracker-side counterpart to weeks of in-repo draft authoring (the vendored moq-drafts set, most recently PR #2607 “drafts: render gate, Hop ID 0, cluster rename, and a simplification pass”):

  • [[moq-cluster|draft-lcurley-moq-cluster-00]] “MoQ Cluster Extension” (NEW, 10 pp) — a clustering extension for moq-transport to build a mesh of relays. Each namespace advertisement carries the ordered list of Hop IDs it has traversed (starting with the origin publisher) plus the accumulated cost of that path; a receiver uses the list to detect routing loops and to identify which advertisements come from the same publisher, so it can pick the lowest-cost of interchangeable routes. This is the standards form of moq-dev’s cost-based cache-aware routing (shipped in code July 20, PR #2424) — the first MoQ relay-clustering / routing draft the wiki tracks. See moq-cluster.
  • [[moq-timestamp|draft-lcurley-moq-timestamp-01]] (revision, 6 pp) — the -01 abstract re-frames the extension onto the LOC-registered TIMESTAMP/TIMESCALE properties (“independent of the LOC container itself”) rather than defining its own IDs, tracking the LOC-04 registry fix (July 20) and moq-dev’s in-code adoption (PR #2581). Same goal: exposing media time to the transport so relays make uniform age-based drop/timeout decisions. See moq-timestamp.
  • [[moq-hang|draft-lcurley-moq-hang-02]] (revision, 11 pp) — “Media over QUIC - Hang”, the real-time conferencing profile on moq-lite (the hang crate + js/hang). Given its first wiki page this window; also the intended home for MoQ recording/DVR after PR #2574 folded moq-archive in as a “Recording” section. See moq-hang.

Mailing list: Will Law preps two new drafts, and the Feedback thread comes alive

Will Law (Akamai) opened two new WG-list threads Aug 4, each announcing an external-hosted draft he’s readying as an Internet-Draft for the Aug-24 virtual interim:

  • “Sender Side Track Switching (SSTS)” (Aug 4 14:41 UTC) — Law has converted the SSTS PR into an external draft (HTML + GitHub repo + issue tracker, with security considerations and IANA actions), defining a base mechanism for multiple switching algorithms plus a concrete “algorithm 0” with an improved publisher algorithm. His open question echoes Vienna feedback: whether to put the SSTS base into the core MOQT spec and move the algorithms into external drafts, rather than keep everything in one document. SSTS was one of the mechanisms the IETF-126 minutes flagged for splitting out of core transport.
  • “Pacing for FETCH” (Aug 4 12:10 UTC) — a draft addressing transport issue #1453: because standard congestion control downloads FETCH data as fast as possible, relay→client throughput bursts well above the encoding rate, feeding bufferbloat and loss. The proposal is “as fast as needed” delivery — negotiate a pacing extension in SETUP, activate it via a new FETCH parameter, and use the rate signal defined in SCONE — citing research that shows improved throughput and reduced retransmissions/RTT.

Both target review-before-I-D-submission and a virtual-interim presentation. Separately, the MoQ Feedback (MMF) draft thread (announced Aug 3) turned into a real multi-party discussion Aug 4–5: co-author Ronghua Wu (Ant Group) responded to Cullen Jennings’ Aug-3 reply and traded several messages, with Suhas Nandakumar and Yu You (Nokia) also engaging — the delivery-quality-feedback idea drawing sustained attention rather than a one-off announcement.

WG transport: a delivery-timeout / properties issue cluster

The moq-wg repos merged one PR — msf #195 “Update event timeline index references to uppercase in JSON examples” (Will Law, +41/−6, Aug 4) — a small editorial fix to the event-timeline JSON examples (msf-01 stands). On moq-transport, no PRs but three new issues Aug 5 from sharmafb, a coherent OBJECT_DELIVERY_TIMEOUT / properties-semantics cluster in the Path-to-WGLC editorial vein:

  • #1842 — timeout overrides for subgroups are not propagated by relays that join in the middle of a stream.
  • #1841 — the meaning of “first payload byte” for OBJECT_DELIVERY_TIMEOUT.
  • #1840 — interaction of INCLUDE_PROPERTIES=0 with mandatory track properties.

These sit alongside the Aug-3 URI-resolution (#1839, Cullen Jennings) and AUTHORIZATION-TOKEN-semantics (#1838, Michal Hošna) issues already logged — a running message/URI/property-semantics cleanup on the editor’s copy. transport-19 stands, no wire change.

moq-dev: a ~26-merge burst that implements the cluster extension

moq (mostly Luke Curley) drained the Aug-4 moq-net cluster into main~26 merges across Aug 4–5 (relay v0.14.6 stands; no new release):

  • MoQ Cluster extension (the durable new front): OPEN #2629 “implement MoQ Cluster extension over moq-transport” (+2418/−403) carries the just-submitted [[moq-cluster|draft-lcurley-moq-cluster-00]] onto the IETF moq-transport wire (not just moq-lite), with #2607 (Hop ID 0 / cluster rename / draft render-gate, +820/−766) and #2613 (scope route cost to interchangeable advertisements) merged as the draft-side prep.
  • Native raw-video encoder: #2608 “publish raw video with a native encoder” (+3076/−248, MERGED) — a large native-media capability — with #2626 confining the encoder to one thread and #2601 (D3D11 GPU texture resize) landed.
  • Connection resilience: Happy-Eyeballs dialing merged (#2594, +979/−252, closing the DNS/RFC-8305 thread), plus an OPEN reconnect/retry stack — auto-reconnecting sessions (#2618), a reconnecting connect handle (#2614), and transient-only retry with backoff+jitter (#2647).
  • Also merged: solicited PUBLISH_NAMESPACE + rejected-PUBLISH (#2643), announcedBroadcast / resolve-lite-restarts-by-publisher-identity (#2617), a WebSocket subprotocol-mismatch handshake fix (#2625). Open capability PRs: a JSON codec-split refactor (#2636, +3371/−1208), media-timeline cache trimming (#2631), an OBS-plugin client-config surface (#2650), and Zac Shenker’s per-frame fMP4 fragmenting (#2623) from an external contributor. New issues flag a latency_max propagation gap on IETF-relayed tracks (#2645) — tying back to the transport delivery-timeout theme — and video-encoder locking/stall bugs (#2649, #2635).

Eyevinn: CTA-608 in AV1, a clearkey fix, encrypted-audio bug closed

  • moqlivemock (Tobbe) extended the caption work to a fourth codec — #119 “carry CTA-608 captions in AV1 too” (+523/−517, MERGED) — and fixed a DRM bug: #123 “serve the configured content key from /clearkey” (+261/−45, MERGED, closing issue #122 where /clearkey returned the KID instead of the -cenckey content key).
  • warp-player — the encrypted-playback bug issue #175 (playback failing on the first audio packet) is now CLOSED, clearing the blocker on the encrypted rows of the interop matrix (#166); the CC-toggle #173 and cbcs caption test #174 were already logged.

Everything else: a quiche moqt commit, a moqx relay PR

  • quiche (moqt) landed one commit Aug 4 — a new MoqtStreamTypeParser that can later be converted into either a data-stream parser or a control-message parser — its first moqt-directory commit since July 30.
  • moqxafrind opened #541 “relay: name the initial track state a subscriber must observe” (+176/−22, OPEN), plus the routine moxygen sync-bot (#540). Giovanni Marzot’s version/dashboard #505 (already logged) merged.
  • moq-rs (v0.7.25 stands), moq-js, moqtail, moxygen, imquic, moqtransport, Moqtopus, aiomoqt, and birneee/quiche_moq were all quiet.

Interop runner: −2 pass, still in-band

The nightly runner’s Aug-4 00:34 UTC cut was 350 / 129 / 210 / 11 (~36.9% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a marginal −2 pass / +2 fail move versus the Aug-3 cut (matrix, skip, and at-target all flat). Pass 129 stays inside the settled 350-cell band (126–133); thirteenth straight cut on that matrix, at-target holding 220. Still targets draft-18. No Aug-5 cut at check time. See interop-runner.

Activity (Aug 3 → Aug 4) — A quiet-WG window gets two genuinely spec-adjacent items: Slack #moq breaks a ~5-day silence with a substantive DATAGRAM object-fragmentation design thread (Yu You/Nokia, 20 replies with afrind, Mathis Engelbart, and Luke Curley converging on “all roads lead to reimplementing QUIC streams”), and a new individual I-D — [[moq-feedback|draft-liu-moq-feedback-00]] “MoQ Feedback” (Multimodal Feedback, Yanmei Liu et al., Alibaba/Ant) — is announced to the list. Meanwhile moq carries another busy implementation day (~12 merges, a v0.14.6 release train, moq-lite-06 draft authoring), warp-player completes its CTA-608 caption pipeline (CC toggle #173 merged) and pivots to encrypted-playback testing, and the WG repos merge nothing (two new transport issues only).

The Aug 3 → Aug 4 window mixed live design discussion (Slack + the list) with the now-familiar implementation-carried substance (moq-dev + Eyevinn). No moq-wg repo merged a PR. The two headline items are spec-adjacent rather than code: a DATAGRAM object-fragmentation design thread on Slack and the MoQ Feedback individual draft. The datatracker shows no WG revision bumps (transport-19, loc-04, secure-objects-01, msf-01, cmsf-01, c4m-01, privacy-pass-auth-03, warp-01 all stand; draft-lcurley-moq-lite still -05; still no draft-lcurley-moq-archive) but one new individual draft (the Feedback draft, below). IETF-126 minutes remain the single Monday doc at rev -01. No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (+1 pass, see below).

Slack: how do you carry a video frame bigger than the datagram MTU?

Slack #moq broke its ~5-day silence Aug 3 with the channel’s first substantive technical design thread in weeks. Yu You (Nokia) asked how to handle object fragmentation for encoded video objects carried in MOQT DATAGRAMs when a frame exceeds the practical ~1200-byte QUIC datagram payload limit (“Subgroups work with larger objects, though”). The 20-reply thread is a compact tour of the MoQ partial-reliability design space:

  • Datagrams don’t fragment. Ali Begen: you must chunk the data at the application layer before handing it to QUIC. Giovanni Marzot cited draft-18 §11.3: an Object larger than the session’s maximum datagram size is dropped without explicit notification (QUIC negotiates a mutual max_datagram_frame_size and MUST close the connection on an oversized datagram). Conclusion: fragmentation is an application-layer problem. Paul Gregoire (Red5) noted he uses datagrams only for audio, which fits without fragmentation.
  • Why not a stream/subgroup instead? afrind framed datagrams as three properties — smaller than MTU, not flow-controlled, not retransmitted — and observed you can get the “not retransmitted” property from a stream with a short delivery timeout (or RESET_STREAM_AT). Mathis Engelbart pushed back on the practicalities: a timeout doesn’t reproduce datagram semantics (a frame split across 10 packets may retransmit the first piece several times before the last is sent once), and RESET behaviour is treacherous — from RoQ interop testing, some stacks routinely RESET instead of FIN, and some receivers drop unread data on RESET_STREAM, so sending the reset with the last byte can lose data.
  • Container format as the answer. Engelbart argued a container format like LOC could solve datagram fragmentation directly — carry enough framing (offsets, boundaries) that a receiver can consume whatever fragments arrive, without needing acks/retransmits. afrind sketched the same shape (a frame-start offset + a fin bit per datagram — “reimplementing QUIC STREAM frame in MOQ datagram”), prompting Luke Curley’s line of the thread: “all roads lead to reimplementing QUIC streams.” afrind: “once you start adding acks and rxmits you’ve gone too far” — and, closing the loop, QUIC already acks the datagrams, so a MoQ-layer ack channel would be redundant.

The thread is a clean statement of the recurring MoQ tension — datagrams give you at-most-once, un-flow-controlled delivery but cap you at the MTU, and everything you add to lift that cap edges you back toward streams. It also foreshadows the Feedback draft below (per-Object delivery status) and connects to Ian Swett’s late-July “Top Tracks and SSTS (or ABR in general)” list thread.

New individual draft: MoQ Feedback (Multimodal Feedback / MMF)

A new individual Internet-Draft, [[moq-feedback|draft-liu-moq-feedback-00]] “MoQ Feedback” (41 pages, submitted July 31), was announced to the moq@ietf.org list Aug 3 (04:10 UTC, raw-verified) by Yanmei Liu and Minghui Jiang (Alibaba Inc.) with Ronghua Wu (Ant Group), drawing an immediate reply from Cullen Jennings (16:18 UTC). It defines an MOQT extension letting receivers report delivery-quality information back to senders via Multimodal Feedback (MMF) — a mechanism that, rather than adding new control messages, reuses the Track/Object model as a “Feedback Track” carrying per-Object delivery-status reports (received / late / lost / partially received). The stated gap is that QUIC’s transport-layer feedback can’t perceive frame integrity, type, or deadline; MMF surfaces those to a three-layer architecture where the MoQ layer synthesizes MMF signals with congestion-control output to command bitrate/pacing, targeting both unidirectional streaming and bidirectional AI-inference sessions (tying into the same author’s Live Agent Interaction draft). It’s the first delivery-quality/feedback draft the wiki has tracked and a second Alibaba MoQ artifact from Yanmei Liu. Individual, not adopted — logged as a first-look. See moq-feedback.

WG transport: no merges, a URI-definition + auth-token-semantics theme

The moq-wg repos merged no PRs in the window; all activity was on moq-transport and all of it discussion. Two new issues opened, both raising message/URI-semantics questions in the Path-to-WGLC editorial vein:

  • issue #1839 “resolution of URI” (Cullen Jennings, Aug 3 16:29 UTC) — afrind (Aug 3 22:44) asked for a concrete PR and floated splitting the URI definition out of transport into a separate document, analogous to the RFC 9110/9114 semantics-vs-wire split.
  • issue #1838 “Semantics of multiple AUTHORIZATION TOKEN parameters in one message” (Michal Hošna, Aug 3 15:53 UTC) — no replies yet.

Around them, two pre-existing threads drew Aug-3 comments: issue #1835 “Is query in URI scoping?” (Will Law +1’ing that the URI query is not part of scope, citing RFC 3986’s treatment of query as opaque — consensus forming against query-as-scope), and issue #1720 “Fill Timeout reduction by relay” (Cullen Jennings wanting a relay to signal when it changes fill time; afrind rebutting with three signalling options that he argues all yield the same outcome at added complexity/RTT, asking for a concrete breaking use case). Together they mark a small URI-handling / parameter-semantics cleanup front on the editor’s copy — transport-19 stands, no wire change.

moq-dev: v0.14.6 release train, moq-lite-06 draft authoring, a moq-net reconnect cluster

moq (all Luke Curley bar one) had another busy day — ~12 merges, 9 new OPEN PRs, 2 new issues, and a new release train: moq-relay v0.14.6 / moq-ffi v0.3.6 / moq-cli v0.9.6 (Aug 3, superseding v0.14.5). Threads:

  • moq-lite-06 draft authoring. #2611 “spec broadcast epochs and ended broadcasts for moq-lite-06” (+249/−52, MERGED) plus new issue #2610 (dynamic announcements, broadcast epochs, ended VOD broadcasts) and OPEN #2607 (render gate, Hop ID 0, cluster rename, simplification pass, +820/−766) flesh out the vendored moq-lite-06 draft with VOD-broadcast-lifecycle semantics — continued in-repo spec work ahead of any datatracker -06.
  • Native-video GPU. #2601 “resize Direct3D11 textures on the GPU” (+2033/−141, MERGED) keeps the Windows decode/scale path GPU-resident, in the same vein as Aug-1’s Media-Foundation GPU-frame fix.
  • moq-net reconnect/caching cluster (opened just after midnight Aug 4, all OPEN): a reconnecting Connection handle (#2614), 15 s default group retention + relayed-cache-miss fix (#2615), announce-withdrawal on namespace end (#2616), a native-encoder raw-video publish binding (#2608), and a kio Fan shared-waiter primitive (#2604) — plus issue #2609 (expose moq-native’s reconnect through moq-ffi).

Also merged: moq-hls nested/encoded routes (#2598), a Discord CI-failure alert (#2599), Windows/macOS PR-gate removal (#2600), and koubaa’s Alive::drop warning fix (#2580). The mDNS peer-mesh (#2585) and Happy-Eyeballs dial (#2594) fronts remain OPEN.

Eyevinn/warp-player: CTA-608 pipeline completes, encrypted-playback thread opens

warp-player (Tobbe) closed out the CTA-608 caption pipeline on Aug 3: #173 “add the CC toggle and connect the caption sink” (+431/−6, MERGED) adds the on/off toggle and wires the caption sink, completing the capture→publish→extract→render round trip begun by mlmpub’s publisher-side SEI-injection epic. Attention then shifted to encrypted playback: #174 “prove CTA-608 survives cbcs subsample encryption” (+244/−1, MERGED) verifies captions survive DRM, while new issue #175 reports encrypted playback failing on the first audio packet — blocking the encrypted rows of the interop matrix (#166). moqlivemock itself was quiet in-window (Aug-2 go-608 bump + docs already logged).

Everything else: quiet, plus moqx dashboard work

  • moqx (Giovanni Marzot) shipped versioning + dashboard work (#505 OCI labels / version reporting / dashboard enhancements, +706/−326, MERGED) and a moxygen sync (#537); OPEN #539 wires the dashboard to per-track metrics (following afrind’s #533), alongside new issue #538 (moqx_pubActiveSubscriptions goes negative after subscriber teardown).
  • moq-rs (v0.7.25 stands), quiche (moqt, 0 commits since July 30), moq-js, moqtail, moxygen, imquic, moqtransport, Moqtopus, aiomoqt, and birneee/quiche_moq were all quiet.

Interop runner: +1 pass, third straight day in-band

The nightly runner’s Aug-3 00:36 UTC cut was 350 / 131 / 208 / 11 (~37.4% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a marginal +1 pass / −1 fail move versus the Aug-2 cut (one run flipped fail→pass; matrix, skip, and at-target all flat). Pass 131 holds a third straight day inside the settled 350-cell band (126–133); twelfth straight cut on that matrix, at-target holding 220. Still targets draft-18. See interop-runner.

Activity (Aug 2 → Aug 3) — two implementations carry a quiet WG window: moq opens an auth-token-tooling + Happy-Eyeballs-DNS thread (moq-cli token subcommand #2593, owner-only key files #2596), and warp-player lands a full CTA-608 closed-caption pipeline (~4,700 LOC), completing the caption round trip from mlmpub’s publisher-side SEI injection to player-side extraction + overlay rendering — while every moq-wg repo stays quiet (no PRs, no issues) and the overdue weekly GitHub digest finally posts.

The Aug 2 → Aug 3 window was implementation-carried, this time by two actors rather than one: Luke Curley on moq and Tobbe on the Eyevinn repos. Every moq-wg repo was quiet — no PRs merged, no PRs opened, no new issues on transport / msf / loc / secure-objects / cmsf / catalog-format / privacy-pass. Slack #moq stayed quiet (newest is still Suhas’s July-29 20:14 EEST reply on the Miniero MoQ-over-MoQ blog thread — ~5 days silent). The one genuinely new mailing-list message was the weekly GitHub digest (Aug 2 09:35 UTC, from the mnot.net “Repository Activity Summary Bot”, raw-verified) — the digest that was due ~Aug 2 but had not posted at the prior update’s check time; it is a routine retrospective recap of the prior week’s transport issues/PRs (#1837, #1835, #1829, #1819; PRs 1817), no new substance. The datatracker shows no revision bumps or new individual drafts (transport-19, loc-04 newest; draft-lcurley-moq-lite still -05; still no draft-lcurley-moq-archive I-D). IETF-126 minutes remain the single Monday doc at rev -01 (in WG review, corrections due ~Aug 12). No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut, byte-for-byte identical to Aug-1 (see below).

moq-dev: an auth-token-tooling thread and a Happy-Eyeballs DNS push

moq (all Luke Curley) had ~10 merges plus 4 new PRs and 1 new issue; relay v0.14.5 stands (no new release). The window’s two durable threads:

  • Auth-token tooling. #2593 “add a token subcommand to moq-cli” (+497/−236, MERGED) gives the CLI a first-class verb for generating/managing moq-token auth tokens, and #2596 “write private key files owner-only” (+223/−10, MERGED) hardens key-file permissions (0600) for the token-signing keys. This is the first dedicated tooling push on moq-token since the July --auth-api transport-forwarding work — surfacing the auth path (the same one that produced the Vienna cdn.moq.pro PATH/401 debugging) as an operator-facing CLI.
  • DNS / Happy-Eyeballs networking. #2592 “dial the resolver’s first choice, not the first family match” (+161/−63, MERGED) fixes moq-native address selection, and the follow-on is in flight: OPEN #2594 “race resolved addresses Happy Eyeballs style when dialing” (+661/−181) plus new issue #2595 “DNS-phase Happy Eyeballs: parallel A/AAAA resolution via hickory-resolver” — a full RFC-8305-style dual-stack connection-establishment story taking shape.

Around those: #2583 “rename WaiterCell to Park” (+217/−138, MERGED) tidies the kio concurrency primitive introduced July 31, #2597 unbreaks the libmoq release + moq-relay fresh-resolve build, and OPEN #2598 (nested/encoded moq-hls routes) + #2599 (Discord CI-failure alerts) round out the day, alongside the usual dependabot/bot merges. The Aug-1 mDNS local-network peer-mesh front (#2585) remains OPEN and grew (+1054/−6).

Eyevinn/warp-player: a full CTA-608 caption pipeline lands

warp-player (Tobbe) landed the player side of the CTA-608 closed-caption story on Aug 2 — ~4,700 LOC across three feature PRs, resolving the “warp-player rendering in progress” note (warp-player #156) the wiki has carried since moqlivemock’s publisher-side caption epic (mlmpub SEI injection, moqlivemock 117, July 24–25):

  • Extraction on the WebCodecs/LOC path: #169 “extract CTA-608 captions on the WebCodecs LOC path” (+730/−0, MERGED).
  • Extraction on the MSE/CMAF+LOCMAF path: #171 “extract CTA-608 from CMAF and LOCMAF fragments on the MSE path” (+1587/−2, MERGED) — captions now come off both of warp-player’s decode pipelines.
  • Rendering: #170 “add the timed-text overlay seam and CTA-608 renderer” (+2366/−1, MERGED) — a generic timed-text overlay seam plus the concrete CTA-608 renderer. The CC toggle + caption-sink wiring is the one remaining piece, OPEN in #173 (+431/−6).

On the publisher side, moqlivemock took a supporting go-608 v0.8.0 dependency bump with a migration to generate.Unit (#120) plus a CLAUDE.md trim (#121). Together this completes the CTA-608 capture→publish→extract→render round trip across the Eyevinn LOC/WebCodecs and CMAF/LOCMAF/MSE paths.

Everything else: quiet

Interop runner: byte-for-byte flat, second straight day at 130

The nightly runner’s Aug-2 00:35 UTC cut was 350 / 130 / 209 / 11 (~37.1% pass; at-target draft-18 220 · 0 ahead · 130 behind) — byte-for-byte identical to the Aug-1 cut (0 pass change; matrix, skip, and at-target all flat). Pass 130 holds a second straight day inside the settled 350-cell band (126–133); it’s the eleventh straight cut on that matrix, at-target holding 220. Still targets draft-18. See interop-runner.

Activity (Aug 1 → Aug 2) — moq carries a quieter window and follows through on the prior day’s spec-alignment thread: it completes the LOC-04 Timestamp code-point adoption (#2581 merged), adds relay-lifecycle and native-video hardening, and opens a genuinely new front — local-network peer discovery/mesh via mDNS (#2585, OPEN) — while the WG repos stay near-silent (no PRs; one live encoding discussion on transport issue #1837).

The Aug 1 → Aug 2 window was implementation-carried again — the third straight day where moq (all Luke Curley) supplied the durable content, but at a much smaller scale than July 31’s ~6,000-LOC burst. Slack #moq stayed quiet (newest is still Suhas’s July-29 20:14 EEST reply on the Miniero MoQ-over-MoQ blog thread — no July 30/31 or Aug-1/2 traffic), the mailing list had no genuinely new message (raw-verified — Magnus Westerlund’s July-29 IETF-126 draft-minutes email is still the newest; the weekly GitHub digest was due ~Aug 2 but had not posted at check time), and the datatracker shows no revision bumps or new individual drafts (transport-19, loc-04 newest; draft-lcurley-moq-lite still -05; still no draft-lcurley-moq-archive I-D). IETF-126 minutes remain the single Monday doc at rev -01 (in its ~2-week WG review, corrections due ~Aug 12). No new MoQ Monthly (#2, May 31); no open wiki issues; the nightly runner produced one new cut (−3 pass, see below).

moq-dev: LOC-04 adoption completes, relay + native-video hardening, an mDNS mesh front opens

moq followed through on July 31’s spec-alignment thread with four Aug-1 merges/PRs (relay v0.14.5 stands; no new release):

  • LOC-04 Timestamp code point adopted (merged): #2581 “adopt the draft-ietf-moq-loc-04 Timestamp code point, and align relay-hops with lite-06” (+653/−198, MERGED) — this was OPEN the prior day and now lands, completing the LOC-04 registry-fix adoption that #2578 began July 31. It moves moq-dev’s LOC packaging onto the draft-ietf-moq-loc-04 Timestamp code point (published July 20, which relocated the LOC Timestamp off its 0x06 collision) and continues moq-lite-06 relay-hop alignment ahead of any datatracker -06. Same spec-follows-in-code pattern the wiki has tracked since moq-dev first chose the transport-18 §15.8 property IDs (see moq-loc, moq-lite).
  • Relay-lifecycle hardening: #2582 “keep parked groups across a prune and revive a buried route” (+118/−28, MERGED) — another route/relay-lifecycle correction in the post-Vienna relay-correctness vein (parked groups surviving a prune, a buried route brought back).
  • Native-video hardening: #2584 “keep Media Foundation decoded frames on the GPU, and stop losing frames at group boundaries” (+731/−142, MERGED) — a Windows Media Foundation decode-path fix that keeps decoded frames GPU-resident and stops frame loss at group boundaries.
  • New front — local-network peer mesh via mDNS: OPEN #2585 “discover and mesh with MoQ peers on the local network via mDNS” (+606/−4) — a genuinely new capability: native peers auto-discovering and meshing with each other on the LAN via mDNS, extending the gossip/peer-mesh work beyond configured routes. Worth watching for a follow-on relay/CLI story. Trivia merges: a test-naming tidy (#2586) and a bot flake.lock bump (#2587).

WG repos: no PRs, one live encoding discussion (transport #1837)

The WG document repos stayed near-silent — no PRs merged on any moq-wg repo in the window (the last transport merge was July 30, msf July 30). The one live thread was Mathis Engelbart’s transport issue #1837 “FETCH and REQUEST_ERROR encoding” (opened July 31), which drew a real Aug-1 exchange: afrind asked “how ugly is your parser?”, Martin Duke agreed the three separate FETCH message formats are bit-inefficient and editorially hard to read (two are moving into a parameter), and Engelbart confirmed the code isn’t ugly but is “slightly annoying, especially when upgrading to new versions” — a WGLC-hygiene encoding cleanup, not a wire change (transport-19 stands). afrind’s PR #1820 “Add PUBLISH_NOTIFY message” (OPEN since July 21) also saw activity Aug-1 but has not merged. loc, secure-objects, msf, cmsf, catalog-format, and privacy-pass were quiet.

Everything else: quiet, plus small stirrings

  • moq-rs was quiet after July 31’s ship-day — moq-relay-ietf v0.7.25 (with the draft-14 upstream-retention backport) stands; no new PRs.
  • moqx took a routine moxygen sync (#535); afrind’s #532 (MoQT safe-form names) and #533 (per-track /metrics/track counters) remain OPEN.
  • aiomoqt (Giovanni Marzot) opened a v0.11.0 release-prep PR (#36) — the first movement on that Python client in a while.
  • moxygen closed #206 (qlog per-connection QLogger, afrind) unmerged.
  • quiche (moqt), moqtail, moq-js, imquic, moqlivemock, warp-player, moqtransport, Moqtopus, and birneee/quiche_moq were all quiet.

Interop runner: −3 pass, still inside the settled band

The nightly runner’s Aug-1 00:34 UTC cut was 350 / 130 / 209 / 11 (~37.1% pass; at-target draft-18 220 · 0 ahead · 130 behind) — a −3 pass / +3 fail drift versus the July-31 cut (350/133/206/11), with matrix, skip, and at-target all flat. Pass 130 falls back into the settled 350-cell band (126–133); it’s the tenth straight cut on that matrix, at-target holding 220 for an eleventh straight cut. Still targets draft-18. No Aug-2 cut at check time. See interop-runner.