Back to Explore

bufbuild/protobuf-es

GitHub
4 updates · last 90 days1 watchersOpen source

Last release:

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, with upstream pushes and multiple tagged updates in 2026, including recent updates on 2026-08-13, 2026-08-31, and an upstream push on 2026-09-01.
  • Update cadence appears fairly steady for a library release train (roughly every 2 to 6 weeks in the last several months, based on v2.13.0, v2.12.1, v2.12.0, and v2.14.0 through v2.14.1).

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v2.14.1

    v2.14.1 primarily changes how Protobuf-ES handles text encoding when the environment lacks the Text Encoding API. It deprecates configureTextEncoding() and updates documentation to require installing TextEncoder/TextDecoder on globalThis, and it also adjusts the code generator behavior for import_extension handling on relative imports.

    Breaking
  • v2.14.0

    v2.14.0 is presented as a performance and bundle-size reduction release for protobuf-es, with multiple runtime optimizations and benchmark additions. The release notes enumerate the optimization themes (BinaryWriter improvements, base64 and string fast paths, descriptor compilation/caching). The code diff snippets provided also show broader repository and tooling changes, including CI and Node version support adjustments.

    Breaking
  • 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.

    Features
  • v2.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.

    Features
  • v2.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.

    Features
  • v2.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().

    Features
  • v2.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.

    Features
  • v2.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.

    Features
  • v2.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.

    Features
  • v2.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