nanopb-0.4.0 (2019-12-20)
 New field descriptor format.
 Make nanopb_generator automatically compile .proto files (#462)
 Allow installing as Python package from pip (#460)
 Use protoc from grpcio-tools Python package if available (#463)
 Change proto3 message types to be optional (#308, #452)
 Add pb_decode_ex(), pb_encode_ex() functions.
 Automatically rebuild nanopb_pb2.py
 Use plugin.proto that comes with python-protobuf (#234)

 Allow specifying a per-message callback. (#175)
 Improve callback handling inside oneofs. (#175)

 Introduce new compile time flag: PB_VALIDATE_UTF8 (#437)
 Add TypenameMangling.M_PACKAGE_INITIALS (#394)
 Introduce new compile time flag: PB_ENCODE_ARRAYS_UNPACKED (#427)
 Add default_has option (#423)
 Add option for including extra files from .pb.h
 Add generator option to error out on unmatched options (#458)
 Generator: Allow comma separated options in plugin mode (#343)
 Allow comma-separated option parsing to handle `#include` (#450)
 Remove timestamp from generated files by default, add -t to keep it.
 Make --no-strip-path default (#326)
 Fix .options file case sensitivity on Windows.
 Fix generator error with mangle_names option (#380)
 Take int_size setting into account in calculating message sizes (#373)
 .gitignore: don't ignore generator-bin files (#419)
 Cleanup .pb.h header format

 Make tests run on AVR and STM32
 Add PB_CONVERT_DOUBLE_FLOAT setting to convert doubles on AVR.
 Store field descriptor constants in flash on AVR (#464)
 Added "f" suffix to const float declarations. (#453)
 Fix clang-tidy warnings about using signed integers in binary bitwise operations (#451)
 Add C++ message descriptors helper (#384)
 Implement conan recipe (#378)
 CMake: Split nanopb_out command (#454)
 CMake: install created shared library(dll) in windows to the binary folder (#447)

nanopb-0.3.9.4 (2019-10-13)
 Fix undefined behavior with bool fields (#434)
 Fix enum min/max defines when values are not in order (#405)
 Fix network_server socket example with zero-length strings (#421)
 Don't call stream read callback with count=0 (#421)
 Add compile time flag PB_ENCODE_ARRAYS_UNPACKED (#427)

nanopb-0.3.9.3 (2019-03-08)
 NOTE: nanopb-0.3.9.3.tar.gz before 2019-03-21 was accidentally from 0.4 branch (#388)
 Fix fixed size and callback repeated fields inside proto3 submessages (#376, #382, #386)
 Fix incorrect PB_STATIC_ASSERT for bytes inside oneof (#363)
 Fix generator error with mangle_names option (#380)
 Generator: Allow comma separated options in plugin mode (#343)

nanopb-0.3.9.2 (2018-11-10)
 Erroneous free() when using callbacks combined with PB_ENABLE_MALLOC (#346)
 Fix possible null-pointer dereference in decode_callback_field (#342)
 Fix FindNanopb.cmake on Windows (#335)
 Fix large generator memory usage with oneof fields (#338)
 Fix error in splint test (#359)
 Allow cmake to build as a shared library (#352, #353)
 Add --no-strip-path command line option (#326)
 Option for flattening nested protobuf names (#333)
 Documentation fixes (#329, #350, #358)
 Better error messages (#351)

nanopb-0.3.9.1 (2018-04-14)
 Fix handling of special characters in string/bytes default values (issue #322)
 Fix encoding of negative numbers with PB_WITHOUT_64BIT (#285)
 Fix _zero initializer for enums that don't begin at 0. (#295)
 Multiple CMake fixes (#296, #299, #304, #312, #320)
 Fix compiler warnings (#305)
 Fix scons rules for Python 3
 Add check for large extension field number (issue #306)
 Updated included descriptor.proto version (#314)
 Resolve oneof sizes symbolically when needed (#311)
 Add fixed_count option (#260)
 Add some verbose prints in generator (issue #238)
 Add test/example of using 'map' type. (#289)

nanopb-0.3.9 (2017-09-23)
 Fix bugs in proto3 encoding of submessages (#256)
 Fix message size calculation for arrays of size 1 (#253)
 Fix segfault with FT_CALLBACK inside FT_POINTER (#259)
 Properly detect truncated tags in corrupted messages (#277)
 Make pb_decode_varint32 overflow checks exact (#258)
 Add option to build without 64-bit support (#86)
 Add options to define source and header file extensions (#264)
 Add pb_en/decode_nullterminated() (part of #278)
 Add pb_decode_delimited_noinit (#284)
 CMake: add dependency for .options file (#265)
 CMake: change use of relative paths (#250,#271,#273)
 Better error message for missing max_size option (#281)
 Travis-CI build fixes (#283)
 Add Bazel build system file (#266)

nanopb-0.3.8 (2017-03-05)
 Fix problems with multiple oneofs in same message (#229)
 Zero-valued extension fields were mistakenly ignored by encoder (#242)
 Multiple fixes related to proto3 mode (#242, #245, #247, #249)
 Fix potential unaligned access (#226, #227)
 Fix documentation for protoc --plugin argument (#239)
 Extend inline / fixed length bytes array support (#244)
 Add new option max_length for strings (#107)
 Make string substream API more robust (#230)
 Make pb_decode_varint32 public API (#231)
 Allow overriding proto3 mode (#228)
 Add optional enum->string mapping function (#223)
 Add transitional options.proto file (#241)
 Add better error message on Python library version imcompatibility (#240)
 Include version number in PlatformIO library.json (#222)
 CMake build script changes (#236, #237)
 Change download links to https
 Improvements to test cases.

nanopb-0.3.7 (2016-10-30)
 Add support for proto3-style singular fields (#182, #206, #216)
 Updated binary package protoc to version 3.1.0
 Add FT_INLINE allocation of bytes fields (#211)
 Include package name in include guard (#207)
 Fix missing warning with large bytes fields (issue #220)
 Added CMake project (#208)
 Add bazel BUILD file for nanopb (#209)
 Added an AUTHORS file (#211)
 Documentation updates
 Improvements to test cases.

nanopb-0.3.6 (2016-06-19)
 Protect against corrupted _count fields in pb_release (#205)
 Fix error in STATIC_ASSERT with multiple files (#203)
 Add -D option to specify output directory (#193)
 Generate MIN/MAX/ARRAYSIZE defines for enums (#194)
 Generate comments about uncalculable message sizes (#195)
 Documentation updates (#196, #201)
 Improvements to test cases.

nanopb-0.3.5 (2016-02-13)
 NOTE: If you are using pb_syshdr.h, you will need to add uint_least8_t
 definition. See docs/migration.rst for details.

 Fix generator crash with Enum inside Oneof (#188)
 Fix some generator regressions related to .options file path (#172)
 Add support for platforms without uint8_t (#191)
 Allow const parameter to pb_istream_from_buffer (#152)
 Ignore null pointers in pb_release() (#183)
 Add support for anonymous unions (#184)
 Add Python3 support to the generator (#169)
 Add code generator insertion points to generated files (#178)
 Improvements to CMake script (#181)
 Improvements to test cases.

nanopb-0.3.4 (2015-09-26)
 Fix handling of unsigned 8- and 16-bit enums (issue 164)
 Fix generator on systems where python = python3. (issue 155)
 Fix compiler warning on GCC 5.x (issue 171)
 Make the generator better handle imported .protos (issue 165)
 Add packed_enum option to generator.
 Add syntax= line to .proto files (issue 167)
 Add PlatformIO registry manifest file. (pr 156)

nanopb-0.3.3 (2015-04-10)
 Fix missing files in Linux binary package (issue 146)
 Fix generator bug when oneof is first field in a message. (issue 142)
 Fix generator error when long_names:false is combined with Oneofs. (issue 147)
 Fix oneof submessage initialization bug. (issue 149)
 Fix problem with plugin options on Python 2.7.2 and older. (issue 153)
 Fix crash when callback is inside oneof field. (issue 148)
 Switch to .tar.gz format for Mac OS X packages. (issue 154)
 Always define enum long names so that cross-file references work. (issue 118)
 Add msgid generator option. (issue 151)
 Improve comment support in .options files. (issue 145)
 Updates for the CMake rule file, add cmake example.
 Better error messages for syntax errors in .options file

nanopb-0.3.2 (2015-01-24)
 Fix memory leaks with PB_ENABLE_MALLOC with some submessage hierarchies (issue 138)
 Implement support for oneofs (C unions). (issues 131, 141)
 Add int_size option for generator (issue 139)
 Add compilation option to disable struct packing. (issue 136)
 Change PB_RETURN_ERROR() macro to avoid compiler warnings (issue 140)
 Fix build problems with protoc 3.0.0
 Add support for POINTER type in extensions
 Initialize also extension fields to defaults in pb_decode().
 Detect too large varint values when decoding.

nanopb-0.3.1 (2014-09-11)
 Fix security issue due to size_t overflows. (issue 132)
 Fix memory leak with duplicated fields and PB_ENABLE_MALLOC
 Fix crash if pb_release() is called twice.
 Fix cyclic message support (issue 130)
 Fix error in generated initializers for repeated pointer fields.
 Improve tests (issues 113, 126)

nanopb-0.3.0 (2014-08-26)
 NOTE: See docs/migration.html or online at
 http://koti.kapsi.fi/~jpa/nanopb/docs/migration.html
 for changes in this version. Most importantly, you need to add
 pb_common.c to the list of files to compile.

 Separated field iterator logic to pb_common.c (issue 128)
 Change the _count fields to use pb_size_t datatype (issue 82)
 Added PB_ prefix to macro names (issue 106)
 Added #if version guard to generated files (issue 129)
 Added migration document

nanopb-0.2.9 (2014-08-09)
 NOTE: If you are using the -e option with the generator, you have
 to prepend . to the argument to get the same behaviour as before.

 Do not automatically add a dot with generator -e option. (issue 122)
 Fix problem with .options file and extension fields. (issue 125)
 Don't use SIZE_MAX macro, as it is not in C89. (issue 120)
 Generate #defines for initializing message structures. (issue 79)
 Add skip_message option to generator. (issue 121)
 Add PB_PACKED_STRUCT support for Keil MDK-ARM toolchain (issue 119)
 Give better messages about the .options file path. (issue 124)
 Improved tests

nanopb-0.2.8 (2014-05-20)
 Fix security issue with PB_ENABLE_MALLOC. (issue 117)
 Add option to not add timestamps to .pb.h and .pb.c preambles. (issue 115)
 Documentation updates
 Improved tests

nanopb-0.2.7 (2014-04-07)
 Fix bug with default values for extension fields (issue 111)
 Fix some MISRA-C warnings (issue 91)
 Implemented optional malloc() support (issue 80)
 Changed pointer-type bytes field datatype
 Add a "found" field to pb_extension_t (issue 112)
 Add convenience function pb_get_encoded_size() (issue 16)

nanopb-0.2.6 (2014-02-15)
 Fix generator error with bytes callback fields (issue 99)
 Fix warnings about large integer constants (issue 102)
 Add comments to where STATIC_ASSERT is used (issue 96)
 Add warning about unknown field names on .options (issue 105)
 Move descriptor.proto to google/protobuf subdirectory (issue 104)
 Improved tests

nanopb-0.2.5 (2014-01-01)
 Fix a bug with encoding negative values in int32 fields (issue 97)
 Create binary packages of the generator + dependencies (issue 47)
 Add support for pointer-type fields to the encoder (part of issue 80)
 Fixed path in FindNanopb.cmake (issue 94)
 Improved tests

nanopb-0.2.4 (2013-11-07)
 Remove the deprecated NANOPB_INTERNALS functions from public API.
 Document the security model.
 Check array and bytes max sizes when encoding (issue 90)
 Add #defines for maximum encoded message size (issue 89)
 Add #define tags for extension fields (issue 93)
 Fix MISRA C violations (issue 91)
 Clean up pb_field_t definition with typedefs.

nanopb-0.2.3 (2013-09-18)
 Improve compatibility by removing ternary operator from initializations (issue 88)
 Fix build error on Visual C++ (issue 84, patch by Markus Schwarzenberg)
 Don't stop on unsupported extension fields (issue 83)
 Add an example pb_syshdr.h file for non-C99 compilers
 Reorganize tests and examples into subfolders (issue 63)
 Switch from Makefiles to scons for building the tests
 Make the tests buildable on Windows

nanopb-0.2.2 (2013-08-18)
 Add support for extension fields (issue 17)
 Fix unknown fields in empty message (issue 78)
 Include the field tags in the generated .pb.h file.
 Add pb_decode_delimited and pb_encode_delimited wrapper functions (issue 74)
 Add a section in top of pb.h for changing compilation settings (issue 76)
 Documentation improvements (issues 12, 77 and others)
 Improved tests

nanopb-0.2.1 (2013-04-14)
 NOTE: The default callback function signature has changed.
       If you don't want to update your code, define PB_OLD_CALLBACK_STYLE.
 
 Change the callback function to use void** (issue 69)
 Add support for defining the nanopb options in a separate file (issue 12)
 Add support for packed structs in IAR and MSVC (in addition to GCC) (issue 66)
 Implement error message support for the encoder side (issue 7)
 Handle unterminated strings when encoding (issue 68)
 Fix bug with empty strings in repeated string callbacks (issue 73)
 Fix regression in 0.2.0 with optional callback fields (issue 70)
 Fix bugs with empty message types (issues 64, 65)
 Fix some compiler warnings on clang (issue 67)
 Some portability improvements (issues 60, 62)
 Various new generator options
 Improved tests

nanopb-0.2.0 (2013-03-02)
 NOTE: This release requires you to regenerate all .pb.c
       files. Files generated by older versions will not
       compile anymore.

 Reformat generated .pb.c files using macros (issue 58)
 Rename PB_HTYPE_ARRAY -> PB_HTYPE_REPEATED
 Separate PB_HTYPE to PB_ATYPE and PB_HTYPE
 Move STATIC_ASSERTs to .pb.c file
 Added CMake file (by Pavel Ilin)
 Add option to give file extension to generator (by Michael Haberler)
 Documentation updates

nanopb-0.1.9 (2013-02-13)
 Fixed error message bugs (issues 52, 56)
 Sanitize #ifndef filename (issue 50)
 Performance improvements
 Add compile-time option PB_BUFFER_ONLY
 Add Java package name to nanopb.proto
 Check for sizeof(double) == 8 (issue 54)
 Added generator option to ignore some fields. (issue 51)
 Added generator option to make message structs packed. (issue 49)
 Add more test cases.

nanopb-0.1.8 (2012-12-13)
 Fix bugs in the enum short names introduced in 0.1.7 (issues 42, 43)
 Fix STATIC_ASSERT macro when using multiple .proto files. (issue 41)
 Fix missing initialization of istream.errmsg
 Make tests/Makefile work for non-gcc compilers (issue 40)

nanopb-0.1.7 (2012-11-11)
 Remove "skip" mode from pb_istream_t callbacks. Example implementation had a bug. (issue 37)
 Add option to use shorter names for enum values (issue 38)
 Improve options support in generator (issues 12, 30)
 Add nanopb version number to generated files (issue 36)
 Add extern "C" to generated headers (issue 35)
 Add names for structs to allow forward declaration (issue 39)
 Add buffer size check in example (issue 34)
 Fix build warnings on MS compilers (issue 33)

nanopb-0.1.6 (2012-09-02)
 Reorganize the field decoder interface (issue 2)
 Improve performance in submessage decoding (issue 28)
 Implement error messages in the decoder side (issue 7)
 Extended testcases (alltypes test is now complete).
 Fix some compiler warnings (issues 25, 26, 27, 32).

nanopb-0.1.5 (2012-08-04)
 Fix bug in decoder with packed arrays (issue 23).
 Extended testcases.
 Fix some compiler warnings.

nanopb-0.1.4 (2012-07-05)
 Add compile-time options for easy-to-use >255 field support.
 Improve the detection of missing required fields.
 Added example on how to handle union messages.
 Fix generator error with .proto without messages.
 Fix problems that stopped the code from compiling with some compilers.
 Fix some compiler warnings.

nanopb-0.1.3 (2012-06-12)
 Refactor the field encoder interface.
 Improve generator error messages (issue 5)
 Add descriptor.proto into the #include exclusion list
 Fix some compiler warnings.

nanopb-0.1.2 (2012-02-15)
 Make the generator to generate include for other .proto files (issue 4).
 Fixed generator not working on Windows (issue 3)

nanopb-0.1.1 (2012-01-14)
 Fixed bug in encoder with 'bytes' fields (issue 1).
 Fixed a bug in the generator that caused a compiler error on sfixed32 and sfixed64 fields.
 Extended testcases.

nanopb-0.1.0 (2012-01-06)
 First stable release.
