Skip to content

Releases: msgpack/msgpack-cli

0.6.4

14 Oct 14:42
Compare
Choose a tag to compare

This is a bug fix release and includes new WithNullableOption and performance improvement.
This release replaces 0.6.3 which has critical bug for WithNullableOption.

BUG FIXES

  • 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 #118
  • 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.3

12 Oct 14:28
Compare
Choose a tag to compare
0.6.3 Pre-release
Pre-release

0.6.3 is replaced with 0.6.4.

0.6.2

30 Aug 07:25
Compare
Choose a tag to compare

This is minor release containing a bug fix and an improvement.

BUG FIXES

  • Fix built-in serializer for System.Object does not honor current context. Issue #111.

IMPROVEMENTS

  • Add built-in System.Globalization.CultureInfo serializer. Issue #112.

0.6.1.1

16 Aug 06:16
Compare
Choose a tag to compare

This release is only zip release for Unity because other dists are not affected at all.

Bug Fixs

  • Fix IL2CPP crash. Issue #101.

0.6.1

15 Aug 16:18
Compare
Choose a tag to compare

This is minor update including some enhancements with important bug fix.

Improvements

  • Recursive generation now supports generic arguments and array element types. Issue #106.
  • New SerializerGenerator.GenerateSerializerCodeAssembly and GenerateSerializerSourceCodes, which return structured information including target types and serializer type names. It should improve pre-generation experience. Issue #107.

Bug Fixes

  • Fix SerializerGenerator does not filter out built-in types when they are appeared in members instead of API arguments. Issue #105.
  • Fix type embedding fails if the type name starts with its assembly simple name. Issue #108.

0.6.0

09 Aug 09:05
Compare
Choose a tag to compare

It is major update.

  • New Features
    • Deserializer now uses 'best match' constructor when all members are read-only. Issue #52.
    • MessagePackSerializer.UnpackMessagePackObject API. This is convinient shortcut to deserialize stream as MessagePackObject tree.
    • Add Type Embedding. Issue #47.
    • New utility method of SerializationContext to switch back the behavior to previous version's one.
    • Add corlib only build (MsgPack.Unity3D.Micro). This build only depends mscorlib. This feature is experimental. Related to Issue #70.
  • Breaking Changes
    • Non-public types such as internal/Assembly types are not supported even if WinRT or Reflection serializer had worked for them because it had been just bug and non-public types should not be serialized.
      Note that .NET default serializers and pre-generated serializers for Xamarin are not affected because they had failed to generate serializers for non-public types.
    • Unity3D DLL now only depends on mscorlib.dll. This breaks compabitlity because the library cannot recognize Stack, Queue, NameValueCollection, and System.Uri. If you want to these types support, use Unity3D.Full drop instead.
    • By defualt, System.DateTime, System.DateTimeOffset, System.Runtime.InteropServices.ComTypes.FILETIME are now serialized native representation instead of Unix epoc milliseconds. You can use SerializationContext.Default = SerializationContext.ConfigureClassic() or setting SerializationContext.DefaultDateTimeConversion to revert classic setting.
  • Improvements
    • Add many workarounds for AOT issues of Mono on iOS (in particular, Unity).
    • System.DateTime, System.DateTimeOffset, System.Runtime.InteropServices.ComTypes.FILETIME are now serialized native representation by default, it keeps 100-nanosecond resolution, DateTimeKind, and Offset.
      You can revert the behavior to the previous Unix Epoc via SerializationContext.DefaultDateTimeConversion or [MessagePackDateTimeMember] custom attribute. Issue #74
    • System.DBNull become serializable now. Issue #72.
    • Non-SZ arrays (multidimensional arrays and vector with non-zero based) are supproted. Issue #81.
    • Add built-in support for IReadOnlyCollection, IReadOnlyList, IReadOnlyDictionary<TKey, TValue>, based upon issue #91 and PR #93. Thank you @drewnoakes!
    • Improve exception message for known type mapping error. Issue #95,
    • ImmutableArray now supported.
    • SerializerGenerator now support automatic dependent serializer(s) generation.
    • Add SerializerContext.ResolveSerializer event to make pre-built serializer registration more robust. Issue #103.
  • Bug Fixes
    • Non-public types causes TypeLoadException in .NET and pre-generated assembly, causes compilation error in pre-generated sources, results undefined behavior on other platforms.
      Non-public types are now rejected with SerializationException. This fix leads (probably small) breaking changes.
    • MessagePackSerializer.Create now always returns new instance.
    • Fix build problem related to interface generic parameter variance.
    • Fix System.Object instance causes StackOverflowException. Issue #73
    • Remove FILETIME dependency to avoid build error in Xamarin/Unity. Issue #87
    • Fix Unity source code to avoid nullable equality operator. Issue #88
    • Fix MessagePackObject deserializer cannot handle empty collection correctly. Issue #92.
    • Fix disposing "subtree" Unpacker twice causes Exception.
    • Fix Unpacker does not handle bin types and str8 type in skipping. PR #98, Thank you @webcoyote!
    • Fix Unpacker does not handle ext types in skipping.
    • Fix SerializerGenerator and mpu.exe do not handle EnumSerializationMethod. Issue #102.
    • Fix SerializerGenerator and mpu.exe do not exclude types which are handled with built-in serializers. Issue #104.

0.6.0-beta5

20 Jul 10:57
Compare
Choose a tag to compare
0.6.0-beta5 Pre-release
Pre-release

This release should be final beta. This release changes internal type-info format for polymorphic types (from 0.6.0-beta1) to improve interoperability.

APIs should not be fixed until stable release, but tools like mpu.exe will be fixed.

This release also includes a few improvements and bug fixes. See CHANGES.txt for details.

0.6.0-beta4

05 Jul 13:43
Compare
Choose a tag to compare
0.6.0-beta4 Pre-release
Pre-release

This release has following breaking changes:

  • Unity3D DLL now only depends on mscorlib.dll. This breaks compabitlity because the library cannot recognize Stack, Queue, NameValueCollection, and System.Uri. If you want to these types support, use Unity3D.Full drop instead.

This release add multidimensional support (and also add non-sz 1-dimension array support, issue #81). And it fixes a Unity related bug, a MessagePackObject deserialization bug, and an Unpacker.Dispose related bug.

0.6.0-beta3

14 Jun 15:01
Compare
Choose a tag to compare
0.6.0-beta3 Pre-release
Pre-release

This release fixes Xamarin.iOS packaing issue.

  • Remove FILETIME dependency from the package.
  • Reorganize package to be detected from latest Xamarin iOS.

This also affects stability of Unity builds.

0.6.0-beta2

24 May 10:46
Compare
Choose a tag to compare
0.6.0-beta2 Pre-release
Pre-release

This release fixes some issues until 0.6.0-beta1 including:

  • System.DateTime, System.DateTimeOffset, System.Runtime.InteropServices.ComTypes.FILETIME are now serialized native representation by default, it keeps 100-nanosecond resolution, DateTimeKind, and Offset.
    You can revert the behavior to the previous Unix Epoc via SerializationContext.DefaultDateTimeConversion or [MessagePackDateTimeMember] custom attribute. Issue #74
  • System.DBNull become serializable now. Issue #72.
  • System.Object instance causes StackOverflowException. Issue #73
  • Add corlib only build (MsgPack.Unity3D.Micro). This build only depends mscorlib. This feature is experimental. Related to Issue #70.

In addition, this release add many workarounds to avoid AOT issue in Unity3D and Xamarin iOS.