Skip to content

Releases: MessagePack-CSharp/MessagePack-CSharp

v2.3.85

20 Sep 14:07
b676113
Compare
Choose a tag to compare

Changes:

  • #1314: Skip setting fields when the ctor already took the value
  • #1308: Readonly Dictionary with DataMember.Order is not being deserialized
  • #1302: Refactory ObjectSerializationInfo.CreateOrNull
  • #1300: Fix code generation for string-keyed objects with getter-only props and parameterized ctor.
  • #1303: add unittest for DataContractSerializer compatibility

This list of changes was auto generated.

v2.3.75

29 Jul 04:42
847c581
Compare
Choose a tag to compare

Changes:

Breaking

This release includes a behavioral breaking change (relative to our v2.2 releases) for better performance and avoid overriding default values when the msgpack stream does not include a value for that property (see #1085)

Enhancements:

  • #1277: Updating constructor matching for int keys

Others:

  • #1264: Clearly document unity scenarios that require AOT

This list of changes was auto generated.

v2.3.73-alpha

17 Jul 23:33
3704099
Compare
Choose a tag to compare
v2.3.73-alpha Pre-release
Pre-release

Changes:

Fixes:

  • #1232: Failed to serialize/deserialize C#9 records with StandardResolverAllowPrivate
  • #1218: StandardResolverAllowPrivate overwrites readonly fields set in constructor
  • #1134: Deserialization of generic types fails due to inability to find property setters that use init

Enhancements:

  • #1288: Add support for C# 9 record types in mpc
  • #1241: Allow private constructors for the ContractlessStandardResolver, when using ctor attribute
  • #1187: Enable serialization IEnumerable and IReadOnlyDictionary descendants that have constructor with relevant collection
  • #1217: Support for IReadOnlySet<T>
  • #1213: Add ReadArrayHeaderAsync() and ReadMapHeaderAsync() to MessagePackStr…
See More
  • #1176: AspNetCore.Mvc.Formatters Improvements
  • #1108: Add System.Half support for .NET 5.0
  • #1124: Target .NET Core 3.1 and 5.0 SDKs in mpc tool
  • #1122: Offer API to adjust the ArrayPool
  • #1095: Stop initializing members to their default values when deserializing where no data was provided for that member
  • #1085: Use contractless resolver without setting default values for missing properties

Others:

  • #1274: C# 9 Records are ignored by mpc code generator
  • #1286: Fix C# record serialization when using StandardResolverAllowPrivate
  • #1267: Fix handling of readonly private fields
  • #1265: Merge master into develop
  • #1259: Allow object that has either [MessagePackObject] or a valid [MessagePackFormatter()]
  • #1229: Add support for IReadOnlySet<T>
  • #1225: Merge v2.2 into v2.3
  • #1205: Update PublicAPI analyzers
  • #1204: Merge master into develop
  • #1179: AspNetCore.Mvc.Formatters Improvements
  • #1186: Define SPAN_BUILTIN for net5.0
  • #1178: Merge master to develop
  • #1137: Avoid MissingMethodException on generic classes with init property setters
  • #1156: Adapt CtorParameterAndPropertySetterExists test for v2.3 behavior
  • #1149: Benchmark serializer naming
  • #1144: Benchmark cleanup
  • #1136: Add tests for C# 9 records
  • #1135: Update StyleCop.Analyzers to support C# 9 syntax
  • #1125: MPC: nullable enable and update language version to 9.
  • #1123: MPC: Unify Formatter Name between int-key and string-key
  • #1120: Remove VSIX and use dotnet build in AzP
  • #1114: Remove analyzer VSIX
  • #1119: Merge master into develop
  • #1113: Update not supported target framework.
  • #1093: Merge master into develop
  • #1088: Refactoring of int-key mpc.exe tt file
  • #1082: Prepare for C# Source Generator
  • #1084: Merge master into develop

This list of changes was auto generated.

v2.2.113

17 Jul 23:28
1551f93
Compare
Choose a tag to compare

Changes:

Fixes:

  • #1251: ByteArrayFormatter should allow deserializing fixarray of bytes

Enhancements:

  • #1277: Updating constructor matching for int keys

Others:

  • #1264: Clearly document unity scenarios that require AOT
  • #1263: Use AssemblyBuilderAccess.RunAndCollect instead of AssemblyBuilderAccess.Run
  • #1262: Suppress the only build warning we have
  • #1252: Allow deserializing byte[] from a msgpack array
  • #1254: Update from Library.Template
See More
  • #1244: init.ps1 fails if the repo is stored in a path that has spaces in the name
  • #1248: Add Odin Serializer to the benchmark (round 2)
  • #1219: Bump Microsoft.AspNetCore.Mvc.Abstractions from 1.1.2 to 1.1.3 in /src/MessagePack.AspNetCoreMvcFormatter
  • #1223: Fix readme about mpc
  • #1192: Fix mpc ignore generic type defined in out side target
  • #1111: MessagePackGenerator (mpc.exe) ignore generic type definition, that defined outside target project.

This list of changes was auto generated.

v2.3.58-alpha

20 Mar 04:17
a6b2846
Compare
Choose a tag to compare
v2.3.58-alpha Pre-release
Pre-release

Changes:

Fixes:

  • #1190: AssemblyVersion always included / verified with boxed List
  • #1134: Deserialization of generic types fails due to inability to find property setters that use init

Enhancements:

  • #1213: Add ReadArrayHeaderAsync() and ReadMapHeaderAsync() to MessagePackStr…
  • #1202: Make cctor defer Reflection that fails in AOT
  • #1176: AspNetCore.Mvc.Formatters Improvements
  • #1108: Add System.Half support for .NET 5.0
  • #1124: Target .NET Core 3.1 and 5.0 SDKs in mpc tool
  • #1122: Offer API to adjust the ArrayPool
See More
  • #1095: Stop initializing members to their default values when deserializing where no data was provided for that member
  • #1085: Use contractless resolver without setting default values for missing properties

Others:

  • #1215: Add prepare_release.ps1 script
  • #1195: [Unity] Azure Pipelines doesn't change package version
  • #1203: Remove assembly version info from generic type arguments
  • #1205: Update PublicAPI analyzers
  • #1204: Merge master into develop
  • #1168: InvalidOperationException: Sequence contains no matching element at MessagePack.MessagePackSecurity+ObjectFallbackEqualityComparer..cctor()
  • #1179: AspNetCore.Mvc.Formatters Improvements
  • #1186: Define SPAN_BUILTIN for net5.0
  • #1175: Add target netcoreapp3.1
  • #1178: Merge master to develop
  • #1177: Fix break in master
  • #1137: Avoid MissingMethodException on generic classes with init property setters
  • #1156: Adapt CtorParameterAndPropertySetterExists test for v2.3 behavior
  • #1155: Add test to document ctor+property setter behavior
  • #1149: Benchmark serializer naming
  • #1144: Benchmark cleanup
  • #1136: Add tests for C# 9 records
  • #1135: Update StyleCop.Analyzers to support C# 9 syntax
  • #1125: MPC: nullable enable and update language version to 9.
  • #1123: MPC: Unify Formatter Name between int-key and string-key
  • #1120: Remove VSIX and use dotnet build in AzP
  • #1114: Remove analyzer VSIX
  • #1119: Merge master into develop
  • #1113: Update not supported target framework.
  • #1093: Merge master into develop
  • #1088: Refactoring of int-key mpc.exe tt file
  • #1082: Prepare for C# Source Generator
  • #1084: Merge master into develop

This list of changes was auto generated.

Breaking changes

This release includes a behavioral breaking change for better performance and avoid overriding default values when the msgpack stream does not include a value for that property (see #1085)

v2.2.85

10 Dec 06:37
8b558a5
Compare
Choose a tag to compare

Changes:

Fixes:

  • #1097: MessagePackFormatter(typeof(TypelessFormatter)) throws exception during Serialization
  • #886: DataMember attribute for properties with inheritance

Enhancements:

  • #1096: Add xml doc comments to CodeGenHelpers

Others:

  • #1110: record note to ReadMe
  • #1109: Fix MessagePackWindow can not run mpc command
  • #1090: Add descriptions about MessagePack.Experimental.
  • #1099: Fix mpc arg documentation
See More
  • #1107: Simplify #if netcoreapp filters
  • #1106: UriFormatter should use Uri.OriginalString when serializing
  • #1100: Fix [MessagePackFormatter(TypelessFormatter)]
  • #1087: MessagePackSerializer.NonGeneric uses reflection directly on Unity IL2CPP
  • #1078: Typeless supports interface and abstract
  • #1089: Support where constraints in mpc.exe string-key.
  • #1083: Fix handling of [DataMember] that appears on virtual and override properties
  • #1071: add MessagePack.Annotations.asmdef
  • #1070: add *.meta
  • #1069: Json-serialized anonymous type produces... base64?

This list of changes was auto generated.

v2.2.60

28 Sep 14:11
d61346e
Compare
Choose a tag to compare

Changes:

Fixes:

  • #1048: Fix handling nested generic types in code generation
  • #1047: Fix handling type parameter constraints in code generation
  • #1063: Fix support of custom implementation of ICollection

Enhancements:

  • #1064: DynamicObjectTypeFallbackFormatter prioritize PrimitiveObjectFormatter to keep primitive type
  • #861: mpc: More aggressive ahead of time optimization for string-key type formatter.
  • #1053: General Unsafe Formatters
  • #1054: Enable deserialization constructors to use parameter names that match their property names
  • #1061: Allow ctor parameter types to be anything assignable from their associated members
  • #12 Add TypelessSerializer(Resolver)

Others:

  • #1050: Use more inclusive language in code
  • #1044: Static ReadOnlySpan optimization reduces memory allocation

This list of changes was auto generated.

v2.2.44-rc

14 Sep 15:41
d997b6e
Compare
Choose a tag to compare
v2.2.44-rc Pre-release
Pre-release

Changes:

Fixes:

  • #1002: mpc doesn't support Union attributes with type names

Enhancements:

  • #988: Add MessagePack.Experimental package which includes SIMD(Single Instruction Multiple Data) accelerated primitive array formatters.
  • #1029: Merge immutable collections formatters into main library
  • #1027: Add ReadOnlyMemory<T> and ReadOnlySequence<T> support
  • #960: Add a built-in formatter for System.Type
  • #912: Make a proper dotnet mpc tool

Others:

  • #1043: Merge master into v2.2
See More
  • #1039: Merge master into v2.2 branch
  • #1036: Merge master into v2.2 branch
  • #948: Add support for ExpandoObject
  • #1019: mpc - add externalIgnoreTypeNames feature
  • #1015: Merge master to v2.2
  • #1005: Correctly identify and throw on unsupported mpc case
  • #995: Add xml snippet of how to customize mpc build task
  • #992: Merge master to v2.2
  • #656: Use MSBuild OM for what it's good for
  • #962: Merge master to v2.2 branch
  • #947: Add built-in Memory formatters
  • #363: Allow using of UnionAttribute for interfaces separated from implementation

This list of changes was auto generated.

v2.1.194

14 Sep 14:45
459e2bd
Compare
Choose a tag to compare

Changes:

Fixes:

  • #1033: default(ImmutableArray) is not serialized correctly
  • #1025: Internal enums trip up StandardResolverAllowPrivate
  • #1006: Fix deserialize typeless extension without typeless formatter specified
  • #1035: Lock for all Ref.Emit code when on mono
  • #1031: Fix handling of non-public enums when using AllowPrivate resolvers
  • #987: System.ExecutionEngineException encountered that should be a MessagePackSerializationException
  • #1018: mpc - Ignore [MessagePackFormatter] type collect

Enhancements:

  • #1041: Use Array.Empty<T>() instead of new T[] wherever possible

Others:

  • #1030: Run net472 tests on mono
  • #1010: Improve generation of generic formatters
  • #1008: use ExpressionTree.Compile(preferInterpretation: true) for Unity IL2CPP

v2.2.36-alpha

12 Sep 03:20
6f5c234
Compare
Choose a tag to compare
v2.2.36-alpha Pre-release
Pre-release

Changes:

Fixes:

  • #1003: mpc for nested types broken

Enhancements:

  • #948: Add support for ExpandoObject
  • #1029: Merge immutable collections formatters into main library
  • #1027: Add ReadOnlyMemory<T> and ReadOnlySequence<T> support
  • #960: Add a built-in formatter for System.Type
  • #912: Make a proper dotnet mpc tool

Others:

  • #1019: mpc - add externalIgnoreTypeNames feature
See More
  • #1015: Merge master to v2.2
  • #1012: fix(1011): Override references to load *.dll without autoReference:true
  • #1005: Correctly identify and throw on unsupported mpc case
  • #1004: mpc fixes and Generated.cs refresh
  • #1002: mpc doesn't support Union attributes with type names
  • #1001: remove unused .meta
  • #995: Add xml snippet of how to customize mpc build task
  • #992: Merge master to v2.2
  • #656: Use MSBuild OM for what it's good for
  • #962: Merge master to v2.2 branch
  • #947: Add built-in Memory formatters
  • #363: Allow using of UnionAttribute for interfaces separated from implementation

This list of changes was auto generated.