Releases: point-platform/dasher
v0.8.0
- Multi-platform support via
netstandard1.3, including .NET Core - Add
Emptytype - Support
chartype - Allow deserialising
floatasdouble, as 32-bit to 64-bit IEEE 754 widening is lossless - Allow deserialising integral types as
decimalas they are all lossless - Fix bug when serialising unsupported nested types
- Introduce
UnionTagAttributeto control member identifier on the wire - Introduce
UnionEncoding.GetTypeName(Type)to get default member identifier used on the wire - Make
Unionhelper class public - Add
ITypeProvider.UseDefaultNullHandling(Type)to opt in/out of defaultnullvalue 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
Add more information to exception message raised by ComplexTypeProvider when the observed MsgPack type is incorrect.
v0.7.2
Support nested types in Union<...>.
Correct English in an error message.
Expose DasherContext.IsValidTopLevelType and adjust logic around restrictions a little.
v0.7.1
Allow explicit cast of union type to one of its member types.
v0.7.0
~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
Support top-level Union<...> objects.
More information in some exception messages.
Renamed methods of ITypeProvider.
Internal code reorganisation.
v0.6.0
Add support for union types. See README for details.
Disallow serialisation of complex types with no properties.
v0.5.3
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
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
Include type name in error message about missing field.