OverviewThis package provides a code generator and runtime libraries to use Protocol Buffers from pure C (not C++). It uses a modified version of protoc called protoc-c. DocumentationSee our wiki for documentation. We are working on a page of Examples - please consider helping us improve it by reviewing it in partial draft form! NewsMar 10, 2011protobuf-c 0.15 is released. This is a bug-fix release. - make protobuf_c_message_init() into a function (Issue #49, daveb)
- Fix for freeing memory after unpacking bytes w/o a default-value. (Andrei Nigmatulin)
- minor windows portability issues (use ProtobufC_FD) (Pop Stelian)
- --with-endianness={little,big} (Pop Stelian)
- bug setting up values of has_idle in public dispatch, make protobuf_c_dispatch_run() use only public members (daveb)
- provide cmake support and some Windows compatibility (Nikita Manovich)
Aug 25, 2010protobuf-c 0.14 is released. It breaks binary and generated-source compatibility: you must re-run protoc-c to generate new .pb-c.h and .pb-c.c files. - build fix (missing dependency in test directory)
- add generation / installation of pkg-config files. (Bobby Powers)
- support for packed repeated fields (Dave Benson)
- bug in dsk_dispatch_close_fd(), which usually only showed up in later function calls.
- support for deprecated fields -- enable a GCC warning if a field has the "deprecated" option enabled. (Andrei Nigmatulin)
- hackery to try to avoid touching inttypes.h on windows ( Issue #41 )
- fix for protobuf_c_message_unpack() to issue error if any "required" field is missing in input stream. (Andrei Nigmatulin)
May 5, 20100.14 beta0 has experimental support for packed-repeated fields. Testers appreciated! Apr 27, 2010I've created a discussion group for protobuf-c; the main protobuf discussion group is too noisy for me to keep up with. It is here: http://groups.google.com/group/protobuf-c/ Mar 17, 2010protobuf-c 0.13 is released - Fix for when the number of connections gets too great in RPC. (Leszek Swirski) ( issue #32 )
- Add --disable-protoc to only build libprotobuf-c (daveb)
- Bug fixes for protobuf_c_enum_descriptor_get_value_by_name() and protobuf_c_service_descriptor_get_method_by_name()
- use generated initialization function from protobuf_c_message_unpack(), a small optimization (daveb)
- implement protobuf_c_{client,server}_set_error_handler()
Jan 24, 2010 protobuf-c 0.12 is released - fixes some compilation bugs and big-endian platform issues (thanks, everyone!)
- adds protobuf_c_message_init() (thanks to Andrei Nigmatulin for this work)
OlderNews Status- Most of the code is stable
- Packed-repeated fields are implemented
- groups and extensions are not expected to be implemented
- Some more binary-incompatibilities (and possibly source compatibilities) will probably be needed to support:
- multiple memory-allocation strategies
- a settable unpack error handler
(these incompatibilities are only expected to affect users defining their own ProtobufCAllocators) CaveatsSome binary compatibility changes are expected until version 1.0 is released; so make sure you are linking to the protobuf-c that corresponds to the generated code you are using! Groups are not implemented - they probably never will be (since they are deprecated. Extensions are not implemented - AuthorDave Benson
|