Releases: MessagePack-CSharp/MessagePack-CSharp
v2.3.85
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
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
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 withinit
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
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
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 withinit
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
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
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
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>
andReadOnlySequence<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
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 ofnew T[]
wherever possible
Others:
v2.2.36-alpha
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>
andReadOnlySequence<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.