All ideas

Support proto3 3.15 optional

Protobuf 3.15 added support for optional in the form optional int32 foo = 1;. . To Proto3 < 3.15 clients, the generated code is binary compatible with looks like oneof foo { int32 foo = 1; } The resulting client/server APIs in most languages work like normal optional; in non-null-safe languages the value hasfoo is generated. Gendocu should support this, and show these fields as optional the same way it shows repeated fields. (Attached screenshots show examples of Proto3 code using 3.15 optional, the current oneof appearance of them in Gendocu, and what repeated fields look like.) Proto3 3.15 was release in early 2021; the last version of Protobuf without this functionality (3.14) was released in late 2020.