Releases: restatedev/sdk-typescript
1.2.1
Full Changelog: v1.2.0...v1.2.1
1.2.0
What's Changed
- Make it possible to get extra args provided to functional handlers by @jackkleeman in #409
- Fix replaying detection in logger.ts by @jackkleeman in #411
- Move the e2e tests to a separate package by @igalshilman in #413
- Add KillTest e2e by @igalshilman in #414
Full Changelog: v1.1.2...v1.2.0
1.1.2
1.1.1
Release 1.1.0
New features:
- [client] Add 'raw' opt/sendOpt to skip JSON serde (#404) (3a866f9)
- Custom logger support (#400) (abdd44d)
- It is now possible to provide some type information when accessing Object/Workflow state (#401) (59b2047)
Other changes:
- ctx.invoke/invokeOneWay now accept a serialization and deserialization function. (#402) (dc5d77a)
- Remove remaining usages of lambdaHandler() by @jackkleeman in #392
- Avoid double warn re request signatures by @jackkleeman in #393
- Expose HttpCallError in restate-sdk-clients by @mupperton in #395
- Unify everything under GenericHandler using web-streams by @jackkleeman in #394
- Unify bidi and request response code paths by @jackkleeman in #397
- Use tsx in examples repo by @jackkleeman in #398
Thanks to everyone providing feedback and contributing to the project! We're very grateful for that and we look forward to more!
Full Changelog: v1.0.1...v1.1.0
1.0.1: ESM, better FaaS Support
This release adds ESM support, as well as a new importable component fetch
(import * as restate from "@restatedev/restate-sdk/fetch"
) which enable usage from FaaS platforms like Cloudflare without having http2 in the import tree. There is also a new lambda
component, but the old way of calling lambdaHandler()
continues to work (but is deprecated).
- Update package-lock.json (f25a587)
- Ensure that we resolve completepromise messages on replay (#391) (7baefdb)
- Update, don't upsert, snapshot version (#390) (af04789)
- Replace the Cloudflare specific APIs with a generic handler (#389) (6420002)
- Use typesVersions workaround to support node10 resolution (#388) (db490de)
- Fix cloudflare worker exported types (#387) (825672f)
- Bump braces from 3.0.2 to 3.0.3 (#377) (92fd192)
- Convert to ESM modules (#386) (5841ebe)
- Add import linter (#385) (6c24f48)
- Update typescript (#384) (d80a1a6)
- Use .js extensions everywhere (#383) (3ef2418)
- Remove erroneous sdk-ingress dir (995483e)
- Use eslint to require import and export type statements (#382) (1308750)
- Use type-aware eslint (#381) (dfb1b82)
- Revert "Use eslint to require import and export type statements (#379)" (#380) (a0381c2)
- Use eslint to require import and export type statements (#379) (d46f4dd)
- Move to vitest (#378) (568d942)
- Run prettier (bf40623)
- Add seperate Lambda component and deprecate lambdaHandler() (#376) (042625a)
- Refactor endpoint/handlers (#374) (514a167)
- Denodeify (#375) (dcb7dba)
- Prepare for a quarantined http2 module (#373) (7f93b65)
Restate 1.0
We're happy to announce that Restate has reached the 1.0 milestone!
Check the Restate 1.0 release for more details.
Workflow API
We have introduced a new API to simplify building workflows, check out the documentation: https://docs.restate.dev/develop/ts/workflows
Shared handlers for Virtual Objects
You can now define shared handlers on virtual objects, check out the documentation: https://docs.restate.dev/develop/ts/overview#virtual-objects
What's Changed
- [api] Add shared handlers by @igalshilman in #344
- Support custom/raw input output serializers by @igalshilman in #345
- [workflow] Various adjustments to the workflow overly impl by @igalshilman in #346
- Extract core common types into restate-sdk-core package by @igalshilman in #347
- [ci] Add restate-core into the GH by @igalshilman in #348
- Add restate-sdk-core to tsconfig by @igalshilman in #349
- Fix ObjectSharedHandler definition by @jackkleeman in #350
- Ensure restate.handler methods return functions by @jackkleeman in #351
- Ensure more restate.handler methods return functions by @jackkleeman in #352
- [context] Add attemptHeaders to ctx.request() by @igalshilman in #354
- Add service discovery and service protocol checks by @tillrohrmann in #357
- WIP workflow v2 by @igalshilman in #355
- [workflow] Support resolving durable promises during recovery by @igalshilman in #358
- [examples] Restructure the examples by @igalshilman in #359
- [clients] Use the new delay ingress format by @igalshilman in #360
- [clients] Add status field for /send by @igalshilman in #361
- Simplify definitions by @igalshilman in #362
- [workflow] Adapt DurablePromise type by @igalshilman in #363
- [client] Implement .result(sendResponse) by @igalshilman in #364
- [clients] A Send is only attachable when an idempotencyKey is used by @igalshilman in #365
- [ingress] Don't set content Type for empty body by @igalshilman in #366
- [workflow] add a context workflowSendClient by @igalshilman in #367
- [logging] Use INFO for lifecycle events by @igalshilman in #368
- Make failure to serialize/deserialize JSON a TerminalError by @igalshilman in #369
- Add basic TSDocs by @igalshilman in #370
- READMEs for 1.0 release by @slinkydeveloper in #372
Full Changelog: v0.9.2...v1.0.0
0.9.2: Fix CombineablePromise
0.9.1: Fix logging related issues
v0.9.0: New DevEx
This release features a completely overhauled development experience. We suggest checking out the new documentation for more details and the new examples.
What's Changed
- Fix lambda context propagation by @slinkydeveloper in #269
- Remove gRPC from the public API by @igalshilman in #270
- Allow type narrowing on the service/object path when redeclared by @mupperton in #272
- Catch send/send delayed failed promises by @igalshilman in #273
- Add a .catch() for the dangling promises by @igalshilman in #274
- Remove the ServiceApi and ObjectApi abstractions by @igalshilman in #275
- Changes in input/output messages by @slinkydeveloper in #279
- Switch to HTTP based error codes by @igalshilman in #281
- Add ingress client by @igalshilman in #282
- Expose the original Request by @igalshilman in #283
- [ingress] Add resolve/reject awakeables by @igalshilman in #284
- [protocol] Use protobuf-es by @igalshilman in #285
- Add context.date by @igalshilman in #288
- Remove the retry policy in sideEffect by @igalshilman in #287
- Update to the latest service-protocol version by @igalshilman in #289
- Make sure to bind the handler function to the handlers object by @igalshilman in #291
- API iteration by @igalshilman in #290
- Fix definition typo by @mupperton in #294
- Return unawaited promises - minor perf improvement by @mupperton in #295
- [endpoint] Return a promise that resolves/reject on listen(). by @igalshilman in #296
- Align side effects by @igalshilman in #297
- Unify send and send-delayed by @igalshilman in #298
- [ingress] SendClient now returns a Promise of an invocationId by @igalshilman in #299
- [ingress] Remove retention header by @igalshilman in #300
- Rename sideEffect to run() by @igalshilman in #301
- [context] Use function overloading for ctx.run() by @igalshilman in #304
- Request identity v1 implementation by @jackkleeman in #303
- [ingress] Support the new delay ingress format by @igalshilman in #305
- [workspaces] Move to workspaces by @igalshilman in #306
- Update restate-sdk tsconfig.json to use the root tsconfig by @igalshilman in #307
- Add RESTATE_LOGGING env variable to control the amount of logging by @igalshilman in #310
- Move ingress into it's own module by @igalshilman in #311
- [ingress] Remove unnecessary dependency by @igalshilman in #312
- [context] Make ctx.key a property instead of a function by @igalshilman in #313
- [protocol] Use the SideEffectMessage from the protocol by @igalshilman in #317
- Augment the protocol ErrorMessage with additional journal context by @igalshilman in #318
- [protocol] Add x-restate-server header by @igalshilman in #319
- Denodeify by @jackkleeman in #321
- [context] Remove the internal marker from the API surface by @igalshilman in #322
- [ingress] Rename restate-sdk-ingress -> restate-sdk-clients by @igalshilman in #323
- [examples] Remove examples by @igalshilman in #324
- [examples] Add back the examples by @igalshilman in #325
- Renamings by @slinkydeveloper in #326
- Fix dev snapshots release process by @slinkydeveloper in #327
- Fix TSDocs and README by @slinkydeveloper in #330
- Fix debug level by @slinkydeveloper in #333
New Contributors
- @mupperton made their first contribution in #272
Full Changelog: v0.8.1...v0.9.0