TL;DR: We are planning to release Protobuf Editions to the open source
project in the second half of 2023. While there is no requirement to move
from proto2/proto3 syntax to Editions syntax at initial release, we
encourage you to plan a move in your software project’s future timeline.


Protobuf Editions will replace the proto2 and proto3 designations that we
have used for Protocol Buffers. Instead of adding syntax = "proto2" or syntax
= "proto3" at the top of proto definition files, you will use an edition
number, such as edition = “2024”, to specify the behaviors your
implementation will conform to. Editions enable the language to evolve
incrementally over time.


Instead of the hard-coded behaviors that older versions have had, editions
will represent a collection of “features” with a default value (behavior)
per feature, which you can override. Features are options on a syntax
entry—file, message, field, enum, and so on— that specify the behavior of
protoc, the backends, and protobuf runtimes. You can explicitly set the
desired behavior at those different levels (file, message, field, …) when
your needs don’t match the default behavior for the edition you’ve selected.


The introduction of Editions requires the one-time conversion of your
.proto definition files into a new format. We will be providing a tool,
called Prototiller, for this conversion. The code generated by protoc will
work with your existing code without modification.


For more information about Protobuf Editions, see the full announcement at
https://protobuf.dev/news/ and the overview at
https://protobuf.dev/editions/overview/.

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/protobuf/CAM96WrYMb40vmJPBPWmBDC6ch6WU7wbhN9uLYuPDkc6%2BWa_7OQ%40mail.gmail.com.

Reply via email to