protobufjs
Advanced tools
Changelog
:hash: Properly handle empty/noop Writer#ldelim, fixes #625<br /> :hash: Properly annotate map fields in pbjs, fixes #624<br />
:hash: Made sure that Writer#bytes is always able to handle plain arrays<br />
:hash: Slightly restructured utility to better support static code default values<br />
Changelog
:hash: Fixed invalid definition of Field#packed property, also introduced decoder.compat mode (packed fields, on by default)<br /> :hash: Always decode packed/non-packed based on wire format only, see #602<br /> :hash: Use full library for JSON modules and runtime dependency for static modules, fixes #621<br />
:hash: Additional workarounds for on demand CLI dependencies, see #618<br /> :hash: Revised automatic setup of cli dependencies, see #618<br />
:hash: Removed Android 4.0 test (no longer supported by sauce)<br /> :hash: Removed some unused utility, slightly more efficient codegen, additional comments<br /> :hash: Updated tests for new package.json layout<br /> :hash: Added break/continue label support to codegen<br /> :hash: Updated dependencies, rebuilt dist files and changed logo to use an absolute url<br />
6.4.2 had been accidentally published as 6.4.3.
Changelog
:hash: Added more default value checks to converter, fixes #616<br /> :hash: Respect long defaults in converters<br /> :hash: Convert inner messages and undefined/null values more thoroughly, fixes #615<br /> :hash: Always use first defined enum value as field default, fixes #613<br /> :hash: Install correct 'tmp' dependency when running pbts without dev dependencies installed, fixes #612<br />
:hash: Generate named constructors for runtime messages, see #588<br />
:hash: pbjs/pbts no longer generate any volatile headers, see #614<br />
:hash: Attempted to make broken shields less annoying<br /> :hash: Updated README<br />
:hash: Some cleanup and added a logo<br /> :hash: use $protobuf.Long<br />
Changelog
:hash: Dropped IE8 support<br /> :hash: Removed now unused util.longNeq which was used by early static code<br />
:hash: Do not swallow errors in loadSync, also accept negative enum values in Enum#add, fixes #609<br /> :hash: Improved bytes field support, also fixes #606<br /> :hash: Fall back to browser Reader when passing an Uint8Array under node, fixes #605<br /> :hash: Respect optional properties when writing interfaces in tsd-jsdoc, fixes #598<br />
:hash: Instead of protobuf.parse.keepCase, fall back to protobuf.parse.defaults holding all possible defaults, see #608<br /> :hash: Added global ParseOptions#keepCase fallback as protobuf.parse.keepCase, see #608<br /> :hash: Converters use code generation and support custom implementations<br /> :hash: Be more verbose when throwing invalid wire type errors, see #602<br /> :hash: Added an asJSON-option to always populate array fields, even if defaults=false, see #597<br /> :hash: Attempt to improve TypeScript support by using explicit exports<br /> :hash: Copy-pasted typescript definitions to micro modules, see #599<br /> :hash: Emit an error on resolveAll() if any extension fields cannot be resolved, see #595 + test case<br />
:hash: Removed 'not recommend' label for --keep-case, see #608<br /> :hash: Added customizable linter configuration to pbjs<br /> :hash: Added stdin support to pbjs and pbts<br /> :hash: Static code no longer uses IE8 support utility<br /> :hash: Generated static code now supports asJSON/from<br /> :hash: Added support for TypeScript enums to pbts<br /> :hash: Added a few helpful comments to static code<br /> :hash: Slightly beautify statically generated code<br /> :hash: Do not wrap main definition as a module and export directly instead<br /> :hash: Generate prettier definitions with --no-comments<br /> :hash: Added variable arguments support to tsd-jsdoc<br /> :hash: Reference dependency imports as a module to prevent name collisions, see #596<br /> :hash: Removed now unnecessary comment lines in generated static code<br />
:hash: Added notes on CSP-restricted environments to README, see #593<br />
:hash: Added test case for asJSON with arrays=true, see #597<br /> :hash: Added a tape adapter to assert message equality accross browsers<br /> :hash: Refactored some internal utility away<br /> :hash: Reverted previous attempt on #597<br /> :hash: Minor tsd-jsdoc refactor<br /> :hash: Removed unused sandbox files<br /> :hash: Updated package.json of micro modules to reference types, see #599<br /> :hash: Reference dependencies as imports in generated typescript definitions, see #596<br /> :hash: Allow null values on optional long fields, see #590<br /> :hash: Various jsdoc improvements and a workaround for d.ts generation, see #592<br />
Changelog
:hash: Empty inner messages are always present on the wire + test case + removed now unused Writer#ldelim parameter, see #585<br />
:hash: Expose tsd-jsdoc's comments option to pbts as --no-comments, see #587<br /> :hash: Increase child process max buffer when running jsdoc from pbts, see #587<br /> :hash: pbjs now generates more convenient dot-notation property accessors<br />
:hash: And fixed IE8 again (should probably just drop IE8 for good)<br />
Changelog
:hash: Moved camelCase/underScore away from util to where actually used<br /> :hash: Renamed asJSON option keys (enum to enums, long to longs) because enum is a reserved keyword<br /> :hash: Moved JSON/Message conversion to its own source file and added Message/Type.from + test case, see #575<br /> :hash: Relicensed the library and its components to BSD-3-Clause to match the official implementation (again)<br /> :hash: Dropped support for browser buffer entirely (is an Uint8Array anyway), ensures performance and makes things simpler<br /> :hash: Removed dead parts of the Reader API<br /> :hash: Refactored BufferReader/Writer to their own files and removed unnecessary operations (node always has FloatXXArray and browser buffer uses ieee anyway)<br /> :hash: Stripped out fallback encoder/decoder/verifier completely (even IE8 supports codegen), significantly reduces bundle size, can use static codegen elsewhere<br />
:hash: Actually concatenate mixed custom options when parsing<br /> :hash: Fixed a couple of issues with alternative browser builds<br /> :hash: Properly set long defaults on prototypes<br /> :hash: Fixed reference error in minimal runtime, see #580<br /> :hash: Non-repeated empty messages are always present on the wire, see #581<br /> :hash: Properly check Buffer.prototype.set with node v4<br /> :hash: Prevent NRE and properly annotate verify signature in tsd-jsdoc, fixed #572<br /> :hash: Fix directly using Buffer instead of util.Buffer<br /> :hash: Added filter type to Namespace#lookup, fixes #569<br /> :hash: Fixed parsing enum inner options, see #565<br /> :hash: Fixed release links in README files<br />
:hash: Added a noparse build for completeness<br /> :hash: Now compresses .gz files using zopfli to make them useful beyond being just a reference<br /> :hash: Updated non-bundled google types folder with missing descriptors and added wrappers to core<br /> :hash: Replaced the ieee754 implementation for old browsers with a faster, use-case specific one + simple test case<br /> :hash: Added .create to statically generated types and uppercase nested elements to reflection namespaces, see #576<br /> :hash: Also added Namespace#getEnum for completeness, see #576<br /> :hash: Added Namespace#getEnum and changed #lookupEnum to the same behavior, see #576<br /> :hash: Added a heap of coverage comments for usually unused code paths to open things up<br /> :hash: Added codegen test to determine if any ancient browsers don't actually support it<br /> :hash: Added legacy groups support to pbjs, see #568<br /> :hash: Initial support for legacy groups + test case, see #568<br /> :hash: Added asJSON bytes as Buffer, see #566<br />
:hash: Annotated callback types in pbjs-generated services, see #582<br /> :hash: Removed type/ns alias comment in static target to not confuse jsdoc unnecessarily<br /> :hash: Made pbjs use loadSync for deterministic outputs, see #573<br />
:hash: Updated documentation on runtime and noparse builds<br /> :hash: Fixed an issue with the changelog generator skipping some commits<br /> :hash: Added notes on how to use pbjs and pbts programmatically<br /> :hash: Manually sorted old changelog entries<br /> :hash: Initial changelog generator, see #574<br /> :hash: Added static/JSON module interchangeability to README<br /> :hash: Updated README and bundler according to dynamic require calls<br />
:hash: Added basic services test case<br /> :hash: Just polyfill Buffer.from / .allocUnsafe for good<br /> :hash: Added a test case to find out if all the fallbacks are just for IE8<br /> :hash: Commented out float assertions in float test including explanation<br /> :hash: Expose array implementation used with (older) browsers on util for tests<br /> :hash: Updated test cases<br /> :hash: Added assumptions to float test case<br /> :hash: Updated travis config to use C++11<br /> :hash: Updated / added additional LICENSE files where appropriate<br /> :hash: Integrated changelog into build process, now also has 'npm run make' for everything, see #574<br /> :hash: Minor optimizations through providing type-hints<br /> :hash: Reverted shortened switch statements in verifier<br /> :hash: Enums can't be map key types<br /> :hash: Use custom require (now a micromodule) for all optional modules, see #571<br /> :hash: Support usage when size = 0<br /> :hash: Reverted aliases frequently used in codegen for better gzip ratio<br /> :hash: Shrinked bundle size - a bit<br /> :hash: Can finally run with --trace-deopt again without crashes<br /> :hash: Other minor optimizations<br />
Changelog
:hash: Added ParseOptions to protobuf.parse and --keep-case for .proto sources to pbjs, see #564<br />
:hash: Better TypeScript definition support for @property-annotated objects<br /> :hash: Can't just inline longNeq but can be simplified<br /> :hash: Array abuse and varint optimization<br /> :hash: Updated dependencies<br /> :hash: Other minor improvements to short ifs<br /> :hash: Reader/Writer example<br />
Changelog
:hash: Fixed reserved names re, also ensure valid service method names, see #559<br /> :hash: Fix d.ts whitespace on empty lines, added tsd-jsdoc LICENSE<br /> :hash: Fix asJSON defaults option, make it work for repeated fields.<br /> :hash: Inlined any Reader/Writer#tag calls, also fixes #556<br /> :hash: Fix building default dist files with explicit runtime=false<br /> :hash: Apply asJSON recursively<br /> :hash: Ensure working reflection class names with minified builds<br /> :hash: Lazily resolve (some) cyclic dependencies, see #560<br />
:hash: Added protobuf.roots to minimal runtime, see #554<br /> :hash: Repo now includes a restructured version of tsd-jsdoc with our changes incorporated for issues/prs, see #550<br />
:hash: Updated pbjs arguments<br /> :hash: Pipe tsd-jsdoc output (requires dcodeIO/tsd-jsdoc/master) and respect cwd, see #550<br /> :hash: tsd-jsdoc progress<br />
:hash: README<br />
:hash: Added GH issue template<br /> :hash: Path micromodule, dependencies<br /> :hash: Test case for #556<br /> :hash: Raw alloc benchmark<br /> :hash: Other minor optimizations<br />
Changelog
:hash: Properly encode/decode map kv pairs as repeated messages (codegen and fallback), see #547<br /> :hash: Make genVerifyKey actually generate conditions for 32bit values and bool, fixes #546<br /> :hash: Fix to generation of verify methods for bytes<br /> :hash: Take special care of oneofs when encoding (i.e. when explicitly set to defaults), see #542<br />
:hash: Added Message#asJSON option for bytes conversion<br /> :hash: Added Namespace#lookupType and Namespace#lookupService (throw instead of returning null), see #544<br /> :hash: Provide prebuilt browser versions of the static runtime<br />
:hash: Initial pbts CLI for generating TypeScript definitions, see #550<br /> :hash: Refactored json/static-module targets to use common wrappers<br /> :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<br /> :hash: Annotate namespaces generated by static target, see #550<br /> :hash: static target: Basic support for oneof fields, see #542<br />
:hash: Fix to reflection documentation<br /> :hash: README on minimal runtime / available downloads<br /> :hash: Notes on descriptors vs static modules<br />
:hash: A lot of minor optimizations to performance and gzip ratio<br /> :hash: Minimized base64 tables<br />