发布

  • chore: release v4.5.0-rc.6 (#3870)

    frostbyte_neo 发布于 2026-06-12 15:47:00 +00:00 | 696 次提交 在此版本后已推送到 main

    Summary

    7 improvements, 1 bug fix.

    Improvements

    • trigger init now sets up your AI coding assistant as part of project
      setup: pick the MCP server, the agent skills, or both, then scaffold
      with the CLI or hand off to your assistant. Adds a new getting-started
      agent skill that teaches assistants how to bootstrap Trigger.dev
      (install the SDK, write trigger.config.ts, create a first task, run
      trigger dev), so the AI-driven setup path works end to end. It ships
      in the CLI alongside the existing skills, version-matched to your SDK.
      (#3872)
    • dev and deploy now fail with a clear error when two tasks are
      defined with the same id, including across different task types (e.g. a
      scheduled task and a regular task sharing an id). Previously the second
      definition silently overwrote the first, so one of the tasks would
      vanish with no warning. Task ids are detected as duplicates during
      indexing (naming each offending id and the files it was found in), and
      the same rule is enforced server-side when the background worker is
      registered.
      (#3865)
    • trigger skills installs Trigger.dev agent skills into your coding
      agent so it knows how to write tasks, schedules, realtime, and
      chat.agent code. The skills ship with the CLI and are copied into each
      tool's native skills directory (Claude Code, Cursor, GitHub Copilot, and
      Codex / AGENTS.md), and trigger dev offers to install them on first
      run. (#3868)
    • Reliability fixes for chat.agent. A user message sent while the
      agent is streaming is no longer delivered twice (which could run a
      duplicate turn), input appends now carry an idempotency key so a retried
      send can't duplicate a message, stopping a generation clears the
      streaming state so a page reload doesn't replay the stopped turn, and
      runs can now carry the full set of dashboard tags instead of being
      silently truncated. onTurnComplete now fires on errored turns (with
      the thrown error attached) and the failed turn's user message is
      persisted so it isn't lost on the next run. Custom agents and manual
      chat.writeTurnComplete callers now trim the output stream, sending a
      custom action no longer leaves a second stream reader running, and a
      long-lived watch subscription no longer grows its dedupe set without
      bound. (#3891)
    • Continuation chat boots no longer stall for around 10 seconds before
      the first turn. The session.in resume cursor is now found with a
      non-blocking records read instead of draining an SSE long-poll (which
      always waited out its full 5 second inactivity window, twice per boot),
      the boot reads run concurrently, and chat snapshots carry the cursor so
      subsequent boots skip the scan entirely.
      (#3907)
    • Record client-side dequeue API latency in the supervisor consumer pool
      as a Prometheus histogram
      (queue_consumer_pool_dequeue_duration_seconds, labelled by outcome:
      success/empty/error).
      (#3887)
    • Add GetProjectEnvironmentsResponseBody and ProjectEnvironment
      schemas for the new GET /api/v1/projects/{projectRef}/environments
      endpoint, which lists the parent environments (dev, staging, preview,
      prod) a personal access token can access for a project. Dev is scoped to
      the token owner and branch (preview child) environments are excluded.
      (#3880)

    Bug fixes

    • Fix two chat.createSession() bugs: stopping a generation no longer
      wedges the run (the turn loop raced a totalUsage promise that never
      settles after a stop-abort), and continuation runs now wait for the next
      message instead of invoking the model with an empty prompt.
      (#3920)
    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/build@4.5.0-rc.6

    Patch Changes

    • Updated dependencies:
      • @trigger.dev/core@4.5.0-rc.6

    trigger.dev@4.5.0-rc.6

    Patch Changes

    • trigger init now sets up your AI coding assistant as part of project
      setup: pick the MCP server, the agent skills, or both, then scaffold
      with the CLI or hand off to your assistant. Adds a new getting-started
      agent skill that teaches assistants how to bootstrap Trigger.dev
      (install the SDK, write trigger.config.ts, create a first task, run
      trigger dev), so the AI-driven setup path works end to end. It ships
      in the CLI alongside the existing skills, version-matched to your SDK.
      (#3872)

    • dev and deploy now fail with a clear error when two tasks are
      defined with the same id, including across different task types (e.g. a
      scheduled task and a regular task sharing an id). Previously the second
      definition silently overwrote the first, so one of the tasks would
      vanish with no warning. Task ids are detected as duplicates during
      indexing (naming each offending id and the files it was found in), and
      the same rule is enforced server-side when the background worker is
      registered.
      (#3865)

    • trigger skills installs Trigger.dev agent skills into your coding
      agent so it knows how to write tasks, schedules, realtime, and
      chat.agent code. The skills ship with the CLI and are copied into each
      tool's native skills directory (Claude Code, Cursor, GitHub Copilot, and
      Codex / AGENTS.md), and trigger dev offers to install them on first
      run. (#3868)

      trigger skills --target claude-code
      

    Replaces the previous install-rules command, which stays as an alias.

    • Updated dependencies:
      • @trigger.dev/core@4.5.0-rc.6
      • @trigger.dev/build@4.5.0-rc.6
      • @trigger.dev/schema-to-json@4.5.0-rc.6

    @trigger.dev/core@4.5.0-rc.6

    Patch Changes

    • Reliability fixes for chat.agent. A user message sent while the
      agent is streaming is no longer delivered twice (which could run a
      duplicate turn), input appends now carry an idempotency key so a retried
      send can't duplicate a message, stopping a generation clears the
      streaming state so a page reload doesn't replay the stopped turn, and
      runs can now carry the full set of dashboard tags instead of being
      silently truncated. onTurnComplete now fires on errored turns (with
      the thrown error attached) and the failed turn's user message is
      persisted so it isn't lost on the next run. Custom agents and manual
      chat.writeTurnComplete callers now trim the output stream, sending a
      custom action no longer leaves a second stream reader running, and a
      long-lived watch subscription no longer grows its dedupe set without
      bound. (#3891)
    • Continuation chat boots no longer stall for around 10 seconds before
      the first turn. The session.in resume cursor is now found with a
      non-blocking records read instead of draining an SSE long-poll (which
      always waited out its full 5 second inactivity window, twice per boot),
      the boot reads run concurrently, and chat snapshots carry the cursor so
      subsequent boots skip the scan entirely.
      (#3907)
    • Record client-side dequeue API latency in the supervisor consumer pool
      as a Prometheus histogram
      (queue_consumer_pool_dequeue_duration_seconds, labelled by outcome:
      success/empty/error).
      (#3887)
    • dev and deploy now fail with a clear error when two tasks are
      defined with the same id, including across different task types (e.g. a
      scheduled task and a regular task sharing an id). Previously the second
      definition silently overwrote the first, so one of the tasks would
      vanish with no warning. Task ids are detected as duplicates during
      indexing (naming each offending id and the files it was found in), and
      the same rule is enforced server-side when the background worker is
      registered.
      (#3865)
    • Add GetProjectEnvironmentsResponseBody and ProjectEnvironment
      schemas for the new GET /api/v1/projects/{projectRef}/environments
      endpoint, which lists the parent environments (dev, staging, preview,
      prod) a personal access token can access for a project. Dev is scoped to
      the token owner and branch (preview child) environments are excluded.
      (#3880)

    @trigger.dev/python@4.5.0-rc.6

    Patch Changes

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

    @trigger.dev/react-hooks@4.5.0-rc.6

    Patch Changes

    • Updated dependencies:
      • @trigger.dev/core@4.5.0-rc.6

    @trigger.dev/redis-worker@4.5.0-rc.6

    Patch Changes

    • Updated dependencies:
      • @trigger.dev/core@4.5.0-rc.6

    @trigger.dev/rsc@4.5.0-rc.6

    Patch Changes

    • Updated dependencies:
      • @trigger.dev/core@4.5.0-rc.6

    @trigger.dev/schema-to-json@4.5.0-rc.6

    Patch Changes

    • Updated dependencies:
      • @trigger.dev/core@4.5.0-rc.6

    @trigger.dev/sdk@4.5.0-rc.6

    Patch Changes

    • Reliability fixes for chat.agent. A user message sent while the
      agent is streaming is no longer delivered twice (which could run a
      duplicate turn), input appends now carry an idempotency key so a retried
      send can't duplicate a message, stopping a generation clears the
      streaming state so a page reload doesn't replay the stopped turn, and
      runs can now carry the full set of dashboard tags instead of being
      silently truncated. onTurnComplete now fires on errored turns (with
      the thrown error attached) and the failed turn's user message is
      persisted so it isn't lost on the next run. Custom agents and manual
      chat.writeTurnComplete callers now trim the output stream, sending a
      custom action no longer leaves a second stream reader running, and a
      long-lived watch subscription no longer grows its dedupe set without
      bound. (#3891)
    • Continuation chat boots no longer stall for around 10 seconds before
      the first turn. The session.in resume cursor is now found with a
      non-blocking records read instead of draining an SSE long-poll (which
      always waited out its full 5 second inactivity window, twice per boot),
      the boot reads run concurrently, and chat snapshots carry the cursor so
      subsequent boots skip the scan entirely.
      (#3907)
    • Fix chat.headStart when hydrateMessages is registered. The warm
      route's step-1 partial now reaches the agent's accumulator on the
      hydrate path, so onTurnComplete carries the full first turn (the
      head-start user message included), tool-call handovers resume from step
      2 instead of re-running step 1, and the assistant messageId stays
      stable across the handover.
      (#3907)
    • Preserve reasoning parts across the chat.headStart handover.
      Extended-thinking models' step-1 reasoning now lands in the durable
      session history (and onTurnComplete) under the same assistant
      messageId, with provider metadata intact so Anthropic thinking
      signatures survive replays.
      (#3907)
    • Fix two chat.createSession() bugs: stopping a generation no longer
      wedges the run (the turn loop raced a totalUsage promise that never
      settles after a stop-abort), and continuation runs now wait for the next
      message instead of invoking the model with an empty prompt.
      (#3920)
    • Updated dependencies:
      • @trigger.dev/core@4.5.0-rc.6

    @trigger.dev/plugins@4.5.0-rc.6

    Patch Changes

    • Updated dependencies:
      • @trigger.dev/core@4.5.0-rc.6

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

    下载附件