NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #2314 most downloaded on npm
Protocol Buffers for ECMAScript. Fully compliant with the Protobuf conformance tests.
Last release 7 days ago
11 Sep 2026
Ships fairly regularly
a new release about every 4 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
79 releases · first in 2022
One column per quarter.
This release includes the following:
This release includes the following:
import_extension to replace the .js extension in
import paths by @timostamm in #317@McTano made their first contribution in #311
This release includes the following:
This release includes the following:
PlainMessage or PartialMessage to create message types, you may need to change your code if you are using generics. For example:-type WrapperFn<T extends Message> = (
msg: PartialMessage<T>
) => void;
+type WrapperFn<T extends Message<T>> = (
msg: PartialMessage<T>
) => void;
google.protobuf.Any by @smaye81 in #303v0.3.0 as the import statements will have spaces added. For example:- import {FooMessage} from './foo_message_pb.js';
+ import { FooMessage } from './foo_message_pb.js';
Any.is function by @smaye81 in #294tsNocheck work correctly by @yukukotani in #275@calebdoxsey made their first contribution in #305 @yukukotani made their first contributions in #275 and #279
This patch release fixes bug when parsing Any from JSON. Thanks to @fubhy for catching it.
This patch release fixes bug when parsing Any from JSON. Thanks to @fubhy for catching it.
This release includes the following:
This release includes the following:
#233 - If you have been inspecting fields (DescField) from createDescriptorSet(), you will need to update your code to use the new fieldKind discriminator. The kind property no longer contains values such as map_field and message_field for their respective types of DescField. Instead, a new type has been added named fieldKind, which allows you to further identify the kind of field a DescField represents (map, enum, message, etc.)
#228 - If you have been using createEcmaScriptPlugin to create your own plugin, the signature has changed. Previously, the function accepted a single generator function for generating your output files. This has been split up into separate functions for TypeScript (generateTs), JavaScript (generateJs), and declaration files (generateDts). See the plugin docs for more information on usage.
@fubhy made their first contributions in #254 and #255.
Fix error message in proto2 binary format by @timostamm in #221.
moduleResolution: "NodeNext".This release includes the following:
This release includes the following:
main property by @smaye81 in #20121.5 by @smaye81 in #200PlainMessage type to correctly omit functions by @smaye81 in #195createRegistryFromDescriptors() by @timostamm in #183Respect json_name in messages created from a descriptor set
This release fixes two bugs:
This release switches the code generator from Golang to a TypeScript implementation. There are breaking changes in the generated code and in the refle…
This release switches the code generator from Golang to a TypeScript implementation. There are breaking changes in the generated code and in the reflection API.
createDescriptorSet() provides a nice way to inspect a set of google.protobuf.FileDescriptorProtoclass TypeRegistry is deprecated. Please use createRegistry() instead.class DescriptorRegistry has been replaced by createRegistryFromDescriptors(). The old version is still available as class LegacyDescriptorRegistryclass DescriptorSet has been replaced by createDescriptorSet(). The old version is still available as class LegacyDescriptorSet.makeEnum(), setEnumType() and makeEnumType() have changed slightly for improved enum value names.This release fixes a compatibility issue with webpack v4 and below (https://github.com/bufbuild/protobuf-es/pull/138).
This release fixes a compatibility issue with webpack v4 and below (https://github.com/bufbuild/protobuf-es/pull/138).
This release fixes a bug where transpilation of projects using @bufbuild/protobuf would error when using TypeScript target lower than ES2020, because
This release fixes a bug where transpilation of projects using @bufbuild/protobuf would error when using TypeScript target lower than ES2020, because we left a bigint literal in the source that did not need to be there.
- Remove circular dependencies
Fix CommonJS exports of @bufbuild/protobuf (#117) - Thanks to @zacharygraziano for the report!
- Improve DescriptorRegistry (#77) - Enable tree-shaking
Fix instances for message fields in message constructor
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →