Releases: 3Hren/msgpack-rust
Releases · 3Hren/msgpack-rust
GitHub fails to update which release is the latest. Ignore this, look up at the hidden tags
Mindbender Ghur'sha
Changed
- Upper limit for serde version.
Fixed
- Use the most effective int encoding
Even if the value is explicitly marked as i64 it must be encoded using
the most effective bytes representation despite of signed it or
unsigned.
Wrath Timewalker
Changed
-
Use
to_owned
instead ofto_string
while convertingValueRef
intoValue
.
This change improvesValueRef::to_owned()
method performance by approximately 10-20%.Also after this commit it's cheaper to decode directly into
ValueRef
with further converting to owned value rather than decoding directly intoValue
.
Savage
Changed
- 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.
- New error type introduced - UnknownLength. Returned on attempt to serialize struct, map or serquence with unknown
Fixed
- 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
Added
- 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.
Changed
- Update well-formness for
BigEndianRead
trait to be implemented only for sized types. - Renamed
PositiveFixnum
marker toFixPos
. - Renamed
NegativeFixnum
marker toFixNeg
. - Renamed
FixedString
marker toFixStr
. - Renamed
FixedArray
marker toFixArray
. - Renamed
FixedMap
toFixMap
. - Minor documentation updates and markdown fixes.
Illidari Council
Changed
- Now the
rustc_serialize::Encoder
should encode signed integers using the most effective underlying representation. - Now the
rustc_serialize::Decoder
should properly map integers to the result type if the decoded value fits in
result type's range.