All Versions
51
Latest Version
Avg Release Cycle
92 days
Latest Release
554 days ago

Changelog History
Page 5

  • v6.4.1 Changes

    ๐Ÿ›  Fixed

    0๏ธโƒฃ :hash: Added more default value checks to converter, fixes #616 0๏ธโƒฃ :hash: Respect long defaults in converters ๐Ÿ›  :hash: Convert inner messages and undefined/null values more thoroughly, fixes #615 0๏ธโƒฃ :hash: Always use first defined enum value as field default, fixes #613 ๐Ÿ›  :hash: Install correct 'tmp' dependency when running pbts without dev dependencies installed, fixes #612

    ๐Ÿ†• New

    ๐Ÿ‘€ :hash: Generate named constructors for runtime messages, see #588

    CLI

    ๐Ÿ‘€ :hash: pbjs/pbts no longer generate any volatile headers, see #614

    ๐Ÿ“„ Docs

    :hash: Attempted to make broken shields less annoying โšก๏ธ :hash: Updated README

    Other

    :hash: Some cleanup and added a logo :hash: use $protobuf.Long

  • v6.4.0 Changes

    ๐Ÿ’ฅ Breaking

    ๐Ÿ‘ :hash: Dropped IE8 support ๐Ÿšš :hash: Removed now unused util.longNeq which was used by early static code

    ๐Ÿ›  Fixed

    ๐Ÿ›  :hash: Do not swallow errors in loadSync, also accept negative enum values in Enum#add, fixes #609 ๐Ÿ›  :hash: Improved bytes field support, also fixes #606 ๐Ÿ’ป :hash: Fall back to browser Reader when passing an Uint8Array under node, fixes #605 ๐Ÿ›  :hash: Respect optional properties when writing interfaces in tsd-jsdoc, fixes #598

    ๐Ÿ†• New

    ๐Ÿ‘€ :hash: Instead of protobuf.parse.keepCase, fall back to protobuf.parse.defaults holding all possible defaults, see #608 ๐Ÿ‘€ :hash: Added global ParseOptions#keepCase fallback as protobuf.parse.keepCase, see #608 ๐Ÿ‘ :hash: Converters use code generation and support custom implementations ๐Ÿ‘€ :hash: Be more verbose when throwing invalid wire type errors, see #602 ๐Ÿ‘€ :hash: Added an asJSON-option to always populate array fields, even if defaults=false, see #597 ๐Ÿ‘ :hash: Attempt to improve TypeScript support by using explicit exports ๐Ÿ‘€ :hash: Copy-pasted typescript definitions to micro modules, see #599 ๐Ÿ‘€ :hash: Emit an error on resolveAll() if any extension fields cannot be resolved, see #595 + test case

    CLI

    ๐Ÿ‘€ :hash: Removed 'not recommend' label for --keep-case, see #608 ๐Ÿ‘• :hash: Added customizable linter configuration to pbjs ๐Ÿ‘ :hash: Added stdin support to pbjs and pbts ๐Ÿ‘ :hash: Static code no longer uses IE8 support utility ๐Ÿ‘ :hash: Generated static code now supports asJSON/from ๐Ÿ‘ :hash: Added support for TypeScript enums to pbts :hash: Added a few helpful comments to static code :hash: Slightly beautify statically generated code :hash: Do not wrap main definition as a module and export directly instead :hash: Generate prettier definitions with --no-comments ๐Ÿ‘ :hash: Added variable arguments support to tsd-jsdoc ๐Ÿ‘€ :hash: Reference dependency imports as a module to prevent name collisions, see #596 ๐Ÿšš :hash: Removed now unnecessary comment lines in generated static code

    ๐Ÿ“„ Docs

    ๐Ÿ‘€ :hash: Added notes on CSP-restricted environments to README, see #593

    Other

    ๐Ÿ‘€ :hash: Added test case for asJSON with arrays=true, see #597 ๐Ÿ’ป :hash: Added a tape adapter to assert message equality accross browsers ๐Ÿ”จ :hash: Refactored some internal utility away โช :hash: Reverted previous attempt on #597 ๐Ÿ”จ :hash: Minor tsd-jsdoc refactor ๐Ÿšš :hash: Removed unused sandbox files โšก๏ธ :hash: Updated package.json of micro modules to reference types, see #599 ๐Ÿ‘€ :hash: Reference dependencies as imports in generated typescript definitions, see #596 ๐Ÿ‘€ :hash: Allow null values on optional long fields, see #590 ๐Ÿ‘€ :hash: Various jsdoc improvements and a workaround for d.ts generation, see #592

  • v6.3.1 Changes

    ๐Ÿ›  Fixed

    ๐Ÿ‘€ :hash: Empty inner messages are always present on the wire + test case + removed now unused Writer#ldelim parameter, see #585

    CLI

    ๐Ÿ‘€ :hash: Expose tsd-jsdoc's comments option to pbts as --no-comments, see #587 ๐Ÿ‘€ :hash: Increase child process max buffer when running jsdoc from pbts, see #587 :hash: pbjs now generates more convenient dot-notation property accessors

    Other

    ๐Ÿ›  :hash: And fixed IE8 again (should probably just drop IE8 for good)

  • v6.3.0 Changes

    ๐Ÿ’ฅ Breaking

    ๐Ÿšš :hash: Moved camelCase/underScore away from util to where actually used :hash: Renamed asJSON option keys (enum to enums, long to longs) because enum is a reserved keyword ๐Ÿ‘€ :hash: Moved JSON/Message conversion to its own source file and added Message/Type.from + test case, see #575 :hash: Relicensed the library and its components to BSD-3-Clause to match the official implementation (again) ๐ŸŽ :hash: Dropped support for browser buffer entirely (is an Uint8Array anyway), ensures performance and makes things simpler ๐Ÿšš :hash: Removed dead parts of the Reader API ๐Ÿ”จ :hash: Refactored BufferReader/Writer to their own files and removed unnecessary operations (node always has FloatXXArray and browser buffer uses ieee anyway) ๐Ÿ‘ :hash: Stripped out fallback encoder/decoder/verifier completely (even IE8 supports codegen), significantly reduces bundle size, can use static codegen elsewhere

    ๐Ÿ›  Fixed

    ๐Ÿ“œ :hash: Actually concatenate mixed custom options when parsing ๐Ÿ— :hash: Fixed a couple of issues with alternative browser builds 0๏ธโƒฃ :hash: Properly set long defaults on prototypes ๐Ÿ‘€ :hash: Fixed reference error in minimal runtime, see #580 ๐Ÿ‘€ :hash: Non-repeated empty messages are always present on the wire, see #581 :hash: Properly check Buffer.prototype.set with node v4 ๐Ÿ›  :hash: Prevent NRE and properly annotate verify signature in tsd-jsdoc, fixed #572 :hash: Fix directly using Buffer instead of util.Buffer ๐Ÿ›  :hash: Added filter type to Namespace#lookup, fixes #569 ๐Ÿ‘€ :hash: Fixed parsing enum inner options, see #565 ๐Ÿš€ :hash: Fixed release links in README files

    ๐Ÿ†• New

    ๐Ÿ— :hash: Added a noparse build for completeness :hash: Now compresses .gz files using zopfli to make them useful beyond being just a reference โšก๏ธ :hash: Updated non-bundled google types folder with missing descriptors and added wrappers to core โœ… :hash: Replaced the ieee754 implementation for old browsers with a faster, use-case specific one + simple test case ๐Ÿ‘€ :hash: Added .create to statically generated types and uppercase nested elements to reflection namespaces, see #576 ๐Ÿ‘€ :hash: Also added Namespace#getEnum for completeness, see #576 ๐Ÿ‘€ :hash: Added Namespace#getEnum and changed #lookupEnum to the same behavior, see #576 :hash: Added a heap of coverage comments for usually unused code paths to open things up โœ… :hash: Added codegen test to determine if any ancient browsers don't actually support it ๐Ÿ‘€ :hash: Added legacy groups support to pbjs, see #568 ๐Ÿ‘€ :hash: Initial support for legacy groups + test case, see #568 ๐Ÿ‘€ :hash: Added asJSON bytes as Buffer, see #566

    CLI

    ๐Ÿ‘€ :hash: Annotated callback types in pbjs-generated services, see #582 ๐Ÿšš :hash: Removed type/ns alias comment in static target to not confuse jsdoc unnecessarily ๐Ÿ‘€ :hash: Made pbjs use loadSync for deterministic outputs, see #573

    ๐Ÿ“„ Docs

    ๐Ÿ“š :hash: Updated documentation on runtime and noparse builds ๐Ÿ›  :hash: Fixed an issue with the changelog generator skipping some commits :hash: Added notes on how to use pbjs and pbts programmatically :hash: Manually sorted old changelog entries ๐Ÿ‘€ :hash: Initial changelog generator, see #574 :hash: Added static/JSON module interchangeability to README โšก๏ธ :hash: Updated README and bundler according to dynamic require calls

    Other

    โœ… :hash: Added basic services test case :hash: Just polyfill Buffer.from / .allocUnsafe for good โœ… :hash: Added a test case to find out if all the fallbacks are just for IE8 โœ… :hash: Commented out float assertions in float test including explanation โœ… :hash: Expose array implementation used with (older) browsers on util for tests โšก๏ธ :hash: Updated test cases โœ… :hash: Added assumptions to float test case โšก๏ธ :hash: Updated travis config to use C++11 โšก๏ธ :hash: Updated / added additional LICENSE files where appropriate ๐Ÿ— :hash: Integrated changelog into build process, now also has 'npm run make' for everything, see #574 :hash: Minor optimizations through providing type-hints โช :hash: Reverted shortened switch statements in verifier :hash: Enums can't be map key types ๐Ÿ‘€ :hash: Use custom require (now a micromodule) for all optional modules, see #571 ๐Ÿ‘ :hash: Support usage when size = 0 โช :hash: Reverted aliases frequently used in codegen for better gzip ratio :hash: Shrinked bundle size - a bit :hash: Can finally run with --trace-deopt again without crashes :hash: Other minor optimizations

  • v6.2.1 Changes

    ๐Ÿ†• New

    ๐Ÿ‘€ :hash: Added ParseOptions to protobuf.parse and --keep-case for .proto sources to pbjs, see #564

    Other

    ๐Ÿ‘ :hash: Better TypeScript definition support for @property-annotated objects :hash: Can't just inline longNeq but can be simplified :hash: Array abuse and varint optimization โšก๏ธ :hash: Updated dependencies :hash: Other minor improvements to short ifs :hash: Reader/Writer example

  • v6.2.0 Changes

    ๐Ÿ›  Fixed

    ๐Ÿ‘€ :hash: Fixed reserved names re, also ensure valid service method names, see #559 :hash: Fix d.ts whitespace on empty lines, added tsd-jsdoc LICENSE 0๏ธโƒฃ :hash: Fix asJSON defaults option, make it work for repeated fields. ๐Ÿ›  :hash: Inlined any Reader/Writer#tag calls, also fixes #556 ๐Ÿ— :hash: Fix building default dist files with explicit runtime=false :hash: Apply asJSON recursively ๐Ÿ— :hash: Ensure working reflection class names with minified builds ๐Ÿ‘€ :hash: Lazily resolve (some) cyclic dependencies, see #560

    ๐Ÿ†• New

    ๐Ÿ‘€ :hash: Added protobuf.roots to minimal runtime, see #554 ๐Ÿ‘€ :hash: Repo now includes a restructured version of tsd-jsdoc with our changes incorporated for issues/prs, see #550

    CLI

    โšก๏ธ :hash: Updated pbjs arguments ๐Ÿ‘€ :hash: Pipe tsd-jsdoc output (requires dcodeIO/tsd-jsdoc/master) and respect cwd, see #550 :hash: tsd-jsdoc progress

    ๐Ÿ“„ Docs

    :hash: README

    Other

    :hash: Added GH issue template :hash: Path micromodule, dependencies โœ… :hash: Test case for #556 :hash: Raw alloc benchmark :hash: Other minor optimizations

  • v6.1.1 Changes

    ๐Ÿ›  Fixed

    ๐Ÿ‘€ :hash: Properly encode/decode map kv pairs as repeated messages (codegen and fallback), see #547 ๐Ÿ›  :hash: Make genVerifyKey actually generate conditions for 32bit values and bool, fixes #546 :hash: Fix to generation of verify methods for bytes ๐Ÿ‘€ :hash: Take special care of oneofs when encoding (i.e. when explicitly set to defaults), see #542

    ๐Ÿ†• New

    :hash: Added Message#asJSON option for bytes conversion ๐Ÿ‘€ :hash: Added Namespace#lookupType and Namespace#lookupService (throw instead of returning null), see #544 ๐Ÿ’ป :hash: Provide prebuilt browser versions of the static runtime

    CLI

    ๐Ÿ‘€ :hash: Initial pbts CLI for generating TypeScript definitions, see #550 ๐Ÿ”จ :hash: Refactored json/static-module targets to use common wrappers ๐Ÿ”จ :hash: Refactor cli to support multiple built-in wrappers, added named roots instead of always using global.root and added additionally necessary eslint comments, see #540 ๐Ÿ‘€ :hash: Annotate namespaces generated by static target, see #550 ๐Ÿ‘€ :hash: static target: Basic support for oneof fields, see #542

    ๐Ÿ“„ Docs

    ๐Ÿ“š :hash: Fix to reflection documentation :hash: README on minimal runtime / available downloads :hash: Notes on descriptors vs static modules

    Other

    ๐ŸŽ :hash: A lot of minor optimizations to performance and gzip ratio :hash: Minimized base64 tables

  • v6.1.0 Changes

    ๐Ÿ’ฅ Breaking

    โšก๏ธ :hash: Removed as-function overload for Reader/Writer, profiler stub, optimized version of Reader#int32 ๐Ÿ“š :hash: Refactored Prototype and inherits away, is now Class and Message for more intuitive documentation and type refs

    ๐Ÿ›  Fixed

    โœ… :hash: Fixed failing test case on node < 6 ๐Ÿ›  :hash: Fixed serialization order of sfixed64, fixes #536 ๐Ÿ‘€ :hash: Fixed serialization order of fixed64, fallback to parseInt with no long lib, see #534 ๐Ÿ›  :hash: Actually allow undefined as service method type, fixes #528 ๐Ÿ›  :hash: Do not skip optional delimiter after aggregate options, fixes #520 ๐Ÿ‘€ :hash: Verify empty base64 encoded strings for bytes fields, see #535 :hash: wrong spell role should be rule ๐Ÿ‘€ :hash: decodeDelimited always forks if writer is specified, see #531 ๐Ÿ‘€ :hash: Mimic spec-compliant behaviour in oneof getVirtual, see #523

    ๐Ÿ†• New

    ๐Ÿ‘€ :hash: Initial base64 string support for bytes fields, see #535 ๐Ÿ‘€ :hash: Initial type-checking verifier, see #526, added to bench out of competition ๐Ÿ‘€ :hash: Initial loadSync (node only), see #529 ๐Ÿ‘€ :hash: Initial RPC service implementaion, see #529 ๐Ÿ‘€ :hash: added 'defaults' option to Prototype#asJSON, see #521 ๐Ÿ’ป :hash: Use Uint8Array pool in browsers, just like node does with buffers ๐Ÿ‘€ :hash: Also validate map fields, see #526 (this really needs some tests)

    CLI

    ๐Ÿ‘€ :hash: Added json-module target to pbjs, renamed static to static-module, see #522 โšก๏ธ :hash: updated internals and static target to use immutable objects on prototypes

    ๐Ÿ“„ Docs

    ๐Ÿ‘€ :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 ๐Ÿ‘€ :hash: Added variations for Root#load, see #527 :hash: Added benchmark and profile related information to README ๐Ÿ‘€ :hash: Added service example to README, see #529 โœ… :hash: README on tests โšก๏ธ :hash: Update README/dist to reflect recent changes ๐Ÿ“š :hash: Minimal documentation for micromodules ๐Ÿ‘€ :hash: Document all the callbacks, see #527 :hash: Documented streaming-rpc example a bit

    Other

    ๐Ÿ‘€ :hash: Removed the need for triple-slash references in .d.ts by providing a minimal Long interface, see #527, see #530 :hash: Transition to micromodules ๐Ÿ”จ :hash: Refactored argument order of utf8 for plausibility :hash: Restructured reusable micromodules :hash: Can't use Uint8Array#set on node < 6 buffers โœ… :hash: Test case for #531 ๐Ÿšฆ :hash: Safer signaling for synchronous load, see #529 ๐Ÿšฆ :hash: Proper end of stream signaling to rpcImpl, see #529 ๐Ÿ‘€ :hash: Moved event emitter to util, also accepts listener context, see #529 ๐Ÿ‘€ :hash: Probably the worst form of hiding require programmatically, see #527 ๐Ÿ‘€ :hash: Attempt to hide require('fs') from webpack, see #527 ๐Ÿ‘€ :hash: Trying out jsdoc variations, see #527 :hash: by the way, why not include the json->proto functionality into "util"? โšก๏ธ :hash: Update proto.js :hash: Automatic profile generation and processing ๐Ÿšš :hash: Generalized buffer pool and moved it to util :hash: Make shields visible on npm, yey โ†ช :hash: More shields, I love shields, and maybe a workaround for travis timing out when sauce takes forever :hash: Trying SauceLabs with higher concurrency

  • v6.0.2 Changes

    ๐Ÿ›  Fixed

    ๐Ÿ‘€ :hash: Fix packable float/double see #513

    ๐Ÿ†• New

    โœ… :hash: Handle oneofs in prototype ctor, add non-ES5 fallbacks, test case :hash: Be nice to AMD, allow reconfiguration of Reader/Writer interface

    CLI

    :hash: Initial static codegen target for reference ๐Ÿ‘ :hash: pbjs static target services support :hash: pbjs static target progress, uses customizable wrapper template ๐Ÿ‘€ :hash: Static pbjs target progress, now generates usable CommonJS code, see #512

    ๐Ÿ“„ Docs

    :hash: TypeScript example ๐Ÿ’ป :hash: Adjectives, notes on browserify

    Other

    ๐Ÿ”จ :hash: Refactor runtime util into separate file, reader/writer uses runtime util โšก๏ธ :hash: Also optimize reader with what we have learned :hash: More (shameless) writer over-optimization ๐Ÿ“ฆ :hash: Trading package size for float speed :hash: Skip defining getters and setters on IE8 entirely, automate defining fallbacks :hash: Unified proto/reflection/classes/static encoding API to always return a writer :hash: plain js utf8 is faster for short strings โœ… :hash: improve TypeScript support. add simple test script. ๐Ÿ‘€ :hash: Use long.js dependency in tests, reference types instead of paths in .d.ts see #503 ๐Ÿ‘ :hash: Restructured encoder / decoder to better support static code gen

  • v6.0.1 Changes

    ๐Ÿ›  Fixed

    ๐Ÿ›  :hash: Add support for long strings, fixes #509 ๐Ÿ›  :hash: expose zero on LongBits, fixes #508 ๐Ÿ›  :hash: Fixed issues with Root.fromJSON/#addJSON, search global for Long ๐Ÿ’ป :hash: Properly exclude browserify's annoying _process, again, fixes #502 ๐Ÿ›  :hash: Remember loaded files earlier to prevent race conditions, fixes #501 ๐Ÿ›  :hash: Allow negative enum ids even if super inefficient (encodes as 10 bytes), fixes #499, fixes #500 ๐Ÿ›  :hash: set resolvedResponseType on resolve(), fixes #497

    ๐Ÿ†• New

    ๐Ÿ‘€ :hash: Initial take on runtime services, see #507 ๐Ÿ“ฆ :hash: Include dist/ in npm package for frontend use

    CLI

    โœ… :hash: pbjs proto target field options, language-level compliance with jspb test.proto

    ๐Ÿ“„ Docs

    ๐Ÿ‘€ :hash: always use Uint8Array in docs for tsd, see #503 :hash: Notes on dist files

    Other

    โšก๏ธ :hash: Update eslint env ๐Ÿ“ฆ :hash: Browser field in package.json isn't required