Repository navigation
Releases
Releases · foxzi/baton
v0.7.0
v0.6.1
v0.6.0
Changelog
- 4e3ad61 chore(release): prepare version 0.6.0
- a0833bb docs(examples): add review-deep scenario
- 33ad7a1 docs(examples): post line findings as discussions in review-deep
- 34fd6f1 feat(engine): keep lists and objects in http args
- 83e7b47 feat(gitlab): add post_discussion for line comments
- 21391a0 feat(packs): declare item fields of list arguments
- 028ba79 fix(engine): key run step cache on rendered env values
- 8219074 fix(packs): refuse . and .. segments in raw path arguments
- 620be34 fix(schema): fallback is a step body without an id
v0.5.0
Changelog
- d77a02b build: add make check mirroring the CI pipeline
- 6551620 chore(release): prepare version 0.5.0
- 76ccc09 feat(cli): add --json to validate and runs list/show
- 86e9f0b feat(engine): re-execute resumed steps whose definition changed
- ffbcd7a feat(packs): pack-level headers sent with every request
- 512a4d7 feat: add agent.workspace to run an agent in another directory
- 4a02c86 feat: add baton runs prune to delete old runs
- 447c363 feat: add gate step for human approval
- 84e1954 feat: add multi-step foreach body (foreach.steps)
- 715ceab feat: close the gaps in scenario validation
- 766356c feat: let command argv templates see the run inputs
- 13c2415 fix(cli): check the JSON encoder error in validate and runs
- 9ea17ff fix(engine): redact secrets in step cache entries
- 8dd146e fix(engine): serialize observer calls from parallel foreach bodies
- 3a0de33 fix(engine): stop a timed out run step with its process group
- b4875ab fix(secrets): redact JSON-escaped secret forms
- 34abc2e fix(tools): add new files in git.commit by listing them
- a9ec566 fix(tools): let git.commit take new files along
- 4c1b78b fix: resolve relative base directories before the containment check
- 2fb0f91 test(tools): cover process group termination on command timeout
v0.4.0
v0.3.0
Changelog
- 3fdc79a chore(release): prepare version 0.2.0
- fe9f39d chore(release): prepare version 0.3.0
- df11366 docs(apis): add per-pack README in English and Russian
- c397bd4 docs(onboarding): guide first runs through scenario templates
- 3df7907 docs(scenario): correct the Validate doc comment
- a5655db docs(spec): align the specification with the implementation
- d3ab1da docs(ux): explain diagnostics and improved run workflow
- dedb67e feat(agent): add codex engine
- 4253806 feat(apis): add create_issue to the jira pack
- 5f54711 feat(apis): add jira-server pack for Jira Server/DC
- 3efc149 feat(apis): add the gitea pack for forge/v1
- a2ff2b0 feat(apis): add the github pack for forge/v1
- 3747d27 feat(apis): add the jira pack for tracker/v1
- 585dc01 feat(apis): add the slack pack for notify/v1
- 26c6406 feat(apis): add the telegram pack
- db055ea feat(apis): complete the gitlab pack for forge/v1
- 0940180 feat(budget): enforce token budget
- 7b03eed feat(cli): add local scenario diagnostics
- f7d6cf2 feat(cli): add scenario initialization and command help
- 579ed2e feat(cli): summarize run results and recovery commands
- 4e95c0c feat(codex): reuse the user's CLI login via inherit_auth
- f9a1314 feat(config): resolve the secrets of global apis entries
- 38af0b0 feat(diagnostics): add source locations and actionable validation hints
- e65705c feat(docker): add multiarch image and GHCR publishing
- cd74315 feat(examples): add jira html report scenario
- 4f01d55 feat(examples): jira-quality scenario
- 18e849d feat(init): add offline YAML editor schema support
- fa40543 feat(notify): deliver through a notify/v1 pack channel
- 32573a8 feat(packs): let a param declare the name the service uses
- be53bf0 feat(packs): nest a body argument under a dotted wire name
- ba3b4fa feat(packs): replay pagination when checking recorded examples
- b2202e5 feat(scenario): check switch exhaustiveness against the schema enum
- 83070b7 feat(templates): accept summary inputs and save results
- 38a17b9 feat(validate): check scenarios against their packs
- b083cd0 fix(apis/jira-server): keep description in list_board_issues
- c814d8b fix(cache): include the pack checksum in the key of an http step
- 599d403 fix(cli): improve help, suggestions, and shell quoting
- 8c23894 fix(codex): approve the gateway tool calls the step makes
- fc1d861 fix(engine): drop trailing punctuation from a file step error
- 83e99d7 fix(jsonschema): decode numbers as float64 in ValidateJSON
- 4939609 fix(runstore): validate run id before creating a directory
- a6bbb8e fix(scenario): accept the codex engine in the validator
- 038c38d fix(tmpl): confine render to the scenario directory
- 034ead2 fix: redact a secret under numeric formatting verbs
v0.1.0
Changelog
- 4e4a2b9 Add a quickstart guide
- 547a302 Add llm-smoke example for live provider checks
- 6e22c79 Fix data race in the weekly report test
- 517749f Ignore run artifacts next to the scenario
- 2c00371 Initial commit
- 2fde9b5 Pin golangci-lint v2 in CI
- 579ec17 Trim the README and lead with a feature list
- 946cfe2 ci(release): run checks before publishing a tag
- 63b8973 docs(examples): add a code review scenario
- 559448b feat(agent): add claude-code engine adapter
- 056bcfb feat(agent): add the engine interface and profile resolution
- c787e8e feat(agent): fake engine for tests
- b99efb1 feat(apis): add the gitlab pack and the acceptance example
- 3bc6995 feat(cache): step result cache
- df3598e feat(cli): add baton apis call
- 3524c65 feat(cli): add baton apis validate
- 2bdadb5 feat(cli): add the apis import command
- 6f45a01 feat(cli): add the run command
- 1c9326c feat(cli): add the tools command
- b673578 feat(cli): add validate command
- adcd44d feat(cli): check interface conformance in apis validate
- f483a65 feat(cli): resume a failed run
- 4c5a827 feat(cli): runs list, show and logs
- a957174 feat(cli): warn about models missing from pricing
- 328ca72 feat(config): global configuration file
- 6c6dff9 feat(engine): enforce the apis interface declaration
- dcb8b63 feat(engine): execute agent steps
- 15b419c feat(engine): execute file steps
- 9bf2078 feat(engine): execute http steps
- 2429fd2 feat(engine): execute run and assert steps
- 0dc380b feat(engine): execute until steps
- c2619eb feat(engine): foreach step
- c4031e1 feat(engine): llm step with schema retry and cost accounting
- 1b3f2c7 feat(engine): report the tools of a step
- 32e140e feat(engine): serve the file tools to agent steps
- 5067033 feat(engine): serve the git tools to agent steps
- e7a07fd feat(engine): wire api tools into agent steps
- 28840ba feat(engine): wire state tools into agent steps
- e64d738 feat(engine): wire the fetch tool into agent steps
- c126244 feat(expr): add the failure context to run
- 65af27b feat(expr): compile scenario expressions against a typed context
- 3e4c2a4 feat(gateway): MCP gateway for agent tools
- abee324 feat(gateway): classify tool boundary refusals as policy violations
- 7b1fda7 feat(gateway): refuse an undeclared tool as a policy violation
- ad40197 feat(httpx): execute raw requests and pack operations
- 8a4b840 feat(ifaces): add the interface registry
- cc04c96 feat(jsonschema): add a schema validation wrapper
- 5186a46 feat(notify): notify step and built-in channels
- cf241f2 feat(packs): add list_merge_requests to the gitlab pack
- a56cde8 feat(packs): check implements against the interface registry
- a93ab6b feat(packs): derive param patterns from string enums
- 401ae29 feat(packs): generate a pack skeleton from an OpenAPI document
- 6b7767d feat(packs): load and validate API packs
- 3f58528 feat(packs): load packs from pinned git sources
- 0e03a4a feat(packs): refuse impure jq expressions at load
- 1af620a feat(packs): support exchange authorisation
- 3a1ef99 feat(packs): support graphql operations
- e1373b2 feat(packs): support offset and cursor pagination
- ad14269 feat(provider): add LLM provider backends
- c1af98b feat(runstore): run directory layout and state
- bc203a0 feat(scenario): add the file step to the scenario format
- 55ff020 feat(scenario): add the scenario JSON Schema
- d2571de feat(scenario): bind cli and file inputs to declarations
- 464cc19 feat(scenario): check step references statically
- 341940a feat(scenario): execute switch steps
- ebc8439 feat(scenario): model and validate apis and http steps
- d7b3764 feat(scenario): parse and validate scenario files
- 851165b feat(scenario): type and validate the agent step and commands block
- 81507db feat(scenario): typed llm and foreach step bodies
- cf20849 feat(scenario): validate expressions and templates
- 7a5b5de feat(secrets): resolve declared secrets and redact them
- 503feaa feat(tmpl): implement md2html and md2text template functions
- 8e7ee01 feat(tmpl): render scenario templates without leaking secrets
- a911db1 feat(tools): add filesystem tools for agent steps
- 62d0814 feat(tools): add git tools for agent steps
- 0d7e818 feat(tools): add state.get and state.set gateway tools
- fcf7b24 feat(tools): add the fetch gateway tool
- 3c85624 feat(tools): command tools for agent steps
- 846c18f feat(tools): expose readonly api operations as agent tools
- cfedd35 feat(tools): proxy third-party MCP servers to the agent
- 22c4963 feat(values): add opaque Secret type
- 3a1ea4c feat(workspace): take credentials out of git config
- 1c07b30 feat: render the scenario schema as a Markdown reference
- 1deadbd fix(apis): name the gitlab merge request argument id
- b02fe2f fix(engine): list step tools without earlier step results
- 1739ae7 fix(engine): never retry budget, policy and config failures
- 6e5b6cf fix(engine): redact secrets in events, failures and notifications
- 89b071d fix(scenario): decode raw step bodies
- 54f3893 fix(scenario): notify field is a channel name in the JSON schema
- 0230f7a fix(tmpl): accept text/template builtins while checking
- 8dd0743 fix(tmpl): drop the name prefix from the secret reference error
- 1b1ddf0 fix(tools): hold glob arguments to the workspace boundary
- 880dc9e refactor(engine): extract the agent tool set
- d0466d4 refactor(tools): extract child process env building
- ec89854 refactor(units): move durations and byte sizes to their own package
- 973e427 test(cli): cover baton run end to end
- f32e380 test(cmd): add the weekly report example and its acceptance test
- 1a7cdbe test(engine): cover http steps
- f11e6be test(tools): assert the boundary refusals are policy refusals