TrendWhat rose on GitHub, every day at 07:30 KST · 한국어

GitHub · as of November 8, 2026 · View on GitHub →

protocolbuffers/protobuf

Language-neutral data serialization framework

+9 stars in 7 days

Enable stable data exchange between servers and clients written in different languages

It provides a way to exchange data stably even when the server and client are written in different languages. Protocol Buffers is a mechanism for efficiently serializing data, handling complex format conversions on your behalf. This allows you to maintain data consistency during network transmission or file storage.

The Role of the Compiler and Runtime

Using Protocol Buffers requires installing two components. First, you need the Protocol Compiler (protoc), which compiles .proto files. This compiler is written in C++ and generates code for each language. Second, you need a Protocol Buffers runtime for your chosen programming language. This runtime supports the generated code in performing actual data processing.

Installation Paths and Version Management

For most users, using a supported release version is the easiest approach. Building the latest code from the main branch directly can break your build due to source compatibility issues or untested behavior. If you use C++ or need to build from source in your project, it is recommended to pin to a specific commit on a release branch. Caution is required, as instability may exist even between release branches.

Supported Languages and Build Tools

Protocol Buffers supports a variety of languages, including C++, Java, Python, Objective-C, C#, Ruby, Go, PHP, Dart, and JavaScript. For installation instructions for each language, refer to the documentation in the respective source directory. You can use Bazel as a build tool, which supports both Bzlmod and WORKSPACE methods. Bzlmod is available in Bazel 8 and above, where you specify dependencies in the MODULE.bazel file. The WORKSPACE method requires additional load statements for rules_java and rules_python configuration starting from version 30.x.

Considerations for Version Selection

The Protocol Compiler is only provided as pre-built binaries for release versions, so you must build directly from source if you need the latest development version or modifications. C++ users must follow the C++ installation instructions, while users of other languages can download the appropriate zip file for their platform from the GitHub releases page. If you need an older version, you should check the Maven repository. For the support period of language libraries, refer to the version support policy, and participating in the developer community can provide information on future changes.

Written by AI from this repository's README on September 30, 2026. For the facts, the original on GitHub is the reference.

By the numbers

GitHub trending history
2 days between Jun 19, when Trend began recording, and Nov 8, 2026 · first on Jul 17 · best daily rank #8 (Jul 17)

Read from GitHub, as of November 8, 2026.

Language
C++
Topics
marshalling · protobuf · protobuf-runtime · protoc · protocol-buffers · protocol-compiler · rpc · serialization
Stars
72,152
Stars gained in 7 days
+9
Contributors
1,518
Forks
16,359
Latest release
v36.2 · September 17, 2026
Commits
24,704
Last commit
November 8, 2026
Open issues
150
Open pull requests
257
Used by
1,003,703

View on GitHub →

README badge

trend.ondo.sh · GitHub daily trending #8 · July 17, 2026

The badge above shows the highest this repository has ranked on GitHub's daily trending since June 19, 2026, and the day it did. Paste the Markdown below into your README. The badge opens this page, and it updates by itself when the repository climbs higher.

[![trend.ondo.sh](https://trend.ondo.sh/github/r/protocolbuffers--protobuf/badge.en.svg)](https://trend.ondo.sh/github/r/protocolbuffers--protobuf/en.html)