What's Changed
- fix(tools): support no-auth Composio toolkits + server-owned connection flags by @mmabrouk in #4785
- feat(agent): provider/model/connection for agent harnesses by @mmabrouk in #4815
- feat(agent): skills on the agent config by @mmabrouk in #4814
- feat(agent): capability config for sandbox, Claude, tool permissions by @mmabrouk in #4811
- feat(frontend): restore agent playground UI on big-agents by @mmabrouk in #4818
- fix(docs): remove broken custom-agent-runner-images links by @mmabrouk in #4819
- ci(agent): build and test sandbox-agent images by @mmabrouk in #4804
- chore(railway): add sandbox-agent preview deployment by @mmabrouk in #4802
- chore(kubernetes): deploy sandbox-agent sidecar by @mmabrouk in #4803
- fix(agent): drop skills on Claude wire (restore lost override) by @mmabrouk in #4824
- style(examples): ruff format RAG_QA_chatbot scripts by @mmabrouk in #4823
- fix(frontend): repair SessionsTable JSX from botched merge by @mmabrouk in #4822
- fix(agent): Claude carries skills for project-local materialization by @mmabrouk in #4825
- test(agent): align acceptance/integration tests with agent refactors by @mmabrouk in #4826
- fix(api): scrub server-owned flags from workflow query filters by @mmabrouk in #4827
- fix(api): only drop is_platform query filter when False, not True by @mmabrouk in #4832
- fix(frontend): use generateId() instead of crypto.randomUUID in AgentChatSlice by @mmabrouk in #4842
- [docs] Add agent workflow interface inventory by @mmabrouk in #4821
- [chore] Remove the /load-session endpoint and dead session-store scaffolding by @mmabrouk in #4828
- refactor(agent): remove legacy in-process backend, rename harnesses pi_core/pi_agenta by @mmabrouk in #4833
- feat(agent): versioned harness identity (slug + name) + bind builtin agent URI by @mmabrouk in #4829
- test(agent): guard /inspect x-ag-type-ref markers resolve in catalog by @mmabrouk in #4835
- feat(agent): wire models as the /run schema source + canonical /inspect response by @mmabrouk in #4830
- feat(frontend): harness-aware agent provider + model picker (inspect models) by @mmabrouk in #4839
- refactor(agent): collapse run-selection into AgentConfig, rename harness_kwargs by @mmabrouk in #4840
- [release] v0.104.3 by @github-actions[bot] in #4820
- feat(agent): enforce sidecar trust + disable unenforceable sandbox boundaries by @mmabrouk in #4831
- feat(agent): enable HTTP (remote) MCP transport with secret-backed headers by @mmabrouk in #4834
- feat(agent): fail loud on missing harness capabilities + debug assertions by @mmabrouk in #4838
- feat(agent): restore the internal gateway-tool MCP channel for Claude by @mmabrouk in #4847
- fix(agent): park HITL approvals + keep ACP alive + fail loud on code tools by @mmabrouk in #4848
- docs(agent): plan — restore gateway-tool MCP for Claude Code (decision needed) by @mmabrouk in #4844
- docs(agent): plan the HITL approval fix (F-024) by @mmabrouk in #4845
- fix(agent): clear error for bare model id + stable agent-chat keys (QA F-017/F-018/F-020/F-025) by @mmabrouk in #4846
- docs(agent): subscription-auth Claude sidecar dev/test recipe by @mmabrouk in #4849
- fix(agent): reconcile skills-system review findings by @mmabrouk in #4851
- fix(agent): restore services/agent/skills dir so the sandbox-agent image build works by @mmabrouk in #4852
- fix(agent): harden MCP delivery — Daytona loopback guard, Pi user-MCP fail-loud, http SSRF guard by @mmabrouk in #4853
- fix(agent): Claude alias resolution + skill/error tracing + error sanitize (QA F-031/F-029/F-030) by @mmabrouk in #4855
- fix(agent): scope HITL approval to the specific call + enable approve/deny promptly by @mmabrouk in #4854
- fix(agent): land skill/error trace attrs under recognized ag.* namespaces (F-036) by @mmabrouk in #4857
- fix(agent): stop Daytona sandbox leak (credit-burner) by @mmabrouk in #4856
- fix(agent): close LOW-severity backend findings (LOW-5/6/7, F-028) by @mmabrouk in #4858
- [fix] Resume HITL Deny end-to-end + guard the dev error overlay by @mmabrouk in #4859
- feat(frontend): agent playground config panel + agent run-lane wire fixes by @ardaerzin in #4850
- feat(frontend): offer Agent type in the Prompts page create menu by @ardaerzin in #4862
- feat(frontend): stream/batch response channel switch for the agent playground by @ardaerzin in #4861
- docs(agent): refresh QA run_matrix to current harness + model names by @mmabrouk in #4867
- fix(frontend): guard agent-chat run-error against crypto.randomUUID on plain HTTP by @mmabrouk in #4865
- fix(agent): force the _agenta platform skill on every pi_agenta run (D-016) by @mmabrouk in #4866
- fix(agent): end a HITL park turn gracefully so Approve/Deny complete (F-040) by @mmabrouk in #4869
- fix(hosting): guard against the web env-file footgun (F-037) by @mmabrouk in #4872
- fix(agent): surface the runner's actionable error on the batch path (F-038) by @mmabrouk in #4870
- fix(agent): fail loud when MCP is disabled but the request sent mcp_servers (F-039) by @mmabrouk in #4871
- [feat] Add triggers (connections, subscriptions, schedules) by @jp-agenta in #4749
- [feat] /invoke absorbs /messages + align agent env var names by @junaway in #4868
- fix(agent): avoid polynomial ReDoS in runner Bearer-token parsing by @junaway in #4878
- feat(frontend): hide evaluation actions in agent playground header by @ardaerzin in #4874
- [feat] Add custom secrets by @junaway in #4882
- chore(frontend): regenerate fern client against big-agents by @ardaerzin in #4887
- [fix] Claude: honor per-tool permission:"allow" so allowed tools don't park (F-046) by @mmabrouk in #4888
- [fix] Composio tunnel: idle instead of crash-loop when COMPOSIO_API_KEY unset by @mmabrouk in #4885
- [feat] Reference a workflow as an agent tool (type:"reference") by @mmabrouk in #4860
- feat(frontend): reference a workflow as an agent tool (type:"reference") by @ardaerzin in #4877
- [fix] Resolve broken workflows in big agents by @junaway in #4894
- [chore] Regenerate fern on big-agents by @junaway in #4895
- [fix] Expand x-ag-type-ref in reference-tool input schemas so harnesses can invoke them by @mmabrouk in #4890
- [fix] Claude: disable Tool-Search so agenta tools receive their input schema by @mmabrouk in #4896
- [fix] HITL: restore real tool args on approval so parked tools execute with their input by @mmabrouk in #4897
- [feat] Tool discovery: POST /tools/discover + reserved find_capabilities tool by @mmabrouk in #4884
- [feat] Direct-call tools — Phase 1: call descriptor on the resolved spec by @mmabrouk in #4889
- [feat] Direct-call tools — Phase 2: sidecar dispatch branch by @mmabrouk in #4891
- [feat] Direct-call tools — Phase 3a: run-context delivery + bind by @mmabrouk in #4892
- [feat] Direct-call tools — Phase 3b: platform-op catalog + find_capabilities + self-update by @mmabrouk in #4893
- [fix] Clean up Skill Template by @junaway in #4900
- [chore] Rename agent config to agent template by @junaway in #4901
- perf(frontend): stop re-rendering whole agent chat on every streamed token by @ardaerzin in #4902
- fix(frontend): send committed revision reference only on clean agent runs by @ardaerzin in #4904
- feat(frontend): queue agent chat messages typed during a stream by @ardaerzin in #4903
- [fix] Correct the env-var name in the MCP-disabled error (AGENTA_AGENT_MCP_SERVERS_ENABLED) by @mmabrouk in #4899
- [feat] Restructure the trace/telemetry interface by semantic role by @mmabrouk in #4910
- [refactor] PR #4893 follow-up: rename platform-op
bindtocontext_bindingsby @mmabrouk in #4906 - [feat] Restructure agent template into the nested parameters.agent shape (Step 1) by @junaway in #4913
- feat(frontend): agent config section drawers by @ardaerzin in #4881
- feat(frontend): triggers & crons in the agent playground by @ardaerzin in #4883
- feat(frontend): markdown document editor — toolbar, code blocks, nested lists, rendering by @ardaerzin in #4915
- chore(frontend): upgrade Lexical 0.40 → 0.46 by @ardaerzin in #4922
- refactor(frontend): split AgentTemplateControl into focused modules by @ardaerzin in #4923
- [feat] Make the agent template panel read more from the schema (FE + SDK) by @ardaerzin in #4932
- feat(frontend): negotiate agent stream→batch fallback on /invoke by @ardaerzin in #4875
- [feat] Add sessions: records, states, streams, interactions, mounts by @junaway in #4916
- feat(agent): client-tool round-trip backend (#4920) by @mmabrouk in #4925
- feat(agent): playground build kit (default agent config) by @mmabrouk in #4929
- feat(agent): build skills (#4918) by @mmabrouk in #4930
- feat(agent): builder tools — triggers, cron, find_triggers (#4919) by @mmabrouk in #4931
- feat(frontend): collapsible advanced config sections by @mmabrouk in #4935
- [fix] Harden agent round-trip QA paths by @mmabrouk in #4936
- [feat] Make session interactions functional and testable end to end by @junaway in #4937
- [feat] Durable object-store mounts for session working dirs by @junaway in #4938
- Fix/infinite loop in big agents by @junaway in #4967
- feat(frontend): rich markdown agent chat composer by @ardaerzin in #4927
- fix(workflows): serve canonical builtin service URLs, never a stored Docker-internal host by @mmabrouk in #4982
- [chore] Clean up big-agents platform Part I by @junaway in #4968
- feat(frontend): tag-style agent playground session bar + chat UI polish by @ardaerzin in #4983
- feat(frontend): triggers section redesign for the agent playground by @ardaerzin in #4978
- feat(store): AGENTA_STORE_NAMESPACE — share one bucket across environments by @junaway in #4989
- fix(frontend): dark-mode the playground build kit by reusing ItemRow by @ardaerzin in #4990
- feat(store): sign remote-S3 credentials with GetFederationToken by @junaway in #4992
- [fix] Resolve telemetry in all settings by @junaway in #4995
- [chore] Clean up big-agents platform/database Part II by @junaway in #4996
- feat(frontend): redesign agent-playground tool + workflow-reference selection by @ardaerzin in #4994
- fix(frontend): keep agent chat mounted across revision switches by @ardaerzin in #4997
- fix(api): Composio catalog emit canonical action slugs by @mmabrouk in #5004
- feat(frontend): agent playground Build/Chat modes by @ardaerzin in #5008
- feat(frontend): agent commit modal redesign + config-panel change indicators by @ardaerzin in #5035
- fix(frontend): surface nameless tools (workflow references) in the commit-diff Tools section by @ardaerzin in #5038
- [chore] Stop billing users, tighten retention tiers, lower base prices by @junaway in #5037
- [fix] Resolve broken use of composio auth_scheme by @jp-agenta in #5056
- feat(sdk): refresh OpenRouter default model list by @mmabrouk in #5006
- fix(agent): load agents_md on the claude harness via CLAUDE.md by @mmabrouk in #5000
- [feat]: app structure with agents by @ashrafchowdury in #4987
- feat(agent): big-agents-work — turn inspector, HITL hardening, tool catalog, playground UX by @ardaerzin in #5058
- [fix] Make credential resolution work for provider keys, bare models, and Bedrock by @jp-agenta in #5057
- [fix] Repair runner-to-API sessions routing and split internal vs public URLs by @junaway in #5059
- fix(hosting): don't strip /api at Traefik (fixes broken self-host redirects) by @mmabrouk in #5005
- [feat] Consolidate worker containers into two list-parameterized kinds by @junaway in #5061
- [FE Feat] Tools catalog category sections by @ardaerzin in #5062
- feat(sdk): handler-owned invoke negotiation (stream/trim/force) with batch=fold(stream) by @junaway in #5064
- [feat] Approval boundary: pause on authored intent, not session ids by @mmabrouk in #5041
- [fix] Paused live streams carry the terminal stop reason in the finish frame by @mmabrouk in #5065
- [fix] Refuse tools on non-Pi harness x remote sandbox instead of silently dropping them by @junaway in #5047
- feat(agent): deliver client tools to Claude over the internal MCP channel by @mmabrouk in #4985
- [feat] Gate Pi native builtins through the permission relay by @mmabrouk in #5066
- docs(agent-workflows): build-kit tools cleanup design (tool homes, test_run, skills port) by @mmabrouk in #5060
- feat(sdk,api): build-kit tools cleanup: discover renames, 12-op overlay, query_spans, one playbook skill, test_run server half by @mmabrouk in #5068
- [4726] fix(docs): update sparse-checkout command to include DB-init SQL by @Sanket2329 in #4879
- docs: add Sanket2329 as a contributor for platform, and code by @allcontributors[bot] in #5071
- [fix] Resolve broken tracing/registration of agent:v0 by @jp-agenta in #5081
- [fix] Record the real tool arguments in non-streaming run transcripts by @mmabrouk in #5072
- feat(runner,api,sdk): Complete and enable the test_run self-test tool by @mmabrouk in #5074
- docs(agent-workflows): subscription-sidecar recipe: compose network, internal API URL, extension rebuild by @mmabrouk in #5073
- feat(frontend): playground-native agent onboarding by @ardaerzin in #5076
- [feat] Post-signup survey v2 (Signup 3 - Agents) by @mmabrouk in #5085
- [feat] Capture implicit first-agent intent by @mmabrouk in #5086
- [chore] Retire legacy Agenta 1.0 onboarding by @mmabrouk in #5087
- fix(sdk): echo the continuation message id so playground turns continue in place by @mmabrouk in #5088
- fix(runner): settle sibling tool calls deferred by an approval pause by @mmabrouk in #5089
- [qa] Integrated v3-assessment batches (redaction, vercel, scalability, security, cleanups) by @junaway in #5095
- fix(runner): destroy ACP session on run completion — orphaned claude-agent-acp process leak by @mmabrouk in #5102
- perf(frontend): keep agent chat fast on long transcripts by @ardaerzin in #5082
- feat(frontend): friendly tool approvals in agent chat mode by @ardaerzin in #5101
- fix(frontend): Scroll new session tab into view in agent playground by @ardaerzin in #5112
- docs(sdk): op-catalog guidance — merge semantics, inputs_fields rules, test_run verdicts by @mmabrouk in #5105
- [fix] Coalesce duplicate tool-call records and recover swallowed Pi errors by @junaway in #5119
- chore(frontend): cut frontend bundle size (code-shiki, nextstepjs, api-client) by @ardaerzin in #4864
- [fix] Suppress CodeQL weak-crypto false positive in uuid5 helper by @junaway in #5120
- feat(frontend): template strip, one shared template surface across home, onboarding, and agent chats (flag-gated) by @mmabrouk in #5098
- feat(sdk): build-an-agent reference files + hardened playbook rules by @mmabrouk in #5106
- feat(frontend): connect-model drawer redesign + connect-gate rework by @mmabrouk in #5096
- feat(frontend): agents table — Archive action, Created by, Last modified, column order by @mmabrouk in #5123
- feat(frontend): chat slice + playground onboarding default-on; entrypoint env injection sync by @mmabrouk in #5121
- [fix] Clear orphan Redis locks and stop DAYTONA_API_KEY leaking into local daemons by @junaway in #5128
- [fix] Conform Vercel stream parts to the ai@6 chunk schema by @junaway in #5126
- [fix] Fail loud on unrecognized SDK agent config values by @junaway in #5125
- [fix] Point agent template defaults at services/runner and sweep stale docs by @junaway in #5127
- docs(design): build kit as the reserved static workflow __ag__build_kit by @mmabrouk in #5124
- feat(api,frontend): build kit served as the __ag__build_kit static workflow by @mmabrouk in #5130
- feat(frontend): template-builder flow default-on by @mmabrouk in #5131
- feat(sdk): build-an-agent skill tells the agent to read it at conversation start by @mmabrouk in #5138
- [fix] Keep the platform bearer out of the harness-readable environment by @junaway in #5137
- chore(frontend): template strip default-on — strip home is the default experience by @mmabrouk in #5139
- [fix] Refuse unknown sandbox ids and stop cross-request env bleed in the runner by @junaway in #5132
- [fix] Three tracing holes: dropped cache cost, swallowed export errors, uncaught finish by @junaway in #5133
- [fix] Gate cwd delete on a confirmed unmount and fix relay/mount ordering by @junaway in #5134
- [fix] Delegate the agent service to the SDK composition seam by @junaway in #5135
- [fix] Drain subprocess stderr so a chatty child cannot deadlock as a timeout by @junaway in #5136
- chore(frontend): retire the standalone /agent-chat demo page and its two env knobs by @mmabrouk in #5143
- feat(frontend): hide demo workspaces and projects from the UI by @mmabrouk in #5142
- feat(frontend): /settings short link redirects to the scoped settings page by @mmabrouk in #5141
- fix(web): serve /__env.js as no-store so runtime env config isn't CDN-cached by @mmabrouk in #5147
- fix(frontend): inject the supertokens password-policy keys into __env.js by @mmabrouk in #5146
- [fix] Add time-based run limits to the runner by @junaway in #5148
- [test] Pin real captured runs with replay tests by @junaway in #5149
- [fix] Permissive-by-default sandbox/egress with a hardening gate by @junaway in #5150
- [chore] Remove a scaffolding FINDINGS.md that leaked into the tree by @junaway in #5151
- Improve: Fixing UI related issues by @ashrafchowdury in #5122
- feat(frontend): schema-driven elicitation forms in agent chat by @ardaerzin in #5155
- fix(frontend): show waiting indicator while an approval resume streams by @ardaerzin in #5159
- fix(frontend): anchor Inspect turn before the working dots by @ardaerzin in #5161
- feat(runner): session keep-alive across turn boundaries (flag off by default) by @mmabrouk in #5156
- feat(runner): hold approval gates open on the live session (Claude ACP gates) by @mmabrouk in #5158
- fix(runner): cold-replay stopgaps — result caps, resume frame, arg parsing by @mmabrouk in #5152
- [#5162] fix(frontend): forward variant references on draft playground runs by @mmabrouk in #5163
- fix(runner): lower the approval TTL default to 5 minutes by @mmabrouk in #5178
- chore(frontend): polish the draft-run references fix (doc accuracy and a test guard) by @mmabrouk in #5179
- fix(service): record only messages in the agent trace span's inputs by @mmabrouk in #5183
- feat(frontend): render canonical gateway tools identically to UI-added ones by @mmabrouk in #5140
- feat(agents): Move agent-template intelligence from the card prompt into the build-an-agent skill by @mmabrouk in #5188
- [#5153] feat(runner): park Pi approval gates over the ACP permission plane by @mmabrouk in #5185
- [feat] discover_triggers: 30-60s to <1s via a cached trigger catalog by @mmabrouk in #5189
- Fix: everyday ui bugs by @ashrafchowdury in #5194
- [feat] Bake pinned Pi into the Daytona snapshot by @junaway in #5046
- test(frontend): Repoint agenta-entities SDK mocks to per-resource getters by @ardaerzin in #5203
- feat(agents): add GPT-5.6 to Pi model catalogs by @mmabrouk in #5198
- [fix] Make sidebar rows and workflow picker items middle-clickable links by @mmabrouk in #5205
- fix(sdk): stop span-attribute overflow from evicting trace references by @mmabrouk in #5206
- fix(runner): filter the Pi banner Extensions section out of traced output by @mmabrouk in #5207
- feat(frontend): elicitation M1 follow-ups — enum "Other" option + emit-harness coverage by @ardaerzin in #5177
- feat(agents): playground perf, chat UX, and connection-flow fixes by @ardaerzin in #5145
- [fix] Re-export partitionElicitationDraft from the shared utils barrel by @ardaerzin in #5208
- fix(frontend): re-export partitionElicitationDraft from the shared utils barrel by @mmabrouk in #5209
- feat(frontend): copy raw config from the playground kebab menu by @ardaerzin in #5210
- feat(agents): template playbooks adopt real request_input defaults by @ardaerzin in #5211
- fix(web): add @lexical/history to the EE app so the editor bundles by @mmabrouk in #5010
- chore(runner): upgrade Claude ACP adapter by @mmabrouk in #5213
- [feat] Resume agent sessions across the sandbox lifecycle by @jp-agenta in #5197
- fix(frontend): elicitation chat polish — friendly names, card elevation, stepper mode by @ardaerzin in #5217
- fix(runner): pin Daytona Pi ACP adapter parity by @mmabrouk in #5226
- [feat] Agent home/onboarding polish + unresolved-tool marking by @ardaerzin in #5222
- [feat] Reuse Daytona sandboxes across turns instead of deleting them every turn by @mmabrouk in #5225
- docs(agent-workflows): correct the MCP flag name across docs by @mmabrouk in #5231
- docs(agent-workflows): plan runner code-tools dead code removal by @mmabrouk in #5229
- docs(design): plan Daytona builtin-gate delivery fix (F-018) by @mmabrouk in #5218
- chore(runner): remove dead code-tools execution code by @mmabrouk in #5233
- [feat] Agent composer + template chip polish by @ardaerzin in #5235
- test(sdk): move agent regression tests under the collected pytest roots by @mmabrouk in #5236
- feat(frontend): render cron elicitation fields with the schedule builder by @ardaerzin in #5228
- fix(sdk): surface gateway tool-resolution detail so one stale action names itself (F-019) by @mmabrouk in #5237
- [5246] fix(frontend): keep the agent chat draft when committing a revision by @ardaerzin in #5250
- feat(frontend): add Motion transitions for template chip + sessions by @ardaerzin in #5252
- [feat] Rename agents and chat sessions from the playground and tables by @ashrafchowdury in #5202
- feat(runner): event-driven tool relay (fs.watch + Daytona long-poll watch, polling fallback) by @mmabrouk in #5243
- feat(runner): authenticate the internal MCP loopback endpoint (WP1) + continuation measurement protocol (WP0) by @mmabrouk in #5245
- docs(design): curated model-catalog schema for /inspect (labels, pricing, ratings) by @mmabrouk in #5257
- fix(runner): safe hardening from the stack review pass by @mmabrouk in #5248
- fix(runner): fail loud on an unresolvable requested model (F-007) by @mmabrouk in #5240
- fix(sdk): map together_ai to the env var Pi actually reads (F-012) by @mmabrouk in #5238
- fix(agent): fail loud on pre-migration flat agent-template selectors (F-016) by @mmabrouk in #5239
- fix(frontend): skill editor toggle label + paste a SKILL.md by @ardaerzin in #5258
- feat(frontend): auto-expand agent config sections when the agent fills them by @ardaerzin in #5260
- [AGE-3943] fix(frontend): scroll the build-mode sessions tab row (#5249) by @ardaerzin in #5261
- feat(frontend): elicitation Next/Accept, shortcut hints, reviewable answers by @ardaerzin in #5262
- fix(triggers): test-event 500, single-click test, dismiss drawer on create by @ardaerzin in #5259
- [fix] Route known custom providers directly by @mmabrouk in #5265
- [fix] Preserve invoke auth without trace context by @mmabrouk in #5266
- [fix] Drain approval events before done by @mmabrouk in #5267
- feat(frontend): browse and preview mount files in the session inspector by @mmabrouk in #5204
- feat(platform): add durable files shared across agent sessions by @mmabrouk in #5268
- [chore] Agent mounts followup and clean-up by @jp-agenta in #5274
- fix(api): Return analytics buckets chronologically by @mmabrouk in #5279
- (fix)[AGE-3944]: Evaluators "Create new" button doesn't open the template popover by @bekossy in #5271
- [fix] Keep Usage totals and charts on one date range by @mmabrouk in #5280
- [fix] Give the model selection dropdown a stable layout by @ashrafchowdury in #5282
- docs(agent-workflows): Plan MCP configuration redesign by @mmabrouk in #5289
- [refactor] Replace the public MCP server contract by @mmabrouk in #5290
- [fix] Resolve MCP secrets from the project vault by @mmabrouk in #5296
- [feat] Make MCP secret authentication usable by @mmabrouk in #5297
- [5283] fix(agent): Persist Pi transcripts in session workspaces by @mmabrouk in #5292
- [5283] fix(agent): Keep Pi skill paths stable on cold resume by @mmabrouk in #5295
- fix(runner): repair agent snapshot selection by @mmabrouk in #5293
- refactor(runner): canonical runner configuration names and typed config by @mmabrouk in #5294
- fix(runner): conciseError false-matches a bare "401" substring as auth failure by @bekossy in #5303
- test(frontend): sync web acceptance suite with big-agents by @bekossy in #5281
- fix(web): honest sandbox picker + hide local-only permission options by @mmabrouk in #5302
- [fix] Resolve interactions/credentials issues by @jp-agenta in #5305
- fix(runner): narrow the runner environment and drop subscription auto-upload by @mmabrouk in #5298
- docs(self-host): agent runner docs, hosting layout, and image reorg by @mmabrouk in #5301
- docs(skill): write-docs — write for the reader by @mmabrouk in #5309
- [fix] Align demo agent defaults by @mmabrouk in #5311
- docs(self-host): copy-paste self-host prompt card by @mmabrouk in #5312
- [fix] Land the v7 audit findings that need no product decision by @junaway in #5286
- fix(hosting): bundle SeaweedFS store in gh compose by @mmabrouk in #5313
- fix(hosting): bind Postgres and the dashboard to loopback by default by @mmabrouk in #5308
- fix(hosting): bundle SeaweedFS store in gh.local and gh.ssl variants by @mmabrouk in #5315
- docs(self-host): correct runner-token wording and a stale image-folder path by @mmabrouk in #5319
- fix(hosting): expose the object store for Daytona sandboxes on self-hosted deployments by @mmabrouk in #5320
- fix(runner): surface Pi provider errors instead of "The agent produced no output" by @mmabrouk in #5317
- fix(runner): fail closed when the Pi permission extension cannot install by @mmabrouk in #5318
- [integration] big-agents by @mmabrouk in #4791
- fix(runner): emit a single real error frame instead of appending "produced no output" by @mmabrouk in #5321
- ci(railway): retry service resolution to survive the bootstrap→configure race by @mmabrouk in #5322
- [release] v0.105.0 by @github-actions[bot] in #5300
Full Changelog: v0.104.3...105.0