v1.33.6 - 2026-05-27
Changed
- Refactored worker graceful shutdown to prevent in-flight tasks from being killed.
v1.33.5 - 2026-05-12
Security
- Bump urllib to
2.7.0to address CVE-2026-44432
v1.33.4 - 2026-05-08
Changed
- Fixes a bug where TLS credentials are not passed to the OTLP span exporter.
v1.33.3 - 2026-04-29
Changed
- Fixes a bug where passing
wait_for_result=Falsewhen spawning children out of a durable task would not be respected, causing unexpected errors and broken functionality.
v1.33.2 - 2026-04-22
Added
- Adds
triggering_event_idandtriggering_event_keyto theContext
v1.33.1 - 2026-04-21
Changed
- Adds an optional
labelon durable event waits, which will propagate through to the dashboard
v1.33.0 - 2026-04-16
Changed
- Adds
waitandbefore_sleepparameters toTenacityConfigto allow custom retry strategies and retry callbacks.
v1.32.3 - 2026-04-16
Changed
- Fixes a couple of internal uses of deprecated methods
v1.32.2 - 2026-04-15
Changed
- Fixes a bug where failures sending a completed or failed event from the worker to the engine would fail the task and bypass any retries, even if some were configured on the task
v1.32.1 - 2026-04-09
Changed
- Fixes a bug in the shutdown handlers that wouldn’t correctly trigger graceful shutdown if only the parent process received a shutdown signal like
SIGTERM, which might often be the case on e.g. Kubernetes. - Fixes an issue where we generated protobufs using a more recent grpcio version than the minimum allowed, causing breakages on older versions.
v1.32.0 - 2026-04-07
Added
- Adds
scopeandlookback_windowarguments for theDurableContext.aio_wait_for_event, which allows durable tasks to look back in time for events that may have been emitted before the task started.
v1.31.0 - 2026-04-03
Added
- Adds
wait_for_resultparameter torun(),aio_run(),run_many(), andaio_run_many()on bothWorkflowandStandalone. Passingwait_for_result=Falsereplaces therun_no_wait/aio_run_no_wait/run_many_no_wait/aio_run_many_no_waitmethods. - Exports
WorkerLabelfrom the top-levelhatchet_sdkpackage, alongside the existingDesiredWorkerLabelandWorkerLabelComparator. - Exports
Priority,ConcurrencyExpression,ConcurrencyLimitStrategy,RateLimit,RateLimitDuration,StickyStrategy,SlotType,BulkPushEventOptions,BulkPushEventWithMetadata,PushEventOptions, andWorkflowRunTriggerConfigfrom the top-levelhatchet_sdkpackage. - Adds a
current_contextproperty toHatchetas a replacement for the deprecatedget_current_context()method.
Changed
worker_labelsanddesired_worker_labelsare now stored internally aslist[WorkerLabel]/list[DesiredWorkerLabel]and converted to the protobuf representation at the last moment, rather than eagerly at construction time.- Adds top-level parameters to all of the
run,schedule, etc. methods to pass options directly, instead of needing to import e.g.TriggerWorkflowOptionswhich wasn’t very Pythonic.
Deprecated
run_no_wait(),aio_run_no_wait(),run_many_no_wait(), andaio_run_many_no_wait()are deprecated in favor ofrun(wait_for_result=False),aio_run(wait_for_result=False),run_many(wait_for_result=False), andaio_run_many(wait_for_result=False)respectively.- Passing duration parameters (e.g.
schedule_timeout,execution_timeout) as strings is deprecated. Usetimedeltaobjects instead. - Non-async durable tasks are deprecated. Please convert durable task functions to async.
- Passing
desired_worker_labelsas adictto task decorators (@workflow.task,@hatchet.task, etc.) is deprecated. Use alist[DesiredWorkerLabel]with thekeyfield set instead. - Passing
desired_worker_labelas adicttoTriggerWorkflowOptionsis deprecated. Use alist[DesiredWorkerLabel]with thekeyfield set instead. - Passing
priorityas anintto task and workflow decorators is deprecated. UsePriority.LOW,Priority.MEDIUM, orPriority.HIGHinstead. - Passing
comparatoras aninttoDesiredWorkerLabelis deprecated. UseWorkerLabelComparatorenum values instead. - The
debugparameter onHatchet()is deprecated. Set debug mode via theHATCHET_CLIENT_DEBUGenvironment variable instead. - The
clientparameter onHatchet()is deprecated and will be removed in v2.0.0. Hatchet.get_current_context()is deprecated. Use theHatchet.current_contextproperty instead.Context.step_run_idis deprecated. UseContext.task_run_idinstead.Context.workflow_inputandContext.inputare deprecated. Use the input argument passed directly to the task function instead.Context.aio_task_output()is deprecated. UseContext.task_output()instead.Context.doneis deprecated. UseContext.is_cancelledinstead.Context.fetch_task_run_error()is deprecated. UseContext.get_task_run_error()instead.- Deprecates a number of internal properties and methods on the
WorkerandContextthat are not intended for public use. These will be removed in v2.0.0. - Accessing
ctx.workeris now deprecated. Use the various properties on the context directly, such asctx.worker_idinstead ofctx.worker.id().
v1.30.0 - 2026-03-30
Changed
- Adds
mcp_toolmethods to Workflows and Standalone tasks providing compatibility with Claude and OpenAI MCP server tools.
v1.29.5 - 2026-03-25
Changed
- Event source info (
hatchet__source_workflow_run_id,hatchet__source_step_run_id) is now injected into event metadata at theEventClientlevel, so cross-workflow trace linking works even without the OTel instrumentor enabled.
v1.29.3 - 2026-03-23
Changed
- Fixes
aio_memowrapping issue in the OTel instrumentor
v1.29.2 - 2026-03-17
Added
- Added
listandaio_listmethod for Rate Limits Client - Added
pause,unpause,aio_pause, andaio_unpausemethods for workers client
v1.29.1 - 2026-03-17
Changed
- Updates the
DurableTaskRunAckEntrymodel to includeworkflow_run_external_idfield, to enable spawning children from durable tasks fire-and-forget style.
v1.29.0 - 2026-03-16
Added
- Added a
DurableContext.wait_for_eventhelper which returns the payload of the awaited event. - Added an
EvictionPolicy, which allows durable tasks to be evicted from the worker when idle.
Changed
- Makes a bunch of internal-facing changes for new durable execution features
v1.28.2 - 2026-03-12
Changed
- Fixes a bug where the literal string (
\u0000) in task output was incorrectly rejected as null unicode.
v1.28.1 - 2026-03-05
Changed
- Fixes a bug where lifespans are shut down eagerly before the worker is drained, causing unexpected behavior in still-running tasks.
- Cron expressions now support an optional leading seconds field (6-part expressions), e.g.
30 * * * * *to trigger at 30 seconds past every minute.
v1.28.0 - 2026-03-02
Added
- Adds a
desired_worker_labelsparameter to theTriggerWorkflowOptionsto allow for dynamically routing task runs to a specific worker at trigger time
Changed
- Adds support for second-level (six-entry) cron expressions (only supported on new engine versions)
v1.27.2 - 2026-02-28
Added
- Adds the
worker_idto theContext
Changed
- Fixes a bug where failed serialization of task outputs causes the task to hang indefinitely.
v1.27.1 - 2026-02-27
Changed
- Updated internal dependencies to address security advisories.
v1.27.0 - 2026-02-27
Added
- Adds a
get_current_contexthelper on the mainHatchetclient to allow users to get the currentContextin tasks (generally in functions called from tasks) without needing to drill theContextthrough function parameters.
Changed
- Significantly improves serialization performance for task inputs and outputs by using the
dump_jsonmethod on theTypeAdapterto do serialization in Rust. Mimics a similar recent change in FastAPI.
v1.26.2 - 2026-02-26
Added
- Adds
retry_transport_errorsandretry_transport_methodstoTenacityConfigto optionally retry REST transport-level failures for configured HTTP methods (default:GET,DELETE). Default behavior is unchanged.
Changed
- Uses a structured
http_methodonRestTransportErrorfor determining retry eligibility.
v1.26.1 - 2026-02-25
Added
- Adds
retry_429toTenacityConfig(default:False) to optionally retry REST HTTP 429 responses. - Adds
TooManyRequestsExceptionand maps REST HTTP 429 responses to it.
v1.26.0 - 2026-02-25
Fixed
- Fixes dependencies not working when using
type Dependency = Annotated[..., ...]syntax for annotations on python version 3.12 and 3.13. Addstyping-inspectionas a dependency.
Changed
- Changes one function in the python SDK to use
inspect.iscoroutinefunctioninstead ofasyncio.iscoroutinefunctionwhich is deprecated.
v1.25.2 - 2026-02-19
Fixed
- Reverts cancellation changes in 1.25.0 that introduced a regression
v1.25.1 - 2026-02-17
Fixed
- Fixes internal registration of durable slots
v1.25.0 - 2026-02-17 YANKED ON 2/19/26
Added
- Adds a
CancellationTokenclass for coordinating cancellation across async and sync operations. The token provides bothasyncio.Eventandthreading.Eventprimitives, and supports registering child workflow run IDs and callbacks. - Adds a
CancellationReasonenum with structured reasons for cancellation (user_requested,timeout,parent_cancelled,workflow_cancelled,token_cancelled). - Adds a
CancelledErrorexception (inherits fromBaseException, mirroringasyncio.CancelledError) for sync code paths. - Adds
cancellation_grace_periodandcancellation_warning_thresholdconfiguration options toClientConfigfor controlling cancellation timing behavior. - Adds
await_with_cancellationandrace_against_tokenutility functions for racing awaitables against cancellation tokens. - The
Contextnow exposes acancellation_tokenproperty, allowing tasks to observe and react to cancellation signals directly.
Changed
- The
Context.exit_flagis now backed by aCancellationTokeninstead of a plain boolean. The property is maintained for backwards compatibility. - Durable context
aio_wait_fornow respects the cancellation token, raisingasyncio.CancelledErrorif the task is cancelled while waiting.
v1.24.0 - 2026-02-13
Added
- Webhooks client for managing incoming webhooks: create, list, get, update, and delete methods for webhooks, so external systems (e.g. GitHub, Stripe) can trigger workflows via HTTP.
v1.23.4 - 2026-02-13
Changed
- Fixes cases where raising exception classes or exceptions with no message would cause the whole error including stack trace to be converted to an empty string.
- When an error is raised because a workflow has no tasks it now includes the workflows name.
v1.23.3 - 2026-02-12
Added
- Adds type-hinted
Standalone.output_validatorandStandalone.output_validator_typeproperties to support easier type-safety and match theinput_validatorproperty pattern onBaseWorkflow. - Adds type-hinted
Task.output_validatorandTask.output_validator_typeproperties to support easier type-safety and match the patterns onBaseWorkflow/Standalone. - Adds parameterized unit tests documenting current retry behavior of the Python SDK’s tenacity retry predicate for REST and gRPC errors.
v1.23.2 - 2026-02-11
Changed
- Improves error handling for REST transport-level failures by raising typed exceptions for timeouts, connection, TLS, and protocol errors while preserving existing diagnostics.
v1.23.1 - 2026-02-10
Changed
- Fixes a bug introduced in v1.21.0 where the
BaseWorkflow.input_validatorclass property became incorrectly typed. Now separate properties are available for the type adapter and the underlying type.
v1.23.0 - 2026-02-05
Internal Only
- Updated gRPC/REST contract field names to snake_case for consistency across SDKs.
v1.22.16 - 2026-02-05
Changed
- Changes the python SDK to use
inspect.iscoroutinefunctioninstead ofasyncio.iscoroutinefunctionwhich is deprecated. - Improves error diagnostics for transport-level failures in the REST client, such as SSL, connection, and timeout errors, by surfacing additional context.
v1.22.15 - 2026-02-02
Added
- Adds
task_nameandworkflow_nameproperties to theContextandDurableContextclasses to allow tasks and lifespans to access their own names.
Changed
- Fixes a bug to allow
ContextVarsto be used in lifespans - Improves worker shutdown + cleanup logic to avoid leaking semaphores in the action listener process.
v1.22.14 - 2026-01-31
Changed
- Allows
Noneto be sent fromsend_step_action_eventto help limit an internal error on the engine.
v1.22.13 - 2026-01-29
Added
- Sends the
task_retry_countwhen sending logs to the engine to enable filtering on the frontend.
v1.22.12 - 2026-01-28
Added
- Adds a
default_additional_metadatato thehatchet.workflow,hatchet.task, andhatchet.durable_taskmethods, which allows you to declaratively provide additional metadata that will be attached to each run of the workflow or task by default.
Internal Only
- Sends a JSON schema to the engine on workflow registration in order to power autocomplete for triggering workflows from the dashboard.
v1.22.11 - 2026-01-27
Changed
- Improves handling of cancellations for tasks to limit how often tasks receive a cancellation but then are marked as succeeded anyways.
v1.22.10 - 2026-01-26
Added
HATCHET_CLIENT_WORKER_HEALTHCHECK_BIND_ADDRESSnow allows configuring the bind address for the worker healthcheck server (default:0.0.0.0)
v1.22.9 - 2026-01-26
Added
- Adds missing
unwrapforschedule_workflowin OpenTelemetry instrumentor.
v1.22.8 - 2026-01-20
Added
- Adds
HATCHET_CLIENT_WORKER_HEALTHCHECK_EVENT_LOOP_BLOCK_THRESHOLD_SECONDSto configure when the worker healthcheck becomes unhealthy if the listener process event loop is blocked / task runs are not starting promptly.
Removed
- Removes a bunch of Poetry scripts that were mostly used for local development and are not necessary for end users of the SDK.
Changed
- The worker healthcheck server (
/health,/metrics) now runs in the spawned action-listener process (non-durable preferred; durable fallback), instead of the main worker process. - The worker
/healthendpoint now checks for listener connection status and aio event loop health. - The worker
/metricsendpoint now exposes listener-focused metrics likehatchet_worker_listener_health_<worker_name>andhatchet_worker_event_loop_lag_seconds_<worker_name>.
v1.22.7 - 2026-01-19
Added
- Adds
is_in_hatchet_serialization_contextfunction which can be used on a PydanticValidationInfo.contextto determine if the validation/serialization is occurring as a part of Hatchet deserializing task input or serializing task outputs.
v1.22.6 - 2026-01-14
Added
- Adds
max_attempts: int(retries + 1) to the Context
v1.22.5 - 2026-01-09
Added
- Adds an
additional_metadatafield to theget_detailsresponse.
v1.22.4 - 2026-01-08
Added
- Adds a
get_detailsmethod to the runs client
v1.22.3 - 2026-01-07
Changed
- Fixes an issue with the type signature for chained dependencies
- Truncates log messages to 10,000 characters to avoid issues with overly large logs.
v1.22.2 - 2025-12-31
Added
- Crons can now be provided by alias, e.g.
@daily
Changed
- Failed workflow logs are only reported at the
exceptionlevel either on the last retry attempt or if the task is marked asnon_retryable, to avoid spamming e.g. Sentry with exceptions.
v1.22.1 - 2025-12-30
Changed
- Regenerates some API signatures after deprecating many v0 routes.
v1.22.0 - 2025-12-26
Added
- Dependencies are now chainable, so one dependency can rely on an upstream one, similar to in FastAPI.
- Dependencies can now be both functions (sync and async) and context managers (sync and async) to allow for cleaning up things like database connections, etc.
- The
ClientConfighas a newTenacityobject, which allows for specifying retry config. - Concurrency limits can now be specified as integers, which will provide behavior equivalent to setting a constant key with a
GROUP_ROUND_ROBINstrategy.
Changed
- Improves the errors raised out of the sync
resultmethod on theWorkflowRunRefto be more in line with the async version, raising aFailedTaskRunExceptionGroupthat contains all of the task run errors instead of just the first one.
Internal
- Replaces manual validation logic with Pydantic’s
TypeAdapterfor improved correctness and flexibility.
v1.21.8 - 2025-12-26
Changed
- Fixes a bug where static rate limits reset their own values to zero on task registration.
v1.21.7 - 2025-12-15
Added
- Adds a
getmethod to the event client
v1.21.6 - 2025-12-11
Added
- Adds
get_task_statsandaio_get_task_statsmethods to themetricsfeature client.
Changed
- Regenerates the REST and gRPC clients to pick up latest API changes.
v1.21.5 - 2025-12-06
Changed
- Task outputs that fail to serialize to JSON will now raise an
IllegalTaskOutputErrorinstead of being stringified. This pulls errors from the engine upstream to the SDK, and will allow users to catch and handle these errors more easily.
v1.21.4 - 2025-12-05
Added
- Adds support for dynamic rate limits using CEL expressions (strings) for the
limitparameter.
Changed
- Fixes a serialization error caused by Pydantic sometimes being unable to encode bytes, reported here: https://github.com/hatchet-dev/hatchet/issues/2601
- Fixes a bug where string-based CEL expressions for
limitwere rejected due to the validation logic.
v1.21.3 - 2025-11-26
Added
- Adds GZIP compression for gRPC communication between the SDK and the Hatchet engine to reduce bandwidth usage.
v1.21.2 - 2025-11-13
Added
- Adds an OTel option to allow you to include the action name in the root span name for task runs.
Changed
- Span kinds (e.g. producer, consumer) have been added to OpenTelemetry spans created by the SDK to better reflect their roles.
v1.21.1 - 2025-11-08
Changed
- The
listmethods for the logs client now allow for pagination via thelimit,since, anduntilparams.
v1.21.0 - 2025-10-31
Added
- Adds support for dataclasses as input validators for workflows (and tasks), and also as output validators for tasks.
Changed
- Fixes a bug where an exception in a lifespan would cause the lifespan to hang indefinitely.
v1.20.2 - 2025-10-15
Added
- Adds a
include_payloadsparameter to thelistmethods on the runs client (defaults to true, so no change in behavior).
v1.20.1 - 2025-10-14
Added
- Adds wrapper methods for bulk cancelling / replaying large numbers of runs with pagination.
v1.20.0 - 2025-10-3
Removed
- Removes all references to
get_group_key_*which is no longer available in V1 - Removes all checks + references to V0
v1.19.0 - 2025-09-24
Removed
- Removed the deprecated
v0client and all related code. - Removed unused dependencies.
v1.18.1 - 2025-08-26
Changed
- Fixes an install issue caused by a misnamed optional dependency.
v1.18.0 - 2025-08-26
Added
- Adds a
stubsclient on the mainHatchetclient, which allows for creating typed stub tasks and workflows. These are intended to be used for triggering workflows that are registered on other workers in either other services or other languages. - Adds a config option
force_shutdown_on_shutdown_signalwhich allows users to forcefully terminate all processes when a shutdown signal is received instead of waiting for them to exit gracefully.
v1.17.2 - 2025-08-20
Added
- Adds back an optional
cel-pythondependency for v0 compatibility, allowing users to use the v0 client with the v0-compatible features in the SDK. - Adds
dependenciesto themock_runmethods on theStandalone. - Removes
aiostreamdependency that was unused. - Removes
aiohttp-retrydependency that was unused.
v1.17.1 - 2025-08-18
Added
- Adds a
HATCHET_CLIENT_LOG_QUEUE_SIZEenvironment variable to configure the size of the log queue used for capturing logs and forwarding them to Hatchet
v1.17.0 - 2025-08-12
Added
- Adds support for dependency injection in tasks via the
Dependsclass. - Deprecated
fetch_task_run_errorin favor ofget_task_run_error, which returns aTaskRunErrorobject instead of a string. This allows for better error handling and debugging.
Changed
- Uses
logger.exceptionin place oflogger.errorin the action runner to improve (e.g.) Sentry error reporting - Extends the
TaskRunErrorto include thetask_run_external_id, which is useful for debugging and tracing errors in task runs. - Fixes an issue with logging which allows log levels to be respected over the API.
Removed
- Removes the
cel-pythondependency
v1.16.5 - 2025-08-07
Changed
- Relaxes constraint on Prometheus dependency
v1.16.4 - 2025-07-28
Added
- Adds a new config option
grpc_enable_fork_supportto allow users to enable or disable gRPC fork support. This is useful for environments where gRPC fork support is not needed or causes issues. Previously was set toFalseby default, which would cause issues with e.g. Gunicorn setups. Can also be set with theHATCHET_CLIENT_GRPC_ENABLE_FORK_SUPPORTenvironment variable.
Changed
- Changes
ValidTaskReturnTypeto allowMapping[str, Any]instead ofdict[str, Any]to allow for more flexible return types in tasks, including usingTypedDict.
v1.16.3 - 2025-07-23
Added
- Adds support for filters and formatters in the logger that’s passed to the Hatchet client.
- Adds a flag to disable log capture.
Changed
- Fixes a bug in
aio_sleep_forand theSleepConditionthat did not allow duplicate sleeps to be awaited correctly. - Stops retrying gRPC requests on 4XX failures, since retrying won’t help
v1.16.2 - 2025-07-22
Added
- Adds an
input_validatorproperty toBaseWorkflowwhich returns a typechecker-aware version of the validator class.
v1.16.1 - 2025-07-18
Added
- Adds a
CELfeature client for debugging CEL expressions
v1.16.0 - 2025-07-17
Added
- Adds new methods for unit testing tasks and standalones, called
mock_runandaio_mock_run, which allow you to run tasks and standalones in a mocked environment without needing to start a worker or connect to the engine. - Improves exception logs throughout the SDK to provide more context for what went wrong when an exception is thrown.
- Adds
create_run_ref,get_result, andaio_get_resultmethods to theStandaloneclass, to allow for getting typed results of a run more easily. - Adds
return_exceptionsoption to therun_manyandaio_run_manymethods to be more similar to e.g.asyncio.gather. IfTrue, exceptions will be returned as part of the results instead of raising them.
Changed
- Correctly propagates additional metadata through the various
runmethods to spawned children.
v1.15.3 - 2025-07-14
Changed
remove_null_unicode_characternow accepts any type of data, not just strings, dictionaries, lists, and tuples. If the data is not one of these types, it’s returned as-is.
v1.15.2 - 2025-07-12
Changed
- Fixes an issue in
capture_logswhere thelogcall was blocking the event loop.
v1.15.1 - 2025-07-11
Added
- Correctly sends SDK info to the engine when a worker is created
v1.15.0 - 2025-07-10
Added
- The
Metricsclient now includes a method to scrape Prometheus metrics from the tenant.
Changed
- The
Metricsclient’sget_task_metricsandget_queue_metricsnow return better-shaped, correctly-fetched data from the API.
v1.14.4 - 2025-07-09
Added
- Adds
deleteandaio_deletemethods to the workflows feature client and the correspondingWorkflowandStandaloneclasses, allowing for deleting workflows and standalone tasks.
v1.14.3 - 2025-07-07
Added
- Adds
remove_null_unicode_characterutility function to remove null unicode characters from data structures.
Changed
- Task outputs that contain a null unicode character (\u0000) will now throw an exception instead of being serialized.
- OpenTelemetry instrumentor now correctly reports exceptions raised in tasks to the OTel collector.
v1.14.2 - 2025-07-03
Added
- The
Runsclient now haslist_with_paginationandaio_list_with_paginationmethods that allow for listing workflow runs with internal pagination. The wrappers on theStandaloneandWorkflowclasses have been updated to use these methods. - Added retries with backoff to all of the REST API wrapper methods on the feature clients.
v1.14.1 - 2025-07-03
Changed
DurableContext.aio_wait_forcan now accept an or group, in addition to sleep and event conditions.
v1.14.0 - 2025-06-25
Added
- Adds an
IllegalTaskOutputErrorthat handles cases where tasks return invalid outputs. - Logs
NonRetryableExceptionas an info-level log so it doesn’t get picked up by Sentry and similar tools.
Changed
- Exports
NonRetryableExceptionat the top level - Fixes an issue with the
statusfield throwing a Pydantic error when callingworker.get - Fixes an issue with duplicate protobufs if you try to import both the v1 and v0 clients.
v1.13.0 - 2025-06-25
Added
- Documentation for the
Contextclasses - Allows for a worker to be terminated after a certain number of tasks by providing the
terminate_worker_after_num_tasksconfig option
Changed
- Adds a number of helpful Ruff linting rules
DedupeViolationErris nowDedupeViolationError- Fixed events documentation to correctly have a skipped run example.
- Changed default arguments to many methods from mutable defaults like
[]to None - Changes
JSONSerializableMappingfromMappingtodict - Handles some potential bugs related to
asynciotasks being garbage collected. - Improves exception printing with an
ExceptionGroupimplementation - Fixes a bug with namespacing of user event conditions where the namespace was not respected so the task waiting for it would hang
- Fixes a memory leak in streaming and logging, and fixes some issues with log capture.
v1.12.3 - 2025-06-25
Changed
- Fixes a namespacing-related but in the
workflow.idproperty that incorrectly (and inconsistently) returned incorrect IDs for namespaced workflows.
v1.12.2 - 2025-06-17
Changed
- Fixes a security vulnerability by bumping the
protobuflibrary
v1.12.1 - 2025-06-13
Added
- Adds corresponding SDK changes from API changes to events (additional parameters to filter events by, additional data returned)
v1.12.0 - 2025-06-06
Added
- Adds a warning on client init if the SDK version is not compatible with the tenant (engine) version.
- Adds a
default_filtersparameter to theHatchet.workflowandHatchet.taskmethods to allow you to declaratively provide a list of filters that will be applied to the workflow by default when events are pushed. - Adds
get_statusandaio_get_statusmethods to theRunsfeature client, which return a workflow run’s status by its ID. - Adds a
updatemethods to theFiltersfeature client.
Changed
- Allows the
concurrencyparameter to tasks to be alist. - Fixes an internal bug with duplicate concurrency expressions being set when using
Hatchet.task. - Modifies existing
datetimehandling to use UTC timestamps everywhere.
v1.11.1 - 2025-06-05
Changed
- Fixes a couple of blocking calls buried in the admin client causing loop blockages on child spawning
v1.11.0 - 2025-05-29
Changed
- Significant improvements to the OpenTelemetry instrumentor, including:
- Traceparents are automatically propagated through the metadata now so the client does not need to provide them manually.
- Added a handful of attributes to the
run_workflow,push_event, etc. spans, such as the workflow being run / event being pushed, the metadata, and so on. Ignoring - Added tracing for workflow scheduling
v1.10.2 - 2025-05-19
Changed
- Fixing an issue with the spawn index being set at the
workflow_run_idlevel and not the(workflow_run_id, retry_count)level, causing children to be spawned multiple times on retry.
v1.10.1 - 2025-05-16
Added
- Adds an
otelitem to theClientConfigand aexcluded_attributes: list[OTelAttribute]there to allow users to exclude certain attributes from being sent to the OpenTelemetry collector.
v1.10.0 - 2025-05-16
Added
- The main
Hatchetclient now has afiltersattribute (aFiltersclient) which wraps basic CRUD operations for managing filters. - Events can now be pushed with a
priorityattribute, which sets the priority of the runs triggered by the event. - There are new
listandaio_listmethods for theEventsclient, which allow listing events. - Workflow runs can now be filtered by
triggering_event_external_id, to allow for seeing runs triggered by a specific event. - There is now an
idproperty on allWorkflowobjects (Workflowcreated byhatchet.workflowandStandalonecreated byhatchet.task) that returns the ID (UUID) of the workflow. - Events can now be pushed with a
scopeparameter, which is required for using filters to narrow down the filters to consider applying when triggering workflows from the event.
Changed
- The
nameparameter tohatchet.taskandhatchet.durable_taskis now optional. If not provided, the task name will be the same as the function name.