protobuf v6.4.0 Release Notes

  • ๐Ÿ’ฅ 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