Supported Features
The two tables below indicate the level of support for various variable types and protobuf features.
| Variable Type | Support |
|---|---|
| double | Full |
| float | Full |
| int32 | Full |
| int64 | Full |
| uint32 | Full |
| uint64 | Full |
| sint32 | Full |
| sint64 | Full |
| fixed32 | Full |
| fixed64 | Full |
| sfixed32 | Full |
| sfixed64 | Full |
| bool | Full |
| string | Length fixed via template or custom option |
| bytes | Length fixed via template or custom option |
| Feature | Support |
|---|---|
| enum | Full |
| Messages as variables | Full |
| Defining messages in messages | Minimal |
| maps | Length fixed via template or custom option, as of 4.0.0 |
| google.protobuf.Any | Length fixed via template or options file, as of 4.0.0, see Any |
| oneof | Full |
| singular | Full |
| repeated | Length fixed via template or custom option |
| optional | Full |
| editions 2023 and 2024 | Full, as of 4.0.0, see protobuf editions |
The features mentioned above are of version proto3 and of editions 2023 and 2024. At this moment proto2 is not supported by Embedded Proto. With regard to proto2 support google states the following:
Prefer proto3 while proto2 will continue to be supported, we encourage new codes to use proto3 instead, which is easier to use and supports more languages.
For this reason, it is unlikely that Embedded Proto will support proto2 in the future.