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