Skip to content
This repository contains version 2 of the Go protocol buffer package.
Branch: master
Clone or download
neild internal/legacy, internal/encoding/tag: don't synthesize options
Stop adding options to legacy MessageDescriptors and FieldDescriptors.
We would synthesize options messages containing semantic options
(FieldOptions.is_packed, FieldOptions.is_weak, MessageOptions.map_entry).
This information is already contained in the protoreflect descriptors,
so there is no real need to define a correct options message.

If we do want to include options in legacy descriptors, then we should
get the original value out of the FileDescriptorProto, since it may
include additional extensions or other information.

This change completely removes the dependency from internal/legacy to

Change-Id: Ib6bbe4ca6e0fe7ae501f3e9b11d5fa0222808410
Reviewed-by: Joe Tsai <>
Latest commit fb8bd3a Apr 11, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmd cmd/protoc-gen-go: generate oneof types seperately Apr 8, 2019
encoding cmd/protoc-gen-go: generate oneof types seperately Apr 8, 2019
internal internal/legacy, internal/encoding/tag: don't synthesize options Apr 10, 2019
proto proto: add simple benchmark Apr 8, 2019
protogen internal/fieldnum: generate field numbers for the google.protobuf pac… Mar 21, 2019
AUTHORS add pre-push hook instructions Aug 7, 2018
PATENTS initial commit Aug 1, 2018

Next Generation Go Protocol Buffers

WARNING: This repository is in active development. There are no guarantees about API stability. Breaking changes will occur until a stable release is made and announced.

This repository is for the development of the next major Go implementation of protocol buffers. This library makes breaking API changes relative to the existing Go protobuf library. Of particular note, this API aims to make protobuf reflection a first-class feature of the API and implements the protobuf ecosystem in terms of reflection.

Design Documents

List of relevant design documents:


We appreciate community contributions. See

Reporting Issues

Issues regarding the new API can be filed at Please use a APIv2: prefix in the title to make it clear that the issue is regarding the new API work.

You can’t perform that action at this time.