Open
Description
Hi there, I work on protobufs. I noticed your project is using APIs from google/protobuf/util/internal
:
#include "google/protobuf/util/internal/json_stream_parser.h"
#include "google/protobuf/util/internal/object_writer.h"
These APIs have "internal" in the include path, and are not for end-user consumption. We will likely be removing these soon, or at least changing their namespace to make it even clearer that these APIs are not for users.
This came to my attention because of this PR in our repo:
Activity
qiwzhang commentedon Aug 27, 2019
This repo was created many years ago (4, 5 years). It is used by Cloud Endpoint ESP and Envoy grpc transcoding filter. Please suggest a replacement before you change them into "internal".
haberman commentedon Aug 30, 2019
Yes, we should talk. Once I understand the requirements better I can suggest a replacement.
I want to clarify that these interfaces have always been internal, as evidenced by the fact that the files are in a directory called
internal
(see the#include
lines I pasted above).haberman commentedon Nov 11, 2019
Just wanted to leave a note here about what we discussed a few weeks back. I think you were going to look into your uses of these APIs and see if they could be removed. If not, you can use an old version of protobuf once newer versions remove the internal APIs.
qiwzhang commentedon Nov 11, 2019
Yes, that is what we have been agreed upon.
haberman commentedon May 12, 2023
FYI protobuf version 22.0 finally removed these internal APIs. It looks like grpc-httpjson-transcoding never migrated off them. So this project will need to continue using protobuf <22.0 until it can migrate off those APIs.