Skip to content

Update durabletask-azuremanaged requirement from >=1.3.0 to >=1.9.0 in /samples/durable-task-sdks/python - #375

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/samples/durable-task-sdks/python/durabletask-azuremanaged-gte-1.9.0
Open

Update durabletask-azuremanaged requirement from >=1.3.0 to >=1.9.0 in /samples/durable-task-sdks/python#375
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/samples/durable-task-sdks/python/durabletask-azuremanaged-gte-1.9.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 1, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on durabletask-azuremanaged to permit the latest version.

Release notes

Sourced from durabletask-azuremanaged's releases.

azuremanged-v1.9.0

What's Changed

Full Changelog: microsoft/durabletask-python@azuremanaged-v1.8.0...azuremanged-v1.9.0

Changelog

Sourced from durabletask-azuremanaged's changelog.

v1.9.0

ADDED

  • Added OrchestrationContext.send_event() for replay-safe, one-way event delivery from an orchestration to another orchestration instance. During replay, Python validates the target instance ID as well as the event name, intentionally detecting target changes that DurableTask.Core does not.
  • Added emit_trace_spans=False to TaskHubGrpcWorker, TaskHubGrpcClient, and AsyncTaskHubGrpcClient for hosts that own Durable Task lifecycle spans. In this propagate-only mode, W3C trace context remains active and is propagated without emitting duplicate SDK lifecycle spans.
  • Added asynchronous AsyncScheduledTaskClient / AsyncScheduleClient and AsyncExportHistoryClient / AsyncExportHistoryJobClient APIs. Applications using AsyncTaskHubGrpcClient can now manage scheduled tasks and history export jobs without a synchronous client bridge.
  • Added FailureDetails.is_caused_by() to check whether a task failure was caused by a given exception type, mirroring .NET's TaskFailureDetails.IsCausedBy<T>() and Java's FailureDetails.isCausedBy(). Passing an exception type performs a base-type-aware match (a failure caused by a subclass matches its base type) against exception classes already imported in the process; passing a string matches by qualified or unqualified name.
  • Added a per-invocation dependency-resolution API to durabletask.extensions.history_export so any hosting model can supply the export client and writer without a process-global. The export activities now resolve their HistoryExportContext from a resolver invoked once per activity execution; new public building blocks are the HistoryExportContextResolver type, the pure activity bodies run_list_terminal_instances(context, input) and run_export_instance_history(context, input), and the build_activities(resolver) factory. This lets host-driven, multi-process models (such as Azure Functions, where the process that starts an export job is not the worker that runs an export activity) inject dependencies lazily per invocation.

CHANGED

  • Improved orchestration and entity execution performance by reducing replay allocations, caching handler and entity-method signature metadata, and serializing history-export events in a single pass. These changes reduce CPU and memory overhead for long histories and high-frequency handlers without changing serialized output or handler behavior.
  • Importing durabletask no longer eagerly imports the worker implementation and its dependencies (gRPC, protobuf, entities, serialization, OpenTelemetry). The public names re-exported from the package — ActivityWorkItemFilter, ConcurrencyOptions, EntityWorkItemFilter, GrpcChannelOptions, GrpcRetryPolicyOptions, LargePayloadStorageOptions, OrchestrationWorkItemFilter, PayloadStore, VersioningOptions, and WorkItemFilters — are now resolved on first use, so import durabletask is substantially faster and loads far fewer modules. This measurably reduces cold-start time for client-only applications, including those using durabletask.azuremanaged, which shares the same durabletask namespace. All existing import paths, __all__, dir(), and star-imports behave exactly as before.
  • Breaking: FailureDetails.error_type — and the errorType value sent over the wire — is now the fully-qualified type name (module.ClassName, e.g. builtins.ValueError, durabletask.task.TaskFailedError) instead of the bare class name, matching the .NET and Java SDKs. Code that compared error_type against a bare name (for example == "ValueError") must be updated to the qualified name or, preferably, switched to FailureDetails.is_caused_by(). Because this value is persisted and crosses the orchestration boundary, failures produced by older workers may still carry a bare name; is_caused_by() accepts both.
  • Breaking: Retired the process-global history-export context. durabletask.extensions.history_export.bind_context() and clear_context() have been removed; the export activities now resolve their HistoryExportContext per invocation via a resolver captured at registration. ExportHistoryClient.register_worker() continues to wire this up automatically, so most callers are unaffected. Code that called bind_context(HistoryExportContext(client, writer)) directly should instead register the activities with durabletask.extensions.history_export.activities.register(worker, lambda: HistoryExportContext(client, writer)) (or a lazier resolver), or use ExportHistoryClient.register_worker().

FIXED

  • Fixed TaskHubGrpcWorker leaving its background event loop unclosed after shutdown, which could retain resources and emit delayed ResourceWarning messages.
  • Fixed AsyncTaskHubGrpcClient failing during construction when no current event loop was set. SDK-owned async gRPC channels are now created on first use, binding them to the event loop that performs the RPC.
  • Fixed the worker allocating one asyncio task per queued work item before applying the concurrency limit, which made memory use and event-loop scheduling overhead grow with the queue backlog during bursts. In-flight work item tasks are now bounded by the configured ConcurrencyOptions limits.
  • Fixed input/output type discovery raising TypeError: unhashable type for handlers that are unhashable callables. A callable object registered through add_named_activity(), add_named_orchestrator(), or add_named_entity() is unhashable whenever its class defines __eq__ without __hash__ — most commonly a @dataclass with a __call__ method, since dataclasses default to eq=True. Annotations on such handlers are now discovered normally instead of failing.

... (truncated)

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Updates the requirements on [durabletask-azuremanaged](https://github.com/microsoft/durabletask-python) to permit the latest version.
- [Release notes](https://github.com/microsoft/durabletask-python/releases)
- [Changelog](https://github.com/microsoft/durabletask-python/blob/main/CHANGELOG.md)
- [Commits](microsoft/durabletask-python@v1.4.0...v1.9.0)

---
updated-dependencies:
- dependency-name: durabletask-azuremanaged
  dependency-version: 1.9.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Sep 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants