forked from protobuf-c/protobuf-c
-
Notifications
You must be signed in to change notification settings - Fork 1
/
ChangeLog
358 lines (265 loc) · 13.4 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
protobuf-c (1.2.0)
[ Robert Edmonds ]
* Release 1.2.0.
[ Ilya Lipnitsky ]
* Implement the "optimize_for = CODE_SIZE" option (#183).
* Eliminate undefined behavior in zigzag functions (#198).
* Pack negative enum values correctly (#199).
[ Peter Leschev ]
* Fix protobuf_c_message_get_packed_size() on 16-bit systems (#196, #197).
[ Diego Elio Pettenò ]
* Update link to Autotools Mythbuster to canonical site (#201).
[ Zex Li ]
* Skip test suite when cross-compiling (#184).
protobuf-c (1.1.1)
[ Robert Edmonds ]
* Release 1.1.1.
* Use protobuf 2.6.1 in the Travis-CI environment.
[ Ilya Lipnitskiy ]
* Munge C block comment delimiters in protobuf comments, preventing syntax
errors in generated header files (Issue #180, #185).
* Add static qualifier to ProtobufCEnumValue and ProtobufCEnumValueIndex
variables in generated output.
[ Oleg Efimov ]
* Fix -Wpointer-sign compiler diagnostics in the test suite.
* Check for NULL pointers in protobuf_c_message_free_unpacked()
(Issue #177).
* Exclude protoc-c and downloaded protobuf sources from Coveralls report.
[ Andrey Myznikov ]
* Fix incorrect 'short_name' field values in ProtobufCServiceDescriptor
variables in generated output.
protobuf-c (1.1.0)
[ Robert Edmonds ]
* Release 1.1.0.
[ Ilya Lipnitskiy ]
* Fix a bug when merging optional byte fields.
* Documentation updates.
* Implement oneof support (Issue #174). Protobuf 2.6.0 or newer is now
required to build protobuf-c.
* Print leading comments for enum, message, and field definitions into
generated header files (Issue #175).
protobuf-c (1.0.2)
[ Robert Edmonds ]
* Release 1.0.2.
[ Ilya Lipnitskiy ]
* Fix a build failure with Protobuf 2.6.0 related to aliased enum constants
(Issue #163).
* Protobuf 2.5.0 or newer is now required to build protobuf-c (Issue #166).
This is due to the fix for #163.
[ Alexei Kasatkin ]
* Eliminate void pointer arithmetic (Issue #167).
* Always define PROTOBUF_C__DEPRECATED, even on compilers that are not GCC
(Issue #167).
* Work around the lack of the 'inline' keyword in Microsoft compilers
(Issue #167).
* Add a CMakeLists.txt file as a fallback build system for Windows
(Issue #168).
[ Natanael Copa ]
* Fix a build failure in the test suite that occurred with a parallel make
running on a system with a large number of CPUs (Issue #156, #169).
protobuf-c (1.0.1)
[ Robert Edmonds ]
* Explicitly set the .data field of ProtobufCBinaryData's to NULL when
unpacking a zero length byte string (Issue #157).
protobuf-c (1.0.0)
[ Andrei Nigmatulin ]
* Append "u", "ull", and "ll" integer literal suffixes for uint32, uint64,
and int64 default values in generated code, in order to avoid "integer
constant is so large that it is unsigned" compiler warnings.
(Issue #136.)
* Revert the problematic hash-based required field detection.
(Related to Issue #60, #79, #137.)
* Replace the 'packed' member of ProtobufCFieldDescriptor with a 'flags'
word. Define flags for packed and deprecated fields. (Issue #138.)
[ 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).
* Don't print unpack errors by default.
* Optionally allow running the test suite under valgrind with ./configure
--enable-valgrind-tests. (Based on valgrind-tests.m4 from gnulib.)
[ Kevin Lyda ]
* Autoconf portability fixes.
* Add doxygen detection and make targets to the build system.
* Doxygen documentation for the libprotobuf-c public API (Issue #132).
[ Nick Galbreath ]
* Prevent possible overflow on 64-bit systems (Issue #106).
[ 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 <protobuf-c/protobuf-c.h>. A compatibility symlink from
<google/protobuf-c/> to <protobuf-c/> 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 <protobuf-c/protobuf-c.h>" rather
than "#include <google/protobuf-c/protobuf-c.h>".
* 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.
* Begin versioning the library's symbols. (Based on ld-version-script.m4
from gnulib.)
* Preserve case in enum value names generated by protoc-c (Issue #129).
Reported by Oleg Efimov.
* Add library functions protobuf_c_version() and protobuf_c_version_string()
for retrieving the version of the compiled library, and header macros
PROTOBUF_C_VERSION and PROTOBUF_C_VERSION_STRING for retrieving the
version of the header file. This replaces the interfaces for retrieving
the protobuf-c version numbers in Issue #53.
* Add a version guard that ensures that the output of protoc-c is only
compiled against a protobuf-c header file from the exact same protobuf-c
release.
* Add a --enable-code-coverage option to configure, which enables a
"make check-code-coverage" build target. This generates a code coverage
report and requires the lcov tool to be installed.
* Remove the old DocBook documentation in doc/c-code-generator.{html,xml}.
Relevant material has been updated and incorporated into the Doxygen
documentation in the protobuf-c header file.
* Remove the protobuf_c_default_allocator and protobuf_c_system_allocator
global variables from the exported library interface. All exported library
functions that need to perform dynamic memory allocation receive a
user-provided ProtobufCAllocator* parameter. If this parameter is NULL,
the system's default memory allocator will be used.
Client code that previously passed "&protobuf_c_system_allocator" to
protobuf-c library functions taking a ProtobufCAllocator* argument should
be updated to pass "NULL" instead.
Client code that previously overrode protobuf_c_default_allocator with
custom allocation functions and passed NULL as the ProtobufCAllocator*
argument to protobuf-c library functions should be updated to instead
enclose the custom allocation functions in a ProtobufCAllocator struct and
pass this object to protobuf-c library functions taking a
ProtobufCAllocator* parameter.
* 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.
[ Tomasz Wasilczyk ]
* Don't export protobuf_c_message_init_generic() as an external symbol.
* Don't use C++ style comments in C code.
* Fix -Wcast-align warnings when compiled with clang.
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.