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

Changelog History
Page 3

  • v6.8.1 Changes

    November 27, 2017

    ๐Ÿ›  Fixed

    ๐Ÿ‘€ :hash: Prevent invalid JSDoc names when generating service methods, see #870 ๐Ÿ‘€ :hash: Prevent parse errors when generating service method names, see #870 ๐Ÿ“œ :hash: Support parsing nested option-values with or without ':' (#951, fixes #946) ๐Ÿ›  :hash: Add support for reserved keyword in enums (#950, fixes #949) โœ… :hash: Unified safe property escapes and added a test for #834 :hash: Fix codegen if type name starts with "Object" ๐Ÿ›  :hash: Fixed dependency for json-module to use "light". ๐Ÿ›  :hash: Basic support for URL prefixes in google.protobuf.Any types. ๐Ÿ‘• :hash: fixed 'error is not defined linter warning when using static/static-module and es6 ๐Ÿ›  :hash: Fixed wrong type_url for any type (no leading '.' allowed). ๐Ÿ›  :hash: Fixed fromObject() for google.protobuf.Any types. :hash: Handle case where 'extendee' is undefined in ext/descriptor

    CLI

    :hash: Sanitize CR-only line endings (coming from jsdoc?) :hash: Make sure enum typings become generated (#884 didn't solve this) ๐Ÿšš :hash: Remove exclude and include patterns from jsdoc config 0๏ธโƒฃ :hash: Skip defaults when generating proto3 ๐Ÿ‘€ :hash: Wait for both the 'end' and 'close' event to happen before finishing in pbts, see #863 :hash: Accept null for optional fields in generated static code :hash: Annotate TS classes with @implements :hash: Annotate virtual oneofs as string literal unions

    ๐Ÿ†• New

    :hash: Also check for reserved ids and names in enums ๐Ÿ‘ :hash: Also support 'reserved' in enum descriptors

    Other

    ๐Ÿ“ฆ :hash: Include just relevant files in npm package, fixes #781 ๐Ÿ— :hash: Fix travis build

  • v6.8.0 Changes

    June 09, 2017

    ๐Ÿ’ฅ Breaking

    ๐Ÿšš :hash: Replaced Buffer and Long types with interfaces and removed stubs ๐Ÿšš :hash: Removed Message#toObject in favor of having just the static version (unnecessary static code otherwise) :hash: Everything uses interfaces now instead of typedefs (SomethingProperties is now ISomething) :hash: ReflectionObject#toJSON properly omits explicit undefined values :hash: Initial implementation of TypeScript decorators ๐Ÿ”จ :hash: Refactored protobuf.Class away :hash: TypeScript definitions now have (a lot of) generics ๐Ÿšš :hash: Removed deprecated features

    ๐Ÿ›  Fixed

    ๐Ÿ›  :hash: Added 'undefined' besides 'null' as a valid value of an optional field, fixes #826 ๐Ÿ‘€ :hash: Fixed an issue with codegen typings, see #819 ๐Ÿ›  :hash: Ported utf8 chunking mechanism to base64 as well, fixes #800 ๐Ÿ›  :hash: Also be more verbose when defining properties for ES6, fixes #820 ๐Ÿ›  :hash: Generate more verbose JSDoc comments for ES6 support, fixes #820 ๐Ÿ›  :hash: Emit a maximum of one error var when generating verifiers, fixes #786 ๐Ÿ›  :hash: Fixed missing semicolon after 'extensions' and 'reserved' when generating proto files, fixes #810 ๐Ÿ›  :hash: Call npm with '--no-bin-links' when installing CLI deps, fixes #823 :hash: Fix Reader argument conversion in static module ๐Ÿ›  :hash: Use JSDoc, they said, it documents code, they said. Fixes #770 ๐Ÿ‘€ :hash: parser should not confuse previous trailing line comments with comments for the next declaration, see #762 ๐Ÿ›  :hash: Types should not clear constructor with cache (fixes decorators) :hash: Namespace#lookup should also check in nested namespaces (wtf) ๐Ÿ‘ :hash: Reader#bytes should also support plain arrays :hash: Fix markdown for pipe in code in table

    ๐Ÿ†• New

    โฌ†๏ธ :hash: Upgrade to codegen 2 ๐Ÿ‘€ :hash: ext/descriptor enables interoperability between reflection and descriptor.proto (experimental), see #757 ๐Ÿ“š :hash: Added 'json' conversion option for proto3 JSON mapping compatibility of NaN and Infinity + additional documentation of util.toJSONOptions, see #351

    CLI

    :hash: Use protobuf/minimal when pbjs target is static-module :hash: Added closure wrapper ๐Ÿ›  :hash: Various improvements to statically generated JSDoc, also fixes #772 :hash: Check incompatible properties for namespaces only in tsd-jsdoc :hash: Additional tsd-jsdoc handling of properties inside of namespaces and TS specific API exposure :hash: Several improvements to tsd-jsdoc emitted comments :hash: Further TypeScript definition improvements :hash: Relieved tsd files from unnecessary comments :hash: Generate TS namespaces for vars and functions with properties :hash: Prefer @tstype over @type when generating typedefs (tsd-jsdoc)

    ๐Ÿ“„ Docs

    ๐Ÿ›  :hash: Replaced nullable types with explicit type|null for better tooling compatibility, also fixes #766 and fixes 767 ๐Ÿ‘€ :hash: Added more info to ext/descriptor README, see #757 :hash: Additional notes on ext/descriptor โšก๏ธ :hash: Updated CHANGELOG so everyone knows what's going on (and soon, breaking) ๐Ÿ“„ :hash: Additional docs on TS/decorators usage

    Other

    โšก๏ธ :hash: Updated dist files ๐Ÿ”’ :hash: Added package-lock.json :hash: Minor formatting :hash: Generate files ๐Ÿšš :hash: Remove the no-constructor arg ๐Ÿšš :hash: Remove the ctor option. ๐Ÿ‘ :hash: Add support to generate types for JSON object. ๐ŸŽ :hash: aspromise performance pass ๐ŸŽ :hash: codegen 2 performance pass, #653 might benefit ๐Ÿ›  :hash: Fixed minimal library including reflection functionality :hash: Minor compression ratio tuning โœ… :hash: Fixed failing test case + coverage :hash: Improved fromObject wrapper for google.protobuf.Any. โœ… :hash: Fixed failing tokenize test case ๐Ÿ— :hash: Removed debug build, made it an extension :hash: Regenerated dist files ๐Ÿ“š :hash: Even more documentation and typings for ext/descriptor ๐Ÿ“„ :hash: ext/descriptor docs :hash: Decorators coverage ๐Ÿ‘€ :hash: ext/descriptor support for various standard options, see #757 ๐Ÿ‘€ :hash: ext/descriptor passes descriptor.proto test with no differences, see #757 ๐Ÿšš :hash: Properly remove unnecessary (packed) options from JSON descriptors ๐Ÿ‘€ :hash: Use typedefs in ext/descriptor (like everywhere else), see #757 ๐Ÿ‘€ :hash: Fixed obvious issues with ext/descriptor, does not throw anymore when throwing descriptor.proto itself at it, see #757 ๐Ÿ‘€ :hash: Added still missing root traversal to ext/descriptor, see #757 ๐Ÿ‘€ :hash: Initial map fields support for ext/descriptor, see #757 ๐Ÿ‘ :hash: Added infrastructure for TypeScript support of extensions :hash: TypeScript generics improvements ๐Ÿ‘€ :hash: More ext/descriptor progress, see #757 :hash: Just export the relevant namespace in ext/descriptor ๐Ÿ‘€ :hash: Initial descriptor.proto extension for reflection interoperability, see #757 ๐Ÿ‘€ :hash: Moved custom wrappers to its own module instead, also makes the API easier to use manually, see #677 ๐Ÿ‘€ :hash: Added infrastructure for custom wrapping/unwrapping of special types, see #677 :hash: More decorator progress (MapField.d, optional Type.d) ๐Ÿ‘ :hash: tsd-jsdoc now has limited generics support

  • v6.7.3 Changes

    Other

    ๐Ÿ‘€ :hash: long, @types/long and @types/node are just dependencies, see #753

  • v6.7.2 Changes

    ๐Ÿ†• New

    ๐Ÿ‘€ :hash: Split up NamespaceDescriptor to make nested plain namespaces a thing, see #749

    ๐Ÿ“„ Docs

    :hash: More README :hash: Replaced 'runtime message' with 'message instance' for clarity :hash: Rephrased the Usage section around the concept of valid messages :hash: Added toolset diagram to README

    Other

    :hash: Touched benchmark output metrics once more โœ… :hash: Fixed failing browser test ๐Ÿ™‹โ€โ™‚ :hash: Output more human friendly metrics from benchmark :hash: Stripped down static bench code to what's necessary :hash: Revamped benchmark, now also covers Google's JS implementation โšก๏ธ :hash: Updated dependencies and dist files

  • v6.7.1 Changes

    ๐Ÿ†• New

    ๐Ÿ‘€ :hash: Made .verify behave more like .encode, see #710

    CLI

    ๐Ÿ‘€ :hash: With null/undefined eliminated by constructors and .create, document message fields as non-optional where applicable (ideally used with TS & strictNullChecks), see #743 ๐Ÿ‘€ :hash: Renamed --strict-long/message to --force-long/message with backward compatible aliases, see #741 ๐Ÿ‘€ :hash: Keep $Properties with --strict-message but require actual instances within, see #741 ๐Ÿ‘€ :hash: Added --strict-message option to pbjs to strictly reference message instances instead of $Properties, see #741

    ๐Ÿ“„ Docs

    :hash: Restructured README ๐Ÿ‘€ :hash: Added more information on typings usage, see #744 ๐Ÿ‘€ :hash: Clarified typescript example in README, see #744 ๐Ÿ‘€ :hash: Clarified that the service API targets clients consuming a service, see #742

    Other

    ๐Ÿ‘€ :hash: Omit copying of undefined or null in constructors and .create, see #743

  • v6.7.0 Changes

    ๐Ÿ’ฅ Breaking

    :hash: Namespace#lookupEnum should actually look up the reflected enum and not just its values ๐Ÿ‘€ :hash: Decoder now throws if required fields are missing, see #695 / #696

    ๐Ÿ›  Fixed

    ๐Ÿ›  :hash: Added functionality to filter for multiple types at once in lookup(), used by lookupTypeOrEnum(), fixes #740 ๐Ÿ‘€ :hash: Ensure that fields have been resolved when looking up js types in static target, see #731 ๐Ÿ›  :hash: Properly copy fields array before sorting in toObject, fixes #729 ๐Ÿ‘€ :hash: Actually emit TS compatible enums in static target if not aliases, see #720 ๐Ÿ‘€ :hash: Hardened tokenize/parse, esp. comment parsing, see #713 ๐Ÿ‘€ :hash: Exclude any fields part of some oneof when populating defaults in toObject, see #710 ๐Ÿ‘€ :hash: Most of the parser is not case insensitive, see #705 ๐Ÿ‘€ :hash: Retain options argument in Root#load when used with promises, see #684

    ๐Ÿ†• New

    ๐Ÿ‘ :hash: Created a micromodule from (currently still bundled) float support ๐Ÿ‘€ :hash: util.isset(obj, prop) can be used to test if a message property is considered to be set, see #728 ๐Ÿ‘€ :hash: Implemented stubs for long.js / node buffers to be used where either one isn't wanted, see #718 :hash: Simplified reusing / replacing internal constructors ๐Ÿ‘€ :hash: Constructors/.create always initialize proper mutable objects/arrays, see #700 ๐Ÿ‘€ :hash: Verifiers return an error if multiple fields part of the same oneof are set, see #710 ๐Ÿ‘€ :hash: Added oneofs: true to ConversionOptions, see #710 ๐Ÿ‘€ :hash: Optional fields handle null just like undefined regardless of type see #709 ๐Ÿ‘€ :hash: Encoders no longer examine virtual oneof properties but encode whatever is present, see #710 ๐Ÿ‘€ :hash: pbjs now generates multiple exports when using ES6 syntax, see #686 :hash: Sequentially serialize fields ordered by id, as of the spec. :hash: decode throws specific ProtocolError with a reference to the so far decoded message if required fields are missing + example ๐Ÿ‘€ :hash: Reader.create asserts that buffer is a valid buffer, see #695

    CLI

    ๐Ÿ‘€ :hash: Exclude JSDoc on typedefs from generated d.ts files because typescript@next, see #737 ๐Ÿ‘€ :hash: Prepare static code with estraverse instead of regular expressions, see #732 ๐Ÿ‘€ :hash: Moved tsd-jsdoc to future cli package, see #716 ๐Ÿ‘€ :hash: $Properties are just a type that's satisfied, not implemented, by classes, see #723 :hash: More progress on decoupling the CLI ๐Ÿ‘€ :hash: Fixed computed array indexes not being renamed in static code, see #726 ๐Ÿ‘€ :hash: Check upfront if key-var is required in static decoders with maps, see #726 ๐Ÿ‘€ :hash: Fixed handling of stdout if callback is specified, see #724 ๐Ÿ‘€ :hash: Preparations for moving the CLI to its own package, see #716 ๐Ÿ‘€ :hash: Properly implement $Properties interface in JSDoc, see #723 ๐Ÿ‘€ :hash: Recursively use $Properties inside of $Properties in static code, see #717 ๐Ÿ‘€ :hash: Added --strict-long option to pbjs to always emit 'Long' instead of 'number|Long' (only relevant with long.js), see #718 ๐Ÿ‘€ :hash: Statically emitted long type is 'Long' now instead of '$protobuf.Long', see #718 ๐Ÿ‘€ :hash: Decoupled message properties as an interface in static code for TS intellisense support, see #717 ๐Ÿ‘€ :hash: Static code statically resolves types[..], see #715

    ๐Ÿ“„ Docs

    :hash: Added type definitions for all possible JSON descriptors ๐Ÿ“ฆ :hash: Explained the JSON structure in README and moved CLI specific information to the CLI package ๐Ÿ‘€ :hash: Added information on how to use the stubs to README, see #718 :hash: Added 'What is a valid message' section to README :hash: Added a hint on using .create to initial example :hash: Even more usage for README :hash: Additional information on general usage (README) :hash: Restructured README to Installation, Usage and Examples sections :hash: Added a longish section on the correct use of the toolset to README ๐Ÿ‘€ :hash: Added a few additional notes on core methods to README, see #710 ๐Ÿ‘€ :hash: Extended traverse-types example, see #693 ๐Ÿ‘ :hash: Better explain how .verify, .encode and .decode are connected ๐Ÿ‘€ :hash: Documented that Type#encode respectively Message.encode do not implicitly .verify, see #696 [ci-skip] :hash: Documented throwing behavior of Reader.create and Message.decode ๐Ÿ‘€ :hash: Added error handling notes to README, see #696

    Other

    :hash: Use @protobufjs/float :hash: Rebuilt dist files for 6.7.0 โšก๏ธ :hash: Updated deps, ts fixes and regenerated dist files ๐Ÿ”€ :hash: Manually merged gentests improvements, fixes #733 ๐Ÿ‘€ :hash: Make sure that util.Long is overridden by AMD loaders only if present, see #730 :hash: Coverage for util.isset and service as a namespace :hash: Shortened !== undefined && !== null to equivalent != null in static code ๐Ÿ‘€ :hash: With stubs in place, 'number|Long' return values can be just 'Long' instead, see #718 ๐Ÿ‘€ :hash: Just alias as the actual ideal type when using stubs, see #718 โœ… :hash: General cleanup + regenerated dist/test files ๐Ÿ‘€ :hash: Simplified camel case regex, see #714 :hash: Regenerated dist files and changelog for 6.7.0 ๐Ÿ‘€ :hash: Retain alias order in static code for what it's worth, see #712 ๐Ÿ’… :hash: Everything can be block- or line-style when parsing, see #713 ๐Ÿ‘€ :hash: Determine necessary aliases depending on config, see #712 :hash: Use more precise types for message-like plain objects :hash: Regenerated dist files :hash: Regenerated relevant files ๐Ÿšš :hash: Moved field comparer to util โšก๏ธ :hash: Updated tests to use new simplified encoder logic โšก๏ธ :hash: Updated path to tsd-jsdoc template used by pbts, see #707 ๐Ÿ”ง :hash: Additional restructuring for moving configuration files out of the root folder ๐Ÿ‘€ :hash: Added codegen support for constructor functions, see #700 โœ… :hash: Attempted to fix broken custom error test :hash: Trying out a more aggressive aproach for custom error subclasses ๐Ÿšš :hash: Moved a few things out of the root folder :hash: Coverage for encoder compat. / protocolerror โšก๏ธ :hash: Updated dist and generated test files ๐Ÿ‘• :hash: Added tslint :hash: Exclude dist/ from codeclimate checks ๐Ÿ‘• :hash: Also lint cli utilities :hash: Cache any regexp instance (perf) :hash: Use code climate badges โšก๏ธ :hash: Updated travis to pipe to codeclimate, coverage ๐Ÿ‘• :hash: More precise linter configuration :hash: Added codeclimate ๐Ÿšš :hash: Moved cli deps placeholder creation to post install script

  • v6.6.5 Changes

    ๐Ÿ›  Fixed

    ๐Ÿ‘€ :hash: sfixed64 is not zig-zag encoded, see #692

    CLI

    :hash: Added a placeholder to cli deps node_modules folder to make sure node can load from it

    Other

    โœ… :hash: Restructured a few failing tests ๐Ÿ“š :hash: Traversal example + minimalistic documentation :hash: Added a custom getters/setters example for gRPC

  • v6.6.4 Changes

    ๐Ÿ›  Fixed

    ๐Ÿ›  :hash: Made sure that LongBits ctor is always called with unsigned 32 bits + static codegen compat., fixes #690 ๐Ÿ‘€ :hash: Properly handle multiple ../.. in path.normalize, see #688 ๐Ÿ”€ :hash: Post-merge, also tackles #683 (packed option for repeated enum values)

    ๐Ÿ†• New

    ๐Ÿ‘€ :hash: Verify accepts non-null objects only, see #685 โœ… :hash: allow_alias enum option was not being honored. This case is now handled and a test case was added

    CLI

    ๐Ÿ“œ :hash: Added an experimental --sparse option to limit pbjs output to actually referenced types within main files

    ๐Ÿ“„ Docs

    ๐Ÿ‘€ :hash: Added explicit hint on Uint8Array to initial example, see #670

    Other

    ๐Ÿ‘€ :hash: Ranges and names support for reserved fields, see #676 โšก๏ธ :hash: Updated depdendencies / rebuilt dist files :hash: Use ?: instead of |undefined in .d.ts files :hash: Mark optional fields as possibly being undefined ๐Ÿ‘€ :hash: Added a few more common google types from google/api, see #433 ๐Ÿ— :hash: Minor optimizations to dependencies, build process and tsd

  • v6.6.3 Changes

    ๐Ÿ›  Fixed

    ๐Ÿ‘€ :hash: Support node 4.2.0 to 4.4.7 buffers + travis case, see #665

    CLI

    ๐Ÿ‘€ :hash: Added ES6 syntax flag to pbjs, see #667

    ๐Ÿ“„ Docs

    ๐Ÿ‘€ :hash: Reference Buffer for BufferReader/Writer, see #668 :hash: Slightly shortened README ๐Ÿ‘€ :hash: Additional notes on the distinction of different use cases / distributions, see #666 :hash: Extended README with additional information on JSON format ๐Ÿ‘€ :hash: Added extended usage instructions for TypeScript and custom classes to README, see #666

    Other

    โšก๏ธ :hash: Updated dist files โšก๏ธ :hash: Updated test cases to use new buffer util โœ… :hash: Added fetch test cases + some test cleanup

  • v6.6.2 Changes

    ๐Ÿ›  Fixed

    ๐Ÿ‘€ :hash: Properly replace short vars when beautifying static code, see #663 ๐Ÿ‘€ :hash: Use custom prelude in order to exclude any module loader code from source (for webpack), see #658 ๐Ÿ‘€ :hash: Make sure to check optional inner messages for null when encoding, see #658

    ๐Ÿ†• New

    ๐Ÿ‘€ :hash: Initial attempt on a backwards compatible fetch implementation with binary support, see #661

    Other

    ๐Ÿ‘€ :hash: Root#resolvePath skips files when returning null, see #368 :hash: Changes callback on failed response decode in rpc service to pass actual error instead of 'error' string โœ… :hash: Travis should exit with the respective error when running sauce tests ๐Ÿšš :hash: Moved checks whether a test case is applicable to parent case โšก๏ธ :hash: Added eventemitter tests and updated micromodule dependencies (so far) โšก๏ธ :hash: Added lib/path tests and updated a few dependencies ๐Ÿšš :hash: Moved micro modules to lib so they can have their own tests etc. โšก๏ธ :hash: Updated travis