PackageTrack
Sign in Get early access

rmp

Pure Rust MessagePack serialization implementation

0.8.15 131M downloads/mo #689 most downloaded on crates.io 3Hren/msgpack-rust

What this package is like to depend on

Last release 8 months ago

23 Dec 2025

Release timing varies

gaps range from 8 days to 2.0 years

Some releases are documented

notes for 3 of 8 stable releases

26 versions withdrawn

withdrawn after publishing

11 years old

34 releases · first in 2015

1 release in the last 12 months

see the full history below

Release timeline

34 releases · May 2015 to Dec 2025
2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 34
  1. 0.8.15 23 Dec 2025

    Nothing published for this version

  2. 0.8.14 17 Apr 2024
    Release notes

    chore: Release rmp version 0.8.14

    Open source →
  3. 0.8.13 16 Apr 2024
    Release notes

    chore: Release rmp version 0.8.13

    Open source →
  4. 0.8.12 21 Jul 2023

    Nothing published for this version

  5. 0.8.11 19 Apr 2022
    Release notes

    Merge pull request #304 from Lucretiel/checked-access-len

    Open source →
  6. 0.8.10 02 Feb 2021

    Nothing published for this version

  7. 0.8.9 29 Dec 2019

    Nothing published for this version

  8. 0.8.8 01 Sep 2019

    Nothing published for this version

  9. 0.8.7 23 Aug 2017 withdrawn

    Nothing published for this version

  10. 0.8.6 23 Apr 2017 withdrawn
    Release notes

    Added

    • New rmp::decode::read_str_from_slice function for zero-copy reading strings from slices.

    Changed

    • Deprecate rmp::decode::read_str_ref, because it's useless and inconvenient.
    Open source →
  11. 0.8.5 13 Mar 2017 withdrawn
    Release notes

    Fixed

    • Fix compilation on rustc 1.13.0.
    Open source →
  12. 0.8.4 09 Mar 2017 withdrawn
    Release notes

    Added

    • Derive Debug for MarkerReadError.
    Open source →
  13. 0.8.3 04 Mar 2017 withdrawn
    Release notes

    Fixed

    • Fixed write_sint, so it should mark positive values as unsigned integers. Before this change it marked signed integers larger than 4294967296 with I64 marker, which is not consistent with other MessagePack implementations. Now it should mark such integers with U64 marker.
    Open source →
  14. 0.8.2 01 Feb 2017 withdrawn
    Release notes

    Added

    • Conversion from ValueWriteError into I/O error.
    Open source →
  15. 0.8.1 05 Jan 2017 withdrawn
    Release notes

    Changed

    • Fixed docs link.
    Open source →
  16. 0.8.0 05 Jan 2017 withdrawn
    Release notes

    Added

    • Marker now implements From and Into traits for u8.
    • Add read_int function, which allows to read integer values and automatically cast to the expected result type even if they aren't the same. An additional OutOfRange error will be returned in the case of failed numeric cast.
    • Add NumValueReadError enum with additional OutOfRange variant to be able to detect whether integer decoding failed because of out of range.

    Changed

    • Update byteorder dependency to 1.0.
    • Unexpected EOF variant has been merged with the default one in the I/O Error enum.
    • Function write_sint now encodes 64-bit signed integers using the most compact representation.
    • Function write_uint now encodes 64-bit unsigned integers using the most compact representation.
    • Rename read_array_size function to read_array_len for consistency.
    • Rename read_map_size function to read_map_len for consistency.
    • Make FixedValueWriteError struct private. All functions, that previously returned such kind of error now return the Standard I/O error.

    Removed

    • Move Value and ValueRef enums and associated functions into the separate rmpv crate.
    • Remove conversions from byteorder crate errors, because since 0.5 there are no such errors.
    • Remove write_sint_eff function - its functionality can now be done using write_sint instead.
    • Remove write_uint_eff function - its functionality can now be done using write_uint instead.
    • Integral functions like read_*_loosely and read_*_fit were removed in favor of generic read_int function, which allows to read integral values and cast them to the specified result type even if they aren't the same.
    • Remove read_bin_borrow function.
    Open source →
  17. 0.7.5 24 Jul 2016 withdrawn
    Release notes

    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.
    Open source →
  18. 0.7.4 17 Jul 2016 withdrawn
    Release notes

    Added

    • Value now can be initialized from primitive values using From trait.
    Open source →
  19. 0.7.3 04 Oct 2015 withdrawn
    Release notes

    Changed

    • Restricted upper version limit for dependencies.
    Open source →
  20. 0.7.2 23 Sep 2015 withdrawn
    Release notes

    Added

    • Implemented Display trait for Value.
    Open source →
  21. 0.7.1 10 Sep 2015 withdrawn
    Release notes

    Changed

    • Use to_owned instead of to_string while converting ValueRef into Value. This change improves ValueRef::to_owned() method performance by approximately 10-20%.s Also after this change it's cheaper to decode directly into ValueRef with further converting to owned value rather than decoding directly into Value.
    Open source →
  22. 0.7.0 24 Aug 2015 withdrawn
    Release notes

    Changed

    • The big single crate has been refactored, which results in three crates: rmp, rmp-serialize and rmp-serde.
    Open source →
  23. 0.6.0 17 Aug 2015 withdrawn
    Release notes

    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 to FixPos.
    • Renamed NegativeFixnum marker to FixNeg.
    • Renamed FixedString marker to FixStr.
    • Renamed FixedArray marker to FixArray.
    • Renamed FixedMap to FixMap.
    • Minor documentation updates and markdown fixes.
    Open source →
  24. 0.5.1 10 Aug 2015 withdrawn
    Release notes

    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.
    Open source →
  25. 0.5.0 01 Aug 2015 withdrawn
    Release notes

    Added

    • New ValueRef value struct represents MessagePack'ed value, but unlike an owning Value it 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 BorrowRead trait, which looks like a standard BufRead but unlike the standard this has an explicit internal buffer lifetime, which allows to borrow from underlying buffer while mutating the type.
    • Encoding function for ValueRef with its own error category.
    • Decoding function for ValueRef with its own error category.
    • Conversion method from ValueRef to Value.
    • More benchmarks and tests.

    Changed

    • Derive Copy trait for Integer and Float enums.
    Open source →
  26. 0.4.0 17 Jul 2015 withdrawn
    Release notes

    Added

    • Low level write_str function allows to serialize the UTF-8 encoded strings the most efficient way.
    • Low level write_bin function allows to serialize the binary array the most efficient way.
    • Implemented std::error::Error trait for error types.
    Open source →
  27. 0.3.2 05 Jul 2015 withdrawn
    Release notes

    Changed

    • Encoder now should return proper error types.
    Open source →
  28. 0.3.1 28 Jun 2015 withdrawn
    Release notes

    Changed

    • Stabilizing enum serialization/deserialization. Now every enum is serialized as [int, [args...]].
    • Suppressed some warnings appeared on updated compiler.
    Open source →
  29. 0.3.0 25 Jun 2015 withdrawn
    Release notes

    Added

    • Enum serialization/deserialization.
    Open source →
  30. 0.2.2 15 Jun 2015 withdrawn
    Release notes

    Changed

    • Minor integer decoding performance tweaking.
    Open source →
  31. 0.2.1 31 May 2015 withdrawn
    Release notes

    Added

    • Benchmarking module.

    Changed

    • Increased string decoding performance by ~30 times.
    • Exported read_value function to the rmp::decode module.
    • Exported Value struct to the root crate namespace.
    Open source →
  32. 0.2.0 27 May 2015 withdrawn
    Release notes

    Added

    • Introducing a Value algebraic data type, which represents an owning MessagePack object. It can be found in rmp::value module.
    • The Value ADT encoding and decoding functions.
    • Low-level ext type decoders.
    Open source →
  33. 0.1.1 18 May 2015 withdrawn
    Release notes

    Changed

    • Added documentation and repository site in Cargo.toml.
    • Added keywords to ease searching using crates.io.
    Open source →
  34. 0.1.0 15 May 2015 withdrawn
    Release notes

    Added

    • Initial commit.
    • This CHANGELOG file to hopefully serve as an evolving example of a standardized open source project CHANGELOG.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive