Changelogs » Msgpack

PyUp Safety actively tracks 232,000 Python packages for vulnerabilities and notifies you when to upgrade.

Msgpack

3.2.1

* Fix snprintf return value checking (821)
  * Remove some warnings (819)
  * Fix fbuffer result checking (812)
  * Fix temporary object handling (807)
  * Improve cmake support (804)
  * Fix invalid `int main` parameter (800)
  * Improve supporting platform (797, 817)
  * Fix ZLIB error handling (795)
  * Remove unused variable (793)
  * Improve integer overflow checking (792)

3.2.0

* Fix invalid include (783)
  * Add timespec support (781)
  * Fix unchecked fnprintf on C (780)
  * Improve integer overflow checking on C (776)
  * Fix warnings on `-Wconversion` (770, 777, 784)
  * Fix invalid passed by value on aligned_zone_size_visitor (764)
  * Improve windows support (757, 779)
  * Fix msgpack::object size caluclation error (754)
  * Fix memory error on example code (753)
  * Fix redundant memory allocation on C (747)
  * Fix msgpack::type::tuple base class conversion (743)

3.1.1

* Add force endian set functionality (736)
  * Fix vrefbuffer memory management problem (733)
  * Fix msvc specific problem (731, 732)
  * Update boost from 1.61.0 to 1.68.0 (730)
  * Fix msgpack_timestamp type mismatch bug (726)

3.1.0

* Improve documents (687, 718)
  * Add fuzzer support (689)
  * Fix msgpack::object union member access bug (694)
  * Improve cross platform configuration (704)
  * Fix out of range dereference bug of EXT (705)
  * Add timestamp support. std::chrono::system_clock::time_point is mapped to TIMESTAMP (706)
  * Add minimal timestamp support for C. The type `msgpack_timestamp` and the function `msgpack_object_to_timestamp()` are introduced (707)
  * Improve MSGPACK_DEFINE family name confliction probability (710)
  * Add no static-library build option (BUILD_SHARED_LIBS=ON) (713, 717, 722)
  * Add header only cmake target (721)
  * Add `std::byte` adaptor (719)
  * Remove some warnings (720)

3.0.1

* Add fuzz directory to release tar ball (686)
  * Add include file checking for X-Code (683)

3.0.0

<< breaking changes >>
  
  * Change offset parameter updating rule. If parse error happens, offset is updated to the error position. (639, 666)
  
  << other updates >>
  
  * Improve cross platform configuration (655, 677)
  * Improve build system (647)
  * Improve user class adaptor (645, 673)
  * Improve msgpack::object visitation logic (676)
  * Remove some warnings (641, 659)
  * Add `->` and `*` operators to object_handle (635)
  * Improve CI environment (631, 634, 643, 657, 662, 668)
  * Improve documents (630, 661)
  * Refactoring (670)
  * Add OSS-Fuzz support (672, 674, 675, 678)

2.1.5

* Improve cross platform configuration (624)
  * Add boost asio examples (including zlib) (610)
  * Remove some warnings (611)
  * Fix unpack visitor to treat float32/64 correctly (613)
  * Improve documents (616)
  * Fix alignment problem on some platform (617, 518)
  * Fix conflict std::tuple, std::pair, and boost::fusion::sequence problem (619)
  
  2017-08-03 version 2.1.4 (Invalid)
  * See https://github.com/msgpack/msgpack-c/issues/623

2.1.3

* Improve build system (603)
  * Add C++17 adaptors `std::optional` and `std::string_view`. (607, 608)
  * Improve cross platform configuration (601)
  * Remove some warnings (599, 602, 605)

2.1.2

* Improve documents (565)
  * Fix empty map parse bug (568)
  * Improve build system (569, 570, 572, 579, 591, 592)
  * Remove some warnings (574, 578, 586, 588)
  * Improve cross platform configuration (577, 582)
  * Add cmake package config support (580)
  * Fix streaming unpack bug (585)

2.1.1

* Fix unpacker's buffer management bug (561)
  * Add boost string_view adaptor (558)
  * Remove some warnings (557, 559)
  * Improve coding style (556)

2.1.0

<< breaking changes >>
  
  * Fix object internal data type is float if msgpack format is float32 (531)
  
  << recommended changes >>
  
  * Add `FLOAT64` type. Please use it instead of `DOUBLE` (531)
  * Add `FLOAT32` type. Please use it instead of `FLOAT` (531)
  
  << other updates >>
  
  * Add iterator based parse/unpack function(experimental) (553)
  * Add `[[deprecated]]` attribute for C++14 (552)
  * Fix `msgpack_unpack()` return code (548)
  * Fix integer overflow (547, 549, 550)
  * Add example codes (542)
  * Add MSGPACK_NVP. You can use not only variable name but also any strings (535)
  * Fix and Improve build system (532, 545)
  * Fix `gcc_atomic.hpp` include path (529, 530)
  * Improve CI environment (526)
  * Improve documents (524)
  * Add msgpack_unpacker_next_with_size() function (515)
  * Fix `as()` applying condition (511)
  * Fix fbuffer write (504)
  * Add gcc bug workaround (499)
  * Improve object print (497, 500, 505, 533)
  * Remove some warnings (495, 506, 508, 513, 528, 538, 545)

2.0.0

<< breaking changes >>
  
  * Removed autotools support. Use cmake instead (476, 479)
  * Removed pointer version of msgpack::unpack APIs. Use reference version instead (453)
  * Removed MSGPACK_DISABLE_LEGACY_CONVERT. msgpack::object::convert(T*) is removed by default. Use msgpack::object::convert(T&) instead (451)
  * Removed msgpacl::type::nil. Use nil_t or define MSGPACK_USE_LECACY_NIL (444)
  * Removed std::string to msgpack::object conversion (434)
  
  << recommended changes >>
  
  * Replaced msgpack::unpacked with msgpack::object_handle. msgpack::unpacked is kept as a typedef of msgpack::object_handle. (448)
  
  << other updates >>
  
  * Add strict size checking adaptor. Relaxed tuple conversion (489)
  * Fix and Improve example codes (487)
  * Add C++/CLI support for nullptr (481)
  * Update the boost libraries that are contained by msgpack-c (475)
  * Fix gcc_atomic.hpp location (474)
  * Add C-Style array support (466, 488)
  * Fix include file dependency (464)
  * Add a visitor version of unpack API (461)
  * Fix JSON string conversion from "nil" to "null" (458)
  * Fix and Improve build system (455, 471, 473, 486, 491)
  * Fix comments (452)
  * Fix unintentional msgpack::zone moving problem (447)
  * Fix operator>> and << for msgpack::object (443)
  * Fix C++03 msgpack::zone::clear() memory access violation bug (441)
  * Fix TARGET_OS_IPHONE checking (436)
  * Fix invalid front() call for empty container (435)
  * Fix compile error on g++6 (C++11 only) (426, 430)
  * Fix zone size expansion logic (423)
  * Fix wrong hader file dependency (421)
  * Fix msvc specific problem (420)
  * Add v2 API support (415)

1.11.0

https://github.com/msgpack/msgpack-javascript/compare/v1.10.1...v1.11.0
  
  * Added support for custom context for keeping track of objects ([101](https://github.com/msgpack/msgpack-javascript/pull/101) by grantila)
  * Export ``EncodeOptions` and `DecodeOptions` ([100](https://github.com/msgpack/msgpack-javascript/pull/100))

1.10.1

https://github.com/msgpack/msgpack-javascript/compare/v1.10.0...v1.10.1
  
  * Re-package it with the latest Webpack and Terser

1.10.0

https://github.com/msgpack/msgpack-javascript/compare/v1.9.3...v1.10.0
  
  * Remove WebAssembly implementation, which introduced complexity rather than performance ([95](https://github.com/msgpack/msgpack-javascript/pull/95))

1.9.3

https://github.com/msgpack/msgpack-javascript/compare/v1.9.2...v1.9.3
  
  * Fix a possible crash in decoding long strings (amending 88): [90](https://github.com/msgpack/msgpack-javascript/pull/90) by chrisnojima

1.9.2

https://github.com/msgpack/msgpack-javascript/compare/v1.9.1...v1.9.2
  
  * Fix a possible crash in decoding long strings: [88](https://github.com/msgpack/msgpack-javascript/pull/88) by chrisnojima

1.9.1

https://github.com/msgpack/msgpack-javascript/compare/v1.9.0...v1.9.1
  
  * No code changes from 1.9.0
  * Upgrade dev dependencies

1.9.0

https://github.com/msgpack/msgpack-javascript/compare/v1.8.0...v1.9.0
  
  * [Make cachedKeyDecoder configurable by sergeyzenchenko · Pull Request \85](https://github.com/msgpack/msgpack-javascript/pull/85)
  * [Add support for numbers as map keys by sergeyzenchenko · Pull Request \84](https://github.com/msgpack/msgpack-javascript/pull/84)
  * Build with TypeScript 3.6

1.8.0

https://github.com/msgpack/msgpack-javascript/compare/v1.7.0...v1.8.0
  
  * Adjust internal cache size according to benchmark results [bc5e681](https://github.com/msgpack/msgpack-javascript/commit/bc5e681e781881ed27efaf97ba4156b484dc7648)
  * Internal refactoring [82](https://github.com/msgpack/msgpack-javascript7/pull/82)

1.7.0

https://github.com/msgpack/msgpack-javascript/compare/v1.6.0...v1.7.0
  
  * Introduce cache for map keys, which improves decoding in 1.5x faster for the benchmark (sergeyzenchenko) [54](https://github.com/msgpack/msgpack-javascript/pull/54)
  *

1.6.0

https://github.com/msgpack/msgpack-javascript/compare/v1.5.0...v1.6.0
  
  * Add `EncodeOptions.forceFloat32` to encode non-integer numbers in float32 (default to float64) [79](https://github.com/msgpack/msgpack-javascript/pull/79)

1.5.0

https://github.com/msgpack/msgpack-javascript/compare/v1.4.6...v1.5.0
  
  * Improve `decode()` to handle `ArrayBuffer` [78](https://github.com/msgpack/msgpack-javascript/pull/78)

1.4.6

https://github.com/msgpack/msgpack-javascript/compare/v1.4.5...v1.4.6
  
  * use `TextEncoder` to encode string in UTF-8 for performance [68](https://github.com/msgpack/msgpack-javascript/pull/68)

1.4.5

https://github.com/msgpack/msgpack-javascript/compare/v1.4.4...v1.4.5
  
  * Fix an encoding result of -128 from int16 to int8 [73](https://github.com/msgpack/msgpack-javascript/pull/73)

1.4.4

https://github.com/msgpack/msgpack-javascript/compare/v1.4.1...v1.4.4
  
  * Fix the UMD build setting to correctly setup `MessagePack` module in the global object

1.4.3

Mispackaged.

1.4.1

https://github.com/msgpack/msgpack-javascript/compare/v1.4.0...v1.4.1
  
  * Improved entrypoints for browsers:
  * Build as UMD
  * Minidifed by default

1.4.0

https://github.com/msgpack/msgpack-javascript/compare/v1.3.2...v1.4.0
  
  * Added `sortKeys: boolean` option to `encode()` for canonical encoding [64](https://github.com/msgpack/msgpack-javascript/pull/64)
  * Fixed `RangeError` in encoding BLOB [66](https://github.com/msgpack/msgpack-javascript/pull/66)

1.3.3

* Hotfix release for Windows environments: 1.3.2 missed including binaries

1.3.2

* Add Ruby 2.7.0 binary in gem releases for Windows

1.3.1

* Fix timestamp ext type bug about timestamps with seconds larger than 32bit int (after 2106-02-07 06:28:16 UTC)

1.3.0

* Update `deserialize_string` to use tail recursive map. ([17](https://github.com/msgpack/msgpack-ocaml/pull/17))
  * Rename base module to avoid conflict. ([18](https://github.com/msgpack/msgpack-ocaml/pull/18))
  * Enable msgpack to be safe-string ready. ([19](https://github.com/msgpack/msgpack-ocaml/pull/19))
  
  Breaking changes
  
  * Drop camlp4 and use ppx_meta_conv instead of meta_conv. ([12](https://github.com/msgpack/msgpack-ocaml/pull/12), [15](https://github.com/msgpack/msgpack-ocaml/pull/15))
  * Drop OCaml before 4.01.0. ([24](https://github.com/msgpack/msgpack-ocaml/pull/24))

1.2.10

* Optimze MessagePack.unpack not to copy source string

1.2.9

* Hotfix release only for JRuby: 1.2.8-java was built incorrectly

1.2.8

* Fix a regression that MessagePackunpack raises error if IO is assigned as the (only) argument
  * Improve compatibility that MessagePackpack returns nil if IO is assigned as 2nd argument

1.2.7

* Add Packerwrite_bin and Packerwrite_bin_header methods

1.2.6

* Update Ruby version 2.6 dependency (especially for Windows environment)

1.2.4


        

1.2.3

* Add Ruby 2.5.0 binary in gem releases for Windows

1.2.2

* Fix bug to occur SEGV occasionally (depends on GC timing) when exttype is used
  * Fix bug to encode an ext type with wrong type id if superclass is also registered as ext type

1.2.1

* Hotfix release only for JRuby: 1.2.0-java was built in incorrect way

1.2.0

* Add MessagePack::Factorydump and MessagePack::Factoryload as convenient methods
  like MessagePack.dump and MessagePack.load
  * Fix bug to accept MessagePack::Factoryregister_type after freeze

1.1

BUG FIXES
  * Fix conversion from DateTime[Offset] to Timestamp failure for before Unix epoc. 296 (port from 1.0.x branch)
  
  NEW FEATURE
  * Allow programatically ignoring arbitary members via BindingOptions. Thank you ShrenikOne 282
  * To prevent accidental Timestamp serialization in existing code, SerializationContext.ConfigureClassic(SerializationCompatibilityLevel) and SerializationContext.CreateClassicContext(SerializationCompatibilityLevel) are added. 296
  
  
  1.�޸�����ֵΪ127ʱ�������Ϊ0�����,��л(Putree  274638001<spiritringgmail.com>)����
  2015-07-14 15:28:45
  
  2.����DecodeFormFile����
  2015-07-14 16:31:32
  
  3.�޸�ForcePathObject���Ҳ����Ӷ����bug,��л(Putree  274638001<spiritringgmail.com>)����
  2015-07-14 16:32:13

1.1.0

* Fix the extension type handling to accept modules in addition to classes

1.0.3

* Support Ruby 2.4

1.0.2

=============================================================
  
  API Breaking Changes
  
  * None.
  
  Enhancements
  
  * None.
  
  Bugfixes
  
  * Fixed exception *Maximum call stack size exceeded* thrown in some cases.

1.0.1

=============================================================
  
  API Breaking Changes
  
  * None.
  
  Enhancements
  
  * Fixed project badges.
  
  Bugfixes
  
  * None.

1.0

==========
  
  Initial release.

1.0.0

=============================================================
  
  API Breaking Changes
  
  * None.
  
  Enhancements
  
  * None.
  
  Bugfixes
  
  * None.
  
  
  Changelog
  All notable changes to this project will be documented in this file.
  
  The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
  and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

1.0.0rc1

BUG FIXES
  * Fix NRE in .NET Standard 1.1/1.3 build (this issue got mixed in beta2).
  * Fix built-in Guid/BigInteger always output raw type even if PackerCompatibilityOptions.PackBinaryAsRaw is not specified. 270
  * Fix MessagePackObject.UnderlyingType reports wrong type for ext types. Part of 269.
  This bug also caused misleading error message for incompatible type conversion.
  * Fix exceptions thrown by MessagePackObject.AsBinary()/AsString() reports internal type name. Part of 269.

1.0.0beta1

NEW FEATURES
  * .NET Standard 2.0 which supports serializer source code generation on .NET Core. Note that serializer assembly generation is not supported.
  * MessagePackSerializer.UnpackMessagePackObject(byte[]) utility method.
  * MessagePack timestamp type support. This includes interoperability with DateTime/DateTimeOffset as well as MsgPack.Timespan type with basic arithmatics, properties, and conversions.
  
  BUG FIXES
  * Fix ByteArrayPacker throws IndexOutOfBoundException when the buffer remaining bytes is equal to packed scalar size. 252
  * Fix UAP build drop does not exists in nupkg. 186
  * Fix new unpacker cannot unpack reserved ext types.
  
  Relase 1.0.0-beta2 2017-10-29
  
  CHANGES
  * Xamarin builds are now integrated to .NET Standard 2.0.
  
  NEW FEATURES
  * ValueTuple support. 277
  
  IMPROVEMENTS
  * System.Tuple<T> detection now ignores their declaring assemblies.
  * Improve exception message in AOT error of Unity.
  * .NET Standard 1.1/1.3 projects now do not depend on System.Linq.Expressions package.

0.17.0

* Added Any class (thanks willhbr)
  * Internal split parsing of String and Binary tokens

0.16.1

* Use unions int type as token int representation instead of Int64

0.16.0

* Update to Crystal 0.31, fixed Arithmetic overflows

0.15.0

* Added ArraySerializable module
  * Added Serializable::Presence module
  * fix byte_number in errors in some cases

0.14.2

* Add support for type extension, fixed 44

0.13.1

* **(breaking change)** Rewrite Unpacker logic, changed Token, Lexer and Unpacker
  * **(breaking change)** Remove unpacker methods: from_msgpack64, to_msgpack64
  * **(breaking change)** Remove Eof token (raises EofError instead)
  * **(breaking change)** Rename unpacker method read_value_tokens to read_node
  * **(breaking change)** Rename TokensUnpacker to NodeUnpacker
  * **(breaking change)** Rename UnpackException to UnpackError
  * **(breaking change)** MessagePack::Type have only one type Int64 for ints, and Float64 for floats
  * Add more exception types for every case

0.12.1

* **(breaking change)** Rename MessagePack::Unpacker to MessagePack::IOUnpacker
  * Add MessagePack::TokensUnpacker
  * Add unpacker method read_value_tokens, to read value as tokens array
  * Optimize read Unions, without create temporary msgpack
  * Fix 52, reading from stream when data types mismatch

0.11.1

* fixed nilable types in NamedTuple, 49

0.11.0

* fixed unpack nilable option in NamedTuple, 49
  * refactor replace symbols with enums, thanks Fryguy, 47

0.10.0

* Updated to crystal 0.25.0
  * Added MessagePack::Serializable

0.9.2

BUG FIXES
  * Fix UAP build drop does not exists in nupkg. 186

0.9.1

BUG FIXES
  * Fix ByteArrayPacker throws IndexOutOfBoundException when the buffer remaining bytes is equal to packed scalar size. 252

0.9.0

NEW FEATURES
  * Enum name transformation via `SerializationContext.EnumSerializationOptions.NameTransformer`.
  Built in transformer is placed in `EnumTransoformers`.
  Issue 184.
  * Polymorphic attributes now supports type qualification. Issue 171.
  * Runtime type polymorphism now supports name based type verification. This feature allows to prevent loading malicious or unknown types ibefore assembly loading.
  * Asymmetric serializers. You can generate "pack only" serializer when you set SerializationContext.CompabilityOptions.AllowAsymmetricSerializer to true. 68.
  * Built in serializer for System.Text.StringBuilder now supports UnpackTo.
  * Add serialization to/from MessagePackObject as extension methods of MessagePackSerializer and MessagePackSerializer<T>. Issue 90
  * Users of serializer code generator API can specify TextWriter to output. This may improve tooling chain.
  * Users of serializer code generator API can suppress [DebuggerNonUserCode] attribute to enable debugger step in.
  * SerializerRepository API now expose ContainsFor and GetRegisteredSerializers methods to investigate registered serializers.
  * SerializationContext.DisablePrivilegedAccess for restricted environment like Silverlight to select between granting permission or relinquish non-public access.
  * UWP build is now included.
  * ByteArrayPacker/ByteArrayUnpacker. They are suitable for fixed pattern serialization/deserialization.
  * Fast mode of unpacker which omits nested collection management. This option can be disabled with setting UnpackerOptions.ValidationLevel to ValidationLevel.Collection.
  
  IMPROVEMENTS
  * Byte array based serialization API now uses ByteArrayPacker/ByteArrayUnpacker, improves about 40% faster than Stream based.
  * Deserialization now uses ValidationLevel.None, improves about 30% faster than validating one.
  * Packer/Unpacker performance improvements about 10-20%. As a result, new byte array "fast" unpacker is about 3x faster than previous unpacker.
  
  BUG FIXES
  * Fix nuspec to prevent old NuGet clients which do not support .NET Standard TFMs. Issue 177.
  * The generated code for the type which has Tuple typed member uses old PackHelper API.
  * Fix struct deserialization. Issue 189. Thank you samcragg!
  * Fix asynchronous packing is not be emitted correctly. Issue 201
  * Fix SerializerCodeGenerator does not handle collections correctly for IsRecursive = true. Issue 203
  * Fix extra field causes IndexOutOfBoundException when reflection based serializers are used. Issue 199
  * Fix some built-in serializers throws InvalidOperationException instead of SerializationException for type errors. Issue 204
  * Fix a combination of readonly members and collection members incorrect code generation when the type also have deserialization constructor. Issue 207.
  * Fix built-in collection serializers such as List<T> serializer causes SecurityException when the program run in restricted environment like Silverlight. Issue 205.
  * Fix null items of complex type in List<T> or Dictionary<TKey, TValue> will not be deserialized as null. Issue 211. (from 0.8.1)
  * Fix types which implement IPackable and IUnpackable but do not have any members cannot be serialized. Issue 202
  * Fix Windows Native build error. Issue 206.
  * Fix constructor deserialization fails if the constructor parameters order is not lexical. Issue 233
  * Fix asynchronous multi dimensional array deserialization corruption.
  * Fix enum serialization throws NullReferenceException in Unity. Issue 215.
  * Fix MessagePackSerializer.Capability does not work correctly in Unity.
  * Fix polymorphic serializer error in Unity.

0.8.1

BUG FIXES
  * Fix null items of complex type in List<T> or Dictionary<TKey, TValue> will not be deserialized as null. Issue 211.

0.8.0

Nothing from 0.8.0 beta.

0.7.6

* Fix bug to raise IndexOutOfBoundsException for Bignum value with small int in JRuby

0.7.5

* Improved support for i386/armel/armhf environments
  * Fix bug for negative ext type id and some architectures (arm*)

0.7.4

* Improved compatibility of Packer between CRuby and JRuby about argument IO-ish object values.

0.7.3

* Add Packerwrite_float32 method to pack floating point numbers into FLOAT of messagepack.

0.7.2

* Improved compatibility of Unpacker between CRuby and JRuby to accept stream-like object
  by checking respond_to(:read) in addition to class check

0.7.1

* Fixed bug to pack/unpack ext type objects larger than 256bytes incorrectly.

0.7

This release includes 0.6.8 fixes. Here are cumulative changelogs from 0.6.8.
  (There are no changes from 0.7.0-rc1)
  
  MAJOR BREAKING CHANGES
  * PackerCompatibilityOptions.None is now default. This means that msgpack bin or str8 formats are used by default.
  You can still turn off them by PackerCompatibilityOptions.Classic.
  
  MINOR BREAKING CHANGES
  * .NET 4.0, 4.5.0, 4.5.1, 4.6.0 are no longer supported.
  * Unity without IL2CPP (a.k.a. AOT) is no longer supported.
  * IPackable/IUnpackable is respected for collections now. Issue 153.
  This behavior can be disabled by setting SerializationCompatibilityOptions.IgnorePackabilityForCollection to true.
  * mpu.exe now works on .NET 4.6.1.
  
  TRIVIAL BREAKING CHANGES
  * Generated serializers code has different structure, it might break your custom toolset which depends generated code structure.
  * Generated serializer now always check SerializationContext.SerializationMethod when they serialize objects. Changing SerializationContext.SerializationMethod in use causes unexpected behavior even it is extremely rare to do it.
  * Generated serializers code has different structure, it might break your custom toolset which depends generated code structure.
  * Internal structure for Silverlight builds are changed. They now use only reflection based serializers and pre-generated serializers instead of Expression Tree based serializers.
  
  NEW FEATURES
  * Add .NET Core support. Note that .NET Core does NOT support CodeDOM or persistance of AsemblyBuilder, so MsgPack for CLI .NET Core build cannot support code generation. To generate source code or assembly of serializers in non-Windows environment, you must use Mono with .NET 4.5 build. Issue 128
  * Add buffering option for Packer/Unpacker which can be enabled by PackerUnpackerStreamOptions.WithBuffering = true. It should improve performance for non-buffered stream like NetworkStream.
  * Async support. Issue 49. Note that it is highly recommended to use buffering feature of Packer or Unpacker factory methods to avoid too chutty asynchronous I/O call. In addition, async API may avoid unnecessary blocking but it is not so efficienty in most cases.
  * SerializerGenerator.GenerateSerializerCodeAssembly now supports custom namespace. Issue 138.
  * Add IgnoreDataMemberAttribute to ignoring member indicators. Issue 146.
  * Unity IL2CPP support. Unity DLLs now support IL2CPP with various AOT issue workarounds. Unity build requires 5.3.5f1 or above.
  * Xamarin iOS linker support.
  
  IMPROVEMENTS
  * Exceptions now includes stream position for seekable stream or "offset from Unpacker construction" for non-seekable stream.
  * Generated code now well structured which improves debuggability, it also remove some redundant expressions.
  * Move throw statements from hot-path to improve performance a bit.
  * Generated serializer now always check SerializationContext.SerializationMethod when they serialize objects. No longer need to re-generate serializer codes/assemblies to switch serialization method between array and map.
  * Generated code now more structured which improves debuggability, it also remove some redundant expressions.
  * DateMemberAttribute matching is now name based instead of type based.
  * The type which implement IEnumerable but does not implement Add now supported. Issue 169.
  This behavior can be disabled with setting SerializationContext.CompatibilityOptions.AllowNonCollectionEnumerableTypes to false.
  * mpu.exe and SerializerGenerator now supports compatibility switches.
  
  BUG FIXES
  * Fix Unpacker.Skip failes when the stream is fragmented such as raw NetworkStream.
  * Fix generated serializer codes are not available in WinRT/UWP because of reflection API incompatibility when the type has non-public and explicitly marked fields/properties.
  * Fix explicit IPackable/IUnpackable interface implementation causes serializer generator error. Issue 150.
  * Fix non-public collection typed members with attributes causes serialization generation error. Issue 152.
  * Fix collection only implements IEnumerable may cause NotSupportedException.
  * Fix hidden by signature members ("new" in C) causes invalid serializer code generation. Issue/PR 147, 161, 162.
  * IPackable/IUnpackable is respected for collections now. Issue 153.
  * Fix the Unpacker always returns 0 when the underlying stream has double typed value.
  * Fix MessagePackObject.PackToMessage does not look PackerCompatibilityOptions. Issue 168.
  * Fix type initializer causes InvalidOperatiionException of serializer generation on WinRT projects. 170.
  * Fix batch serializer code generation may report invalid error message due to context reset leaking.
  * Fix reflection based serializer possibly throws NotSupportedException instead of SerializationException.
  
  KNOWN ISSUES
  * Reflection based serializers in Unity build is not stable even if you specify [Preserve] and/or link.xml.

0.7.0

* Add extension types support.
  * Fix to share almost all test cases between CRuby and JRuby implementations.
  * Fixed JRuby implementation to raise UnknownExtTypeError for unregistered ext type ids
  instead to generate MessagePack::ExtensionValue instances.
  (Specify `allow_unknown_ext: true` as unpacker option for v0.6.x behavior.)

0.7rc1

This release supports .NET Core 1.0 final.
  
  BREAKING CHANGES
  * netstandard 1.1 now do NOT support System.DBNull because System.Data.Common final package supports only >=1.2 (affects 0.7.0-alpha/beta only).
  * mpu.exe now works on .NET 4.6.1.
  
  IMPROVEMENTS
  * The type which implement IEnumerable but does not implement Add now supported. Issue 169.
  This behavior can be disabled with setting SerializationContext.CompatibilityOptions.AllowNonCollectionEnumerableTypes to false.
  * mpu.exe and SerializerGenerator now supports compatibility switches.
  
  BUG FIX
  * Fix batch serializer code generation may report invalid error message due to context reset leaking.
  * Fix reflection based serializer possibly throws NotSupportedException instead of SerializationException.

0.7beta2

NEW FEATURES
  * Add Xamarin iOS linker support.
  
  BUG FIXES
  * Fix type initializer causes InvalidOperatiionException of serializer generation on WinRT projects. 170.
  * Fix package dependency issue prevents *-aot runtime cannot install MsgPack.Cli packages (affects 0.7.0-beta1 only).
  * Fix Xamarin iOS AOT releated bugs (affects 0.7.0-beta1 only).
  
  BREAKING CHANGES
  * netstandard1.1 and 1.3 now do NOT support code generation (Reflection.Emit) based serializer (affects 0.7.0-alpha/beta only).

0.7beta1

This release cleans up API surface and internal code for 0.7 stable release.
  
  MAJOR BREAKING CHANGES
  * PackerCompatibilityOptions.None is now default. This means that msgpack bin or str8 formats are used by default.
  You can still turn off them by PackerCompatibilityOptions.Classic.
  
  MINOR BREAKING CHANGES
  * UnpackHelpers.UnpackValueTypeValue signature is changed (note that this API has not been published in stable release yet).
  * UnpackHelpers.UnpackComplexObject[Async] with currentKey parameter are removed(note that this API has not been published in stable release yet).
  * Rename SerializerCapabilities>Unknown to SerializerCapabilities.None (note that this API has not been published in stable release yet).
  * Remove ISupportMessagePackSerializerCapability(note that this API has not been published in stable release yet).
  * Reflection based serializers now do not use IPackable/IUnpacabke members when the type does not implement IAsyncPackable/IAsyncUnpackable(note that this API has not been published in stable release yet).
  
  BUG FIXES
  * Fix the Unpacker always returns 0 when the underlying stream has double typed value.
  * Fix MessagePackObject.PackToMessage does not look PackerCompatibilityOptions. Issue 168.

0.7.0alpha3

BREAKING CHANGES
  * Internal structure for Silverlight builds are changed. They now use only reflection based serializers and pre-generated serializers instead of Expression Tree based serializers.
  * IPackable/IUnpackable is respected for collections now. Issue 153.
  
  IMPROVEMENTS
  * Improve .NET Core support with work around for corefx GetInterfaceMap() limitation. .NET Core build requires RC2 or above.
  * Improve Unity support. Unity DLLs now support IL2CPP with various AOT issue workarounds. Unity build requires 5.3.5f1 or above.
  * DateMemberAttribute matching is now name based instead of type based.
  
  NEW FEATURES
  * SerializerGenerator.GenerateSerializerCodeAssembly now supports custom namespace. Issue 138.
  * Add IgnoreDataMemberAttribute to ignoring member indicators. Issue 146.
  
  BUG FIXES
  * Fix explicit IPackable/IUnpackable interface implementation causes serializer generator error. Issue 150.
  * Fix non-public collection typed members with attributes causes serialization generation error. Issue 152.
  * Fix generated serializer codes are not available in WinRT/UWP because of reflection API incompatibility when the type has non-public and explicitly marked fields/properties.
  * Fix collection only implements IEnumerable may cause NotSupportedException.
  * Fix hidden by signature members ("new" in C) causes invalid serializer code generation. Issue/PR 147, 161, 162.
  * IPackable/IUnpackable is respected for collections now. Issue 153.
  This behavior can be disabled by setting SerializationCompatibilityOptions.IgnorePackabilityForCollection to true.
  
  KNOWN ISSUES
  * Reflection based serializers in Unity build is not stable even if you specify [Preserve] and/or link.xml.
  * .NET Core packaging is under testing.

0.7.0alpha2

This release includes 0.6.8 fixes.
  
  BREAKING CHANGES
  * Generated serializer now always check SerializationContext.SerializationMethod when they serialize objects. Changing SerializationContext.SerializationMethod in use causes unexpected behavior even it is extremely rare to do it.
  * Generated serializers code has different structure, it might break your custom toolset which depends generated code structure.
  * .NET 4.0, 4.5.0, 4.5.1, 4.6.0 are no longer supported.
  
  IMPROVEMENTS
  * Generated serializer now always check SerializationContext.SerializationMethod when they serialize objects. No longer need to re-generate serializer codes/assemblies to switch serialization method between array and map.
  * Generated code now more structured which improves debuggability, it also remove some redundant expressions.
  
  NEW FEATURES
  * Async support. Issue 49.
  
  KNOWN ISSUES
  * CoreCLR(.NET Core) is not supported because of corefx 5381.

0.7.0alpha1

NEW FEATURES
  * Add .NET Core support. Note that .NET Core does NOT support CodeDOM or persistance of AsemblyBuilder, so MsgPack for CLI .NET Core build cannot support code generation. To generate source code or assembly of serializers in non-Windows environment, you must use Mono with .NET 4.5 build. Issue 128
  * Add buffering option for Packer/Unpacker which can be enabled by PackerUnpackerStreamOptions.WithBuffering = true. It should improve performance for non-buffered stream like NetworkStream.
  
  IMPROVEMENTS
  * Exceptions now includes stream position for seekable stream or "offset from Unpacker construction" for non-seekable stream.
  * Generated code now well structured which improves debuggability, it also remove some redundant expressions.
  * Move throw statements from hot-path to improve performance a bit.
  
  BREAKING CHANGES
  * Generated serializers code has different structure, it might break your custom toolset which depends generated code structure.
  
  BUG FIXES
  * Fix Unpacker.Skip failes when the stream is fragmented such as raw NetworkStream.

0.6.8

BUG FIXES
  * Fix Unpacker.ReadXxx from uint64 encoded value returns invalid(nagative) value.
  * Fix Unpacker.ReadObject does not handle collection. 143
  * Fix intentionally "empty" member causes ArgumentNullException in serializer generation. Issue 145

0.6.7

BUG FIXES
  * Fix Unpacker.ReadXxx returns 0 when try to read integral value from floating point stream or vice versa. Issue 139.

0.6.6

BUG FIXES
  * Fix [MessagePackRuntimeType] fails when the type is declared in global namespace. Issue 137.

0.6.5.1

BUG FIXES
  * mpu.exe -l option does not work in non-Windows environment. Issue 125.

0.6.5

BUG FIXES
  * Fix enum handling in code generation for enum values which do not have corresponding single symbols. Issue 121(cont)
  
  IMPROVEMENTS
  * Improve Nullable<T> serializer source code for SerializerGenerator.GenerateSerializerCodes with WithNullable. Issue 121(cont)
  * Add Unity AOT work around method MessagePackSerializer.PrepareType<T>(). This solves a part of issue 99 and an issue 124.
  * Fix build issues in source tree release for Unity.
  * mpu.exe --library now creates merged source tree.
  * Add work arounds for Unity C compiler issue for DictionaryMessagePackSerializer`3.cs
  * Add UNITY_5 for UNITY compiler constant determination.
  * Remove unnecessary Pack<T>() usage to avoid unexpected performance loss and/or Unity(and its Mono) C compiler overload resolution failure.

0.6.4

BUG FIXES
  * Fix StackOverflowException on SerializerGenerator.GenerateSerializerCodes with WithNullable and IsRecursive. Issue 121(cont)

0.6.3

BUG FIXES
  * Add new custom serializer registration option which registers nullable serializer together (this API is NOT available in Unity3D yet because of AOT issue). Issue 116.
  * Fix reflection based serialization for non-public member fails for members which use generic type parameter(s). Issue 119
  * Fix DateTimeOffset? serializer act different from DateTime? serializer for DateTimeSerializationMethod setting change. A part of issue 117
  * Fix array element type is not processed recursively even if the IsRecursive option of serializer generator is true. Issue 120
  
  IMPROVEMENTS
  * Improve Unpacker performance.
  * Add WithNullable feature to serializer generator. It specifies generating nullable companions together. Issue 121

0.6.2

* Fix release workflow: Ruby 2.1 and 2.2 are supported for Windows (2.0 is omitted)
  * Fix to encode symbols along its encoding
  * Fix segmentation fault in minor case

0.6.1.1

This release is only zip release for Unity because other dists are not affected at all.
  
  BUG FIXES
  * Fix IL2CPP crash. Issue 101.

0.6.1

* Added :compatibility_mode option to Packerinitialize. Default is false. If it
  is set to true, str8 format and bin format family will not be used.

0.6

------------------
  
  New features:
  
  - Added `msgpack2json` continuous mode (`-c` and `-C`) to convert a stream of top-level objects (4)
  
  Bug fixes:
  
  - Fixed a bug that could cause a newline to be printed incorrectly in pretty-printing mode

0.6.0

* Added support for Binary types
  * Fixed to encode/decode between Binary types and ASCII-8BIT Ruby String objects

0.5.12

* Added support for JRuby 9K.
  * Added a benchmarking suite.
  * Fixed a bug in the handling of options given to MessagePack.unpack in JRuby.

0.5.11

* Fixed Encoding::CompatibilityError error when serializing a long string
  longer than write_reference_threshold (5KB by default) and whose encoding
  is not ASCII-8BIT.
  * Fix read_(map|array)_header (funny-falcon++).
  * Internally, rename msgpack_unpacker_{init,reset,destroy} functions
  so that we can load msgpack-c in the same process (miihael++)

0.5.10

* Merged msgpack-jruby by iconara. JRuby can run `require 'msgpack'` to use
  msgpack-jruby.

0.5.9

* Fixed Unpackerread_map_header and read_array_header
  * Added support for Symbol GC added since MRI 2.2.0

0.5.8

* Fixed compatibility with Ruby 2.1.0
  * Added :symbolize_keys option to MessagePack.load and Unpackerinitialize

0.5.7

* Added deserialization support for the new MessagePack spec

0.5.6 not secure

* Fixed "can't modify frozen String" exception in Unpacker with ruby 2.1.0-dev
  * Getting work with Ruby v2.0 on Windows (Thank you thegreendroid)
  * Fixed EOFError handling in Unpacker

0.5.5 not secure

* Fixed SEGV problem in to_msgpack
  * Fixed a possible race condition in MessagePack.load when it loads data from IO
  * mingw32 package includes binary for ruby-2.0.0

0.5.4 not secure

* Added missing MessagePack::Unpackerreset method

0.5.3 not secure

* Fixed segfault problem on Bufferclear (reuse rmem internal fragment optimization)
  * Fixed segfault problem on Buffer (rmem free code)

0.5.2 not secure

* Fixed invalid pack/unpack on 32bit architecture such as Win32
  * Disable rmem on Rubinius because rmem is not thread safe

0.5.1 not secure

* Fixed compile error with Rubinius 2.0.0-dev
  * Optimized msgpack_packer_write_hash for Rubinius

0.5

FEATURES
  * CodeDOM serializer generator, which generates source code for custom serializer. It enables debugger break points, insert your own codes, etc.
  * Start Xamarin supporting with CodeDOM serializer generator and runtime code generation free Nullable/Enum serializers.
  * Start Unity supporting with same mechanism as Xamarin support and mpu.exe helper tool.
  * Support .NET 4.5 including immutable collections support.
  * Support on-the-fly IEnumerable<T> (such as the result of Enumerable.Range()) packing. Note that unpacking is still unsupported.
  * Support underlying integral based enum serialization.
  * Add new PackerUnpackerExtensinos' extension methods for collections and dictionaries to improve overloading stability (predictability).
  * System.Runtime.Serialization assembly is not required now (pull-request 29).
  * Non public members annotated with MessagePackMember attribute or DataMemberAttribute are supported now (issue 33).
  
  BUG FIXES
  * PackerUnpackerExtensions.Pack(Object) takes long time. (14)
  * Fix Readme code error (issue 20. Ported from 0.4 branch.)
  * Fix MessagePack.Create<T>() might fail due to type lock synchronization does not coordinate multiple threads (issue 19. Ported from 0.4 branch.)
  * Fix deserializing as MessagePackObject fails when unpacking data is list or map (issue 13. Ported from 0.4 branch.)
  * Readonly members now silently ignored except they are annotated with MessagePackMember attribute or DataMemberAttribute (pull-request 30, issue28).
  
  NOTE
  * This release unifies .NET build and Mono build for main source codes (testing codes have not been unified yet.)
  * This release contains reimplementation of serializer generation stack. It might change implementation detail dependant behavior (it usually potential issue).

0.5.0 not secure

* Rewrote all code and improved performance significantly
  * Added MessagePack::Buffer class
  * Added MessagePack::Packer class
  * Added Packerbuffer and Unpackerbuffer accessors which return MessagePack::Buffer
  * Added Packerwrite_{array,map}_header and Unpackerread_{array,map}_header methods
  * Added Packerwrite_nil and Unpackerskip_nil methods
  * Added Packerwrite -> pack alias and Unpackerread method
  * Added exception classes - UnpackError, MalformedFormatError, StackError and TypeError
  * Added MessagePack.dup -> .pack and MessagePack.load -> .unpack aliases
  * Added Packerempty?, size and clear methods
  * Added Packerwrite_to(io) method to flush serialized data to IO efficiently
  * Added Unpackerskip method to skip an object efficiently
  * Removed obsoleted Unpackerfill, execute, execute_limit, finished? and data methods
  * Removed obsoleted Unapckerstream and stream= methods. Use unpacker.buffer.io instead

0.4.8

=====
  :release date: 2016-07-29
  
  Bugs fixed
  ----------
  
  * Calling ext_hook with wrong length. (Only on Windows, maybe. 203)

0.4.7

* Fixed serialization of double values on ARM OABI architectures
  * Fixed byteorder problem on big-endian platforms
  * Don't use MRI internals in the Ruby extension for Rubinius
  * Detect whether st.h is present and don't use RUBY_VM as the condition for
  Rubinius

0.4.6

* Fixed compile error problem on Mac OS X Lion

0.4.5

* Improves compatibility with JRuby

0.4.4

* Adds Unpackerfeed_each method
  * Improves compatibility with Rubinius
  * Improves compatibility with ruby-1.8.5
  * Encodings of String instances to UTF-8 on Ruby 1.9

0.4.3

* Adds MessagePack::VERSION constant
  * Fixes SEGV problem caused by GC bug at MessagePack_Unpacker_mark
  
  
  
  * Version 2.5.2 - 08/15/2019
  * Fix DeprecationWarning about using ABCs from 'collections' on Python 3.7.
  * Contributors
  * Gabe Appleton, gappleto97 - 5ece62a
  
  * Version 2.5.1 - 03/03/2019
  * Fix handling of naive/aware datetime objects when packing the timestamp extension type.
  * Add handling for short reads during file object unpacking.
  * Make Ext base class a new-style object for cleaner inheritance in Python 2.
  * Improve length comparisons and instance checks for minor performance improvement.
  * Contributors
  * Gabe Appleton, gappleto97 - 28907ba, 76751f3, 7a9b717
  * DisposaBoy, DisposaBoy - 50b1dd3
  
  * Version 2.5.0 - 03/31/2018
  * Add support for the timestamp extension type.
  * Fix tests on big endian platforms
  * Contributors
  * Sergei Trofimovich, trofi - 16510e9
  
  * Version 2.4.1 - 04/25/2017
  * Fix module version tuple inconsistency.
  
  * Version 2.4.0 - 04/20/2017
  * Add hash special method to Ext class.
  * Add packing option to force floating point precision.
  * Make codebase PEP 8 compliant.
  * Add support for tox automated testing and use it in CI.
  * Contributors
  * Fabien Fleutot, fab13n - 4c461ed, bdeee20
  * Yuhang (Steven) Wang, yuhangwang - 5f53bcf
  * Pedro Rodrigues, medecau - 2f7b667, 456032c, e60bc5e
  
  * Version 2.3.0 - 10/19/2016
  * Add `ext_handlers` option to packing and unpacking functions to support application-defined Ext packing and unpacking hooks.
  * Add `allow_invalid_utf8` option to unpacking functions to allow unpacking of invalid UTF-8 strings.
  * Add hexadecimal prefix to data bytes in string representation of Ext objects.
  * Change version number to semantic versioning.
  
  * Version 2.2 - 09/25/2016
  * Add `use_ordered_dict` option to unpacking functions for unpacking MessagePack maps into the `collections.OrderedDict` type.
  * Add support for `bytearray` type to `unpackb`/`loads` functions.
  * Fix intermittent unit test failures due to non-deterministic packing of dict test vectors.
  * Fix several docstring examples and typos.
  * Add license and unit test to source distribution packaging.
  * Contributors
  * Fairiz 'Fi' Azizi - df59af6
  * INADA Naoki - 23dbf70
  * Jack O'Connor - 7aa0d19
  
  * Version 2.1 - 05/09/2015
  * Improve array and map unpacking performance under Python 2.
  * Add module `__version__` attribute.
  
  * Version 2.0 - 09/29/2014
  * Add streaming serialization and deserialization with `pack`/`dump` and `unpack`/`load`, respectively, for file-like objects.
  
  * Version 1.8 - 09/17/2014
  * Add support for unpacking maps with array container keys. Thanks to ralphjzhang for the report and suggestion (https://github.com/vsergeev/u-msgpack-python/issues/10).
  
  * Version 1.6 - 01/17/2014
  * Fix wide character unicode string serialization. Thanks to cforger for the bug report and fix (https://github.com/vsergeev/u-msgpack-python/issues/8).
  * Add module docstrings.
  * Add module `version` tuple.
  * Add Python standard library style `dumps` and `loads` serialization/deserialization aliases.
  * Rename unpack exceptions `KeyNotPrimitiveException` -> `UnhashableKeyException` and `KeyDuplicateException` -> `DuplicateKeyException`. Add aliases for backwards compatibility.
  
  * Version 1.5 - 12/09/2013
  * Hide internal helper functions from module's exported names.
  * Make unit tests more portable among interpreters (CPython, PyPy).
  * Update documentation for PyPy support.
  
  * Version 1.4 - 11/21/2013
  * Add type checking to Ext class initialization.
  * Add support for Python 2.6.
  
  * Version 1.2 - 10/19/2013
  * Add compatibility mode to support old specification "raw" bytes msgpack type.
  
  * Version 1.0 - 09/29/2013
  * Initial release.
  * Contributors
  * Eugene Ma - 496aaa5

0.4.2

BUG FIXES
  * Add API to re-register serializer (issue 24). It allows you to override default(built-in) serializer as you like.

0.4.1

BUG FIXES
  * Fix Readme code error (issue 20.)
  * Fix MessagePack.Create<T>() might fail due to type lock synchronization does not coordinate multiple threads (issue 19.)
  * Fix deserializing as MessagePackObject fails when unpacking data is list or map (issue 13.)

0.4

BREAKING CHANGES
  * Packer.PackRaw(IEnumerable<byte>) can emit compact binary when the IEnumerable<byte> object also implements ICollection<byte> or ICollection.
  * There are little issues in corner cases.
  * Unpacker.Data never returns null even if it is in before head of underlying stream.
  * MessagePackSerializer<T>.UnpackFrom does not throw exception when unpacker is still in before head of the underlying stream. Note that generated serializer still require that the unpacker is in head of the underlying array or map.
  
  FEATURES
  * Support binary types, string8 types, and extension types of MsgPack spec.
  see https://github.com/msgpack/msgpack/blob/master/spec.md for details.
  * SerializerGenerator now enable to specify output directory.
  * Specify default collection types for well-known abstract collection types (IList<T>, IDictionary<TKey,TValue>, etc.).
  
  BUG FIXES
  * Fix SerializerGenerator only support one serealizer per assembly.
  * Fix UTC DateTime serialization is corrupt in Mono.
  * Fix Boolean? unpacking is not implemented.
  * Fix bugs of NilImplication.
  
  NOTE
  * Nullable<MessagePack> based unpacker API is deprecated because of their poor performance. You should use fast non-nullable APIs instead (properties/methods with 'Data' suffixes).
  * This version is tested on .NET 4.5 and Mono 2.10.8.1.

0.4.0

* Support for binary (Thanks maiha)
  * Faster writes (Thanks kostya)
  * Faster reads (Thanks asterite)
  * Mapping (Thanks kostya)
  * Writers for tuples and symbols (kostya)

0.3.2.1

BUG FIXES
  * Fix Unpacker.ReadString/ReadBinary of subtree unpacker leads to subsequent unpacking failure when unpacked value is nil or empty.

0.3.2

FEATURES
  * Support safe deserialization for the stream which contains new types of MsgPack spec.
  see https://github.com/msgpack/msgpack/blob/master/spec.md for details.
  
  BUG FIXES
  * Fix infinite loop for invalid stream which header is Raw and it does not have enough length contents.

0.3.1

FEATURES
  * [issue1] Add byte-array based serialization APIs.
  
  BUG FIXES
  * [issue6] Fix deserializing from a map which contains unknown member causes MessageTypeException.

0.3

BREAKING CHANGES
  * Unpacker.Feed is removed. Use Unpacker.Create(Stream) and feed data to the passing Stream instead of Unpacker.
  * IUnpackable.UnpackFromMessage now takes Unpacker instead of MessagePackObject to be symmetric as IPackable and improve custom unpacking performance.
  * Unpacker.Create() is removed because it is completely useless.
  * Unpacker does not remember interruptted stream state now. So, unpacker throws exception when it reaches end of stream.
  Data feeding should be handled on the underlying stream layer like NetworkStream does -- it is not unpacker layer's responsibility.
  
  FEATURES
  * Improve protobuf-net compatibility.
  * Add non-generic overload for MessagePackSerializer.Create().
  * Add direct read method for primitive types on Unpacker. It enable dramatic performance improvement on deserializer.
  * Support WinRT (experimental, .NET Fx core only, that is, WinMD is not supported yet).
  * Add SerialializerGenerator which provides capability to generate pre-built serializer assembly.
  * Unpacker.ReadItem/UnpackSubtree makes easy to unpack collection as MessagePackObject.
  
  IMPROVEMENTS
  * Improve unpacking performance.
  
  BUG FIXES
  * Fix 'sparse' declaration (i.e. field ids are not continuous on the objects' MessagePackDataMember attribute) causes deserialization error.
  * Fix synchronization related error.
  * Serializers respects IPackable/IUnpackable.

0.3.0

=====
  
  Incompatible Changes
  --------------------
  
  * Default value of ``use_list`` is ``True`` for now. (It was ``False`` for 0.2.x)
  You should pass it explicitly for compatibility to 0.2.x.
  * `Unpacker.unpack()` and some unpack methods now raise `OutOfData` instead of
  `StopIteration`. `StopIteration` is used for iterator protocol only.
  
  Changes
  -------
  * Pure Python fallback module is added. (thanks to bwesterb)
  * Add ``.skip()`` method to ``Unpacker`` (thanks to jnothman)
  * Add capturing feature. You can pass the writable object to
  ``Unpacker.unpack()`` as a second parameter.
  * Add ``Packer.pack_array_header`` and ``Packer.pack_map_header``.
  These methods only pack header of each type.
  * Add ``autoreset`` option to ``Packer`` (default: True).
  Packer doesn't return packed bytes and clear internal buffer.
  * Add ``Packer.pack_map_pairs``. It packs sequence of pair to map type.

0.2.4

=====
  :release date: 2012-12-22
  
  Bugs fixed
  ----------
  
  * Fix SEGV when object_hook or object_pairs_hook raise Exception. (39)

0.2.3

=====
  :release date: 2012-12-11
  
  Changes
  -------
  * Warn when use_list is not specified. It's default value will be changed in 0.3.
  
  Bugs fixed
  ----------
  * Can't pack subclass of dict.

0.2.2

=====
  :release date: 2012-09-21
  
  Changes
  -------
  * Add ``use_single_float`` option to ``Packer``. When it is true, packs float
  object in single precision format.
  
  Bugs fixed
  ----------
  * ``unpack()`` didn't restores gc state when it called with gc disabled.
  ``unpack()`` doesn't control gc now instead of restoring gc state collectly.
  User can control gc state when gc cause performance issue.
  
  * ``Unpacker``'s ``read_size`` option didn't used.

0.2.1

=====
  :release date: 2012-08-20
  
  Changes
  -------
  * Add ``max_buffer_size`` parameter to Unpacker. It limits internal buffer size
  and allows unpack data from untrusted source safely.
  
  * Unpacker's buffer reallocation algorithm is less greedy now. It cause performance
  decrease in rare case but memory efficient and don't allocate than ``max_buffer_size``.
  
  Bugs fixed
  ----------
  * Fix msgpack didn't work on SPARC Solaris. It was because choosing wrong byteorder
  on compilation time. Use ``sys.byteorder`` to get correct byte order.
  Very thanks to Chris Casey for giving test environment to me.

0.2

FEATURES
  * Geneneric Serializer is implemented. (See MessagePackSerializer.Create<T>().)
  * Redesign basic APIs.
  * Support Mono, Silverlight, WP 7.1 (experimental).
  * RPC (See https://github.com/yfakariya/msgpack-rpc-cli/)

0.2.0

=====
  :release date: 2012-06-27
  
  Changes
  -------
  * Drop supporting Python 2.5 and unify tests for Py2 and Py3.
  * Use new version of msgpack-c. It packs correctly on big endian platforms.
  * Remove deprecated packs and unpacks API.
  
  Bugs fixed
  ----------
  * 8 Packing subclass of dict raises TypeError. (Thanks to Steeve Morin.)

0.1.13

======
  :release date: 2012-04-21
  
  New
  ---
  * Don't accept subtype of list and tuple as msgpack list. (Steeve Morin)
  It allows customize how it serialized with ``default`` argument.
  
  Bugs fixed
  ----------
  * Fix wrong error message. (David Wolever)
  * Fix memory leak while unpacking when ``object_hook`` or ``list_hook`` is used.
  (Steeve Morin)
  
  Other changes
  -------------
  * setup.py works on Python 2.5 (Steffen Siering)
  * Optimization for serializing dict.

0.1.12

======
  :release date: 2011-12-27
  
  Bugs fixed
  ----------
  
  * Re-enable packs/unpacks removed at 0.1.11. It will be removed when 0.2 is released.

0.1.11

======
  :release date: 2011-12-26
  
  Bugs fixed
  ----------
  
  * Include test code for Python3 to sdist. (Johan Bergström)
  * Fix compilation error on MSVC. (davidgaleano)

0.1.10

======
  :release date: 2011-08-22
  
  New feature
  -----------
  * Add ``encoding`` and ``unicode_errors`` option to packer and unpacker.
  When this option is specified, (un)packs unicode object instead of bytes.
  This enables using msgpack as a replacement of json. (tailhook)

0.1.9

=====
  :release date: 2011-01-29
  
  New feature
  -----------
  * ``use_list`` option is added to unpack(b) like Unpacker.
  (Use keyword argument because order of parameters are different)
  
  Bugs fixed
  ----------
  * Fix typo.
  * Add MemoryError check.

0.1.8

=====
  :release date: 2011-01-10
  
  New feature
  -----------
  * Support ``loads`` and ``dumps`` aliases for API compatibility with
  simplejson and pickle.
  
  * Add *object_hook* and *list_hook* option to unpacker. It allows you to
  hook unpacking mapping type and array type.
  
  * Add *default* option to packer. It allows you to pack unsupported types.
  
  * unpacker accepts (old) buffer types.
  
  Bugs fixed
  ----------
  * Fix segv around ``Unpacker.feed`` or ``Unpacker(file)``.

0.1.7

=====
  :release date: 2010-11-02
  
  New feature
  -----------
  * Add *object_hook* and *list_hook* option to unpacker. It allows you to
  hook unpacking mapping type and array type.
  
  * Add *default* option to packer. It allows you to pack unsupported types.
  
  * unpacker accepts (old) buffer types.
  
  Bugs fixed
  ----------
  * Compilation error on win32.

0.1

Porting from Message Pack Java 0.3.
  
  FEATURES
  * MessagePackObject is implemented.
  * Packer APIs (Packer class) are implemented.
  * Buffered Unpacker APIs (Unpacker class) are implemented.
  * Unbuffered Unpacker APIs (Unpacking class) are implemented.

0.1.0

* **(breaking change)** MessagePack.pack now returns a slice (thanks Xanders)

0.0.6

* Accept any iterable when serializing, not just List
  * Accept ByteData when serializing (will be deserialized as Uint8List)

0.0.5

* Changed return value from `List<int>` to `Uint8List`.