Markdown Version | Transcript | Session Recording
Session Date/Time: 29 Apr 2026 14:00
CBOR
Interim Meeting Minutes - 2026-08
Summary
The CBOR working group held an interim meeting to progress draft-ietf-cbor-edn-literals toward Working Group Last Call (WGLC) and to discuss the implications of partial implementations within draft-ietf-cbor-serialization. Key topics included ABNF refinements for EDN, the mandatory-to-implement (MTI) status of specific extensions, and the balance of responsibility between senders and receivers in constrained environments.
Key Discussion Points
EDN Literals and ABNF
Presentation: EDN by Carsten Bormann.
- PR 102/103 (Simple Values): The check for simple value arguments has moved from semantic to syntactic within the ABNF. Carsten Bormann noted that some text regarding
simple(0x14)remains to be fixed in issue 103. - NaN Handling (Issues 93, 94, 96): Discussion on how to express NaNs in EDN. Christian Amsüss expressed concern that valid CBOR NaNs currently cannot be expressed in EDN without extensions. Carsten Bormann suggested that while there are many ways to solve this, the current implementation used by himself and Joe Hildebrand in test vectors is a viable candidate. A decision will be made during WGLC whether to include a fix now or wait for "Batch 1" of future extensions.
- Mandatory-to-Implement (MTI) Extensions:
- The group discussed which application extension identifiers should be MTI. The current candidates are
H(hex),B64(base64),DT(date-time), andIP(IP address). - Carsten Bormann noted that
HandB64are inherited from RFC 7049, whileDTandIPare trivial to implement. - Christian Amsüss felt these candidates seemed correct, though no final consensus was reached in the room.
- The group discussed which application extension identifiers should be MTI. The current candidates are
- Encoding Indicators: The document clarifies that encoding indicators are ignorable by decoders to prevent interoperability issues for implementations that do not support specific hints.
- Artificial Limitations (Issue 99): Christian Amsüss proposed an upper limit on consecutive backticks (e.g., 8 or 16) to simplify regular expressions for code editors. Carsten Bormann opposed this, citing historical lessons from SGML/XML where artificial limitations were removed to reduce complexity.
- Integrated vs. Two-Pass Parsers (PR 92): Rohan Mahy proposed making single-pass ABNF the default. Christian Amsüss suggested a split: integrated ABNF for common extensions (H, B64, IP, DT) and two-pass parsers for backtick-delimited strings to avoid "quoting hell." Carsten Bormann argued for maintaining flexibility for different implementation strategies.
- Wiki and Test Vectors: Michael Richardson suggested moving the EDN wiki to the IETF WG wiki. Carsten Bormann preferred a GitHub-based wiki for technical work with a pointer from the IETF wiki. Updates were also noted for Joe Hildebrand's EDN test vector project.
Partial CBOR Implementations
Presentation: Partial CBOR implementations by Laurence Lundblade.
- Context: draft-ietf-cbor-serialization addresses how implementations often only support a subset of CBOR (e.g., no floating point, no indefinite lengths, limited integer ranges).
- Implementation Onus: A significant debate occurred regarding where the responsibility for interoperability lies.
- Laurence Lundblade argued that partial implementation is the rule in constrained environments and the serialization draft helps resolve the resulting interoperability gaps through Deterministic Length Only (DLO) and Preferred Plus serialization.
- Carsten Bormann strongly objected to shifting the "onus" to the sender. He argued that CBOR (per RFC 8949) expects receivers to handle valid CBOR and that allowing a partial receiver to reject valid (but non-preferred) input creates new interoperability failures in a 13-year-old ecosystem.
- Christian Amsüss countered that many developers want "Preferred Plus" as a useful default guidance/rule to ensure predictable behavior across implementations.
- Laurence Lundblade emphasized that the document must be explicit about the requirements for sending versus receiving to prevent confusion.
Decisions and Action Items
- Action Item: Carsten Bormann to address issue 103 (Simple Value text fixes) within the next 48 hours.
- Decision: Issues 86 and 90 (app extensions and encoding indicators) are tentatively postponed to the "Batch 1" extension document.
- Action Item: Carsten Bormann to update the IETF wiki with pointers to GitHub-based EDN resources.
Next Steps
- The working group aims to have draft-ietf-cbor-edn-literals ready for Working Group Last Call by the next interim meeting.
- Discussion on draft-ietf-cbor-serialization will continue on the mailing list, specifically focusing on the distinction between guidance and mandatory rules for preferred serialization.