Update module github.com/fxamacker/cbor/v2 to v2.7.0 #31
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v2.4.0
->v2.7.0
Release Notes
fxamacker/cbor (github.com/fxamacker/cbor/v2)
v2.7.0
Compare Source
v2.7.0 (June 23, 2024)
v2.7.0 adds features and improvements that help large projects (e.g. Kubernetes) use CBOR as an alternative to JSON and Protocol Buffers. Other improvements include speedups, improved memory use, bug fixes, decoding/encoding options, etc. Passed 5+ billion execs fuzzing.
Special thanks to @benluddy for contributing features, optimizations, improvements, bug fixes, and discussions! 👍
⭐ Features and Optimizations
cbor.MarshalToBuffer()
,UserBufferEncMode
interface, etc. by @fxamacker in https://github.com/fxamacker/cbor/pull/553🛠 Improvements
Most improvements focused on fixing or updating new features. See 🐞 Bug Fixes section for fixes to features already released.
*errors.errorString
withInadmissibleTagContentTypeError
by @fxamacker in https://github.com/fxamacker/cbor/pull/552🐞 Bug Fixes
Other changes
Details
Full Changelog
Full Changelog: fxamacker/cbor@v2.6.0...v2.7.0
v2.6.0
Compare Source
This release adds important new features, optimizations, bug fixes, and 3 new contributors. Fuzz tests passed 5+ billion execs for CBOR encoding and decoding functions. Minimum officially supported Go is bumped to Go 1.17.
⭐ Features and Optimizations
interface{}
as*big.Int
by @fxamacker in https://github.com/fxamacker/cbor/pull/456interface{}
by @fxamacker in https://github.com/fxamacker/cbor/pull/457any
by @ssuriyan7 in https://github.com/fxamacker/cbor/pull/475🚀 Notable Optimizations
Improve memory allocs 🗜️ and speed 🚀 of encoding maps by using Go 1.18-1.20 features by @dinhxuanvu in https://github.com/fxamacker/cbor/pull/468
📊 Benchmarks
benchstat
results provided by @dinhxuanvuNOTE: Go 1.17 is the minimum version supported by v2.6.0. Go 1.20+ will use optimizations introduced by PR 468.
🛠 Improvements
UnrecognizedTagToAny
option toTestDecOptions
by @fxamacker in https://github.com/fxamacker/cbor/pull/484🐞 Bug Fixes
*cbor.SimpleValue
by @fxamacker in https://github.com/fxamacker/cbor/pull/461📖 Docs and CI
New Contributors
Full Changelog: fxamacker/cbor@v2.5.0...v2.6.0
v2.5.0
Compare Source
This release adds important new features, optimizations, bug fixes, and 8 new contributors. Fuzz tests passed 5+ billion execs for CBOR encoding and decoding functions.
Notable changes are split into 3 categories.
⭐ Notable Changes to Review Before Upgrading
These new features and bug fixes were cherry-picked to highlight for review (for projects using older version).
SimpleValue
type to more fully support CBOR Simple Values, including values not assigned by IANA and...ByteString
type to support CBOR maps with byte string keys because Go doesn't allow []byte as map keys and...Decoder.Decode()
returnio.ErrUnexpectedEOF
instead ofio.EOF
on EOF if current CBOR data item is incomplete.Unmarshal()
andValid()
returncbor.ExtraneousDataError
(instead of ignoring extraneous data if any remain).⭐ More Notable Changes
DecOptions.UTF8
to decode invalid UTF-8. Default is unchanged (reject invalid UTF-8 and return error).MaxNestedLevels
setting to be configured up to 65535.EncOptions.NilContainersMode
to encode nil Go maps and slices as either CBOR nil (default) or empty container.Decoder.Skip()
to skip CBOR data item in CBOR Sequences (RFC 8742).UnmarshalFirst()
to decode CBOR data item and also return remaining bytes.Valid
and addWellformed
to replace it.UnmarshalFirst()
toDecMode
interface.Decoder.Buffered
to return remaining data in buffer.🚀 Notable Changes Affecting Speed or Memory Use
RawMessage
has sufficient capacity.Encode()
. It adds a bit of overhead toEncode()
butNewEncoder().Encode()
is faster and uses less memory.Benchmark comparison for PR 382 shows significant improvement in speed and memory use.
🚀 (click to expand) 🚀
Benchmarks provided by @x448 for
NewEncoder().Encode()
optimized in PR 382.What's Changed
All merged pull requests are listed here (including the already highlighted ones).
(click to expand)
Changes to Code
Most coding changes here were already mentioned.
Decoder.Buffered
to return buffered data by @fxamacker in https://github.com/fxamacker/cbor/pull/412Diagnose()
to returnio.EOF
error on empty data by @fxamacker in https://github.com/fxamacker/cbor/pull/410Changes to CI, Comments, and Docs
New Contributors (alphabetically)
Non-coding contibutions were made by opening notable issues that directly or indirectly improved this release.
Encode()
returning buffer to pool as default behavior.Full Changelog: fxamacker/cbor@v2.4.0...v2.5.0
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.