@@ -40,10 +40,13 @@ changed:
4040 ** ` client.startNew() ` supports the ` version ` option.**
4141- ** Entity locking / critical sections moved to the core context.** v3's ` context.df.lock(...) ` /
4242 ` context.df.isLocked() ` and the ` DurableLock ` / ` LockState ` / ` LockingRulesViolationError ` exports
43- are removed. Acquire locks with the core ` context.entities.lockEntities(...entityIds) ` (returns a
44- ` LockHandle ` — call ` release() ` , ideally in a ` finally ` ) and query with
45- ` context.entities.isInCriticalSection() ` . Restoring the v3 ` df.lock ` / ` isLocked ` surface is tracked
46- in [ #317 ] ( https://github.com/microsoft/durabletask-js/issues/317 ) .
43+ are removed. Locks live on the core-native ` context.entities ` surface, which the classic
44+ ` { df, log } ` context does ** not** expose — an orchestrator that needs locks must first migrate to
45+ the core-native orchestrator/context shape, then acquire locks with
46+ ` context.entities.lockEntities(...entityIds) ` (returns a ` LockHandle ` — call ` release() ` , ideally
47+ in a ` finally ` ) and query with ` context.entities.isInCriticalSection() ` . Reintroducing the v3
48+ ` df.lock ` / ` isLocked ` surface is ** not supported and not planned**
49+ ([ #317 ] ( https://github.com/microsoft/durabletask-js/issues/317 ) , closed as not planned).
4750- ** ` context.df.callHttp(...) ` is restored** as a worker-side durable HTTP call
4851 ([ #318 ] ( https://github.com/microsoft/durabletask-js/issues/318 ) ) — though ** not** as a drop-in, fully
4952 v3-equivalent replacement: the known incompatibilities and behavior differences listed below are
@@ -106,6 +109,19 @@ changed:
106109 sync ** generators** (` function* ` ) using ` context.df.* ` — are unaffected; convert any non-generator
107110 classic orchestrator to generator form, or to the core-native ` ctx.* ` API.
108111
112+ ## Requirements
113+
114+ This provider reaches the Durable Task backend over the Functions host's ** gRPC** channel, which
115+ exists only in newer durable-extension builds. Your app's ` host.json ` must reference one of:
116+
117+ - GA bundle — ` Microsoft.Azure.Functions.ExtensionBundle ` at ** ` [4.36.0, 5.0.0) ` ** , or
118+ - Preview bundle — ` Microsoft.Azure.Functions.ExtensionBundle.Preview ` at ** ` [4.29.0, 5.0.0) ` ** .
119+
120+ Earlier GA v4 bundles (** <= 4.32.0** ) predate that gRPC endpoint, so orchestration starters ** hang
121+ for ~ 60 seconds and time out with no error** . A fresh app on the default GA range (` [4.*, 5.0.0) ` )
122+ resolves to the latest GA (>= 4.36.0) and works — the trap is an ** explicit** pin at or below
123+ 4.32.0.
124+
109125## Getting started
110126
111127``` typescript
@@ -170,4 +186,6 @@ are `@deprecated`):
170186
171187## Status
172188
173- This package is an early preview (` 4.0.0 ` ); APIs may change before the stable release.
189+ This rewritten ` durable-functions ` v4 provider is in ** preview** , published under the ` preview ` npm
190+ dist-tag — install it with ` npm install durable-functions@preview ` . APIs may change before the
191+ GA ` 4.0.0 ` release.
0 commit comments