| nanopb-0.4.8 (2023-11-11) |
| Fix name mangling with dependent proto files (#892, #899) |
| Fix initializer macros for custom callback datatype (#806) |
| Use UTF-8 encoding for generated files irrespective of locale (#868) |
| Add integer size overrides for fixed width types (#897) |
| Add ability to specify size of generated enums (#867) |
| Provide define for largest message in file (#893) |
| Automatically break circular dependencies (#881) |
| Remove pkg_resources import to avoid deprecation warning (#887) |
| Use static_assert keyword on MSVC in C89 mode (#843) |
| platformio: Allow substitutions in custom_nanopb_protos (#882) |
| CMakeLists: Add missing __init__.py to generator install (#841) |
| CMakeLists: Add nanopb_PYTHON_INSTDIR_OVERRIDE (#875) |
| CMakeLists: Rename installation directories (#845, #907) |
| FindNanopb.cmake: Fix regression bug with relative include path (#888) |
| FindNanopb.cmake: Ensure generator files are updated when cached (#847) |
| FindNanopb.cmake: Fix generator call on Windows (#874) |
| Bazel: multiple build rule fixes and updates (#855, #891, #904, #906, #919) |
| |
| nanopb-0.4.7 (2022-12-11) |
| Fix comments generation for submessages (#788) |
| Fix handling of spaces in arguments passed through protoc (#810) |
| Fix problems with multiple files and mangle_names option (#783, #820) |
| Fix generator error when using M_STRIP_PACKAGE without package name (#795) |
| Fix compilation error with fixed size array and FT_POINTER (#630) |
| Fix wrong format in Python Poetry project file (#811) |
| Fix unnecessary generator message when using --quiet (#831) |
| Fix enum_to_string with C++ (#838) |
| Fix /* */ inside .proto file comment |
| Workaround python-protobuf version issues (#787) |
| Safeguard substraction in pb_read() with custom streams (#697) |
| Always include pb_release() as function, instead of macro. (#802) |
| Allow using = instead of : with generator option -s |
| Allow specifying include format without special characters (#810) |
| Allow including headers from inside of extern C (#814) |
| Add option NANOPB_PB2_TEMP_DIR to store nanopb_pb2.py in a temporary dir (#601) |
| Add compile-time error message for when PB_FIELD_32BIT is needed (#680, #827) |
| Add --c-style command line option for naming style (#199, #533, #791) |
| Add --protoc-opt to nanopb_generator.py (#628) |
| Add ENUMTYPE convenience macros (#803) |
| Add Bazel build rules (#360, #500) |
| Generator: keep order of messages when possible |
| Test case improvements (#792) |
| PlatformIO build rule improvements (#808, #809, #819, #834, #839, #840) |
| CMake build rule improvements (#822) |
| CMakeLists: use protoc wrapper script by default (#769) |
| |
| nanopb-0.4.6 (2022-05-30) |
| Fix passing of error message from substream callback (#703) |
| Fix comments going to wrong member variables (#701) |
| Fix regression in 0.4.3 where generator did not find all dependencies (#720) |
| Fix FindNanopb.cmake not finding options file (#659) |
| Fix double-definition errors with size_union (#692) |
| Fix generator error with same inner message name (#746) |
| Fix infinite recursion in generator/protoc script (#762) |
| Fix unicode comment handling for Python 2 (#740) |
| Fix compiler warnings with PB_BUFFER_ONLY (#717) |
| Fix options dependency in nanopb.mk (#666) |
| Fix handling of filenames with dot in them in FindNanopb.cmake (#756) |
| Add fallback_type option (#772, #773) |
| Use C11 static assert mechanism by default (#761, #766) |
| Use 'static_assert' keyword for iar (#679) |
| Explicitly check for pItem == NULL to satisfy Xcode analyzer (#667, #674) |
| Support --proto-path as alias to -I (#749) |
| Refactor name mangling to separate class, improve error messages (#735) |
| Move PB_WT_PACKED definition to the header to fix compiler warnings (#671) |
| FindNanopb.cmake: use --nanopb_opt for option passing by default (#752) |
| FindNanopb.cmake: Add option NANOPB_GENERATE_CPP_STANDALONE (#741) |
| FindNanopb.cmake: Add PROTOC_OPTIONS variable (#768, #771) |
| CMakeLists: add build interface for using as a submodule (#669) |
| CMakeLists: fix error with nanopb_BUILD_GENERATOR=OFF (#764) |
| CMakeLists: make more uniform (#676) |
| CMakeLists: Fix uninitialized PYTHON_INSTDIR (#652) |
| Clean up CMake examples (#741) |
| Rebuild nanopb_pb2.py and print version numbers on import failure (#733, #742) |
| Use memcpy instead of iterating on buf_read/write (#751) |
| Add generator support for PlatformIO (#718) |
| Add clean target to generator/proto/Makefile (#681) |
| Windows .bats: use standard python invocation instead of py.exe launcher (#657) |
| Fix problems running tests with newer SCons version |
| Improve handling of varint overflows |
| Improve optimization for little-endian platforms |
| |
| NOTE: During development, prereleases were published on PlatformIO registry |
| as versions 0.4.6 - 0.4.6.3. The version 0.4.6.4 on PlatformIO corresponds |
| to the real final 0.4.6 release. |
| |
| nanopb-0.4.5 (2021-03-22) |
| Fix invalid free() with oneof (#647, GHSA-7mv5-5mxh-qg88) |
| Fix unordered field numbers inside oneof causing fields to be ignored (#617) |
| Fix pb_decode() not initializing fields inside oneof (#635 |
| Fix compiler errors with complex oneof hierarchy and sizeof() (#610) |
| Fix descriptor width calculation for 64-bit types (#644) |
| Fix compiler error in generated initializer for submessage callback (#631) |
| Fix duplicate union definition in generated file (#637) |
| Fix test case build error on SCons 4.1.0 |
| Pip package: include nanopb_pb2.py (#629) |
| Make generator consider dependencies recursively (#610) |
| Bazel build system updates (#633) |
| Add support for including comments from .proto file (#85, #645) |
| |
| nanopb-0.4.4 (2020-11-25) |
| Fix memory leak with oneofs and PB_ENABLE_MALLOC (#615, GHSA-85rr-4rh9-hhwh) |
| Fix generator error when oneof contains a single unresolved field size (#610) |
| Fix unsigned enums not working correctly inside OneOf (#611) |
| Fix recursion depth exceeded error in generator (#493) |
| Add '--version' option to nanopb_generator.py (#607) |
| Add support for proto3 optional fields introduced in protoc 3.12 (#591) |
| Add better error message when enum type is not found (#592) |
| Allow specifying descriptorsize on field level also (#546) |
| Allow multiple targets to be created by calling NANOPB_GENERATE_CPP() (#596) |
| Conanfile: Add protobuf-nanopb library to cpp_info.libs (#605) |
| Include version number in generator verbose output |
| Convert documentation to markdown format (#587) |
| Remove outdated transitional generator/nanopb/options.proto. |
| Test case improvements |
| Documentation improvements |
| |
| nanopb-0.4.3 (2020-09-21) |
| Fix generator error when output is in current directory (#553) |
| Fix issue with unknown message sizes being referred inside oneof encoded size calculation (#569) |
| Fix problem with [default=xxxx, (nanopb).proto3=true] field option combination (#558) |
| Fix cross compilation with Conan build system (#568) |
| Better support C++ types in generated structs (#577) |
| CMake rule improvements (#554, #555, #556, #561, #564) |
| Generator: fix compatibility bug with Python 3.1 and earlier |
| Make Linux and Mac packages use grpcio protoc |
| Make pb_decode_varint32() reject overlong varint encodings. |
| Performance optimizations |
| Test case improvements |
| Documentation improvements |
| |
| NOTE: version 0.4.3 changes layout of pb_msgdesc_t. It requires recompiling .pb.c files and |
| thus breaks ABI compatibility. In general, ABI compatibility is not currently maintained |
| between any nanopb versions. |
| |
| NOTE: There was an apparent false positive virus identification by Windows Defender of the |
| PyInstaller 3.6 based Windows package nanopb-0.4.3-windows-x86.zip. The package was replaced |
| by nanopb-0.4.3-p1-windows-x86.zip with rebuilt PyInstaller 4.0, which seems to avoid the problem. |
| Actual nanopb code is unchanged between the packages. |
| |
| nanopb-0.4.2 (2020-06-23) |
| Fix buffer overflow when encoding bytes with size set to 65535 (#547, GHSA-3p39-mfxg-hrq4) |
| Fix segfault with pointer fields and proto3_singular_msgs = true. (#504,#505) |
| Fix Windows 10 temp file handling (#486) |
| Fix macro name conflicts (ATMEGA32U4 UENUM and more) (#522) |
| Fix generator error with nested messages and default values (#487) |
| Fix nanopb_generator exception on enums with aliases (#535) |
| Fix compile error when struct members are called X or a (#492) |
| Fix sizeof(union ...) fallback not compiling with C++ (#415, #494) |
| Fix "missing required field" error with submessage callback (#544) |
| Fix field descriptor sizing with submsg_callback option (#545) |
| Fix protoc calling on Python 2 (#503) |
| Fix handling of varying NaN representations in PB_CONVERT_DOUBLE_FLOAT (#543) |
| Fix clang undefined behavior sanitizer errors. |
| Change generator to use Python 3 by default (#441, #509) |
| Binary packages updated to use Python 3 and grpcio-tools |
| Add support for infinity and nan floating-point defaults (#530, #538) |
| Add generator option sort_by_tag (#542) |
| Add type_override option to override type defined in .proto (#497) |
| Set proto2 enum fields to first value when no default is given, even if nonzero (#532,#539) |
| Include protoc-gen-nanopb in path in protoc wrapper script |
| Properly pass error status from protoc wrapper when calling binary protoc |
| Generator: pass --include_imports when calling protoc (#494) |
| Create intermediate directories when writing files to relative path (#512) |
| Add current directory to include path for protoc (#499) |
| Update readme to use nanopb_generator.py directly |
| Regression test for proto3 incorrectly considered empty (#504) |
| CMake: change package name to Nanopb for cmake 3.17 compatibility (#506) |
| CMake: remove find_package(PythonInterp) (#508) |
| CMake: use split --nanopb_opt only on protoc >= 3.6 (#515) |
| CMake: Relax python version spec, allowing Python3. (#534) |
| Swift package manager (#549) |
| Rename BUILD as BUILD.bazel (#537) |
| |
| Note: Windows binary packages in 0.4.2 and later require Windows 7 or newer. |
| |
| nanopb-0.4.1 (2020-02-02) |
| Fix invalid free() after failed realloc() (GHSA-gcx3-7m76-287p) |
| Avoid overflows in allocation for packed fields. |
| Verify stream size before allocating string / bytes. |
| Add workaround for avr-libc realloc() bug (#475) |
| Fix bug with field numbers >255 (#407) |
| Fix compilation error on platforms without uint8_t (#485) |
| Fix warnings on Python3.8 (#399, #467) |
| Make fixed_count option work when combined with FT_POINTER. |
| Add missing #define for submsg callbacks, add regression test (#472) |
| Fix ImportError when using generator/protoc with Python 3 |
| Remove accidental debug code in generator |
| Reduce stack usage (#484) |
| Remove PB_FIELDINFO_WIDTH option (#473) |
| Add nanopb-specific package name option (#422) |
| Add testcase for Any type (#163) |
| Add exclude option also from .proto/.options |
| Set default include path in the grpc_tools protoc wrapper. |
| Add workaround for python-protobuf 3.6.1 bug (#478) |
| Detect invalid wire type when decoding fields. |
| Improved fuzz testing |
| |
| 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.9 (2022-04-23) |
| Fix Xcode analyzer warnings (#667, #674) |
| Fix clang sanitizer warnings |
| |
| Note: there are no known functional differences between 0.3.9.8 and 0.3.9.9. |
| The changes are merely to fix warnings introduced by new compiler versions. |
| |
| nanopb-0.3.9.8 (2021-03-22) |
| Fix invalid free() with oneof (#647, GHSA-7mv5-5mxh-qg88) |
| Don't generate lines with trailing spaces (#622) |
| Verify stream size before allocating string / bytes (#620) |
| |
| nanopb-0.3.9.7 (2020-11-25) |
| Fix memory leak with oneofs and PB_ENABLE_MALLOC (#615, GHSA-85rr-4rh9-hhwh) |
| Fix unsigned enums not working correctly inside OneOf (#611) |
| Add '--version' option to nanopb_generator.py (#607) |
| SwiftPM rule updates (#567, #585) |
| |
| nanopb-0.3.9.6 (2020-06-23) |
| Fix buffer overflow when encoding bytes with size set to 65535 (#547, GHSA-3p39-mfxg-hrq4) |
| Fix proto3 submessage improperly considered empty (#504) |
| Fix ImportError when using generator/protoc with Python 3 |
| Add build rules for Swift package manager (#549) |
| |
| nanopb-0.3.9.5 (2020-02-02) |
| Fix invalid free() after failed realloc() (GHSA-gcx3-7m76-287p) |
| Add workaround for avr-libc realloc() bug (#475) |
| Fix empty submessages getting encoded in proto3 mode (#395) |
| Avoid overflows in allocation for packed fields. |
| |
| 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 incompatibility (#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.5 (2020-06-23) |
| Fix buffer overflow when encoding bytes with size set to 65535 (#547, GHSA-3p39-mfxg-hrq4) |
| Backport Python 3 and protoc 3.x fixes to test cases |
| |
| nanopb-0.2.9.4 (2020-02-02) |
| Fix invalid free() after failed realloc() (GHSA-gcx3-7m76-287p) |
| Add workaround for avr-libc realloc() bug (#475) |
| |
| nanopb-0.2.9.3 (2016-06-19) |
| Protect against corrupted _count fields in pb_release (#205) |
| |
| nanopb-0.2.9.2 (2015-01-24) |
| Fix memory leaks with PB_ENABLE_MALLOC with some submessage hierarchies (issue 138) |
| Fix compilation error with generated initializers for repeated pointer fields |
| |
| nanopb-0.2.9.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. |
| |
| 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. |