You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`ArgumentError`| Invalid option or reserved tag number |`CBOR.encode(obj, invalid: true)`|
803
807
|`RangeError`| Integer overflow or invalid length | Encoding bigint larger than wire allows |
804
-
|`RuntimeError`| Malformed CBOR, depth exceeded, or unimplemented | Truncated buffer, nested too deep, indefinite-length|
808
+
|`RuntimeError`| Malformed CBOR or depth exceeded| Truncated buffer, nested too deep |
805
809
|`TypeError`| Type mismatch in registered tag or unknown source | Field is Array but schema expects String |
806
810
|`KeyError`| Lazy map access to missing key |`lazy["nonexistent"]` (use `.dig` for safe access) |
807
811
|`IndexError`| Lazy array out of bounds or invalid shared ref |`lazy[999]` on 3-item array |
@@ -823,12 +827,10 @@ Full RFC 8949 compliance. Official specification: https://tools.ietf.org/html/rf
823
827
824
828
Tested against:
825
829
826
-
-**Python:**`cbor2` library (comprehensive test suite via `interop.py`)
830
+
-**Go:**`fxamacker/cbor` v2 in strict mode (preferred serialization, UTF-8 validation, duplicate key rejection) — 63/63 checks pass including wire-level byte equality for all scalar types. See `interop_go/`.
827
831
828
832
**RFC 8949 compliance:** This implementation strictly adheres to RFC 8949, so it should interoperate with any spec-compliant CBOR decoder in any language.
829
833
830
-
**Guaranteed portability via `symbols_as_string`:** If you use string-based symbols (Tag 39), your CBOR documents are readable by any RFC 8949-compliant decoder in any language.
831
-
832
834
### Test Vectors
833
835
834
836
Official RFC 8949 test vectors (Appendix A) included in `/test-vectors/`. Run:
@@ -848,7 +850,7 @@ Apache License 2.0. See [LICENSE](LICENSE) file.
848
850
849
851
## Contributing
850
852
851
-
Issues, PRs, and bug reports welcome. See `interop.py` for testing against other implementations.
853
+
Issues, PRs, and bug reports welcome. See `interop_go/` for testing against Go's `fxamacker/cbor`.
0 commit comments