@yfakariya yfakariya released this Jun 14, 2018

Assets 3

This release contains some bug fixes mainly related Unity stability from RC1.

This is change list from 0.9.2 (not from 1.0-RC)

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.
  • ValueTuple support. #277

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.
  • 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.
  • [NonSerialized] attribute does not effect in Mono based platform including Unity.
  • Fix map keys order emitted by asymmetric (serialization only) serializer are inconsistent across platform.
  • Fix Unity build does not honor serialization related attributes correctly.
  • Fix internal inconsitency between serialization related attributes detection and their parameter retrieval.

IMPROVEMENTS

  • System.Tuple 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.
Pre-release
Pre-release

@yfakariya yfakariya released this Dec 17, 2017

Assets 3

This is release candidates to 1.0!
Only critical bug fixes will be applied until 1.0 release. Please check binaries in your environment with known limitations about IL2CPP and Xamarin.iOS (essentially, you should use mpu.exe tool to generate serializer code or call MessagePackSerializer.Prepare<T>() for all types and adjust linker related configuration.)

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.
Pre-release

@yfakariya yfakariya released this Oct 29, 2017

Assets 3

CHANGES

  • Xamarin builds are now integrated to .NET Standard 2.0.

NEW FEATURES

  • ValueTuple support. #277

IMPROVEMENTS

  • System.Tuple 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.
Pre-release

@yfakariya yfakariya released this Oct 29, 2017

Assets 3

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.

@yfakariya yfakariya released this Sep 26, 2017

Assets 3

This is packaging bug fix for UWP.

BUG FIXES

  • Fix UAP build drop does not exists in nupkg. #186

@yfakariya yfakariya released this Aug 30, 2017

Assets 3

This is bug fix release of 0.9.0.

BUG FIXES

  • Fix ByteArrayPacker throws IndexOutOfBoundException when the buffer remaining bytes is equal to packed scalar size. #252

@yfakariya yfakariya released this Aug 26, 2017

Assets 3

This including important bug fixes and some performance improvements. Following note includes features which were released in 0.9.0 previews.

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. 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 serializer causes SecurityException when the program run in restricted environment like Silverlight. Issue #205.
  • Fix null items of complex type in List 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.
Aug 13, 2017
Merge pull request #250 from msgpack/wip/improve-packer-unpacker
Improve packer unpacker performance
Feb 12, 2017
Fix nuspec.

@yfakariya yfakariya released this Feb 2, 2017 · 404 commits to master since this release

Assets 3

This is a bug fix release. If you face to this problem, update it now.

BUG FIX

  • Fix null items of complex type in List or Dictionary<TKey, TValue> will not be deserialized as null. Issue #211.