Releases: point-platform/dasher
v0.8.0
- Multi-platform support via
netstandard1.3
, including .NET Core - Add
Empty
type - Support
char
type - Allow deserialising
float
asdouble
, 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 defaultnull
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
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.