MessagePack

MessagePack (or "MsgPack") is a serialization format similar to JSON but binary. Unlike JSON but like TOML and YAML it distinguishes between byte arrays and strings and has a timestamp format (as an optional but standardized extension).

There are the following options for working with MessagePack in Tcl.

Library Type Tcl versions MsgPack spec version License Features
https://github.com/jdc8/msgpack pure Tcl 8.6, 9 "new" (v5) 3-clause BSD Encoder, decoder, extension formats, timestamp
https://github.com/jdc8/tclmsgpack Critcl C extension 8.5, 8.6 "old" (v4) 3-clause BSD Encoder, decoder
https://github.com/tkob/tclmessagepack pure Tcl 8.6, 9 "new" (v5) MIT Decoder, extension formats
https://github.com/yuhangwang/MessagePack-Tcl pure Tcl 8.5, 8.6, 9 "old" (v4) MIT Encoder, decoder, extension formats