Understand and maintain Go codebases that depend on gogo/protobuf for data serialization
Debug legacy gRPC services built with gogo/protobuf as a transitive dependency
Migrate older Go microservices from gogo/protobuf to the official google.golang.org/protobuf package
Project is deprecated with no active development, use only for maintaining existing codebases, not new projects.
gogo/protobuf is a Go library for working with Protocol Buffers, which is a system for serializing structured data, originally developed by Google. It started as a fork of the official Go implementation and added extra code generation options on top of it. This project is now deprecated, meaning it is no longer actively maintained and new projects should use other alternatives. Protocol Buffers work by letting you define the shape of your data in a .proto file, and then generating code that can efficiently convert that structured data into a compact binary format and back again. This is commonly used in networked applications, particularly those that use gRPC, a framework for communication between services. What distinguished this library from the official Go implementation was its focus on performance and code generation flexibility. It could generate faster serialization and deserialization code, produce helper methods to reduce repetitive code, and optionally generate test and benchmark code alongside your data structures. Projects like etcd, Kubernetes, CockroachDB, Docker Swarm, and many others adopted it because of these performance gains. The deprecation was announced in 2022. The library accumulated wide usage across the Go ecosystem, which means you may encounter it in older codebases or as a transitive dependency in other packages. The README is explicit that the project is no longer receiving active development. If you are browsing this repository to understand a codebase that depends on it, the core concept is the same as standard Protocol Buffers. The library takes .proto schema files and generates Go structs with methods for converting data to bytes and back, along with optional extras that the official library did not provide at the time this fork was created.
← gogo on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.