Skip to content

Latest commit

 

History

History
1013 lines (479 loc) · 39 KB

CHANGELOG.md

File metadata and controls

1013 lines (479 loc) · 39 KB

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 outputing 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 mutliple 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 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.