Tags: x448/cbor
Tags
Update README to begin workaround for go.dev bugs Replaced a handful of markdown tables with SVG: "cbor speed/memory comparison", "cbor security comparison", "cbor features" and one more. There's a lot of markdown tables remaining (encoding/decoding option tables, etc.) that are being rendered incorrectly on go.dev. Mentioned the bug fix for v2.2, and CBOR decoder settings: `MaxNestedLevels`, `MaxArrayElements`, `MaxMapPairs`, and `IndefLength`. go.dev bugs filed about this are: golang/go#37284 golang/go#37394 Closes fxamacker#175
Update README.md for v2.1 (fxamacker#158) * Add CBOR tags example, "Encoding and Decoding CWT (CBOR Web Token) with CBOR Tags". * v2.1 passed 361+ million execs in coverage-guided fuzzing on Feb 17, 2020. * Package cbor is a fast & safe CBOR encoder & decoder (RFC 7049) with a standard API + toarray & keyasint struct tags, CBOR tags, float64->32->16, CTAP2 & Canonical CBOR, duplicate map key options, and is customizable via simple API.
Backport fix v2.0 -> v1.5 sanitize NaN/Infinity time Decode CBOR NaN and Infinity time values to Go zero time. Also show reminder in doc.go that v2 is available and provide link. Closed: fxamacker#141
Fix API bug introduced in v2.0.0 (fxamacker#138) Instead of adding (Un)MarshalerWithMode interfaces, the existing interfaces (Un)Marshaler was replaced by adding an extra parameter. Fix this by restoring (Un)Marshaler to the original API. See issue fxamacker#137 for details.
Add v2.0 API, faster CBOR, fewer allocs Implement v2.0 API for easier CBOR encoding/decoding. See issue fxamacker#117 for summary. Replaced EncOptions.TimeRFC3339 bool with TimeMode values: * TimeUnix // secs, converted to smallest CBOR integer that fits * TimeUnixMicro // μs, CBOR float with subsecs in fractional part * TimeUnixDynamic // secs or μs, either int or float depending on empty subsecs * TimeRFC3339 // secs, string * TimeRFC3339Nano // ns, string with trailing zeros removed Decode CBOR time NaN and Infinity values to Go's "zero time" value. This is how CBOR Null values are decoded to time.Time. Removed deprecated options (Canonical & CTAP2Canoical) in EncOptions. Removed Valid() function. Improved performance and memory alloc by * using pointer receivers for types implementing sort.Interface and others. * storing pointer in sync.Pool. * storing pointer as map value in sync.Map. Used roughly 20 linters and resolved many reported issues. Switched to GitHub Actions for CI to lint, test, and check code coverage. Extensive improvements to README.md. Thanks @x448 for API design ideas, travis & github ci configs, filing issues, and improving README.md. Closes: fxamacker#107 Closes: fxamacker#119 Closes: fxamacker#120 Closes: fxamacker#123 Closes: fxamacker#124 Closes: fxamacker#127
PreviousNext