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