MessagePack for Rust - almost 1.0

Hello!

After a year of developing and using rmp (Rust MessagePack) library at last I feel that its core API is quite stable to be able to release the first major version.

For those who doesn't know what MessagePack is.

The additions and changes are:

  • a Value object now can be checked whether it is a nil/bool/int etc.;
  • similar methods were added to try to view a Value as nil/bool/int etc.;
  • Value is now indexable by int if the underlying type is an array (otherwise nil will be returned) allowing to do monadic access like v[0][1][0].as_int() like this;
  • see the docs for more.

More you can view in the changelog.


There are also two crates nearby: rmp-serialize and rmp-serde which depends on rustc-serialize and serde respectively, and which allow to pack/unpack Rust types directly using compiler-plugin magic (or syntex dev dependency if you're using serde, allowing to compile on stable Rust). They aren't documented much - I'm going to fix this missing ASAP. Note, that these crates aren't going to be stabilized until its dependencies are stable.

If you think, that the library goes in the wrong direction or you'd wish to have a more examples/docs/whatever else - feel free to open an issue (or better - a PR) or mail me.

Happy hacking!

5 Likes

Hi

I've also kept an eye on msgpack and I'll use it for an append log database which is in the works.

I'm glad to hear the news.