Skip to content

Latest commit

 

History

History
2183 lines (982 loc) · 93.8 KB

CHANGELOG.md

File metadata and controls

2183 lines (982 loc) · 93.8 KB

2.6.0 (2024-12-09)

Features

  • Make sure all types support prefix/suffix (#1148) (ddf2122)

2.5.1 (2024-12-09)

Bug Fixes

  • google protobuf timestamps don't properly get suffixed when useDate=false and prefix/suffix (#1146) (53f799e)

2.5.0 (2024-12-03)

Features

  • Add options to limit generation of encode and decode methods to only specific message types (#1085) (c7372fa), closes #1084

2.4.2 (2024-11-28)

Performance Improvements

  • Replacing "else if" with a "switch case" statement to improve Typescript performance (#1142) (de1a616), closes #1135 #1141

2.4.1 (2024-11-26)

Performance Improvements

2.4.0 (2024-11-25)

Features

  • Avoid adding empty trailing comments to oneof unions (#1140) (5359e8d), closes #1136

2.3.0 (2024-11-16)

Features

  • add support for comments on union fields in generateOneofProperty (#1136) (c933c9c), closes #1122

2.2.7 (2024-11-11)

Bug Fixes

  • problem with verbatimModuleSyntax for grpc-js (#1132) (bedfa31)

2.2.6 (2024-11-11)

Bug Fixes

  • Schema generation: ensure Buffer api is only used when in nodejs environment (#1134) (49035a4)

2.2.5 (2024-10-22)

Bug Fixes

2.2.4 (2024-10-15)

Bug Fixes

2.2.3 (2024-10-06)

Bug Fixes

2.2.2 (2024-10-04)

Bug Fixes

  • prefix and suffixes were not being applied to to/fromTimestamp resulting in compile error (#1118) (22c2905)

2.2.1 (2024-09-29)

Bug Fixes

  • Compilation error for nested repeated fields with useOptionals=all (#1113) (e89fc51), closes #1112

2.2.0 (2024-09-06)

Features

  • Add interface for static message methods (#1104) (faa33b6)

2.1.0 (2024-09-04)

Features

2.0.4 (2024-09-04)

Bug Fixes

2.0.3 (2024-08-21)

Bug Fixes

2.0.2 (2024-08-16)

Bug Fixes

2.0.1 (2024-08-16)

Bug Fixes

  • Fix build from typescript bump. (3ecd498)

2.0.0 (2024-08-16)

1.181.2 (2024-08-15)

Bug Fixes

  • toJSON Function with removeEnumPrefix=true and unrecognizedEnumValue=0 Options (#1089) (2401490), closes #1086 #1086

1.181.1 (2024-07-13)

Bug Fixes

  • Incorrect message names in the generated code for repeated fields (#1073) (8a95d8e), closes #1072

1.181.0 (2024-07-01)

Features

1.180.0 (2024-06-15)

Features

  • oneof=unions-value to use the same field name for oneof cases (#1062) (7493090), closes #1060

1.179.0 (2024-06-15)

Features

1.178.0 (2024-06-07)

Features

  • no-file-descriptor setting for outputSchema option (#1047) (c54f06c)

1.177.0 (2024-06-07)

Features

1.176.3 (2024-06-07)

Bug Fixes

  • Add check for lower bound with forceLong=number (#1057) (01ef3c3)

1.176.2 (2024-06-04)

Bug Fixes

1.176.1 (2024-05-25)

Bug Fixes

  • camelToSnake to respect uppercase words, such as "GetAPIValue" -> "GET_API_VALUE" (#1046) (d2e75cd)

1.176.0 (2024-05-16)

Features

1.175.1 (2024-05-15)

Bug Fixes

1.175.0 (2024-05-13)

Features

  • optionally output versions used to generate files (#1040) (53d6799)

1.174.0 (2024-05-01)

Features

1.173.0 (2024-04-30)

Features

1.172.0 (2024-04-13)

Features

1.171.0 (2024-03-30)

Features

1.170.0 (2024-03-26)

Features

  • support deprecatedOnly option to make deprecated fields optional (#1010) (db23004)

1.169.1 (2024-03-13)

Bug Fixes

1.169.0 (2024-03-12)

Features

  • support proto2 optional and default value fields (#1007) (1fa1e61), closes #973

1.168.0 (2024-03-08)

Features

1.167.9 (2024-02-28)

Bug Fixes

1.167.8 (2024-02-18)

Bug Fixes

1.167.7 (2024-02-17)

Bug Fixes

1.167.6 (2024-02-17)

Bug Fixes

1.167.5 (2024-02-15)

Bug Fixes

  • import fails when folder name overlaps with file name (#1000) (1e68e6f)

1.167.4 (2024-02-15)

Bug Fixes

  • don't reference globalThis.Buffer when env=browser (#967) (#999) (0d34612)

1.167.3 (2024-02-03)

Bug Fixes

  • ensure default service streaming methods compile when middleware methods are enabled (#996) (a9e975b)

1.167.2 (2024-01-28)

Bug Fixes

  • ensure docker-compose platform is amd64 (#990) (bdf4710)

1.167.1 (2024-01-26)

Bug Fixes

  • generate modules for empty files with esModuleInterop (#992) (f0629ab)

1.167.0 (2024-01-22)

Features

1.166.4 (2024-01-20)

Bug Fixes

1.166.3 (2024-01-18)

Bug Fixes

  • add support of importSuffix=.js for index files (#986) (183cf03)

1.166.2 (2023-12-31)

Bug Fixes

  • error handling on non-Error type errors (#983) (8c567fc)

1.166.1 (2023-12-31)

Bug Fixes

1.166.0 (2023-12-29)

Features

1.165.3 (2023-12-26)

Bug Fixes

  • add serviceName to grpc-js client constructor type (#980) (2c6682d)

1.165.2 (2023-12-20)

Bug Fixes

  • Fix generating wrong web-rpc implementation for wrapper-type method arg (#978) (063fd29)

1.165.1 (2023-12-06)

Bug Fixes

1.165.0 (2023-11-28)

Features

1.164.2 (2023-11-28)

Bug Fixes

  • Don't close client if we've already aborted (#968) (7ee1507)

1.164.1 (2023-11-24)

Bug Fixes

  • revert useDate=false behaviour; add useJsonTimestamp option (#969) (15ae516)

1.164.0 (2023-11-09)

Features

  • add before and after request methods to base service (#961) (19ba6a5)

1.163.0 (2023-11-02)

Features

  • generate type namespaces for enums as literals (#960) (e2619f6)

1.162.2 (2023-10-26)

Bug Fixes

  • return types and optional chaining in field masks when useOptionals=all (#957) (a3d7bd4)

1.162.1 (2023-10-13)

Bug Fixes

1.162.0 (2023-10-13)

Features

  • support json_name defined in a proto file (#943) (de989af)

1.161.1 (2023-10-10)

Bug Fixes

  • use optional chaining when both forceLong=long and useOptionals=all options are set in the generated fromTimestamp function (#949) (b00db6f)

1.161.0 (2023-10-10)

Features

  • add unrecognizedEnumName and unrecognizedEnumValue options (#946) (cd61e90)

1.160.0 (2023-10-05)

Features

1.159.3 (2023-10-04)

Bug Fixes

1.159.2 (2023-10-02)

Bug Fixes

  • Support using messages called String/Boolean/Number/Array (#934) (f75159b), closes #927

1.159.1 (2023-09-30)

Bug Fixes

1.159.0 (2023-09-30)

Features

  • Add globalThisPolyfill, defaults false. (#931) (085fa21)

1.158.1 (2023-09-30)

Bug Fixes

  • Use globalThis for Array/String/Boolean (#930) (9a252c3)

1.158.0 (2023-09-24)

Features

  • adds support for emitting default scalar values in json (#919) (01f529f)

1.157.1 (2023-09-18)

Bug Fixes

  • Update type imports syntax on gRPC generation (#921) (b10ab31)

1.157.0 (2023-09-03)

Features

1.156.8 (2023-09-03)

Bug Fixes

  • fixing exportCommonSymbols in nestjs (#916) (daf41f7)

1.156.7 (2023-08-18)

Bug Fixes

1.156.6 (2023-08-16)

Bug Fixes

  • use correct imports for optional fields (#904) (fa13ec7)

1.156.5 (2023-08-15)

Bug Fixes

1.156.4 (2023-08-15)

Bug Fixes

  • enum default value when remove-enum-prefix and string-enum both on (#902) (594b137)

1.156.3 (2023-08-13)

Bug Fixes

1.156.2 (2023-07-29)

Bug Fixes

1.156.1 (2023-07-22)

Bug Fixes

1.156.0 (2023-07-20)

Features

1.155.1 (2023-07-15)

Bug Fixes

1.155.0 (2023-07-15)

Features

1.154.0 (2023-07-15)

Features

  • Normalize toJSON output by omitting fields set to their default values (#878) (50958d6)

1.153.3 (2023-07-13)

Bug Fixes

  • Bump ts-proto-descriptors w/long back. (#880) (d27e19c)

1.153.2 (2023-07-12)

Bug Fixes

1.153.1 (2023-07-12)

Bug Fixes

1.153.0 (2023-07-12)

Features

  • Update protobufjs (and peer dependencies) to ^7 (#874) (7f979a7)

1.152.1 (2023-07-10)

Bug Fixes

1.152.0 (2023-07-10)

Features

  • Ensure strict(er) TS compliance for the generated code (#868) (1405d4b)

1.151.1 (2023-07-05)

Bug Fixes

  • generate different MessageType when using static-only (#863) (477e5f5), closes #861

1.151.0 (2023-07-04)

Features

  • Add static-only variant to outputTypeAnnotations option (#858) (d7c4af7)

1.150.1 (2023-06-23)

Bug Fixes

  • don't generate transitively imported files for mapped imports (#854) (edd9044)

1.150.0 (2023-06-20)

Features

  • expose service name as a separate exported constant (#851) (84a4ed6)

1.149.0 (2023-06-13)

Features

1.148.2 (2023-06-04)

Bug Fixes

  • esModuleInterop not working for object-hash and dataloader imports (#794) (9fc9632)

1.148.1 (2023-05-25)

Bug Fixes

1.148.0 (2023-05-23)

Features

1.147.3 (2023-05-16)

Bug Fixes

  • ensure generated fromTimestamp works when useOptionals=all (#832) (1f82445)

1.147.2 (2023-05-07)

Bug Fixes

1.147.1 (2023-05-02)

Bug Fixes

  • Try fixing the Buf publish step. (47ef176)

1.147.0 (2023-05-02)

Features

1.146.0 (2023-04-01)

Features

1.145.0 (2023-03-27)

Bug Fixes

Features

  • Update fromPartial and fromJson to respect initializeFieldsAsUndefined (#811) (1615ae0)

1.144.1 (2023-03-26)

Bug Fixes

  • Bump ts-proto-descriptors to restore any-less _unknownFields. (#810) (de9c307)

1.144.0 (2023-03-26)

Bug Fixes

  • Temporarily put anys back to release. (c6f189e)

Features

1.143.0 (2023-03-19)

Bug Fixes

  • initialize undefined optional fields upon use (#802) (ee52e06)

Features

Performance Improvements

  • use array.push to prevent reallocation on every field (#804) (a6aea2c)

1.142.1 (2023-03-18)

Performance Improvements

1.142.0 (2023-03-18)

Features

1.141.1 (2023-03-11)

Bug Fixes

1.141.0 (2023-03-08)

Features

1.140.0 (2023-02-24)

Features

  • removeEnumPrefix option (#779) (53733e6)
  • implementation of useAbortSignal option for grpc-web (#777) (7a3d429)

1.139.0 (2023-01-31)

Features

Performance Improvements

  • generate switch statement for oneof union encode (#767) (c3fd1e3)

1.138.0 (2023-01-10)

Features

  • add create utility function to message definitions (#760) (44fc7b2)

1.137.2 (2023-01-09)

Bug Fixes

  • repeated uint64 fields do not encode properly with bigint option (#751) (dcdd7e2)

1.137.1 (2023-01-07)

Bug Fixes

1.137.0 (2022-12-29)

Bug Fixes

  • Additional fix for structs with useMapType. (#743) (3264b0f)
  • Fix codegen for google.protobuf.Struct with useMapType=true (#740) (0647151)

Features

1.136.1 (2022-12-16)

Bug Fixes

1.136.0 (2022-12-14)

Features

1.135.3 (2022-12-12)

Bug Fixes

1.135.2 (2022-12-09)

Bug Fixes

1.135.1 (2022-12-09)

Bug Fixes

  • Add functionality for grpc camel case to respect splitting by word (#721) (4af040c), closes #722

1.135.0 (2022-11-26)

Features

1.134.0 (2022-11-25)

Features

  • conditionally add "Service" to nice-grpc's generated service interface name (#710) (7c39cc0)

1.133.0 (2022-11-20)

Features

1.132.1 (2022-11-15)

Bug Fixes

1.132.0 (2022-11-15)

Features

  • change channel options to client options in generate grpc/js (#704) (c4ac8ac)

1.131.2 (2022-11-13)

Bug Fixes

  • Adding a failing regression test for wrapper types (#689) (bde2e28)

1.131.1 (2022-11-13)

Bug Fixes

  • Extend global.Error to avoid import collisions with Error proto msgs (#699) (e9d8f91)

1.131.0 (2022-10-25)

Features

1.130.0 (2022-10-22)

Features

1.129.0 (2022-10-16)

Features

1.128.0 (2022-10-13)

Features

1.127.0 (2022-10-12)

Features

  • client: allow overriding the service identifier (#683) (10c7c99)
  • Import CallContext and CallOptions as type (#684) (8b388f6), closes #677

1.126.1 (2022-09-21)

Bug Fixes

  • options: initializes M opt to empty object (#673) (cb76c5e)

1.126.0 (2022-09-21)

Features

1.125.0 (2022-09-03)

Features

  • omit optional fields in base instance (#669) (47b60aa)

1.124.0 (2022-09-03)

Features

  • Bump ts poet for dprint perf increase (#668) (961d388)

1.123.1 (2022-08-27)

Bug Fixes

  • Bump ts-poet to use @dprint/typescript. (#662) (84b64f4)

1.123.0 (2022-08-27)

Features

  • Bump ts-poet for dprint, also use tsx (#660) (348a465)

1.122.0 (2022-08-15)

Features

  • Grpc-Web: Add & export GrpcWebError type (#593) (645987d)

1.121.6 (2022-08-14)

Bug Fixes

1.121.5 (2022-08-08)

Bug Fixes

1.121.4 (2022-08-07)

Performance Improvements

  • Faster base64FromBytes & bytesFromBase64 on Node.JS (#649) (82ab341)

1.121.3 (2022-08-06)

Bug Fixes

  • Use underscore separator in snakeToCamel. (#648) (b374910)

1.121.2 (2022-08-06)

Bug Fixes

  • Fix push_to_buf_registry check. (22ac914)

1.121.1 (2022-07-28)

Bug Fixes

1.121.0 (2022-07-28)

Features

1.120.0 (2022-07-21)

Features

1.119.0 (2022-07-21)

Features

1.118.0 (2022-07-19)

Features

1.117.1 (2022-07-16)

Bug Fixes

  • import protobufjs/minimal with importSuffix (#616) (b86291c)

1.117.0 (2022-07-05)

Features

  • add importSuffix option and remove default .js suffix (#612) (63a8895)

1.116.1 (2022-07-02)

Bug Fixes

1.116.0 (2022-07-01)

Features

1.115.5 (2022-06-22)

Bug Fixes

  • remove Long import statement when Long was unused (#599) (58dc10c)

1.115.4 (2022-06-05)

Bug Fixes

1.115.3 (2022-06-03)

Bug Fixes

1.115.2 (2022-06-03)

Bug Fixes

  • simplify handling useJsonWireFormat=true and fix onlyTypes=true (#583) (6e7f938)

1.115.1 (2022-06-02)

Bug Fixes

1.115.0 (2022-06-02)

Features

1.114.7 (2022-05-28)

Bug Fixes

  • Fix version number for Buf plugin. (dc1fb7e)

1.114.6 (2022-05-28)

Bug Fixes

  • Bump node in ts-proto.Dockerfile. (42f3cea)

1.114.5 (2022-05-28)

Bug Fixes

  • Use outputs for Buf plugin workflow. (7017d4c)

1.114.4 (2022-05-28)

Bug Fixes

  • Use env prefix for Buf plugin. (ea42caa)

1.114.3 (2022-05-28)

Bug Fixes

  • Use the npm environment. (0103443)

1.114.2 (2022-05-28)

Bug Fixes

1.114.0 (2022-05-27)

Features

1.113.0 (2022-05-27)

Features

1.112.2 (2022-05-18)

Bug Fixes

  • enum type returns 'UNRECOGNIZED' or '-1' in xxxToJSON/xxxToNumber (#566) (19911a1)

1.112.1 (2022-05-06)

Bug Fixes

  • use Long.fromValue instead of Long.fromString (#562) (c99891e)

1.112.0 (2022-05-02)

Bug Fixes

Features

  • add support for generating nice-grpc server and client stubs (#555) (8c19361), closes #545

1.111.0 (2022-05-01)

Features

  • include service and definition types with implementations (#552) (6b896f4)

next (????-??-??)

Features

  • When outputting service and service definition implementations, include types. Eg, before:

    export const TestDefinition = {
      name: 'Test',
      fullName: 'simple.Test',
      methods: {},
    } as const;

    Now:

    export type TestDefinition = typeof TestDefinition;
    export const TestDefinition = {
      name: 'Test',
      fullName: 'simple.Test',
      methods: {},
    } as const;

1.110.4 (2022-04-08)

Bug Fixes

  • Use Uint8Array.forEach in base64FromBytes (#544) (c7641ce)

1.110.3 (2022-04-08)

Bug Fixes

  • regression in being able to return a Date as a GRPC return value (#534) (22b76ec)

1.110.2 (2022-03-27)

Bug Fixes

  • Grpc-Web: Fix compilation failure when a service definition contains a client streaming call. (#535) (0c83892)

1.110.1 (2022-03-25)

Bug Fixes

  • Use a module star import for protobuf types. (#540) (f5b7700)

1.110.0 (2022-03-15)

Features

  • Add generic metadata parameter to the generic service definition interface. (#530) (0f5525a)

1.109.1 (2022-03-13)

Bug Fixes

1.109.0 (2022-03-13)

Features

  • import proto as type import if onlyTypes is set (25d8e8b)

1.108.0 (2022-03-07)

Features

1.107.0 (2022-03-04)

Features

  • Allow simultaneous services and generic service definitions (#512) (680831e)

1.106.2 (2022-02-27)

Bug Fixes

  • Add M1/ARM support for the test suite (#516) (7cf5625)

1.106.1 (2022-02-21)

Bug Fixes

  • support json_name containing hyphen on all field types (#521) (8d9e78e)

1.106.0 (2022-02-21)

Features

  • Support json names containing non-alphanumeric characters (#520) (ce44668)

1.105.2 (2022-02-17)

Bug Fixes

  • Fix snakeToCamel single value parsing. (#513) (e1ad866)

1.105.1 (2022-02-14)

Bug Fixes

  • generate canonical JSON encoding for FieldMasks (#510) (0ec4e97)

1.105.0 (2022-02-12)

Features

1.104.1 (2022-02-12)

Bug Fixes

  • make struct types play well with type registry (#503) (d62f854)

1.104.0 (2022-01-21)

Bug Fixes

Features

  • enable prototype for defaults for ts-proto-descriptors (#487) (2b5640f)

1.103.0 (2022-01-20)

Features

1.102.2 (2022-01-19)

Bug Fixes

  • Have snakeToCamel leave existing mixed case. (#482) (c0bf0fc), closes #478

1.102.1 (2022-01-19)

Bug Fixes

1.102.0 (2022-01-18)

Features

  • enable unknown fields for descriptor protos (#479) (824c996)

1.101.0 (2022-01-15)

Features

1.100.1 (2022-01-10)

Bug Fixes

1.100.0 (2022-01-09)

Features

  • support mapping ObjectId message as mongodb.ObjectId (#467) (8b23897)

1.99.0 (2022-01-07)

Features

  • yarn watch updates (specified) tests when source files change (#465) (275d0e7)

1.98.0 (2022-01-06)

Features

  • watch for changed integration test files (#464) (988cd7e)

1.97.2 (2022-01-06)

Performance Improvements

  • fromJSON returns object literal to allow v8 optimizations (#463) (5fcd05b)

1.97.1 (2022-01-05)

Bug Fixes

1.97.0 (2021-12-30)

Features

  • add an option to disable Exact types (#456) (9c53d7e)

1.96.1 (2021-12-28)

Performance Improvements

  • optimize object creation in decode, fromJSON and fromPartial (#457) (70832d3)

1.96.0 (2021-12-24)

Features

1.95.1 (2021-12-23)

Bug Fixes

  • Add service to the client constructor. (#455) (8c32104)

1.95.0 (2021-12-14)

Features

  • Add useOptionals=all to enable non-field members to be optional. (#402) (e7b70cb)

1.94.0 (2021-12-14)

Features

1.93.3 (2021-12-13)

Bug Fixes

  • support multiple options in snakeToCamel flag (#429) (cff6674), closes #423

1.93.2 (2021-12-09)

Bug Fixes

1.93.1 (2021-12-08)

Bug Fixes

  • Unwrap google.protobuf.BytesValue to Buffer when env=node (#439) (73aa836)

1.93.0 (2021-12-08)

Features

  • Allow optional suffix for generated files (#431) (d826966)

1.92.2 (2021-12-08)

Bug Fixes

1.92.1 (2021-12-02)

Bug Fixes

  • Respect stringEnums option in wrap function (#420) (7adf90c)

1.92.0 (2021-11-28)

Features

1.91.0 (2021-11-27)

Bug Fixes

  • use Long.fromValue instead of Long.fromString for improved robustness regarding already parsed objects (#405) (7bdc3ee)

Features

1.90.1 (2021-11-27)

Bug Fixes

  • code-generation for Services with Struct response types (#407) (f041fa1)

1.90.0 (2021-11-24)

Features

  • Add support for 'json_name' annotation (#408) (b519717)

1.89.0 (2021-11-24)

Features

  • Improve map reading (fromJSON/fromPartial) (#410) (057d438)

1.88.0 (2021-11-22)

Features

  • Support for Google.Protobuf.Value, ListValue and Struct (#396) (7dd9c16)

1.87.1 (2021-11-21)

Bug Fixes

  • code generation for int64 map values in fromPartial and fromJson (#395) (d3ea8eb)

1.87.0 (2021-11-16)

Features

  • Use ternary operator for conditional assignments (#394) (d84c084)

1.86.0 (2021-11-15)

Features

1.85.0 (2021-11-02)

Features

1.84.0 (2021-11-02)

Features

  • Reduce code size by using nullish coalescing operator in fromPartial (#376) (19d2ded)

1.83.3 (2021-10-28)

Bug Fixes

  • fix codegen for maps with wrapper value type (#370) (dd2481d)

1.83.2 (2021-10-26)

Bug Fixes

  • Add missing defaults to fromPartial if options.oneof is UNIONS (#375) (21781e9)

1.83.1 (2021-09-17)

Bug Fixes

  • deprecated grpc and replace with @grpc/grpc-js (#362) (1a11b97)

1.83.0 (2021-09-12)

Features

1.82.5 (2021-08-05)

Bug Fixes

  • Field starting with '_' generates an interface property starting with 'undefined' (#344) (fab354f)

1.82.4 (2021-08-04)

Bug Fixes

1.82.3 (2021-08-03)

Bug Fixes

1.82.2 (2021-07-11)

Bug Fixes

1.82.1 (2021-07-11)

Bug Fixes

  • Consistently apply lowerCaseServiceMethods=true (#332) (57f2473)

1.82.0 (2021-06-28)

Features

  • framework-agnostic service definitions (#316) (3d89282)

1.81.3 (2021-06-13)

Bug Fixes

  • close server stream on observer unsubscribe (#309) (4b72563)

1.81.2 (2021-06-13)

Bug Fixes

  • Fix TypeScript errors when compiling with noUncheckedIndexedAccess (#297) (f865e43)

1.81.1 (2021-05-23)

Bug Fixes

1.81.0 (2021-05-23)

Features

1.80.1 (2021-05-18)

Bug Fixes

1.80.0 (2021-05-09)

Features

1.79.8 (2021-05-09)

Bug Fixes

1.79.7 (2021-04-27)

Bug Fixes

1.79.6 (2021-04-24)

Bug Fixes

1.79.5 (2021-04-24)

Bug Fixes

1.79.4 (2021-04-23)

Bug Fixes

1.79.3 (2021-04-16)

Bug Fixes

  • Add long dep to ts-proto-descriptors. (#275) (0d20827)

1.79.2 (2021-04-07)

Bug Fixes

1.79.1 (2021-04-04)

Bug Fixes

1.79.0 (2021-04-02)

Features

1.78.1 (2021-04-02)

Bug Fixes

1.78.0 (2021-04-02)

Features

v1.77.0

  • Fix bytes initialization. Fixes #237. (willclarktech and webmaster128)
  • Better camelization for FOO_BAR to fooBar
  • Add message.$type fields and a type register. See #254. (aikoven)
  • Don't output long initialization for only types. Fixes #247.

v1.76.0

  • Always initial long when forceLong=long. Fixes #247. (daw1012345)

v1.75.0

  • Fix stringEnums combined with outputEncodeMethods

v1.74.0

  • Fix @improbable-eng imports to work with babel. (m!m)

v1.73.0

  • Fix compiler errors when strict is enabled. Fixes #235. (Graham)

v1.72.0

  • Revert the change in v1.70.0 that changed useOptionals handling of repeated fields.

Before this PR, useOptionals was purely a type system tweak, and this PR introduced a change to decoding semantics, so it needs to be re-introduced under a separate flag to avoid being a breaking change.

v1.71.0

  • Add constEnum option to enable const enums. Fixes #230. (lxgreen)

v1.70.0

  • Update useOptionals to make repeated fields optional as well. Fixes #225. (i-dot)

v1.69.0

  • Actually fix #223.

v1.68.0

  • Allow setting outputJsonMethods=true while using nestJs=true. Fixes #223.

v1.67.0

  • Add outputPartialMethods. See #207. (mharsat)

v1.66.0

  • Allow returnObservable=true when not using grpc-web. See #220. (ardyfeb)
  • Fix useDate=false in encoding/JSON methods. See #211. (willclarktech)
  • Revert back to object spread instead of Object.create for primitive default values. Fixes #218.

v1.65.0

  • Fix globalThis compilation errors with messages called Error

v1.64.0

  • Don't put default values on the wire while encoding. Fixed #213. (webmaster128)

v1.63.0

  • Qualify Object.create with globalThis to avoid collisions with message names of Object. Fixes #216.

v1.62.0

  • Use ts-proto-descriptors package to read/write the protoc stdin CodeGeneratorRequest and stdout CodeGeneratorResponse messages.

v1.61.0

  • Use Object.create in decode to create messages so that hasOwnProperty will be false for fields that are using default values.

    In theory fields being default values is not supposed to be observable (on the wire at least), but protobuf itself specifically uses this for the FieldDescriptorProto.oneofIndex field.

v1.60.0

  • New outputSchema option to include the *.proto schema/metadata in the generated output file (Vilsol)

v1.59.0

  • Fix DeepPartial imports when services and messages are in separate files

v1.58.0

  • Fix JSON parsing of long wrapper values when forceLong != long (jessebutterfield)

v1.57.0

  • Accidental duplicate publish.

v1.56.0

  • Fix import collisions for imported-only symbols (stezu)

v1.55.0

  • Fix missing fromTimestamp import in generated code, fixes #200 (jessebutterfield)

v1.54.0

  • Fix google.protobuf.BytesValue in fromPartial & fromJSON (ebakoba)

v1.53.0

  • Fix typo for method names in service output (willclarktech)

v1.52.0

  • Fix stringEnums=true in fromJSON and fromPartial output (mharsat)

v1.51.0

  • Re-publish to fix previous publish error.

v1.50.0

  • Allow setting addGrpcMetadata=true w/o using NestJS (#188)

v1.49.0

  • Add exportCommonSymbols flag (defaults true) that, when false skips exporting a few common symbols (i.e. DeepPartial) that make it more likely for multiple generated files to be imported by import * from ... and not have import conflicts, i.e. for barrel imports.

v1.48.0

  • Tweak atob & btoa utility methods to prefix Buffer with globalThis to avoid issues in non-node envs. Fixes #77.

v1.47.0

  • Avoid import conflicts when an imported message name matches a locally-declared message name, see #36.

v1.46.0

  • Import protobufjs/minimal as a default import when using esModuleInterop
    • This should fix running in "type: module" ESM modules, see #181

v1.45.0

  • Add new esModuleInterop option to fix Long imports for projects that use esModuleInterop: true in their tsconfig.json.

v1.44.0

  • Fix DeepPartial when used with Longs (willclarktech)

v1.43.0

  • Polyfill globalThis for Node v10 support (willclarktech)

v1.42.1

  • Handle @deprecated when there are no other comments (ShakedH)

v1.42.0

  • Messages and fields that are marked as deprecated in *.proto files will have a @deprecated marker included in their JSDoc output (ShakedH)
  • Upgraded to the latest ts-poet

v1.41.1

  • [grpc-web] Remove import = to support not using synthetic default imports

v1.41.0

  • [grpc-web] Fix code generation errors introduced in v1.40.0
  • [grpc-web] Revert breaking change of unaryTransport / invokeTransport
    • Now client constructors take transport & streamingTransport, and streaming calls will use streamingTransport is set, and otherwise fallback on transport.
  • [grpc-web] Remove rxjs dependency unless streaming is actually used

v1.40.0

  • Add support for grpc-web streaming responses (PhilipMantrov)

v1.38.0

  • Add unrecognizedEnum option for disabling the UNRECOGNIZED enum values (ShakedH)

v1.37.0

  • Fix forceLong behavior when using wrapper types (Graham)
  • Add rpcDataLoaderOptions (Felix Mo)
  • Add useDate option to disable java.util.Date mapping (Graham)
    • This is primarily useful for NestJS which can only encode the original google.protobuf.Timestamp type
  • Add stringEnums option (Bastian Eicher)
    • Note this is not supported in the binary encode/decode methods yet
  • Avoid unnecessary import = usage (Graham)

v1.36.0

  • Add a protobufPackage exported const for metadata

v1.35.1

  • Fix maps of enums (@ahmadj-levelbenefits)

v1.35.0

  • Fix proto3 optional support

v1.34.0

  • Fix blobs in fromPartial and toJSON

v1.33.0

  • Automatically configure protobuf.util.Long when 64-bit numbers are used (fixes #78)

v1.32.0

  • Add support for the experimental proto3 optional keyword

v1.31.0

  • Fix oneof=unions not decoding default values correctly (@philikon)

v1.30.0

  • Accept cross-call metadata args in the GrpcWebImpl constructor
  • Accept DeepPartial request types for grpc-web calls

v1.29.0

  • Fix toJSON with maps of messages (#124 by @mscolnick)

v1.28.0

  • Use enum keyword for modeling keywords again
  • Fix maps of google.protobuf.Timestamps
  • Fix name conflicts when using google.type.Date
  • Fix maps of bytes in JSON
  • Add initial support for grpc-web using the @improbable-eng/grpc-web runtime

v1.27.1

  • Extra release to ensure the build output is correct.

v1.27.0

  • Added a addNestjsRestParameter=true that adds a ...rest: any parameter to use NestJS decorators like @CurrentUser (@ToonvanStrijp)

v1.26.0

  • Added a oneof=properties that generates oneofs as an Abstract Data Type (ADT) of each option (@philikon)

v1.25.0

  • Added a useOptionals=true option that makes non-scaler/oneof fields optional, i.e. message?: Message instead of message: Message | undefined (@philikon)

v1.24.0

  • Messages no longer use a base prototype to get default values. (@cliedeman)

v1.23.0

  • Added a env=both option and made that the default

    This restores the pre-1.22.0 behavior that bytes are Uint8Array so that the Buffer support is not a breaking change. Users have to opt-in with env=node.

    Also fixes a bug introduced in 1.22.0 that output an as Buffer without first checking env=node.

v1.22.0

  • Added a env=node/env=browser option that defaults to env=node

    Currently env=node only changes the types of bytes from Uint8Array to Buffer, as a convenience for Node programming where Buffer (which is the defacto subclass of Uint8Array) is more widely used (@dolsup)

v1.21.5

  • Drop falsey values in maps in decode and fromPartial. Fixes #79. (@timostamm)

v1.21.4

  • Repeated fields cannot be optional, fixes #80 (@philikon)

v1.21.2 and v1.21.3

  • Use globalThis.Error instead of global.Error for browsers, fix for #70

v1.21.1

  • Fix NestJS decorator for only-stream-in / only-stream-out methods

v1.21.0

  • Allow Message.decode methods to take a Uint8Array (or Buffer) directly instead of having to pass a Reader

v1.20.2

  • Another fix for NestJS-related PACKAGE_NAME consts

v1.20.1

  • Fix for NestJS-related PACKAGE_NAME consts

v1.20.0

  • Support for NestJS streams

v1.19.0

  • Added support for generating NestJS friendly output (thanks Ian Gregson!)
    • See the readme for new options nestJs, lowerCaseServiceMethods, returnObservable, etc.