Skip to content

Releases: openagento/agento

v1.0.0

Choose a tag to compare

@saipix saipix released this 27 Oct 05:32

First stable 1.x release. It collects everything from 1.0.0rc1 to 1.0.0rc4 since v0.17.2.

Breaking Changes

  • Runtime split — the sandbox service is removed; agents run in runner-<i> services as per-run uids, beside the new web, proxy, runner and artifacts services.
  • Networks — db-net, exec-net and web-net replace agento-net, and the backend and the toolbox use separate DB users.
  • Compose override — rename a sandbox: block in docker-compose.override.yml to runner-1:, and use AGENTO_RUN_GROUPS to give runs access to host directories.

New Features

  • Admin panel — a web panel for conversations, miniapps, artifacts, credentials and config, served through proxy.
  • Tool dispatcher — every tool call goes through one dispatcher that re-checks the capability per call and writes an audit row first.
  • subagent module (opt-in) — agent_run / agent_result let an agent delegate work to nested sub-agents (max 3 levels), and the parent resumes when its children end.
  • Threads — every job belongs to a thread (a Jira issue, a mail conversation, a PR or a panel conversation), and the runs of a thread share ./shared and resume the same session.
  • Conversations panel — the thread rail shows each sub-agent run as a tree under its parent job, with its status badge.
  • conversation:backfill (co:ba) — imports the jobs that ended before the conversation module ran into their conversations, with the run events from the Claude session file when it matches.
  • Conversation timeline — events sort by their time (microseconds), so an imported run sits in its time place.
  • Conversation retention — retention/event_days and retention/archived_days default to 0 (keep for ever).
  • Miniapp kit 1.3.0 — a released kit version with the panel's current UI.
  • Credential checks and CLI shortcuts — check a credential from the CLI or the panel, and use short command aliases.

Bug Fixes

  • Session resume — a resume stays on the same harness, and a job whose previous session file is missing starts a fresh session instead of failing.
  • Session state — agent session state persists across runs in the per-run uid model.
  • Runner SSH identity — git push / git clone over SSH no longer fail with "No user exists for uid", so the agent_view SSH key works again.
  • Interactive Claude (agento run) — the TUI no longer stops at the first-run theme picker after a credential re-login.
  • Sub-agent spawn — concurrent spawns no longer race or fail on DB permissions.
  • Cron image build — the build no longer fails now that CPython 3.15 is out; the image pins Python 3.12.
  • agento upgrade — strips an address from MYSQL_PORT.
  • Panel dark mode — the success badge is a solid green.

Docs

  • New docs/modules/subagent.md, docs/architecture/threads.md and the conversation:backfill section in docs/modules/conversation.md.
  • The agent CLI default pins (claude 2.1.291, codex 0.157.0) lag behind upstream on purpose.

Upgrade

agento upgrade --version 1.0.0

v1.0.0rc4

v1.0.0rc4 Pre-release
Pre-release

Choose a tag to compare

@saipix saipix released this 26 Oct 14:35

New Features

  • conversation:backfill (co:ba) — imports the Jira, Outlook and other jobs that ended before the conversation module ran into their conversations, in time order, with the run events from the Claude session file when it matches and the answer otherwise.
  • Conversation timeline — events now sort by their time (microseconds), so an imported run sits in its time place, not at the end.
  • Conversation retention — retention/event_days and retention/archived_days now default to 0 (keep for ever).

Bug Fixes

  • Session resume — a job whose previous session file is missing now starts a fresh session instead of failing the resume.
  • Interactive Claude (agento run) — the TUI no longer stops at the first-run theme picker after a credential re-login.

Upgrade

agento upgrade --version 1.0.0rc4

v1.0.0rc3

v1.0.0rc3 Pre-release
Pre-release

Choose a tag to compare

@saipix saipix released this 26 Oct 06:15

New Features

  • Conversations panel — the thread rail now shows each sub-agent run as a tree under its parent job, with its status badge.

Bug Fixes

  • Runner SSH identity — git over SSH (git push, git clone) failed with "No user exists for uid" in every run since the runner split; each run uid now has a passwd entry, and the agent_view SSH key works again.

Upgrade

agento upgrade --version 1.0.0rc3

v1.0.0rc2

v1.0.0rc2 Pre-release
Pre-release

Choose a tag to compare

@saipix saipix released this 23 Oct 05:13

Features

  • subagent module (opt-in) — adds agent_run / agent_result tools so an agent can delegate work to nested sub-agents (max 3 levels). The target is the caller's own view or one listed in subagent/allowed_agent_views. With subagent/wake_parent on, the parent ends its turn and a followup job resumes it when the children end.
  • Threads — every job gets a thread (one Jira issue, one mail conversation, one PR, or one panel conversation). The runs of a thread share a ./shared workspace, and each turn resumes the session of the line's last finished turn (jira/resume_session = 0 gives a fresh one).
  • Miniapp kit 1.3.0 — new released kit version with the panel's current UI.

Fixes

  • Sub-agent spawn — child jobs are enqueued under a named lock, and the toolbox DB user gets the outbox grant it needs, so concurrent spawns no longer race or fail on permissions.
  • Panel dark mode — the success badge is a solid green instead of a washed-out tint.

Docs

  • New docs/modules/subagent.md and docs/architecture/threads.md; agent CLI pins still lag behind on purpose.

Upgrade

agento upgrade --version 1.0.0rc2

v1.0.0rc1

v1.0.0rc1 Pre-release
Pre-release

Choose a tag to compare

@saipix saipix released this 20 Oct 17:00

Breaking

  • Runtime split: the sandbox service is removed. Agents run in runner-<i> services as per-run uids. New services: web, proxy, runner, artifacts.
  • Networks db-net, exec-net and web-net replace agento-net. Separate DB users for backend and toolbox.
  • Rename a sandbox: block in docker-compose.override.yml to runner-1:. To give runs access to host directories, use AGENTO_RUN_GROUPS.

Features

  • Admin panel, conversations, miniapps, artifact management.
  • One tool dispatcher with per-call capability checks and audit rows.
  • Credential checks, CLI shortcuts.

Fixes

  • Resume stays on the same harness; channel replies.
  • Session state persists across runs in the per-run uid model.
  • agento upgrade strips an address from MYSQL_PORT.

Docs

  • Agent CLI pins lag behind on purpose.

Upgrade

agento upgrade --version 1.0.0rc1

v0.17.2

Choose a tag to compare

@saipix saipix released this 19 Oct 20:02

New Features

  • Per-job harness and model — a job can carry its own harness and model: publish(..., harness=, model=) pins them at enqueue, and the consumer resolves the rest from the agent_view config, so model or harness evaluations on one agent_view need no config change.
  • agento job:set-runtime — sets or clears a queued job's harness and model (--harness, --model, --clear) while the job is still TODO; a harness change also drops the stored session.
  • agento run --harness / --model / --credential — pins the harness, model and credential of one run without a change to the agent_view config.
  • agento e2e --harness — tests a harness other than the view's; the test claims only its own job and its own credential, so the rest of the pool and a live consumer are not disturbed.
  • Release e2e gate — every release now runs real-LLM end-to-end tests for Claude, Codex and Pi before it is published to PyPI; the tests run in parallel.

Bug Fixes

  • Job runtime recorded for every outcome — harness, provider and model are written when the job is claimed, so FAILED, DEAD and retried jobs carry the values you need to debug them.
  • Retries keep the runtime of the first attempt — a config change during a long job no longer switches the model or harness under a retry or a resume.
  • Unknown pinned harness fails once — a job pinned to a harness no enabled module registers fails at once with a non-retryable error.
  • A job pinned to another harness gets its own workspace files — it no longer runs on the view harness's build, and it never sees another harness's login.
  • CLI errors are kept in the job output — when an agent CLI fails with empty stdout, its stderr is now stored in job.output.
  • A near-expiry OAuth credential no longer blocks the pool for a whole job — Claude and Codex credentials close to expiry are refreshed before the job starts, and the lease is released after a few seconds.
  • Codex OAuth refresh works with Codex 0.157 — the refresh marks the token as expired in a temporary home so the CLI refreshes it; the changed token is never saved.
  • A refused refresh token is a temporary auth error — it throttles the credential instead of failing the job with an unknown error.
  • The run's toolbox capability is created after the refresh — a slow refresh can no longer use up most of its lifetime.
  • SQL queries are cancelled on the server when they time out — MySQL and MSSQL no longer keep running a query nobody waits for.
  • MSSQL tools honour core/sql_timeout_seconds — queries no longer fail at the library default of 15 s.
  • Large-result offload files no longer overwrite each other — the file name now carries a random suffix.
  • Jira question handback resets the issue status — an issue handed back with a question no longer stays in the agent's working status.
  • The Outlook secret migration lists the commands for every stale secret, not only the client secret.
  • Integration tests use the configured MySQL host and port — the credential-index upgrade test no longer fails on a test database that is not on localhost:3306.

Security

  • A nested repository config can no longer run commands through the artifact store — the desk and the storage backend refuse a config placed inside the tree they operate on.
  • Outlook replies align the DMARC header.from with the sending mailbox.

Docs

  • Added docs/cli/job-runtime.md (per-job runtime contract) and docs/deployment/release-e2e.md (release e2e gate); documented the new agento run pins in docs/cli/run.md.

Upgrade

agento upgrade --version 0.17.2

v0.17.1rc5

v0.17.1rc5 Pre-release
Pre-release

Choose a tag to compare

@saipix saipix released this 15 Oct 17:01

Release candidate — for testing. agento upgrade will not pick this up; pin it.

Carries everything in v0.17.1rc3, plus the credential refresh change below. (v0.17.1rc4 was never published: its release tests failed.)

Bug Fixes

  • A near-expiry OAuth credential no longer blocks the pool for a whole job. Claude and Codex OAuth credentials close to expiry are now refreshed before the job starts, and the lease is released after a few seconds instead of when the job ends. Jobs that waited for the busy pool are woken when the lease is released.
  • Codex OAuth credentials are refreshed with Codex 0.157. The CLI refreshes at startup only when the access token is expired, so the refresh now marks the token as expired in its temporary home. The changed token is never saved.
  • A refused refresh token is a temporary auth error. The "could not be refreshed" messages from Claude Code 2.1.291 and Codex now throttle the credential instead of failing the job with an unknown error.
  • The run's toolbox capability is created after the refresh, so a slow refresh can no longer use up most of its lifetime.
  • The Outlook secret migration lists the commands for every stale secret, not only the client secret.

Upgrade

agento upgrade --version 0.17.1rc5

v0.17.1rc4

v0.17.1rc4 Pre-release
Pre-release

Choose a tag to compare

@saipix saipix released this 15 Oct 16:58

Release candidate — for testing. agento upgrade will not pick this up; pin it.

Carries everything in v0.17.1rc3, plus the credential refresh change below.

Bug Fixes

  • A near-expiry OAuth credential no longer blocks the pool for a whole job. Claude and Codex OAuth credentials close to expiry are now refreshed before the job starts, and the lease is released after a few seconds instead of when the job ends. Jobs that waited for the busy pool are woken when the lease is released.
  • Codex OAuth credentials are refreshed with Codex 0.157. The CLI refreshes at startup only when the access token is expired, so the refresh now marks the token as expired in its temporary home. The changed token is never saved.
  • A refused refresh token is a temporary auth error. The "could not be refreshed" messages from Claude Code 2.1.291 and Codex now throttle the credential instead of failing the job with an unknown error.
  • The run's toolbox capability is created after the refresh, so a slow refresh can no longer use up most of its lifetime.
  • The Outlook secret migration lists the commands for every stale secret, not only the client secret.

Upgrade

agento upgrade --version 0.17.1rc4

v0.17.1rc3

v0.17.1rc3 Pre-release
Pre-release

Choose a tag to compare

@saipix saipix released this 15 Oct 15:59

Release candidate — for testing. agento upgrade will not pick this up; pin it.

Carries everything in v0.17.1rc2, plus the toolbox and security fixes below.

Bug Fixes

  • SQL queries are now cancelled on the server when they time out. A query that hit core/sql_timeout_seconds was abandoned by the client while the database kept running it to the end, so the server stayed busy on work nobody waits for. MySQL and MSSQL now cancel the request server-side and set a matching lock timeout.
  • MSSQL tools honour core/sql_timeout_seconds. node-mssql ignores Request.timeout and reads only requestTimeout from the pool config, so every MSSQL query failed at the library default of 15 s. The healthcheck keeps its own 10 s limit through request cancellation.
  • Large-result offload files no longer overwrite each other. The name was result_YYYYMMDD_HHMMSS.{csv,txt}, so two calls that ended in the same second wrote the same path and the second result replaced the first. The name now carries a random suffix.

Security

  • A nested repository config can no longer run commands through the artifact store. The desk and the Git backend refuse a config that a caller placed inside the tree they operate on.
  • Outlook replies align the DMARC header.from with the sending mailbox. A reply sent from a shared mailbox could carry a from the receiving domain's DMARC policy did not accept.

Upgrade

agento upgrade --version 0.17.1rc3

v0.17.1rc2

v0.17.1rc2 Pre-release
Pre-release

Choose a tag to compare

@saipix saipix released this 15 Oct 13:50

Release candidate — for testing. agento upgrade will not pick this up; pin it.

Carries everything in v0.17.1rc1 (per-job harness and model pinning) plus the fix below.

Bug Fixes

  • Integration tests — the credential-index upgrade test connected to a hardcoded MySQL host and port instead of the configured one, so it failed with Unknown database 'cron_agent_test_upgrade' on any deployment whose test database is not on localhost:3306.

Upgrade

agento upgrade --version 0.17.1rc2