Releases: msgpack/msgpack-cli
Releases · msgpack/msgpack-cli
1.0.1
1.0.0
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.
1.0.0-rc1
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.
1.0.0-beta2
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.
1.0.0-beta1
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
0.9.2
0.9.1
0.9.0
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 inEnumTransoformers
.
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.
0.8.1
0.9.0-beta1
This release includes new features.
NEW FEATURES
- Enum name transformation via
SerializationContext.EnumSerializationOptions.NameTransformer
.
Built in transformer is placed inEnumTransoformers
.
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
BUG FIXES
- Fix nuspec to prevent old NuGet clients which do not support .NET Standard TFMs. Issue #177.