1nanopb-0.4.5 (2021-03-22) 2 Fix invalid free() with oneof (#647, GHSA-7mv5-5mxh-qg88) 3 Fix unordered field numbers inside oneof causing fields to be ignored (#617) 4 Fix pb_decode() not initializing fields inside oneof (#635 5 Fix compiler errors with complex oneof hierarchy and sizeof() (#610) 6 Fix descriptor width calculation for 64-bit types (#644) 7 Fix compiler error in generated initializer for submessage callback (#631) 8 Fix duplicate union definition in generated file (#637) 9 Fix test case build error on SCons 4.1.0 10 Pip package: include nanopb_pb2.py (#629) 11 Make generator consider dependencies recursively (#610) 12 Bazel build system updates (#633) 13 Add support for including comments from .proto file (#85, #645) 14 15nanopb-0.4.4 (2020-11-25) 16 Fix memory leak with oneofs and PB_ENABLE_MALLOC (#615, GHSA-85rr-4rh9-hhwh) 17 Fix generator error when oneof contains a single unresolved field size (#610) 18 Fix unsigned enums not working correctly inside OneOf (#611) 19 Fix recursion depth exceeded error in generator (#493) 20 Add '--version' option to nanopb_generator.py (#607) 21 Add support for proto3 optional fields introduced in protoc 3.12 (#591) 22 Add better error message when enum type is not found (#592) 23 Allow specifying descriptorsize on field level also (#546) 24 Allow multiple targets to be created by calling NANOPB_GENERATE_CPP() (#596) 25 Conanfile: Add protobuf-nanopb library to cpp_info.libs (#605) 26 Include version number in generator verbose output 27 Convert documentation to markdown format (#587) 28 Remove outdated transitional generator/nanopb/options.proto. 29 Test case improvements 30 Documentation improvements 31 32nanopb-0.4.3 (2020-09-21) 33 Fix generator error when output is in current directory (#553) 34 Fix issue with unknown message sizes being referred inside oneof encoded size calculation (#569) 35 Fix problem with [default=xxxx, (nanopb).proto3=true] field option combination (#558) 36 Fix cross compilation with Conan build system (#568) 37 Better support C++ types in generated structs (#577) 38 CMake rule improvements (#554, #555, #556, #561, #564) 39 Generator: fix compatibility bug with Python 3.1 and earlier 40 Make Linux and Mac packages use grpcio protoc 41 Make pb_decode_varint32() reject overlong varint encodings. 42 Performance optimizations 43 Test case improvements 44 Documentation improvements 45 46NOTE: version 0.4.3 changes layout of pb_msgdesc_t. It requires recompiling .pb.c files and 47thus breaks ABI compatibility. In general, ABI compatibility is not currently maintained 48between any nanopb versions. 49 50NOTE: There was an apparent false positive virus identification by Windows Defender of the 51PyInstaller 3.6 based Windows package nanopb-0.4.3-windows-x86.zip. The package was replaced 52by nanopb-0.4.3-p1-windows-x86.zip with rebuilt PyInstaller 4.0, which seems to avoid the problem. 53Actual nanopb code is unchanged between the packages. 54 55nanopb-0.4.2 (2020-06-23) 56 Fix buffer overflow when encoding bytes with size set to 65535 (#547, GHSA-3p39-mfxg-hrq4) 57 Fix segfault with pointer fields and proto3_singular_msgs = true. (#504,#505) 58 Fix Windows 10 temp file handling (#486) 59 Fix macro name conflicts (ATMEGA32U4 UENUM and more) (#522) 60 Fix generator error with nested messages and default values (#487) 61 Fix nanopb_generator exception on enums with aliases (#535) 62 Fix compile error when struct members are called X or a (#492) 63 Fix sizeof(union ...) fallback not compiling with C++ (#415, #494) 64 Fix "missing required field" error with submessage callback (#544) 65 Fix field descriptor sizing with submsg_callback option (#545) 66 Fix protoc calling on Python 2 (#503) 67 Fix handling of varying NaN representations in PB_CONVERT_DOUBLE_FLOAT (#543) 68 Fix clang undefined behavior sanitizer errors. 69 Change generator to use Python 3 by default (#441, #509) 70 Binary packages updated to use Python 3 and grpcio-tools 71 Add support for infinity and nan floating-point defaults (#530, #538) 72 Add generator option sort_by_tag (#542) 73 Add type_override option to override type defined in .proto (#497) 74 Set proto2 enum fields to first value when no default is given, even if nonzero (#532,#539) 75 Include protoc-gen-nanopb in path in protoc wrapper script 76 Properly pass error status from protoc wrapper when calling binary protoc 77 Generator: pass --include_imports when calling protoc (#494) 78 Create intermediate directories when writing files to relative path (#512) 79 Add current directory to include path for protoc (#499) 80 Update readme to use nanopb_generator.py directly 81 Regression test for proto3 incorrectly considered empty (#504) 82 CMake: change package name to Nanopb for cmake 3.17 compatibility (#506) 83 CMake: remove find_package(PythonInterp) (#508) 84 CMake: use split --nanopb_opt only on protoc >= 3.6 (#515) 85 CMake: Relax python version spec, allowing Python3. (#534) 86 Swift package manager (#549) 87 Rename BUILD as BUILD.bazel (#537) 88 89Note: Windows binary packages in 0.4.2 and later require Windows 7 or newer. 90 91nanopb-0.4.1 (2020-02-02) 92 Fix invalid free() after failed realloc() (GHSA-gcx3-7m76-287p) 93 Avoid overflows in allocation for packed fields. 94 Verify stream size before allocating string / bytes. 95 Add workaround for avr-libc realloc() bug (#475) 96 Fix bug with field numbers >255 (#407) 97 Fix compilation error on platforms without uint8_t (#485) 98 Fix warnings on Python3.8 (#399, #467) 99 Make fixed_count option work when combined with FT_POINTER. 100 Add missing #define for submsg callbacks, add regression test (#472) 101 Fix ImportError when using generator/protoc with Python 3 102 Remove accidental debug code in generator 103 Reduce stack usage (#484) 104 Remove PB_FIELDINFO_WIDTH option (#473) 105 Add nanopb-specific package name option (#422) 106 Add testcase for Any type (#163) 107 Add exclude option also from .proto/.options 108 Set default include path in the grpc_tools protoc wrapper. 109 Add workaround for python-protobuf 3.6.1 bug (#478) 110 Detect invalid wire type when decoding fields. 111 Improved fuzz testing 112 113nanopb-0.4.0 (2019-12-20) 114 New field descriptor format. 115 Make nanopb_generator automatically compile .proto files (#462) 116 Allow installing as Python package from pip (#460) 117 Use protoc from grpcio-tools Python package if available (#463) 118 Change proto3 message types to be optional (#308, #452) 119 Add pb_decode_ex(), pb_encode_ex() functions. 120 Automatically rebuild nanopb_pb2.py 121 Use plugin.proto that comes with python-protobuf (#234) 122 123 Allow specifying a per-message callback. (#175) 124 Improve callback handling inside oneofs. (#175) 125 126 Introduce new compile time flag: PB_VALIDATE_UTF8 (#437) 127 Add TypenameMangling.M_PACKAGE_INITIALS (#394) 128 Introduce new compile time flag: PB_ENCODE_ARRAYS_UNPACKED (#427) 129 Add default_has option (#423) 130 Add option for including extra files from .pb.h 131 Add generator option to error out on unmatched options (#458) 132 Generator: Allow comma separated options in plugin mode (#343) 133 Allow comma-separated option parsing to handle `#include` (#450) 134 Remove timestamp from generated files by default, add -t to keep it. 135 Make --no-strip-path default (#326) 136 Fix .options file case sensitivity on Windows. 137 Fix generator error with mangle_names option (#380) 138 Take int_size setting into account in calculating message sizes (#373) 139 .gitignore: don't ignore generator-bin files (#419) 140 Cleanup .pb.h header format 141 142 Make tests run on AVR and STM32 143 Add PB_CONVERT_DOUBLE_FLOAT setting to convert doubles on AVR. 144 Store field descriptor constants in flash on AVR (#464) 145 Added "f" suffix to const float declarations. (#453) 146 Fix clang-tidy warnings about using signed integers in binary bitwise operations (#451) 147 Add C++ message descriptors helper (#384) 148 Implement conan recipe (#378) 149 CMake: Split nanopb_out command (#454) 150 CMake: install created shared library(dll) in windows to the binary folder (#447) 151 152nanopb-0.3.9.8 (2021-03-22) 153 Fix invalid free() with oneof (#647, GHSA-7mv5-5mxh-qg88) 154 Don't generate lines with trailing spaces (#622) 155 Verify stream size before allocating string / bytes (#620) 156 157nanopb-0.3.9.7 (2020-11-25) 158 Fix memory leak with oneofs and PB_ENABLE_MALLOC (#615, GHSA-85rr-4rh9-hhwh) 159 Fix unsigned enums not working correctly inside OneOf (#611) 160 Add '--version' option to nanopb_generator.py (#607) 161 SwiftPM rule updates (#567, #585) 162 163nanopb-0.3.9.6 (2020-06-23) 164 Fix buffer overflow when encoding bytes with size set to 65535 (#547, GHSA-3p39-mfxg-hrq4) 165 Fix proto3 submessage improperly considered empty (#504) 166 Fix ImportError when using generator/protoc with Python 3 167 Add build rules for Swift package manager (#549) 168 169nanopb-0.3.9.5 (2020-02-02) 170 Fix invalid free() after failed realloc() (GHSA-gcx3-7m76-287p) 171 Add workaround for avr-libc realloc() bug (#475) 172 Fix empty submessages getting encoded in proto3 mode (#395) 173 Avoid overflows in allocation for packed fields. 174 175nanopb-0.3.9.4 (2019-10-13) 176 Fix undefined behavior with bool fields (#434) 177 Fix enum min/max defines when values are not in order (#405) 178 Fix network_server socket example with zero-length strings (#421) 179 Don't call stream read callback with count=0 (#421) 180 Add compile time flag PB_ENCODE_ARRAYS_UNPACKED (#427) 181 182nanopb-0.3.9.3 (2019-03-08) 183 NOTE: nanopb-0.3.9.3.tar.gz before 2019-03-21 was accidentally from 0.4 branch (#388) 184 Fix fixed size and callback repeated fields inside proto3 submessages (#376, #382, #386) 185 Fix incorrect PB_STATIC_ASSERT for bytes inside oneof (#363) 186 Fix generator error with mangle_names option (#380) 187 Generator: Allow comma separated options in plugin mode (#343) 188 189nanopb-0.3.9.2 (2018-11-10) 190 Erroneous free() when using callbacks combined with PB_ENABLE_MALLOC (#346) 191 Fix possible null-pointer dereference in decode_callback_field (#342) 192 Fix FindNanopb.cmake on Windows (#335) 193 Fix large generator memory usage with oneof fields (#338) 194 Fix error in splint test (#359) 195 Allow cmake to build as a shared library (#352, #353) 196 Add --no-strip-path command line option (#326) 197 Option for flattening nested protobuf names (#333) 198 Documentation fixes (#329, #350, #358) 199 Better error messages (#351) 200 201nanopb-0.3.9.1 (2018-04-14) 202 Fix handling of special characters in string/bytes default values (issue #322) 203 Fix encoding of negative numbers with PB_WITHOUT_64BIT (#285) 204 Fix _zero initializer for enums that don't begin at 0. (#295) 205 Multiple CMake fixes (#296, #299, #304, #312, #320) 206 Fix compiler warnings (#305) 207 Fix scons rules for Python 3 208 Add check for large extension field number (issue #306) 209 Updated included descriptor.proto version (#314) 210 Resolve oneof sizes symbolically when needed (#311) 211 Add fixed_count option (#260) 212 Add some verbose prints in generator (issue #238) 213 Add test/example of using 'map' type. (#289) 214 215nanopb-0.3.9 (2017-09-23) 216 Fix bugs in proto3 encoding of submessages (#256) 217 Fix message size calculation for arrays of size 1 (#253) 218 Fix segfault with FT_CALLBACK inside FT_POINTER (#259) 219 Properly detect truncated tags in corrupted messages (#277) 220 Make pb_decode_varint32 overflow checks exact (#258) 221 Add option to build without 64-bit support (#86) 222 Add options to define source and header file extensions (#264) 223 Add pb_en/decode_nullterminated() (part of #278) 224 Add pb_decode_delimited_noinit (#284) 225 CMake: add dependency for .options file (#265) 226 CMake: change use of relative paths (#250,#271,#273) 227 Better error message for missing max_size option (#281) 228 Travis-CI build fixes (#283) 229 Add Bazel build system file (#266) 230 231nanopb-0.3.8 (2017-03-05) 232 Fix problems with multiple oneofs in same message (#229) 233 Zero-valued extension fields were mistakenly ignored by encoder (#242) 234 Multiple fixes related to proto3 mode (#242, #245, #247, #249) 235 Fix potential unaligned access (#226, #227) 236 Fix documentation for protoc --plugin argument (#239) 237 Extend inline / fixed length bytes array support (#244) 238 Add new option max_length for strings (#107) 239 Make string substream API more robust (#230) 240 Make pb_decode_varint32 public API (#231) 241 Allow overriding proto3 mode (#228) 242 Add optional enum->string mapping function (#223) 243 Add transitional options.proto file (#241) 244 Add better error message on Python library version imcompatibility (#240) 245 Include version number in PlatformIO library.json (#222) 246 CMake build script changes (#236, #237) 247 Change download links to https 248 Improvements to test cases. 249 250nanopb-0.3.7 (2016-10-30) 251 Add support for proto3-style singular fields (#182, #206, #216) 252 Updated binary package protoc to version 3.1.0 253 Add FT_INLINE allocation of bytes fields (#211) 254 Include package name in include guard (#207) 255 Fix missing warning with large bytes fields (issue #220) 256 Added CMake project (#208) 257 Add bazel BUILD file for nanopb (#209) 258 Added an AUTHORS file (#211) 259 Documentation updates 260 Improvements to test cases. 261 262nanopb-0.3.6 (2016-06-19) 263 Protect against corrupted _count fields in pb_release (#205) 264 Fix error in STATIC_ASSERT with multiple files (#203) 265 Add -D option to specify output directory (#193) 266 Generate MIN/MAX/ARRAYSIZE defines for enums (#194) 267 Generate comments about uncalculable message sizes (#195) 268 Documentation updates (#196, #201) 269 Improvements to test cases. 270 271nanopb-0.3.5 (2016-02-13) 272 NOTE: If you are using pb_syshdr.h, you will need to add uint_least8_t 273 definition. See docs/migration.rst for details. 274 275 Fix generator crash with Enum inside Oneof (#188) 276 Fix some generator regressions related to .options file path (#172) 277 Add support for platforms without uint8_t (#191) 278 Allow const parameter to pb_istream_from_buffer (#152) 279 Ignore null pointers in pb_release() (#183) 280 Add support for anonymous unions (#184) 281 Add Python3 support to the generator (#169) 282 Add code generator insertion points to generated files (#178) 283 Improvements to CMake script (#181) 284 Improvements to test cases. 285 286nanopb-0.3.4 (2015-09-26) 287 Fix handling of unsigned 8- and 16-bit enums (issue 164) 288 Fix generator on systems where python = python3. (issue 155) 289 Fix compiler warning on GCC 5.x (issue 171) 290 Make the generator better handle imported .protos (issue 165) 291 Add packed_enum option to generator. 292 Add syntax= line to .proto files (issue 167) 293 Add PlatformIO registry manifest file. (pr 156) 294 295nanopb-0.3.3 (2015-04-10) 296 Fix missing files in Linux binary package (issue 146) 297 Fix generator bug when oneof is first field in a message. (issue 142) 298 Fix generator error when long_names:false is combined with Oneofs. (issue 147) 299 Fix oneof submessage initialization bug. (issue 149) 300 Fix problem with plugin options on Python 2.7.2 and older. (issue 153) 301 Fix crash when callback is inside oneof field. (issue 148) 302 Switch to .tar.gz format for Mac OS X packages. (issue 154) 303 Always define enum long names so that cross-file references work. (issue 118) 304 Add msgid generator option. (issue 151) 305 Improve comment support in .options files. (issue 145) 306 Updates for the CMake rule file, add cmake example. 307 Better error messages for syntax errors in .options file 308 309nanopb-0.3.2 (2015-01-24) 310 Fix memory leaks with PB_ENABLE_MALLOC with some submessage hierarchies (issue 138) 311 Implement support for oneofs (C unions). (issues 131, 141) 312 Add int_size option for generator (issue 139) 313 Add compilation option to disable struct packing. (issue 136) 314 Change PB_RETURN_ERROR() macro to avoid compiler warnings (issue 140) 315 Fix build problems with protoc 3.0.0 316 Add support for POINTER type in extensions 317 Initialize also extension fields to defaults in pb_decode(). 318 Detect too large varint values when decoding. 319 320nanopb-0.3.1 (2014-09-11) 321 Fix security issue due to size_t overflows. (issue 132) 322 Fix memory leak with duplicated fields and PB_ENABLE_MALLOC 323 Fix crash if pb_release() is called twice. 324 Fix cyclic message support (issue 130) 325 Fix error in generated initializers for repeated pointer fields. 326 Improve tests (issues 113, 126) 327 328nanopb-0.3.0 (2014-08-26) 329 NOTE: See docs/migration.html or online at 330 http://koti.kapsi.fi/~jpa/nanopb/docs/migration.html 331 for changes in this version. Most importantly, you need to add 332 pb_common.c to the list of files to compile. 333 334 Separated field iterator logic to pb_common.c (issue 128) 335 Change the _count fields to use pb_size_t datatype (issue 82) 336 Added PB_ prefix to macro names (issue 106) 337 Added #if version guard to generated files (issue 129) 338 Added migration document 339 340nanopb-0.2.9.5 (2020-06-23) 341 Fix buffer overflow when encoding bytes with size set to 65535 (#547, GHSA-3p39-mfxg-hrq4) 342 Backport Python 3 and protoc 3.x fixes to test cases 343 344nanopb-0.2.9.4 (2020-02-02) 345 Fix invalid free() after failed realloc() (GHSA-gcx3-7m76-287p) 346 Add workaround for avr-libc realloc() bug (#475) 347 348nanopb-0.2.9.3 (2016-06-19) 349 Protect against corrupted _count fields in pb_release (#205) 350 351nanopb-0.2.9.2 (2015-01-24) 352 Fix memory leaks with PB_ENABLE_MALLOC with some submessage hierarchies (issue 138) 353 Fix compilation error with generated initializers for repeated pointer fields 354 355nanopb-0.2.9.1 (2014-09-11) 356 Fix security issue due to size_t overflows. (issue 132) 357 Fix memory leak with duplicated fields and PB_ENABLE_MALLOC 358 Fix crash if pb_release() is called twice. 359 360nanopb-0.2.9 (2014-08-09) 361 NOTE: If you are using the -e option with the generator, you have 362 to prepend . to the argument to get the same behaviour as before. 363 364 Do not automatically add a dot with generator -e option. (issue 122) 365 Fix problem with .options file and extension fields. (issue 125) 366 Don't use SIZE_MAX macro, as it is not in C89. (issue 120) 367 Generate #defines for initializing message structures. (issue 79) 368 Add skip_message option to generator. (issue 121) 369 Add PB_PACKED_STRUCT support for Keil MDK-ARM toolchain (issue 119) 370 Give better messages about the .options file path. (issue 124) 371 Improved tests 372 373nanopb-0.2.8 (2014-05-20) 374 Fix security issue with PB_ENABLE_MALLOC. (issue 117) 375 Add option to not add timestamps to .pb.h and .pb.c preambles. (issue 115) 376 Documentation updates 377 Improved tests 378 379nanopb-0.2.7 (2014-04-07) 380 Fix bug with default values for extension fields (issue 111) 381 Fix some MISRA-C warnings (issue 91) 382 Implemented optional malloc() support (issue 80) 383 Changed pointer-type bytes field datatype 384 Add a "found" field to pb_extension_t (issue 112) 385 Add convenience function pb_get_encoded_size() (issue 16) 386 387nanopb-0.2.6 (2014-02-15) 388 Fix generator error with bytes callback fields (issue 99) 389 Fix warnings about large integer constants (issue 102) 390 Add comments to where STATIC_ASSERT is used (issue 96) 391 Add warning about unknown field names on .options (issue 105) 392 Move descriptor.proto to google/protobuf subdirectory (issue 104) 393 Improved tests 394 395nanopb-0.2.5 (2014-01-01) 396 Fix a bug with encoding negative values in int32 fields (issue 97) 397 Create binary packages of the generator + dependencies (issue 47) 398 Add support for pointer-type fields to the encoder (part of issue 80) 399 Fixed path in FindNanopb.cmake (issue 94) 400 Improved tests 401 402nanopb-0.2.4 (2013-11-07) 403 Remove the deprecated NANOPB_INTERNALS functions from public API. 404 Document the security model. 405 Check array and bytes max sizes when encoding (issue 90) 406 Add #defines for maximum encoded message size (issue 89) 407 Add #define tags for extension fields (issue 93) 408 Fix MISRA C violations (issue 91) 409 Clean up pb_field_t definition with typedefs. 410 411nanopb-0.2.3 (2013-09-18) 412 Improve compatibility by removing ternary operator from initializations (issue 88) 413 Fix build error on Visual C++ (issue 84, patch by Markus Schwarzenberg) 414 Don't stop on unsupported extension fields (issue 83) 415 Add an example pb_syshdr.h file for non-C99 compilers 416 Reorganize tests and examples into subfolders (issue 63) 417 Switch from Makefiles to scons for building the tests 418 Make the tests buildable on Windows 419 420nanopb-0.2.2 (2013-08-18) 421 Add support for extension fields (issue 17) 422 Fix unknown fields in empty message (issue 78) 423 Include the field tags in the generated .pb.h file. 424 Add pb_decode_delimited and pb_encode_delimited wrapper functions (issue 74) 425 Add a section in top of pb.h for changing compilation settings (issue 76) 426 Documentation improvements (issues 12, 77 and others) 427 Improved tests 428 429nanopb-0.2.1 (2013-04-14) 430 NOTE: The default callback function signature has changed. 431 If you don't want to update your code, define PB_OLD_CALLBACK_STYLE. 432 433 Change the callback function to use void** (issue 69) 434 Add support for defining the nanopb options in a separate file (issue 12) 435 Add support for packed structs in IAR and MSVC (in addition to GCC) (issue 66) 436 Implement error message support for the encoder side (issue 7) 437 Handle unterminated strings when encoding (issue 68) 438 Fix bug with empty strings in repeated string callbacks (issue 73) 439 Fix regression in 0.2.0 with optional callback fields (issue 70) 440 Fix bugs with empty message types (issues 64, 65) 441 Fix some compiler warnings on clang (issue 67) 442 Some portability improvements (issues 60, 62) 443 Various new generator options 444 Improved tests 445 446nanopb-0.2.0 (2013-03-02) 447 NOTE: This release requires you to regenerate all .pb.c 448 files. Files generated by older versions will not 449 compile anymore. 450 451 Reformat generated .pb.c files using macros (issue 58) 452 Rename PB_HTYPE_ARRAY -> PB_HTYPE_REPEATED 453 Separate PB_HTYPE to PB_ATYPE and PB_HTYPE 454 Move STATIC_ASSERTs to .pb.c file 455 Added CMake file (by Pavel Ilin) 456 Add option to give file extension to generator (by Michael Haberler) 457 Documentation updates 458 459nanopb-0.1.9 (2013-02-13) 460 Fixed error message bugs (issues 52, 56) 461 Sanitize #ifndef filename (issue 50) 462 Performance improvements 463 Add compile-time option PB_BUFFER_ONLY 464 Add Java package name to nanopb.proto 465 Check for sizeof(double) == 8 (issue 54) 466 Added generator option to ignore some fields. (issue 51) 467 Added generator option to make message structs packed. (issue 49) 468 Add more test cases. 469 470nanopb-0.1.8 (2012-12-13) 471 Fix bugs in the enum short names introduced in 0.1.7 (issues 42, 43) 472 Fix STATIC_ASSERT macro when using multiple .proto files. (issue 41) 473 Fix missing initialization of istream.errmsg 474 Make tests/Makefile work for non-gcc compilers (issue 40) 475 476nanopb-0.1.7 (2012-11-11) 477 Remove "skip" mode from pb_istream_t callbacks. Example implementation had a bug. (issue 37) 478 Add option to use shorter names for enum values (issue 38) 479 Improve options support in generator (issues 12, 30) 480 Add nanopb version number to generated files (issue 36) 481 Add extern "C" to generated headers (issue 35) 482 Add names for structs to allow forward declaration (issue 39) 483 Add buffer size check in example (issue 34) 484 Fix build warnings on MS compilers (issue 33) 485 486nanopb-0.1.6 (2012-09-02) 487 Reorganize the field decoder interface (issue 2) 488 Improve performance in submessage decoding (issue 28) 489 Implement error messages in the decoder side (issue 7) 490 Extended testcases (alltypes test is now complete). 491 Fix some compiler warnings (issues 25, 26, 27, 32). 492 493nanopb-0.1.5 (2012-08-04) 494 Fix bug in decoder with packed arrays (issue 23). 495 Extended testcases. 496 Fix some compiler warnings. 497 498nanopb-0.1.4 (2012-07-05) 499 Add compile-time options for easy-to-use >255 field support. 500 Improve the detection of missing required fields. 501 Added example on how to handle union messages. 502 Fix generator error with .proto without messages. 503 Fix problems that stopped the code from compiling with some compilers. 504 Fix some compiler warnings. 505 506nanopb-0.1.3 (2012-06-12) 507 Refactor the field encoder interface. 508 Improve generator error messages (issue 5) 509 Add descriptor.proto into the #include exclusion list 510 Fix some compiler warnings. 511 512nanopb-0.1.2 (2012-02-15) 513 Make the generator to generate include for other .proto files (issue 4). 514 Fixed generator not working on Windows (issue 3) 515 516nanopb-0.1.1 (2012-01-14) 517 Fixed bug in encoder with 'bytes' fields (issue 1). 518 Fixed a bug in the generator that caused a compiler error on sfixed32 and sfixed64 fields. 519 Extended testcases. 520 521nanopb-0.1.0 (2012-01-06) 522 First stable release. 523