Skip to content

Releases: MessagePack-CSharp/MessagePack-CSharp

v3.0.301(3.0.308)

09 Dec 09:36
Compare
Choose a tag to compare

Note

Tag and Unity's version is 3.0.301 but published NuGet version is 3.0.308.
The version mismatch due to release process inconsistencies will be fixed in the next release.

What's Changed

Full Changelog: v3.0.300...v3.0.301

v3.0.300

06 Dec 09:28
Compare
Choose a tag to compare

v3.0.3

06 Dec 08:08
Compare
Choose a tag to compare

See our migration guide.
Details blog article

What's new

  • AOT source generation of formatters by default using roslyn source generators. mpc is no longer available. Dynamic formatters still exist (for runtimes that support them), but code that compiles against v3 are unlikely to need them, resulting in better startup performance and improved debugging experience.
  • AOT source generation is hugely improved.
    • Support most or all of the data types that DynamicObjectResolver supported.
    • Support for serializing private members.
  • [MessagePackObject] types can serialize private members without the application having to switch to DynamicObjectResolverAllowPrivate.
  • Analyzers are on by default, with many new ones to help ensure your code is correct and ready for AOT source generated formatters.
  • Custom formatters are automatically used for the data types they format when defined in the same assembly, by default. No need to attribute your data types to point to the custom formatter. Opt out by attributing the formatter with [ExcludeFormatterFromSourceGeneratedResolverAttribute].
  • New CompositeResolverAttribute offers a faster runtime alternative to the CompositeResolver class.

Unity

  • Consume through NuGetForUnity and UPM instead of through .unitypackage

What's Changed

Read more

v2.5.192

14 Nov 12:57
d3d435b
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.5.187...v2.5.192

v3.0.238-rc.1

23 Oct 14:33
ab4a3bb
Compare
Choose a tag to compare
v3.0.238-rc.1 Pre-release
Pre-release

What's Changed

  • Fix simplified name for ValueTuple by @AlanLiu90 in #2033
  • Avoid crashing with stack overflow on recursive generic type parameter constraints by @AArnott in #2036

Full Changelog: v3.0.233-rc.1...v3.0.238-rc.1

v3.0.233-rc.1

22 Oct 20:48
53896cb
Compare
Choose a tag to compare
v3.0.233-rc.1 Pre-release
Pre-release

Changes

Enhancements

  • #2013: Secure by default

Fixes

  • #2031: Use generic type argument used for custom formatters
  • #2029: Apply scoped in more places
  • #2030: Support nesting formatters within generic data types
  • #2024: Source code generation fails for generic type with private member serialization
  • #2028: Avoid collecting fields with custom formatter recusively
  • #2023: Suppress MsgPack004 on private base members when only public is interesting
  • #2022: Ignore abstract implementations of IMessagePackFormatter<T>
  • #2012: MsgPack004 Analyzer triggering on not attributed private property on base class eventhough source generator shouldn't include private properties
  • #2017: MsgPack013 should not report diagnostics on abstract classes
  • #2021: Add scoped modifier to in parameters of ref struct
  • #2016: Avoid collecting members when it doesn't have [Key]
  • #2005: custom formatters code source generator error

Others

  • #2032: Use simpler C# syntax for nullable value types

v3.0.214-rc.1

17 Oct 17:58
8e599af
Compare
Choose a tag to compare
v3.0.214-rc.1 Pre-release
Pre-release

Changes:

This list of changes was auto generated.

v2.5.187

17 Oct 17:58
f8d40b3
Compare
Choose a tag to compare

Changes:

This list of changes was auto generated.

v3.0.208-rc.1

16 Oct 14:59
0b7d76c
Compare
Choose a tag to compare
v3.0.208-rc.1 Pre-release
Pre-release

Breaking changes

Enhancements

  • Lower language version requirement of source generated resolver by @AlanLiu90 in #1926
  • Add ignore case option to EnumAsStringFormatter by @iguskov1810 in #1936
  • Adjusted MsgPack004 to support records by @N-Olbert in #1932 and #1946
  • Add MessagePackSerializer.Typeless.Deserialize overload that takes ReadOnlyMemory<byte> by @AArnott in #1959
  • Make CompositeResolverAttribute much more useful by @AArnott in #1968
  • Add MsgPack014 analyzer and code fix by @AArnott in #1969
  • Reconcile AllowPrivate behavior by @AArnott in #1990
  • Add analyzers to help recognize breaking changes by @AArnott in #2003
  • Add AOT formatter support for init properties and required members by @AArnott in #1980
  • Support formatters for CompositeResolverAttribute by @AlanLiu90 in #1922

Fixes

  • Fix diagnostic and code fix for MsgPack011 on nesting types by @AArnott in #1910
  • Fix some source generator issues by @AlanLiu90 in #1921
  • Improve handling of array types in source generation by @AArnott in #1960
  • Honor key name overrides in source-generated formatters by @AArnott in #1962
  • MPC String Value From Key Attribute Fix by @alimakki in #1963
  • Update DynamicAssembly usage to honor different AssemblyLoadContext's by @BertanAygun in #1978
  • Fix pack to include analyzers (more reliably) by @AArnott in #1994
  • Migration improvements: deserializing constructors and less-frequent partial requirements by @AArnott in #2002
  • Fix analyzers to not mis-interpret source generated formatters as user-defined by @AArnott in #1982
  • Fix embedded types being generated in resolver by @AlanLiu90 in #2000
  • Fix handling of name collisions in type hierarchies by @AArnott in #2006
  • Fix detecting duplicate keys by @pkindruk in #1971

Other changes

New Contributors

Full Changelog: v3.0.134-beta...v3.0.208-rc.1

v3.0.134-beta

29 Jul 19:29
2b3779b
Compare
Choose a tag to compare
v3.0.134-beta Pre-release
Pre-release

What's Changed

  • Fix and improve generated formatters by @AArnott in #1905
  • Honor ExcludeFormatterFromSourceGeneratedResolverAttribute by suppressing certain warnings by @AArnott in #1907

Full Changelog: v3.0.129-beta...v3.0.134-beta