2.6.0 (2024-12-09)
2.5.1 (2024-12-09)
- google protobuf timestamps don't properly get suffixed when useDate=false and prefix/suffix (#1146) (53f799e)
2.5.0 (2024-12-03)
- 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)
- Replacing "else if" with a "switch case" statement to improve Typescript performance (#1142) (de1a616), closes #1135 #1141
2.4.1 (2024-11-26)
2.4.0 (2024-11-25)
2.3.0 (2024-11-16)
2.2.7 (2024-11-11)
2.2.6 (2024-11-11)
2.2.5 (2024-10-22)
2.2.4 (2024-10-15)
2.2.3 (2024-10-06)
2.2.2 (2024-10-04)
- prefix and suffixes were not being applied to to/fromTimestamp resulting in compile error (#1118) (22c2905)
2.2.1 (2024-09-29)
2.2.0 (2024-09-06)
2.1.0 (2024-09-04)
2.0.4 (2024-09-04)
2.0.3 (2024-08-21)
2.0.2 (2024-08-16)
2.0.1 (2024-08-16)
- Fix build from typescript bump. (3ecd498)
2.0.0 (2024-08-16)
1.181.2 (2024-08-15)
- toJSON Function with
removeEnumPrefix=true
andunrecognizedEnumValue=0
Options (#1089) (2401490), closes #1086 #1086
1.181.1 (2024-07-13)
1.181.0 (2024-07-01)
1.180.0 (2024-06-15)
1.179.0 (2024-06-15)
1.178.0 (2024-06-07)
1.177.0 (2024-06-07)
1.176.3 (2024-06-07)
1.176.2 (2024-06-04)
1.176.1 (2024-05-25)
1.176.0 (2024-05-16)
1.175.1 (2024-05-15)
1.175.0 (2024-05-13)
1.174.0 (2024-05-01)
1.173.0 (2024-04-30)
1.172.0 (2024-04-13)
1.171.0 (2024-03-30)
1.170.0 (2024-03-26)
1.169.1 (2024-03-13)
1.169.0 (2024-03-12)
1.168.0 (2024-03-08)
1.167.9 (2024-02-28)
1.167.8 (2024-02-18)
1.167.7 (2024-02-17)
1.167.6 (2024-02-17)
1.167.5 (2024-02-15)
1.167.4 (2024-02-15)
1.167.3 (2024-02-03)
- ensure default service streaming methods compile when middleware methods are enabled (#996) (a9e975b)
1.167.2 (2024-01-28)
1.167.1 (2024-01-26)
1.167.0 (2024-01-22)
1.166.4 (2024-01-20)
1.166.3 (2024-01-18)
1.166.2 (2023-12-31)
1.166.1 (2023-12-31)
1.166.0 (2023-12-29)
1.165.3 (2023-12-26)
1.165.2 (2023-12-20)
1.165.1 (2023-12-06)
1.165.0 (2023-11-28)
1.164.2 (2023-11-28)
1.164.1 (2023-11-24)
1.164.0 (2023-11-09)
1.163.0 (2023-11-02)
1.162.2 (2023-10-26)
1.162.1 (2023-10-13)
1.162.0 (2023-10-13)
1.161.1 (2023-10-10)
- use optional chaining when both
forceLong=long
anduseOptionals=all
options are set in the generated fromTimestamp function (#949) (b00db6f)
1.161.0 (2023-10-10)
1.160.0 (2023-10-05)
1.159.3 (2023-10-04)
1.159.2 (2023-10-02)
1.159.1 (2023-09-30)
1.159.0 (2023-09-30)
1.158.1 (2023-09-30)
1.158.0 (2023-09-24)
1.157.1 (2023-09-18)
1.157.0 (2023-09-03)
- enum decoding (#910) (9e0a0b5), closes ts-proto-#859 ts-proto#859 ts-proto#859 ts-proto-#859 #909
1.156.8 (2023-09-03)
1.156.7 (2023-08-18)
1.156.6 (2023-08-16)
1.156.5 (2023-08-15)
1.156.4 (2023-08-15)
1.156.3 (2023-08-13)
1.156.2 (2023-07-29)
1.156.1 (2023-07-22)
1.156.0 (2023-07-20)
- ts-proto-#859: added encode-only options to toJSON methods (#886) (d0cf57d), closes ts-proto-#859 ts-proto-#859 ts-proto#859 ts-proto#859 ts-proto-#859
1.155.1 (2023-07-15)
1.155.0 (2023-07-15)
1.154.0 (2023-07-15)
1.153.3 (2023-07-13)
1.153.2 (2023-07-12)
1.153.1 (2023-07-12)
1.153.0 (2023-07-12)
1.152.1 (2023-07-10)
- Fix invocation error. (f4e26bd)
1.152.0 (2023-07-10)
1.151.1 (2023-07-05)
1.151.0 (2023-07-04)
1.150.1 (2023-06-23)
1.150.0 (2023-06-20)
1.149.0 (2023-06-13)
1.148.2 (2023-06-04)
1.148.1 (2023-05-25)
1.148.0 (2023-05-23)
1.147.3 (2023-05-16)
1.147.2 (2023-05-07)
1.147.1 (2023-05-02)
- Try fixing the Buf publish step. (47ef176)
1.147.0 (2023-05-02)
1.146.0 (2023-04-01)
1.145.0 (2023-03-27)
1.144.1 (2023-03-26)
1.144.0 (2023-03-26)
- Temporarily put anys back to release. (c6f189e)
1.143.0 (2023-03-19)
1.142.1 (2023-03-18)
1.142.0 (2023-03-18)
1.141.1 (2023-03-11)
1.141.0 (2023-03-08)
1.140.0 (2023-02-24)
removeEnumPrefix
option (#779) (53733e6)- implementation of useAbortSignal option for grpc-web (#777) (7a3d429)
1.139.0 (2023-01-31)
1.138.0 (2023-01-10)
1.137.2 (2023-01-09)
1.137.1 (2023-01-07)
1.137.0 (2022-12-29)
- Additional fix for structs with useMapType. (#743) (3264b0f)
- Fix codegen for google.protobuf.Struct with useMapType=true (#740) (0647151)
1.136.1 (2022-12-16)
1.136.0 (2022-12-14)
1.135.3 (2022-12-12)
- return grpc-web response without toObject method (#728) (7431aa8), closes stephenh/ts-proto#636
1.135.2 (2022-12-09)
1.135.1 (2022-12-09)
1.135.0 (2022-11-26)
1.134.0 (2022-11-25)
1.133.0 (2022-11-20)
1.132.1 (2022-11-15)
1.132.0 (2022-11-15)
1.131.2 (2022-11-13)
1.131.1 (2022-11-13)
1.131.0 (2022-10-25)
1.130.0 (2022-10-22)
1.129.0 (2022-10-16)
1.128.0 (2022-10-13)
1.127.0 (2022-10-12)
- client: allow overriding the service identifier (#683) (10c7c99)
- Import CallContext and CallOptions as type (#684) (8b388f6), closes #677
1.126.1 (2022-09-21)
1.126.0 (2022-09-21)
1.125.0 (2022-09-03)
1.124.0 (2022-09-03)
1.123.1 (2022-08-27)
1.123.0 (2022-08-27)
1.122.0 (2022-08-15)
1.121.6 (2022-08-14)
1.121.5 (2022-08-08)
- remove Record word conflict (#638) (5664d09)
- resolve import collisions for services (#651) (ee0296f)
1.121.4 (2022-08-07)
1.121.3 (2022-08-06)
1.121.2 (2022-08-06)
- Fix push_to_buf_registry check. (22ac914)
1.121.1 (2022-07-28)
1.121.0 (2022-07-28)
1.120.0 (2022-07-21)
1.119.0 (2022-07-21)
1.118.0 (2022-07-19)
1.117.1 (2022-07-16)
1.117.0 (2022-07-05)
1.116.1 (2022-07-02)
- add .js suffix to proto cross-reference imports (#602) (8dc38af), closes #601 /github.com/kulshekhar/ts-jest/issues/1057#issuecomment-481406624
1.116.0 (2022-07-01)
1.115.5 (2022-06-22)
1.115.4 (2022-06-05)
1.115.3 (2022-06-03)
1.115.2 (2022-06-03)
1.115.1 (2022-06-02)
1.115.0 (2022-06-02)
1.114.7 (2022-05-28)
- Fix version number for Buf plugin. (dc1fb7e)
1.114.6 (2022-05-28)
- Bump node in ts-proto.Dockerfile. (42f3cea)
1.114.5 (2022-05-28)
- Use outputs for Buf plugin workflow. (7017d4c)
1.114.4 (2022-05-28)
- Use env prefix for Buf plugin. (ea42caa)
1.114.3 (2022-05-28)
- Use the npm environment. (0103443)
1.114.2 (2022-05-28)
- Try combined workflow. (c293c1f)
1.114.0 (2022-05-27)
1.113.0 (2022-05-27)
1.112.2 (2022-05-18)
1.112.1 (2022-05-06)
1.112.0 (2022-05-02)
1.111.0 (2022-05-01)
next (????-??-??)
-
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)
1.110.3 (2022-04-08)
1.110.2 (2022-03-27)
- Grpc-Web: Fix compilation failure when a service definition contains a client streaming call. (#535) (0c83892)
1.110.1 (2022-03-25)
1.110.0 (2022-03-15)
1.109.1 (2022-03-13)
1.109.0 (2022-03-13)
- import proto as type import if onlyTypes is set (25d8e8b)
1.108.0 (2022-03-07)
1.107.0 (2022-03-04)
1.106.2 (2022-02-27)
1.106.1 (2022-02-21)
1.106.0 (2022-02-21)
1.105.2 (2022-02-17)
1.105.1 (2022-02-14)
1.105.0 (2022-02-12)
1.104.1 (2022-02-12)
1.104.0 (2022-01-21)
1.103.0 (2022-01-20)
1.102.2 (2022-01-19)
1.102.1 (2022-01-19)
1.102.0 (2022-01-18)
1.101.0 (2022-01-15)
1.100.1 (2022-01-10)
1.100.0 (2022-01-09)
1.99.0 (2022-01-07)
1.98.0 (2022-01-06)
1.97.2 (2022-01-06)
1.97.1 (2022-01-05)
1.97.0 (2021-12-30)
1.96.1 (2021-12-28)
1.96.0 (2021-12-24)
1.95.1 (2021-12-23)
1.95.0 (2021-12-14)
1.94.0 (2021-12-14)
1.93.3 (2021-12-13)
1.93.2 (2021-12-09)
1.93.1 (2021-12-08)
1.93.0 (2021-12-08)
1.92.2 (2021-12-08)
1.92.1 (2021-12-02)
1.92.0 (2021-11-28)
1.91.0 (2021-11-27)
- use Long.fromValue instead of Long.fromString for improved robustness regarding already parsed objects (#405) (7bdc3ee)
1.90.1 (2021-11-27)
1.90.0 (2021-11-24)
1.89.0 (2021-11-24)
1.88.0 (2021-11-22)
1.87.1 (2021-11-21)
1.87.0 (2021-11-16)
1.86.0 (2021-11-15)
1.85.0 (2021-11-02)
1.84.0 (2021-11-02)
1.83.3 (2021-10-28)
1.83.2 (2021-10-26)
1.83.1 (2021-09-17)
1.83.0 (2021-09-12)
1.82.5 (2021-08-05)
1.82.4 (2021-08-04)
1.82.3 (2021-08-03)
1.82.2 (2021-07-11)
1.82.1 (2021-07-11)
1.82.0 (2021-06-28)
1.81.3 (2021-06-13)
1.81.2 (2021-06-13)
1.81.1 (2021-05-23)
1.81.0 (2021-05-23)
1.80.1 (2021-05-18)
1.80.0 (2021-05-09)
1.79.8 (2021-05-09)
1.79.7 (2021-04-27)
1.79.6 (2021-04-24)
1.79.5 (2021-04-24)
1.79.4 (2021-04-23)
1.79.3 (2021-04-16)
1.79.2 (2021-04-07)
1.79.1 (2021-04-04)
1.79.0 (2021-04-02)
1.78.1 (2021-04-02)
1.78.0 (2021-04-02)
- Fix bytes initialization. Fixes #237. (willclarktech and webmaster128)
- Better camelization for
FOO_BAR
tofooBar
- Add
message.$type
fields and a type register. See #254. (aikoven) - Don't output long initialization for only types. Fixes #247.
- Always initial long when
forceLong=long
. Fixes #247. (daw1012345)
- Fix
stringEnums
combined withoutputEncodeMethods
- Fix
@improbable-eng
imports to work with babel. (m!m)
- Fix compiler errors when strict is enabled. Fixes #235. (Graham)
- 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.
- Add
constEnum
option to enableconst
enums. Fixes #230. (lxgreen)
- Update
useOptionals
to make repeated fields optional as well. Fixes #225. (i-dot)
- Actually fix #223.
- Allow setting
outputJsonMethods=true
while usingnestJs=true
. Fixes #223.
- Add
outputPartialMethods
. See #207. (mharsat)
- 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.
- Fix
globalThis
compilation errors with messages calledError
- Don't put default values on the wire while encoding. Fixed #213. (webmaster128)
- Qualify
Object.create
withglobalThis
to avoid collisions with message names ofObject
. Fixes #216.
- Use
ts-proto-descriptors
package to read/write theprotoc
stdinCodeGeneratorRequest
and stdoutCodeGeneratorResponse
messages.
-
Use
Object.create
indecode
to create messages so thathasOwnProperty
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.
- New
outputSchema
option to include the*.proto
schema/metadata in the generated output file (Vilsol)
- Fix
DeepPartial
imports when services and messages are in separate files
- Fix JSON parsing of long wrapper values when forceLong != long (jessebutterfield)
- Accidental duplicate publish.
- Fix import collisions for imported-only symbols (stezu)
- Fix missing
fromTimestamp
import in generated code, fixes #200 (jessebutterfield)
- Fix
google.protobuf.BytesValue
infromPartial
&fromJSON
(ebakoba)
- Fix typo for method names in service output (willclarktech)
- Fix
stringEnums=true
infromJSON
andfromPartial
output (mharsat)
- Re-publish to fix previous publish error.
- Allow setting
addGrpcMetadata=true
w/o using NestJS (#188)
- Add
exportCommonSymbols
flag (defaultstrue
) that, whenfalse
skipsexport
ing a few common symbols (i.e.DeepPartial
) that make it more likely for multiple generated files to be imported byimport * from ...
and not have import conflicts, i.e. for barrel imports.
- Tweak
atob
&btoa
utility methods to prefixBuffer
withglobalThis
to avoid issues in non-node envs. Fixes #77.
- Avoid import conflicts when an imported message name matches a locally-declared message name, see #36.
- Import
protobufjs/minimal
as a default import when usingesModuleInterop
- This should fix running in "type: module" ESM modules, see #181
- Add new
esModuleInterop
option to fixLong
imports for projects that useesModuleInterop: true
in theirtsconfig.json
.
- Fix
DeepPartial
when used withLong
s (willclarktech)
- Polyfill
globalThis
for Node v10 support (willclarktech)
- Handle
@deprecated
when there are no other comments (ShakedH)
- 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
- [grpc-web] Remove
import =
to support not using synthetic default imports
- [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 usestreamingTransport
is set, and otherwise fallback ontransport
.
- Now client constructors take
- [grpc-web] Remove
rxjs
dependency unless streaming is actually used
- Add support for grpc-web streaming responses (PhilipMantrov)
- Add
unrecognizedEnum
option for disabling theUNRECOGNIZED
enum values (ShakedH)
- Fix
forceLong
behavior when using wrapper types (Graham) - Add
rpcDataLoaderOptions
(Felix Mo) - Add
useDate
option to disablejava.util.Date
mapping (Graham)- This is primarily useful for NestJS which can only encode the original
google.protobuf.Timestamp
type
- This is primarily useful for NestJS which can only encode the original
- Add
stringEnums
option (Bastian Eicher)- Note this is not supported in the binary
encode
/decode
methods yet
- Note this is not supported in the binary
- Avoid unnecessary
import =
usage (Graham)
- Add a
protobufPackage
exportedconst
for metadata
- Fix maps of enums (@ahmadj-levelbenefits)
- Fix proto3 optional support
- Fix
blob
s infromPartial
andtoJSON
- Automatically configure
protobuf.util.Long
when 64-bit numbers are used (fixes #78)
- Add support for the experimental proto3
optional
keyword
- Fix
oneof=unions
not decoding default values correctly (@philikon)
- Accept cross-call metadata args in the
GrpcWebImpl
constructor - Accept
DeepPartial
request types for grpc-web calls
- Fix
toJSON
with maps of messages (#124 by @mscolnick)
- Use
enum
keyword for modeling keywords again - Fix maps of
google.protobuf.Timestamp
s - 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
- Extra release to ensure the build output is correct.
- Added a
addNestjsRestParameter=true
that adds a...rest: any
parameter to use NestJS decorators like@CurrentUser
(@ToonvanStrijp)
- Added a
oneof=properties
that generatesoneof
s as an Abstract Data Type (ADT) of each option (@philikon)
- Added a
useOptionals=true
option that makes non-scaler/oneof fields optional, i.e.message?: Message
instead ofmessage: Message | undefined
(@philikon)
- Messages no longer use a base prototype to get default values. (@cliedeman)
-
Added a
env=both
option and made that the defaultThis restores the pre-1.22.0 behavior that bytes are
Uint8Array
so that theBuffer
support is not a breaking change. Users have to opt-in withenv=node
.Also fixes a bug introduced in 1.22.0 that output an
as Buffer
without first checkingenv=node
.
-
Added a
env=node
/env=browser
option that defaults toenv=node
Currently
env=node
only changes the types ofbytes
fromUint8Array
toBuffer
, as a convenience for Node programming whereBuffer
(which is the defacto subclass ofUint8Array
) is more widely used (@dolsup)
- Drop falsey values in maps in
decode
andfromPartial
. Fixes #79. (@timostamm)
- Repeated fields cannot be optional, fixes #80 (@philikon)
- Use
globalThis.Error
instead ofglobal.Error
for browsers, fix for #70
- Fix NestJS decorator for only-stream-in / only-stream-out methods
- Allow
Message.decode
methods to take aUint8Array
(orBuffer
) directly instead of having to pass aReader
- Another fix for NestJS-related
PACKAGE_NAME
consts
- Fix for NestJS-related
PACKAGE_NAME
consts
- Support for NestJS streams
- Added support for generating NestJS friendly output (thanks Ian Gregson!)
- See the readme for new options
nestJs
,lowerCaseServiceMethods
,returnObservable
, etc.
- See the readme for new options