Skip to content

This project is using internal-only protobuf APIs that may soon change namespaces or disappear. #35

Open
@haberman

Description

@haberman

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:

protocolbuffers/protobuf#5939 (comment)

Activity

qiwzhang

qiwzhang commented on Aug 27, 2019

@qiwzhang
Member

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

haberman commented on Aug 30, 2019

@haberman
ContributorAuthor

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

haberman commented on Nov 11, 2019

@haberman
ContributorAuthor

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

qiwzhang commented on Nov 11, 2019

@qiwzhang
Member

Yes, that is what we have been agreed upon.

haberman

haberman commented on May 12, 2023

@haberman
ContributorAuthor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @haberman@qiwzhang

        Issue actions

          This project is using internal-only protobuf APIs that may soon change namespaces or disappear. · Issue #35 · grpc-ecosystem/grpc-httpjson-transcoding