Skip to content

Releases: point-platform/dasher

v0.8.0

30 Dec 14:36
Compare
Choose a tag to compare
  • Multi-platform support via netstandard1.3, including .NET Core
  • Add Empty type
  • Support char type
  • Allow deserialising float as double, as 32-bit to 64-bit IEEE 754 widening is lossless
  • Allow deserialising integral types as decimal as they are all lossless
  • Fix bug when serialising unsupported nested types
  • Introduce UnionTagAttribute to control member identifier on the wire
  • Introduce UnionEncoding.GetTypeName(Type) to get default member identifier used on the wire
  • Make Union helper class public
  • Add ITypeProvider.UseDefaultNullHandling(Type) to opt in/out of default null value encoding
  • Add Unpacker.TryPeekEmptyMap() and tests
  • More information in some error messages
  • More unit tests
  • Document supported type conversions on the wiki (link)

v0.7.3

29 Sep 15:53
Compare
Choose a tag to compare

Add more information to exception message raised by ComplexTypeProvider when the observed MsgPack type is incorrect.

v0.7.2

12 Aug 14:51
Compare
Choose a tag to compare

Support nested types in Union<...>.

Correct English in an error message.

Expose DasherContext.IsValidTopLevelType and adjust logic around restrictions a little.

v0.7.1

19 Jul 13:51
Compare
Choose a tag to compare

Allow explicit cast of union type to one of its member types.

v0.7.0

18 Jul 20:21
Compare
Choose a tag to compare

~15% performance improvement during deserialisation by rearranging generated code's layout in memory.

Merge UnsafePacker and Packer classes into single Packer class (minor API change).

Unpacker.Try* methods now always throw if stream ends, instead of just throwing in some cases (minor logic change).

Introduce unsafe option for unpacking too.

Control use of unsafe code via the new UNSAFE compilation symbol.

Minor bug fix in error handling during deserialiser code generation.

v0.6.1

05 Jul 21:00
Compare
Choose a tag to compare

Support top-level Union<...> objects.
More information in some exception messages.
Renamed methods of ITypeProvider.
Internal code reorganisation.

v0.6.0

02 Jul 11:46
Compare
Choose a tag to compare

Add support for union types. See README for details.

Disallow serialisation of complex types with no properties.

v0.5.3

01 Jul 08:32
Compare
Choose a tag to compare

Reduced size of encoded System.Guid values from 32+ to 16+ bytes. This is a breaking change. Again, breaking changes will stop once Dasher reaches v1.0.

Serialisers and deserialisers throw clearer exceptions when given null values for Stream,byte[],Packer,Unpacker.

v0.5.2

26 Jun 23:07
Compare
Choose a tag to compare

Includes more information in deserialisation error messages when encountering unexpected fields. Now shows the field name, received MsgPack format and target CLR type name.

v0.5.1

14 Jun 20:43
Compare
Choose a tag to compare

Include type name in error message about missing field.