7.2 KiB
7.2 KiB
Change Log
All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
Unreleased (0.8.11)
Added
- Implemeneted support for
#![no_std]inrmpv- Adds new
feature="std"(on by default)
- Adds new
- Introduces new
RmpReadandRmpWritetraits.- Needed because
std::io::Read(and Write) are missing on#![no_std]
- Needed because
- Introduces new
BytesandByteBufwrappers, that implement RmpRead/RmpWrite for no_std targets.
0.8.6 - 2017-04-23
Added
- New
rmp::decode::read_str_from_slicefunction for zero-copy reading strings from slices.
Changed
- Deprecate
rmp::decode::read_str_ref, because it's useless and inconvenient.
0.8.5 - 2017-03-13
Fixed
- Fix compilation on rustc 1.13.0.
0.8.4 - 2017-03-09
Added
- Derive
DebugforMarkerReadError.
0.8.3 - 2017-03-04
Fixed
- Fixed
write_sint, so it should mark positive values as unsigned integers. Before this change it marked signed integers larger than4294967296with I64 marker, which is not consistent with other MessagePack implementations. Now it should mark such integers with U64 marker.
0.8.2 - 2017-02-01
Added
- Conversion from
ValueWriteErrorinto I/O error.
0.8.1 - 2017-01-05
Changed
- Fixed docs link.
0.8.0 - 2017-01-05
Added
- Marker now implements
FromandIntotraits foru8. - Add
read_intfunction, which allows to read integer values and automatically cast to the expected result type even if they aren't the same. An additionalOutOfRangeerror will be returned in the case of failed numeric cast. - Add
NumValueReadErrorenum with additionalOutOfRangevariant to be able to detect whether integer decoding failed because of out of range.
Changed
- Update
byteorderdependency to 1.0. - Unexpected EOF variant has been merged with the default one in the I/O Error enum.
- Function
write_sintnow encodes 64-bit signed integers using the most compact representation. - Function
write_uintnow encodes 64-bit unsigned integers using the most compact representation. - Rename
read_array_sizefunction toread_array_lenfor consistency. - Rename
read_map_sizefunction toread_map_lenfor consistency. - Make
FixedValueWriteErrorstruct private. All functions, that previously returned such kind of error now return the Standard I/O error.
Removed
- Move
ValueandValueRefenums and associated functions into the separatermpvcrate. - Remove conversions from
byteordercrate errors, because since 0.5 there are no such errors. - Remove
write_sint_efffunction - its functionality can now be done usingwrite_sintinstead. - Remove
write_uint_efffunction - its functionality can now be done usingwrite_uintinstead. - Integral functions like
read_*_looselyandread_*_fitwere removed in favor of genericread_intfunction, which allows to read integral values and cast them to the specified result type even if they aren't the same. - Remove
read_bin_borrowfunction.
0.7.5 - 2016-07-24
Added
- Add
is_*methods for Value for checking its underlying value without explicit matching. - Add
as_*methods for Value for borrowing its underlying value. - Value is now indexable by integer.
0.7.4 - 2016-07-18
Added
- Value now can be initialized from primitive values using From trait.
0.7.3 - 2015-09-23
Changed
- Restricted upper version limit for dependencies.
0.7.2 - 2015-09-23
Added
- Implemented
Displaytrait forValue.
0.7.1 - 2015-09-11
Changed
- Use
to_ownedinstead ofto_stringwhile convertingValueRefintoValue. This change improvesValueRef::to_owned()method performance by approximately 10-20%.s Also after this change it's cheaper to decode directly intoValueRefwith further converting to owned value rather than decoding directly intoValue.
0.7.0 - 2015-08-24
Changed
- The big single crate has been refactored, which results in three crates:
rmp,rmp-serializeandrmp-serde.
0.6.0 - 2015-08-17
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
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.
0.5.1 - 2015-08-10
Changed
- Now the
rustc_serialize::Encodershould encode signed integers using the most effective underlying representation. - Now the
rustc_serialize::Decodershould properly map integers to the result type if the decoded value fits in result type's range.
0.5.0 - 2015-08-01
Added
- New
ValueRefvalue struct represents MessagePack'ed value, but unlike an owningValueit owns nothing except its structure. It means that all strings and binaries it contains are borrowed from the byte array from which the value was created. - New
BorrowReadtrait, which looks like a standardBufReadbut unlike the standard this has an explicit internal buffer lifetime, which allows to borrow from underlying buffer while mutating the type. - Encoding function for
ValueRefwith its own error category. - Decoding function for
ValueRefwith its own error category. - Conversion method from
ValueReftoValue. - More benchmarks and tests.
Changed
- Derive
Copytrait forIntegerandFloatenums.
0.4.0 - 2015-07-17
Added
- Low level
write_strfunction allows to serialize the UTF-8 encoded strings the most efficient way. - Low level
write_binfunction allows to serialize the binary array the most efficient way. - Implemented
std::error::Errortrait for error types.
0.3.2 - 2015-07-05
Changed
- Encoder now should return proper error types.
0.3.1 - 2015-06-28
Changed
- Stabilizing enum serialization/deserialization. Now every enum is serialized as [int, [args...]].
- Suppressed some warnings appeared on updated compiler.
0.3.0 - 2015-06-25
Added
- Enum serialization/deserialization.
0.2.2 - 2015-06-15
Changed
- Minor integer decoding performance tweaking.
0.2.1 - 2015-05-30
Added
- Benchmarking module.
Changed
- Increased string decoding performance by ~30 times.
- Exported
read_valuefunction to thermp::decodemodule. - Exported
Valuestruct to the root crate namespace.
0.2.0 - 2015-05-27
Added
- Introducing a
Valuealgebraic data type, which represents an owning MessagePack object. It can be found inrmp::valuemodule. - The Value ADT encoding and decoding functions.
- Low-level ext type decoders.
0.1.1 - 2015-05-18
Changed
- Added documentation and repository site in Cargo.toml.
- Added keywords to ease searching using crates.io.
0.1.0 - 2015-05-15
Added
- Initial commit.
- This CHANGELOG file to hopefully serve as an evolving example of a standardized open source project CHANGELOG.