mirror of
https://github.com/hatchet-dev/hatchet.git
synced 2026-01-04 15:52:25 -06:00
* fix: filters contracts + version bumps * chore: gen * feat: implement streaming for ts * fix: v0 sdk side by side * fix: optional status on semaphore slots * fix: gen script * chore: lint + gen * chore: gen * fix: fmt * fix: revert changes * feat: handle incorrect return types * fix: worker status not assigned * fix: improve handling of other types of pydantic models * fix: handle null output case * fix: get group key * fix: info level log for non-retry * fix: export non retry at top level * fix: changelog * chore: gen * chore: gen
4.9 KiB
4.9 KiB
Changelog
All notable changes to Hatchet's Python SDK will be documented in this changelog.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.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.
[1.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.
[1.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.
[1.12.2] - 2025-06-17
Changed
- Fixes a security vulnerability by bumping the
protobuflibrary
[1.12.1] - 2025-06-13
Added
- Adds corresponding SDK changes from API changes to events (additional parameters to filter events by, additional data returned)
[1.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.
[1.11.1] - 2025-06-05
Changed
- Fixes a couple of blocking calls buried in the admin client causing loop blockages on child spawning
[1.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
[1.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.
[1.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.
[1.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.