UPDATE: Some backwards compatibility issues were detected on release. Please fast-forward your upgrade to v2.0.2
Durable Functions for JavaScript 2.0.0
is a major version release that brings dramatic performance improvements to the platform, makes a few breaking changes to streamline the programming model, and brings some new features. See below!
npm package
https://www.npmjs.com/package/durable-functions
Performance Improvements
- Adopted a linear-time orchestrator replay algorithm (#305)
New Features
Bug Fixes
Breaking Changes
The following breaking changes were introduced in #305
- Returning a un-yielded Task from an orchestrator is no longer valid. Previously, a statement such as
return context.CallActivity(...)
would be treated asreturn yield context.CallActivity(...)
. This is no longer the case. Make sure you’reyield
’ing all your Tasks instead of returning them. - The ContinueAsNew API can no longer be yielded. Previously
ContinueAsNew
could beyield
ed or simply called as a fire-and-forget operation. Our original intention was forContinueAsNew
to be fire-and-forget, so now we throw an exception if you try to yield it. - All user-facing Task types now inherit from a single identifier:
Task
. Additionally, the user-facing Task` types have been simplified and, in TypeScript, they no longer expose various properties that were meant for framework-internal use only. We heard your feedback requesting a more streamlined experience with Task-types, so we hope this makes things easier.
To the best of our knowledge, this is the full extent of breaking changes. That said, as with any major version release, it’s always a good idea to test that your application continues working after upgrading to the new version. If you find an undocumented breaking change, please report it to our repo’s issue board here; thank you!