5.4.1 (2023-10-26)
- reflect: not assignable to type (edeaedd)
5.4.0 (2023-10-01)
5.3.6 (2023-10-01)
- allow overwriting time.Time parsing from extID 13 (for NodeJS Date) (9a6b73b)
- apply omitEmptyFlag to empty structs (e5f8d03)
- support sorted keys for map[string]bool (690c1fa)
5.3.5 (2021-10-22)
- Allow decoding
nil
code as boolean false.
DecodeMap
is split intoDecodeMap
,DecodeTypedMap
, andDecodeUntypedMap
.- New msgpack extensions API.
Reset*
functions also reset flags.SetMapDecodeFunc
is renamed toSetMapDecoder
.StructAsArray
is renamed toUseArrayEncodedStructs
.SortMapKeys
is renamed toSetSortMapKeys
.
UseJSONTag
is removed. UseSetCustomStructTag("json")
instead.
- Encode, Decode, Marshal, and Unmarshal are changed to accept single argument. EncodeMulti and DecodeMulti are added as replacement.
- Added EncodeInt8/16/32/64 and EncodeUint8/16/32/64.
- Encoder changed to preserve type of numbers instead of chosing most compact encoding. The old behavior can be achieved with Encoder.UseCompactEncoding.
msgpack:",inline"
tag is restored to force inlining structs.
- Decoding extension types returns pointer to the value instead of the value. Fixes #153
- gopkg.in is not supported any more. Update import path to github.com/vmihailenco/msgpack.
- Msgpack maps are decoded into map[string]interface{} by default.
- EncodeSliceLen is removed in favor of EncodeArrayLen. DecodeSliceLen is removed in favor of DecodeArrayLen.
- Embedded structs are automatically inlined where possible.
- Time is encoded using extension as described in msgpack/msgpack#209. Old format is supported as well.
- EncodeInt8/16/32/64 is replaced with EncodeInt. EncodeUint8/16/32/64 is replaced with EncodeUint. There should be no performance differences.
- DecodeInterface can now return int8/16/32 and uint8/16/32.
- PeekCode returns codes.Code instead of byte.