**Session Date/Time:** 29 Apr 2026 14:00 # [CBOR](../wg/cbor.html) **Interim Meeting Minutes - 2026-08** ## Summary The CBOR working group held an interim meeting to progress [draft-ietf-cbor-edn-literals](https://datatracker.ietf.org/doc/draft-ietf-cbor-edn-literals/) toward Working Group Last Call (WGLC) and to discuss the implications of partial implementations within [draft-ietf-cbor-serialization](https://datatracker.ietf.org/doc/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](https://datatracker.ietf.org/meeting/interim-2026-cbor-08/materials/slides-interim-2026-cbor-08-sessa-edn-00) 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), and `IP` (IP address). * **Carsten Bormann** noted that `H` and `B64` are inherited from RFC 7049, while `DT` and `IP` are trivial to implement. * **Christian Amsüss** felt these candidates seemed correct, though no final consensus was reached in the room. * **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](https://datatracker.ietf.org/meeting/interim-2026-cbor-08/materials/slides-interim-2026-cbor-08-sessa-partial-cbor-implementations-00) by **Laurence Lundblade**. * **Context:** [draft-ietf-cbor-serialization](https://datatracker.ietf.org/doc/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](https://datatracker.ietf.org/doc/draft-ietf-cbor-edn-literals/) ready for Working Group Last Call by the next interim meeting. * Discussion on [draft-ietf-cbor-serialization](https://datatracker.ietf.org/doc/draft-ietf-cbor-serialization/) will continue on the mailing list, specifically focusing on the distinction between guidance and mandatory rules for preferred serialization.