123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569 |
- 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.
|