rmp-serde
Serde support for MessagePack
1.3.1
122M downloads/mo
#714 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 2 weeks to 1.6 years
Some releases are documented
notes for 3 of 7 stable releases
35 versions withdrawn
withdrawn after publishing
11 years old
43 releases · first in 2015
1 release in the last 12 months
see the full history below
Release timeline
43 releases · Aug 2015 to Dec 2025Releases
latest 43-
1.3.123 Dec 2025Nothing published for this version
-
1.3.030 Apr 2024 -
1.3.0-beta.117 Apr 2024 pre-releaseNothing published for this version
-
1.2.016 Apr 2024 -
1.1.221 Jul 2023Nothing published for this version
-
1.1.127 Sep 2022 -
1.1.019 Apr 2022 withdrawnNothing published for this version
-
1.0.016 Jan 2022 withdrawnNothing published for this version
-
1.0.0-beta.204 Sep 2021 pre-release withdrawnNothing published for this version
-
1.0.0-beta.117 Aug 2021 pre-release withdrawnNothing published for this version
-
0.15.511 Jun 2021Nothing published for this version
-
0.15.402 Feb 2021 withdrawnNothing published for this version
-
0.15.319 Jan 2021 withdrawnNothing published for this version
-
0.15.103 Jan 2021 withdrawnNothing published for this version
-
0.15.006 Dec 2020 withdrawnNothing published for this version
-
0.14.424 Jul 2020Nothing published for this version
-
0.14.312 Feb 2020 withdrawnNothing published for this version
-
0.14.203 Feb 2020 withdrawnNothing published for this version
-
0.14.130 Jan 2020 withdrawnNothing published for this version
-
0.14.001 Sep 2019 withdrawnNothing published for this version
-
0.13.713 Sep 2017 withdrawnRelease notes
Open source →Changed:
RawandRawRefare now serializable.- Allow to construct
RawandRawReffrom string or from a byte array.
-
0.13.604 Aug 2017 withdrawn -
0.13.521 Jul 2017 withdrawnRelease notes
Open source →Changed
- Switch to using
char::encode_utf8. In Rust 1.15, the functionchar::encode_utf8was stabilized. Assuming thatrmpfollows theserdestandard of supporting the last 3 stable releases, this function is now safe to use. I believe this removes the last allocation required on the serialization path.
- Switch to using
-
0.13.411 Jul 2017 withdrawn -
0.13.327 May 2017 withdrawn -
0.13.125 Apr 2017 withdrawnRelease notes
Open source →Added
- Add helper
RawRefstruct that allows to deserialize borrowed strings even if they contain invalid UTF-8. This can be when deserializing frames from older MessagePack spec.
- Add helper
-
0.13.024 Apr 2017 withdrawnRelease notes
Open source →Added
- Zero-copy deserialization from
&[u8].
Changed
- Adapt with serde 1.0.
- Zero-copy deserialization from
-
0.12.426 Mar 2017 withdrawn -
0.12.326 Mar 2017 withdrawnRelease notes
Open source →Added
- Add helper
Rawstruct that allows to deserialize strings even if they contain invalid UTF-8. This can be when deserializing frames from older MessagePack spec. - Serializer can now return back its underlying writer by reference, mutable reference and by value.
- Add helper
-
0.12.218 Feb 2017 withdrawnRelease notes
Open source →Added
- Added
write,to_vecandfrom_readfunctions to reduce boilerplate for serializing and deserializing custom types that implementSerializeorDeserialize.
- Added
-
0.12.008 Feb 2017 withdrawn -
0.11.005 Jan 2017 withdrawnRelease notes
Open source →Changed
- Adapt with RMP core 0.8.
- The
Serializernow encodes integers using the most effective representation. - The
Deserializernow properly decodes integer values that fit in the expected type. - Default stack protector depth is now 1024 instead of 1000.
- Internal buffer in the
Deserializernow have some capacity preallocated.
-
0.10.006 Oct 2016 withdrawn -
0.9.605 Aug 2016 withdrawnRelease notes
Open source →Fixed
- Switch unit structs to using the same serialization mechanism as other structs (#76).
-
0.9.411 Jul 2016 withdrawnRelease notes
Open source →Fixed
- Reading binary should no longer trigger unexpected EOF error on valid read.
-
0.9.311 Jul 2016 withdrawnRelease notes
Open source →Changed
- Reuse deserializer buffer on every read for string and binary deserialization without unnecessary intermediate buffer creation. This change increases the string and binary deserialization performance (many thanks to Fedor Gogolev [email protected]).
-
0.9.203 Jul 2016 withdrawnRelease notes
Open source →Added
- Implement
size_hint()function forSeqVisitorandMapVisitor, so it can be possible to preallocate things, increasing the performance greatly.
- Implement
-
0.9.124 Jun 2016 withdrawnRelease notes
Open source →Fixed
- Serializer should no longer panic with unimplemented error on struct variant serialization ([#64]).
-
0.9.028 Mar 2016 withdrawn -
0.8.210 Nov 2015 withdrawn -
0.8.103 Oct 2015 withdrawnRelease notes
Open source →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.
-
0.8.010 Sep 2015 withdrawnRelease notes
Open source →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.
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 ([]).
-
0.7.024 Aug 2015 withdrawnNothing published for this version