Files
triggerdotdev--trigger.dev/packages/python/CHANGELOG.md
T
github-actions[bot] e0681d2394
🚀 Publish Trigger.dev Docker / units (push) Failing after 3s
🚀 Publish Trigger.dev Docker / typecheck (push) Failing after 19s
🚀 Publish Trigger.dev Docker / publish-webapp (push) Has been skipped
🚀 Publish Trigger.dev Docker / publish-worker (push) Has been skipped
🚀 Publish Trigger.dev Docker / publish-worker-v4 (push) Has been skipped
🧭 Helm Chart Release / lint-and-test (push) Has been cancelled
🧭 Helm Chart Release / release (push) Has been cancelled
chore: release v4.5.0-rc.4 (#3788)
## Summary
1 new feature, 5 improvements.

## Highlights

- Mollifier `mutateSnapshot` now enforces a tag cap: an `append_tags`
patch carrying `maxTags` returns `"limit_exceeded"` (writing nothing)
when the deduped tag count would exceed the limit, so a buffered run
can't accumulate more tags via the tags API than the trigger validator
allows at creation.
([#3756](https://github.com/triggerdotdev/trigger.dev/pull/3756))

## Improvements
- Mollifier buffer extensions: idempotency dedup, an atomic
`mutateSnapshot` API, metadata CAS, claim primitives, and a
`MollifierSnapshot` type. The buffer's Redis client now reconnects with
jittered backoff so a fleet of clients doesn't stampede Redis in
lockstep after a blip.
([#3752](https://github.com/triggerdotdev/trigger.dev/pull/3752))
- Add `onTerminalFailure` callback to `MollifierDrainerOptions` so the
customer's run lands a SYSTEM_FAILURE PG row even when the drainer
exhausts `maxAttempts` on a retryable PG error. Previously,
retryable-error exhaustion called `buffer.fail()` directly, which
atomically marks FAILED + DELs the entry hash with no PG write — silent
data loss when PG was unreachable across the full retry budget. The
callback fires before `buffer.fail()` on any terminal path (`cause:
"non-retryable"` or `"max-attempts-exhausted"`); throwing a retryable
error from the callback causes the drainer to requeue rather than fail.
([#3754](https://github.com/triggerdotdev/trigger.dev/pull/3754))
- Bump `@s2-dev/streamstore` to `0.22.10` to fix a
`TASK_RUN_UNCAUGHT_EXCEPTION` ("Invalid state: Unable to enqueue") when
a `chat.agent` turn is aborted mid-stream.
([#3792](https://github.com/triggerdotdev/trigger.dev/pull/3792))
- Coerce numeric `concurrencyKey` values to string at the API boundary
across `tasks.trigger`, `tasks.batchTrigger`, and the Phase-2 streaming
batch endpoint.
([#3789](https://github.com/triggerdotdev/trigger.dev/pull/3789))
- Add a `tools` option to `chat.agent`. Declaring your tools here
threads them into the SDK's internal `convertToModelMessages`, so each
tool's `toModelOutput` is re-applied when prior-turn history is
re-converted.
([#3790](https://github.com/triggerdotdev/trigger.dev/pull/3790))

<details>
<summary>Raw changeset output</summary>

⚠️⚠️⚠️⚠️⚠️⚠️

`main` is currently in **pre mode** so this branch has prereleases
rather than normal releases. If you want to exit prereleases, run
`changeset pre exit` on `main`.

⚠️⚠️⚠️⚠️⚠️⚠️

# Releases
## @trigger.dev/redis-worker@4.5.0-rc.4

### Minor Changes

- Mollifier buffer extensions: idempotency dedup, an atomic
`mutateSnapshot` API, metadata CAS, claim primitives, and a
`MollifierSnapshot` type. The buffer's Redis client now reconnects with
jittered backoff so a fleet of clients doesn't stampede Redis in
lockstep after a blip.
([#3752](https://github.com/triggerdotdev/trigger.dev/pull/3752))
- Add `onTerminalFailure` callback to `MollifierDrainerOptions` so the
customer's run lands a SYSTEM_FAILURE PG row even when the drainer
exhausts `maxAttempts` on a retryable PG error. Previously,
retryable-error exhaustion called `buffer.fail()` directly, which
atomically marks FAILED + DELs the entry hash with no PG write — silent
data loss when PG was unreachable across the full retry budget. The
callback fires before `buffer.fail()` on any terminal path (`cause:
"non-retryable"` or `"max-attempts-exhausted"`); throwing a retryable
error from the callback causes the drainer to requeue rather than fail.
([#3754](https://github.com/triggerdotdev/trigger.dev/pull/3754))

### Patch Changes

- Pipeline the per-entry `HGETALL` fetches in
`MollifierBuffer.listEntriesForEnv`. The previous serial implementation
issued one Redis round-trip per runId returned by `LRANGE`, which
dominated stale-sweep wall-time at any meaningful backlog (at the
sweep's default maxCount=1000, this is ~1000 RTTs per env per pass).
Behaviour is unchanged — entries are still skipped when the entry hash
has been torn down by a concurrent drainer ack/fail between the LRANGE
and the HGETALL.
([#3752](https://github.com/triggerdotdev/trigger.dev/pull/3752))
- Mollifier `mutateSnapshot` now enforces a tag cap: an `append_tags`
patch carrying `maxTags` returns `"limit_exceeded"` (writing nothing)
when the deduped tag count would exceed the limit, so a buffered run
can't accumulate more tags via the tags API than the trigger validator
allows at creation.
([#3756](https://github.com/triggerdotdev/trigger.dev/pull/3756))
-   Updated dependencies:
    -   `@trigger.dev/core@4.5.0-rc.4`

## @trigger.dev/build@4.5.0-rc.4

### Patch Changes

-   Updated dependencies:
    -   `@trigger.dev/core@4.5.0-rc.4`

## trigger.dev@4.5.0-rc.4

### Patch Changes

- Bump `@s2-dev/streamstore` to `0.22.10` to fix a
`TASK_RUN_UNCAUGHT_EXCEPTION` ("Invalid state: Unable to enqueue") when
a `chat.agent` turn is aborted mid-stream.
([#3792](https://github.com/triggerdotdev/trigger.dev/pull/3792))
-   Updated dependencies:
    -   `@trigger.dev/core@4.5.0-rc.4`
    -   `@trigger.dev/build@4.5.0-rc.4`
    -   `@trigger.dev/schema-to-json@4.5.0-rc.4`

## @trigger.dev/core@4.5.0-rc.4

### Patch Changes

- Coerce numeric `concurrencyKey` values to string at the API boundary
across `tasks.trigger`, `tasks.batchTrigger`, and the Phase-2 streaming
batch endpoint.
([#3789](https://github.com/triggerdotdev/trigger.dev/pull/3789))
- Bump `@s2-dev/streamstore` to `0.22.10` to fix a
`TASK_RUN_UNCAUGHT_EXCEPTION` ("Invalid state: Unable to enqueue") when
a `chat.agent` turn is aborted mid-stream.
([#3792](https://github.com/triggerdotdev/trigger.dev/pull/3792))

## @trigger.dev/plugins@4.5.0-rc.4

### Patch Changes

-   Updated dependencies:
    -   `@trigger.dev/core@4.5.0-rc.4`

## @trigger.dev/python@4.5.0-rc.4

### Patch Changes

-   Updated dependencies:
    -   `@trigger.dev/sdk@4.5.0-rc.4`
    -   `@trigger.dev/core@4.5.0-rc.4`
    -   `@trigger.dev/build@4.5.0-rc.4`

## @trigger.dev/react-hooks@4.5.0-rc.4

### Patch Changes

-   Updated dependencies:
    -   `@trigger.dev/core@4.5.0-rc.4`

## @trigger.dev/rsc@4.5.0-rc.4

### Patch Changes

-   Updated dependencies:
    -   `@trigger.dev/core@4.5.0-rc.4`

## @trigger.dev/schema-to-json@4.5.0-rc.4

### Patch Changes

-   Updated dependencies:
    -   `@trigger.dev/core@4.5.0-rc.4`

## @trigger.dev/sdk@4.5.0-rc.4

### Patch Changes

- Add a `tools` option to `chat.agent`. Declaring your tools here
threads them into the SDK's internal `convertToModelMessages`, so each
tool's `toModelOutput` is re-applied when prior-turn history is
re-converted.
([#3790](https://github.com/triggerdotdev/trigger.dev/pull/3790))

    ```ts
    chat.agent({
      tools: { readFile, search },
      run: async ({ messages, tools, signal }) =>
        streamText({ model, messages, tools, abortSignal: signal }),
    });
    ```

Also exports `InferChatUIMessageFromTools<typeof tools>` to derive the
chat `UIMessage` type (typed tool parts) directly from a tool set.

-   Updated dependencies:
    -   `@trigger.dev/core@4.5.0-rc.4`

</details>

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-02 09:35:14 +01:00

10 KiB

@trigger.dev/python

4.5.0-rc.4

Patch Changes

  • Updated dependencies:
    • @trigger.dev/sdk@4.5.0-rc.4
    • @trigger.dev/core@4.5.0-rc.4
    • @trigger.dev/build@4.5.0-rc.4

4.5.0-rc.3

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.5.0-rc.3
    • @trigger.dev/build@4.5.0-rc.3
    • @trigger.dev/sdk@4.5.0-rc.3

4.5.0-rc.2

Patch Changes

  • Updated dependencies:
    • @trigger.dev/sdk@4.5.0-rc.2
    • @trigger.dev/build@4.5.0-rc.2
    • @trigger.dev/core@4.5.0-rc.2

4.5.0-rc.1

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.5.0-rc.1
    • @trigger.dev/build@4.5.0-rc.1
    • @trigger.dev/sdk@4.5.0-rc.1

4.5.0-rc.0

Patch Changes

  • Updated dependencies:
    • @trigger.dev/sdk@4.5.0-rc.0
    • @trigger.dev/core@4.5.0-rc.0
    • @trigger.dev/build@4.5.0-rc.0

4.4.6

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.4.6
    • @trigger.dev/build@4.4.6
    • @trigger.dev/sdk@4.4.6

4.4.5

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.4.5
    • @trigger.dev/build@4.4.5
    • @trigger.dev/sdk@4.4.5

4.4.4

Patch Changes

  • Updated dependencies:
    • @trigger.dev/sdk@4.4.4
    • @trigger.dev/core@4.4.4
    • @trigger.dev/build@4.4.4

4.4.3

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.4.3
    • @trigger.dev/build@4.4.3
    • @trigger.dev/sdk@4.4.3

4.4.2

Patch Changes

  • Updated dependencies:
    • @trigger.dev/sdk@4.4.2
    • @trigger.dev/build@4.4.2
    • @trigger.dev/core@4.4.2

4.4.1

Patch Changes

  • Updated dependencies:
    • @trigger.dev/sdk@4.4.1
    • @trigger.dev/build@4.4.1
    • @trigger.dev/core@4.4.1

4.4.0

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.4.0
    • @trigger.dev/sdk@4.4.0
    • @trigger.dev/build@4.4.0

4.3.3

Patch Changes

  • Updated dependencies:
    • @trigger.dev/sdk@4.3.3
    • @trigger.dev/core@4.3.3
    • @trigger.dev/build@4.3.3

4.3.2

Patch Changes

  • Updated dependencies:
    • @trigger.dev/sdk@4.3.2
    • @trigger.dev/build@4.3.2
    • @trigger.dev/core@4.3.2

4.3.1

Patch Changes

  • Updated dependencies:
    • @trigger.dev/sdk@4.3.1
    • @trigger.dev/core@4.3.1
    • @trigger.dev/build@4.3.1

4.3.0

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.3.0
    • @trigger.dev/build@4.3.0
    • @trigger.dev/sdk@4.3.0

4.2.0

Patch Changes

  • Updated dependencies:
    • @trigger.dev/build@4.2.0
    • @trigger.dev/sdk@4.2.0
    • @trigger.dev/core@4.2.0

4.1.2

Patch Changes

  • Updated dependencies:
    • @trigger.dev/build@4.1.2
    • @trigger.dev/core@4.1.2
    • @trigger.dev/sdk@4.1.2

4.1.1

Patch Changes

  • Updated dependencies:
    • @trigger.dev/build@4.1.1
    • @trigger.dev/core@4.1.1
    • @trigger.dev/sdk@4.1.1

4.1.0

Patch Changes

  • Updated dependencies:
    • @trigger.dev/sdk@4.1.0
    • @trigger.dev/build@4.1.0
    • @trigger.dev/core@4.1.0

4.0.7

Patch Changes

  • Updated dependencies:
    • @trigger.dev/build@4.0.7
    • @trigger.dev/core@4.0.7
    • @trigger.dev/sdk@4.0.7

4.0.6

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.6
    • @trigger.dev/build@4.0.6
    • @trigger.dev/sdk@4.0.6

4.0.5

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.5
    • @trigger.dev/build@4.0.5
    • @trigger.dev/sdk@4.0.5

4.0.4

Patch Changes

  • Updated dependencies:
    • @trigger.dev/build@4.0.4
    • @trigger.dev/core@4.0.4
    • @trigger.dev/sdk@4.0.4

4.0.3

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.3
    • @trigger.dev/sdk@4.0.3
    • @trigger.dev/build@4.0.3

4.0.2

Patch Changes

  • Updated dependencies:
    • @trigger.dev/build@4.0.2
    • @trigger.dev/core@4.0.2
    • @trigger.dev/sdk@4.0.2

4.0.1

Patch Changes

  • Updated dependencies:
    • @trigger.dev/build@4.0.1
    • @trigger.dev/core@4.0.1
    • @trigger.dev/sdk@4.0.1

4.0.0

Major Changes

Patch Changes

  • Updated dependencies:
    • @trigger.dev/sdk@4.0.0
    • @trigger.dev/core@4.0.0
    • @trigger.dev/build@4.0.0

4.0.0-v4-beta.28

Patch Changes

  • Updated dependencies:
    • @trigger.dev/sdk@4.0.0-v4-beta.28
    • @trigger.dev/core@4.0.0-v4-beta.28
    • @trigger.dev/build@4.0.0-v4-beta.28

4.0.0-v4-beta.27

Patch Changes

  • Updated dependencies:
    • @trigger.dev/sdk@4.0.0-v4-beta.27
    • @trigger.dev/build@4.0.0-v4-beta.27
    • @trigger.dev/core@4.0.0-v4-beta.27

4.0.0-v4-beta.26

Patch Changes

  • Updated dependencies:
    • @trigger.dev/sdk@4.0.0-v4-beta.26
    • @trigger.dev/build@4.0.0-v4-beta.26
    • @trigger.dev/core@4.0.0-v4-beta.26

4.0.0-v4-beta.25

Patch Changes

  • Updated dependencies:
    • @trigger.dev/build@4.0.0-v4-beta.25
    • @trigger.dev/core@4.0.0-v4-beta.25
    • @trigger.dev/sdk@4.0.0-v4-beta.25

4.0.0-v4-beta.24

Patch Changes

  • Updated dependencies:
    • @trigger.dev/sdk@4.0.0-v4-beta.24
    • @trigger.dev/build@4.0.0-v4-beta.24
    • @trigger.dev/core@4.0.0-v4-beta.24

4.0.0-v4-beta.23

Patch Changes

  • Updated dependencies:
    • @trigger.dev/sdk@4.0.0-v4-beta.23
    • @trigger.dev/core@4.0.0-v4-beta.23
    • @trigger.dev/build@4.0.0-v4-beta.23

4.0.0-v4-beta.22

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.22
    • @trigger.dev/sdk@4.0.0-v4-beta.22
    • @trigger.dev/build@4.0.0-v4-beta.22

4.0.0-v4-beta.21

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.21
    • @trigger.dev/build@4.0.0-v4-beta.21
    • @trigger.dev/sdk@4.0.0-v4-beta.21

4.0.0-v4-beta.20

Patch Changes

  • Updated dependencies:
    • @trigger.dev/build@4.0.0-v4-beta.20
    • @trigger.dev/core@4.0.0-v4-beta.20
    • @trigger.dev/sdk@4.0.0-v4-beta.20

4.0.0-v4-beta.19

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.19
    • @trigger.dev/sdk@4.0.0-v4-beta.19
    • @trigger.dev/build@4.0.0-v4-beta.19

4.0.0-v4-beta.18

Patch Changes

  • Updated dependencies:
    • @trigger.dev/build@4.0.0-v4-beta.18
    • @trigger.dev/core@4.0.0-v4-beta.18
    • @trigger.dev/sdk@4.0.0-v4-beta.18

4.0.0-v4-beta.17

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.17
    • @trigger.dev/build@4.0.0-v4-beta.17
    • @trigger.dev/sdk@4.0.0-v4-beta.17

4.0.0-v4-beta.16

Patch Changes

  • Updated dependencies:
    • @trigger.dev/build@4.0.0-v4-beta.16
    • @trigger.dev/core@4.0.0-v4-beta.16
    • @trigger.dev/sdk@4.0.0-v4-beta.16

4.0.0-v4-beta.15

Patch Changes

  • Updated dependencies:
    • @trigger.dev/build@4.0.0-v4-beta.15
    • @trigger.dev/core@4.0.0-v4-beta.15
    • @trigger.dev/sdk@4.0.0-v4-beta.15

4.0.0-v4-beta.14

Patch Changes

  • Updated dependencies:
    • @trigger.dev/sdk@4.0.0-v4-beta.14
    • @trigger.dev/build@4.0.0-v4-beta.14
    • @trigger.dev/core@4.0.0-v4-beta.14

4.0.0-v4-beta.13

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.13
    • @trigger.dev/build@4.0.0-v4-beta.13
    • @trigger.dev/sdk@4.0.0-v4-beta.13

4.0.0-v4-beta.12

Patch Changes

  • Updated dependencies:
    • @trigger.dev/sdk@4.0.0-v4-beta.12
    • @trigger.dev/build@4.0.0-v4-beta.12
    • @trigger.dev/core@4.0.0-v4-beta.12

4.0.0-v4-beta.11

Patch Changes

  • Updated dependencies:
    • @trigger.dev/sdk@4.0.0-v4-beta.11
    • @trigger.dev/build@4.0.0-v4-beta.11
    • @trigger.dev/core@4.0.0-v4-beta.11

4.0.0-v4-beta.10

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.10
    • @trigger.dev/build@4.0.0-v4-beta.10
    • @trigger.dev/sdk@4.0.0-v4-beta.10

4.0.0-v4-beta.9

Patch Changes

  • Updated dependencies:
    • @trigger.dev/build@4.0.0-v4-beta.9
    • @trigger.dev/core@4.0.0-v4-beta.9
    • @trigger.dev/sdk@4.0.0-v4-beta.9

4.0.0-v4-beta.8

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.8
    • @trigger.dev/build@4.0.0-v4-beta.8
    • @trigger.dev/sdk@4.0.0-v4-beta.8

4.0.0-v4-beta.7

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.7
    • @trigger.dev/build@4.0.0-v4-beta.7
    • @trigger.dev/sdk@4.0.0-v4-beta.7

4.0.0-v4-beta.6

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.6
    • @trigger.dev/sdk@4.0.0-v4-beta.6
    • @trigger.dev/build@4.0.0-v4-beta.6

4.0.0-v4-beta.5

Patch Changes

  • Updated dependencies:
    • @trigger.dev/sdk@4.0.0-v4-beta.5
    • @trigger.dev/build@4.0.0-v4-beta.5
    • @trigger.dev/core@4.0.0-v4-beta.5

4.0.0-v4-beta.4

Patch Changes

  • Updated dependencies:
    • @trigger.dev/sdk@4.0.0-v4-beta.4
    • @trigger.dev/build@4.0.0-v4-beta.4
    • @trigger.dev/core@4.0.0-v4-beta.4

4.0.0-v4-beta.3

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.3
    • @trigger.dev/build@4.0.0-v4-beta.3
    • @trigger.dev/sdk@4.0.0-v4-beta.3

4.0.0-v4-beta.2

Patch Changes

  • Updated dependencies:
    • @trigger.dev/core@4.0.0-v4-beta.2
    • @trigger.dev/build@4.0.0-v4-beta.2
    • @trigger.dev/sdk@4.0.0-v4-beta.2

4.0.0-v4-beta.1

Patch Changes

  • Updated dependencies:
    • @trigger.dev/build@4.0.0-v4-beta.1
    • @trigger.dev/core@4.0.0-v4-beta.1
    • @trigger.dev/sdk@4.0.0-v4-beta.1

4.0.0-v4-beta.0

Major Changes

Patch Changes

  • Updated dependencies:
    • @trigger.dev/sdk@4.0.0-v4-beta.0
    • @trigger.dev/build@4.0.0-v4-beta.0
    • @trigger.dev/core@4.0.0-v4-beta.0

3.3.17

Patch Changes

  • Introduced a new Python extension to enhance the build process. It now allows users to execute Python scripts with improved support and error handling. (#1686)
  • Updated dependencies:
    • @trigger.dev/sdk@3.3.17
    • @trigger.dev/core@3.3.17
    • @trigger.dev/build@3.3.17