Skip to content

chore: release v4.5.0-rc.4 - #3788

Merged
ericallam merged 1 commit into
mainfrom
changeset-release/main
Jun 2, 2026
Merged

chore: release v4.5.0-rc.4#3788
ericallam merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actionsgithub-actionsBot commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

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)

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)
  • 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)
  • 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)
  • Coerce numeric concurrencyKey values to string at the API boundary across tasks.trigger, tasks.batchTrigger, and the Phase-2 streaming batch endpoint. (#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)
Raw changeset output

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

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)
  • 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)

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)
  • 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)
  • 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)
  • 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)
  • 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)

@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)

    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

@github-actionsgithub-actionsBot changed the title chore: release (rc)chore: release v4.5.0-rc.4Jun 1, 2026

@devin-ai-integrationdevin-ai-integrationBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Open in Devin Review

@github-actionsgithub-actionsBot changed the title chore: release v4.5.0-rc.4chore: release (rc)Jun 1, 2026
@github-actions
github-actionsBotforce-pushed the changeset-release/main branch from 0abaeba to 9a9dab9CompareJune 1, 2026 11:02
@github-actionsgithub-actionsBot changed the title chore: release (rc)chore: release v4.5.0-rc.4Jun 1, 2026
devin-ai-integration[bot]

This comment was marked as resolved.

@github-actionsgithub-actionsBot changed the title chore: release v4.5.0-rc.4chore: release (rc)Jun 1, 2026
@github-actions
github-actionsBotforce-pushed the changeset-release/main branch from 9a9dab9 to 4120d79CompareJune 1, 2026 11:36
@github-actionsgithub-actionsBot changed the title chore: release (rc)chore: release v4.5.0-rc.4Jun 1, 2026
@github-actionsgithub-actionsBot changed the title chore: release v4.5.0-rc.4chore: release (rc)Jun 1, 2026
@github-actions
github-actionsBotforce-pushed the changeset-release/main branch from 4120d79 to 2f69ccfCompareJune 1, 2026 12:21
@github-actionsgithub-actionsBot changed the title chore: release (rc)chore: release v4.5.0-rc.4Jun 1, 2026
@github-actionsgithub-actionsBot changed the title chore: release v4.5.0-rc.4chore: release (rc)Jun 1, 2026
@github-actions
github-actionsBotforce-pushed the changeset-release/main branch from 2f69ccf to 8958b55CompareJune 1, 2026 13:55
@github-actionsgithub-actionsBot changed the title chore: release (rc)chore: release v4.5.0-rc.4Jun 1, 2026
@github-actionsgithub-actionsBot changed the title chore: release v4.5.0-rc.4chore: release (rc)Jun 1, 2026
@github-actions
github-actionsBotforce-pushed the changeset-release/main branch from 8958b55 to 5739fc1CompareJune 1, 2026 15:25
@github-actionsgithub-actionsBot changed the title chore: release (rc)chore: release v4.5.0-rc.4Jun 1, 2026
@github-actionsgithub-actionsBot changed the title chore: release v4.5.0-rc.4chore: release (rc)Jun 1, 2026
@github-actions
github-actionsBotforce-pushed the changeset-release/main branch from 5739fc1 to 79e3a69CompareJune 1, 2026 15:52
@github-actionsgithub-actionsBot changed the title chore: release (rc)chore: release v4.5.0-rc.4Jun 1, 2026
@github-actionsgithub-actionsBot changed the title chore: release v4.5.0-rc.4chore: release (rc)Jun 1, 2026
@github-actions
github-actionsBotforce-pushed the changeset-release/main branch from 79e3a69 to 0aa3367CompareJune 1, 2026 16:28
@github-actionsgithub-actionsBot changed the title chore: release (rc)chore: release v4.5.0-rc.4Jun 1, 2026
@github-actionsgithub-actionsBot changed the title chore: release v4.5.0-rc.4chore: release (rc)Jun 1, 2026
@github-actions
github-actionsBotforce-pushed the changeset-release/main branch from 0aa3367 to af61dceCompareJune 1, 2026 17:15
@github-actionsgithub-actionsBot changed the title chore: release (rc)chore: release v4.5.0-rc.4Jun 1, 2026
@github-actionsgithub-actionsBot changed the title chore: release v4.5.0-rc.4chore: release (rc)Jun 2, 2026
@github-actions
github-actionsBotforce-pushed the changeset-release/main branch from af61dce to e0620caCompareJune 2, 2026 07:20
@github-actionsgithub-actionsBot changed the title chore: release (rc)chore: release v4.5.0-rc.4Jun 2, 2026
@ericallam
ericallam merged commit e0681d2 into mainJun 2, 2026
10 checks passed
@ericallam
ericallam deleted the changeset-release/main branch June 2, 2026 08:35
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@ericallam