Skip to content




  • DecodeMap is split into DecodeMap, DecodeTypedMap, and DecodeUntypedMap.
  • New msgpack extensions API.


  • Reset* functions also reset flags.
  • SetMapDecodeFunc is renamed to SetMapDecoder.
  • StructAsArray is renamed to UseArrayEncodedStructs.
  • SortMapKeys is renamed to SetSortMapKeys.


  • 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


  • is not supported any more. Update import path to
  • 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 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.