Skip to content

v0.53.0

Choose a tag to compare

@github-actions github-actions released this 30 Oct 18:27
· 996 commits to main since this release
25811c9

Keep your OpenAI API key behind an inference gateway. If you run Fullsend on GitHub with an OpenAI API key (inference.auth: openai-api-key and the FULLSEND_OPENAI_API_KEY repository secret), we now recommend deploying an inference gateway instead (the ADR 0137 route, with agentgateway). The gateway holds the key in a secret store, each repository authenticates with its GitHub Actions OIDC token, and no repository secret holds the key, which otherwise any workflow in a selected repository can read. The trade-off is extra infrastructure to run: a cloud project, a gateway service and its configuration. The key-secret route stays supported for teams that cannot take that on. See Using an inference gateway and the operator guide.

Gateway guides target agentgateway v1.7.0. The operator and user guides now document v1.7.0 as the supported version, with a Security boundary section, the allow-rule pitfalls to avoid, pinning access to repository ids, numbered config versions with rollback, and how to watch the gateway's health and capacity. A See it in practice link points to a working deployment's README in the fullsend-ai org.

Upgrade notes. Nothing changes in the Fullsend workflows or the runner, sandbox and code images in this release. Three narrow behaviour changes to check:

  • Codex (experimental runtime), delegating agents: sub-agents now run as native Codex children, with each child's model taken from subagents (or FULLSEND_CODEX_SUBAGENT_MODEL) and the run's effort. A subagents value that is not an OpenAI model id known to the pinned Codex CLI now fails the run at start-up and names the key; use openai/<id>, or <persona>: ~ to drop a persona (#8836).
  • GitLab, fullsend fetch-review-threads output: the old-file line moves from original_line to old_line, and a discussion on a removed line reports that line in line with side: "left". The fleet agents are updated in step; only custom scripts that read these fields need a change (#8693).
  • fullsend lock refuses to overwrite a lock file it cannot read and tells you what to do; fullsend run is unchanged (#8900).

Jira. Jira work items can now dispatch GitLab agent pipelines (#8924), and fullsend run derives the Jira work-item identity (#8922); the fleet code agent can be started from Jira with /fs-code or the ready-to-code label. fullsend run also reads mint_url from config.yaml / config.base.yaml (#8400).


Changelog

Breaking Changes

  • 75d0b4b: feat(codex)!: bind native child models from subagents and FULLSEND_CODEX_SUBAGENT_MODEL (@dhshah13)
  • de0bb51: fix(#8174)!: normalize review-thread position fields across forges (@fullsend-ai-coder[bot])
  • 4c0c056: fix(codex)!: bind the run's effort for children and count spawns on disk (@dhshah13)
  • bf361f7: fix(lock)!: refuse to overwrite an unreadable lock file (@Benkapner)

Features

  • d34d195: feat(#2264): derive Jira work-item identity in fullsend run (@fullsend-ai-coder[bot])
  • ac32e42: feat(#8919): dispatch Jira work items to GitLab agent pipelines (@fullsend-ai-coder[bot])
  • 4b80950: feat(codex): run sub-agents as native Codex children (@dhshah13)

Bug Fixes

  • 0a00349: fix(#2264): fail closed on Jira dispatch claim when channels disagree (@fullsend-ai-coder[bot])
  • 345763c: fix(#2264): resolve Jira work-item identity for telemetry and update docs (@fullsend-ai-coder[bot])
  • ac5359a: fix(#8173): verify review-thread roles only when authoritative (@fullsend-ai-coder[bot])
  • 3d72119: fix(#8174): address review feedback on PR #8693 (@fullsend-ai-coder[bot])
  • 1a2084b: fix(#8192): fail-closed mint_url precedence for local runs and reconcile-status (@mfrancisc)
  • 4fcebc0: fix(#8192): honor config.base.yaml-only mint_url in status notifier (@mfrancisc)
  • bd18203: fix(#8192): narrow mint_url OIDC downgrade to genuine local runs (@mfrancisc)
  • 295b10b: fix(#8192): read mint_url from config.yaml/config.base.yaml in fullsend run (@mfrancisc)
  • 29713b0: fix(#8192): restore statusForgeClient arg dropped by merge conflict (@mfrancisc)
  • 0a84358: fix(#8887): keep terminal-phase sandbox creation diagnostics (@fullsend-ai-coder[bot])
  • cf1196c: fix(#8948): mask the agentgateway version in the frozen-path diff (@waynesun09)
  • 55e3e75: fix(cli): resolve mint_url via layered precedence in cancellation finalizer (@mfrancisc)
  • a582931: fix(codex): count a child whose rollout head is empty or cut once (@dhshah13)
  • 6a26a79: fix(codex): give the skip reason for a subagents key a skipped persona owns (@dhshah13)
  • 8a079a0: fix(codex): keep children off a gateway parent and fail on a lost spawn (@dhshah13)
  • 44d182c: fix(codex): keep explore children apart from default in transcript names (@dhshah13)
  • 144ad64: fix(codex): name a reserved or unregistered subagents key plainly (@dhshah13)
  • af43b0b: fix(codex): read a session_meta line cut before its parent by its name (@dhshah13)
  • b845a4c: fix(codex): say spawn where failed spawn items count (@dhshah13)
  • 5e0932d: fix(deps): update module github.com/cucumber/messages/go/v34 to v34.2.1 (@renovate-fullsend[bot])
  • 1c10a41: fix: address review feedback on PR #8943 (@fullsend-ai-coder[bot])

Agents changes

The fleet agents ship in fullsend-ai/agents v0.53.0; its release notes list the agents changes in this release.