Skip to content

Blog

Tip of the week #7: Scoping it out

June 2, 2025

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

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

May 19, 2025

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

Tip of the week #5: Avoid import public/weak

May 13, 2025

Avoid import public and import weak.

Bufstream is now on the AWS Marketplace

May 9, 2025

We're excited to announce that Bufstream is now available on the AWS Marketplace. Enterprise customers can purchase through their AWS account and accelerate their deployment of Bufstream.

Cheap Kafka is cool. Schema-driven development with Kafka is cooler.

May 2, 2025

If you're looking for a modern drop-in replacement for Apache Kafka to save costs and complexity, Bufstream is probably your best bet. However, we've got a bigger mission here. Buf wants to bring schema-driven development across your entire stack, from your network APIs, to your streaming data, to your lakehouse, unified behind one schema language that can do it all.

Tip of the week #4: Accepting mistakes we can’t fix

April 29, 2025

Protobuf’s distributed nature introduces evolution risks that make it hard to fix some types of mistakes. Sometimes the best thing to do is to just let it be.

Tip of the week #3: Enum names need prefixes

April 22, 2025

Enums inherit some unfortunate behaviors from C++. Avoid this problem by using the Buf lint rules ENUM_VALUE_PREFIX and ENUM_ZERO_VALUE_SUFFIX.

Tip of the week #2: Compress your Protos!

April 15, 2025

Compression is everywhere. This pervasiveness means that wire size tradeoffs matter less than they used to twenty years ago, when Protobuf was designed.

Tip of the week #1: Field names are forever

April 8, 2025

Don’t rename fields. Even though there are a slim number of cases you can get away with it, it’s rarely worth doing, and is a potential source of bugs.

Multi-region, active-active Bufstream at 100 GiB/s

March 7, 2025

Bufstream — Buf’s drop-in replacement for Apache Kafka® — now supports business-critical workloads with multi-region, active-active clusters on GCP.

Bufstream on Spanner: 100 GiB/s with zero operational overhead

March 5, 2025

At less than $1M/month for 100 GiB/s of writes and 300 GiB/s of reads, Bufstream using Spanner is 25x cheaper than Confluent Cloud, 1.5x cheaper than WarpStream, and 3x cheaper than self-hosted Apache Kafka®.

Connect RPC for JavaScript: Connect-ES 2.0 is now generally available

November 20, 2024

Today, we’re announcing the 2.0 release of the Connect-ES project, the TypeScript implementation of Connect for Web browsers and Node.js. This release introduces improved support for major frameworks and simplified code generation. Connect-ES 2.0 now uses Protobuf-ES 2.0 APIs to leverage reflection, extension registries, and Protobuf custom options. The 2.0 release is a major version bump and comes with breaking changes. Read on to learn what’s changed and how to migrate to the 2.0 release.

Bufstream is the only cloud-native Kafka implementation validated by Jepsen

November 12, 2024

Jepsen's Bufstream report bolsters enterprise use of Buf’s elastic Kafka-compatible streaming platform to enable data quality, enforce governance policies, and cut costs 8x

Connect-Swift 1.0 is now generally available

November 11, 2024

We’re excited to share that Connect-Swift has officially reached v1.0—its first stable release! With this milestone, the library’s battle-tested APIs will remain stable until its next major release. Projects can rely on Connect-Swift without worrying that future releases will cause breakages or require migrations.

Introducing custom lint and breaking change plugins for Buf

September 18, 2024

Buf is introducing custom lint and breaking change plugins via the Bufplugin framework. Check it out to see how easy it is to author, test, and consume your own lint and breaking change rules.

Generated SDKs for C# are now available on the Buf Schema Registry

August 28, 2024

We’re excited to announce that in addition to C++, Go, JavaScript/TypeScript, Java/Kotlin, Python, Swift, and Rust, the Buf Schema Registry now provides generated SDKs for C# via NuGet.

Generated SDKs for C++ are now available on the Buf Schema Registry

August 28, 2024

We’re excited to announce that in addition to C#, Go, JavaScript/TypeScript, Java/Kotlin, Python, Swift, and Rust, the Buf Schema Registry now provides generated SDKs for C++ via CMake.

Protobuf for Javascript: Protobuf-ES 2.0 is now generally available

August 14, 2024

Today we’re announcing the 2.0 release of the Protobuf-ES project, our fully compliant Protobuf implementation for JavaScript and TypeScript. This release introduces full support for Protobuf Editions, new APIs for field presence & default values, TypeScript typing for Protobuf’s JSON Format, a full reflection API, support for Protobuf custom options, and more convenient APIs for managing extension registries. The 2.0 release is a major version bump, and comes with breaking changes. Read on to learn what’s changed and how to migrate to the 2.0 release.

Introducing the new Buf GitHub Action

August 13, 2024

Today, we’re launching the 1.0 release of our new unified GitHub Action, powered by the Buf CLI. This integration streamlines the processes of building, formatting, linting, and checking for breaking changes in your Protobuf schemas. It seamlessly integrates with GitHub's pull request workflow and automatically publishes Protobuf schema changes to the Buf Schema Registry when pull requests are merged.

Bufstream: Kafka at 8x lower cost

July 9, 2024

We're excited to announce the public beta of Bufstream, a drop-in replacement for Apache Kafka deployed entirely in your own VPC that's 8x less expensive to operate.

Generated SDKs for Rust now available on the Buf Schema Registry

June 13, 2024

We’re excited to announce that the Buf Schema Registry now supports generated SDKs for Rust. Our Rust SDK crates are available natively to the Rust ecosystem using a custom crate registry that’s powered by our zero-dependency remote plugins platform.

Connect RPC joins CNCF: gRPC you can bet your business on

June 4, 2024

Connect RPC, Buf’s family of fully protocol-conformant and battle-tested alternatives to Google’s gRPC project, has joined the Cloud Native Computing Foundation. We joined the CNCF to demonstrate our deep commitment to sustainably and responsibly growing Connect as a well-governed and community-led open source project. Today, Connect integrates seamlessly with gRPC systems in production at companies of all sizes, such as CrowdStrike, PlanetScale, RedPanda, Chick-fil-A, BlueSky, and Dropbox.

Connect RPC vs. Google gRPC: Conformance Deep Dive

May 30, 2024

We’ve open sourced Connect RPC’s protocol conformance suite. Connect is a multi-protocol RPC project that includes support for the gRPC and gRPC-Web protocols. Anyone can now use it to validate the correctness of a gRPC implementation. This article explores how the test suite operates and details our findings for a selection of Connect RPC and Google’s gRPC runtimes.

Introducing the next generation of the Buf CLI: still v1 and backwards-compatible

May 17, 2024

The Buf CLI and its associated configuration have been completely overhauled to support monorepos as first-class citizens. Everything we've changed is 100% backwards compatible.

Introducing the newly improved BSR UI and buf push experience

May 17, 2024

We've made it easier to onboard and use the BSR with improved support for monorepos, tighter integration with source control providers, and a new BSR UI that is more polished and has improved accessibility.

Protobuf Editions are here: don’t panic

May 9, 2024

Most Protobuf users should ignore Editions and continue using proto3. If you become an early adopter, we’ve been working closely with Google to ensure that Buf will support editions as soon as they’re generally available.

The BSR now integrates with Kong Insomnia, making gRPC even easier to use

May 3, 2024

Kong Insomnia’s 9.0 release includes integrated support for the Buf Schema Registry. Organizations adopting gRPC can now provide developers first-class GUI tools while keeping schema access simple and secure.

The Buf Schema Registry is now on the AWS and Google Cloud Marketplaces

December 12, 2023

The BSR is the source of truth for your Protobuf APIs, and is the best way to share schemas across repositories, generate consistent code, and integrate Protobuf with Kafka. This launch helps Enterprise customers simplify how they purchase the Buf Schema Registry.

Give clients pre-built native libraries for your APIs with zero effort

December 4, 2023

Produce pre-built client libraries in Go, Java, JS, TS, Swift, Kotlin, and Python out of the box for all of your Protobuf APIs with Buf’s generated SDKs. You’ll never have to explain how to use protoc ever again.

Generated Python SDKs are now available in the BSR

November 29, 2023

Python engineers can now download pre-packaged generated code for their Protobuf schemas from the BSR using package management tools like pip, Poetry, and Conda.

Why a Protobuf schema registry?

November 20, 2023

Learn why teams across industries and sizes have chosen the Buf Schema Registry as the home for their Protobuf schemas.

The real reason to use Protobuf is not performance

November 15, 2023

Fast serialization and small payloads are nice, but schema-driven development is why you’ll adopt Protobuf.

Audit breaking changes with the Buf Schema Registry's governance workflow

November 6, 2023

Enterprise customers can now use the BSR to audit, approve, and reject commits that introduce breaking changes.

Type & path uniqueness policy enforcement for enterprises

September 5, 2023

The BSR can now enforce type and path uniqueness across all modules.

Seamless Gradle integration with the Buf CLI

August 9, 2023

The Buf CLI can now integrate seamlessly with your Gradle builds.

Swift generated SDKs are now available for Xcode and SPM

July 12, 2023

Swift engineers can now download pre-packaged generated code for their Protobuf schemas from the BSR using Xcode and Swift Package Manager.

Governance & breaking change policy enforcement for enterprises

July 10, 2023

The BSR can now enforce breaking change prevention policies across all modules.

Buf generated SDKs now support Java - introducing the Buf Maven repository

May 8, 2023

Launching the Buf Maven repository, supporting Java and Kotlin plugins (including connect-kotlin!)

Introducing Cacheable RPCs in Connect

May 3, 2023

We’ve expanded the Connect protocol to support the use of HTTP GET requests, enabling web browsers and CDNs to cache Connect requests with ease.

Building a modern gRPC-powered microservice using Node.js, Typescript, and Connect

April 27, 2023

Tutorial that covers creating a service, adding a client, testing, adding a database, and writing tests.

Announcing protoc-gen-validate v1.0 and our plans for v2.0

April 24, 2023

A look to the future of Protobuf validation

The Buf Schema Registry is out of beta! Announcing new Buf Schema Registry plans and pricing updates

April 12, 2023

The Buf Schema Registry (BSR) is officially out of beta, and we're launching new pricing plans

Protobuf-ES is the only fully-compliant Protobuf library for JavaScript

March 21, 2023

The results are in: Protobuf-ES passes 99.95% of conformance tests

The BSR now provides a SCIM service for Pro and Enterprise plans

March 16, 2023

Admins can now configure SCIM in their BSR to manage organization enrollments based on IdP security groups.

OpenTelemetry for connect-go: Observability out of the box

March 6, 2023

Add observability to your connect-go applications in just a few lines of code

Connect for Node.js is now available

February 28, 2023

Connect is now full-stack TypeScript

Announcing Connect-Kotlin: Connect is now fully supported on mobile!

February 22, 2023

Connect is now available across mobile for both Android and iOS!

Introducing Connect-Query: Integrate Protobuf with TanStack Query more effectively

February 6, 2023

A TanStack Query extension to seamlessly integrate Protobuf

Introducing the Buf Reflection API & Prototransform

February 2, 2023

A new API and Go library to unlock the power of Protobuf in your data processing.

Speeding up development with BSR drafts

January 25, 2023

To enable engineers to begin iterating quickly using generated code without the need to merge Protobuf schemas to main, we support BSR drafts.

Announcing Connect-Swift: You’ll actually want to use Protobuf on iOS

January 18, 2023

Eliminate handwritten Codable models by generating idiomatic HTTP APIs with Protobuf and Connect-Swift.

Introducing buf curl - Call your gRPC endpoints with the simplicity of buf

January 12, 2023

A new tool to call gRPC, gRPC-Web, and Connect endpoints.

Protobuf-ES has reached version 1.0

January 4, 2023

A stable, idiomatic Protocol Buffers library for TypeScript and JavaScript.

BSR Generated Documentation now supports Protobuf options

December 21, 2022

We are excited to share an update to the Generated Documentation feature within the BSR, which now includes support for most built-in Protobuf options. 🎉

Buf Studio Now Has Favorites!

December 16, 2022

As of today, Buf Studio supports saving requests to your BSR profile.

Remote packages and remote plugins are approaching v1!

December 1, 2022

We've learned a lot from the alpha, and are excited to introduce a new and improved code generation experience.

Protobuf-ES: The Protocol Buffers TypeScript/JavaScript runtime we all deserve

October 28, 2022

An idiomatic Protocol Buffers library for TypeScript and JavaScript is now available.

Buf's New Compiler

October 19, 2022

Buf has a new Protobuf compiler that is faster and more memory-efficient.

The Protobuf Language Specification

September 12, 2022

A comprehensive definition of the language, to empower a vibrant Protobuf ecosystem.

BSR redesign

August 25, 2022

Welcome to the new BSR

Introducing the Buf Language Server

August 19, 2022

Jump to definition with 'bufls'.

Connect-Web: It's time for Protobuf and gRPC to be your first choice in the browser

August 4, 2022

Use connect-web to generate compact, idiomatic TypeScript clients for your Protobuf APIs.

Buf Studio: Interact with gRPC and Protobuf APIs directly from your browser

July 28, 2022

Buf studio is an interactive web UI that lets you easily call your gRPC and Protobuf services from a browser.

Bazel rules

June 20, 2022

Use buf with Bazel.

Connect: A better gRPC

June 1, 2022

Use Connect to build simple, stable, browser and gRPC-compatible APIs.

Introducing buf format

April 4, 2022

Rewrite Protobuf files in-place with 'buf format'.

Remote plugin execution with the Buf Schema Registry

March 9, 2022

Execute plugins on the BSR to enforce consistency and simplify code generation.

The Buf CLI has reached version v1.0

February 23, 2022

A new foundational tool for the Protobuf ecosystem.

Introducing the Buf Schema Registry 🎉

February 2, 2022

The Buf Schema Registry: a platform for managing your Protocol Buffer APIs.

An update on our fundraising

December 8, 2021

We've raised $93M across four rounds to fix Protobuf once and for all.

Buf CLI Now Available for Windows!

August 30, 2021

Binaries for buf, protoc-gen-buf-breaking, and protoc-gen-buf-lint are now available for Windows, starting from v0.54.1!

Document Your APIs and Increase Your Developer Productivity

August 19, 2021

Documentation is a fantastic developer productivity tool that can be applied by all levels of software engineers during the development process.

Authzed Case Study: Maintaining a Stable Protocol Buffers API

June 15, 2021

Our friends at Authzed recently adopted Buf and have given us the honor of writing about their experience.

GitHub Actions for Buf now available

April 20, 2021

Buf's officially supported GitHub Actions make it easier than ever to instrument your CI/CD Protocol Buffers workflows with buf.

API design is stuck in the past

November 12, 2020

The industry has embraced statically typed languages, but API design remains twenty years in the past. Schema driven development presents an opportunity to pull API design into the present.