Skip to content

Releases: AArnott/Nerdbank.MessagePack

v0.2.2-alpha

12 Nov 06:07
5b5f1b2
Compare
Choose a tag to compare
v0.2.2-alpha Pre-release
Pre-release

What's Changed

Fixes

  • Add exhaustive test cases and fix stack overflow by @AArnott in #52
  • Fix BigInteger serialization for very large values by @AArnott in #64
  • Fix assembly version precision in analyzers by @AArnott in #70

Enhancements

  • A bunch of new analyzers
    • Add NBMsgPack030 analyzer to block calls to MessagePackSerializer by @AArnott in #50
    • Improve [KeyAttribute] analyzers to work across the type hierarchy by @AArnott in #53
    • Add NBMsgPack031 analyzer for =1 structure being read/written in a custom converter by @AArnott in #54
  • Add migration doc, analyzer, and code fix to automate migration from MessagePack-CSharp by @AArnott in #63
  • Avoid serializing properties that cannot be deserialized by @AArnott in #60
  • Accept values to be serialized with in instead of ref by @AArnott in #61
  • Offer automatic secure hash functions by @AArnott in #57
  • Add RawMessagePack struct for deferred deserialization by @AArnott in #68
  • Add default constructor to MessagePackSerializationException by @AArnott in #58

Other changes

  • Rename converter methods to Read and Write by @AArnott in #66
  • Switch dependency from typeshape-csharp to PolyType by @AArnott in #51
  • Remove last remnants of "ExtensionFormat" naming pattern by @AArnott in #62
  • Bump version to 0.2 by @AArnott in #75

Full Changelog: v0.1.734-alpha...v0.2.2-alpha

v0.1.734-alpha

07 Nov 05:36
09268fd
Compare
Choose a tag to compare
v0.1.734-alpha Pre-release
Pre-release

What's Changed

  • Enable registering custom converters by @AArnott in #27
  • Add support for inflating pre-created collections in the deserializer by @AArnott in #29
  • Add MessagePackConverterAttribute to prescribe default custom converters for custom types by @AArnott in #44
  • Provide custom converters a means to delegate sub-values by @AArnott in #46
  • Offer camelCase property name transformation by @AArnott in #47

New analyzers

  • Add NBMsgPack002 analyzer: Avoid [Key] on non-serialized members by @AArnott in #39
  • Add NBMsgPack003 analyzer: [Key] index must be unique by @AArnott in #41
  • Add [KnownSubType] attribute analyzers by @AArnott in #43

Full Changelog: v0.1.705-alpha...v0.1.734-alpha

v0.1.705-alpha

05 Nov 17:00
ad42887
Compare
Choose a tag to compare
v0.1.705-alpha Pre-release
Pre-release

What's Changed

This is our initial release. Your feedback is most welcome!

Features

  • Serializes in the compact and fast MessagePack format.
  • Performance is on par with the highly tuned and popular MessagePack-CSharp library.
  • Automatically serialize any type annotated with the TypeShape-csharp [GenerateShape] attribute.
  • Automatically serialize non-annotated types by adding a 'witness' type with a similar annotation.
  • Fast ref-based serialization and deserialization minimizes copying of large structs.
  • NativeAOT and trimming compatible.
  • Keep memory pressure low by using async serialization directly to/from I/O like a network, IPC pipe or file.
  • Primitive msgpack reader and writer APIs for low-level scenarios.
  • Author custom converters for advanced scenarios.
  • Security mitigations for stack overflows.
  • Optionally serialize your custom types as arrays of values instead of maps of names and value for more compact representation and even higher performance.
  • Support for serializing instances of certain types derived from the declared type and deserializing them back to their original runtime types using unions.

New Contributors

  • @github-actions made their first contribution in #2

Full Changelog: https://github.com/AArnott/Nerdbank.MessagePack/commits/v0.1.705-alpha