My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Featured
Downloads
Links

Overview

This 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.

Documentation

See 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!

News

Mar 10, 2011

protobuf-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, 2010

protobuf-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, 2010

0.14 beta0 has experimental support for packed-repeated fields. Testers appreciated!

Apr 27, 2010

I'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, 2010

protobuf-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)

Caveats

Some 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 -

Author

Dave Benson

Powered by Google Project Hosting