Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,75 @@
### Fixes


## v0.4.0 (2026-07-31)

### Changes

- feat(durable-functions): restore worker-side callHttp ([#333](https://github.com/microsoft/durabletask-js/pull/333), fixes [#318](https://github.com/microsoft/durabletask-js/issues/318))
- [copilot-finds] Bug: Entity getState() produces unhelpful SyntaxError for corrupted state ([#309](https://github.com/microsoft/durabletask-js/pull/309))
- fix: prevent infinite loop in suspend/resume event buffer iteration ([#306](https://github.com/microsoft/durabletask-js/pull/306))
- fix: clear stale in-memory purge queue entries ([#285](https://github.com/microsoft/durabletask-js/pull/285))
- fix: preserve error cause chains in failure details ([#310](https://github.com/microsoft/durabletask-js/pull/310))
- fix: treat empty entity operation input as no input ([#283](https://github.com/microsoft/durabletask-js/pull/283))
- fix: use getValue() instead of toString() on protobuf StringValue in activity execution ([#280](https://github.com/microsoft/durabletask-js/pull/280))
- fix: clean up orchestration history streams ([#314](https://github.com/microsoft/durabletask-js/pull/314))
- fix: make raiseIfFailed honor failed runtime status ([#308](https://github.com/microsoft/durabletask-js/pull/308))
- fix: prevent test worker crash during completion error handling ([#305](https://github.com/microsoft/durabletask-js/pull/305))
- Add `durable-functions@4.0.0` — Azure Functions Durable provider on the gRPC core (+ core host helpers, E2E CI, and release pipeline) ([#282](https://github.com/microsoft/durabletask-js/pull/282))
- fix: use failure details for failed orchestration span messages ([#290](https://github.com/microsoft/durabletask-js/pull/290))
- Fix #301: WhenAll wait-all + aggregate-exception semantics (root cause of rewind deadlock) ([#302](https://github.com/microsoft/durabletask-js/pull/302))
- Add rewind support ([#296](https://github.com/microsoft/durabletask-js/pull/296))
- Fix #292: align core Task/TimerTask public shape (result/isCompleted/isFaulted, cancellable TimerTask) ([#293](https://github.com/microsoft/durabletask-js/pull/293))
- test: add missing RetryableTask coverage for non-retriable, remaining-timeout, and complete() override ([#289](https://github.com/microsoft/durabletask-js/pull/289))
- Fix #291: accept EVENTSENT/EVENTRAISED confirmation for entity calls on classic (Azure Storage) backend ([#294](https://github.com/microsoft/durabletask-js/pull/294))
- fix: normalize entity query prefix in client.getEntities() ([#286](https://github.com/microsoft/durabletask-js/pull/286))
- fix: validate invalid createTimer inputs ([#288](https://github.com/microsoft/durabletask-js/pull/288))
- fix: preserve EntityOperationFailedException details ([#277](https://github.com/microsoft/durabletask-js/pull/277))
- fix: exclude initializeState from TaskEntity method dispatch ([#278](https://github.com/microsoft/durabletask-js/pull/278))
- fix: preserve V2 entity operation info for index zero ([#279](https://github.com/microsoft/durabletask-js/pull/279))
- Add input validation for empty event names in waitForExternalEvent() and sendEvent() ([#276](https://github.com/microsoft/durabletask-js/pull/276))
- fix: reject non-finite retry policy values ([#274](https://github.com/microsoft/durabletask-js/pull/274))
- fix: use ordinal string comparison for deterministic ordering ([#273](https://github.com/microsoft/durabletask-js/pull/273))
- test: add Task and CompletableTask coverage ([#272](https://github.com/microsoft/durabletask-js/pull/272))
- fix: add missing action types to non-determinism method names ([#271](https://github.com/microsoft/durabletask-js/pull/271))
- fix: preserve continue-as-new carryover event ordering ([#269](https://github.com/microsoft/durabletask-js/pull/269))
- Fix: Handle EntityUnlockSent events in orchestration executor replay ([#268](https://github.com/microsoft/durabletask-js/pull/268))
- fix: Update instance status on suspend/resume in InMemoryOrchestrationBackend ([#176](https://github.com/microsoft/durabletask-js/pull/176))
- fix: prevent duplicate completion actions when setFailed() is called after setComplete() ([#267](https://github.com/microsoft/durabletask-js/pull/267))
- fix: use epoch fallback for entity lastModifiedTime ([#265](https://github.com/microsoft/durabletask-js/pull/265))
- fix: handle EventSent replay events ([#264](https://github.com/microsoft/durabletask-js/pull/264))
- fix: propagate parent instance info in in-memory backend ([#263](https://github.com/microsoft/durabletask-js/pull/263))
- fix: avoid wildcard names for anonymous generator functions ([#262](https://github.com/microsoft/durabletask-js/pull/262))
- fix: use epoch fallback for missing orchestration timestamps ([#261](https://github.com/microsoft/durabletask-js/pull/261))
- fix: add UNKNOWN fallback in getNewEventSummary for unrecognized event types ([#260](https://github.com/microsoft/durabletask-js/pull/260))
- [copilot-finds] Improve: withTimeout() input validation and remove dead sleepWithAbort ([#258](https://github.com/microsoft/durabletask-js/pull/258))
- fix: prevent unhandled rejections in worker execution wrappers ([#257](https://github.com/microsoft/durabletask-js/pull/257))
- build(deps): bump @grpc/grpc-js ([#259](https://github.com/microsoft/durabletask-js/pull/259))
- fix: use toLowerCase() instead of toLocaleLowerCase() for event name matching ([#180](https://github.com/microsoft/durabletask-js/pull/180))
- fix: track entity execution in pendingWorkItems for graceful shutdown ([#179](https://github.com/microsoft/durabletask-js/pull/179))
- fix: move activity input JSON.parse inside try-catch for proper error handling ([#181](https://github.com/microsoft/durabletask-js/pull/181))
- fix: Validate first yielded value in orchestrator run() method ([#164](https://github.com/microsoft/durabletask-js/pull/164))
- fix: Sub-orchestration watcher uses unintended 30s default timeout in InMemoryOrchestrationBackend ([#156](https://github.com/microsoft/durabletask-js/pull/156))
- fix: serialize custom status eagerly to prevent executor crash ([#195](https://github.com/microsoft/durabletask-js/pull/195))
- fix: cancel pending timers when purging orchestration instances ([#197](https://github.com/microsoft/durabletask-js/pull/197))
- [copilot-finds] Bug: Fix TestOrchestrationClient null serialization divergence from real client ([#199](https://github.com/microsoft/durabletask-js/pull/199))
- [copilot-finds] Bug: newOrchestrationState drops failure details when error message or type is empty string ([#198](https://github.com/microsoft/durabletask-js/pull/198))
- fix: Preserve original gRPC error cause in rewindInstance and restartOrchestration ([#200](https://github.com/microsoft/durabletask-js/pull/200))
- fix: Catch exceptions from user-provided retry handlers to prevent orchestration crash ([#193](https://github.com/microsoft/durabletask-js/pull/193))
- feat: Implement work item filters ([#168](https://github.com/microsoft/durabletask-js/pull/168))
- fix: Add guard clause to handleSubOrchestrationCompleted to prevent unconditional resume ([#183](https://github.com/microsoft/durabletask-js/pull/183))
- fix: Add stream cleanup and retry logic to gRPC error handler ([#182](https://github.com/microsoft/durabletask-js/pull/182))
- fix: Use strict undefined check for taskId in completion event handlers ([#157](https://github.com/microsoft/durabletask-js/pull/157))
- Add comprehensive unit tests for WhenAnyTask ([#162](https://github.com/microsoft/durabletask-js/pull/162))
- fix: Add missing non-Task validation in generator failure recovery path ([#163](https://github.com/microsoft/durabletask-js/pull/163))
- fix: Entity StateShim.setState() corrupts cache on serialization failure ([#151](https://github.com/microsoft/durabletask-js/pull/151))
- fix: clear customStatus on continue-as-new in InMemoryOrchestrationBackend ([#155](https://github.com/microsoft/durabletask-js/pull/155))
- fix: propagate parent notification from composite tasks (WhenAllTask/WhenAnyTask) ([#150](https://github.com/microsoft/durabletask-js/pull/150))
- fix: use deterministic time in createTimer instead of Date.now() ([#146](https://github.com/microsoft/durabletask-js/pull/146))
- Fix WhenAllTask constructor resetting _completedTasks counter ([#143](https://github.com/microsoft/durabletask-js/pull/143))
- Fix retry handler treating undefined/null/NaN/Infinity as retry signal ([#142](https://github.com/microsoft/durabletask-js/pull/142))
- Release v0.3.0 ([#147](https://github.com/microsoft/durabletask-js/pull/147))

## v0.3.0 (2026-03-06)

### Changes
Expand Down
Loading