Wrath Timewalker
-
Use
to_ownedinstead ofto_stringwhile convertingValueRefintoValue. This change improvesValueRef::to_owned()method performance by approximately 10-20%.Also after this commit it's cheaper to decode directly into
ValueRefwith further converting to owned value rather than decoding directly intoValue.
Savage
- Serializer can now be extended with custom struct encoding policy.
- Improved error types and its messages for serialization part.
- New error type introduced - UnknownLength. Returned on attempt to serialize struct, map or serquence with unknown length (Serde allows this).
- The new type is returned if necessary.
- Deserializer now properly works with enums.
- Options with default values (that can be initialized using unit marker) deserialization. This fix also forbids the following Option deserialization cases:
- Option<()>.
- Option<Option<...>>. It's impossible to properly deserialize the listed cases without explicit option marker in protocol.
- Serializer now properly serializes unit structs. Previously it was serialized as a unit (nil), now there is just an empty array ([]).
Yogg-Saron
- Initial support for Serde serializer and deserializer.
- Efficient bytes serialization with Serde.
- Efficient binaries deserialization with Serde using
ByteBuf. - Rust serialize Decoder now can provide the underlying reader both by reference or by value, destroying itself in the last case.
- Update well-formness for
BigEndianReadtrait to be implemented only for sized types. - Renamed
PositiveFixnummarker toFixPos. - Renamed
NegativeFixnummarker toFixNeg. - Renamed
FixedStringmarker toFixStr. - Renamed
FixedArraymarker toFixArray. - Renamed
FixedMaptoFixMap. - Minor documentation updates and markdown fixes.