Protocol Buffers for JavaScript and TypeScript, provided by @bufbuild/protobuf. It focuses on modern, ergonomic message APIs and is described as fully compliant with Protobuf conformance tests, useful for building typed Protobuf-based APIs (including with Connect via generated stubs).
Project status
- Actively maintained, the repository shows recent updates with a last upstream push on 2026-08-11 (and tagged updates in July and June 2026).
- Update cadence appears steady, with updates roughly every 1 to 2 months between v2.12.0 (2026-04-23), v2.12.1 (2026-06-22), and v2.13.0 (2026-07-21).
AI summary generated
Recent updates
v2.13.0
v2.13.0 adds support for the Protobuf Text Format (txtpb) and introduces an experimental enum generation mode to support erasable syntax. It also documents a new `readMaxBytes` option related to size-delimited decoding. The diff also updates conformance tests and documentation around these features.
Featuresv2.12.1
Release v2.12.1 includes a set of runtime correctness fixes around binary and JSON parsing and serialization, including recursion limits, -0.0 float handling, enum range checks, and stricter JSON parsing (duplicate key rejection). The release notes also mention an infrastructure change for GitHub publishing workflow trust and a fix for a dual package type hazard.
Featuresv2.12.0
v2.12.0 updates generated protobuf TypeScript output and improves several runtime parsing and encoding edge cases, including UTF-8 validation and JSON handling. It also regenerates artifacts against protocolbuffers/protobuf v34.0 and updates conformance tests accordingly.
Featuresv2.11.0
v2.11.0 primarily targets JSON (de)serialization correctness and performance, and adds Bun support. The release notes also mention a new plugin option (elide_plugin_version), FieldMask JSON validation fixes, and caching behavior for fromJson().
Featuresv2.10.2
v2.10.2 primarily updates the bundled protobuf tooling, and extends ProtoJSON behavior to allow `google.protobuf.Value.null_value` inside map values. The provided diff shows a large-scale regeneration of protobuf JavaScript output, with many files changed.
v2.10.1
v2.10.1 updates the protobuf-es toolchain by bumping a dependency on @typescript/vfs (documented as moving to 1.6.2). The release notes do not mention any other dependency or code-generation changes.
v2.10.0
v2.10.0 adds google.protobuf.Duration conversion helpers (durationFromMs and durationMs) and improves JSON serialization for Timestamp and Duration, alongside a performance optimization for field sorting. It also updates generated protobuf code to Protocol Buffers v33 and includes a new Deno example with README documentation updates.
Featuresv2.9.0
v2.9.0 is primarily focused on adding Deno support. The code diff shows a new Deno conformance test harness (including generated protobufs and a new GitHub Actions workflow), along with documentation updates to explicitly mention Deno. Many protobuf bundle files are also regenerated, with only the generator metadata comment changing from v2.8.0 to v2.9.0.
Featuresv2.8.0
v2.8.0 is described as adding support for Protobuf Edition 2024 and fixing “valid types” for interstitial references. However, the code diff shows a broad regeneration of bundled google-protobuf JavaScript sources (hundreds of generated _pb.js files), with runtime decoding and serialization behavior changes that are not covered in the release notes.
Featuresv2.7.0
v2.7.0 primarily updates the project to TypeScript 5.9, which changes some generated return types due to upstream lib.d.ts changes. It also drops Node.js 18, expands CI coverage to include Node v24, and includes a bundle-size related optimization around closed enum parsing. A number of toolchain and configuration updates appear to have been done alongside these changes.
Breaking