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