NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #506 most downloaded on npm
Protocol Buffers for JavaScript & TypeScript.
Last release 1 months ago
27 Aug 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 58 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
14 years old
220 releases · first in 2013
:hash: Removed as-function overload for Reader/Writer, profiler stub, optimized version of Reader#int32 :hash: Refactored Prototype and inherits away,
:hash: Removed as-function overload for Reader/Writer, profiler stub, optimized version of Reader#int32<br /> :hash: Refactored Prototype and inherits away, is now Class and Message for more intuitive documentation and type refs<br />
:hash: Fixed failing test case on node < 6<br /> :hash: Fixed serialization order of sfixed64, fixes #536<br /> :hash: Fixed serialization order of fixed64, fallback to parseInt with no long lib, see #534<br /> :hash: Actually allow undefined as service method type, fixes #528<br /> :hash: Do not skip optional delimiter after aggregate options, fixes #520<br /> :hash: Verify empty base64 encoded strings for bytes fields, see #535<br /> :hash: wrong spell role should be rule<br /> :hash: decodeDelimited always forks if writer is specified, see #531<br /> :hash: Mimic spec-compliant behaviour in oneof getVirtual, see #523<br />
:hash: Initial base64 string support for bytes fields, see #535<br /> :hash: Initial type-checking verifier, see #526, added to bench out of competition<br /> :hash: Initial loadSync (node only), see #529<br /> :hash: Initial RPC service implementaion, see #529<br /> :hash: added 'defaults' option to Prototype#asJSON, see #521<br /> :hash: Use Uint8Array pool in browsers, just like node does with buffers<br /> :hash: Also validate map fields, see #526 (this really needs some tests)<br />
:hash: Added json-module target to pbjs, renamed static to static-module, see #522<br /> :hash: updated internals and static target to use immutable objects on prototypes<br />
:hash: Added a couple of alternative signatures, protobuf.load returns promise or undefined, aliased Reader/Writer-as-function signature with Reader/Writer.create for typed dialects, see #518<br /> :hash: Added variations for Root#load, see #527<br /> :hash: Added benchmark and profile related information to README<br /> :hash: Added service example to README, see #529<br /> :hash: README on tests<br /> :hash: Update README/dist to reflect recent changes<br /> :hash: Minimal documentation for micromodules<br /> :hash: Document all the callbacks, see #527<br /> :hash: Documented streaming-rpc example a bit<br />
:hash: Removed the need for triple-slash references in .d.ts by providing a minimal Long interface, see #527, see #530<br /> :hash: Transition to micromodules<br /> :hash: Refactored argument order of utf8 for plausibility<br /> :hash: Restructured reusable micromodules<br /> :hash: Can't use Uint8Array#set on node < 6 buffers<br /> :hash: Test case for #531<br /> :hash: Safer signaling for synchronous load, see #529<br /> :hash: Proper end of stream signaling to rpcImpl, see #529<br /> :hash: Moved event emitter to util, also accepts listener context, see #529<br /> :hash: Probably the worst form of hiding require programmatically, see #527<br /> :hash: Attempt to hide require('fs') from webpack, see #527<br /> :hash: Trying out jsdoc variations, see #527<br /> :hash: by the way, why not include the json->proto functionality into "util"?<br /> :hash: Update proto.js<br /> :hash: Automatic profile generation and processing<br /> :hash: Generalized buffer pool and moved it to util<br /> :hash: Make shields visible on npm, yey<br /> :hash: More shields, I love shields, and maybe a workaround for travis timing out when sauce takes forever<br /> :hash: Trying SauceLabs with higher concurrency<br />
One column per quarter.
:hash: Fix packable float/double see #513
:hash: Fix packable float/double see #513<br />
:hash: Handle oneofs in prototype ctor, add non-ES5 fallbacks, test case<br /> :hash: Be nice to AMD, allow reconfiguration of Reader/Writer interface<br />
:hash: Initial static codegen target for reference<br /> :hash: pbjs static target services support<br /> :hash: pbjs static target progress, uses customizable wrapper template<br /> :hash: Static pbjs target progress, now generates usable CommonJS code, see #512<br />
:hash: TypeScript example<br /> :hash: Adjectives, notes on browserify<br />
:hash: Refactor runtime util into separate file, reader/writer uses runtime util<br /> :hash: Also optimize reader with what we have learned<br /> :hash: More (shameless) writer over-optimization<br /> :hash: Trading package size for float speed<br /> :hash: Skip defining getters and setters on IE8 entirely, automate defining fallbacks<br /> :hash: Unified proto/reflection/classes/static encoding API to always return a writer<br /> :hash: plain js utf8 is faster for short strings<br /> :hash: improve TypeScript support. add simple test script.<br /> :hash: Use long.js dependency in tests, reference types instead of paths in .d.ts see #503<br /> :hash: Restructured encoder / decoder to better support static code gen<br />
:hash: Add support for long strings, fixes #509 :hash: expose zero on LongBits, fixes #508 :hash: Fixed issues with Root.fromJSON/#addJSON, search glo
:hash: Add support for long strings, fixes #509<br /> :hash: expose zero on LongBits, fixes #508<br /> :hash: Fixed issues with Root.fromJSON/#addJSON, search global for Long<br /> :hash: Properly exclude browserify's annoying _process, again, fixes #502<br /> :hash: Remember loaded files earlier to prevent race conditions, fixes #501<br /> :hash: Allow negative enum ids even if super inefficient (encodes as 10 bytes), fixes #499, fixes #500<br /> :hash: set resolvedResponseType on resolve(), fixes #497<br />
:hash: Initial take on runtime services, see #507<br /> :hash: Include dist/ in npm package for frontend use<br />
:hash: pbjs proto target field options, language-level compliance with jspb test.proto<br />
:hash: always use Uint8Array in docs for tsd, see #503<br /> :hash: Notes on dist files<br />
:hash: Update eslint env<br /> :hash: Browser field in package.json isn't required<br />
New API with a flat module structure
PRs welcome!
Backported the ReDoS fix originally in 6.8.6 to 5.0.3.
Backported the ReDoS fix originally in 6.8.6 to 5.0.3.
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
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
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
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
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
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
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
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
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
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
Nothing published for this version
Batch String.fromCharCode in @protobufjs/utf8 read
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 →