Releases: hashicorp/go-msgpack
v2.1.5
What's Changed
- build(deps): set go.mod to 1.24 and retract v2.1.4 by @pkazmierczak in #37
Full Changelog: v2.1.4...v2.1.5
v2.1.4
This release has been retracted and v2.1.5 should be used instead
v2.1.4 sets an unnecessarily high Go requirement at 1.25.1.
What's Changed
- build(deps): bump golang.org/x/net from 0.36.0 to 0.38.0 by @dependabot[bot] in #32
- build(deps): bump go to v1.25.1 by @pkazmierczak in #35
Full Changelog: v2.1.3...v2.1.4
v2.1.3
v2.1.2 Go 1.22 support
Fix codecgen autogenerated names to use base32 for Go 1.22 support
v2.1.1
v2.1.0 time.Time decoding fix; remove unsafe, unmaintained code
This release is primarily a cleanup release and to reduce the surface are of this library to just the safe variants of the msgpack and JSON codecs, and remove as much else as possible.
Included changes:
-
GH-13 Make time.Time decoding backwards compatible, and add full binary raft tests
We are concerned with binary backwards compatibility for this
project, especially as the upstream has a history of making breaking
changes.With that in mind, I collected a bunch of data from
https://github.com/hashicorp/raft for v0.5.5, v1.1.5, and v1.1.6
ofgo-msgpackto ensure that, moving forward, we can always decode
old raft logs.For the tests to pass, we have to support decoding
time.Time
using theencoding/binarymarshalling format, which was used
in certain v1.1.6.If users want to encode into the old binary marshalling time.Time format, it is still available with the
codec.BasicHandle.TimeNotBuiltinoption. Setting this option could help with migrating to thev2versions. -
GH-14 Remove fastpath and unsafe variants
-
GH-15 Use GitHub Actions instead of CircleCI
-
GH-16 Fix safe regression for non-addressable structs
When we removed the default, unsafe mode, it caused a regression
where we are no longer able to deserialize things likemap[string]struct{A string}
when we are deserializing into an already existing
structinstance.
This is because thestructin the map is not addressable by default,
which caused a runtime panic. The previous unsafe version wrote
directly to the underlying memory and bypassed this checkWe fix that by marking structs as an "immutable" type in the decoder,
forcing it to recreate thestructrather than try to write to
a non-addressablestruct. -
GH-17: Fix benchmarks; delete cbor, simple, binc (#17)
- Fixed all of the benchmark code to work again.
- Updated documentation with correct package paths
- Deleted protocols we don't need
cbor- simple
- binc
- Removed a bunch of workarounds for old Go versions
- Removed some redundant documentation
v2.0.0
Retract v1.1.5
See release notes for v2.0.0