The Buf blog

May 8, 2026Team Buf

CoreWeave Acquires Bufstream

Today, we are pleased to share that CoreWeave has acquired Bufstream, our Apache Kafka-compatible streaming platform, from Buf. CoreWeave, a leading AI cloud, has added Bufstream to its internal platform as part of the W&B Models and Weave product lines.

January 14, 2026Team Buf
Buf CLI · Protobuf

Protobuf finally has LSP support. You’re welcome.

Buf is proud to announce the first fully-featured, production-grade LSP server for Protobuf. The Language Server Protocol is the standard API for integrating language support into your favorite IDE or text editor, such as VSCode, IntelliJ, or Neovim. An LSP server provides the smarts that power go to definition, code completion, finding references, and semantics-aware syntax highlighting.

September 12, 2025Team Buf
Protobuf

Protovalidate is now v1.0

After two years of development, we're proud to announce that Protovalidate has reached v1.0. Protovalidate is the semantic validation library for Protobuf. Protobuf gives you the structure of your data, but Protovalidate ensures the quality of your data. Without semantic validation, you're stuck writing the same validation logic over and over again across every service that consumes your messages. With Protovalidate, you define your validation rules once, directly on your schemas, and they're enforced everywhere.

July 16, 2025M. C. Sunny Young de la Sota
Protobuf

Introducing hyperpb: 10x faster dynamic Protobuf parsing that’s even 3x faster than generated code

Today we’re announcing public availability of hyperpb, a fully-dynamic Protobuf parser that is 10x faster than dynamicpb, the standard Go solution for dynamic Protobuf. In fact, it’s so efficient that it’s 3x faster than parsing with generated code! It also matches or beats vtprotobuf’s generated code at almost every benchmark, without skimping on correctness.

June 17, 2025M. C. Sunny Young de la Sota
Protobuf

Tip of the week #9: Some numbers are more equal than others

The first 15 field numbers are special: most runtimes will decode them much faster than the other field numbers. When designing a message type for decoding performance, it’s good to use these field numbers on fields that are almost always present.

June 13, 2025Team Buf
Protobuf

Oneofs are a disaster. Protovalidate has fixed them.

Instead of using oneofs, you can now use the new (buf.validate.message).oneof Protovalidate annotation. As long as you're validating your messages with Protovalidate, (buf.validate.message).oneof does exactly what you'd expect, with none of the pain.

June 3, 2025M. C. Sunny Young de la Sota
Protobuf

Tip of the week #8: Never use required

Don’t use 'required' to modify fields—you won’t be able to get rid of it later when you realize it was a bad idea.

June 2, 2025M. C. Sunny Young de la Sota
Protobuf

Tip of the week #7: Scoping it out

buf convert and protoscope are powerful tools for examining and debugging wire format dumps.

May 19, 2025M. C. Sunny Young de la Sota
Protobuf

Tip of the week #6: The subtle dangers of enum aliases

Enum values are a poorly designed feature and shouldn’t be used.

Get started on the path to universal schema adoption

Across your entire data stack — from your network APIs to your streaming data to your data lake.