Draft Versions
Draft-14 (primary target)
Section titled “Draft-14 (primary target)”moqtap v0.1 targets MoQT draft-14 (0xff00000e). This is the most widely implemented draft version as of early 2026.
Version negotiation
Section titled “Version negotiation”During connection setup:
- moqtap sends
CLIENT_SETUPwith a list of supported versions - The relay responds with
SERVER_SETUPselecting one version - moqtap loads the version-specific codec for the negotiated version
The negotiated version is displayed prominently in the UI.
What changes between drafts
Section titled “What changes between drafts”| Aspect | Example changes |
|---|---|
| Message type IDs | CLIENT_SETUP was 0x40 in early drafts, now 0x20 |
| Message fields | SUBSCRIBE gained/lost fields between drafts |
| Feature availability | FETCH didn’t exist in early drafts; PUBLISH is new in draft-14 |
| Error codes | Code values and meanings have shifted |
Adding new draft versions
Section titled “Adding new draft versions”moqtap’s codec has a DraftVersion enum. Adding a new draft version is additive — implement the version-specific parser alongside the existing one. The version abstraction isolates draft-specific logic.