Skip to content

v0.50.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 19:12
· 396 commits to main since this release
5163a55

Choose when the fleet agents run, from config.yaml. A CEL trigger on the review, retro, triage or prioritize entry in .fullsend/config.yaml now decides when that agent runs on GitHub, in place of the dispatch workflow's built-in rules. For example, to stop the automatic review on every pull request but keep /fs-review on demand:

agents:
  - name: review
    trigger: >-
      event.transition.kind == "comment_added"
      && has(event.entity.linked_change_proposal)
      && has(event.transition.comment.command)
      && event.transition.comment.command == "/fs-review"
      && event.actor.kind == "human"

Repositories without a trigger keep today's behaviour, so nothing changes unless you opt in. The trigger is read from your default branch, so a pull request cannot change its own routing. An invalid trigger makes every agent run in the repository fail with invalid agent config, so check the expression before you merge it. A harness trigger: never changes when a built-in agent runs; copy it into config.yaml to opt in. Triggers for the code and fix agents are coming in a later release. See Choosing when review runs, Choosing when retro runs and Choosing when triage and prioritize run in the customizing-agents guide.

Permission checks on CEL dispatch are now per harness: agents whose harness sets role: triage or role: review can be started by users with triage access, while every other role still needs write. Claude runs now set CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 on every route, including Vertex, a harness with its own ANTHROPIC_BASE_URL and runs with security hooks off; before, only the runner-managed gateway route set it. Nothing for you to change.

On GitLab, fullsend run adds the configured forge host to the attached credential profile, so self-managed hosts work with the stock GitLab providers. fullsend repos install now applies runner tag changes even from a build without a release ref, keeps blank lines when it rewrites .gitlab-ci.yml, and resolves extends: and !reference when it scans trigger jobs. Runner VMs refuse job images that pin OpenShell 0.0.x with a clear error instead of downgrading the host. fullsend agent new now generates agents that read the forge-neutral work item URL.


Changelog

Breaking Changes

  • 7b1296c: test(#8622)!: wire cross-org repo slots into behaviour and playback (@fullsend-ai-coder[bot])

Features

  • 460779d: feat(#8413): add GitHub bot-role lookup and behaviour matrix (@fullsend-ai-coder[bot])
  • 3d911f7: feat(#8724): apply per-harness permission threshold on the CEL path (@fullsend-ai-coder[bot])
  • b4a4b94: feat(#8726): let agents[].trigger decide when review runs (@fullsend-ai-coder[bot])
  • 047dc29: feat(#8736): let config triggers route retro, triage and prioritize (@fullsend-ai-coder[bot])

Bug Fixes

  • 7f4a950: fix(#8090): show the reason code in the e2e gate comment (@gklein)
  • 2165590: fix(#8648): use work item URL in generated agents (@Aliciapet11)
  • 9604e7f: fix(#8683): add GitLab forge host to the attached credential profile (@fullsend-ai-coder[bot])
  • 3ae6f0a: fix(#8683): resolve YAML aliases when adding the GitLab forge endpoint (@fullsend-ai-coder[bot])
  • f11f5e5: fix(#8688): keep blank lines when rewriting .gitlab-ci.yml (@fullsend-ai-coder[bot])
  • 95443c3: fix(#8689): converge GitLab runner tags without a resolvable ref (@fullsend-ai-coder[bot])
  • 69c9a0e: fix(#8689): keep main-marked GitLab scaffolds out of unstamped detection (@fullsend-ai-coder[bot])
  • 401375f: fix(#8691): bound !reference expansion work in GitLab trigger job scan (@fullsend-ai-coder[bot])
  • abd9043: fix(#8691): memoize extends resolution in GitLab trigger job scan (@fullsend-ai-coder[bot])
  • ea5ba28: fix(#8691): resolve extends and !reference in GitLab trigger job scan (@fullsend-ai-coder[bot])
  • 399b94c: fix(#8710): bound GitLab YAML merge-key lookup work (@fullsend-ai-coder[bot])
  • 06dd062: fix(#8724): filter harnesses before CEL and align authorization docs (@waynesun09)
  • 484b653: fix(#8725): skip built-in agents in GitHub CEL dispatch (@fullsend-ai-coder[bot])
  • 44fdffc: fix(#8726): fail the review route on invalid config, keep harness dispatch triggers (@waynesun09)
  • 55c7c98: fix(#8726): skip on trigger evaluation errors and harden CEL route steps (@waynesun09)
  • 305a0e0: fix(#8730): refuse pre-0.1 OpenShell job images on GitLab runners (@fullsend-ai-coder[bot])
  • 3b7f143: fix(#8736): grant lifecycle close only on the retro route (@waynesun09)
  • 73f8746: fix(#8750): disable Claude Code nonessential traffic on every route (@fullsend-ai-coder[bot])
  • 51f7f2f: fix(#8750): pin nonessential traffic off without sandbox hooks (@waynesun09)
  • 6cf036c: fix: address review feedback on PR #8687 (@fullsend-ai-coder[bot])
  • a418e2a: fix: address review feedback on PR #8687 (@fullsend-ai-coder[bot])
  • 2cf39e2: fix: address review feedback on PR #8696 (@fullsend-ai-coder[bot])
  • dd5e943: fix: address review feedback on PR #8713 (@fullsend-ai-coder[bot])