protobuf-c (0.16) UNRELEASED [ Dave Benson ] * Treat a "length-prefixed" wire-type message for a repeated field as packed-repeated whenever it makes sense (for all types other than messages, strings, and bytes). * Switch to New BSD license. * Add protobuf_c_message_check(). * Compile error in packing 64-bit versions on some platforms (srobbins99: Issue #68 Comment 1). * Fix for memory error if the required-field check fails. See Issue #63 for demo (w/ nice test case by dror.harari). * Add PROTOBUF_C_{MAJOR,MINOR} for compile-time checks and protobuf_c_{major,minor} for checks about the running library (Issue #53). * Use a small constant-size hash-table instead of alloca() for detecting required fields, and it also prevents us from using too much stack, etc. (Related to Issue #60, #79). * Add a macro to ensure enums are the size of ints (Issue #69). [ Ilya Lipnitskiy ] * Travis-CI integration. * Add source .proto filename to generated files. * Add protobuf-c version to protoc-c --version output (Issue #52). * For embedded submessage fields, merge multiple instances of the same field, per the protobuf documentation (Issue #91). [ Robert Edmonds ] * Remove CMake (Issue #87). * Modernize the build system. - Don't generate any diagnostics when building the build system with modern autotools (Issue #89). - Use the PKG_CHECK_MODULES macro to locate protobuf. - Use the AC_C_BIGENDIAN macro to detect endianness, rather than custom code. - Use the automake silent-rules option so the build output is actually readable. - Generate our own pkg-config .pc files. * Reorganize the source tree. This affects the public protobuf-c header path, which is now . A compatibility symlink from to has been installed so that existing code will continue to compile. New code should at some point begin using the new include path, i.e., "#include " rather than "#include ". * The RPC code has been split out into a separate project, protobuf-c-rpc. * Fix a potential use of an unitialized value in protobuf_c_message_unpack() and several memory leaks in protoc-c, discovered by a commercial static code analysis tool. * Bump the libprotobuf-c SONAME. * Update copyright and license statements throughout. The original protobuf code released by Google was relicensed from Apache-2.0 to BSD-3-Clause. Dave Benson also converted his license from BSD-3-Clause to BSD-2-Clause. protobuf-c (0.15) - 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) protobuf-c (0.14) - 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 protobuf_c_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) protobuf-c (0.13) - 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() - if descriptor->message_init != NULL, use it from unpack() as an optimization (daveb) - implement protobuf_c_{client,server}_set_error_handler() protobuf-c (0.12) - for field names which are reserved words, use the real name given in the protobuf-c file, not the mangled name which is the name of the member in the C structure. (Andrei Nigmatulin) - add protobuf_c_message_init() function; add virtual function that implements it efficiently. (Andrei Nigmatulin) - bug fix for sfixed32, fixed32, float wire-types on big-endian platforms (Robert Edmonds) - compile with the latest protobuf (the header file wire_format_inl.h is now wire_format.h) (Robert Edmonds) protobuf-c (0.11) - allow CFLAGS=-DPRINT_UNPACK_ERRORS=0 to suppress unpack warnings from being printed at compile time (Andrei Nigmatulin) - give error if an unknown wire-type is encountered (Andrei Nigmatulin) - fix technically possible overflows during unpack of very large messages (Andrei Nigmatulin) - [UNFINISHED] windows RPC work - use automake's "foreign" mode from within configure.ac and add version information to the library (Robert Edmonds) - ProtobufCServiceDescriptor::method_indices_by_name: missing const. (Issue 21) - Update to support new UnknownFields API. (fix by dcreager) (Issue 20) protobuf-c (0.10) - build issue on platforms which don't compute library dependencies automatically. - fix for certain types of corrupt messages (Landon Fuller) (issue 16) protobuf-c (0.9) - build issue: needed $(EXEEXT) in dependency lists for cygwin - bug fix: protobuf_c_service_get_method_by_name() was not correct b/c the service's methods were not sorted by name (the header file used to incorrectly state that they were). Now we correctly implement protobuf_c_service_get_method_by_name() (using a bsearch indexed by separate array). - generated source incompatibility: we added a new member to ProtobufCServiceDescriptor (method_indices_by_name). You will have to run the latest protobuf to generate those structures. - rename rpc-client's "autoretry" mechanism to "autoreconnect". - bug fixes using TCP clients with the RPC system. - handle allocation failures more gracefully (Jason Lunz) (issue 15) protobuf-c (0.8) - Destroy function typedef for Services was omitting a "*" - service_machgen_invoke was broken. (issue 12) - add RPC system (BETA) - don't segfault when packing NULL strings and messages. (issue 13) protobuf-c (0.7) - memory leak: unknown fields were not being freed by free_unpacked() - lowercase field names consistently when composing default_value names. (issue 11) - remove spurious semicolon (issue 10) protobuf-c (0.6) - Warning suppression for -Wcast-qual and -Wshadow. - Support for default values of all types allowed by core protobuf. - Generate message__init functions, for when the static initializer isn't convenient. - add some reserved fields at the end of the various descriptors protobuf-c (0.5) - License now included in major files. - Use little-endian optimizations; fix a bug therein. - Include 'make deb' target. protobuf-c (0.4) - Update to work with protobuf 2.0.1. protobuf-c (0.2) protobuf-c (0.3) - Minor pedantic concerns about generated code. protobuf-c (0.1) - Lots of test code (and bug fixes). protobuf-c (0.0) - Initial release.