Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
191 commits
Select commit Hold shift + click to select a range
fd35cc6
fix(frontend): run the evaluator in-use check when the permission loo…
Nov 3, 2026
16123fb
fix(frontend): keep archived and active revision lookups in separate …
Nov 3, 2026
3b2ec87
fix(frontend): name the variant from the variants list, not the revis…
Nov 3, 2026
cb27ae6
chore(frontend): order imports in the shown revision row test
Nov 3, 2026
c6efce3
feat(frontend): create, clone and rename test sets in the mobile app
Nov 3, 2026
8acff7d
fix(frontend): keep the test set dialogs open while a save runs
Nov 3, 2026
43b8a7d
chore(frontend): fix import order in the test set create stories
Nov 3, 2026
86c9342
chore(frontend): keep commas out of the create story file rows
Nov 3, 2026
463b852
feat(frontend): add the archived test sets view with restore to /m
Nov 3, 2026
1ba2218
fix(frontend): unique default clone names, close test set dialogs on …
Nov 3, 2026
8b3cae2
chore(frontend): tighten the archived test sets tests after review
Nov 3, 2026
4eade4c
fix(frontend): pick clone names by stored slug and close only the dia…
Nov 3, 2026
d370c11
feat(frontend): add the Test set detail page to /m (grid, drawer, route)
Nov 3, 2026
97ae85f
fix(frontend): offer column actions only where the server can apply t…
Nov 3, 2026
8650abe
fix(frontend): keep null values and every field in the Test set testc…
Nov 3, 2026
6cdaa5e
feat(frontend): add the evaluation runs list to /m behind the hidden …
Nov 3, 2026
c9393c8
chore(frontend): fix lint order in the evaluation runs list
Nov 3, 2026
fe7165b
feat(frontend): add the revision actions to the /m playground bar
Nov 3, 2026
7860a5a
fix(frontend): ask to load more when a filtered page is empty but old…
Nov 3, 2026
1cbe306
fix(frontend): keep the commit dialog open while saving, refresh the …
Nov 3, 2026
417f855
fix(frontend): scan the evaluations classes in Storybook and shorten …
Nov 3, 2026
f741bd6
fix(frontend): fit the playground bar and the commit dialog on a phone
Nov 3, 2026
e4bd759
feat(frontend): add run details state to the evaluation run package
Nov 3, 2026
99ac1cb
fix(frontend): make the playground bar and commit dialog fit 390 px
Nov 3, 2026
2c2798a
feat(frontend): add the evaluation run page with its overview to /m
Nov 3, 2026
e77e6c8
fix(frontend): let the playground bar wrap on a phone
Nov 3, 2026
cc64afe
fix(frontend): run page review round 1
Nov 3, 2026
4a70da3
fix(frontend): replace a deleted revision safely in the /m playground
Nov 3, 2026
63ebe2a
perf(frontend): load the trace drawer body and drill-in panels on dem…
Nov 3, 2026
7f233c4
fix(frontend): keep run summary labels and values on one line
Nov 3, 2026
6a8137f
fix(frontend): offer a retry when the trace drawer code fails to load
Nov 3, 2026
bea7586
fix(frontend): fetch run metrics once more when the run finishes, kee…
Nov 3, 2026
d3e0e83
chore(frontend): lower the /m speed budget to the new first-load sizes
Nov 3, 2026
620b9a2
fix(frontend): run overview review fixes (final metrics fetch race, c…
Nov 3, 2026
d5a3dbc
fix(frontend): show the latest revision after a delete through the pl…
Nov 3, 2026
0ae5c03
fix(frontend): keep /w's latest-revision request, make a deleted revi…
Nov 3, 2026
f31e3e5
test(frontend): expect main's grouped latest-revision request in fetc…
Nov 3, 2026
b2fd5ef
feat(frontend): start auto and human evaluations from the /m runs list
Nov 3, 2026
71c070a
fix(frontend): harden the new evaluation start after review
Nov 3, 2026
cf41ccf
fix(frontend): keep the developer view gate out of the wizard form
Nov 3, 2026
fa0a13c
feat(frontend): add the app overview to /m behind the hidden app-over…
Nov 3, 2026
cb5cac8
fix(frontend): full-screen wizard sheet on phones and an honest setti…
Nov 3, 2026
c4d6b61
refactor(frontend): make the variants table fold and delete props opt…
Nov 3, 2026
f6da834
fix(frontend): read app inputs from the revision and show a retry whe…
Nov 3, 2026
7eb1894
fix(frontend): refresh app caches after a saved rename or archive eve…
Nov 3, 2026
93679b9
feat(frontend): add input card extras, the row sync tag and the focus…
Nov 3, 2026
dc37c7f
fix(frontend): keep field types, deletes and keyboard access in the f…
Nov 3, 2026
d6415f6
fix(frontend): keep typed values and unfinished JSON edits in the foc…
Nov 3, 2026
a0c2e3d
fix(frontend): pad the drawer output and keep the row label whole on …
Nov 3, 2026
43239be
fix(frontend): keep the shared tag unchanged and give the row tag its…
Nov 3, 2026
eb091cf
fix(frontend): reset the drawer editor per row and coerce only change…
Nov 3, 2026
e6e21bf
feat(frontend): refine a prompt with AI in the /m playground
Nov 3, 2026
ef8fa43
fix(frontend): lock the refined messages while a refine round runs, o…
Nov 3, 2026
b98b3d1
chore(frontend): rewrap the refine hook comment
Nov 3, 2026
01dcf4b
fix(frontend): keep the refine Diff switch beside the close button
Nov 3, 2026
01cf6db
feat(frontend): open an observability session in a drawer from /m
Nov 3, 2026
6f166bb
feat(frontend): scenarios tab on the /m run page (paged table, phone …
Nov 3, 2026
ac4d769
fix(frontend): review fixes for the /m session drawer and its stories
Nov 3, 2026
4c7c39a
chore(frontend): scenarios story without an automatic next page
Nov 3, 2026
86577f9
fix(frontend): let the session drawer header wrap on a phone
Nov 3, 2026
0cdbaaa
fix(frontend): scenarios tab reads values again, shows a failed value…
Nov 3, 2026
198e8df
perf(frontend): keep close and span reading out of the traces page's …
Nov 3, 2026
80921e0
fix(frontend): scenarios tab shows failed trace reads per row, retrie…
Nov 3, 2026
5392a39
fix(frontend): name annotation authors and let the keyboard open a se…
Nov 3, 2026
f6799a6
fix(frontend): show the session row focus ring
Nov 3, 2026
532bfa9
fix(frontend): use the ring colour with contrast for the session row …
Nov 3, 2026
9f3e231
fix(frontend): give focus back to the session row when the drawer closes
Nov 3, 2026
19177de
Merge remote-tracking branch 'origin/feat/m-view-testset-create' into…
Nov 3, 2026
578739a
feat(frontend): import a CSV or JSON file as a new Test set revision …
Nov 3, 2026
4bdbf1c
fix(frontend): name nested columns a test set import drops, and mount…
Nov 3, 2026
1f1080d
feat(frontend): create a live evaluation from the entities package
Nov 3, 2026
9a25ab8
feat(frontend): offer Live evaluation in the runs list create entries
Nov 3, 2026
04883e4
feat(frontend): live evaluation sheet in the /m evaluations view
Nov 3, 2026
6e22f82
fix(frontend): address review round 1 of the live evaluation sheet
Nov 3, 2026
cbcacb8
fix(frontend): list an unnamed evaluator by its slug in the live eval…
Nov 3, 2026
1a24973
fix(frontend): keep the trace filter trigger from submitting the live…
Nov 3, 2026
9e2f5d4
feat(frontend): add the test set menu, load dialog, confirm dialogs a…
Nov 3, 2026
4a46026
test(frontend): wait for the selection to follow a revision delete
Nov 3, 2026
ee2302b
docs(frontend): add Storybook stories for the playground test set men…
Nov 3, 2026
fc42074
feat(frontend): compare revisions side by side in the /m playground
Nov 3, 2026
bfca8d7
test(frontend): stub the test set menu in the run pane test
Nov 3, 2026
87d4109
fix(frontend): keep compare state when the anchor column moves or closes
Nov 3, 2026
dc6d090
fix(frontend): load the new chat test case's conversation, keep rows …
Nov 3, 2026
767480a
fix(frontend): keep compared revisions' inputs and stop runs before t…
Nov 3, 2026
408fbd7
fix(frontend): ask before a chat test case switch drops edits, keep d…
Nov 3, 2026
1e5fceb
fix(frontend): keep the load dialog footer inside the dialog, widen t…
Nov 3, 2026
85c12e5
feat(frontend): configuration tab on the /m run page (summary card wi…
Nov 3, 2026
f0a584a
fix(frontend): replace the chat test case on a cross-revision import,…
Nov 3, 2026
7396ca6
fix(frontend): rename sends only id, name, description and data; save…
Nov 3, 2026
05529c3
fix(frontend): keep deselected saved rows in the test set, count the …
Nov 3, 2026
3078a46
fix(frontend): configuration rows stack on a phone, evaluator name wr…
Nov 3, 2026
91e4455
fix(frontend): delete a saved row unchecked in Manage on sync, as in …
Nov 3, 2026
bf8078c
fix(frontend): run Configuration tab is read only; JSON view cannot b…
Nov 3, 2026
cebd41c
fix(frontend): drop the edits before Discard & Load copies the rows
Nov 3, 2026
0f59640
feat(frontend): read only scenario focus drawer on the evaluation run…
Nov 3, 2026
c159dd0
fix(frontend): scenario drawer polls only when the Scenarios tab does…
Nov 3, 2026
dd605cf
fix(frontend): scenario drawer judges a failed run by the app result …
Nov 3, 2026
e04b777
fix(frontend): scenario drawer fills the screen on a phone
Nov 3, 2026
16445ff
feat(frontend): annotate tab and annotate sheet on the /m evaluation …
Nov 3, 2026
c8694d4
fix(frontend): an annotation result is never taken for the app output…
Nov 3, 2026
d5405d5
fix(frontend): run annotations refresh the annotation traces the rows…
Nov 3, 2026
108c85c
fix(frontend): stack the /m compare columns on a phone and show the n…
Nov 3, 2026
515af52
fix(frontend): a run annotation never reads another run's annotation …
Nov 3, 2026
962cc29
fix(frontend): a run save refreshes the run metrics and drops the rep…
Nov 3, 2026
4bcec54
fix(frontend): a run save reads the scenario results again with the s…
Nov 3, 2026
ddd385d
Merge remote-tracking branch 'origin/feat/m-view-testset-create' into…
Nov 3, 2026
871e180
fix(frontend): a run save fails when the annotation cannot be linked …
Nov 3, 2026
73ccaf4
feat(frontend): create a new test set from the playground load dialog…
Nov 3, 2026
633157f
fix(frontend): keep the create dialog open while the new test set row…
Nov 3, 2026
cbc1228
test(frontend): give the session URL test a QueryClient
Nov 3, 2026
c93d910
fix(frontend): stop chain runs before the first revision moves, swap …
Nov 3, 2026
0b7cb6c
feat(frontend): add the evaluator playground to /m behind the develop…
Nov 3, 2026
83c8c18
refactor(frontend): keep the evaluator chain actions in their own con…
Nov 3, 2026
d1e50d4
fix(frontend): keep the test set connection when the evaluator's app …
Nov 3, 2026
6e4c5ed
fix(frontend): move a chat conversation with the evaluator's app, kee…
Nov 3, 2026
1ed598e
chore(frontend): add the evaluator playground route to the speed budget
Nov 3, 2026
6b0e33e
fix(frontend): leave the fallback output port out of the chained eval…
Nov 3, 2026
d6ef778
v0.128.5
mmabrouk Nov 3, 2026
deb8383
chore(ci): allow the evaluation run fixture keys in gitleaks
Nov 3, 2026
482d151
docs(changelog): v0.128.0 – know what an agent is missing before you …
mmabrouk Nov 4, 2026
5f4c2c8
Merge pull request #8072 from Agenta-AI/fix/gitleaks-eval-run-fixtures
mmabrouk Nov 4, 2026
4a1b811
Merge pull request #8036 from Agenta-AI/fix/m-views-release-audit
mmabrouk Nov 4, 2026
5868794
Merge pull request #8050 from Agenta-AI/perf/m-trace-drawer-lazy
mmabrouk Nov 4, 2026
9eb5d3b
Merge pull request #8055 from Agenta-AI/feat/m-session-drawer
mmabrouk Nov 4, 2026
b54f8eb
feat(frontend): trace to test set mapping helpers and revision column…
Nov 3, 2026
b01f435
feat(frontend): add to test set form state and save over the package …
Nov 3, 2026
930ece0
feat(frontend): add to test set sheet with target, mappings, preview …
Nov 3, 2026
85fd7bd
feat(frontend): add to test set entry points in the traces toolbar an…
Nov 3, 2026
b665684
perf(frontend): keep the revision column read out of the app shell bu…
Nov 3, 2026
44aa81d
fix(frontend): address review round 1 of add to test set, add the she…
Nov 3, 2026
652f1e6
test(frontend): cover the span retry of the add to test set sheet
Nov 3, 2026
b52d8b1
fix(frontend): keep loaded test set columns when a later refresh fails
Nov 3, 2026
fb1011c
fix(frontend): offer the fields inside an outputs object as data paths
Nov 3, 2026
3ecdbe5
perf(frontend): load every trace drawer header action through one sha…
Nov 3, 2026
7da976f
Merge pull request #8056 from Agenta-AI/feat/m-view-add-to-testset
mmabrouk Nov 4, 2026
17f3934
feat(frontend): annotate the active span from the trace drawer in /m
Nov 3, 2026
d1c9237
fix(frontend): address review round 1 of the trace annotate sheet
Nov 3, 2026
4a95768
fix(frontend): address review round 2 of the trace annotate sheet
Nov 3, 2026
ba61e80
fix(frontend): address review round 3 of the trace annotate sheet
Nov 3, 2026
4fa329d
perf(frontend): read the stored annotations without react query in th…
Nov 3, 2026
883b9d8
test(frontend): click the header Add Evaluator in the annotate sheet …
Nov 3, 2026
2262405
Merge pull request #8060 from Agenta-AI/feat/m-view-annotate-trace
mmabrouk Nov 4, 2026
8f5bb17
feat(frontend): annotation filters and add all matching to a queue on…
Nov 3, 2026
af9a64e
test(frontend): give the app filter screen test the traces query fields
Nov 3, 2026
e383c3a
perf(frontend): show the queue all matching progress as a toast, keep…
Nov 3, 2026
420d480
perf(frontend): keep the queue all matching run, its confirm and its …
Nov 3, 2026
389b90d
fix(frontend): address review round 1 of the traces toolbar actions
Nov 3, 2026
6cf2594
fix(frontend): address review round 2 of the traces toolbar actions
Nov 3, 2026
cda879c
test(frontend): render the queue all matching menu stories with the /…
Nov 3, 2026
52192c2
test(frontend): open the Add menu in the stories after the queue pick…
Nov 3, 2026
6c9eb47
Merge pull request #8069 from Agenta-AI/feat/m-view-traces-toolbar
mmabrouk Nov 4, 2026
532a7e9
Merge pull request #8037 from Agenta-AI/feat/m-view-testsets-archived
mmabrouk Nov 4, 2026
5dd9719
Merge remote-tracking branch 'origin/release/v0.128.5' into t8038
mmabrouk Nov 4, 2026
b982012
Merge pull request #8038 from Agenta-AI/feat/m-view-testset-create
mmabrouk Nov 4, 2026
3babc56
Merge pull request #8039 from Agenta-AI/feat/m-view-testset-detail-2
mmabrouk Nov 4, 2026
b040cf9
Merge remote-tracking branch 'origin/release/v0.128.5' into feat/m-vi…
mmabrouk Nov 4, 2026
bfc3c0b
Merge pull request #8058 from Agenta-AI/feat/m-view-testset-import
mmabrouk Nov 4, 2026
c738479
Merge pull request #8040 from Agenta-AI/feat/m-view-evaluations
mmabrouk Nov 4, 2026
0583214
Merge pull request #8043 from Agenta-AI/feat/m-view-new-evaluation
mmabrouk Nov 4, 2026
06d3f80
Merge pull request #8044 from Agenta-AI/feat/m-view-app-overview
mmabrouk Nov 4, 2026
4152af7
Merge pull request #8068 from Agenta-AI/feat/m-view-live-evaluation
mmabrouk Nov 4, 2026
a985c80
Merge remote-tracking branch 'origin/release/v0.128.5' into feat/m-vi…
mmabrouk Nov 4, 2026
1208373
Merge pull request #8042 from Agenta-AI/feat/m-view-run-details
mmabrouk Nov 4, 2026
c0f3801
Merge pull request #8045 from Agenta-AI/feat/m-view-run-scenarios
mmabrouk Nov 4, 2026
bc3145f
Merge pull request #8047 from Agenta-AI/feat/m-view-run-configuration
mmabrouk Nov 4, 2026
fa5b8f6
Merge remote-tracking branch 'origin/release/v0.128.5' into feat/m-vi…
mmabrouk Nov 4, 2026
fb5715b
Merge pull request #8048 from Agenta-AI/feat/m-view-run-focus
mmabrouk Nov 4, 2026
afd08f7
Merge remote-tracking branch 'origin/release/v0.128.5' into feat/m-vi…
mmabrouk Nov 4, 2026
0e002b3
Merge pull request #8061 from Agenta-AI/feat/m-view-run-annotate
mmabrouk Nov 4, 2026
15e096c
Merge pull request #8041 from Agenta-AI/feat/m-view-playground-actions
mmabrouk Nov 4, 2026
93af148
Merge pull request #8064 from Agenta-AI/feat/m-view-playground-refine
mmabrouk Nov 4, 2026
00da750
Merge pull request #8046 from Agenta-AI/feat/m-view-playground-inputs…
mmabrouk Nov 4, 2026
7e83ebb
Merge remote-tracking branch 'origin/release/v0.128.5' into feat/m-vi…
mmabrouk Nov 4, 2026
932dc01
fix(frontend): address CodeRabbit notes on the /m views batch
mmabrouk Nov 4, 2026
e1bb113
fix(frontend): import order in PlaygroundScreen
mmabrouk Nov 4, 2026
2152bdb
Merge pull request #8049 from Agenta-AI/feat/m-view-playground-compare
mmabrouk Nov 4, 2026
8a7a7a6
Merge pull request #8057 from Agenta-AI/fix/m-playground-compare-foll…
mmabrouk Nov 4, 2026
1380be1
Merge remote-tracking branch 'origin/release/v0.128.5' into feat/m-vi…
mmabrouk Nov 4, 2026
1969c97
fix(frontend): fix the TypeScript lint errors in /m tests on the rele…
Nov 4, 2026
c29de52
Merge pull request #8062 from Agenta-AI/feat/m-view-playground-testsets
mmabrouk Nov 4, 2026
2b76112
Merge remote-tracking branch 'origin/release/v0.128.5' into feat/m-vi…
mmabrouk Nov 4, 2026
820a860
Merge pull request #8063 from Agenta-AI/feat/m-view-playground-create…
mmabrouk Nov 4, 2026
e424df7
Merge pull request #8084 from Agenta-AI/fix/m-test-lint-v0.128.5
mmabrouk Nov 4, 2026
a79b368
Merge remote-tracking branch 'origin/release/v0.128.5' into fix/m-vie…
mmabrouk Nov 4, 2026
683f445
Merge remote-tracking branch 'origin/release/v0.128.5' into feat/m-vi…
Nov 4, 2026
a1cd415
Merge remote-tracking branch 'origin/release/v0.128.5' into feat/m-vi…
Nov 4, 2026
9b28574
chore(frontend): budget the evaluator playground route, fix test impo…
Nov 4, 2026
725a798
Merge pull request #8070 from Agenta-AI/feat/m-view-evaluator-playground
mmabrouk Nov 4, 2026
435ab5b
fix(frontend): fix lint and three stale /m tests on the release branch
Nov 4, 2026
15b334b
Merge pull request #8085 from Agenta-AI/fix/m-release-tip-checks
mmabrouk Nov 4, 2026
3c8d1a7
Merge pull request #8083 from Agenta-AI/fix/m-views-coderabbit-01285
mmabrouk Nov 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
13 changes: 13 additions & 0 deletions .gitleaksignore
Original file line number Diff line number Diff line change
Expand Up @@ -331,3 +331,16 @@ fa13fd6147bbdaa76fe42324e5e0da0025d2f275:api/oss/tests/pytest/unit/gateways/test
6b7f6b127ae55c352b950cc39a63931641cdd0bf:api/oss/tests/pytest/unit/gateways/test_gateways_mcp_probe.py:generic-api-key:955
# Fingerprint line added in 3f0b12cf87 for a test URL; not a credential.
3f0b12cf8795131ca94d459aaa728070b92bd35f:.gitleaksignore:generic-api-key:333

# Evaluation run test fixtures (#8042): evaluator, application and test set keys with a hex suffix trip generic-api-key. Not credentials.
e4bd75902cfcbaa16e0d3db5e3262b57b991b1ff:web/packages/agenta-entities/tests/fixtures/evaluationRun/online-metrics.json:generic-api-key:31
e4bd75902cfcbaa16e0d3db5e3262b57b991b1ff:web/packages/agenta-entities/tests/fixtures/evaluationRun/online-metrics.json:generic-api-key:53
e4bd75902cfcbaa16e0d3db5e3262b57b991b1ff:web/packages/agenta-entities/tests/unit/evaluation-run-metrics.test.ts:generic-api-key:71
e4bd75902cfcbaa16e0d3db5e3262b57b991b1ff:web/packages/agenta-entities/tests/fixtures/evaluationRun/auto-metrics.json:generic-api-key:48
e4bd75902cfcbaa16e0d3db5e3262b57b991b1ff:web/packages/agenta-entities/tests/fixtures/evaluationRun/auto-metrics.json:generic-api-key:75
e4bd75902cfcbaa16e0d3db5e3262b57b991b1ff:web/packages/agenta-entities/tests/fixtures/evaluationRun/auto-metrics.json:generic-api-key:105
e4bd75902cfcbaa16e0d3db5e3262b57b991b1ff:web/packages/agenta-entities/tests/fixtures/evaluationRun/auto-metrics.json:generic-api-key:174
e4bd75902cfcbaa16e0d3db5e3262b57b991b1ff:web/packages/agenta-entities/tests/fixtures/evaluationRun/auto-metrics.json:generic-api-key:184
e4bd75902cfcbaa16e0d3db5e3262b57b991b1ff:web/packages/agenta-entities/tests/fixtures/evaluationRun/auto-metrics.json:generic-api-key:194
e4bd75902cfcbaa16e0d3db5e3262b57b991b1ff:web/packages/agenta-entities/tests/fixtures/evaluationRun/auto-metrics.json:generic-api-key:204
e4bd75902cfcbaa16e0d3db5e3262b57b991b1ff:web/packages/agenta-entities/tests/fixtures/evaluationRun/auto-metrics.json:generic-api-key:214
2 changes: 1 addition & 1 deletion api/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "api"
version = "0.128.4"
version = "0.128.5"
description = "Agenta API"
requires-python = ">=3.11,<3.14"
authors = [
Expand Down
6 changes: 3 additions & 3 deletions api/uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion clients/python/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "agenta-client"
version = "0.128.4"
version = "0.128.5"
description = "Fern-generated Python client for the Agenta API."
requires-python = ">=3.11,<3.14"
authors = [
Expand Down
2 changes: 1 addition & 1 deletion clients/python/uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

65 changes: 65 additions & 0 deletions docs/blog/entries/agent-needs-setup.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
title: "Know what an agent is missing before you run it"
slug: agent-needs-setup
date: 2026-10-30
tags: [v0.128.0]
description: "When a model, key, MCP server, secret or connected app an agent uses goes missing, the new app marks it Needs setup instead of letting the run fail. Invites now open in the new app."
---

<Summary>

When something an agent uses goes missing, the new app now tells you before a run fails. The item shows **Needs setup** in the agent editor, with the reason under it. If the model can't run, a banner above the chat box says so, and Send stays off until you set it up.

- A missing MCP server, secret or connected app no longer stops a run. The agent runs without it.
- A scheduled or event run whose model needs setup is recorded once as skipped, instead of being retried five times.
- Invite links open in the new app, and new teammates land in the project they were invited to.

</Summary>

{/* truncate */}

## Know what an agent is missing

An agent names the exact model, provider API key, subscription login, MCP server, secret and connected app it uses. Any of them can go missing later: someone deletes it, turns it off or stops sharing it with the project, or the model is no longer offered. Until now each kind failed in its own way. Some failed the run, an MCP server failed at its first tool call, and the editor showed nothing for a deleted MCP server or a missing key.

The new app now checks the agent when you open it.

- **In the editor**, each missing item shows **Needs setup** and the reason, such as **Not found in this project**, **Not shared with this project**, **Turned off** or **Sign-in expired**. Click the item to fix it.
- **In chat**, when the model needs setup, a banner above the chat box reads **This agent needs setup** with the line **The model needs setup before this agent can run.** If you can fix it, a **Set up** button opens the model picker. You can keep typing, and Send turns on once the model is set up.
- **Runs go on without a missing tool.** A missing MCP server, secret or connected app is left out, and the agent runs without it. Only a missing model, provider API key or subscription login stops a run, and it stops before the agent starts.
- **Automations.** When a schedule or event fires and the model needs setup, the run is recorded once as **Skipped: agent needs setup**, and the schedule stays on. It used to be retried five times and recorded as failed. You can't turn on a schedule or trigger, or connect the agent to a channel, until its model is set up. Saving your changes is never blocked.

## Improvements

- **Choose who your Slack agent answers, and in which channels.** Under **Access**, set **Who can message it** to **Specific people** and find them by name or email. Under **Advanced**, set **Channels it answers in** to **Only these channels** and check the channels it should answer in. Each agent keeps its own list, even when several agents share one Slack app. Someone not on the list who messages the agent directly or mentions it gets one private note, at most once a day. Telegram agents get the same choice for groups. See [Connect an agent to Slack](/guides/connect-slack).
- **Invites open in the new app.** An invited person signs in to the new app, accepts the invite and lands in the invited project. A new account answers the onboarding questions and skips the credits and first-agent steps. Invite links sent before this release still work. [See the change](https://github.com/Agenta-AI/agenta/pull/7940).
- If your deployment doesn't send email, inviting someone from **Members** in the new app's Settings now shows the invite link with a **Copy** button, so you can share it yourself.
- **An automation runs as whoever last saved it.** When you save a change to someone else's automation, even a new name, it runs with your access from then on. Pausing, resuming and deleting don't change who it runs as. See [Automations](/concepts/automations#an-automation-runs-as-whoever-last-saved-it).
- Runs sent from your own app show their name and an external tag in **Analytics**, instead of **Unknown agent**.
- Event automations include the event that started the run in the agent's message. In the editor, you can insert event fields into the instruction and preview what the agent will receive.
- When you comment on a file preview, click a staged comment tile to jump to its comment. Element picking pauses while a note is open, and Alt+M turns comment mode on and off.
- The **What's New** dialog groups features, improvements and fixes by release.
- **Picking a template creates the agent right away** and opens its first chat. The agent asks for accounts in the chat when it needs one, and accounts already connected in the project are used automatically.
- **Download a skill** as SKILL.md, or as a .zip with its bundled files, from the skill editor or the skill's **⋮** menu.
- **Switching sessions is faster** in the new app. In our dev tests, switching session tabs took 1 to 18 ms, down from 1.25 to 6.1 seconds.
- Once a run ends, the agent's in-between messages fold into the steps above the answer.
- When the agent waits on a secret request or an approval, typing a message answers it and sends your message to the agent.
- Files the answer links to, such as a zip built with a shell command, get a file card with **Download**.
- Switching organization or project from Settings keeps you on the same screen and shows the new project's connections, schedules and subscriptions.
- Organization admins can manage domains, OIDC SSO providers and the organization slug in **Settings > Access and security** in the new app. These were read-only there before.
- On deployments with password sign-in, admins can create a one-time password reset link for a member from **Settings > Members** in the new app.
- The agent menu has **Open in playground**, which starts a new chat with the agent.
- **Self-hosting:** new Pi sessions in the local sandbox start faster. In our tests, a new session was ready in about 0.4 seconds instead of 1.3.

## Bug fixes

- Signing in with Google, GitHub or another provider finishes, instead of sending you back to the login page when your browser held data from an earlier session.
- A failed sign-in stops loading so you can try again, and reloading a used sign-in link tells you to sign in again.
- MCP servers that showed an OAuth error on their own page when you clicked **Connect** now connect, without you setting up an OAuth app.
- Sent messages stay in the chat when you switch sessions, and messages sent from a connection or question card show up right away. A steered turn is no longer labeled **Stopped**.
- After a failed MCP connection, closing the connect sheet shows the server as **Not signed in** without a reload.
- Signed-out visitors who open a `/w` or `/auth` link reach the new sign-in page.
- A Claude agent turn longer than 60 minutes no longer ends without its final message.
- A queued message runs on its own when the turn before it stops responding and is closed.
- Opening a skill no longer asks you to discard edits nobody made.
- Archived agents on the **Agents** page show **Restore** in their menu instead of **Archive agent**.
4 changes: 2 additions & 2 deletions hosting/kubernetes/helm/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ apiVersion: v2
name: agenta
description: A Helm chart for deploying Agenta (OSS or EE) on Kubernetes
type: application
version: 0.128.4
appVersion: "v0.128.4"
version: 0.128.5
appVersion: "v0.128.5"
keywords:
- agenta
- llm
Expand Down
2 changes: 1 addition & 1 deletion sdks/python/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "agenta"
version = "0.128.4"
version = "0.128.5"
description = "Agenta is the open-source workspace for your agents. Build agents through chat, improve them with feedback, and share them with your team."
readme = "README.md"
requires-python = ">=3.11,<3.14"
Expand Down
4 changes: 2 additions & 2 deletions sdks/python/uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion services/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "services"
version = "0.128.4"
version = "0.128.5"
description = "Agenta Services (Chat & Completion)"
requires-python = ">=3.11,<3.14"
authors = [
Expand Down
6 changes: 3 additions & 3 deletions services/uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion web/ee/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@agenta/ee",
"version": "0.128.4",
"version": "0.128.5",
"private": true,
"engines": {
"node": "24.x"
Expand Down
2 changes: 1 addition & 1 deletion web/mobile/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@agenta/mobile",
"version": "0.128.4",
"version": "0.128.5",
"private": true,
"engines": {
"node": "24.x"
Expand Down
64 changes: 37 additions & 27 deletions web/mobile/scripts/speed/budget.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,34 +5,44 @@
"timingPercent": 15
},
"firstLoadGzipBytes": {
"shell": 1231906,
"shell": 972022,
"routes": {
"/": 1234384,
"/404": 1233450,
"/auth": 1295712,
"/auth/callback/[[...provider]]": 1263818,
"/embed/[embedId]": 1312443,
"/invite": 1269549,
"/w": 1234386,
"/w/[workspace_id]": 1234435,
"/w/[workspace_id]/p": 1234438,
"/w/[workspace_id]/p/[project_id]": 1233373,
"/w/[workspace_id]/p/[project_id]/agents": 1375925,
"/w/[workspace_id]/p/[project_id]/agents/[agent_id]": 1904482,
"/w/[workspace_id]/p/[project_id]/agents/new": 1481035,
"/w/[workspace_id]/p/[project_id]/apps": 1406783,
"/w/[workspace_id]/p/[project_id]/apps/[app_id]/playground": 1356665,
"/w/[workspace_id]/p/[project_id]/automations": 1383244,
"/w/[workspace_id]/p/[project_id]/automations/[automation_id]": 1763948,
"/w/[workspace_id]/p/[project_id]/automations/new": 1430265,
"/w/[workspace_id]/p/[project_id]/observability": 1481855,
"/w/[workspace_id]/p/[project_id]/onboarding/[[...step]]": 1381673,
"/w/[workspace_id]/p/[project_id]/sessions": 1853763,
"/w/[workspace_id]/p/[project_id]/sessions/[session_id]": 1785188,
"/w/[workspace_id]/p/[project_id]/settings": 1368600,
"/w/[workspace_id]/p/[project_id]/skills": 1411554,
"/w/[workspace_id]/p/[project_id]/templates": 1364202,
"/w/[workspace_id]/p/[project_id]/templates/[template_key]": 1358846
"/": 974500,
"/404": 973588,
"/auth": 1037907,
"/auth/callback/[[...provider]]": 1003945,
"/embed/[embedId]": 1054407,
"/invite": 1009954,
"/w": 974502,
"/w/[workspace_id]": 974551,
"/w/[workspace_id]/p": 974554,
"/w/[workspace_id]/p/[project_id]": 973489,
"/w/[workspace_id]/p/[project_id]/agents": 1123635,
"/w/[workspace_id]/p/[project_id]/agents/[agent_id]": 1892167,
"/w/[workspace_id]/p/[project_id]/agents/new": 1243763,
"/w/[workspace_id]/p/[project_id]/annotations": 1110012,
"/w/[workspace_id]/p/[project_id]/annotations/[queue_id]": 1412184,
"/w/[workspace_id]/p/[project_id]/apps": 1151458,
"/w/[workspace_id]/p/[project_id]/apps/[app_id]/playground": 1097379,
"/w/[workspace_id]/p/[project_id]/apps/archived": 1108411,
"/w/[workspace_id]/p/[project_id]/automations": 1128690,
"/w/[workspace_id]/p/[project_id]/automations/[automation_id]": 1756030,
"/w/[workspace_id]/p/[project_id]/automations/new": 1423666,
"/w/[workspace_id]/p/[project_id]/endpoints": 1108024,
"/w/[workspace_id]/p/[project_id]/evaluators": 1112799,
"/w/[workspace_id]/p/[project_id]/evaluators/archived": 1110815,
"/w/[workspace_id]/p/[project_id]/evaluators/playground": 1103974,
"/w/[workspace_id]/p/[project_id]/observability": 1240244,
"/w/[workspace_id]/p/[project_id]/onboarding/[[...step]]": 1121181,
"/w/[workspace_id]/p/[project_id]/prompts": 1114362,
"/w/[workspace_id]/p/[project_id]/sessions": 1839662,
"/w/[workspace_id]/p/[project_id]/sessions/[session_id]": 1777253,
"/w/[workspace_id]/p/[project_id]/settings": 1112716,
"/w/[workspace_id]/p/[project_id]/skills": 1405273,
"/w/[workspace_id]/p/[project_id]/templates": 1112483,
"/w/[workspace_id]/p/[project_id]/templates/[template_key]": 1104319,
"/w/[workspace_id]/p/[project_id]/testsets": 1114363,
"/w/[workspace_id]/p/[project_id]/variants": 1130117
}
},
"timing": {
Expand Down
25 changes: 18 additions & 7 deletions web/mobile/src/features/annotations/AnnotationEvaluatorSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,18 @@ import type {AnnotationMetricField} from "@agenta/annotation"

import {AnnotationField} from "./AnnotationField"

/** The metrics one evaluator asks for, one field each. */
/** The metrics one evaluator asks for, one field each, with an error line under a field. */
export const AnnotationEvaluatorSection = ({
slug,
fields,
readOnly = false,
errors,
onChange,
}: {
slug: string
fields: Record<string, AnnotationMetricField>
readOnly?: boolean
errors?: Record<string, string>
onChange: (slug: string, fieldKey: string, value: unknown) => void
}) => {
const entries = Object.entries(fields)
Expand All @@ -21,12 +25,19 @@ export const AnnotationEvaluatorSection = ({
return (
<div className="flex flex-col gap-4">
{entries.map(([fieldKey, field]) => (
<AnnotationField
key={fieldKey}
fieldKey={fieldKey}
field={field}
onChange={(value) => onChange(slug, fieldKey, value)}
/>
<div key={fieldKey} className="flex flex-col gap-1">
<AnnotationField
fieldKey={fieldKey}
field={field}
readOnly={readOnly}
onChange={(value) => onChange(slug, fieldKey, value)}
/>
{errors?.[fieldKey] ? (
<p role="alert" className="m-0 text-xs text-destructive">
{errors[fieldKey]}
</p>
) : null}
</div>
))}
</div>
)
Expand Down
Loading
Loading