• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1nanopb-0.3.9.8 (2021-03-22)
2 Fix invalid free() with oneof (#647, GHSA-7mv5-5mxh-qg88)
3 Don't generate lines with trailing spaces (#622)
4 Verify stream size before allocating string / bytes (#620)
5
6nanopb-0.3.9.7 (2020-11-25)
7 Fix memory leak with oneofs and PB_ENABLE_MALLOC (#615, GHSA-85rr-4rh9-hhwh)
8 Fix unsigned enums not working correctly inside OneOf (#611)
9 Add '--version' option to nanopb_generator.py (#607)
10 SwiftPM rule updates (#567, #585)
11
12nanopb-0.3.9.6 (2020-06-23)
13 Fix buffer overflow when encoding bytes with size set to 65535 (#547, GHSA-3p39-mfxg-hrq4)
14 Fix proto3 submessage improperly considered empty (#504)
15 Fix ImportError when using generator/protoc with Python 3
16 Add build rules for Swift package manager (#549)
17
18nanopb-0.3.9.5 (2020-02-02)
19 Fix invalid free() after failed realloc() (GHSA-gcx3-7m76-287p)
20 Add workaround for avr-libc realloc() bug (#475)
21 Fix empty submessages getting encoded in proto3 mode (#395)
22 Avoid overflows in allocation for packed fields.
23
24nanopb-0.3.9.4 (2019-10-13)
25 Fix undefined behavior with bool fields (#434)
26 Fix enum min/max defines when values are not in order (#405)
27 Fix network_server socket example with zero-length strings (#421)
28 Don't call stream read callback with count=0 (#421)
29 Add compile time flag PB_ENCODE_ARRAYS_UNPACKED (#427)
30
31nanopb-0.3.9.3 (2019-03-08)
32 Fix fixed size and callback repeated fields inside proto3 submessages (#376, #382, #386)
33 Fix incorrect PB_STATIC_ASSERT for bytes inside oneof (#363)
34 Fix generator error with mangle_names option (#380)
35 Generator: Allow comma separated options in plugin mode (#343)
36
37nanopb-0.3.9.2 (2018-11-10)
38 Erroneous free() when using callbacks combined with PB_ENABLE_MALLOC (#346)
39 Fix possible null-pointer dereference in decode_callback_field (#342)
40 Fix FindNanopb.cmake on Windows (#335)
41 Fix large generator memory usage with oneof fields (#338)
42 Fix error in splint test (#359)
43 Allow cmake to build as a shared library (#352, #353)
44 Add --no-strip-path command line option (#326)
45 Option for flattening nested protobuf names (#333)
46 Documentation fixes (#329, #350, #358)
47 Better error messages (#351)
48
49nanopb-0.3.9.1 (2018-04-14)
50 Fix handling of special characters in string/bytes default values (issue #322)
51 Fix encoding of negative numbers with PB_WITHOUT_64BIT (#285)
52 Fix _zero initializer for enums that don't begin at 0. (#295)
53 Multiple CMake fixes (#296, #299, #304, #312, #320)
54 Fix compiler warnings (#305)
55 Fix scons rules for Python 3
56 Add check for large extension field number (issue #306)
57 Updated included descriptor.proto version (#314)
58 Resolve oneof sizes symbolically when needed (#311)
59 Add fixed_count option (#260)
60 Add some verbose prints in generator (issue #238)
61 Add test/example of using 'map' type. (#289)
62
63nanopb-0.3.9 (2017-09-23)
64 Fix bugs in proto3 encoding of submessages (#256)
65 Fix message size calculation for arrays of size 1 (#253)
66 Fix segfault with FT_CALLBACK inside FT_POINTER (#259)
67 Properly detect truncated tags in corrupted messages (#277)
68 Make pb_decode_varint32 overflow checks exact (#258)
69 Add option to build without 64-bit support (#86)
70 Add options to define source and header file extensions (#264)
71 Add pb_en/decode_nullterminated() (part of #278)
72 Add pb_decode_delimited_noinit (#284)
73 CMake: add dependency for .options file (#265)
74 CMake: change use of relative paths (#250,#271,#273)
75 Better error message for missing max_size option (#281)
76 Travis-CI build fixes (#283)
77 Add Bazel build system file (#266)
78
79nanopb-0.3.8 (2017-03-05)
80 Fix problems with multiple oneofs in same message (#229)
81 Zero-valued extension fields were mistakenly ignored by encoder (#242)
82 Multiple fixes related to proto3 mode (#242, #245, #247, #249)
83 Fix potential unaligned access (#226, #227)
84 Fix documentation for protoc --plugin argument (#239)
85 Extend inline / fixed length bytes array support (#244)
86 Add new option max_length for strings (#107)
87 Make string substream API more robust (#230)
88 Make pb_decode_varint32 public API (#231)
89 Allow overriding proto3 mode (#228)
90 Add optional enum->string mapping function (#223)
91 Add transitional options.proto file (#241)
92 Add better error message on Python library version imcompatibility (#240)
93 Include version number in PlatformIO library.json (#222)
94 CMake build script changes (#236, #237)
95 Change download links to https
96 Improvements to test cases.
97
98nanopb-0.3.7 (2016-10-30)
99 Add support for proto3-style singular fields (#182, #206, #216)
100 Updated binary package protoc to version 3.1.0
101 Add FT_INLINE allocation of bytes fields (#211)
102 Include package name in include guard (#207)
103 Fix missing warning with large bytes fields (issue #220)
104 Added CMake project (#208)
105 Add bazel BUILD file for nanopb (#209)
106 Added an AUTHORS file (#211)
107 Documentation updates
108 Improvements to test cases.
109
110nanopb-0.3.6 (2016-06-19)
111 Protect against corrupted _count fields in pb_release (#205)
112 Fix error in STATIC_ASSERT with multiple files (#203)
113 Add -D option to specify output directory (#193)
114 Generate MIN/MAX/ARRAYSIZE defines for enums (#194)
115 Generate comments about uncalculable message sizes (#195)
116 Documentation updates (#196, #201)
117 Improvements to test cases.
118
119nanopb-0.3.5 (2016-02-13)
120 NOTE: If you are using pb_syshdr.h, you will need to add uint_least8_t
121 definition. See docs/migration.rst for details.
122
123 Fix generator crash with Enum inside Oneof (#188)
124 Fix some generator regressions related to .options file path (#172)
125 Add support for platforms without uint8_t (#191)
126 Allow const parameter to pb_istream_from_buffer (#152)
127 Ignore null pointers in pb_release() (#183)
128 Add support for anonymous unions (#184)
129 Add Python3 support to the generator (#169)
130 Add code generator insertion points to generated files (#178)
131 Improvements to CMake script (#181)
132 Improvements to test cases.
133
134nanopb-0.3.4 (2015-09-26)
135 Fix handling of unsigned 8- and 16-bit enums (issue 164)
136 Fix generator on systems where python = python3. (issue 155)
137 Fix compiler warning on GCC 5.x (issue 171)
138 Make the generator better handle imported .protos (issue 165)
139 Add packed_enum option to generator.
140 Add syntax= line to .proto files (issue 167)
141 Add PlatformIO registry manifest file. (pr 156)
142
143nanopb-0.3.3 (2015-04-10)
144 Fix missing files in Linux binary package (issue 146)
145 Fix generator bug when oneof is first field in a message. (issue 142)
146 Fix generator error when long_names:false is combined with Oneofs. (issue 147)
147 Fix oneof submessage initialization bug. (issue 149)
148 Fix problem with plugin options on Python 2.7.2 and older. (issue 153)
149 Fix crash when callback is inside oneof field. (issue 148)
150 Switch to .tar.gz format for Mac OS X packages. (issue 154)
151 Always define enum long names so that cross-file references work. (issue 118)
152 Add msgid generator option. (issue 151)
153 Improve comment support in .options files. (issue 145)
154 Updates for the CMake rule file, add cmake example.
155 Better error messages for syntax errors in .options file
156
157nanopb-0.3.2 (2015-01-24)
158 Fix memory leaks with PB_ENABLE_MALLOC with some submessage hierarchies (issue 138)
159 Implement support for oneofs (C unions). (issues 131, 141)
160 Add int_size option for generator (issue 139)
161 Add compilation option to disable struct packing. (issue 136)
162 Change PB_RETURN_ERROR() macro to avoid compiler warnings (issue 140)
163 Fix build problems with protoc 3.0.0
164 Add support for POINTER type in extensions
165 Initialize also extension fields to defaults in pb_decode().
166 Detect too large varint values when decoding.
167
168nanopb-0.3.1 (2014-09-11)
169 Fix security issue due to size_t overflows. (issue 132)
170 Fix memory leak with duplicated fields and PB_ENABLE_MALLOC
171 Fix crash if pb_release() is called twice.
172 Fix cyclic message support (issue 130)
173 Fix error in generated initializers for repeated pointer fields.
174 Improve tests (issues 113, 126)
175
176nanopb-0.3.0 (2014-08-26)
177 NOTE: See docs/migration.html or online at
178 http://koti.kapsi.fi/~jpa/nanopb/docs/migration.html
179 for changes in this version. Most importantly, you need to add
180 pb_common.c to the list of files to compile.
181
182 Separated field iterator logic to pb_common.c (issue 128)
183 Change the _count fields to use pb_size_t datatype (issue 82)
184 Added PB_ prefix to macro names (issue 106)
185 Added #if version guard to generated files (issue 129)
186 Added migration document
187
188nanopb-0.2.9 (2014-08-09)
189 NOTE: If you are using the -e option with the generator, you have
190 to prepend . to the argument to get the same behaviour as before.
191
192 Do not automatically add a dot with generator -e option. (issue 122)
193 Fix problem with .options file and extension fields. (issue 125)
194 Don't use SIZE_MAX macro, as it is not in C89. (issue 120)
195 Generate #defines for initializing message structures. (issue 79)
196 Add skip_message option to generator. (issue 121)
197 Add PB_PACKED_STRUCT support for Keil MDK-ARM toolchain (issue 119)
198 Give better messages about the .options file path. (issue 124)
199 Improved tests
200
201nanopb-0.2.8 (2014-05-20)
202 Fix security issue with PB_ENABLE_MALLOC. (issue 117)
203 Add option to not add timestamps to .pb.h and .pb.c preambles. (issue 115)
204 Documentation updates
205 Improved tests
206
207nanopb-0.2.7 (2014-04-07)
208 Fix bug with default values for extension fields (issue 111)
209 Fix some MISRA-C warnings (issue 91)
210 Implemented optional malloc() support (issue 80)
211 Changed pointer-type bytes field datatype
212 Add a "found" field to pb_extension_t (issue 112)
213 Add convenience function pb_get_encoded_size() (issue 16)
214
215nanopb-0.2.6 (2014-02-15)
216 Fix generator error with bytes callback fields (issue 99)
217 Fix warnings about large integer constants (issue 102)
218 Add comments to where STATIC_ASSERT is used (issue 96)
219 Add warning about unknown field names on .options (issue 105)
220 Move descriptor.proto to google/protobuf subdirectory (issue 104)
221 Improved tests
222
223nanopb-0.2.5 (2014-01-01)
224 Fix a bug with encoding negative values in int32 fields (issue 97)
225 Create binary packages of the generator + dependencies (issue 47)
226 Add support for pointer-type fields to the encoder (part of issue 80)
227 Fixed path in FindNanopb.cmake (issue 94)
228 Improved tests
229
230nanopb-0.2.4 (2013-11-07)
231 Remove the deprecated NANOPB_INTERNALS functions from public API.
232 Document the security model.
233 Check array and bytes max sizes when encoding (issue 90)
234 Add #defines for maximum encoded message size (issue 89)
235 Add #define tags for extension fields (issue 93)
236 Fix MISRA C violations (issue 91)
237 Clean up pb_field_t definition with typedefs.
238
239nanopb-0.2.3 (2013-09-18)
240 Improve compatibility by removing ternary operator from initializations (issue 88)
241 Fix build error on Visual C++ (issue 84, patch by Markus Schwarzenberg)
242 Don't stop on unsupported extension fields (issue 83)
243 Add an example pb_syshdr.h file for non-C99 compilers
244 Reorganize tests and examples into subfolders (issue 63)
245 Switch from Makefiles to scons for building the tests
246 Make the tests buildable on Windows
247
248nanopb-0.2.2 (2013-08-18)
249 Add support for extension fields (issue 17)
250 Fix unknown fields in empty message (issue 78)
251 Include the field tags in the generated .pb.h file.
252 Add pb_decode_delimited and pb_encode_delimited wrapper functions (issue 74)
253 Add a section in top of pb.h for changing compilation settings (issue 76)
254 Documentation improvements (issues 12, 77 and others)
255 Improved tests
256
257nanopb-0.2.1 (2013-04-14)
258 NOTE: The default callback function signature has changed.
259       If you don't want to update your code, define PB_OLD_CALLBACK_STYLE.
260
261 Change the callback function to use void** (issue 69)
262 Add support for defining the nanopb options in a separate file (issue 12)
263 Add support for packed structs in IAR and MSVC (in addition to GCC) (issue 66)
264 Implement error message support for the encoder side (issue 7)
265 Handle unterminated strings when encoding (issue 68)
266 Fix bug with empty strings in repeated string callbacks (issue 73)
267 Fix regression in 0.2.0 with optional callback fields (issue 70)
268 Fix bugs with empty message types (issues 64, 65)
269 Fix some compiler warnings on clang (issue 67)
270 Some portability improvements (issues 60, 62)
271 Various new generator options
272 Improved tests
273
274nanopb-0.2.0 (2013-03-02)
275 NOTE: This release requires you to regenerate all .pb.c
276       files. Files generated by older versions will not
277       compile anymore.
278
279 Reformat generated .pb.c files using macros (issue 58)
280 Rename PB_HTYPE_ARRAY -> PB_HTYPE_REPEATED
281 Separate PB_HTYPE to PB_ATYPE and PB_HTYPE
282 Move STATIC_ASSERTs to .pb.c file
283 Added CMake file (by Pavel Ilin)
284 Add option to give file extension to generator (by Michael Haberler)
285 Documentation updates
286
287nanopb-0.1.9 (2013-02-13)
288 Fixed error message bugs (issues 52, 56)
289 Sanitize #ifndef filename (issue 50)
290 Performance improvements
291 Add compile-time option PB_BUFFER_ONLY
292 Add Java package name to nanopb.proto
293 Check for sizeof(double) == 8 (issue 54)
294 Added generator option to ignore some fields. (issue 51)
295 Added generator option to make message structs packed. (issue 49)
296 Add more test cases.
297
298nanopb-0.1.8 (2012-12-13)
299 Fix bugs in the enum short names introduced in 0.1.7 (issues 42, 43)
300 Fix STATIC_ASSERT macro when using multiple .proto files. (issue 41)
301 Fix missing initialization of istream.errmsg
302 Make tests/Makefile work for non-gcc compilers (issue 40)
303
304nanopb-0.1.7 (2012-11-11)
305 Remove "skip" mode from pb_istream_t callbacks. Example implementation had a bug. (issue 37)
306 Add option to use shorter names for enum values (issue 38)
307 Improve options support in generator (issues 12, 30)
308 Add nanopb version number to generated files (issue 36)
309 Add extern "C" to generated headers (issue 35)
310 Add names for structs to allow forward declaration (issue 39)
311 Add buffer size check in example (issue 34)
312 Fix build warnings on MS compilers (issue 33)
313
314nanopb-0.1.6 (2012-09-02)
315 Reorganize the field decoder interface (issue 2)
316 Improve performance in submessage decoding (issue 28)
317 Implement error messages in the decoder side (issue 7)
318 Extended testcases (alltypes test is now complete).
319 Fix some compiler warnings (issues 25, 26, 27, 32).
320
321nanopb-0.1.5 (2012-08-04)
322 Fix bug in decoder with packed arrays (issue 23).
323 Extended testcases.
324 Fix some compiler warnings.
325
326nanopb-0.1.4 (2012-07-05)
327 Add compile-time options for easy-to-use >255 field support.
328 Improve the detection of missing required fields.
329 Added example on how to handle union messages.
330 Fix generator error with .proto without messages.
331 Fix problems that stopped the code from compiling with some compilers.
332 Fix some compiler warnings.
333
334nanopb-0.1.3 (2012-06-12)
335 Refactor the field encoder interface.
336 Improve generator error messages (issue 5)
337 Add descriptor.proto into the #include exclusion list
338 Fix some compiler warnings.
339
340nanopb-0.1.2 (2012-02-15)
341 Make the generator to generate include for other .proto files (issue 4).
342 Fixed generator not working on Windows (issue 3)
343
344nanopb-0.1.1 (2012-01-14)
345 Fixed bug in encoder with 'bytes' fields (issue 1).
346 Fixed a bug in the generator that caused a compiler error on sfixed32 and sfixed64 fields.
347 Extended testcases.
348
349nanopb-0.1.0 (2012-01-06)
350 First stable release.
351