grpc / grpc/grpc-web

Support Protobuf 30+ (Protobuf C++ 6.x)

Open
#1,522 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
9.3k
Forks
802
Avg merge
1d 7h
Merged PRs (30d)
5

Description

With Protobuf C++ 5.x (Protobuf 26 - 29) end of support on 31 Mar 2026[^1], it would be nice to update to Protobuf C++ 6.x (Protobuf 30 - 33).

protobuf-javascript already added support in https://github.com/protocolbuffers/protobuf-javascript/commit/eb785a9363664a402b6336dfe96aad27fb33ffa8 which can be used as reference.

The main incompatibility is from various APIs now returning an `absl::string_view` rather than `std::string`. For this particular change:
- The naive/quick fix is to just find-replace everything impacted and wrap with `std::string(...)`.
- A more performant option is to directly use the string_view and functions provided by Abseil - https://abseil.io/docs/cpp/guides/strings

[^1]: https://protobuf.dev/support/version-support/#cpp

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the protobuf-javascript commit linked in the issue and identify the grpc-web code affected by Protobuf C++ 30–33 API changes. Compare impacted uses of APIs returning absl::string_view and determine whether the project should wrap them in std::string or use Abseil string utilities. Done means grpc-web builds and supports Protobuf C++ 6.x without the reported incompatibilities.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, grpc, javascript
Domain
api, build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.