Cap'n Proto Beta Release

101 views
Skip to first unread message

Kenton Varda

unread,
Jun 27, 2013, 3:16:17 PM6/27/13
to capnproto...@googlegroups.com

Hello capnproto-announce,

It‘s been nearly three months since Cap’n Proto was originally announced, and by now you‘re probably wondering what I’ve been up to. The answer is basically non-stop coding. Features were implemented, code was refactored, tests were written, and now Cap‘n Proto is beginning to resemble something like a real product. But as is so often the case with me, I’ve been so engrossed in coding that I forgot to post updates!

Well, that changes today, with the first official release of Cap'n Proto, v0.1. While not yet “done”, this release should be usable for Real Work. Feature-wise, for C++, the library is roughly on par with Google's Protocol Buffers (which, as you know, I used to maintain). Features include:

  • Types: numbers, bytes, text, enums, lists, structs, and unions.
  • Code generation from schema definition files.
  • Reading from and writing to file descriptors (or other streams).
  • Text-format output (e.g. for debugging).
  • Reflection, for writing generic code that dynamically walks over message contents.
  • Dynamic schema loading (to manipulate types not known at compile time).
  • Code generator plugins for extending the compiler to support new languages.
  • Tested on Linux and Mac OSX with GCC and Clang.

Notably missing from this list is RPC (something Protocol Buffers never provided either). The RPC system is still in the design phase, but will be implemented over the coming weeks.

Also missing is support for languages other than C++. However, I'm happy to report that a number of awesome contributors have stepped up and are working on implementations in C, Go, Python, and a few others not yet announced. None of these are “ready” just yet, but watch this space. (Would you like to work on an implementation in your favorite language? Let us know!)

Going forward, Cap'n Proto releases will occur more frequently, perhaps every 2-4 weeks.

In any case, go download the release and tell us your thoughts.

-Kenton

(permalink)

PS. Many of you signed up to this list but chose not to receive e-mail. I asked a few people about it and they said this was an accident — Google Groups defaults to “no e-mail”. Since it‘s hard to imagine why anyone would sign up to a mailing list but request not to receive e-mail, I’ve gone ahead and switched you over to “all e-mail”. I deeply apologize if this is not what you wanted! Please feel free to unsubscribe.

Reply all
Reply to author
Forward
0 new messages