github Azure/azure-functions-durable-js v3.0.0-alpha.4
Durable Functions for NodeJS 3.0.0-alpha.4

latest releases: v3.1.0, v2.1.4, 3.0.1...
pre-release15 months ago

This is the first version of the Durable Functions SDK with official support for public preview of V4 of the Node.js programming model! 🎉 This changelog is meant as a detailed list of changes in this new version. We are working on a less detailed, more user-friendly upgrade guide for Durable Functions, and will include that link here when it's ready! Learn more about the v4 programming model.

Added

  • APIs to register Durable functions (orchestrations, activities, and entities) using code, under the app namespace (#453 and #384)
  • APIs to obtain trigger options for Durable triggers (orchestrations, activities, and entities) under the trigger namespace (#453 and #384)
  • API to obtain a Durable Client input options under the input namespace (#453 and #384)

Removed

  • The old orchestrator() and entity() APIs (#453)

Changed

  • Update minimum version of Node.js to 18.x
  • Update minimum version of TypeScript to 4.x
  • Update minimum version of core tools required for local testing to 4.0.5085
  • Update @azure/functions dependency to 4.x (See v4.0.0-alpha.9 changelog for a more detailed list of changes to @azure/functions)
  • Improve exported types
    • Rename the IOrchestrationFunctionContext interface to OrchestrationContext, and export it from the root of the package (#455)
    • Rename the IEntityFunctionContext<T> interface to EntityContext<T> and export it from the root of the package (#455)
    • Rename the DurableOrchestrationClient class to DurableClient and export it from the root of the package (#154)
    • Export new type definitions
      • OrchestrationHandler, OrchestrationTrigger, and OrchestrationOptions for orchestrations
      • EntityHandler, EntityTrigger, and EntityOptions for entities
      • ActivityHandler, ActivityTrigger, and ActivityOptions for activities
      • DurableClientInput for client functions
    • Switch to manual declaration of type definitions (#458)
      • Remove private fields from exported class definitions
      • Remove @hidden fields from exported class definitions
      • Remove non-user facing classes/interfaces from public type definitions (#352)
  • Where applicable, switch DurableClient APIs from using discrete optional arguments to using an options object (#441 and #415)
    • getStatus()
    • getStatusBy()
    • purgeInstanceHistoryBy()
    • raiseEvent()
    • readEntityState()
    • rewind()
    • signalEntity()
    • startNew()
    • waitForCompletionOrCreateCheckStatusResponse()
  • Update the callHttp() API under the DurableOrchestrationContext class (#456 and #439)
    • Switch to using one options object for all arguments
    • Rename uri argument to url
    • Rename content argument to body
    • Deprecate asynchronousPatternEnabled flag in favor of enablePolling
  • Remove the Durable-specific IHTTPRequest, IHttpResponse, DurableHttpRequest and DurableHttpResponse classes, in favor of HttpRequest and HttpResponse from @azure/functions, which represent a subset of the fetch standard based on the undici npm package. See Changelog here for more details.
  • Breaking bug-fixes
    • Fixed a bug where input to sub-orchestrations would get serialized twice (#436)
    • Stopped supporting the creation of compound tasks (Task.any and Task.all) with no children, as it lead to ambiguous state (#424)

Don't miss a new azure-functions-durable-js release

NewReleases is sending notifications on new releases.