- Notifications
You must be signed in to change notification settings - Fork1.6k
Go support for Google's protocol buffers
License
golang/protobuf
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This module(github.com/golang/protobuf
)contains Go bindings for protocol buffers.
It has been superseded by thegoogle.golang.org/protobuf
module, which contains an updated and simplified API,support for protobuf reflection, and many other improvements.We recommend that new code use thegoogle.golang.org/protobuf
module.
Versions v1.4 and later ofgithub.com/golang/protobuf
are implementedin terms ofgoogle.golang.org/protobuf
.Programs which use both modules must use at least version v1.4 of this one.
See thedeveloper guide for protocol buffers in Gofor a general guide for how to get started using protobufs in Go.
Seerelease note documentationfor more information about individual releases of this project.
Seedocumentation for the next major revisionfor more information about the purpose, usage, and history of this project.
Summary of the packages provided by this module:
proto
: Packageproto
provides functions operating on protobuf messages such as cloning,merging, and checking equality, as well as binary serialization and textserialization.jsonpb
: Packagejsonpb
serializes protobuf messages as JSON.ptypes
: Packageptypes
provides helper functionality for protobuf well-known types.ptypes/any
:Packageany
is the generated package forgoogle/protobuf/any.proto
.ptypes/empty
:Packageempty
is the generated package forgoogle/protobuf/empty.proto
.ptypes/timestamp
:Packagetimestamp
is the generated package forgoogle/protobuf/timestamp.proto
.ptypes/duration
:Packageduration
is the generated package forgoogle/protobuf/duration.proto
.ptypes/wrappers
:Packagewrappers
is the generated package forgoogle/protobuf/wrappers.proto
.ptypes/struct
:Packagestructpb
is the generated package forgoogle/protobuf/struct.proto
.protoc-gen-go/descriptor
:Packagedescriptor
is the generated package forgoogle/protobuf/descriptor.proto
.protoc-gen-go/plugin
:Packageplugin
is the generated package forgoogle/protobuf/compiler/plugin.proto
.protoc-gen-go
:Theprotoc-gen-go
binary is a protoc plugin to generate a Go protocolbuffer package.
The issue tracker for this projectis located here.
Please report any issues with a sufficient description of the bug or featurerequest. Bug reports should ideally be accompanied by a minimal reproduction ofthe issue. Irreproducible bugs are difficult to diagnose and fix (and likely tobe closed after some period of time). Bug reports must specify the version oftheGo protocol buffer moduleand also the version of theprotocol buffer toolchainbeing used.
This project is open-source and accepts contributions. See thecontribution guidefor more information.
This module and the generated code are expected to be stable over time. However,we reserve the right to make breaking changes without notice for the followingreasons:
- Security: A security issue in the specification or implementation maycome to light whose resolution requires breaking compatibility. We reservethe right to address such issues.
- Unspecified behavior: There are some aspects of the protocol bufferspecification that are undefined. Programs that depend on unspecifiedbehavior may break in future releases.
- Specification changes: It may become necessary to address aninconsistency, incompleteness, or change in the protocol bufferspecification, which may affect the behavior of existing programs. Wereserve the right to address such changes.
- Bugs: If a package has a bug that violates correctness, a programdepending on the buggy behavior may break if the bug is fixed. We reservethe right to fix such bugs.
- Generated additions: We reserve the right to add new declarations togenerated Go packages of
.proto
files. This includes declared constants,variables, functions, types, fields in structs, and methods on types. Thismay break attempts at injecting additional code on top of what is generatedbyprotoc-gen-go
. Such practice is not supported by this project. - Internal changes: We reserve the right to add, modify, and removeinternal code, which includes all unexported declarations, the
generator
package, and all packages underinternal
.
Any breaking changes outside of these will be announced 6 months in advance toprotobuf@googlegroups.com.
About
Go support for Google's protocol buffers