<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/protovalidate-is-now-v1-0-buf-cx7ove2bp" -->

---
title: Protovalidate is now v1.0 · Buf | daily.dev
description: Protovalidate, the semantic validation library for Protobuf built by Buf, has reached v1.0 after two years of development. It lets developers define validation...
canonical: https://daily.dev/posts/protovalidate-is-now-v1-0-buf-cx7ove2bp
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Protovalidate is now v1.0 · Buf | daily.dev
og:description: Protovalidate, the semantic validation library for Protobuf built by Buf, has reached v1.0 after two years of development. It lets developers define validation...
og:url: https://daily.dev/posts/protovalidate-is-now-v1-0-buf-cx7ove2bp
og:image: https://api.daily.dev/og/posts/CX7ovE2BP.png
og:image:alt: Protovalidate is now v1.0 · Buf
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Protovalidate is now v1.0 · Buf

**[Buf Blog](https://daily.dev/sources/buf)** · 5 min read · 0 upvotes · 0 comments

## Summary

Protovalidate, the semantic validation library for Protobuf built by Buf, has reached v1.0 after two years of development. It lets developers define validation rules directly on Protobuf schemas using standard annotations and CEL expressions for custom logic, enforcing data quality consistently across Go, Java, Python, C++, and TypeScript. Companies including Microsoft, F5, GitLab, CoreWeave, and Nike already use it in production. It succeeds protoc-gen-validate (PGV), originally from Lyft and maintained by Envoy, and a migration guide is available for teams moving off PGV. Future plans include deeper RPC framework integration, richer validation semantics, and better tooling like the Protovalidate playground.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://buf.build/blog/protovalidate-v1>

## Questions this post answers

### What is Protovalidate and how is it different from protoc-gen-validate?

Protovalidate is a semantic validation library for Protobuf that lets you define validation rules directly on schemas using standard annotations and CEL expressions, without generating custom validation code per language. It succeeds protoc-gen-validate (PGV), originally built at Lyft and maintained by Envoy, whose code-generation-based architecture became harder to extend; Protovalidate instead uses CEL for consistent, composable rules across Go, Java, Python, C++, and TypeScript.

_Comparing schema validation approaches for Protobuf services gets easier with context like this on daily.dev._

### Has Protovalidate reached a stable v1.0 release yet?

Yes, Protovalidate reached v1.0 after two years of development, with Buf committing to project stability so upgrades will not introduce breaking changes. It is available in Go, Java, Python, C++, and TypeScript, and is already used in production by companies including Microsoft, F5, GitLab, CoreWeave, Eurostar, ANZ, Bayer, Nike, and Cerbos.

_Track library stability milestones like this one before locking in a validation dependency, right on daily.dev._

### How do I migrate from protoc-gen-validate to Protovalidate?

A dedicated migration guide is provided for teams moving from protoc-gen-validate (PGV) to Protovalidate, covering the shift from PGV's code-generation model to Protovalidate's annotation-and-CEL approach. Protovalidate integrates with Connect, gRPC, and Bufstream, and supports the same five languages PGV historically targeted.

_Planning a migration off a deprecated validation tool is smoother with resources surfaced on daily.dev._

## Similar posts on daily.dev

- [A faster Protovalidate · Buf](https://daily.dev/posts/a-faster-protovalidate-buf-skhp41uy2) · Buf Blog · 15 upvotes · 1 comments
- [Protobuf, JSON Schema, and OpenAPI · Buf](https://daily.dev/posts/protobuf-json-schema-and-openapi-buf-00wgyenfv) · Buf Blog · 7 upvotes · 0 comments
- [The modern Protobuf workflow · Buf](https://daily.dev/posts/the-modern-protobuf-workflow-buf-c2m7gywhe) · Buf Blog · 1 upvotes · 0 comments
- [Google Protocol Buffers flaw turns schemas into shells](https://daily.dev/posts/google-protocol-buffers-flaw-turns-schemas-into-shells-ssmnskxpa) · CSO Online · 8 upvotes · 0 comments
- [Critical flaw in Protobuf library enables JavaScript code execution](https://daily.dev/posts/critical-flaw-in-protobuf-library-enables-javascript-code-execution-1jn7mj8hc) · BleepingComputer · 7 upvotes · 1 comments

---

Tags: [#backend](https://daily.dev/tags/backend), [#golang](https://daily.dev/tags/golang), [#grpc](https://daily.dev/tags/grpc)

[View this post on daily.dev](https://daily.dev/posts/protovalidate-is-now-v1-0-buf-cx7ove2bp)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Protovalidate is now v1.0 · Buf","url":"https://daily.dev/posts/protovalidate-is-now-v1-0-buf-cx7ove2bp","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/protovalidate-is-now-v1-0-buf-cx7ove2bp"},"datePublished":"2026-08-23T07:20:10.916Z","dateModified":"2026-08-23T07:21:26.586Z","description":"Protovalidate, the semantic validation library for Protobuf built by Buf, has reached v1.0 after two years of development. It lets developers define validation...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/061f2bb78e730e662b40f57eb47e026a?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/061f2bb78e730e662b40f57eb47e026a?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Buf Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Buf Blog","logo":"https://media.daily.dev/image/upload/s--2YBgo_Nm--/f_auto,q_auto/v1787469605/logos/buf?_a=BAMAMicg0","url":"https://daily.dev/sources/buf"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/protovalidate-is-now-v1-0-buf-cx7ove2bp","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"backend,golang,grpc","timeRequired":"PT5M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Buf Blog","item":"https://daily.dev/sources/buf"},{"@type":"ListItem","position":3,"name":"Protovalidate is now v1.0 · Buf"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/protovalidate-is-now-v1-0-buf-cx7ove2bp#faq","mainEntity":[{"@type":"Question","name":"What is Protovalidate and how is it different from protoc-gen-validate?","acceptedAnswer":{"@type":"Answer","text":"Protovalidate is a semantic validation library for Protobuf that lets you define validation rules directly on schemas using standard annotations and CEL expressions, without generating custom validation code per language. It succeeds protoc-gen-validate (PGV), originally built at Lyft and maintained by Envoy, whose code-generation-based architecture became harder to extend; Protovalidate instead uses CEL for consistent, composable rules across Go, Java, Python, C++, and TypeScript. Comparing schema validation approaches for Protobuf services gets easier with context like this on daily.dev."}},{"@type":"Question","name":"Has Protovalidate reached a stable v1.0 release yet?","acceptedAnswer":{"@type":"Answer","text":"Yes, Protovalidate reached v1.0 after two years of development, with Buf committing to project stability so upgrades will not introduce breaking changes. It is available in Go, Java, Python, C++, and TypeScript, and is already used in production by companies including Microsoft, F5, GitLab, CoreWeave, Eurostar, ANZ, Bayer, Nike, and Cerbos. Track library stability milestones like this one before locking in a validation dependency, right on daily.dev."}},{"@type":"Question","name":"How do I migrate from protoc-gen-validate to Protovalidate?","acceptedAnswer":{"@type":"Answer","text":"A dedicated migration guide is provided for teams moving from protoc-gen-validate (PGV) to Protovalidate, covering the shift from PGV's code-generation model to Protovalidate's annotation-and-CEL approach. Protovalidate integrates with Connect, gRPC, and Bufstream, and supports the same five languages PGV historically targeted. Planning a migration off a deprecated validation tool is smoother with resources surfaced on daily.dev."}}]}
```

