Hello everyone,

We're announcing the release of Google's new Rust protobuf implementation,
now available on crates.io
<https://crates.io/crates/protobuf/4.31.1-release>. This marks the first
time Google is providing an officially supported solution for working with
Protocol Buffers in Rust.

It's important to note that this is in beta, and each version currently
ends in a -release suffix to indicate this. The API is subject to change,
and you may encounter some rough edges, including missing documentation and
features. We appreciate your patience as we work toward a stable release,
which we aim to have ready by the end of the year.

V4 and future major versions are officially supported by the Protobuf team
at Google. Prior major versions were developed as a community project by
stepancheg <https://github.com/stepancheg>, who generously donated the
crate name to Google. We do not plan to continue developing the V3 pure
Rust lineage. However, it remains a stable and high-quality option, and
projects may reasonably continue to stay on the V3 API.

V4 is a completely new implementation with a different API, as well as a
fundamentally different approach from prior versions of the crate. It
focuses on delivering a high-quality Rust API which is backed by a
“kernel”, either upb
<https://github.com/protocolbuffers/protobuf/tree/main/upb> (a C
implementation) or the Protobuf C++ implementation. This choice was made
for performance, feature parity, development velocity, and security
reasons. More discussion about the decision to focus on a Rust API that is
implemented by either a C or C++ Protobuf implementation can be found here
<https://protobuf.dev/reference/rust/rust-design-decisions/>. We expect
that users will generally want to use the upb kernel unless there are
unusual requirements for interoperating with C++. The protobuf crate
published to crates.io currently supports only the upb kernel.

Here’s how you can get started:

   -

   Check out the example crate
   <https://docs.rs/crate/protobuf-example/latest/source/> to see how to
   set up your build.
   -

   See our official documentation at https://protobuf.dev/reference/rust/
   -

   Please file feature requests and bug reports as issues on our GitHub repo
   <http://github.com/protocolbuffers/protobuf>.


Sincerely,

Adam on behalf of the Protobuf Team

-- 
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 visit 
https://groups.google.com/d/msgid/protobuf/CADqAXr4WAO%3D52%3DPdB%2BYboC43PP_3Nn4%3DBnimFxZAo193BMS06g%40mail.gmail.com.

Reply via email to