grpc-httpjson-transcoding
grpc-httpjson-transcoding copied to clipboard
This project is using internal-only protobuf APIs that may soon change namespaces or disappear.
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"
https://github.com/grpc-ecosystem/grpc-httpjson-transcoding/blob/master/src/json_request_translator.cc#L23-L24
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:
https://github.com/protocolbuffers/protobuf/pull/5939#issuecomment-524411767
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".
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).
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.
Yes, that is what we have been agreed upon.
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.