Ctrl K
ComunidadGuías…

CHANGELOG.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Changelog

This file is generated at release time from each PR's `## Changelog` section
(or its title), tagged by the PR's `Type of change` (e.g. `[UI]`), with linked
PRs and author credits. The concise, curated highlights live on the website
under `/releases`.

## [v0.21.0] — 2026-11-05

- [Bug fix] ACP-backed sessions now display the model the running harness actually selected, instead of the agent spec's pinned model. ([#5823](https://github.com/omnigent-ai/omnigent/pull/5823), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Smart Routing uses Unity Catalog model service names so Databricks models no longer fail with a retired-endpoint 501 error. ([#6798](https://github.com/omnigent-ai/omnigent/pull/6798), [@edurdevic](https://github.com/edurdevic))
- [Feature] Claude Code's AskUserQuestion now renders as clickable options on the claude-sdk harness ([#7403](https://github.com/omnigent-ai/omnigent/pull/7403), [@creynold84](https://github.com/creynold84))
- [Bug fix] Codex sessions can recover a backfill lease left by a dead process instead of waiting for it to expire. ([#7844](https://github.com/omnigent-ai/omnigent/pull/7844), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Feature] `OMNIGENT_SEEDED_AGENTS` trims which built-in agents a deployment offers in the new-session picker ([#8495](https://github.com/omnigent-ai/omnigent/pull/8495), [@jsonmp-k8](https://github.com/jsonmp-k8))
- [UI / Bug fix] The new-session picker no longer shows an empty Harnesses list when a deployment trims its built-in agents ([#8498](https://github.com/omnigent-ai/omnigent/pull/8498), [@jsonmp-k8](https://github.com/jsonmp-k8))
- [UI / Feature] Hide individual harnesses and agents from the agent pickers (new chat, automations, project defaults) in Settings › Appearance ([#8499](https://github.com/omnigent-ai/omnigent/pull/8499), [@jsonmp-k8](https://github.com/jsonmp-k8))
- [UI / Feature / Docs / Test/CI / Breaking] `omnigent opencode` now runs on OpenCode 2.0 (`npm i -g @opencode/cli@2.0.32`; 2.0.18–2.0.x supported), with live text streaming, question forms and native `/compact`. **Breaking:** OpenCode 1.x (`opencode-ai`) is no longer supported. Hosts running it show the harness as outdated until they `npm rm -g opencode-ai` and install `@opencode/cli`. ([#8513](https://github.com/omnigent-ai/omnigent/pull/8513), [@landreville](https://github.com/landreville))
- [Bug fix] `openai-agents` agents can use Databricks-hosted Gemini models, including multi-step tool calls. ([#8655](https://github.com/omnigent-ai/omnigent/pull/8655), [@GirishS2093](https://github.com/GirishS2093))
- [Test/CI] test(cli): give each literal MCP fixture a valid transport ([#8743](https://github.com/omnigent-ai/omnigent/pull/8743), [@shekharkadyan](https://github.com/shekharkadyan))
- [Bug fix] Tool cards for ACP-harness agents show the tool's output text, with readable diff and terminal summaries, instead of a raw JSON dump ([#8980](https://github.com/omnigent-ai/omnigent/pull/8980), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Starting a session in a new worktree of a very large repository no longer times out while the worktree is checked out. ([#9136](https://github.com/omnigent-ai/omnigent/pull/9136), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Antigravity-native sessions keep their agy conversation history across host restarts and idle runner shutdowns; abandoned bridges are reclaimed after 7 days of inactivity. ([#9480](https://github.com/omnigent-ai/omnigent/pull/9480), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] fix(claude-native): keep side chats from inheriting running sub-agents ([#9602](https://github.com/omnigent-ai/omnigent/pull/9602), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Imported Codex threads keep their full history (the current rollout file, history inherited from forks and reverts, and turns before a compaction), and threads archived in Codex are imported as archived. A thread too large to import whole keeps its history from the last compaction onward. ([#9633](https://github.com/omnigent-ai/omnigent/pull/9633), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [Bug fix] A hidden browser tab or backgrounded Android app no longer redials an unreachable server every few seconds; it retries about once a minute and reconnects as soon as it is visible again. ([#9693](https://github.com/omnigent-ai/omnigent/pull/9693), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Claude Code and Codex SDK workers on a CLI login now list their probed models in Smart Routing and `sys_list_models` instead of appearing empty. ([#9700](https://github.com/omnigent-ai/omnigent/pull/9700), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] A session whose workspace directory was deleted on the host keeps working: the host recreates the directory and the chat shows a notice, instead of refusing every message with "workspace path does not exist". ([#9710](https://github.com/omnigent-ai/omnigent/pull/9710), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix] fix(web): let the landing's Smart Routing checkbox be unchecked ([#10097](https://github.com/omnigent-ai/omnigent/pull/10097), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Chore] perf(policies): cache compiled CEL policy programs ([#10101](https://github.com/omnigent-ai/omnigent/pull/10101), [@andrewreid](https://github.com/andrewreid))
- [UI / Bug fix] fix(skills): tell the Codex skill picker when `codex plugin list` fails ([#10193](https://github.com/omnigent-ai/omnigent/pull/10193), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Archiving or stopping a sub-agent no longer stops the host runner it shares with its parent session. ([#10251](https://github.com/omnigent-ai/omnigent/pull/10251), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Docs / Chore] chore: preserve paired runner tunnel close outcomes ([#10413](https://github.com/omnigent-ai/omnigent/pull/10413), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] A message sent to a Claude session while its terminal waits for a Databricks sign-in is now sent automatically once you sign in, instead of failing. ([#10539](https://github.com/omnigent-ai/omnigent/pull/10539), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(claude-native): stop telling sandbox sessions to run omni setup ([#10584](https://github.com/omnigent-ai/omnigent/pull/10584), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Claude Code sessions that used the advisor or web search before `/compact` now cold-resume without `API Error: 400`. ([#10587](https://github.com/omnigent-ai/omnigent/pull/10587), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] A Claude Code session whose screen another program wrote over no longer loses your next message and its terminal; Omnigent has Claude Code redraw and delivers it. ([#10615](https://github.com/omnigent-ai/omnigent/pull/10615), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] Pi-native sessions report Pi-priced cost across restarts, and Fireworks model IDs resolve through the pricing catalog. ([#10787](https://github.com/omnigent-ai/omnigent/pull/10787), [@mdatla](https://github.com/mdatla))
- [Docs] docs: refresh seed feature maps ([#10839](https://github.com/omnigent-ai/omnigent/pull/10839), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Show the allowed models when a native session is pinned outside its model list ([#10980](https://github.com/omnigent-ai/omnigent/pull/10980), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Fix runner auth failing closed when a no-bearer managed mint 401s before session binding ([#11006](https://github.com/omnigent-ai/omnigent/pull/11006), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix] fix(web): keep unsent AskUserQuestion answers when leaving a session ([#11041](https://github.com/omnigent-ai/omnigent/pull/11041), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Servers using an OIDC provider that omits `auth_time`, such as Cloudflare Access, can now complete CLI and device sign-in by setting `OMNIGENT_OIDC_REQUIRE_REAUTH=0`. ([#11075](https://github.com/omnigent-ai/omnigent/pull/11075), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Feature] fix(daytona): stop a sandbox without deleting it ([#11177](https://github.com/omnigent-ai/omnigent/pull/11177), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Pi sessions in Omnigent keep your MCP servers and MCP logins from `~/.pi/agent` (or `PI_CODING_AGENT_DIR`) ([#11188](https://github.com/omnigent-ai/omnigent/pull/11188), [@vishwahaha](https://github.com/vishwahaha))
- [Bug fix] Fixed a race in the session policy cache that could make every message fail with "Denied by policy (policy evaluation error)" until the server was restarted. ([#11225](https://github.com/omnigent-ai/omnigent/pull/11225), [@Stellarain](https://github.com/Stellarain))
- [Bug fix] fix(codex-native): bound tool arguments in compacted replay ([#11315](https://github.com/omnigent-ai/omnigent/pull/11315), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix / Feature] feat(web): keyboard shortcuts for grid cells and split terminal panes ([#11368](https://github.com/omnigent-ai/omnigent/pull/11368), [@hzub](https://github.com/hzub))
- [UI / Feature] The folder picker accepts typed paths, arrow keys and sorting by date modified. The desktop app can also open Finder's folder dialog and take folders dragged in from Finder. ([#11369](https://github.com/omnigent-ai/omnigent/pull/11369), [@hzub](https://github.com/hzub))
- [UI / Feature] Reply to an agent directly from its Inbox row without opening the session, and hover a cut-off preview to read the agent's whole reply ([#11377](https://github.com/omnigent-ai/omnigent/pull/11377), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Bug fix / Docs / Test/CI] `!command` inputs in Codex web chat now run as shell commands and display their output; questions sent during a standalone shell command are answered after it finishes. ([#11396](https://github.com/omnigent-ai/omnigent/pull/11396), [@Desidero](https://github.com/Desidero))
- [Bug fix] fix(pi): preserve user resources across session directory relocation ([#11406](https://github.com/omnigent-ai/omnigent/pull/11406), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] fix(claude-native): don't report a pane Omnigent closed after a delivery timeout as a terminal exit ([#11465](https://github.com/omnigent-ai/omnigent/pull/11465), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runner): explain an outdated Claude Code on terminal exit ([#11477](https://github.com/omnigent-ai/omnigent/pull/11477), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] Claude Code turns whose error details never arrive now stop running after a few seconds and explain how to inspect the failure. ([#11485](https://github.com/omnigent-ai/omnigent/pull/11485), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Docs] fix(agents): scope caption absence claims to the element the driver checked ([#11491](https://github.com/omnigent-ai/omnigent/pull/11491), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix] Shells and programs in a web terminal, such as nushell and PowerShell, no longer lose input or see stray text like `28;1R` from a duplicated terminal reply ([#11495](https://github.com/omnigent-ai/omnigent/pull/11495), [@xanth](https://github.com/xanth))
- [UI / Feature / Docs] A deployment can name which agents New Chat offers and which one it starts on, without removing them from the server ([#11498](https://github.com/omnigent-ai/omnigent/pull/11498), [@jsonmp-k8](https://github.com/jsonmp-k8))
- [Bug fix / Docs] Command-line, host and device logins no longer ask the identity provider for `max_age=0`, which fixes the Authelia consent loop and stops Microsoft Entra ID issuing a token that expires on arrival; `OMNIGENT_OIDC_REAUTH_MAX_AGE` sets the window. ([#11499](https://github.com/omnigent-ai/omnigent/pull/11499), [@jsonmp-k8](https://github.com/jsonmp-k8))
- [UI / Feature] feat(web): fork Arclet sessions onto a new Arclet ([#11503](https://github.com/omnigent-ai/omnigent/pull/11503), [@dbczumar](https://github.com/dbczumar))
- [UI / Feature] feat(settings): show harness accounts in Settings, checked only on request (harness accounts v2, part 1) ([#11541](https://github.com/omnigent-ai/omnigent/pull/11541), [@zhengwin](https://github.com/zhengwin))
- [Bug fix / Feature] Mark finished scheduled tasks completed in persistent dispatch ([#11548](https://github.com/omnigent-ai/omnigent/pull/11548), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Bug fix / Feature] Scan linked pull requests in a compact list with checks, merge actions, and stored summaries that remain available while the host is offline. ([#11550](https://github.com/omnigent-ai/omnigent/pull/11550), [@daniellok-db](https://github.com/daniellok-db))
- [Bug fix] A one-off credential refresh blip no longer fails a running Claude or Codex turn ([#11567](https://github.com/omnigent-ai/omnigent/pull/11567), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] Turn on Codex Plan mode before your first prompt, with Codex's planning instructions preserved. ([#11570](https://github.com/omnigent-ai/omnigent/pull/11570), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Test/CI] test(e2e-ui): isolate per-process config, timings and artifacts for xdist ([#11571](https://github.com/omnigent-ai/omnigent/pull/11571), [@PattaraS](https://github.com/PattaraS))
- [Feature] feat(runner): report session PRs to the server and serve the PRs it vouches for ([#11573](https://github.com/omnigent-ai/omnigent/pull/11573), [@daniellok-db](https://github.com/daniellok-db))
- [Feature] feat(server): own each session's pull requests on the server ([#11574](https://github.com/omnigent-ai/omnigent/pull/11574), [@daniellok-db](https://github.com/daniellok-db))
- [UI / Feature] The Pull Requests tab, sidebar and Canvas keep showing a session's linked PRs, with their title and status, while its host is offline, and you can unlink a PR offline. ([#11575](https://github.com/omnigent-ai/omnigent/pull/11575), [@daniellok-db](https://github.com/daniellok-db))
- [UI / Bug fix] fix(web): offer /clear only when the server accepts the clear control ([#11579](https://github.com/omnigent-ai/omnigent/pull/11579), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Chore] Ask about host ownership once per page in the persistent scheduler ([#11603](https://github.com/omnigent-ai/omnigent/pull/11603), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Feature] Fold Codex commentary using its message phase ([#11605](https://github.com/omnigent-ai/omnigent/pull/11605), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix] fix(native): keep native harness bridge dirs in the configured data dir ([#11606](https://github.com/omnigent-ai/omnigent/pull/11606), [@xanth](https://github.com/xanth))
- [UI / Feature] Tool calls in chat read as plain-language actions with their result on a second line, and expand to labeled fields instead of raw JSON. ([#11607](https://github.com/omnigent-ai/omnigent/pull/11607), [@PattaraS](https://github.com/PattaraS))
- [Feature / Docs / Test/CI] Private owner sessions can now delegate work and create independent workers by default; operators can disable new orchestration with `OMNIGENT_FEATURES=-session_orchestration` and a server restart. ([#11608](https://github.com/omnigent-ai/omnigent/pull/11608), [@PattaraS](https://github.com/PattaraS))
- chore(deps): bump unicode-width from 0.2.0 to 0.2.2 in /dev/omnidev ([#11611](https://github.com/omnigent-ai/omnigent/pull/11611), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump tokio from 1.53.2 to 1.53.3 in /dev/omnidev ([#11612](https://github.com/omnigent-ai/omnigent/pull/11612), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump libc from 0.2.190 to 0.2.191 in /dev/omnidev ([#11613](https://github.com/omnigent-ai/omnigent/pull/11613), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump tokio in /tests/codex_parity/sidecar ([#11614](https://github.com/omnigent-ai/omnigent/pull/11614), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump @streamdown/cjk from 1.0.3 to 1.0.4 ([#11625](https://github.com/omnigent-ai/omnigent/pull/11625), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump prettier from 3.9.5 to 3.9.10 ([#11626](https://github.com/omnigent-ai/omnigent/pull/11626), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Bug fix / Test/CI] test(e2e): wait on the rendered toolbar after approving always ([#11638](https://github.com/omnigent-ai/omnigent/pull/11638), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] fix(server): reject provisional session IDs before store access ([#11666](https://github.com/omnigent-ai/omnigent/pull/11666), [@yaoharry](https://github.com/yaoharry))
- [Chore] fix(native): retain lifecycle evidence without a client message ID ([#11668](https://github.com/omnigent-ai/omnigent/pull/11668), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(native): offer retry for provider timeouts and high demand ([#11669](https://github.com/omnigent-ai/omnigent/pull/11669), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] fix(codex): name the model provider's token command when it fails ([#11677](https://github.com/omnigent-ai/omnigent/pull/11677), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Chore] chore(logging): retain failed status intake and connection evidence ([#11679](https://github.com/omnigent-ai/omnigent/pull/11679), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(host): preserve host lifecycle when console output closes ([#11684](https://github.com/omnigent-ai/omnigent/pull/11684), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] Pi tool calls accept requests up to 16 MiB and return a clear error when a request exceeds the limit. ([#11686](https://github.com/omnigent-ai/omnigent/pull/11686), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runner): record bound Future state for callback failures ([#11688](https://github.com/omnigent-ai/omnigent/pull/11688), [@yaoharry](https://github.com/yaoharry))
- [Chore] chore(runner): record cancellation requests and task state ([#11692](https://github.com/omnigent-ai/omnigent/pull/11692), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(host): correlate skill discovery failures with their session and cause ([#11698](https://github.com/omnigent-ai/omnigent/pull/11698), [@yaoharry](https://github.com/yaoharry))
- [Chore] N/A — internal diagnostics only. ([#11702](https://github.com/omnigent-ai/omnigent/pull/11702), [@yaoharry](https://github.com/yaoharry))
- [Chore] diagnostics: retain MCP proxy failure correlation ([#11704](https://github.com/omnigent-ai/omnigent/pull/11704), [@yaoharry](https://github.com/yaoharry))
- [Feature] Let config wrap the native Codex session app-server, and pass its -c before the subcommand ([#11717](https://github.com/omnigent-ai/omnigent/pull/11717), [@Edwinhe03](https://github.com/Edwinhe03))
- [Bug fix] fix(claude-native): honor configured launcher during model discovery ([#11718](https://github.com/omnigent-ai/omnigent/pull/11718), [@dhruv0811](https://github.com/dhruv0811))
- [UI / Feature] feat(desktop): reconnect an offline Arca when a message is sent ([#11720](https://github.com/omnigent-ai/omnigent/pull/11720), [@dbczumar](https://github.com/dbczumar))
- [UI / Bug fix] fix(web): keep sidebar rows from shifting when Sessions collapses ([#11723](https://github.com/omnigent-ai/omnigent/pull/11723), [@bbqiu](https://github.com/bbqiu))
- [UI / Bug fix] Open files in the web viewer now update when another session or process edits them, without overwriting unsaved edits. ([#11728](https://github.com/omnigent-ai/omnigent/pull/11728), [@dbczumar](https://github.com/dbczumar))
- [Bug fix] fix(attachments): preserve files in compaction snapshots ([#11731](https://github.com/omnigent-ai/omnigent/pull/11731), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(claude-native): release stdin reader after cancellation ([#11735](https://github.com/omnigent-ai/omnigent/pull/11735), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Docs / Test/CI] fix(claude-native): show forked skill agents in the Agents panel ([#11736](https://github.com/omnigent-ai/omnigent/pull/11736), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix] N/A — small startup recovery fix. ([#11738](https://github.com/omnigent-ai/omnigent/pull/11738), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] N/A — small delivery fix. ([#11739](https://github.com/omnigent-ai/omnigent/pull/11739), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix / Feature] **Reconnect host** wakes an asleep sandbox, such as an Arclet, without sending a message ([#11740](https://github.com/omnigent-ai/omnigent/pull/11740), [@dbczumar](https://github.com/dbczumar))
- [UI / Feature] feat(settings): Codex sign-in and switch account from Settings (harness accounts v2, part 2) ([#11743](https://github.com/omnigent-ai/omnigent/pull/11743), [@zhengwin](https://github.com/zhengwin))
- [Bug fix] fix(tunnels): retain sender error evidence during close races ([#11748](https://github.com/omnigent-ai/omnigent/pull/11748), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Test/CI] fix(dependabot): allow more green branch refreshes ([#11749](https://github.com/omnigent-ai/omnigent/pull/11749), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] ci: pin Playwright jobs to ubuntu-24.04 ([#11751](https://github.com/omnigent-ai/omnigent/pull/11751), [@zhengwin](https://github.com/zhengwin))
- [Test/CI] ci: run Playwright UI jobs on ubuntu-24.04 ([#11752](https://github.com/omnigent-ai/omnigent/pull/11752), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] ci: pin every workflow runner to an explicit image ([#11754](https://github.com/omnigent-ai/omnigent/pull/11754), [@PattaraS](https://github.com/PattaraS))
- [UI / Feature / Docs] feat: show which manager created an independent worker ([#11755](https://github.com/omnigent-ai/omnigent/pull/11755), [@PattaraS](https://github.com/PattaraS))
- [Feature] feat(server): capture managed sandbox logs on session delete ([#11757](https://github.com/omnigent-ai/omnigent/pull/11757), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix] Fix duplicate Codex user messages when resume replay overlaps live delivery ([#11758](https://github.com/omnigent-ai/omnigent/pull/11758), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Feature / Chore] Theme surfaces now use consistent palette-aware colors and glass treatments across light and dark modes. ([#11759](https://github.com/omnigent-ai/omnigent/pull/11759), [@ajayalfred](https://github.com/ajayalfred))
- [Feature / Docs] feat(automations): start and recover claimed runs, and route Run now through claims ([#11762](https://github.com/omnigent-ai/omnigent/pull/11762), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Bug fix / Feature / Docs] Open workspace folders and files in VS Code or Cursor from the Files panel, including online Arca and Arclet SSH workspaces in web and desktop. ([#11764](https://github.com/omnigent-ai/omnigent/pull/11764), [@daniellok-db](https://github.com/daniellok-db))
- [Test/CI] ci(e2e): run three pytest workers per E2E shard ([#11765](https://github.com/omnigent-ai/omnigent/pull/11765), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test(e2e-ui): drive the sidebar peek-click test with the page clock ([#11766](https://github.com/omnigent-ai/omnigent/pull/11766), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] An active turn remains recoverable when an offline host briefly reconnects and disconnects again. ([#11769](https://github.com/omnigent-ai/omnigent/pull/11769), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(server): retain peer close facts for disconnect reconciliation ([#11771](https://github.com/omnigent-ai/omnigent/pull/11771), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(host): survive closed console during registration and reconnect ([#11779](https://github.com/omnigent-ai/omnigent/pull/11779), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(codex-native): avoid rewriting an unchanged active turn ([#11783](https://github.com/omnigent-ai/omnigent/pull/11783), [@yaoharry](https://github.com/yaoharry))
- [Chore] chore(claude-native): observe errors deferred to StopFailure ([#11787](https://github.com/omnigent-ai/omnigent/pull/11787), [@yaoharry](https://github.com/yaoharry))
- [UI / Feature] feat(web): show MCP server display names on tool rows and the harness catalog ([#11792](https://github.com/omnigent-ai/omnigent/pull/11792), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Test/CI] test: reap detached runtimes after bundled-agent locale checks ([#11798](https://github.com/omnigent-ai/omnigent/pull/11798), [@yaoharry](https://github.com/yaoharry))
- [UI / Feature] feat(web): polish the expanded tool-call view ([#11799](https://github.com/omnigent-ai/omnigent/pull/11799), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Feature] Edit tool calls in chat show their added and removed line counts on the row and expand to a diff, one panel per file for multi-file patches. ([#11801](https://github.com/omnigent-ai/omnigent/pull/11801), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix / Docs] fix(automations): wait out the shutdown drain before failing an unbound sandbox run ([#11805](https://github.com/omnigent-ai/omnigent/pull/11805), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Bug fix] fix(web): apply Archived sessions filter to the Projects section ([#11810](https://github.com/omnigent-ai/omnigent/pull/11810), [@zhengwin](https://github.com/zhengwin))
- [Bug fix] The sidebar error marker now clears when a Claude native session's later turn succeeds after an earlier error ([#11811](https://github.com/omnigent-ai/omnigent/pull/11811), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix / Docs] fix(claude-native): persist turn settlement before acknowledging its hook ([#11816](https://github.com/omnigent-ai/omnigent/pull/11816), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(claude-native): preserve gateway model on refusals ([#11817](https://github.com/omnigent-ai/omnigent/pull/11817), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Docs] fix(claude-native): keep child hooks out of parent identity and completion ([#11821](https://github.com/omnigent-ai/omnigent/pull/11821), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test(repl): wait for responses in Ctrl+L E2E ([#11823](https://github.com/omnigent-ai/omnigent/pull/11823), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix: preserve native Codex work after delivery transport failures ([#11825](https://github.com/omnigent-ai/omnigent/pull/11825), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Docs] fix(harness): restore missing IPC directories before spawn ([#11826](https://github.com/omnigent-ai/omnigent/pull/11826), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test(web): wait for composer scroll geometry to settle ([#11827](https://github.com/omnigent-ai/omnigent/pull/11827), [@yaoharry](https://github.com/yaoharry))
- [Feature] feat(automations): add the scheduled-task session mode schema ([#11832](https://github.com/omnigent-ai/omnigent/pull/11832), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Feature / Docs] Automations can file every session they start into a project; pick one, or type a new name, in the automation dialog. ([#11833](https://github.com/omnigent-ai/omnigent/pull/11833), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix] fix(claude-native): hide Claude Code's "No response requested." placeholder ([#11835](https://github.com/omnigent-ai/omnigent/pull/11835), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- feat(automations): let an automation continue one session across runs ([#11841](https://github.com/omnigent-ai/omnigent/pull/11841), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Feature] feat(web): open Reconfigure from New Chat's harness setup ([#11842](https://github.com/omnigent-ai/omnigent/pull/11842), [@zhengwin](https://github.com/zhengwin))
- [UI / Feature] feat(automations): automation detail page with run history and failure stages ([#11849](https://github.com/omnigent-ai/omnigent/pull/11849), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Bug fix] The sidebar error marker now clears when a resumed session recovers without a new message ([#11850](https://github.com/omnigent-ai/omnigent/pull/11850), [@TomeHirata](https://github.com/TomeHirata))
- [Feature] Automations can now use session orchestration: a scheduled run can message the owner's other sessions and start independent sessions, under the same ownership and privacy checks as an interactive turn. ([#11851](https://github.com/omnigent-ai/omnigent/pull/11851), [@TomeHirata](https://github.com/TomeHirata))
- [Test/CI] chore(ci): upgrade Claude Code CLI pin to 2.1.295 ([#11852](https://github.com/omnigent-ai/omnigent/pull/11852), [@PattaraS](https://github.com/PattaraS))
- [Docs] docs: clarify harness comparison and resource acceptance checks ([#11855](https://github.com/omnigent-ai/omnigent/pull/11855), [@PattaraS](https://github.com/PattaraS))
- Bump version to 0.21.0.dev0 ([#11863](https://github.com/omnigent-ai/omnigent/pull/11863), [@omnigent-ci[bot]](https://github.com/apps/omnigent-ci))
- docs(changelog): record v0.20.0 ([#11864](https://github.com/omnigent-ai/omnigent/pull/11864), [@omnigent-ci[bot]](https://github.com/apps/omnigent-ci))
- [Chore] fix(deps): pick up patched releases for open Dependabot alerts ([#11865](https://github.com/omnigent-ai/omnigent/pull/11865), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [Bug fix] fix(native): retain delivery uncertainty when restoring queued inputs ([#11867](https://github.com/omnigent-ai/omnigent/pull/11867), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] fix(web): preserve and reuse tabs for chat links ([#11873](https://github.com/omnigent-ai/omnigent/pull/11873), [@dhruv0811](https://github.com/dhruv0811))
- [UI / Bug fix] fix(web): start prompt history recall only from empty text ([#11874](https://github.com/omnigent-ai/omnigent/pull/11874), [@dhruv0811](https://github.com/dhruv0811))
- [Test/CI] test(runner): verify heartbeats during cold bundle parsing ([#11876](https://github.com/omnigent-ai/omnigent/pull/11876), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test(web): cover expired sign-in recovery on the selected host ([#11877](https://github.com/omnigent-ai/omnigent/pull/11877), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test(auth): exercise broker retries through the token CLI ([#11878](https://github.com/omnigent-ai/omnigent/pull/11878), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Test/CI] fix(codex): recover first-turn running status after subscription ([#11880](https://github.com/omnigent-ai/omnigent/pull/11880), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(claude): cap forwarded tool output before event upload ([#11881](https://github.com/omnigent-ai/omnigent/pull/11881), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test(host): synchronize login cancellation setup on entry ([#11882](https://github.com/omnigent-ai/omnigent/pull/11882), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] Native sessions started directly in their terminal stay connected while work is running or waiting for input. ([#11883](https://github.com/omnigent-ai/omnigent/pull/11883), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] Inject scheduler heartbeat faults at the store clock read ([#11899](https://github.com/omnigent-ai/omnigent/pull/11899), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] fix(web): show page titles in browser tabs ([#11900](https://github.com/omnigent-ai/omnigent/pull/11900), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix] fix(claude-native): redraw idle-compaction notices before delivery ([#11901](https://github.com/omnigent-ai/omnigent/pull/11901), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix] Codex-native side chats and forked sub-agents no longer bill the parent conversation's tokens again, so Session cost is no longer inflated. ([#11903](https://github.com/omnigent-ai/omnigent/pull/11903), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix] fix(web): discover Arclet first-prompt skills through connected Arca ([#11904](https://github.com/omnigent-ai/omnigent/pull/11904), [@dhruv0811](https://github.com/dhruv0811))
- [Test/CI] fix(ci): sync PR priority after issue triage labels the linked issue ([#11906](https://github.com/omnigent-ai/omnigent/pull/11906), [@dbczumar](https://github.com/dbczumar))
- [Bug fix] fix(claude-native): recover clipped input below stale prompt frames ([#11909](https://github.com/omnigent-ai/omnigent/pull/11909), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(host): verify runtime paths before orphan server cleanup ([#11910](https://github.com/omnigent-ai/omnigent/pull/11910), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] Initial Arca onboarding lets you finish browser sign-in before connecting the remote host. ([#11911](https://github.com/omnigent-ai/omnigent/pull/11911), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix] fix(host): forward OMNIGENT_CLAUDE_PATH to runners like the Codex and Pi overrides ([#11912](https://github.com/omnigent-ai/omnigent/pull/11912), [@Edwinhe03](https://github.com/Edwinhe03))
- [Bug fix] fix(runner): bound sys_session_list runner-status lookups ([#11916](https://github.com/omnigent-ai/omnigent/pull/11916), [@aravind-segu](https://github.com/aravind-segu))
- [UI / Bug fix] The chat no longer flickers at the bottom of a running turn when Reduce motion is turned on. ([#11921](https://github.com/omnigent-ai/omnigent/pull/11921), [@dhruv0811](https://github.com/dhruv0811))
- [Test/CI] test(host): exercise session delivery and fatal exit with closed console pipes ([#11926](https://github.com/omnigent-ai/omnigent/pull/11926), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test(scheduled): wait for the committed heartbeat deadline ([#11930](https://github.com/omnigent-ai/omnigent/pull/11930), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runner): own fallback Claude skills in bridge directory ([#11931](https://github.com/omnigent-ai/omnigent/pull/11931), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] Keep session skill discovery available when a host symlink disappears ([#11935](https://github.com/omnigent-ai/omnigent/pull/11935), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] Pi SDK sessions preserve compacted context across restart and fork, avoiding oversized history replay. ([#11937](https://github.com/omnigent-ai/omnigent/pull/11937), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Docs] Rewrite the scheduler README and document run states and interruptions ([#11944](https://github.com/omnigent-ai/omnigent/pull/11944), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix] fix(codex-native): read idle-reaped goals without waking Codex ([#11948](https://github.com/omnigent-ai/omnigent/pull/11948), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(routing): decline non-object judge verdicts ([#11951](https://github.com/omnigent-ai/omnigent/pull/11951), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(server): preserve unreadable runner mutation failures ([#11953](https://github.com/omnigent-ai/omnigent/pull/11953), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Docs] fix(claude-native): offer recovery when a response stops arriving ([#11955](https://github.com/omnigent-ai/omnigent/pull/11955), [@yaoharry](https://github.com/yaoharry))
- [UI / Feature] feat: model and effort controls for generic side chats ([#11959](https://github.com/omnigent-ai/omnigent/pull/11959), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Feature] Change the model and reasoning effort for follow-up messages in native Codex side chats. ([#11960](https://github.com/omnigent-ai/omnigent/pull/11960), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix / Test/CI] fix(ci): capture benchmark failures while fonts are pending ([#11962](https://github.com/omnigent-ai/omnigent/pull/11962), [@daniellok-db](https://github.com/daniellok-db))
- [Bug fix] fix(server): close deferred elicitation coroutine on scheduling failure ([#11973](https://github.com/omnigent-ai/omnigent/pull/11973), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(cli): stop sub-agent turns before a host stop signals the daemon ([#11974](https://github.com/omnigent-ai/omnigent/pull/11974), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test(e2e): scope MCP launch cleanup to its own runtime ([#11979](https://github.com/omnigent-ai/omnigent/pull/11979), [@yaoharry](https://github.com/yaoharry))
- [UI] perf(web): keep FilesPanel mounted behind file and shell tabs ([#11985](https://github.com/omnigent-ai/omnigent/pull/11985), [@hzub](https://github.com/hzub))
- [Bug fix] New native Pi compactions survive history reconstruction and forks, preserving recent context without replaying the full conversation. ([#11986](https://github.com/omnigent-ai/omnigent/pull/11986), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] fix(codex-native): keep forwarding after unsupported permission settings ([#11988](https://github.com/omnigent-ai/omnigent/pull/11988), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix / Docs / Test/CI] fix(automations): follow-ups to automation project filing ([#11990](https://github.com/omnigent-ai/omnigent/pull/11990), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix] Keep sandbox launcher imports usable without site packages ([#11992](https://github.com/omnigent-ai/omnigent/pull/11992), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(codex-native): finish forwarder cleanup after task failures ([#11995](https://github.com/omnigent-ai/omnigent/pull/11995), [@yaoharry](https://github.com/yaoharry))
- [UI / Feature / Docs / Test/CI] Read, reply to, and start GitHub review conversations on lines or ranges directly in Pull Requests → Changes, with inline diffs for suggested changes. ([#11996](https://github.com/omnigent-ai/omnigent/pull/11996), [@daniellok-db](https://github.com/daniellok-db))
- [Feature] Let a deployment turn automations off per request ([#11997](https://github.com/omnigent-ai/omnigent/pull/11997), [@serena-ruan](https://github.com/serena-ruan))
- [Test/CI] ci: run CI-tooling tests in their own shard, only when tooling changes ([#11998](https://github.com/omnigent-ai/omnigent/pull/11998), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] Attaching to a live session from another host uses the session owner's replica, preventing a false offline check from replacing its running task. ([#12003](https://github.com/omnigent-ai/omnigent/pull/12003), [@serena-ruan](https://github.com/serena-ruan))
- [Test/CI] test: wait for Claude status error observation ([#12005](https://github.com/omnigent-ai/omnigent/pull/12005), [@PattaraS](https://github.com/PattaraS))
- [UI / Feature] Connect a machine you reach over SSH from the desktop app's Connect a host dialog; the app handles sign-in, SSH prompts and the port forward, with no terminal or SSH config changes. ([#12006](https://github.com/omnigent-ai/omnigent/pull/12006), [@PattaraS](https://github.com/PattaraS))
- [Chore] chore: pause issue triage and reviewer assignment for PattaraS ([#12007](https://github.com/omnigent-ai/omnigent/pull/12007), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] fix: honor Claude CLI retry and request timeout settings ([#12009](https://github.com/omnigent-ai/omnigent/pull/12009), [@serena-ruan](https://github.com/serena-ruan))
- [Chore] Share the sub-agent label, read-only rule and session query outside ChatPage ([#12010](https://github.com/omnigent-ai/omnigent/pull/12010), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Feature] Long model lists in the model picker have a search box and collapsible groups by model creator (Anthropic, OpenAI, Google, Moonshot AI, Z.ai, and more), with the current model's group open. ([#12011](https://github.com/omnigent-ai/omnigent/pull/12011), [@PattaraS](https://github.com/PattaraS))
- [Chore / Test/CI] chore: bump uv >= 0.13.4 ([#12012](https://github.com/omnigent-ai/omnigent/pull/12012), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix / Docs] fix: reuse the Codex effort catalog for side chats ([#12014](https://github.com/omnigent-ai/omnigent/pull/12014), [@serena-ruan](https://github.com/serena-ruan))
- [Test/CI] test(lint): flag fixed sleeps that an instant test assertion relies on ([#12015](https://github.com/omnigent-ai/omnigent/pull/12015), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test: wait on conditions instead of fixed sleeps in three timing-sensitive tests ([#12016](https://github.com/omnigent-ai/omnigent/pull/12016), [@PattaraS](https://github.com/PattaraS))
- [UI / Feature] New Settings option opens sub-agent chats as a tab in the Workspace panel, beside the main chat, instead of replacing it ([#12017](https://github.com/omnigent-ai/omnigent/pull/12017), [@serena-ruan](https://github.com/serena-ruan))
- [Test/CI] ci(ocr): raise review token budget and warn on budget-only partial reviews ([#12018](https://github.com/omnigent-ai/omnigent/pull/12018), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Bug fix] Editing a Markdown file with footnotes or reference-style links no longer deletes their definitions or rewrites them as inline links, and saves keep the file's final newline ([#12024](https://github.com/omnigent-ai/omnigent/pull/12024), [@serena-ruan](https://github.com/serena-ruan))
- [UI] Show tool rows as their title, and size expanded tool cards on one font step ([#12032](https://github.com/omnigent-ai/omnigent/pull/12032), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix / Feature] `omnigent start --open-in-desktop` opens the host UI in a supported desktop app, with browser fallback when the app cannot accept the request or the URL requires browser routing. ([#12034](https://github.com/omnigent-ai/omnigent/pull/12034), [@CarlosBueno99](https://github.com/CarlosBueno99))
- [UI / Bug fix] Keep tool errors inside expanded cards ([#12039](https://github.com/omnigent-ai/omnigent/pull/12039), [@dhruv0811](https://github.com/dhruv0811))
- [UI / Bug fix] fix(web): collapse the open sidebar when the window narrows below md ([#12040](https://github.com/omnigent-ai/omnigent/pull/12040), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Chore] fix(deps): move mlflow to 3.17.2 and pick up msgpack and qs fixes ([#12041](https://github.com/omnigent-ai/omnigent/pull/12041), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [UI / Bug fix] fix(web): hide composer menu descriptions that don't fit on mobile ([#12042](https://github.com/omnigent-ai/omnigent/pull/12042), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix] fix(web): preselect the first option in question forms ([#12043](https://github.com/omnigent-ai/omnigent/pull/12043), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Chore] perf(web): pause the Pull Requests poll while the workspace rail is collapsed ([#12047](https://github.com/omnigent-ai/omnigent/pull/12047), [@hzub](https://github.com/hzub))
- [Bug fix] fix(elicitation): recover prompts whose answer landed on another replica ([#12051](https://github.com/omnigent-ai/omnigent/pull/12051), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [Bug fix] fix(server): attribute WebSocket debug logs to the connecting user ([#12052](https://github.com/omnigent-ai/omnigent/pull/12052), [@aravind-segu](https://github.com/aravind-segu))
- [UI / Bug fix] fix(web): restore Mermaid PNG downloads for multiline labels ([#12056](https://github.com/omnigent-ai/omnigent/pull/12056), [@dhruv0811](https://github.com/dhruv0811))
- [UI / Bug fix] fix(web): recover pre-session skills after transient discovery failures ([#12057](https://github.com/omnigent-ai/omnigent/pull/12057), [@dhruv0811](https://github.com/dhruv0811))
- [UI / Bug fix] fix(web): use consistent model names across chats ([#12059](https://github.com/omnigent-ai/omnigent/pull/12059), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix] Native Pi sessions cache and refresh configured auth tokens so slow token commands do not time out on every model request. ([#12060](https://github.com/omnigent-ai/omnigent/pull/12060), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix] fix(runner): record the last pane when a native agent dies during startup ([#12064](https://github.com/omnigent-ai/omnigent/pull/12064), [@aravind-segu](https://github.com/aravind-segu))
- [Bug fix] fix(codex): name a missing model provider when the app-server exits ([#12066](https://github.com/omnigent-ai/omnigent/pull/12066), [@aravind-segu](https://github.com/aravind-segu))
- [Bug fix] fix(claude-native): dismiss panels that appear during readiness ([#12070](https://github.com/omnigent-ai/omnigent/pull/12070), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(server): preserve runner crash causes after shutdown logs ([#12073](https://github.com/omnigent-ai/omnigent/pull/12073), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(pi-native): refresh cached credentials in the session workspace ([#12075](https://github.com/omnigent-ai/omnigent/pull/12075), [@PattaraS](https://github.com/PattaraS))
- [Feature] feat: carry session client surfaces into harness launches ([#12077](https://github.com/omnigent-ai/omnigent/pull/12077), [@yaoharry](https://github.com/yaoharry))
- [Chore] Cap MySQL BLOB metadata documents at 65,535 stored bytes ([#12078](https://github.com/omnigent-ai/omnigent/pull/12078), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [Chore] chore: correlate daemon attachment requests and binding changes ([#12079](https://github.com/omnigent-ai/omnigent/pull/12079), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix] Claude Code sessions and the Claude Code model picker now work on machines with an enterprise `managed-mcp.json`; those sessions run without Omnigent's MCP tools. ([#12080](https://github.com/omnigent-ai/omnigent/pull/12080), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Feature] Automations can watch Jira, Slack, or GitHub: pick a trigger template, describe what to match and what to do, and each hourly run starts one session per new ticket, message, or issue. ([#12084](https://github.com/omnigent-ai/omnigent/pull/12084), [@TomeHirata](https://github.com/TomeHirata))
- [UI] Show a write that creates a file like an edit, counted and diffed ([#12088](https://github.com/omnigent-ai/omnigent/pull/12088), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix] fix(web): keep an expanded tool output expanded while it streams ([#12091](https://github.com/omnigent-ai/omnigent/pull/12091), [@bbqiu](https://github.com/bbqiu))
- [Feature] perf(native): answer policy hooks in the shell while no policies apply ([#12092](https://github.com/omnigent-ai/omnigent/pull/12092), [@bbqiu](https://github.com/bbqiu))
- [UI / Bug fix] fix(web): bring a queued message back to the composer after a reload ([#12093](https://github.com/omnigent-ai/omnigent/pull/12093), [@bbqiu](https://github.com/bbqiu))
- [UI / Feature] A project's New session opens with the agent, model, effort, and working directory of the last session you started in that project. ([#12094](https://github.com/omnigent-ai/omnigent/pull/12094), [@bbqiu](https://github.com/bbqiu))
- [UI / Feature] Sidebar project folders list five sessions at a time, with Show more to list five more ([#12096](https://github.com/omnigent-ai/omnigent/pull/12096), [@bbqiu](https://github.com/bbqiu))
- [Chore] fix(onboarding): name why a harness install failed instead of its exit code ([#12097](https://github.com/omnigent-ai/omnigent/pull/12097), [@kharerajat2014](https://github.com/kharerajat2014))
- perf(native): post tool observations to the relay with curl ([#12103](https://github.com/omnigent-ai/omnigent/pull/12103), [@bbqiu](https://github.com/bbqiu))
- [UI / Bug fix] fix(web): paint an opened transcript at its end from the first frame ([#12104](https://github.com/omnigent-ai/omnigent/pull/12104), [@bbqiu](https://github.com/bbqiu))
- [Feature] feat(runner): report what holds the runner thread pool when offloads back up ([#12107](https://github.com/omnigent-ai/omnigent/pull/12107), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Bug fix] fix(web): keep a following reader at the end when a reply finishes ([#12109](https://github.com/omnigent-ai/omnigent/pull/12109), [@bbqiu](https://github.com/bbqiu))
- [Bug fix / Docs] Imported Pi sessions preserve compaction summaries when continuing, while keeping their readable history. ([#12111](https://github.com/omnigent-ai/omnigent/pull/12111), [@PattaraS](https://github.com/PattaraS))
- [UI / Feature] Searching in the command palette (⌘K) now finds archived sessions and marks them Archived ([#12112](https://github.com/omnigent-ai/omnigent/pull/12112), [@bbqiu](https://github.com/bbqiu))
- [Bug fix] fix(codex): diagnose storage failures in provider auth ([#12113](https://github.com/omnigent-ai/omnigent/pull/12113), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] ci(e2e-ui): run browser-contract tests with the UI shards' worker count ([#12114](https://github.com/omnigent-ai/omnigent/pull/12114), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] Web terminals no longer print each command's name in front of its output when the shell names tmux windows, as zsh with oh-my-zsh does. ([#12115](https://github.com/omnigent-ai/omnigent/pull/12115), [@bbqiu](https://github.com/bbqiu))
- [Bug fix] fix(claude-native): stop a queued-message hint from looking like an unsent draft ([#12128](https://github.com/omnigent-ai/omnigent/pull/12128), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(server): wait longer for a runner the host confirmed spawning ([#12136](https://github.com/omnigent-ai/omnigent/pull/12136), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] Codex sessions resumed on providers that pair tool results by position no longer fail with an invalid tool-message error. ([#12137](https://github.com/omnigent-ai/omnigent/pull/12137), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Chore] fix(claude-sdk): deny AskUserQuestion when its hook fails ([#12138](https://github.com/omnigent-ai/omnigent/pull/12138), [@serena-ruan](https://github.com/serena-ruan))
- [Test/CI] ci(e2e-ui): split browser-contract tests across two runners ([#12141](https://github.com/omnigent-ai/omnigent/pull/12141), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test: wait for complete Git SSH terminal result ([#12144](https://github.com/omnigent-ai/omnigent/pull/12144), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] fix(claude-native): name a terminal closed or tmux server killed outside Omnigent ([#12145](https://github.com/omnigent-ai/omnigent/pull/12145), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(codex-native): retry a launch whose thread another app-server still holds ([#12146](https://github.com/omnigent-ai/omnigent/pull/12146), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runner): end a Claude turn as cancelled when Stop kills its terminal ([#12150](https://github.com/omnigent-ai/omnigent/pull/12150), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runner): hold the idle watchdog for a native pane with live work ([#12153](https://github.com/omnigent-ai/omnigent/pull/12153), [@yaoharry](https://github.com/yaoharry))
- [UI / Feature] Cmd/Ctrl `+`, `-` and `0` inside an HTML file preview now zoom only the preview instead of the whole app ([#12154](https://github.com/omnigent-ai/omnigent/pull/12154), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Test/CI] test(host-launch): scale the connect-waiter wait as a hang guard ([#12155](https://github.com/omnigent-ai/omnigent/pull/12155), [@serena-ruan](https://github.com/serena-ruan))
- [Test/CI] test(desktop): skip the Chrome cookie sqlite reader where sqlite3 lacks JSON output ([#12156](https://github.com/omnigent-ai/omnigent/pull/12156), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test(server): wait on runner_exited logs with poll_until_async ([#12158](https://github.com/omnigent-ai/omnigent/pull/12158), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix] Messages to Claude Code and other native terminal sessions no longer stall for minutes, or arrive twice, while the Changes or GitHub panel is slow on a large repository. ([#12159](https://github.com/omnigent-ai/omnigent/pull/12159), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix] fix(runner): track every PR a batched shell create opens ([#12160](https://github.com/omnigent-ai/omnigent/pull/12160), [@bbqiu](https://github.com/bbqiu))
- [Test/CI] test: publish child PID atomically in cancelled Claude probe test ([#12162](https://github.com/omnigent-ai/omnigent/pull/12162), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Bug fix] Saving a Markdown file from the web editor now leaves the parts you didn't edit exactly as they were, instead of rewriting headings, lists, links, code blocks and tables ([#12163](https://github.com/omnigent-ai/omnigent/pull/12163), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix / Docs] Pi keeps your selected reasoning effort when switching models in an existing session. ([#12165](https://github.com/omnigent-ai/omnigent/pull/12165), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix] fix(web): keep a reply's actions hidden while its queued follow-up sends ([#12166](https://github.com/omnigent-ai/omnigent/pull/12166), [@bbqiu](https://github.com/bbqiu))
- [UI / Feature] A finished Codex turn folds its progress messages into one "Worked for …" row above the answer ([#12170](https://github.com/omnigent-ai/omnigent/pull/12170), [@bbqiu](https://github.com/bbqiu))
- [Bug fix] fix(host): read an absolute file target from the offline host fallback ([#12171](https://github.com/omnigent-ai/omnigent/pull/12171), [@hzub](https://github.com/hzub))
- [UI / Bug fix] fix(web): keep Working lit until a native agent picks up a sent message ([#12172](https://github.com/omnigent-ai/omnigent/pull/12172), [@bbqiu](https://github.com/bbqiu))
- [UI / Bug fix] fix(web): fold a finished turn's trace in place instead of jolting the answer ([#12174](https://github.com/omnigent-ai/omnigent/pull/12174), [@bbqiu](https://github.com/bbqiu))
- [UI / Bug fix] fix(web): make hidden panels actually inert so Tab can't shift the shell ([#12175](https://github.com/omnigent-ai/omnigent/pull/12175), [@serena-ruan](https://github.com/serena-ruan))
- [Test/CI] test(e2e-ui): cut ~3 min from two slow UI tests and make the sub-agent lull test able to fail ([#12177](https://github.com/omnigent-ai/omnigent/pull/12177), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix] fix(desktop): make Edit > Find reach off-screen transcript messages ([#12182](https://github.com/omnigent-ai/omnigent/pull/12182), [@hzub](https://github.com/hzub))
- [UI / Bug fix] You can close the Clone dialog while a large session is being cloned; a toast reports when the new session is ready. ([#12183](https://github.com/omnigent-ai/omnigent/pull/12183), [@hzub](https://github.com/hzub))
- [Bug fix] fix(pi-native): keep tool results ahead of messages sent during the call on cold resume ([#12184](https://github.com/omnigent-ai/omnigent/pull/12184), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] fix(onboarding): keep the installer timeout when a child holds stderr ([#12185](https://github.com/omnigent-ai/omnigent/pull/12185), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test(pi): recognize the persistent session link during routing startup ([#12187](https://github.com/omnigent-ai/omnigent/pull/12187), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] ci: split tests/db and tests/harnesses out of the misc pytest lane ([#12188](https://github.com/omnigent-ai/omnigent/pull/12188), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test: pin the reconnect jitter and scale the Codex startup deadline ([#12189](https://github.com/omnigent-ai/omnigent/pull/12189), [@PattaraS](https://github.com/PattaraS))
- [Feature] feat(automations): accept a delegation reference when creating a scheduled task ([#12190](https://github.com/omnigent-ai/omnigent/pull/12190), [@aravind-segu](https://github.com/aravind-segu))
- [Bug fix] fix(desktop): only open sign-in links the SSH machine is expected to print ([#12191](https://github.com/omnigent-ai/omnigent/pull/12191), [@PattaraS](https://github.com/PattaraS))
- [UI / Feature] The file editor's View settings menu has a Wrap lines toggle that wraps long lines at the pane edge; the choice is remembered and shared with the diff view. ([#12193](https://github.com/omnigent-ai/omnigent/pull/12193), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Track session PR refreshes by workspace as well as session id ([#12199](https://github.com/omnigent-ai/omnigent/pull/12199), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [Bug fix] Native terminals honor the configured runner idle timeout instead of closing after one hour. ([#12200](https://github.com/omnigent-ai/omnigent/pull/12200), [@dhruv0811](https://github.com/dhruv0811))
- [UI / Bug fix / Test/CI] Opening Terminal automatically reconnects stopped sessions when their host is online, with manual retry available after a failure. ([#12201](https://github.com/omnigent-ai/omnigent/pull/12201), [@dhruv0811](https://github.com/dhruv0811))
- [UI / Bug fix] fix(web): open linked folders in the Files tree instead of reporting them missing ([#12205](https://github.com/omnigent-ai/omnigent/pull/12205), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix] fix(claude-native): label messages from other sessions in chat ([#12206](https://github.com/omnigent-ai/omnigent/pull/12206), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix] fix(server): keep a "/"-led queued message out of the lost list ([#12209](https://github.com/omnigent-ai/omnigent/pull/12209), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test(host-launch): drop a removed connect-waiter timeout argument ([#12227](https://github.com/omnigent-ai/omnigent/pull/12227), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix / Docs / Test/CI] Answer Devin native questions directly in Chat or Inbox. ([#12231](https://github.com/omnigent-ai/omnigent/pull/12231), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix] When a host restarts mid-turn, the session's runner is relaunched automatically; the interrupted turn reports that it was interrupted, and the next message runs without a manual resume. ([#12232](https://github.com/omnigent-ai/omnigent/pull/12232), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(server): report a connected runner's exit as a runner crash ([#12233](https://github.com/omnigent-ai/omnigent/pull/12233), [@yaoharry](https://github.com/yaoharry))
- [Docs / Test/CI] ci: expire Merge Ready results after 24 hours ([#12243](https://github.com/omnigent-ai/omnigent/pull/12243), [@dhruv0811](https://github.com/dhruv0811))
- [Chore] fix(deps): move brotli to 1.2.1 and virtualenv to 21.14.13 ([#12260](https://github.com/omnigent-ai/omnigent/pull/12260), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [Bug fix] fix(runner): name the cause when an agent spec fails to load ([#12261](https://github.com/omnigent-ai/omnigent/pull/12261), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix / Feature / Docs / Test/CI] feat(sandboxes): provider-owned profiles without database migrations ([#12265](https://github.com/omnigent-ai/omnigent/pull/12265), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix] fix(auth): allow clock-skew leeway when validating OIDC id_token (OMNI-13438) ([#12271](https://github.com/omnigent-ai/omnigent/pull/12271), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix] fix(native): let the policy allow guard see event keys after closed metadata ([#12273](https://github.com/omnigent-ai/omnigent/pull/12273), [@bbqiu](https://github.com/bbqiu))
- perf(claude-native): post lifecycle hooks to the runner's relay with curl ([#12274](https://github.com/omnigent-ai/omnigent/pull/12274), [@bbqiu](https://github.com/bbqiu))
- perf(auth): resolve Databricks credentials once per launch, without the SDK for CLI profiles ([#12275](https://github.com/omnigent-ai/omnigent/pull/12275), [@bbqiu](https://github.com/bbqiu))
- [Chore] chore: remove PattaraS from area owners ([#12276](https://github.com/omnigent-ai/omnigent/pull/12276), [@PattaraS](https://github.com/PattaraS))
- [Chore] chore(triage): pause one more maintainer from issue assignment ([#12277](https://github.com/omnigent-ai/omnigent/pull/12277), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Feature] New automations always run on a host you pick (or a sandbox), and trigger automations sign what they post with "Sent with Omnigent" and warn when the agent lacks the Jira, Slack or GitHub tools they need. ([#12278](https://github.com/omnigent-ai/omnigent/pull/12278), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Bug fix] fix: enlarge mobile approval and plan touch targets ([#12281](https://github.com/omnigent-ai/omnigent/pull/12281), [@noelkonagai](https://github.com/noelkonagai))
- [Bug fix] Messages to a Claude Code session are delivered when another program's output was printed over Claude's input box, instead of failing with "input box could not be verified clear". ([#12284](https://github.com/omnigent-ai/omnigent/pull/12284), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(server): fail a side chat send the way its source would ([#12285](https://github.com/omnigent-ai/omnigent/pull/12285), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] `tmux` commands that Claude Code runs in an Omnigent session now reach your own tmux instead of closing Claude's terminal. ([#12290](https://github.com/omnigent-ai/omnigent/pull/12290), [@yaoharry](https://github.com/yaoharry))
- [UI / Feature] The composer highlights pull requests that need attention and previews each linked PR's status on hover or focus. ([#12296](https://github.com/omnigent-ai/omnigent/pull/12296), [@dhruv0811](https://github.com/dhruv0811))
- [Feature] Let a deployment pause the database scheduler and tune its poll interval live ([#12300](https://github.com/omnigent-ai/omnigent/pull/12300), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Bug fix] Choose multiple repositories when forking onto a compatible sandbox, with current pushed branches prefilled and a quiet fallback for local-only branches. ([#12301](https://github.com/omnigent-ai/omnigent/pull/12301), [@dhruv0811](https://github.com/dhruv0811))
- [Test/CI] test: synchronize terminal output with IME composition ([#12302](https://github.com/omnigent-ai/omnigent/pull/12302), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix / Feature] Changes groups sibling repositories and shows their complete current changes against HEAD, including deleted-file diffs. ([#12303](https://github.com/omnigent-ai/omnigent/pull/12303), [@dhruv0811](https://github.com/dhruv0811))
- [Feature / Docs / Test/CI] Sessions running on your computer can now open localhost apps in the desktop browser pane, through the agent, chat links and the address bar. ([#12305](https://github.com/omnigent-ai/omnigent/pull/12305), [@zhengwin](https://github.com/zhengwin))
- [Bug fix / Docs / Test/CI] fix(desktop): apply the agent network policy to subresources, WebSockets and workers ([#12306](https://github.com/omnigent-ai/omnigent/pull/12306), [@zhengwin](https://github.com/zhengwin))
- [Docs / Chore] refactor(desktop): name browser navigation policy enforcement for what it does ([#12307](https://github.com/omnigent-ai/omnigent/pull/12307), [@zhengwin](https://github.com/zhengwin))
- [UI / Bug fix / Feature] Recognized native edits outside Git preserve the first available original and explicitly show when the original is unavailable. ([#12308](https://github.com/omnigent-ai/omnigent/pull/12308), [@dhruv0811](https://github.com/dhruv0811))
- [Test/CI] ci(nightly-monitor): assign tracking issues to repo-automation owners ([#12311](https://github.com/omnigent-ai/omnigent/pull/12311), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix / Docs] A pull request panel failure stays inside the panel so chat and navigation remain available. ([#12312](https://github.com/omnigent-ai/omnigent/pull/12312), [@dhruv0811](https://github.com/dhruv0811))
- [UI / Bug fix / Docs] fix(web): isolate page, drawer, and grid render failures ([#12313](https://github.com/omnigent-ai/omnigent/pull/12313), [@dhruv0811](https://github.com/dhruv0811))
- [UI / Bug fix] fix(web): preserve PR panel state across session switches ([#12318](https://github.com/omnigent-ai/omnigent/pull/12318), [@daniellok-db](https://github.com/daniellok-db))
- [Docs / Chore / Test/CI] Attribute CI model usage to pipelines and GitHub runs ([#12320](https://github.com/omnigent-ai/omnigent/pull/12320), [@daniellok-db](https://github.com/daniellok-db))
- [Bug fix] fix(claude-native): preserve launcher installation prompts ([#12327](https://github.com/omnigent-ai/omnigent/pull/12327), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(claude-native): keep retired status pollers inactive ([#12330](https://github.com/omnigent-ai/omnigent/pull/12330), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runner): keep old terminal callbacks out of replacement state ([#12331](https://github.com/omnigent-ai/omnigent/pull/12331), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(claude-native): find the input box under a title wider than the row ([#12335](https://github.com/omnigent-ai/omnigent/pull/12335), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(onboarding): report a failed harness upgrade as a failure ([#12337](https://github.com/omnigent-ai/omnigent/pull/12337), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] fix(server): keep a queued Claude ! command or exit word out of the lost list ([#12341](https://github.com/omnigent-ai/omnigent/pull/12341), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(claude-native): repaint a Claude Code the launcher runs outside the pane ([#12344](https://github.com/omnigent-ai/omnigent/pull/12344), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(claude-native): don't type a message into a full transcript disk ([#12349](https://github.com/omnigent-ai/omnigent/pull/12349), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] Restore app theme choices in embedded web and Electron ([#12350](https://github.com/omnigent-ai/omnigent/pull/12350), [@hzub](https://github.com/hzub))
- [UI / Feature] feat(ui): offer manual or template automation creation ([#12352](https://github.com/omnigent-ai/omnigent/pull/12352), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Feature / Docs / Test/CI] feat(web): add a first-visit Automations walkthrough ([#12353](https://github.com/omnigent-ai/omnigent/pull/12353), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix] fix(models): read SDK worker catalogs for the CLI and route the child launches ([#12355](https://github.com/omnigent-ai/omnigent/pull/12355), [@PattaraS](https://github.com/PattaraS))
- [Docs] docs: explain separate child and peer messaging approval scopes ([#12356](https://github.com/omnigent-ai/omnigent/pull/12356), [@PattaraS](https://github.com/PattaraS))
- [UI / Feature / Chore / Test/CI] feat(ui): streamline automation setup and schedule controls ([#12357](https://github.com/omnigent-ai/omnigent/pull/12357), [@serena-ruan](https://github.com/serena-ruan))
- [Docs] docs: include Cursor in messaging approval rationale ([#12358](https://github.com/omnigent-ai/omnigent/pull/12358), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix] Preserve URL context through host-aware settings redirects ([#12359](https://github.com/omnigent-ai/omnigent/pull/12359), [@hzub](https://github.com/hzub))
- [UI] fix(web): simplify the trigger template help text ([#12371](https://github.com/omnigent-ai/omnigent/pull/12371), [@aravind-segu](https://github.com/aravind-segu))
- [UI / Bug fix] Text from dictation and snippet tools such as Wispr Flow lands in the composer again in Chrome 155+, and a new session's composer is focused once it's ready. ([#12373](https://github.com/omnigent-ai/omnigent/pull/12373), [@bbqiu](https://github.com/bbqiu))
- [UI] fix(web): clarify the trigger session cap and untrusted-source warning ([#12383](https://github.com/omnigent-ai/omnigent/pull/12383), [@aravind-segu](https://github.com/aravind-segu))
- [UI / Feature] feat(web): open the Codex approval-mode picker from /permissions ([#12384](https://github.com/omnigent-ai/omnigent/pull/12384), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] fix(pi): give the pre-turn gateway token refresh room on a busy host ([#12385](https://github.com/omnigent-ai/omnigent/pull/12385), [@Edwinhe03](https://github.com/Edwinhe03))
- [UI / Feature] Show sandbox reconnect progress in the host status dot ([#12387](https://github.com/omnigent-ai/omnigent/pull/12387), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Feature] Always steer is now on by default: follow-ups sent while the agent is working go into the running turn instead of the queue (turn it off in Settings → General). ([#12389](https://github.com/omnigent-ai/omnigent/pull/12389), [@bbqiu](https://github.com/bbqiu))
- [Bug fix] fix(claude-native): repaint Claude Code outside the pane before refusing ([#12390](https://github.com/omnigent-ai/omnigent/pull/12390), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] A message you send while Claude Code's input box can't be read, for example because a launcher printed over it, now waits for the box to clear and is then delivered, instead of failing. ([#12394](https://github.com/omnigent-ai/omnigent/pull/12394), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(automations): let the poll start Run now requests ([#12396](https://github.com/omnigent-ai/omnigent/pull/12396), [@aravind-segu](https://github.com/aravind-segu))
- [Bug fix] Native Codex terminals work again on Codex 0.166+ when a machine-managed Codex config sets the model provider. ([#12406](https://github.com/omnigent-ai/omnigent/pull/12406), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix] fix(electron): wait 30s before the reconnect overlay says the network is blocked ([#12409](https://github.com/omnigent-ai/omnigent/pull/12409), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Chore] chore(triage-v2): run issue prioritization as a team-owned prod job ([#12419](https://github.com/omnigent-ai/omnigent/pull/12419), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] fix(desktop): refuse an SSH connect to a server on this computer ([#12422](https://github.com/omnigent-ai/omnigent/pull/12422), [@PattaraS](https://github.com/PattaraS))
- [UI / Feature] feat(web): show example automations in the Automations walkthrough ([#12425](https://github.com/omnigent-ai/omnigent/pull/12425), [@TomeHirata](https://github.com/TomeHirata))
- [Chore / Breaking] The desktop app now runs on Electron 45.2.1 (Chromium 156) with current Chromium security fixes, and requires macOS 13 or later. ([#12436](https://github.com/omnigent-ai/omnigent/pull/12436), [@bbqiu](https://github.com/bbqiu))
- [UI / Bug fix / Docs / Test/CI] fix(web): open details directly for sessions with one PR ([#12445](https://github.com/omnigent-ai/omnigent/pull/12445), [@daniellok-db](https://github.com/daniellok-db))
- [Docs / Test/CI] ci(e2e): run the opencode-native journeys against a real OpenCode ([#12452](https://github.com/omnigent-ai/omnigent/pull/12452), [@PattaraS](https://github.com/PattaraS))
- chore(deps): bump notify from 8.2.0 to 8.2.1 in /dev/omnidev ([#12457](https://github.com/omnigent-ai/omnigent/pull/12457), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump tokio from 1.53.3 to 1.54.1 in /dev/omnidev ([#12458](https://github.com/omnigent-ai/omnigent/pull/12458), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump tokio in /tests/codex_parity/sidecar ([#12461](https://github.com/omnigent-ai/omnigent/pull/12461), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump ruby/setup-ruby from 1.329.0 to 1.335.0 ([#12474](https://github.com/omnigent-ai/omnigent/pull/12474), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Feature] Automation runs tell the agent that no one is watching, so it works toward the goal instead of stopping to ask questions or for permission. The note appears in the run's session after the prompt; the automation keeps the prompt as written. ([#12501](https://github.com/omnigent-ai/omnigent/pull/12501), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Bug fix / Feature / Docs / Test/CI] Improve automation template discovery with gallery tabs ([#12502](https://github.com/omnigent-ai/omnigent/pull/12502), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Bug fix] Disable automation workspace browsing for offline connected hosts ([#12506](https://github.com/omnigent-ai/omnigent/pull/12506), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix / Test/CI] Fix PID publication race in Claude model probe test ([#12510](https://github.com/omnigent-ai/omnigent/pull/12510), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix / Test/CI] fix(polly): keep reviews running through subagent completion ([#12512](https://github.com/omnigent-ai/omnigent/pull/12512), [@daniellok-db](https://github.com/daniellok-db))
- [Bug fix] fix(runner): support managed IDs in session messaging ([#12513](https://github.com/omnigent-ai/omnigent/pull/12513), [@serena-ruan](https://github.com/serena-ruan))
- [Test/CI] Fix flaky dispatch scheduler tests ([#12514](https://github.com/omnigent-ai/omnigent/pull/12514), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix / Test/CI] Show complete automation approval context and validate runner origin ([#12515](https://github.com/omnigent-ai/omnigent/pull/12515), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix] fix(codex): repair surrogate text when writing private config ([#12521](https://github.com/omnigent-ai/omnigent/pull/12521), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(harnesses): escape surrogate text during runner forwarding ([#12524](https://github.com/omnigent-ai/omnigent/pull/12524), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(claude-native): disable unsupported gateway advisor tools ([#12526](https://github.com/omnigent-ai/omnigent/pull/12526), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runner): cancel live streams after clean terminal exits ([#12527](https://github.com/omnigent-ai/omnigent/pull/12527), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] fix(web): disable launch settings for continued automation sessions ([#12532](https://github.com/omnigent-ai/omnigent/pull/12532), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix] fix(codex-native): report an IP access list refusal as a turn failure ([#12534](https://github.com/omnigent-ai/omnigent/pull/12534), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(claude-native): confirm a 1M model pick by the name Claude reports ([#12537](https://github.com/omnigent-ai/omnigent/pull/12537), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Test/CI] Clarify automation agent-switch permissions and tighten regression coverage ([#12538](https://github.com/omnigent-ai/omnigent/pull/12538), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix] Automations and agents in sessions shared view-only can message your other sessions and start workers again; only edit sharing blocks them ([#12543](https://github.com/omnigent-ai/omnigent/pull/12543), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix] Pi sessions that use an Omnigent-provided model now apply your global `~/.pi/agent/AGENTS.md`, unless the agent sets `context_files: false`. ([#12545](https://github.com/omnigent-ai/omnigent/pull/12545), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] fix(codex-native): don't let a stuck subscription block session delivery ([#12551](https://github.com/omnigent-ai/omnigent/pull/12551), [@Edwinhe03](https://github.com/Edwinhe03))
- [UI / Bug fix] Onboarding recovery steps now appear separately from error messages. ([#12565](https://github.com/omnigent-ai/omnigent/pull/12565), [@noelkonagai](https://github.com/noelkonagai))
- [Bug fix] fix(terminals): preserve replacements during stale launch cleanup ([#12578](https://github.com/omnigent-ai/omnigent/pull/12578), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Docs] Chats no longer stay stuck working when a returning host replaces their runner. ([#12579](https://github.com/omnigent-ai/omnigent/pull/12579), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test(runner): wait for OSC peer startup before sending error input ([#12588](https://github.com/omnigent-ai/omnigent/pull/12588), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test(claude-native): isolate provider mocks from workflow imports ([#12598](https://github.com/omnigent-ai/omnigent/pull/12598), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] The "Require Approval for File & Shell Operations" policy now also asks before terminal tools launch, type into, read, or close a terminal ([#12712](https://github.com/omnigent-ai/omnigent/pull/12712), [@dbczumar](https://github.com/dbczumar))

## [v0.20.0] — 2026-10-27

- [Bug fix] Claude Code plugin commands now appear in the composer's `/` menu next to the plugin's skills, including commands in subdirectories and those declared in the plugin manifest. ([#6512](https://github.com/omnigent-ai/omnigent/pull/6512), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] fix(harnesses): replay tool-call history into forked Claude SDK and OpenAI Agents sessions ([#6574](https://github.com/omnigent-ai/omnigent/pull/6574), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] fix(files): stop listing Omnigent's injected .cursor plumbing as session changes ([#6709](https://github.com/omnigent-ai/omnigent/pull/6709), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix / Test/CI] Pi model pickers honor native enabledModels patterns while retaining the current model. ([#7064](https://github.com/omnigent-ai/omnigent/pull/7064), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] fix(antigravity-native): notify the old conversation after /clear ([#7293](https://github.com/omnigent-ai/omnigent/pull/7293), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix / Docs / Test/CI] `harness: pi` agent bundles now load their `.pi/extensions`, `.pi/skills` and bundle-root `AGENTS.md` in sessions, including under an `os_env` sandbox. ([#7715](https://github.com/omnigent-ai/omnigent/pull/7715), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix / Test/CI] Resumed Pi own-login sessions keep their selected provider and model instead of being rewritten through the default gateway. ([#7725](https://github.com/omnigent-ai/omnigent/pull/7725), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix] A `.tsv` file can be attached from the web composer, matching the file types the server already accepts. ([#7729](https://github.com/omnigent-ai/omnigent/pull/7729), [@lavneethora](https://github.com/lavneethora))
- [UI / Bug fix] The Pull Requests tab shows cancelled and skipped checks in their own grey pills instead of counting them as failed or passed. ([#7746](https://github.com/omnigent-ai/omnigent/pull/7746), [@daniellok-db](https://github.com/daniellok-db))
- [Bug fix] fix(opencode-native): deep-merge all user config files like opencode does ([#7827](https://github.com/omnigent-ai/omnigent/pull/7827), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Claude's New Chat model picker and in-session selector now list the same models, and on machines with Claude Code managed settings they show the managed gateway that inference actually uses. ([#7854](https://github.com/omnigent-ai/omnigent/pull/7854), [@Edwinhe03](https://github.com/Edwinhe03))
- [Bug fix] A repository URL containing credentials is now refused in the sandbox repository field instead of failing the session create, so the token never leaves the browser. ([#7856](https://github.com/omnigent-ai/omnigent/pull/7856), [@lavneethora](https://github.com/lavneethora))
- [Feature] Add a top-level `tool_groups:` block so an agent can switch off the browser, scheduled-task, comment, policy, or agent-discovery tool groups it cannot use and keep its advertised tool payload within a provider's limit. ([#8584](https://github.com/omnigent-ai/omnigent/pull/8584), [@jsonmp-k8](https://github.com/jsonmp-k8))
- [Bug fix] Claude-native sessions, including Polly sub-agent dispatches, no longer leave a multi-line or long prompt unsent in Claude Code's input box. ([#8997](https://github.com/omnigent-ai/omnigent/pull/8997), [@fabriciodelocco](https://github.com/fabriciodelocco))
- [Bug fix] claude-sdk sessions no longer record each tool call twice after the model uses Claude Code's `Skill` or `ToolSearch` tool ([#9033](https://github.com/omnigent-ai/omnigent/pull/9033), [@lin826](https://github.com/lin826))
- [Chore / Test/CI] chore(deps): align KaTeX renderers and styles on 0.18.10 ([#9181](https://github.com/omnigent-ai/omnigent/pull/9181), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Docs] N/A (documentation only). ([#9224](https://github.com/omnigent-ai/omnigent/pull/9224), [@lavneethora](https://github.com/lavneethora))
- [UI / Bug fix] fix(web): keep the macOS shell's narrow-window controls clear of the traffic lights ([#9225](https://github.com/omnigent-ai/omnigent/pull/9225), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix] Custom agents that run on a native harness such as Claude Code — including extra built-ins seeded with `OMNIGENT_BUILTIN_AGENT_DIRS` — now appear in the New Chat and Project settings agent pickers as their own rows, named by their own name, instead of being labelled with or hidden behind the stock harness entry. ([#9269](https://github.com/omnigent-ai/omnigent/pull/9269), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix / Docs / Test/CI] Session cost and token usage keep updating after the Pi process behind a ([#9336](https://github.com/omnigent-ai/omnigent/pull/9336), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Feature / Docs] Databricks Sandboxes as managed hosts, created and run as each user through their Databricks account connection, with no SSH and no shared credential inside the Sandbox ([#9475](https://github.com/omnigent-ai/omnigent/pull/9475), [@randypitcherii](https://github.com/randypitcherii))
- [Bug fix / Test/CI] fix(runner): log and cover a file download that shrinks mid-stream ([#9582](https://github.com/omnigent-ai/omnigent/pull/9582), [@jsonmp-k8](https://github.com/jsonmp-k8))
- [Bug fix] Resuming a native-harness session no longer fails with a misleading ([#9687](https://github.com/omnigent-ai/omnigent/pull/9687), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] fix(codex): crash-reap the native model-probe app-server ([#9704](https://github.com/omnigent-ai/omnigent/pull/9704), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix / Docs / Test/CI] Kiro approvals: show unconfirmed delivery and offer manual retry ([#9843](https://github.com/omnigent-ai/omnigent/pull/9843), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix] The Terminal view now explains why a session's harness stopped (for example a runner that failed to start) instead of showing only a generic "not running" message. ([#9871](https://github.com/omnigent-ai/omnigent/pull/9871), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] A multi-line draft left in the Claude terminal is no longer sent along with a message or setting change from the web. ([#9880](https://github.com/omnigent-ai/omnigent/pull/9880), [@craiuconstantintiberiu](https://github.com/craiuconstantintiberiu))
- [Bug fix] Fix nightly reconnect E2E: stop counting the undelivered-message notice as a Claude reply ([#9892](https://github.com/omnigent-ai/omnigent/pull/9892), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Hosts now forward `OMNIGENT_NATIVE_PANE_IDLE_TIMEOUT_S` and `OMNIGENT_HARNESS_IDLE_TIMEOUT_S` to their runners, allowing idle reaping to be tuned or disabled for hosts run as a service. ([#9908](https://github.com/omnigent-ai/omnigent/pull/9908), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Feature] fix(web): offer Copy path when right-clicking a chat file link ([#9910](https://github.com/omnigent-ai/omnigent/pull/9910), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [Bug fix] The terminal REPL no longer auto-approves a pending policy approval when a different elicitation in the session is resolved; only your answer, or a resolution of that same approval from another client, settles it. ([#9913](https://github.com/omnigent-ai/omnigent/pull/9913), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] fix(codex): retain refused input while compaction settles ([#9919](https://github.com/omnigent-ai/omnigent/pull/9919), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(host): answer the server when the launch handler raises ([#10030](https://github.com/omnigent-ai/omnigent/pull/10030), [@kharerajat2014](https://github.com/kharerajat2014))
- [Feature / Docs] Servers can deliver more attachment types to Claude Code and Codex sessions as files with `filesystem_attachment_allowed_extensions`, including `"*"` for every file that can't be inlined. ([#10045](https://github.com/omnigent-ai/omnigent/pull/10045), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [Bug fix] `omnigent host` reuses the running host daemon when another URL points at the same Databricks workspace, instead of starting a second daemon that keeps taking over its connection. ([#10056](https://github.com/omnigent-ai/omnigent/pull/10056), [@bbqiu](https://github.com/bbqiu))
- [UI / Bug fix] fix(web): withhold the selection Reply popup when the composer is read-only ([#10078](https://github.com/omnigent-ai/omnigent/pull/10078), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Claude Code sessions keep their compacted context after an Omnigent restart instead of resuming with the full pre-compaction history. ([#10088](https://github.com/omnigent-ai/omnigent/pull/10088), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Claude SDK agents whose host has no working Claude Code login now fail with "Claude Code could not authenticate" and a next step (sign in with `claude auth login` or configure a credential) instead of Claude Code's raw error text. ([#10145](https://github.com/omnigent-ai/omnigent/pull/10145), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix] fix(web): anchor repeated Markdown words to their source positions ([#10187](https://github.com/omnigent-ai/omnigent/pull/10187), [@serena-ruan](https://github.com/serena-ruan))
- [Chore] chore(ios): auto-pick an installed iPhone simulator in just run-ios ([#10191](https://github.com/omnigent-ai/omnigent/pull/10191), [@erifyc1](https://github.com/erifyc1))
- chore(deps): bump cursor-sdk from 0.1.7 to 1.0.37 ([#10234](https://github.com/omnigent-ai/omnigent/pull/10234), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Bug fix / Test/CI] Pi sessions keep saved own-login models after restart even when those models are hidden from the picker. ([#10269](https://github.com/omnigent-ai/omnigent/pull/10269), [@PattaraS](https://github.com/PattaraS))
- [Bug fix / Docs / Test/CI] Pi Smart Routing applies the selected model from both the composer and native terminal. ([#10274](https://github.com/omnigent-ai/omnigent/pull/10274), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test(runner): cover the MCP execute, summarize and elicitation routes (29% → 99%) ([#10276](https://github.com/omnigent-ai/omnigent/pull/10276), [@jsonmp-k8](https://github.com/jsonmp-k8))
- [Bug fix / Test/CI] Pi handles typed-text replies and distinct tool-call IDs through the MLflow Chat gateway, preserving Gemini tool signatures across subsequent requests. ([#10278](https://github.com/omnigent-ai/omnigent/pull/10278), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] fix(web): recover a missed model report before failing a native first message ([#10294](https://github.com/omnigent-ai/omnigent/pull/10294), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [Feature] feat(harnesses): attribute Unity Gateway requests to the coding agent and Omnigent ([#10410](https://github.com/omnigent-ai/omnigent/pull/10410), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] fix(web): keep sidebar menu tooltips closed when their menu closes ([#10463](https://github.com/omnigent-ai/omnigent/pull/10463), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix / Feature / Docs / Test/CI] Configure native Antigravity with Gemini API gateways or Databricks profiles through `omni setup`; existing gateways retain their routing until Gemini is explicitly selected. ([#10465](https://github.com/omnigent-ai/omnigent/pull/10465), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] An idle Claude Code session no longer keeps re-reading its transcript and finished sub-agent files when one sub-agent's spawn record is missing, so runner CPU no longer grows with those files' size. ([#10485](https://github.com/omnigent-ai/omnigent/pull/10485), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix / Docs / Test/CI] Native Pi forks and cold resumes preserve matched tool-result names required by Gemini. ([#10488](https://github.com/omnigent-ai/omnigent/pull/10488), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Docs / Chore] chore(logging): name the failing launch step on native startup failures ([#10536](https://github.com/omnigent-ai/omnigent/pull/10536), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(codex-native): respawn a silent app-server once on the same transport ([#10556](https://github.com/omnigent-ai/omnigent/pull/10556), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] fix(claude-native): clear a typed shell command that blocks web input ([#10667](https://github.com/omnigent-ai/omnigent/pull/10667), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(cli): let running turns finish before host enable replaces the host ([#10673](https://github.com/omnigent-ai/omnigent/pull/10673), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] Pi-native sessions keep mirroring replies past the server token lifetime when you type directly in the Pi terminal. ([#10700](https://github.com/omnigent-ai/omnigent/pull/10700), [@remenberl](https://github.com/remenberl))
- [Bug fix / Feature / Chore / Test/CI] `omnigent run --server <url>` consistently discovers registered agents, requires `--agent <name>` for headless runs with multiple choices, launches runners on this machine's connected host for new interactive and one-shot sessions, and cleans up runners launched for one-shots. ([#10744](https://github.com/omnigent-ai/omnigent/pull/10744), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] Allow nested bubblewrap on Phoenix hosts ([#10749](https://github.com/omnigent-ai/omnigent/pull/10749), [@serena-ruan](https://github.com/serena-ruan))
- [Chore] fix(claude-native): say when Claude queued a web message, and which build did ([#10764](https://github.com/omnigent-ai/omnigent/pull/10764), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] fix(web): open files from harness file-tool rows in the FileViewer ([#10766](https://github.com/omnigent-ai/omnigent/pull/10766), [@zhengwin](https://github.com/zhengwin))
- [UI / Bug fix / Feature / Docs / Chore / Test/CI] Pi extension confirmations and input prompts appear as Omnigent cards and return answers without stopping the session. ([#10768](https://github.com/omnigent-ai/omnigent/pull/10768), [@PattaraS](https://github.com/PattaraS))
- [UI / Feature] Add runner-backed workspace content search ([#10780](https://github.com/omnigent-ai/omnigent/pull/10780), [@hzub](https://github.com/hzub))
- chore(deps): bump lucide-react from 1.25.0 to 1.57.0 ([#10805](https://github.com/omnigent-ai/omnigent/pull/10805), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Chore] chore(deps): bump @shikijs/monaco from 4.2.0 to 4.5.0 ([#10811](https://github.com/omnigent-ai/omnigent/pull/10811), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Chore] chore(deps): bump kubernetes from 36.0.2 to 37.0.1 ([#10812](https://github.com/omnigent-ai/omnigent/pull/10812), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Bug fix / Feature / Docs / Test/CI] feat(preferences): persist shared edits, retries, and conflicts ([#10826](https://github.com/omnigent-ai/omnigent/pull/10826), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] fix(cursor): surface approval cards after a cold-resumed relaunch ([#10835](https://github.com/omnigent-ai/omnigent/pull/10835), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix] fix(github): show submitted review bodies in PR comments ([#10855](https://github.com/omnigent-ai/omnigent/pull/10855), [@fanzeyi](https://github.com/fanzeyi))
- [UI] fix(web): list a connected Arca host under My machines on desktop ([#10860](https://github.com/omnigent-ai/omnigent/pull/10860), [@dbczumar](https://github.com/dbczumar))
- [Bug fix] fix(claude-native): close side chats after idle cleanup ([#10861](https://github.com/omnigent-ai/omnigent/pull/10861), [@fanzeyi](https://github.com/fanzeyi))
- [Chore] fix(auth): log why Databricks SDK auth failed to resolve ([#10865](https://github.com/omnigent-ai/omnigent/pull/10865), [@Edwinhe03](https://github.com/Edwinhe03))
- [Chore / Test/CI] chore(deps): upgrade Ruff to 0.17.0 and apply compatibility cleanup ([#10879](https://github.com/omnigent-ai/omnigent/pull/10879), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Chore] chore(deps): bump radix-ui from 1.7.0 to 1.8.1 ([#10883](https://github.com/omnigent-ai/omnigent/pull/10883), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump @streamdown/mermaid from 1.0.2 to 1.0.3 ([#10886](https://github.com/omnigent-ai/omnigent/pull/10886), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump wrangler from 4.129.0 to 4.149.0 ([#10887](https://github.com/omnigent-ai/omnigent/pull/10887), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump actions/setup-java from 4.8.0 to 6.1.0 ([#10895](https://github.com/omnigent-ai/omnigent/pull/10895), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Bug fix] Closing a desktop window with Cmd+W while the find bar is open no longer shows a "JavaScript error occurred in the main process" dialog ([#10902](https://github.com/omnigent-ai/omnigent/pull/10902), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] perf(web): keep cached folder listings visible while they refresh ([#10903](https://github.com/omnigent-ai/omnigent/pull/10903), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Docs / Breaking] Local single-user HTTP agent uploads and configuration edits now enforce the same bundle restrictions as multi-user servers; bundles with server-side callable/source-file tools, unregistered policy handlers, or absolute/escaping working directories must migrate to operator startup registration or supported uploaded-agent settings. ([#10906](https://github.com/omnigent-ai/omnigent/pull/10906), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix] fix(host,server): stop only the runner a relaunch actually replaced ([#10908](https://github.com/omnigent-ai/omnigent/pull/10908), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] Claude Code sessions no longer resend their initial prompt when the terminal restarts. ([#10911](https://github.com/omnigent-ai/omnigent/pull/10911), [@fanzeyi](https://github.com/fanzeyi))
- [Bug fix / Test/CI] ci: upgrade Codex and fix compatibility checks ([#10913](https://github.com/omnigent-ai/omnigent/pull/10913), [@PattaraS](https://github.com/PattaraS))
- [Bug fix / Test/CI] ci(merge-ready): re-read checks that lag their completed workflow run ([#10921](https://github.com/omnigent-ai/omnigent/pull/10921), [@PattaraS](https://github.com/PattaraS))
- [Bug fix / Docs / Test/CI] fix(cli): clarify Databricks prerequisite and verify host onboarding ([#10922](https://github.com/omnigent-ai/omnigent/pull/10922), [@PattaraS](https://github.com/PattaraS))
- [UI / Feature] feat(web): link CI checks to their runs in the PR panel ([#10944](https://github.com/omnigent-ai/omnigent/pull/10944), [@daniellok-db](https://github.com/daniellok-db))
- Bump version to 0.20.0.dev0 ([#10945](https://github.com/omnigent-ai/omnigent/pull/10945), [@omnigent-ci[bot]](https://github.com/apps/omnigent-ci))
- docs(changelog): record v0.19.0 ([#10946](https://github.com/omnigent-ai/omnigent/pull/10946), [@omnigent-ci[bot]](https://github.com/apps/omnigent-ci))
- [UI / Feature] Add feature-gated session grids with a shared workspace ([#10948](https://github.com/omnigent-ai/omnigent/pull/10948), [@hzub](https://github.com/hzub))
- [Test/CI] test(compat): expect registry MCP servers from 0.19.0 servers ([#10953](https://github.com/omnigent-ai/omnigent/pull/10953), [@daniellok-db](https://github.com/daniellok-db))
- [UI] fix(web): match the Workspace "+" to its neighbours and drop tab scroll arrows ([#10954](https://github.com/omnigent-ai/omnigent/pull/10954), [@daniellok-db](https://github.com/daniellok-db))
- [UI] fix(web): make the PR picker toolbar refresh button icon-only ([#10958](https://github.com/omnigent-ai/omnigent/pull/10958), [@daniellok-db](https://github.com/daniellok-db))
- [Bug fix] fix(codex-native): retry, then start fresh, when a resume finds no rollout ([#10961](https://github.com/omnigent-ai/omnigent/pull/10961), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] Refuse Claude input injection when composer capture is unavailable ([#10965](https://github.com/omnigent-ai/omnigent/pull/10965), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Bug fix / Feature] `/clear` is available in the web chat for Claude Code and Codex sessions and starts a fresh context on the same machine; running `/clear` in a Codex terminal now moves the session view to the new chat too. ([#10966](https://github.com/omnigent-ai/omnigent/pull/10966), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix] fix(server): refuse a message to a session whose host-less runner is gone ([#10968](https://github.com/omnigent-ai/omnigent/pull/10968), [@yaoharry](https://github.com/yaoharry))
- [UI / Feature] feat: add include and exclude filters to workspace content search ([#10969](https://github.com/omnigent-ai/omnigent/pull/10969), [@hzub](https://github.com/hzub))
- [Chore] chore(deps): upgrade omnidev terminal dependencies together ([#10976](https://github.com/omnigent-ai/omnigent/pull/10976), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix / Chore / Test/CI] Fix grid recovery and share workspace resource discovery ([#10981](https://github.com/omnigent-ai/omnigent/pull/10981), [@hzub](https://github.com/hzub))
- [Feature] Extra OpenShell configuration ([#10996](https://github.com/omnigent-ai/omnigent/pull/10996), [@SeanCondon](https://github.com/SeanCondon))
- [Bug fix] fix(server): let in-flight managed launches bind their host before shutdown ([#10999](https://github.com/omnigent-ai/omnigent/pull/10999), [@Edwinhe03](https://github.com/Edwinhe03))
- [UI] feat(sharing): nest host scope under default sharing toggle ([#11010](https://github.com/omnigent-ai/omnigent/pull/11010), [@dhruv0811](https://github.com/dhruv0811))
- [UI / Bug fix / Docs] fix(web): hide dbcert banner in unsupported desktop shells ([#11013](https://github.com/omnigent-ai/omnigent/pull/11013), [@fanzeyi](https://github.com/fanzeyi))
- [UI / Bug fix / Docs] fix(web): preserve remote dbcert renewal without Electron ([#11020](https://github.com/omnigent-ai/omnigent/pull/11020), [@fanzeyi](https://github.com/fanzeyi))
- [UI / Bug fix / Docs / Test/CI] The desktop app checks your credentials before creating an Arclet sandbox, offers a refresh banner when needed, and lets you skip a pending check for that launch. ([#11023](https://github.com/omnigent-ai/omnigent/pull/11023), [@dbczumar](https://github.com/dbczumar))
- [UI / Feature] feat(grid): toggle chat and terminal per cell ([#11026](https://github.com/omnigent-ai/omnigent/pull/11026), [@hzub](https://github.com/hzub))
- [UI / Bug fix] fix(sandbox): block launch only when a provider is certain no model fits ([#11027](https://github.com/omnigent-ai/omnigent/pull/11027), [@Edwinhe03](https://github.com/Edwinhe03))
- [UI] Compact sharing settings into a described dropdown ([#11028](https://github.com/omnigent-ai/omnigent/pull/11028), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix] A turn running on a laptop that sleeps or loses its network now waits for the laptop to come back, for up to 24 hours, instead of failing as disconnected. ([#11031](https://github.com/omnigent-ai/omnigent/pull/11031), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(server): reject a Claude model the terminal can't select as invalid input ([#11034](https://github.com/omnigent-ai/omnigent/pull/11034), [@yaoharry](https://github.com/yaoharry))
- [Chore] fix(server): add log event when deferring runner session init ([#11040](https://github.com/omnigent-ai/omnigent/pull/11040), [@aravind-segu](https://github.com/aravind-segu))
- [UI] The embedded browser can now import the current site's cookies from your local ([#11048](https://github.com/omnigent-ai/omnigent/pull/11048), [@fanzeyi](https://github.com/fanzeyi))
- [Bug fix] Claude-native compaction preserves retained context and no longer repeats completion notifications while retrying snapshot saves. ([#11052](https://github.com/omnigent-ai/omnigent/pull/11052), [@fanzeyi](https://github.com/fanzeyi))
- [Bug fix] fix(claude-native): stamp the passed --effort as the session's reasoning effort ([#11053](https://github.com/omnigent-ai/omnigent/pull/11053), [@fanzeyi](https://github.com/fanzeyi))
- [Test/CI] chore: run Ruff lint fixes before formatting ([#11058](https://github.com/omnigent-ai/omnigent/pull/11058), [@droctothorpe](https://github.com/droctothorpe))
- [UI / Feature] Add and remove a GitHub pull request's labels from the Pull Requests tab ([#11059](https://github.com/omnigent-ai/omnigent/pull/11059), [@daniellok-db](https://github.com/daniellok-db))
- [Chore / Test/CI] chore: format Python examples in docstrings with Ruff ([#11060](https://github.com/omnigent-ai/omnigent/pull/11060), [@droctothorpe](https://github.com/droctothorpe))
- [Chore / Test/CI] chore: align Ruff with the Python 3.12 minimum ([#11061](https://github.com/omnigent-ai/omnigent/pull/11061), [@droctothorpe](https://github.com/droctothorpe))
- [Chore / Test/CI] chore: remove package-wide terminal lint exemptions ([#11062](https://github.com/omnigent-ai/omnigent/pull/11062), [@droctothorpe](https://github.com/droctothorpe))
- [Bug fix] fix(runner): keep native Codex credential lookup off the event loop ([#11063](https://github.com/omnigent-ai/omnigent/pull/11063), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(claude-native): send panel-only built-in commands as plain text ([#11065](https://github.com/omnigent-ai/omnigent/pull/11065), [@yaoharry](https://github.com/yaoharry))
- [Docs] docs(feature-agent): clarify checked demo uploads ([#11067](https://github.com/omnigent-ai/omnigent/pull/11067), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix] Codex sessions recover a stopped native backend before sending a new message. ([#11068](https://github.com/omnigent-ai/omnigent/pull/11068), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(native): refresh approval hook credentials off the runner event loop ([#11070](https://github.com/omnigent-ai/omnigent/pull/11070), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test(e2e): shorten Pi and Kimi regression wait budgets ([#11072](https://github.com/omnigent-ai/omnigent/pull/11072), [@PattaraS](https://github.com/PattaraS))
- [Bug fix / Docs / Chore / Test/CI] Allow routine Dependabot updates with full compatibility CI ([#11073](https://github.com/omnigent-ai/omnigent/pull/11073), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test: wait for parent dispatch reply before nudging a running child ([#11076](https://github.com/omnigent-ai/omnigent/pull/11076), [@PattaraS](https://github.com/PattaraS))
- chore(deps): bump aiohttp from 3.14.3 to 3.14.4 ([#11077](https://github.com/omnigent-ai/omnigent/pull/11077), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Bug fix / Docs] fix(claude-sdk): generate background titles through user-settings Bedrock gateways ([#11078](https://github.com/omnigent-ai/omnigent/pull/11078), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Test/CI] test: shorten native startup and refused-delivery waits ([#11081](https://github.com/omnigent-ai/omnigent/pull/11081), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] fix(runner): resolve native title providers off the event loop ([#11082](https://github.com/omnigent-ai/omnigent/pull/11082), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Test/CI] fix(benchmarks): register policy for validated bundle uploads ([#11084](https://github.com/omnigent-ai/omnigent/pull/11084), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] fix(kimi-native): refresh hook credentials off the runner event loop ([#11086](https://github.com/omnigent-ai/omnigent/pull/11086), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test: shorten offline-host reconnect waits in UI coverage ([#11088](https://github.com/omnigent-ai/omnigent/pull/11088), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test: tolerate timer rounding in offline-host grace assertions ([#11092](https://github.com/omnigent-ai/omnigent/pull/11092), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] Opening a side chat no longer automatically repeats the main chat's unfinished work. ([#11095](https://github.com/omnigent-ai/omnigent/pull/11095), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Feature] feat(web): add session rename keyboard shortcut ([#11096](https://github.com/omnigent-ai/omnigent/pull/11096), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runner): rebuild malformed cached agent bundles ([#11097](https://github.com/omnigent-ai/omnigent/pull/11097), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(codex-native): order replayed tool outputs across metadata ([#11100](https://github.com/omnigent-ai/omnigent/pull/11100), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(claude-native): wait through unreadable submit captures ([#11101](https://github.com/omnigent-ai/omnigent/pull/11101), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runner): keep bundle resolution off the event loop ([#11103](https://github.com/omnigent-ai/omnigent/pull/11103), [@yaoharry](https://github.com/yaoharry))
- [Chore / Test/CI] Add scheduled-task dispatch schema migration ([#11111](https://github.com/omnigent-ai/omnigent/pull/11111), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix] fix(server): guard offline sweeps after runner replacement ([#11116](https://github.com/omnigent-ai/omnigent/pull/11116), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix / Docs / Test/CI] fix(grid): desktop-only access and highlight all member sessions ([#11120](https://github.com/omnigent-ai/omnigent/pull/11120), [@hzub](https://github.com/hzub))
- [UI / Bug fix / Docs] fix: allow custom agent edits without revision headers ([#11121](https://github.com/omnigent-ai/omnigent/pull/11121), [@hzub](https://github.com/hzub))
- [Test/CI] test: stabilize Codex settings forwarding during startup ([#11122](https://github.com/omnigent-ai/omnigent/pull/11122), [@PattaraS](https://github.com/PattaraS))
- [Docs / Chore / Test/CI] Close PRs after 60 days of inactivity and a 14-day warning ([#11123](https://github.com/omnigent-ai/omnigent/pull/11123), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test: await cancelled mirror receipt publication ([#11124](https://github.com/omnigent-ai/omnigent/pull/11124), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test: drive sign-in wait outcomes with explicit events ([#11125](https://github.com/omnigent-ai/omnigent/pull/11125), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test: keep refused upstream port distinct from proxies ([#11126](https://github.com/omnigent-ai/omnigent/pull/11126), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test: replace scheduled time after picker focus settles ([#11127](https://github.com/omnigent-ai/omnigent/pull/11127), [@PattaraS](https://github.com/PattaraS))
- [UI / Feature] View MCP servers enabled for a running session with `/mcp` in the composer. ([#11128](https://github.com/omnigent-ai/omnigent/pull/11128), [@hzub](https://github.com/hzub))
- [Bug fix / Test/CI] fix(ci): separate Dependabot approval from merge readiness ([#11130](https://github.com/omnigent-ai/omnigent/pull/11130), [@PattaraS](https://github.com/PattaraS))
- chore(deps): bump aiohttp from 3.14.4 to 3.14.5 ([#11131](https://github.com/omnigent-ai/omnigent/pull/11131), [@dependabot[bot]](https://github.com/apps/dependabot))
- [UI / Bug fix] Show remote launch progress and keep discovery off session host pins ([#11133](https://github.com/omnigent-ai/omnigent/pull/11133), [@PattaraS](https://github.com/PattaraS))
- [Bug fix / Feature / Docs / Test/CI] Pi native agents now receive their agent spec’s instructions and can disable automatic context files or replace Pi’s base prompt. ([#11134](https://github.com/omnigent-ai/omnigent/pull/11134), [@PattaraS](https://github.com/PattaraS))
- [Chore / Test/CI] ci(stale): process least recently updated items first ([#11136](https://github.com/omnigent-ai/omnigent/pull/11136), [@PattaraS](https://github.com/PattaraS))
- [Feature / Test/CI] feat(claude-sdk): support the Claude Code system prompt preset ([#11137](https://github.com/omnigent-ai/omnigent/pull/11137), [@serena-ruan](https://github.com/serena-ruan))
- [Feature / Test/CI] feat(resolve): trial the Claude Code system prompt ([#11139](https://github.com/omnigent-ai/omnigent/pull/11139), [@serena-ruan](https://github.com/serena-ruan))
- [Test/CI] test: control Kiro child delivery abandonment grace ([#11140](https://github.com/omnigent-ai/omnigent/pull/11140), [@PattaraS](https://github.com/PattaraS))
- [Bug fix / Test/CI] fix(cli): preserve instruction files when applying overrides ([#11142](https://github.com/omnigent-ai/omnigent/pull/11142), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test: cancel idle parent teardown SSE readers ([#11144](https://github.com/omnigent-ai/omnigent/pull/11144), [@PattaraS](https://github.com/PattaraS))
- [Feature] Add the automations v2 feature flag ([#11145](https://github.com/omnigent-ai/omnigent/pull/11145), [@serena-ruan](https://github.com/serena-ruan))
- [Feature] Keep persistent task schedules stable across restarts ([#11146](https://github.com/omnigent-ai/omnigent/pull/11146), [@serena-ruan](https://github.com/serena-ruan))
- [Feature] Persist scheduled task claims and startup leases ([#11147](https://github.com/omnigent-ai/omnigent/pull/11147), [@serena-ruan](https://github.com/serena-ruan))
- [Feature] Dispatch due scheduled tasks and renew startup leases ([#11148](https://github.com/omnigent-ai/omnigent/pull/11148), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Feature] Merge a pull request, or turn off its auto-merge, from the Summary tab of the Pull Requests panel ([#11161](https://github.com/omnigent-ai/omnigent/pull/11161), [@daniellok-db](https://github.com/daniellok-db))
- [UI / Feature / Chore] Request reviews from people or teams, and withdraw pending requests, from the Pull Requests tab ([#11167](https://github.com/omnigent-ai/omnigent/pull/11167), [@daniellok-db](https://github.com/daniellok-db))
- [Bug fix] fix(pi-native): mint the per-turn bearer off the event loop ([#11183](https://github.com/omnigent-ai/omnigent/pull/11183), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [Chore] chore(security): add OSS Scanner Dockerfile and threat model ([#11189](https://github.com/omnigent-ai/omnigent/pull/11189), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix] Hosts for different workspaces behind one Databricks account URL (`?o=`) no longer reuse or retarget each other ([#11190](https://github.com/omnigent-ai/omnigent/pull/11190), [@Edwinhe03](https://github.com/Edwinhe03))
- [Bug fix] Android Databricks workspace sign-in can use a private callback instead of a verified HTTPS app link; register `ai.omnigent.android://mobile-redirect` for the public OAuth client before updating the app. ([#11191](https://github.com/omnigent-ai/omnigent/pull/11191), [@fanzeyi](https://github.com/fanzeyi))
- [Chore] chore(electron): bump desktop app version to 0.18.1 ([#11192](https://github.com/omnigent-ai/omnigent/pull/11192), [@fanzeyi](https://github.com/fanzeyi))
- [Chore] chore(deps): bump storybook from 10.6.1 to 10.6.2 ([#11193](https://github.com/omnigent-ai/omnigent/pull/11193), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Chore] chore(deps): bump vite from 8.1.0 to 8.1.6 ([#11194](https://github.com/omnigent-ai/omnigent/pull/11194), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Bug fix] fix(images): bump gh to 2.103.0 for the eMudhra CA compromise ([#11195](https://github.com/omnigent-ai/omnigent/pull/11195), [@lin826](https://github.com/lin826))
- [UI] feat(android): show app version and build in server selection ([#11199](https://github.com/omnigent-ai/omnigent/pull/11199), [@fanzeyi](https://github.com/fanzeyi))
- chore(deps): bump virtualenv from 21.14.5 to 21.14.7 ([#11201](https://github.com/omnigent-ai/omnigent/pull/11201), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Bug fix / Test/CI] The server and desktop app no longer trust the compromised eMudhra intermediate CAs (certifi 2026.10.19, Electron 42.11.16) ([#11203](https://github.com/omnigent-ai/omnigent/pull/11203), [@fanzeyi](https://github.com/fanzeyi))
- [Test/CI] ci(stale): increase the cleanup budget to 1,000 operations ([#11204](https://github.com/omnigent-ai/omnigent/pull/11204), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix / Docs / Chore / Test/CI] Sandbox automations no longer lose their prompt when the server restarts or a different replica serves the sandbox, and their runs appear in history as soon as they fire. ([#11208](https://github.com/omnigent-ai/omnigent/pull/11208), [@aravind-segu](https://github.com/aravind-segu))
- [Bug fix / Test/CI] fix(host): preserve explicitly configured credentials in background hosts ([#11209](https://github.com/omnigent-ai/omnigent/pull/11209), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix] A foreground `omnigent host` no longer freezes when its terminal stops reading output, for example after the terminal client disconnects. ([#11212](https://github.com/omnigent-ai/omnigent/pull/11212), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [UI / Feature] Open new chats with `?prompt=` links to review a prefilled message before sending. ([#11213](https://github.com/omnigent-ai/omnigent/pull/11213), [@yaoharry](https://github.com/yaoharry))
- [UI / Feature] feat(files): copy the absolute file path from the viewer header ([#11214](https://github.com/omnigent-ai/omnigent/pull/11214), [@fanzeyi](https://github.com/fanzeyi))
- docs(changelog): record v0.19.1 ([#11216](https://github.com/omnigent-ai/omnigent/pull/11216), [@omnigent-ci[bot]](https://github.com/apps/omnigent-ci))
- [Bug fix / Test/CI] fix(homebrew): honor uv.toml cooldown exemptions when resolving the formula ([#11217](https://github.com/omnigent-ai/omnigent/pull/11217), [@aravind-segu](https://github.com/aravind-segu))
- fix(claude-native): say what a blocked terminal needs when a model switch fails ([#11221](https://github.com/omnigent-ai/omnigent/pull/11221), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Feature] feat: report when a managed launch needs the user to act ([#11223](https://github.com/omnigent-ai/omnigent/pull/11223), [@dbczumar](https://github.com/dbczumar))
- [Test/CI] test: wait for managed automation failure transcript to persist ([#11224](https://github.com/omnigent-ai/omnigent/pull/11224), [@PattaraS](https://github.com/PattaraS))
- [Feature] Route native Codex's Databricks gateway and auth through ucode state ([#11226](https://github.com/omnigent-ai/omnigent/pull/11226), [@Edwinhe03](https://github.com/Edwinhe03))
- [Feature / Docs / Test/CI] Add explicit cloud configuration save and reviewed import ([#11227](https://github.com/omnigent-ai/omnigent/pull/11227), [@PattaraS](https://github.com/PattaraS))
- [Feature / Docs] feat(server): capture stacks during event-loop stalls ([#11228](https://github.com/omnigent-ai/omnigent/pull/11228), [@serena-ruan](https://github.com/serena-ruan))
- [Feature] feat(server): name the sandbox provider on launch-stage debug rows ([#11232](https://github.com/omnigent-ai/omnigent/pull/11232), [@dbczumar](https://github.com/dbczumar))
- [Test/CI] ci: run regular E2E across eight shards ([#11234](https://github.com/omnigent-ai/omnigent/pull/11234), [@PattaraS](https://github.com/PattaraS))
- [Chore / Test/CI] Clarify recurrence COUNT guards and cover calendar seeking ([#11236](https://github.com/omnigent-ai/omnigent/pull/11236), [@serena-ruan](https://github.com/serena-ruan))
- [Feature / Docs / Test/CI] Recover expired scheduled startups and clean up deleted tasks ([#11237](https://github.com/omnigent-ai/omnigent/pull/11237), [@serena-ruan](https://github.com/serena-ruan))
- [Test/CI] Isolate malformed-proxy CLI test from parallel server cleanup ([#11238](https://github.com/omnigent-ai/omnigent/pull/11238), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix / Test/CI] fix(ci): skip empty test matrices before expansion ([#11242](https://github.com/omnigent-ai/omnigent/pull/11242), [@PattaraS](https://github.com/PattaraS))
- [Bug fix / Docs / Test/CI] fix(pi): preserve native APPEND_SYSTEM.md rules with authored instructions ([#11243](https://github.com/omnigent-ai/omnigent/pull/11243), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test: avoid decades of reference iteration in schedule preview checks ([#11244](https://github.com/omnigent-ai/omnigent/pull/11244), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Feature] Shell commands in the chat now look like a terminal: `$ command`, its output and exit status in one block, with the raw parameters one click away ([#11245](https://github.com/omnigent-ai/omnigent/pull/11245), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test: allow slow disk writes in mixed-provider concurrency check ([#11246](https://github.com/omnigent-ai/omnigent/pull/11246), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix] Exclude deleted scheduled tasks from list queries ([#11247](https://github.com/omnigent-ai/omnigent/pull/11247), [@serena-ruan](https://github.com/serena-ruan))
- [Test/CI] test: synchronize REPL cancellation with active request and follow-up reply ([#11248](https://github.com/omnigent-ai/omnigent/pull/11248), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Bug fix] fix(grid): improve workspace sizing and layout dragging ([#11249](https://github.com/omnigent-ai/omnigent/pull/11249), [@hzub](https://github.com/hzub))
- [Bug fix] Interrupting an opencode-native session now stops the running turn, and a sub-agent dispatch reports it as cancelled ([#11250](https://github.com/omnigent-ai/omnigent/pull/11250), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test: follow installed Pydantic error documentation version ([#11251](https://github.com/omnigent-ai/omnigent/pull/11251), [@PattaraS](https://github.com/PattaraS))
- [Docs] Clarify scheduled task cleanup and scheduler rollout documentation ([#11252](https://github.com/omnigent-ai/omnigent/pull/11252), [@serena-ruan](https://github.com/serena-ruan))
- [Test/CI] test(electron): match desktop feature expectations to the simulated platform ([#11253](https://github.com/omnigent-ai/omnigent/pull/11253), [@PattaraS](https://github.com/PattaraS))
- [UI / Feature] Edit a pull request's title and description, and paste images or videos into it, from the Pull Requests tab ([#11254](https://github.com/omnigent-ai/omnigent/pull/11254), [@daniellok-db](https://github.com/daniellok-db))
- [UI / Bug fix] fix(web): even out padding in the Link PR bar ([#11255](https://github.com/omnigent-ai/omnigent/pull/11255), [@daniellok-db](https://github.com/daniellok-db))
- [Chore] chore(deps): upgrade pinned Pi CLI to 1.3.0 ([#11260](https://github.com/omnigent-ai/omnigent/pull/11260), [@PattaraS](https://github.com/PattaraS))
- [UI / Feature] feat(web): split the terminal view into shell panes (flagged) ([#11261](https://github.com/omnigent-ai/omnigent/pull/11261), [@hzub](https://github.com/hzub))
- [Test/CI] test: allow slow MCP startup in native parent teardown ([#11262](https://github.com/omnigent-ai/omnigent/pull/11262), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix / Test/CI] ci: run visual snapshots on web dependency bumps and regenerate baselines ([#11263](https://github.com/omnigent-ai/omnigent/pull/11263), [@hzub](https://github.com/hzub))
- [Test/CI] test(e2e): keep the pi-native smart-routing launch transcript on failure ([#11265](https://github.com/omnigent-ai/omnigent/pull/11265), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] opencode-native sessions now start in workspaces whose path contains non-ASCII characters ([#11266](https://github.com/omnigent-ai/omnigent/pull/11266), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] Codex side chats opened after switching the main chat's model or effort now use the new settings instead of failing on an unsupported reasoning effort. ([#11267](https://github.com/omnigent-ai/omnigent/pull/11267), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] fix(pi): preserve reasoning capability for gateway GPT models ([#11269](https://github.com/omnigent-ai/omnigent/pull/11269), [@PattaraS](https://github.com/PattaraS))
- [Bug fix / Docs / Test/CI] fix(cli): omit host recovery advice for configuration copy errors ([#11270](https://github.com/omnigent-ai/omnigent/pull/11270), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] ci: install the pinned codex and pi CLIs for their real-CLI tests ([#11271](https://github.com/omnigent-ai/omnigent/pull/11271), [@PattaraS](https://github.com/PattaraS))
- [UI / Feature] Chat file links open line ranges like `file.ts:10-20` or `#L10-L20` with the range highlighted, and show just the file name, with the full path on hover ([#11273](https://github.com/omnigent-ai/omnigent/pull/11273), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix / Docs / Test/CI] Log late scheduler lease-write failures and clarify lifecycle behavior ([#11276](https://github.com/omnigent-ai/omnigent/pull/11276), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix / Feature / Docs / Test/CI] Wire persistent scheduling into the server behind automations_v2 ([#11278](https://github.com/omnigent-ai/omnigent/pull/11278), [@serena-ruan](https://github.com/serena-ruan))
- [UI] fix(grid): calmer active-pane styling and grid-aware sidebar highlight ([#11280](https://github.com/omnigent-ai/omnigent/pull/11280), [@hzub](https://github.com/hzub))
- [Chore] fix(deps): upgrade Pillow to 13.0.0 for image security fixes ([#11282](https://github.com/omnigent-ai/omnigent/pull/11282), [@PattaraS](https://github.com/PattaraS))
- [Chore] fix(deps): refresh compatible npm security patches ([#11283](https://github.com/omnigent-ai/omnigent/pull/11283), [@PattaraS](https://github.com/PattaraS))
- [Chore / Test/CI] chore(deps): remove vulnerable Tinypool via Vitest 4.1.12 ([#11287](https://github.com/omnigent-ai/omnigent/pull/11287), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] Finished native sessions no longer pile up on long-running hosts: idle panes are closed along with their forwarder, helper server and tool relay, and the next message brings the pane back. ([#11289](https://github.com/omnigent-ai/omnigent/pull/11289), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix] fix(web): preserve interleaved replies and pasted images in side chats ([#11301](https://github.com/omnigent-ai/omnigent/pull/11301), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix] fix(codex-native): keep a model pick made while Codex is still relaunching ([#11303](https://github.com/omnigent-ai/omnigent/pull/11303), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(claude-native): report a launcher password prompt instead of timing out ([#11305](https://github.com/omnigent-ai/omnigent/pull/11305), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(cli): validate workspace selectors before saving login state ([#11311](https://github.com/omnigent-ai/omnigent/pull/11311), [@dbczumar](https://github.com/dbczumar))
- [Bug fix] fix(server): prefer explicit native failure details over partial output ([#11316](https://github.com/omnigent-ai/omnigent/pull/11316), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runner): keep native credential resolution off the event loop ([#11321](https://github.com/omnigent-ai/omnigent/pull/11321), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(claude-native): keep completed turns healthy when old failure hooks replay ([#11322](https://github.com/omnigent-ai/omnigent/pull/11322), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] Drag-selecting one line in a chat no longer jumps the selection to earlier messages when the drag ends beside or below the text ([#11324](https://github.com/omnigent-ai/omnigent/pull/11324), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix] Claude directory approvals now let you allow the displayed directories for the session without changing Auto mode. ([#11325](https://github.com/omnigent-ai/omnigent/pull/11325), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix] fix(codex-native): drop interrupted history before ordering replay ([#11327](https://github.com/omnigent-ai/omnigent/pull/11327), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] Claude web messages and controls no longer fail or include a leftover draft because it contains a box-drawing line. ([#11328](https://github.com/omnigent-ai/omnigent/pull/11328), [@yaoharry](https://github.com/yaoharry))
- [Chore] chore(logging): explain missing Claude failure context ([#11329](https://github.com/omnigent-ai/omnigent/pull/11329), [@yaoharry](https://github.com/yaoharry))
- [Docs / Chore] chore(runner): capture stacks while the event loop is stalled ([#11330](https://github.com/omnigent-ai/omnigent/pull/11330), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runner): keep native policy setup responsive during auth ([#11332](https://github.com/omnigent-ai/omnigent/pull/11332), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Feature / Docs / Test/CI] feat: add private-owner session orchestration behind a release flag ([#11334](https://github.com/omnigent-ai/omnigent/pull/11334), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] fix(deps): allow Pillow 12.2+ so cooldown mirrors can still install ([#11335](https://github.com/omnigent-ai/omnigent/pull/11335), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Feature] `/mcp` shows whether each MCP service is connected and offers an inline Sign in when it is not ([#11338](https://github.com/omnigent-ai/omnigent/pull/11338), [@jsonmp-k8](https://github.com/jsonmp-k8))
- [UI / Feature] Press Shift+Tab in a running Claude, Codex, or Devin native session's chat composer to cycle its permission mode without leaving the keyboard. ([#11343](https://github.com/omnigent-ai/omnigent/pull/11343), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Docs / Test/CI] ci(deps): flag young dependency floors and require a second maintainer for waivers ([#11344](https://github.com/omnigent-ai/omnigent/pull/11344), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] fix(pi): don't warn of expired login when Pi's token command works ([#11345](https://github.com/omnigent-ai/omnigent/pull/11345), [@dbczumar](https://github.com/dbczumar))
- [Test/CI] test(resilience): reserve proxy ports during Linux refusal faults ([#11348](https://github.com/omnigent-ai/omnigent/pull/11348), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test(scheduled): synchronize heartbeat timeout setup ([#11355](https://github.com/omnigent-ai/omnigent/pull/11355), [@yaoharry](https://github.com/yaoharry))
- [Chore] chore(deps): upgrade markdown-it to 14.3.3 ([#11358](https://github.com/omnigent-ai/omnigent/pull/11358), [@PattaraS](https://github.com/PattaraS))
- [Chore] chore(deps): bump opentelemetry-api from 1.44.0 to 1.45.1 ([#11359](https://github.com/omnigent-ai/omnigent/pull/11359), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Chore] chore(deps): bump gitpython from 3.1.62 to 3.2.1 ([#11360](https://github.com/omnigent-ai/omnigent/pull/11360), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Chore] chore(deps): bump graphql-core from 3.2.11 to 3.2.12 ([#11361](https://github.com/omnigent-ai/omnigent/pull/11361), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Docs / Test/CI] Clarify scheduler lifecycle contracts and extend regression coverage ([#11364](https://github.com/omnigent-ai/omnigent/pull/11364), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Bug fix] fix(web): explain the model picker wait while a disconnected session wakes ([#11365](https://github.com/omnigent-ai/omnigent/pull/11365), [@hzub](https://github.com/hzub))
- [Bug fix] Keep scheduler recovery and deletion cleanup progressing ([#11366](https://github.com/omnigent-ai/omnigent/pull/11366), [@serena-ruan](https://github.com/serena-ruan))
- [Docs / Chore] chore(server): trace runner initialization decisions and native input receipt ([#11371](https://github.com/omnigent-ai/omnigent/pull/11371), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Feature] Support a default reasoning effort in Project settings ([#11372](https://github.com/omnigent-ai/omnigent/pull/11372), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix / Test/CI] Reset scheduler recovery scan state on stop ([#11373](https://github.com/omnigent-ai/omnigent/pull/11373), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Feature / Docs] feat(web): offer a new git worktree when continuing in another directory ([#11376](https://github.com/omnigent-ai/omnigent/pull/11376), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Feature] `/mcp` shows whether a host MCP server needs sign-in and links to its sign-in page when the host reports it ([#11378](https://github.com/omnigent-ai/omnigent/pull/11378), [@jsonmp-k8](https://github.com/jsonmp-k8))
- [Bug fix] Claude Code sessions no longer stall at startup on Claude's "Make auto mode your default permission mode?" question; your configured default mode is kept. ([#11379](https://github.com/omnigent-ai/omnigent/pull/11379), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix] fix(pi-native): preserve allowlisted literal model IDs ([#11402](https://github.com/omnigent-ai/omnigent/pull/11402), [@PattaraS](https://github.com/PattaraS))
- [Bug fix / Test/CI] fix(pi): align SDK and native thinking compatibility ([#11403](https://github.com/omnigent-ai/omnigent/pull/11403), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] fix(pi): retry persisted native history without duplicates ([#11404](https://github.com/omnigent-ai/omnigent/pull/11404), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] fix(pi-native): recover unmatched tool outputs on fork and resume ([#11405](https://github.com/omnigent-ai/omnigent/pull/11405), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix] fix(pi): preserve editor text in Chat dialogs ([#11408](https://github.com/omnigent-ai/omnigent/pull/11408), [@PattaraS](https://github.com/PattaraS))
- [UI] fix(web): give shell card actions their own row on narrow cards ([#11415](https://github.com/omnigent-ai/omnigent/pull/11415), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix] fix(web): make Share dialog Copy link work without async clipboard ([#11416](https://github.com/omnigent-ai/omnigent/pull/11416), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Test/CI] test(runner): cover helper release when an idle reap's pane close fails ([#11419](https://github.com/omnigent-ai/omnigent/pull/11419), [@PattaraS](https://github.com/PattaraS))
- [UI / Feature / Docs / Test/CI] Agents can open workspace files in the current session's UI using `ui_open_file` or the session file-opening API, without switching sessions or discarding unsaved edits. ([#11421](https://github.com/omnigent-ai/omnigent/pull/11421), [@droctothorpe](https://github.com/droctothorpe))
- [Bug fix] fix: resume idle runners before downloading workspace files ([#11422](https://github.com/omnigent-ai/omnigent/pull/11422), [@dhruv0811](https://github.com/dhruv0811))
- [UI / Bug fix] fix(web): keep disabled Start tooltips open after clicks ([#11430](https://github.com/omnigent-ai/omnigent/pull/11430), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix] fix: track session PRs after pushes across repositories ([#11433](https://github.com/omnigent-ai/omnigent/pull/11433), [@dhruv0811](https://github.com/dhruv0811))
- [UI / Bug fix] fix(canvas): show only your sessions ([#11436](https://github.com/omnigent-ai/omnigent/pull/11436), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix] fix(host): rediscover credentials after tunnel authentication rejection ([#11441](https://github.com/omnigent-ai/omnigent/pull/11441), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] Conversation history no longer appears blank after returning to a hidden session. ([#11444](https://github.com/omnigent-ai/omnigent/pull/11444), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix] fix(server): reject unsupported Claude auth commands before queuing ([#11445](https://github.com/omnigent-ai/omnigent/pull/11445), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(claude-native): show the model-unavailable card for a model_not_found stop ([#11458](https://github.com/omnigent-ai/omnigent/pull/11458), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] When a Claude Code turn ends in an error, the session now shows one failure with the error message, instead of a blank failure followed by the message. ([#11463](https://github.com/omnigent-ai/omnigent/pull/11463), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(server): say when a held turn's host came back without its runner ([#11469](https://github.com/omnigent-ai/omnigent/pull/11469), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(claude-native): report a terminal tmux no longer shows as no longer running ([#11476](https://github.com/omnigent-ai/omnigent/pull/11476), [@yaoharry](https://github.com/yaoharry))
- [UI / Feature] Add model and effort cycling shortcuts with menu previews ([#11486](https://github.com/omnigent-ai/omnigent/pull/11486), [@dhruv0811](https://github.com/dhruv0811))
- [UI / Bug fix] Side chats now queue and steer follow-ups while their agent is working, the same way the main composer does. ([#11490](https://github.com/omnigent-ai/omnigent/pull/11490), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix] fix(web): prompt each shell command and follow the terminal theme ([#11494](https://github.com/omnigent-ai/omnigent/pull/11494), [@PattaraS](https://github.com/PattaraS))
- [Docs / Test/CI] ci(deps): let any maintainer, the author included, approve a floor waiver ([#11496](https://github.com/omnigent-ai/omnigent/pull/11496), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] The `/` menu in native Claude sessions lists your Claude Code custom commands from `~/.claude/commands` and the project's `.claude/commands`. ([#11500](https://github.com/omnigent-ai/omnigent/pull/11500), [@dbczumar](https://github.com/dbczumar))
- [UI / Bug fix] Reconnect an offline Arca host from the current chat with a single click, including Arca hosts connected from the CLI. ([#11501](https://github.com/omnigent-ai/omnigent/pull/11501), [@dbczumar](https://github.com/dbczumar))
- [Feature / Docs / Test/CI] feat(dev): install the commit and push hooks from just ensure ([#11506](https://github.com/omnigent-ai/omnigent/pull/11506), [@jsonmp-k8](https://github.com/jsonmp-k8))
- [UI / Bug fix] While a new managed sandbox starts, the session's model picker lists the sandbox provider's models instead of none. ([#11515](https://github.com/omnigent-ai/omnigent/pull/11515), [@dbczumar](https://github.com/dbczumar))
- [UI / Bug fix] fix(web): clear a send's error card once its message turns out delivered ([#11525](https://github.com/omnigent-ai/omnigent/pull/11525), [@dbczumar](https://github.com/dbczumar))
- [Bug fix] Pi preserves native session history and token accounting across same-host runner restarts for seven days after the last activity. ([#11526](https://github.com/omnigent-ai/omnigent/pull/11526), [@remenberl](https://github.com/remenberl))
- [UI / Feature] feat(web): show the Arclet's name in the host selector tooltip ([#11527](https://github.com/omnigent-ai/omnigent/pull/11527), [@dbczumar](https://github.com/dbczumar))
- [UI / Bug fix] fix(web): scroll the composer chip tray instead of growing past the window ([#11528](https://github.com/omnigent-ai/omnigent/pull/11528), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix] fix(desktop): only report an Arca reconnect once the session's host is online ([#11529](https://github.com/omnigent-ai/omnigent/pull/11529), [@dbczumar](https://github.com/dbczumar))
- [UI / Bug fix] fix(settings): make the credential card the harness warning ([#11530](https://github.com/omnigent-ai/omnigent/pull/11530), [@zhengwin](https://github.com/zhengwin))
- [UI / Bug fix] fix(web): replace the empty-state Link a PR button with the link form ([#11531](https://github.com/omnigent-ai/omnigent/pull/11531), [@daniellok-db](https://github.com/daniellok-db))
- [UI / Bug fix] fix(web): expand a collapsed file when jumping to it from the PR changes sidebar ([#11532](https://github.com/omnigent-ai/omnigent/pull/11532), [@daniellok-db](https://github.com/daniellok-db))
- [Bug fix / Chore / Test/CI] fix(ci): unblock covered Dependabot updates and stale branches ([#11538](https://github.com/omnigent-ai/omnigent/pull/11538), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix] fix(web): keep selected text readable in a pinned terminal-theme card ([#11540](https://github.com/omnigent-ai/omnigent/pull/11540), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test(schedules): freeze the recurrence search clock in schedule tests ([#11543](https://github.com/omnigent-ai/omnigent/pull/11543), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Feature] Post GitHub PR comments from the Comments tab, with Markdown preview and drafts preserved while switching tabs or PRs. ([#11546](https://github.com/omnigent-ai/omnigent/pull/11546), [@daniellok-db](https://github.com/daniellok-db))
- [UI / Bug fix] fix(web): keep large model pickers compact ([#11551](https://github.com/omnigent-ai/omnigent/pull/11551), [@PattaraS](https://github.com/PattaraS))
- [Feature] Allow the completed scheduled-task state in the schema ([#11552](https://github.com/omnigent-ai/omnigent/pull/11552), [@serena-ruan](https://github.com/serena-ruan))
- [Feature] Log structured scheduler events for automation success metrics ([#11553](https://github.com/omnigent-ai/omnigent/pull/11553), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Feature] Session search lists sessions whose title matches first, with sessions that only match in their messages grouped below under "In messages". ([#11554](https://github.com/omnigent-ai/omnigent/pull/11554), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Feature] Add opt-in setting to show only the final answer in finished turns ([#11555](https://github.com/omnigent-ai/omnigent/pull/11555), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Test/CI] test(inner): publish child PID files atomically in process-tree tests ([#11558](https://github.com/omnigent-ai/omnigent/pull/11558), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix] fix: preserve ucode auth argv and timeout in native Codex launches ([#11563](https://github.com/omnigent-ai/omnigent/pull/11563), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(server): carry the original drop onto a held turn's failure row ([#11568](https://github.com/omnigent-ai/omnigent/pull/11568), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(claude-native): record the input box's shape when a draft cannot be cleared ([#11569](https://github.com/omnigent-ai/omnigent/pull/11569), [@yaoharry](https://github.com/yaoharry))
- [Feature] feat(db): add a pull_requests column to conversation metadata ([#11572](https://github.com/omnigent-ai/omnigent/pull/11572), [@daniellok-db](https://github.com/daniellok-db))
- [Bug fix / Docs] Keep scheduler event logs from changing scheduling outcomes ([#11576](https://github.com/omnigent-ai/omnigent/pull/11576), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix] fix(search): match LIKE wildcards literally and wait for server info ([#11578](https://github.com/omnigent-ai/omnigent/pull/11578), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix] fix(server): keep late ancestor elicitation mirrors from reverting parent cards ([#11602](https://github.com/omnigent-ai/omnigent/pull/11602), [@serena-ruan](https://github.com/serena-ruan))
- [Test/CI] test(e2e-ui): wait for the live stream before publishing oversized-session failures ([#11604](https://github.com/omnigent-ai/omnigent/pull/11604), [@serena-ruan](https://github.com/serena-ruan))
- chore(deps): bump tailwind-merge from 3.6.0 to 3.7.0 ([#11629](https://github.com/omnigent-ai/omnigent/pull/11629), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Test/CI] test(e2e): wait on the rendered REPL screen in the Ctrl+R search test ([#11635](https://github.com/omnigent-ai/omnigent/pull/11635), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test(e2e): read the transient-attachment probe on fresh connections ([#11640](https://github.com/omnigent-ai/omnigent/pull/11640), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix] fix(web): say a terminal permission prompt needs approval instead of showing Working ([#11642](https://github.com/omnigent-ai/omnigent/pull/11642), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] A model switch blocked by an open Claude prompt now shows a notice instead of failing the session ([#11647](https://github.com/omnigent-ai/omnigent/pull/11647), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Chore] fix(db): merge concurrent completed-state and pull-request migrations ([#11652](https://github.com/omnigent-ai/omnigent/pull/11652), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix / Test/CI] Resume imported Claude sessions while their original background jobs continue running, without creating duplicate imports. ([#11653](https://github.com/omnigent-ai/omnigent/pull/11653), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix] fix(host): refresh stale CLI versions behind unchanged launchers ([#11654](https://github.com/omnigent-ai/omnigent/pull/11654), [@dhruv0811](https://github.com/dhruv0811))
- [UI / Feature] feat(sidebar): group sessions by harness ([#11655](https://github.com/omnigent-ai/omnigent/pull/11655), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix] Claude sessions recover message and settings delivery when a short terminal clips the input box. ([#11657](https://github.com/omnigent-ai/omnigent/pull/11657), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix / Test/CI] fix(polly): preserve CLI overrides and bound review runtime ([#11695](https://github.com/omnigent-ai/omnigent/pull/11695), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix / Chore] fix(claude-native): retain hook identity when diagnostics fail ([#11701](https://github.com/omnigent-ai/omnigent/pull/11701), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] fix(web): open markdown editor links with one click ([#11705](https://github.com/omnigent-ai/omnigent/pull/11705), [@dbczumar](https://github.com/dbczumar))
- [Bug fix / Test/CI] fix(sessions): confirm model aliases and preserve newer picks on failure ([#11706](https://github.com/omnigent-ai/omnigent/pull/11706), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] fix(web): fall back when the browser speech service is blocked ([#11710](https://github.com/omnigent-ai/omnigent/pull/11710), [@dhruv0811](https://github.com/dhruv0811))
- [UI / Bug fix] fix(web): fold sub-agent notices into the "Worked for" rows ([#11711](https://github.com/omnigent-ai/omnigent/pull/11711), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix] fix(claude): honor configured auth helpers over inherited tokens ([#11716](https://github.com/omnigent-ai/omnigent/pull/11716), [@dhruv0811](https://github.com/dhruv0811))

## [v0.19.1] — 2026-10-21

- [Bug fix / Test/CI] The server and desktop app no longer trust the compromised eMudhra intermediate CAs (certifi 2026.10.19, Electron 42.11.16) ([#11210](https://github.com/omnigent-ai/omnigent/pull/11210), [@fanzeyi](https://github.com/fanzeyi))

## [v0.19.0] — 2026-10-20

- [UI / Bug fix] Antigravity's web approval card now shows the action description and the always-allow (persist) choices from agy's own permission menu, instead of only Approve / Reject. ([#6653](https://github.com/omnigent-ai/omnigent/pull/6653), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix / Docs / Test/CI] fix(repro): deliver incremental mock Responses events ([#7257](https://github.com/omnigent-ai/omnigent/pull/7257), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] fix(host): report configured acp:<slug> agents in the harness readiness map ([#7544](https://github.com/omnigent-ai/omnigent/pull/7544), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix / Feature / Docs / Test/CI] feat(agy): configure Gemini gateways and Databricks profiles in setup ([#7636](https://github.com/omnigent-ai/omnigent/pull/7636), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test(slack): wait for turns to finish instead of polling heuristics ([#7775](https://github.com/omnigent-ai/omnigent/pull/7775), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Feature] feat(android): add configurable Databricks OAuth protocol core ([#7957](https://github.com/omnigent-ai/omnigent/pull/7957), [@fanzeyi](https://github.com/fanzeyi))
- [Feature] feat(android): persist and refresh Databricks OAuth credentials ([#7958](https://github.com/omnigent-ai/omnigent/pull/7958), [@fanzeyi](https://github.com/fanzeyi))
- [UI / Feature] Databricks workspace connections on Android now sign in through the system browser and keep each workspace session in isolated browser storage. ([#7961](https://github.com/omnigent-ai/omnigent/pull/7961), [@fanzeyi](https://github.com/fanzeyi))
- [UI / Feature] Android workspace sessions recover without losing the current page, and local sign-out clears the selected workspace without immediately reconnecting. ([#7964](https://github.com/omnigent-ai/omnigent/pull/7964), [@fanzeyi](https://github.com/fanzeyi))
- [Chore] refactor(android): distinguish workspace authentication from Databricks Apps ([#7967](https://github.com/omnigent-ai/omnigent/pull/7967), [@fanzeyi](https://github.com/fanzeyi))
- [UI / Test/CI] Debug Android builds now include workspace authentication fault injection for testing recovery and sign-in behavior. ([#8071](https://github.com/omnigent-ai/omnigent/pull/8071), [@fanzeyi](https://github.com/fanzeyi))
- [UI / Bug fix / Feature / Docs / Test/CI] Connect managed MCP accounts in Settings and select their tools for local hosts or sandboxes through a server gateway with shared policy checks. ([#8157](https://github.com/omnigent-ai/omnigent/pull/8157), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix] Terminal connections now close when you switch away from a terminal. ([#8453](https://github.com/omnigent-ai/omnigent/pull/8453), [@craiuconstantintiberiu](https://github.com/craiuconstantintiberiu))
- [UI / Bug fix / Docs / Test/CI / Breaking] OIDC CLI, Slack, and mobile logins require an updated client and browser approval; ([#8505](https://github.com/omnigent-ai/omnigent/pull/8505), [@dhruv0811](https://github.com/dhruv0811))
- [UI / Feature] Claude SDK and Codex SDK sessions now expose the reasoning-effort control in the web UI, derived from the harness's declared capabilities rather than only native terminal harnesses. ([#8591](https://github.com/omnigent-ai/omnigent/pull/8591), [@jsonmp-k8](https://github.com/jsonmp-k8))
- [Bug fix] The Pi model picker now lists the custom providers declared in Pi's own `~/.pi/agent/models.json` (Ollama, DigitalOcean, any OpenAI-compatible endpoint) when Pi runs on its own login. ([#8793](https://github.com/omnigent-ai/omnigent/pull/8793), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- test: fix flaky tests/runner/test_app_sessions_native_terminals_runtime.py::test_codex_tui_recovery_preserves_live_control_plane ([#8934](https://github.com/omnigent-ai/omnigent/pull/8934), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Resuming an idle-reaped native Codex session no longer resubmits the original `omnigent codex "<prompt>"` launch prompt; only newly typed input starts work. ([#8963](https://github.com/omnigent-ai/omnigent/pull/8963), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] fix(claude-native): deduplicate transcript cost by response identity ([#8975](https://github.com/omnigent-ai/omnigent/pull/8975), [@LouisLotter](https://github.com/LouisLotter))
- [Bug fix] Codex model and effort picks can recover when the app-server has stopped but its terminal pane is still open. ([#9209](https://github.com/omnigent-ai/omnigent/pull/9209), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] Picking a model for a Claude session that isn't running no longer fails while its terminal is still starting. ([#9216](https://github.com/omnigent-ai/omnigent/pull/9216), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Test/CI] test(e2e_ui): clean up the right-panel seed file where it is actually written ([#9367](https://github.com/omnigent-ai/omnigent/pull/9367), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- fix(claude-native): preserve retained messages in compaction snapshots ([#9421](https://github.com/omnigent-ai/omnigent/pull/9421), [@arthivjkumar](https://github.com/arthivjkumar))
- [Feature / Docs] Sandboxed agents can use approved Git repositories over SSH without receiving the SSH key, with optional push access per repository. ([#9462](https://github.com/omnigent-ai/omnigent/pull/9462), [@mxatone](https://github.com/mxatone))
- [Feature] feat(server): accept the Android app redirect for native OIDC sign-in ([#9466](https://github.com/omnigent-ai/omnigent/pull/9466), [@fanzeyi](https://github.com/fanzeyi))
- [Bug fix] fix(android): don't treat a restored activity as an explicit connect ([#9467](https://github.com/omnigent-ai/omnigent/pull/9467), [@fanzeyi](https://github.com/fanzeyi))
- [Chore] refactor(android): share OAuth plumbing and read the server manifest ([#9468](https://github.com/omnigent-ai/omnigent/pull/9468), [@fanzeyi](https://github.com/fanzeyi))
- [Feature] feat(android): add native OIDC credentials and Auth Tab sign-in ([#9469](https://github.com/omnigent-ai/omnigent/pull/9469), [@fanzeyi](https://github.com/fanzeyi))
- [UI / Feature] The Android app signs in to OIDC servers through Auth Tab and renews expired sessions without opening the browser. ([#9474](https://github.com/omnigent-ai/omnigent/pull/9474), [@fanzeyi](https://github.com/fanzeyi))
- [UI / Feature] The Android app keeps OIDC sessions fresh before they expire and signs out from the app or the web UI. ([#9476](https://github.com/omnigent-ai/omnigent/pull/9476), [@fanzeyi](https://github.com/fanzeyi))
- [Docs / Test/CI] feat(android): add OIDC debug faults and document native sign-in ([#9477](https://github.com/omnigent-ai/omnigent/pull/9477), [@fanzeyi](https://github.com/fanzeyi))
- [Bug fix] fix(codex-native): correlate standalone terminal errors with their turn ([#9506](https://github.com/omnigent-ai/omnigent/pull/9506), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix / Feature / Docs / Test/CI] Watch agent verification recordings directly in chat and file previews, and navigate actions using optional standard WebVTT chapter files. ([#9557](https://github.com/omnigent-ai/omnigent/pull/9557), [@vasvlasov](https://github.com/vasvlasov))
- [Test/CI] ci(dependabot): grouped version updates, uv ecosystem, every manifest… ([#9584](https://github.com/omnigent-ai/omnigent/pull/9584), [@jsonmp-k8](https://github.com/jsonmp-k8))
- [Bug fix] Codex orchestrator sessions are now woken when an independent sub-agent they ([#9612](https://github.com/omnigent-ai/omnigent/pull/9612), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Containers and Databricks Apps now shut down gracefully on `SIGTERM` instead of ([#9636](https://github.com/omnigent-ai/omnigent/pull/9636), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] A side chat keeps working after its parent's runner exits: the next message or Resume restarts the parent's runner and continues the side chat on it. ([#9654](https://github.com/omnigent-ai/omnigent/pull/9654), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [Bug fix] fix(omnidev): use pinned Python for sidebar fixture seeding ([#9800](https://github.com/omnigent-ai/omnigent/pull/9800), [@hzub](https://github.com/hzub))
- [UI / Bug fix / Docs / Test/CI] Messages and attachments sent while a managed sandbox starts survive closing the browser and are delivered in order. ([#9814](https://github.com/omnigent-ai/omnigent/pull/9814), [@dbczumar](https://github.com/dbczumar))
- [Bug fix] fix(terminals): clean up unregistered failed launches ([#9833](https://github.com/omnigent-ai/omnigent/pull/9833), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix: retain background task counts in session telemetry ([#9836](https://github.com/omnigent-ai/omnigent/pull/9836), [@fanzeyi](https://github.com/fanzeyi))
- [UI / Bug fix] fix(web): keep the iOS side-chat composer above the keyboard ([#9846](https://github.com/omnigent-ai/omnigent/pull/9846), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [UI / Bug fix] Web links in Markdown and notebook file previews open in a new tab or your browser instead of replacing the app, which in the desktop app also dropped a Databricks workspace connection ([#9847](https://github.com/omnigent-ai/omnigent/pull/9847), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [UI / Feature] feat(settings): make harness warnings fixable from Settings (v1) ([#9849](https://github.com/omnigent-ai/omnigent/pull/9849), [@zhengwin](https://github.com/zhengwin))
- [Bug fix] fix(codex): finish child turns without writing parent bridge state ([#9851](https://github.com/omnigent-ai/omnigent/pull/9851), [@PattaraS](https://github.com/PattaraS))
- [Bug fix / Test/CI] fix(telemetry): suppress CI usage telemetry on the server ([#9853](https://github.com/omnigent-ai/omnigent/pull/9853), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Bug fix / Test/CI] fix(web): avoid duplicate diff computation in hidden responsive viewer ([#9854](https://github.com/omnigent-ai/omnigent/pull/9854), [@serena-ruan](https://github.com/serena-ruan))
- Bump version to 0.19.0.dev0 ([#9855](https://github.com/omnigent-ai/omnigent/pull/9855), [@omnigent-ci[bot]](https://github.com/apps/omnigent-ci))
- docs(changelog): record v0.18.0 ([#9856](https://github.com/omnigent-ai/omnigent/pull/9856), [@omnigent-ci[bot]](https://github.com/apps/omnigent-ci))
- [UI / Bug fix / Test/CI] perf(web): overlap linked diff requests and editor initialization ([#9857](https://github.com/omnigent-ai/omnigent/pull/9857), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Feature] feat(web): add /new to the chat composer ([#9858](https://github.com/omnigent-ai/omnigent/pull/9858), [@serena-ruan](https://github.com/serena-ruan))
- [Feature / Docs / Test/CI] Add timed captions to Otto Repro and Resolve recordings ([#9860](https://github.com/omnigent-ai/omnigent/pull/9860), [@serena-ruan](https://github.com/serena-ruan))
- [Docs / Chore / Test/CI] chore(host): add correlated tunnel keepalive diagnostics ([#9862](https://github.com/omnigent-ai/omnigent/pull/9862), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Bug fix] Fix sidebar styles (grouped and ungrouped) ([#9863](https://github.com/omnigent-ai/omnigent/pull/9863), [@hzub](https://github.com/hzub))
- [Docs] docs: map dictation and session read-state controls ([#9868](https://github.com/omnigent-ai/omnigent/pull/9868), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] fix(images): build the web SPA on the build platform, not under QEMU ([#9875](https://github.com/omnigent-ai/omnigent/pull/9875), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Cloning a session whose agent bundle is no longer stored now explains that another agent must be chosen instead of failing with an internal error. ([#9881](https://github.com/omnigent-ai/omnigent/pull/9881), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Docs] docs: refresh seed feature maps ([#9885](https://github.com/omnigent-ai/omnigent/pull/9885), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Docs] docs: add skill for drafting package release notes ([#9891](https://github.com/omnigent-ai/omnigent/pull/9891), [@TomeHirata](https://github.com/TomeHirata))
- [Test/CI] test: stabilize account, fork, and Canvas checks ([#9894](https://github.com/omnigent-ai/omnigent/pull/9894), [@PattaraS](https://github.com/PattaraS))
- [Bug fix / Test/CI] fix: honor the selected Pi executable through host startup ([#9895](https://github.com/omnigent-ai/omnigent/pull/9895), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix] Fix macOS editor shortcuts in rebundled embeds ([#9896](https://github.com/omnigent-ai/omnigent/pull/9896), [@PattaraS](https://github.com/PattaraS))
- [Bug fix / Docs] fix(agents): assert the captioned element is visible and quote only rendered text ([#9906](https://github.com/omnigent-ai/omnigent/pull/9906), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Feature / Docs] Polish managed MCP selection and remember choices ([#9917](https://github.com/omnigent-ai/omnigent/pull/9917), [@dhruv0811](https://github.com/dhruv0811))
- [Chore] chore(logging): identify failing tmux operations during Claude delivery ([#9922](https://github.com/omnigent-ai/omnigent/pull/9922), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Docs] Local Codex import now discovers sessions stored in Omnigent's private Codex homes. ([#9926](https://github.com/omnigent-ai/omnigent/pull/9926), [@Edwinhe03](https://github.com/Edwinhe03))
- [Bug fix] fix(claude): preserve input after target and submit refusals ([#9927](https://github.com/omnigent-ai/omnigent/pull/9927), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] Links in the Markdown editor now show a popup with an Open button, so you can follow a link without knowing about ⌘/Ctrl-click ([#9928](https://github.com/omnigent-ai/omnigent/pull/9928), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [UI / Bug fix / Docs / Test/CI] Allow opting out of MCPs during registry outages ([#9929](https://github.com/omnigent-ai/omnigent/pull/9929), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix] fix(runner): skip history recovery while a message forward is in flight ([#9931](https://github.com/omnigent-ai/omnigent/pull/9931), [@Edwinhe03](https://github.com/Edwinhe03))
- [Bug fix] fix: deliver Claude-native input to a pane scrolled back in copy mode ([#9932](https://github.com/omnigent-ai/omnigent/pull/9932), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [Bug fix] fix(claude-native): refuse a web message while the input box is held in shell mode ([#9936](https://github.com/omnigent-ai/omnigent/pull/9936), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(claude-native): escape web slash commands with a space, not U+FEFF ([#9939](https://github.com/omnigent-ai/omnigent/pull/9939), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test: wait for MCP cleanup and side-chat completion ([#9947](https://github.com/omnigent-ai/omnigent/pull/9947), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test(cli): isolate scripted preflight credential discovery ([#9948](https://github.com/omnigent-ai/omnigent/pull/9948), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] Web messages sent to a Claude terminal that has exited stay available for resend. ([#9953](https://github.com/omnigent-ai/omnigent/pull/9953), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] Improve recovery from silent or stalled runner tunnels while preserving active streamed requests. ([#9957](https://github.com/omnigent-ai/omnigent/pull/9957), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] Runner reconnect recovery keeps processing requests and keepalives. ([#9960](https://github.com/omnigent-ai/omnigent/pull/9960), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test: make Codex effort models configurable ([#9963](https://github.com/omnigent-ai/omnigent/pull/9963), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix] fix(ui): match attach-to-agent and comment pill styling ([#9968](https://github.com/omnigent-ai/omnigent/pull/9968), [@serena-ruan](https://github.com/serena-ruan))
- [Test/CI] test(canvas): keep selection checks bound to their session nodes ([#9969](https://github.com/omnigent-ai/omnigent/pull/9969), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] Make the steering CI scenario wait for active work and verify receipt of the steering message. ([#9972](https://github.com/omnigent-ai/omnigent/pull/9972), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] fix(web): label submitted comments as Sent ([#9979](https://github.com/omnigent-ai/omnigent/pull/9979), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix] fix(web): show which fork-form field blocks Clone & start ([#9980](https://github.com/omnigent-ai/omnigent/pull/9980), [@hzub](https://github.com/hzub))
- [Docs] docs: refresh seed feature maps ([#9981](https://github.com/omnigent-ai/omnigent/pull/9981), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Test/CI] test(acp): wait for the forking agent's pid before reading it ([#9982](https://github.com/omnigent-ai/omnigent/pull/9982), [@yaoharry](https://github.com/yaoharry))
- [Chore] chore(logging): correlate native Codex lifecycle failures with their session ([#10000](https://github.com/omnigent-ai/omnigent/pull/10000), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(routing): respect native Codex tool-search compatibility ([#10001](https://github.com/omnigent-ai/omnigent/pull/10001), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(web): support custom upstream headers in the Vite proxy ([#10005](https://github.com/omnigent-ai/omnigent/pull/10005), [@hzub](https://github.com/hzub))
- [UI / Bug fix] fix(codex-native): explain unsupported models with ChatGPT login ([#10006](https://github.com/omnigent-ai/omnigent/pull/10006), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix / Test/CI] Claude sessions waiting for a classifier-billing y/n choice keep the terminal available for the owner to answer instead of timing out and closing it. ([#10008](https://github.com/omnigent-ai/omnigent/pull/10008), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix / Breaking] The browser new-session shortcut changes from Cmd/Ctrl+Alt+N to Cmd/Ctrl+Shift+O, including focused embedded apps. Browser users must switch to the new shortcut; native shells retain Cmd/Ctrl+Alt+N. ([#10009](https://github.com/omnigent-ai/omnigent/pull/10009), [@PattaraS](https://github.com/PattaraS))
- [UI / Feature] See pending reviewers and submitted review states in the Pull Requests panel, with distinct colors for conversation-comment authors. ([#10010](https://github.com/omnigent-ai/omnigent/pull/10010), [@PattaraS](https://github.com/PattaraS))
- [Docs / Chore] chore(logging): snapshot Codex startup state before cleanup ([#10012](https://github.com/omnigent-ai/omnigent/pull/10012), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test(cli): observe recalled history turns without draining markers ([#10013](https://github.com/omnigent-ai/omnigent/pull/10013), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test(server): wait for turn completion before replica assertions ([#10020](https://github.com/omnigent-ai/omnigent/pull/10020), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Test/CI] test(resilience): reserve upstream ports while proxies start ([#10022](https://github.com/omnigent-ai/omnigent/pull/10022), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] fix(web): collapse offline hosts in the new-session host picker ([#10025](https://github.com/omnigent-ai/omnigent/pull/10025), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix / Feature] feat(web): add stable Created sorting to the session sidebar ([#10026](https://github.com/omnigent-ai/omnigent/pull/10026), [@hzub](https://github.com/hzub))
- [Bug fix / Docs] In accounts mode, changing or resetting a password now signs that user out of their other browsers and CLIs; connected hosts must sign in again before they can launch sessions. ([#10029](https://github.com/omnigent-ai/omnigent/pull/10029), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Bug fix / Feature] feat(web): split sidebar date grouping into Created and Updated ([#10035](https://github.com/omnigent-ai/omnigent/pull/10035), [@hzub](https://github.com/hzub))
- [Bug fix / Breaking] Workspace file deletion now checks write reach, preserves symlink targets, and reports success only after removal. Deletes fail with 403 when safe traversal is unavailable: native Windows workspace deletes are disabled, and macOS 12 requires readable parent directories. ([#10039](https://github.com/omnigent-ai/omnigent/pull/10039), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Bug fix / Docs] The desktop embedded browser now refuses agent navigation to internal addresses written in any IP form, or reached through a hostname that resolves to one. ([#10040](https://github.com/omnigent-ai/omnigent/pull/10040), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Bug fix / Chore / Test/CI] chore(ci): upgrade Pi CLI pin to 1.0.4 ([#10042](https://github.com/omnigent-ai/omnigent/pull/10042), [@PattaraS](https://github.com/PattaraS))
- [UI / Feature] feat(web): show the host name and connection status on hover ([#10043](https://github.com/omnigent-ai/omnigent/pull/10043), [@goelise](https://github.com/goelise))
- [UI / Feature] feat(web): show the model id when hovering a model picker row ([#10046](https://github.com/omnigent-ai/omnigent/pull/10046), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [Bug fix] fix(runner): run filesystem helper scripts in isolated mode ([#10047](https://github.com/omnigent-ai/omnigent/pull/10047), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Feature] The pull request panel shows comments in their own Comments tab, labeled with the comment count ([#10048](https://github.com/omnigent-ai/omnigent/pull/10048), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [UI / Bug fix] fix(web): mark a mid-turn message until the native agent reads it ([#10050](https://github.com/omnigent-ai/omnigent/pull/10050), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [UI / Bug fix] Sidebar sessions that share the same update time keep one stable order instead of reordering after a background refresh or shifting under the pointer mid-click. ([#10052](https://github.com/omnigent-ai/omnigent/pull/10052), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] fix(os-env): spawn the bwrap helper from a thread that outlives requests ([#10058](https://github.com/omnigent-ai/omnigent/pull/10058), [@zozo123](https://github.com/zozo123))
- [Feature] Policies can now get access to conversation_name in the `PolicyEvent` context. ([#10065](https://github.com/omnigent-ai/omnigent/pull/10065), [@ArshSiddiqui](https://github.com/ArshSiddiqui))
- fix(server): let deployments declare host sharding for wrong_replica ([#10071](https://github.com/omnigent-ai/omnigent/pull/10071), [@Leemoonsoo](https://github.com/Leemoonsoo))
- Fail fast with an accurate hint when the runner tunnel has no credential ([#10072](https://github.com/omnigent-ai/omnigent/pull/10072), [@bbqiu](https://github.com/bbqiu))
- [UI / Bug fix] fix(web): title the Pull Requests panel in its empty state ([#10076](https://github.com/omnigent-ai/omnigent/pull/10076), [@dhruv0811](https://github.com/dhruv0811))
- [UI / Feature] feat: let a managed create choose its sandbox host id ([#10080](https://github.com/omnigent-ai/omnigent/pull/10080), [@Edwinhe03](https://github.com/Edwinhe03))
- [Bug fix] fix(codex-native): reject runner-owned transport args in `omnigent codex` ([#10086](https://github.com/omnigent-ai/omnigent/pull/10086), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(terminal): tell the user to install tmux instead of pointing at the runner log ([#10092](https://github.com/omnigent-ai/omnigent/pull/10092), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] Codex sessions launched with `--add-dir` start on Codex 0.156 and later instead of exiting with "--add-dir is not supported with --remote" ([#10093](https://github.com/omnigent-ai/omnigent/pull/10093), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(claude-native): read the don't-ask footer so the mode picker can leave it ([#10098](https://github.com/omnigent-ai/omnigent/pull/10098), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] fix(host): report a runner refused on credentials as a sign-in problem ([#10112](https://github.com/omnigent-ai/omnigent/pull/10112), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(codex-native): show the missing Databricks profile fix instead of "see the runner log" ([#10114](https://github.com/omnigent-ai/omnigent/pull/10114), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(claude-native): report a sign-in running elsewhere instead of reaping the pane ([#10118](https://github.com/omnigent-ai/omnigent/pull/10118), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] Messages sent from the web UI to Claude Code no longer get stuck when keyboard focus was left in the terminal's footer. ([#10122](https://github.com/omnigent-ai/omnigent/pull/10122), [@Edwinhe03](https://github.com/Edwinhe03))
- [Bug fix] fix(claude-native): settle refused web auth commands ([#10123](https://github.com/omnigent-ai/omnigent/pull/10123), [@fanzeyi](https://github.com/fanzeyi))
- fix(web): retry the viewer identity probe after a transient failure ([#10125](https://github.com/omnigent-ai/omnigent/pull/10125), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [Bug fix] fix(claude-native): preserve API error details in failed-turn events ([#10128](https://github.com/omnigent-ai/omnigent/pull/10128), [@fanzeyi](https://github.com/fanzeyi))
- [Bug fix / Docs] Native terminal messages rejected before handoff no longer surface later as misleading “Web message missing from native transcript” errors. ([#10129](https://github.com/omnigent-ai/omnigent/pull/10129), [@fanzeyi](https://github.com/fanzeyi))
- [UI / Bug fix] fix(web): disable Share grant controls for unshareable workspaces ([#10131](https://github.com/omnigent-ai/omnigent/pull/10131), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [Bug fix / Docs / Test/CI] Codex model and effort changes now recover when the terminal was idle-cleaned, is still starting, or needs its saved thread resumed. ([#10141](https://github.com/omnigent-ai/omnigent/pull/10141), [@fanzeyi](https://github.com/fanzeyi))
- [Bug fix] fix(native): retry session API throttling during startup and resume ([#10142](https://github.com/omnigent-ai/omnigent/pull/10142), [@fanzeyi](https://github.com/fanzeyi))
- [Bug fix] fix(cli): bundle symlinked agent files instead of dropping them ([#10143](https://github.com/omnigent-ai/omnigent/pull/10143), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix / Breaking] Per-user Slack clients require delegated credentials before ordinary requests or event streaming, including after a cached token is cleared. Login discovery remains available. Targets without per-user authentication are no longer supported by the Slack integration. ([#10172](https://github.com/omnigent-ai/omnigent/pull/10172), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix / Breaking] Agent-created or updated scheduled tasks now require explicit approval, including inherited settings. The mandatory gate is installed across policy-engine construction paths and cannot be skipped by the no-policy fast path. Owner UI/API scheduling remains unchanged. Approval follows existing session permissions: the owner or a collaborator with edit access can approve; this is not an owner-only gate. ([#10174](https://github.com/omnigent-ai/omnigent/pull/10174), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix / Breaking] Scheduled tasks bound recurrence input, time combinations, and search work. Existing hourly-equivalent minute and second rules remain supported, including stored schedules loaded after a restart. Searches stop at an eight-year horizon, a 100,000-step work budget, or a 250 ms monotonic deadline. Work includes calendar candidates, position selections and inner time-filter searches. Each BY list is normalized, deduplicated and capped at 24 distinct values; time combinations remain capped at 24. ([#10176](https://github.com/omnigent-ai/omnigent/pull/10176), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Bug fix] Desktop browser actions use validated snapshot, click and type requests. Stock older desktop/UI pairs can upgrade in either order through v0.20; compatibility adapters will be removed in v0.21. Updated desktops reject custom raw scripts. ([#10178](https://github.com/omnigent-ai/omnigent/pull/10178), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix / Breaking] All renderer navigation is subject to the URL policy, including URL-bar requests claiming user intent. Main-owned Arca preview eligibility remains supported. Other internal sites must be opened in a separate browser. Desktop fixture setup moves to the main-process test driver. ([#10184](https://github.com/omnigent-ai/omnigent/pull/10184), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix] fix(server): defer idle reconnect initialization without stranding orphans ([#10190](https://github.com/omnigent-ai/omnigent/pull/10190), [@fanzeyi](https://github.com/fanzeyi))
- [Bug fix / Test/CI] Pi SDK sessions refresh gateway credentials during long tool turns without restarting or losing conversation history, and report failed refreshes instead of reusing stale tokens. ([#10194](https://github.com/omnigent-ai/omnigent/pull/10194), [@PattaraS](https://github.com/PattaraS))
- [Chore] refactor(resolve-agent): share the Polly/OCR review loop as an agent skill ([#10199](https://github.com/omnigent-ai/omnigent/pull/10199), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix] Claude sessions no longer report `/fork`, `/branch`, or a rejected `/model` sent from the web as "Message not delivered". ([#10202](https://github.com/omnigent-ai/omnigent/pull/10202), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Bug fix] Improve onboarding server selection and dropdown styling ([#10203](https://github.com/omnigent-ai/omnigent/pull/10203), [@hzub](https://github.com/hzub))
- [Bug fix] fix(runner): retry the agent spec fetch when the server throttles it ([#10211](https://github.com/omnigent-ai/omnigent/pull/10211), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test(codex): accept launch retry log detail changes ([#10213](https://github.com/omnigent-ai/omnigent/pull/10213), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix / Feature / Test/CI] Show session import progress in the sidebar ([#10215](https://github.com/omnigent-ai/omnigent/pull/10215), [@PattaraS](https://github.com/PattaraS))
- chore(deps): bump https://github.com/pre-commit/pre-commit-hooks ([#10219](https://github.com/omnigent-ai/omnigent/pull/10219), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump notify-debouncer-full in /dev/omnidev ([#10225](https://github.com/omnigent-ai/omnigent/pull/10225), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Test/CI] test(codex): isolate routing replies from background titles ([#10227](https://github.com/omnigent-ai/omnigent/pull/10227), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(resolve-agent): harden the review-loop helper against partial GitHub responses ([#10229](https://github.com/omnigent-ai/omnigent/pull/10229), [@serena-ruan](https://github.com/serena-ruan))
- chore(deps): bump packaging from 25.0 to 26.3 ([#10231](https://github.com/omnigent-ai/omnigent/pull/10231), [@dependabot[bot]](https://github.com/apps/dependabot))
- [UI / Bug fix / Docs / Test/CI] Automation approval prompts now describe the requested schedule, execution, permission and cost settings. ([#10235](https://github.com/omnigent-ai/omnigent/pull/10235), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- chore(deps): bump rich from 14.3.4 to 15.0.0 ([#10237](https://github.com/omnigent-ai/omnigent/pull/10237), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump cachetools from 6.2.6 to 7.2.1 ([#10238](https://github.com/omnigent-ai/omnigent/pull/10238), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump argon2-cffi from 23.1.0 to 25.1.0 ([#10240](https://github.com/omnigent-ai/omnigent/pull/10240), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Bug fix] fix(pi-native): bound token helpers and preserve auth failure notices ([#10241](https://github.com/omnigent-ai/omnigent/pull/10241), [@PattaraS](https://github.com/PattaraS))
- [Chore] refactor(resolve-agent): drop the review_cycle.py compatibility link ([#10243](https://github.com/omnigent-ai/omnigent/pull/10243), [@serena-ruan](https://github.com/serena-ruan))
- chore(deps): bump actions/setup-node from 4.4.0 to 7.1.0 ([#10245](https://github.com/omnigent-ai/omnigent/pull/10245), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump actions/setup-python from 6.2.0 to 7.0.0 ([#10246](https://github.com/omnigent-ai/omnigent/pull/10246), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Chore] refactor(resolve-agent): share review remediation as an agent skill ([#10247](https://github.com/omnigent-ai/omnigent/pull/10247), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix] fix(pi): resolve npm installs before sandbox launch ([#10249](https://github.com/omnigent-ai/omnigent/pull/10249), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix] Model-unavailable errors in Claude SDK and Pi sessions now show a recovery hint: switch models with the model picker or /model, or check the provider configuration and account access. ([#10255](https://github.com/omnigent-ai/omnigent/pull/10255), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Pi native and SDK sessions honor reasoning effort for catalog-recognized configured providers across tool calls and follow-up turns. ([#10257](https://github.com/omnigent-ai/omnigent/pull/10257), [@PattaraS](https://github.com/PattaraS))
- [Bug fix / Feature / Docs / Test/CI] Claude-native sessions use Claude's status reports by default for working and blocked indicators, with legacy fallback and a host/runner kill switch (`OMNIGENT_FEATURES=-claude_osc_status`). ([#10259](https://github.com/omnigent-ai/omnigent/pull/10259), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test: wait for replica completion before checking handoff status ([#10260](https://github.com/omnigent-ai/omnigent/pull/10260), [@yaoharry](https://github.com/yaoharry))
- [Chore / Test/CI] ci: auto-merge tested routine dependency upgrades ([#10261](https://github.com/omnigent-ai/omnigent/pull/10261), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] Pi sessions now preserve the chosen reasoning effort for reasoning-capable gateway models instead of forcing thinking off. ([#10264](https://github.com/omnigent-ai/omnigent/pull/10264), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] fix(agents): film likely_repro facets and try the recorder before skipping footage ([#10267](https://github.com/omnigent-ai/omnigent/pull/10267), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] hermes, goose, kiro, devin, qwen and kimi native terminals now honor the agent's `os_env.sandbox` (for example `type: none`) instead of always using the platform-default sandbox ([#10268](https://github.com/omnigent-ai/omnigent/pull/10268), [@bobbyhyam](https://github.com/bobbyhyam))
- [Chore] refactor(resolve-agent): share impact assessment and PR CI/preview steps ([#10271](https://github.com/omnigent-ai/omnigent/pull/10271), [@serena-ruan](https://github.com/serena-ruan))
- [Feature] feat(feature-agent): add an Otto agent that builds one feature per ticket ([#10273](https://github.com/omnigent-ai/omnigent/pull/10273), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Bug fix / Test/CI] The Markdown file editor reflows hard-wrapped paragraphs to the full viewer width, matching Preview. ([#10275](https://github.com/omnigent-ai/omnigent/pull/10275), [@hzub](https://github.com/hzub))
- [Test/CI] test(inner): cover the worker liveness wrapper end to end ([#10277](https://github.com/omnigent-ai/omnigent/pull/10277), [@jsonmp-k8](https://github.com/jsonmp-k8))
- [Test/CI] test(server): cover the Codex goal routes and their runner-wake helpers (48% → 99%) ([#10279](https://github.com/omnigent-ai/omnigent/pull/10279), [@jsonmp-k8](https://github.com/jsonmp-k8))
- [Feature] Update individual custom-agent settings through a conditional PATCH API while preserving credentials and bundled files. ([#10280](https://github.com/omnigent-ai/omnigent/pull/10280), [@hzub](https://github.com/hzub))
- [Test/CI] test(inner): cover the signer process's parsers, config, supervisor and main (54% → 69%) ([#10281](https://github.com/omnigent-ai/omnigent/pull/10281), [@jsonmp-k8](https://github.com/jsonmp-k8))
- [UI / Bug fix] Hide the offline indicator for new sandbox selections ([#10285](https://github.com/omnigent-ai/omnigent/pull/10285), [@dbczumar](https://github.com/dbczumar))
- [Bug fix] Recover when a live harness loses its Unix socket ([#10288](https://github.com/omnigent-ai/omnigent/pull/10288), [@dbczumar](https://github.com/dbczumar))
- [Bug fix] perf(claude-native): skip httpx's CLI import and module teardown in the policy hook ([#10290](https://github.com/omnigent-ai/omnigent/pull/10290), [@fabriciodelocco](https://github.com/fabriciodelocco))
- [Bug fix / Test/CI] Running an Omnigent server or tests inside an agent sandbox no longer breaks other live sessions with "No such file or directory" harness errors ([#10291](https://github.com/omnigent-ai/omnigent/pull/10291), [@dbczumar](https://github.com/dbczumar))
- [Bug fix] Claude-native chats no longer show Claude Code's injected `<system-reminder>` context as an extra user message with Claude Code 2.1.300 and later ([#10293](https://github.com/omnigent-ai/omnigent/pull/10293), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [Test/CI] test: isolate inherited debug-log delivery credentials ([#10295](https://github.com/omnigent-ai/omnigent/pull/10295), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(codex-native): validate saved transport args before preparing startup ([#10296](https://github.com/omnigent-ai/omnigent/pull/10296), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runner): rebuild incomplete agent bundle caches before initialization ([#10297](https://github.com/omnigent-ai/omnigent/pull/10297), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runner): scope cancellation cleanup to its turn generation ([#10299](https://github.com/omnigent-ai/omnigent/pull/10299), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runner): preserve interrupt ownership during harness lookup ([#10302](https://github.com/omnigent-ai/omnigent/pull/10302), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test: stabilize terminal Ctrl-C and log-redaction timing checks ([#10309](https://github.com/omnigent-ai/omnigent/pull/10309), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix] Old codex-native session data under `~/.omnigent/codex-native` from before v0.13.0 is now cleaned up after 7 days of inactivity instead of being kept forever ([#10311](https://github.com/omnigent-ai/omnigent/pull/10311), [@Edwinhe03](https://github.com/Edwinhe03))
- [Bug fix] Claude SDK agents with skill-less agent bundles no longer fail to launch when `disableSideloadFlags` is enabled. ([#10315](https://github.com/omnigent-ai/omnigent/pull/10315), [@ytelang](https://github.com/ytelang))
- [Test/CI] test(server): route incidental host-launch hang guards through budget() ([#10319](https://github.com/omnigent-ai/omnigent/pull/10319), [@jsonmp-k8](https://github.com/jsonmp-k8))
- [Docs] docs(agents): add reuse/naming guidance and unit-test expectations ([#10320](https://github.com/omnigent-ai/omnigent/pull/10320), [@jsonmp-k8](https://github.com/jsonmp-k8))
- [Bug fix / Test/CI] Preserve self-registering sandbox host metadata and disconnect cleanup ([#10322](https://github.com/omnigent-ai/omnigent/pull/10322), [@dbczumar](https://github.com/dbczumar))
- [Bug fix] fix(claude-native): dismiss task details panels that close on "Esc/Enter/Space" ([#10327](https://github.com/omnigent-ai/omnigent/pull/10327), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(claude-native): retry throttled history pages before resuming Claude ([#10329](https://github.com/omnigent-ai/omnigent/pull/10329), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runner): wait for a pending host sign-in before failing the launch ([#10333](https://github.com/omnigent-ai/omnigent/pull/10333), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Docs / Test/CI] The installer now includes Databricks workspace-login dependencies by default; use `--no-databricks` to opt out. ([#10334](https://github.com/omnigent-ai/omnigent/pull/10334), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix] fix(cli): retry transient local readiness transport errors ([#10343](https://github.com/omnigent-ai/omnigent/pull/10343), [@yaoharry](https://github.com/yaoharry))
- [UI / Feature] Export desktop sign-in diagnostics from the Server menu without enabling Developer Mode. ([#10348](https://github.com/omnigent-ai/omnigent/pull/10348), [@fanzeyi](https://github.com/fanzeyi))
- [Bug fix] fix(runner): scope terminal liveness cache to its instance ([#10351](https://github.com/omnigent-ai/omnigent/pull/10351), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runner): preserve replacement backends during Codex teardown ([#10354](https://github.com/omnigent-ai/omnigent/pull/10354), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(server,runner): don't fail sessions of a runner that shut down idle ([#10358](https://github.com/omnigent-ai/omnigent/pull/10358), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(android): default the Databricks OAuth client ID to omnigent ([#10360](https://github.com/omnigent-ai/omnigent/pull/10360), [@fanzeyi](https://github.com/fanzeyi))
- [Bug fix] fix(debug-logging): attribute client rows to their workspace from startup ([#10366](https://github.com/omnigent-ai/omnigent/pull/10366), [@Edwinhe03](https://github.com/Edwinhe03))
- [Test/CI] fix(polly): bound PR scope by the linked issue ([#10374](https://github.com/omnigent-ai/omnigent/pull/10374), [@serena-ruan](https://github.com/serena-ruan))
- chore(deps): bump the python-security group across 1 directory with 8 updates ([#10382](https://github.com/omnigent-ai/omnigent/pull/10382), [@dependabot[bot]](https://github.com/apps/dependabot))
- [UI / Bug fix / Docs] Side chats now open the slash-command menu, run typed `/skills`, answer `/help` locally, and keep the skill receipt visible in the transcript ([#10384](https://github.com/omnigent-ai/omnigent/pull/10384), [@jsonmp-k8](https://github.com/jsonmp-k8))
- chore(deps): bump actions/checkout from 5.0.0 to 7.0.1 ([#10387](https://github.com/omnigent-ai/omnigent/pull/10387), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump actions/cache in /.github/actions/e2e-run ([#10392](https://github.com/omnigent-ai/omnigent/pull/10392), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump pnpm/action-setup in /.github/actions/setup-pnpm ([#10395](https://github.com/omnigent-ai/omnigent/pull/10395), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump shadcn ([#10398](https://github.com/omnigent-ai/omnigent/pull/10398), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump react-hook-form from 7.82.0 to 7.89.0 ([#10399](https://github.com/omnigent-ai/omnigent/pull/10399), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump radix-ui from 1.6.3 to 1.7.0 ([#10400](https://github.com/omnigent-ai/omnigent/pull/10400), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Bug fix] fix(resolve): forward the Linear key when launching a ticket-only run ([#10402](https://github.com/omnigent-ai/omnigent/pull/10402), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix] fix(pi-native): fix two native Pi resume failures (bound picker IDs, tool-result adjacency) ([#10405](https://github.com/omnigent-ai/omnigent/pull/10405), [@Edwinhe03](https://github.com/Edwinhe03))
- [Bug fix] fix(server): settle relay-bound sessions of an idle-shut-down runner at disconnect ([#10408](https://github.com/omnigent-ai/omnigent/pull/10408), [@yaoharry](https://github.com/yaoharry))
- [Feature] feat(server): let a replica hand a runner's tunnel to another replica ([#10409](https://github.com/omnigent-ai/omnigent/pull/10409), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test: preserve explicitly advertised Codex service routes ([#10414](https://github.com/omnigent-ai/omnigent/pull/10414), [@yaoharry](https://github.com/yaoharry))
- [Docs / Chore] chore: relay native startup cause context to server logs ([#10417](https://github.com/omnigent-ai/omnigent/pull/10417), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Docs] fix(codex-native): diagnose unavailable bridge state without decode crashes ([#10419](https://github.com/omnigent-ai/omnigent/pull/10419), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(server): initialize connected native sessions before first input ([#10420](https://github.com/omnigent-ai/omnigent/pull/10420), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test(desktop): stop session-expiry recording on teardown ([#10422](https://github.com/omnigent-ai/omnigent/pull/10422), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix / Docs / Chore / Test/CI] fix(ci): unblock automatic merges of individual Dependabot updates ([#10423](https://github.com/omnigent-ai/omnigent/pull/10423), [@PattaraS](https://github.com/PattaraS))
- [UI / Feature] feat(ui): edit custom agents from Settings ([#10426](https://github.com/omnigent-ai/omnigent/pull/10426), [@hzub](https://github.com/hzub))
- [UI / Bug fix] "Run on Arca" now opens sign-in automatically when your Arca instance isn't signed in, instead of asking you to click "Sign in and retry" ([#10428](https://github.com/omnigent-ai/omnigent/pull/10428), [@zhengwin](https://github.com/zhengwin))
- [UI / Bug fix / Feature] fix(web): stabilize Status grouping and simplify sidebar labels ([#10433](https://github.com/omnigent-ai/omnigent/pull/10433), [@hzub](https://github.com/hzub))
- chore(deps): bump toml from 0.8.23 to 1.1.8+spec-1.1.0 in /dev/omnidev ([#10435](https://github.com/omnigent-ai/omnigent/pull/10435), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump anyhow from 1.0.103 to 1.0.104 in /dev/omnidev ([#10436](https://github.com/omnigent-ai/omnigent/pull/10436), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Chore / Test/CI] chore(deps): bump pytest-playwright from 0.8.0 to 0.10.0 ([#10442](https://github.com/omnigent-ai/omnigent/pull/10442), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump openshell from 0.0.89 to 0.1.2 ([#10445](https://github.com/omnigent-ai/omnigent/pull/10445), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump anyhow in /tests/codex_parity/sidecar ([#10449](https://github.com/omnigent-ai/omnigent/pull/10449), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump @testing-library/react from 16.3.2 to 16.3.3 ([#10450](https://github.com/omnigent-ai/omnigent/pull/10450), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump electron from 42.7.0 to 42.11.12 ([#10457](https://github.com/omnigent-ai/omnigent/pull/10457), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Chore] chore(harnesses): retire the harness_settings_ui release feature ([#10459](https://github.com/omnigent-ai/omnigent/pull/10459), [@hzub](https://github.com/hzub))
- [Bug fix / Chore] Revert premature native agy gateway merge (#7636) ([#10460](https://github.com/omnigent-ai/omnigent/pull/10460), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] Preserve prepared repro agent in worktrees ([#10462](https://github.com/omnigent-ai/omnigent/pull/10462), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Bug fix] fix(web): label the Automations create button "New automation" ([#10464](https://github.com/omnigent-ai/omnigent/pull/10464), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix] fix(web): keep the Select panel tooltip closed after a mouse pick ([#10466](https://github.com/omnigent-ai/omnigent/pull/10466), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Chore / Test/CI] chore(deps): consolidate cache action upgrades to v6.1.0 ([#10468](https://github.com/omnigent-ai/omnigent/pull/10468), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix / Docs] fix(ui): align custom agents table and edit configurations inline ([#10487](https://github.com/omnigent-ai/omnigent/pull/10487), [@hzub](https://github.com/hzub))
- [Docs] docs(claude-native): correct the policy hook's shutdown-order note ([#10501](https://github.com/omnigent-ai/omnigent/pull/10501), [@fabriciodelocco](https://github.com/fabriciodelocco))
- [Bug fix] fix(server): keep a runner exit's cause in the stored session error ([#10504](https://github.com/omnigent-ai/omnigent/pull/10504), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [UI / Bug fix] A Codex session whose turns keep failing while compacting on its previous model now explains why and offers a fork that continues on the selected model; spent-budget error cards are gray instead of red ([#10505](https://github.com/omnigent-ai/omnigent/pull/10505), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [Bug fix] Active sessions no longer disconnect because the server's system clock is corrected. ([#10515](https://github.com/omnigent-ai/omnigent/pull/10515), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] Sessions keep updating when other transcript streams on the same runner are retrying. ([#10518](https://github.com/omnigent-ai/omnigent/pull/10518), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runner): keep closed preview tunnels on the HTTP error path ([#10520](https://github.com/omnigent-ai/omnigent/pull/10520), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] A Codex turn that hits a rate limit no longer asks you to run `codex login`. ([#10524](https://github.com/omnigent-ai/omnigent/pull/10524), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] Resumed Codex sessions no longer fail on Kimi models after parallel tool calls. ([#10526](https://github.com/omnigent-ai/omnigent/pull/10526), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] An MCP server's certificate problem no longer fails Codex turns as a model connection error. ([#10530](https://github.com/omnigent-ai/omnigent/pull/10530), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] fix(ui): show a launching sandbox in the composer host chip ([#10531](https://github.com/omnigent-ai/omnigent/pull/10531), [@dbczumar](https://github.com/dbczumar))
- [Bug fix / Test/CI] Codex sessions created with `/new` keep working across terminal relaunches, model changes, and side-chat requests. ([#10535](https://github.com/omnigent-ai/omnigent/pull/10535), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runner): keep a busy-pane Claude model switch queued when the turn settles mid-wait ([#10541](https://github.com/omnigent-ai/omnigent/pull/10541), [@yaoharry](https://github.com/yaoharry))
- [Docs / Chore / Test/CI] chore(logging): retain structured native provider failure facts ([#10542](https://github.com/omnigent-ai/omnigent/pull/10542), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] fix(web): blur the backdrop behind the slash and file-mention menus in dark mode ([#10546](https://github.com/omnigent-ai/omnigent/pull/10546), [@jsonmp-k8](https://github.com/jsonmp-k8))
- [Chore / Test/CI] test: preserve parallel workers and wait for signer readiness ([#10555](https://github.com/omnigent-ai/omnigent/pull/10555), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] A Claude Code approval that was waiting when your machine lost its network now reappears on the web once the connection returns. ([#10564](https://github.com/omnigent-ai/omnigent/pull/10564), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(server): end the tunnel as a peer close when a send loses the race ([#10568](https://github.com/omnigent-ai/omnigent/pull/10568), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(server): cancel a deleted session's runner relays ([#10573](https://github.com/omnigent-ai/omnigent/pull/10573), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(claude-native): preserve bridge updates across concurrent writers ([#10574](https://github.com/omnigent-ai/omnigent/pull/10574), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(server): count a disconnect as a failure only when the turn is lost ([#10579](https://github.com/omnigent-ai/omnigent/pull/10579), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(claude-native): preserve poller resync across concurrent ticks ([#10588](https://github.com/omnigent-ai/omnigent/pull/10588), [@fanzeyi](https://github.com/fanzeyi))
- [Test/CI] test(e2e_ui): make terminal reconnect test deterministic ([#10591](https://github.com/omnigent-ai/omnigent/pull/10591), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test(e2e_ui): keep the recorded journey filming until its screencast has frames ([#10595](https://github.com/omnigent-ai/omnigent/pull/10595), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Docs] fix(server): don't fail a session from its previous runner's leftover relay ([#10617](https://github.com/omnigent-ai/omnigent/pull/10617), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(harness): don't start a turn for a mid-turn steer that missed its turn ([#10618](https://github.com/omnigent-ai/omnigent/pull/10618), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test(native): make six native-harness unit tests survive slow CI runners ([#10626](https://github.com/omnigent-ai/omnigent/pull/10626), [@yaoharry](https://github.com/yaoharry))
- Pin reasoning_effort high on CI agents that left it unset ([#10627](https://github.com/omnigent-ai/omnigent/pull/10627), [@dbczumar](https://github.com/dbczumar))
- [Test/CI] test(server): wait for the tunnel ping evidence and scale raw hang guards ([#10640](https://github.com/omnigent-ai/omnigent/pull/10640), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Test/CI] fix(proc): keep process-tree identity stable across wall-clock steps ([#10641](https://github.com/omnigent-ai/omnigent/pull/10641), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Test/CI] fix(benchmarks): re-send a SIGTERM cancel that httpx swallowed ([#10642](https://github.com/omnigent-ai/omnigent/pull/10642), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test(inner): replace faulthandler stack watchdog that segfaults xdist workers ([#10645](https://github.com/omnigent-ai/omnigent/pull/10645), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test(codex): give the fake app-server process a pid no real process can hold ([#10648](https://github.com/omnigent-ai/omnigent/pull/10648), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] A web message sent while the session's host is offline now waits and sends when the host reconnects, instead of failing. ([#10666](https://github.com/omnigent-ai/omnigent/pull/10666), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(codex-native): launch on the default when the spec pins the same unlisted model ([#10669](https://github.com/omnigent-ai/omnigent/pull/10669), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] A message you send while Claude Code is asking you a question or for permission now waits for your answer and is then delivered, instead of failing. ([#10671](https://github.com/omnigent-ai/omnigent/pull/10671), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(pi-native): post a re-routed model pick as a notice, not an error ([#10675](https://github.com/omnigent-ai/omnigent/pull/10675), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] Claude hook refusals stop automatic submit retries while preserving unconfirmed message delivery. ([#10683](https://github.com/omnigent-ai/omnigent/pull/10683), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] Sending a message while Claude Code shows a settings-error or folder-trust dialog no longer closes Claude Code; the dialog stays up for you to answer. ([#10692](https://github.com/omnigent-ai/omnigent/pull/10692), [@yaoharry](https://github.com/yaoharry))
- [UI / Chore] chore(web): upgrade TipTap to 3.31.4 ([#10698](https://github.com/omnigent-ai/omnigent/pull/10698), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix] fix(web): refresh managed session shells after provisioning ([#10705](https://github.com/omnigent-ai/omnigent/pull/10705), [@dbczumar](https://github.com/dbczumar))
- [UI / Bug fix] fix(ui): keep the terminal on "Starting up" while a sandbox launches ([#10706](https://github.com/omnigent-ai/omnigent/pull/10706), [@dbczumar](https://github.com/dbczumar))
- chore(deps): bump mcp from 1.28.1 to 1.30.0 ([#10708](https://github.com/omnigent-ai/omnigent/pull/10708), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump claude-agent-sdk from 0.2.94 to 0.2.121 ([#10709](https://github.com/omnigent-ai/omnigent/pull/10709), [@dependabot[bot]](https://github.com/apps/dependabot))
- [UI / Bug fix] fix(ui): keep a CLI session's first message through a long sandbox launch ([#10710](https://github.com/omnigent-ai/omnigent/pull/10710), [@dbczumar](https://github.com/dbczumar))
- [Chore / Test/CI] chore(deps): bundle remaining cache and pnpm action upgrades ([#10711](https://github.com/omnigent-ai/omnigent/pull/10711), [@PattaraS](https://github.com/PattaraS))
- [Chore] chore(deps): bundle omnidev ignore and libc patches ([#10712](https://github.com/omnigent-ai/omnigent/pull/10712), [@PattaraS](https://github.com/PattaraS))
- [Chore] chore(deps): bundle web icons and telemetry updates ([#10713](https://github.com/omnigent-ai/omnigent/pull/10713), [@PattaraS](https://github.com/PattaraS))
- [Chore / Test/CI] chore(deps): bundle aligned Storybook, Vitest and esbuild updates ([#10714](https://github.com/omnigent-ai/omnigent/pull/10714), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix / Test/CI] File viewers avoid duplicate rendering and preserve unsaved edits and comment drafts when resizing between desktop and mobile. ([#10715](https://github.com/omnigent-ai/omnigent/pull/10715), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix] Markdown files with many code blocks open with fewer repeated browser layouts. ([#10723](https://github.com/omnigent-ai/omnigent/pull/10723), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test: reap resumption daemons before later CLI tests ([#10724](https://github.com/omnigent-ai/omnigent/pull/10724), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test: bind telemetry session to its own host daemon ([#10725](https://github.com/omnigent-ai/omnigent/pull/10725), [@PattaraS](https://github.com/PattaraS))
- [Docs / Test/CI] test(web): define a repeatable Markdown editor CUJ ([#10729](https://github.com/omnigent-ai/omnigent/pull/10729), [@PattaraS](https://github.com/PattaraS))
- fix(claude-native): keep a held permission prompt alive across a lapsed login ([#10730](https://github.com/omnigent-ai/omnigent/pull/10730), [@dbczumar](https://github.com/dbczumar))
- [UI / Feature] feat(ui): warn when a host's dbcert expires and refresh it in one click ([#10731](https://github.com/omnigent-ai/omnigent/pull/10731), [@dbczumar](https://github.com/dbczumar))
- chore(ci): upgrade Claude Code CLI pin to 2.1.283 ([#10732](https://github.com/omnigent-ai/omnigent/pull/10732), [@dbczumar](https://github.com/dbczumar))
- fix(ui): give back a message whose send a reload cut off ([#10735](https://github.com/omnigent-ai/omnigent/pull/10735), [@dbczumar](https://github.com/dbczumar))
- [Bug fix / Test/CI] Codex subagents show live work, and native child mirrors no longer offer terminals they do not own. ([#10736](https://github.com/omnigent-ai/omnigent/pull/10736), [@dbczumar](https://github.com/dbczumar))
- [Docs / Test/CI] docs: standardize SDK and native harness acceptance checklist ([#10737](https://github.com/omnigent-ai/omnigent/pull/10737), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] fix(dev): keep the Linear key off the runner under CI's credential proxy ([#10738](https://github.com/omnigent-ai/omnigent/pull/10738), [@serena-ruan](https://github.com/serena-ruan))
- [Docs] docs(feature-agent): upload demo clips with gh pr comment --attach ([#10741](https://github.com/omnigent-ai/omnigent/pull/10741), [@serena-ruan](https://github.com/serena-ruan))
- [Test/CI] test: share hermetic provider resolution across model-resolution tests ([#10742](https://github.com/omnigent-ai/omnigent/pull/10742), [@PattaraS](https://github.com/PattaraS))
- [Chore / Test/CI] test: share the resilience lab's port reservation as reserve_port ([#10743](https://github.com/omnigent-ai/omnigent/pull/10743), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix] Markdown table row/column controls and "Delete table" work in managed Omnigent ([#10747](https://github.com/omnigent-ai/omnigent/pull/10747), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Bug fix] Devin/omni 12227 queued prompt reordering doesnt work on iphone ([#10748](https://github.com/omnigent-ai/omnigent/pull/10748), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Bug fix] Large Markdown files with task lists and tables open faster in the rich-text editor. ([#10751](https://github.com/omnigent-ai/omnigent/pull/10751), [@PattaraS](https://github.com/PattaraS))
- [Bug fix / Docs / Test/CI] test: reject managed routing in Claude mock journeys ([#10753](https://github.com/omnigent-ai/omnigent/pull/10753), [@PattaraS](https://github.com/PattaraS))
- [Chore] chore(deps): bundle Serde patches for Rust tooling ([#10754](https://github.com/omnigent-ai/omnigent/pull/10754), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] fix(runner): keep harness connections alive longer than the runner's client ([#10756](https://github.com/omnigent-ai/omnigent/pull/10756), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test(e2e): pick a free port for the newer-build database rejection check ([#10759](https://github.com/omnigent-ai/omnigent/pull/10759), [@PattaraS](https://github.com/PattaraS))
- [Bug fix / Chore / Test/CI] ci: scope dependency tests across all configured ecosystems ([#10760](https://github.com/omnigent-ai/omnigent/pull/10760), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] ci: allow 25 minutes for Browser Contract UI ([#10761](https://github.com/omnigent-ai/omnigent/pull/10761), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix] Markdown files with very long lines open without crashing during heading detection. ([#10762](https://github.com/omnigent-ai/omnigent/pull/10762), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test(browser): wait for Markdown selection before editing ([#10767](https://github.com/omnigent-ai/omnigent/pull/10767), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test(web): strengthen Markdown heading compatibility checks ([#10769](https://github.com/omnigent-ai/omnigent/pull/10769), [@PattaraS](https://github.com/PattaraS))
- [Bug fix / Docs / Test/CI] fix(skills): keep Codex plugin skills when inventory fails ([#10771](https://github.com/omnigent-ai/omnigent/pull/10771), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix] Typing in large Markdown files is more responsive by deferring full-document conversion until saving. ([#10772](https://github.com/omnigent-ai/omnigent/pull/10772), [@PattaraS](https://github.com/PattaraS))
- [Docs / Chore] refactor(config): add scoped preference resolution foundation ([#10773](https://github.com/omnigent-ai/omnigent/pull/10773), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test(resilience): retire lab connections before server idle timeout ([#10774](https://github.com/omnigent-ai/omnigent/pull/10774), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix] Fix pull request diff errors and add refresh recovery ([#10775](https://github.com/omnigent-ai/omnigent/pull/10775), [@hzub](https://github.com/hzub))
- [Bug fix] fix(runner): keep a Claude model switch that landed before its budget lapsed ([#10777](https://github.com/omnigent-ai/omnigent/pull/10777), [@yaoharry](https://github.com/yaoharry))
- [Chore] chore(deps): bundle compatible Android toolchain updates ([#10779](https://github.com/omnigent-ai/omnigent/pull/10779), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix] perf(web): defer code-block language options until interaction ([#10783](https://github.com/omnigent-ai/omnigent/pull/10783), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test(claude): wait for recorded hook refusal before checking retries ([#10785](https://github.com/omnigent-ai/omnigent/pull/10785), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] fix(claude-native): respawn the harness when a relaunch moves the session's bridge ([#10793](https://github.com/omnigent-ai/omnigent/pull/10793), [@yaoharry](https://github.com/yaoharry))
- chore(deps): bump fastlane from 2.240.1 to 2.241.0 in /web/ios ([#10795](https://github.com/omnigent-ai/omnigent/pull/10795), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump actions/create-github-app-token from 3.2.0 to 3.3.0 ([#10796](https://github.com/omnigent-ai/omnigent/pull/10796), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump docker/login-action from 4.2.0 to 4.6.0 ([#10797](https://github.com/omnigent-ai/omnigent/pull/10797), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump actions/download-artifact from 8.0.1 to 8.0.2 ([#10798](https://github.com/omnigent-ai/omnigent/pull/10798), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump imjasonh/setup-crane from 0.6 to 0.7 ([#10799](https://github.com/omnigent-ai/omnigent/pull/10799), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump actions/stale from 10.3.0 to 11.0.0 ([#10800](https://github.com/omnigent-ai/omnigent/pull/10800), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump docker/setup-qemu-action from 4.1.0 to 4.4.0 ([#10801](https://github.com/omnigent-ai/omnigent/pull/10801), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump actions/upload-artifact from 4.6.2 to 7.0.2 ([#10802](https://github.com/omnigent-ai/omnigent/pull/10802), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump click from 8.4.1 to 8.5.0 ([#10803](https://github.com/omnigent-ai/omnigent/pull/10803), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump astral-sh/setup-uv from 10.1.0 to 10.3.0 ([#10804](https://github.com/omnigent-ai/omnigent/pull/10804), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump docker/build-push-action from 7.2.0 to 7.4.0 ([#10806](https://github.com/omnigent-ai/omnigent/pull/10806), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump @testing-library/user-event from 14.6.5 to 14.6.7 ([#10807](https://github.com/omnigent-ai/omnigent/pull/10807), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump serde_json from 1.0.150 to 1.0.154 in /dev/omnidev ([#10808](https://github.com/omnigent-ai/omnigent/pull/10808), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump tokio from 1.52.3 to 1.53.2 in /dev/omnidev ([#10809](https://github.com/omnigent-ai/omnigent/pull/10809), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump clap from 4.6.1 to 4.6.7 in /dev/omnidev ([#10810](https://github.com/omnigent-ai/omnigent/pull/10810), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump tokio in /tests/codex_parity/sidecar ([#10813](https://github.com/omnigent-ai/omnigent/pull/10813), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump serde_json in /tests/codex_parity/sidecar ([#10814](https://github.com/omnigent-ai/omnigent/pull/10814), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump @tanstack/react-virtual from 3.14.10 to 3.14.17 ([#10815](https://github.com/omnigent-ai/omnigent/pull/10815), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump nanoid from 6.0.0 to 6.0.2 ([#10816](https://github.com/omnigent-ai/omnigent/pull/10816), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump react-router-dom from 7.18.2 to 7.18.4 ([#10817](https://github.com/omnigent-ai/omnigent/pull/10817), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump pdfjs-dist from 4.8.69 to 4.10.38 ([#10819](https://github.com/omnigent-ai/omnigent/pull/10819), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump postcss from 8.5.23 to 8.5.29 ([#10820](https://github.com/omnigent-ai/omnigent/pull/10820), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump antd from 6.5.1 to 6.6.6 ([#10821](https://github.com/omnigent-ai/omnigent/pull/10821), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Bug fix] `omnigent sandbox create --provider openshell` works with the openshell 0.1 SDK, which the `openshell` extra now requires ([#10822](https://github.com/omnigent-ai/omnigent/pull/10822), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test(claude): wait for native identity before refusal submission ([#10823](https://github.com/omnigent-ai/omnigent/pull/10823), [@PattaraS](https://github.com/PattaraS))
- chore(deps): bump filelock from 3.29.1 to 4.1.1 ([#10825](https://github.com/omnigent-ai/omnigent/pull/10825), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Bug fix] fix(os-env): do not resend a request that may already have run on a dead helper ([#10827](https://github.com/omnigent-ai/omnigent/pull/10827), [@PattaraS](https://github.com/PattaraS))
- [Test/CI] test(web): exclude assertion snapshots from markdown load timings ([#10828](https://github.com/omnigent-ai/omnigent/pull/10828), [@PattaraS](https://github.com/PattaraS))
- chore(deps): bump actions/upload-artifact ([#10830](https://github.com/omnigent-ai/omnigent/pull/10830), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump actions/upload-artifact ([#10831](https://github.com/omnigent-ai/omnigent/pull/10831), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump actions/upload-artifact in /.github/actions/e2e-run ([#10832](https://github.com/omnigent-ai/omnigent/pull/10832), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Chore / Test/CI] test: replace local copies of find_free_port with the shared helper ([#10833](https://github.com/omnigent-ai/omnigent/pull/10833), [@PattaraS](https://github.com/PattaraS))
- chore(deps): bump actions/upload-artifact ([#10834](https://github.com/omnigent-ai/omnigent/pull/10834), [@dependabot[bot]](https://github.com/apps/dependabot))
- [Chore / Test/CI] test(e2e-ui): share one poll helper instead of 23 identical copies ([#10836](https://github.com/omnigent-ai/omnigent/pull/10836), [@PattaraS](https://github.com/PattaraS))
- [UI / Chore] perf(web): cache TipTap renderer registry snapshots ([#10838](https://github.com/omnigent-ai/omnigent/pull/10838), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix] fix(ui): show asleep sandboxes as asleep and stop retrying their panels ([#10841](https://github.com/omnigent-ai/omnigent/pull/10841), [@dbczumar](https://github.com/dbczumar))
- [Bug fix] Managed sandbox start failures no longer show the host's launch token in the error message or the server log ([#10846](https://github.com/omnigent-ai/omnigent/pull/10846), [@dhruv0811](https://github.com/dhruv0811))
- [UI / Bug fix / Breaking] Tightened permission and validation checks on sessions and runners. Breaking: changing a session's permission/approval mode or terminal launch arguments, transferring terminals, and posting external transcript or native mode-change events now require session ownership (or the session's bound runner for events), and native approval hooks require edit access; project `.omnigent/config.yaml` can no longer set `server` or per-harness `command`/`args` (move them to `~/.omnigent/config.yaml`); and the CLI no longer imports tool or policy callables from the working directory — install them as packages in both the CLI and server environments. ([#10850](https://github.com/omnigent-ai/omnigent/pull/10850), [@aravind-segu](https://github.com/aravind-segu))
- [Bug fix] fix(claude-native): keep a failed turn's API error when the next turn opens first ([#10853](https://github.com/omnigent-ai/omnigent/pull/10853), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] fix(ui): say a stopped sandbox is offline, not that the agent is asleep ([#10859](https://github.com/omnigent-ai/omnigent/pull/10859), [@dbczumar](https://github.com/dbczumar))
- [UI / Feature] Choose which Workspace pages stay pinned in Settings → Appearance, and open the rest from the `+` menu. ([#10864](https://github.com/omnigent-ai/omnigent/pull/10864), [@dhruv0811](https://github.com/dhruv0811))
- [Test/CI] fix(ci): accept mixed test assessments in Polly summaries ([#10871](https://github.com/omnigent-ai/omnigent/pull/10871), [@fanzeyi](https://github.com/fanzeyi))
- [Bug fix] fix(web): pin pdfjs-dist to the version react-pdf runs ([#10875](https://github.com/omnigent-ai/omnigent/pull/10875), [@aravind-segu](https://github.com/aravind-segu))
- chore(deps): bump anchore/sbom-action/download-syft ([#10877](https://github.com/omnigent-ai/omnigent/pull/10877), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump react-hook-form from 7.89.0 to 7.90.0 ([#10881](https://github.com/omnigent-ai/omnigent/pull/10881), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump tiktoken from 0.13.0 to 0.14.0 ([#10882](https://github.com/omnigent-ai/omnigent/pull/10882), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump blaxel from 0.4.1 to 0.4.13 ([#10885](https://github.com/omnigent-ai/omnigent/pull/10885), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump ai from 6.0.230 to 6.0.304 ([#10888](https://github.com/omnigent-ai/omnigent/pull/10888), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump gradle/actions/setup-gradle ([#10891](https://github.com/omnigent-ai/omnigent/pull/10891), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump docker/setup-buildx-action from 4.1.0 to 4.4.1 ([#10892](https://github.com/omnigent-ai/omnigent/pull/10892), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump ossf/scorecard-action from 2.4.3 to 2.5.0 ([#10893](https://github.com/omnigent-ai/omnigent/pull/10893), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump actions/setup-python ([#10897](https://github.com/omnigent-ai/omnigent/pull/10897), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump actions/setup-python ([#10898](https://github.com/omnigent-ai/omnigent/pull/10898), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump actions/setup-python in /.github/actions/e2e-run ([#10899](https://github.com/omnigent-ai/omnigent/pull/10899), [@dependabot[bot]](https://github.com/apps/dependabot))
- chore(deps): bump actions/setup-python ([#10900](https://github.com/omnigent-ai/omnigent/pull/10900), [@dependabot[bot]](https://github.com/apps/dependabot))
- [UI / Bug fix] Markdown files above 1 MiB open as editable source to avoid long rich-rendering stalls; truncated files remain read-only. ([#10917](https://github.com/omnigent-ai/omnigent/pull/10917), [@PattaraS](https://github.com/PattaraS))
- [Chore] chore(electron): bump desktop app version to 0.18.0 ([#10918](https://github.com/omnigent-ai/omnigent/pull/10918), [@bbqiu](https://github.com/bbqiu))
- [Bug fix / Test/CI] fix(benchmarks): stop each cold-start runner before the next sample ([#10943](https://github.com/omnigent-ai/omnigent/pull/10943), [@aravind-segu](https://github.com/aravind-segu))

## [v0.18.0] — 2026-10-13

- [Feature] New `web_read` builtin reads a single URL's full content as clean markdown through a pluggable backend (Jina / Nimble / Firecrawl), rendering JavaScript so client-side pages return real text where a plain fetch returns an empty page. ([#4490](https://github.com/omnigent-ai/omnigent/pull/4490), [@Tagar](https://github.com/Tagar))
- [Bug fix / Breaking] Python client `list_items()` and `child_sessions()` now return a `PaginatedList` with `has_more`, `first_id`, and `last_id` so callers can detect truncation and page through results ([#5629](https://github.com/omnigent-ai/omnigent/pull/5629), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Native startup and policy evaluation now retry temporary HTTP 429 responses before surfacing or failing closed. ([#5655](https://github.com/omnigent-ai/omnigent/pull/5655), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [Bug fix] A terminal transfer that collides with an existing terminal on the target session now reports a 409 conflict instead of a 400 invalid-input error. ([#6282](https://github.com/omnigent-ai/omnigent/pull/6282), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(hosts): fast, actionable rejection when a host is too old for harness-setup frames ([#6356](https://github.com/omnigent-ai/omnigent/pull/6356), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Forking or resuming a Pi session after a turn with parallel tool calls no longer fails with an Anthropic `400 unexpected tool_use_id` error. ([#6486](https://github.com/omnigent-ai/omnigent/pull/6486), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] fix(runner): keep deny-capable tool policies from vetoing session init via the sys_agent_start probe ([#6609](https://github.com/omnigent-ai/omnigent/pull/6609), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix / Test/CI] A backing-service permission denial now returns a clear 403 naming the denied resource instead of a generic internal error. ([#6831](https://github.com/omnigent-ai/omnigent/pull/6831), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Docs / Test/CI] N/A — test reliability and audit documentation only. ([#6993](https://github.com/omnigent-ai/omnigent/pull/6993), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Test/CI] Native Claude resumes now use the recorded session workspace for project configuration and return clear recovery guidance when that workspace is missing. ([#7611](https://github.com/omnigent-ai/omnigent/pull/7611), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [Bug fix] Native Claude and Codex turns recover attachments after transient file-read failures. ([#7681](https://github.com/omnigent-ai/omnigent/pull/7681), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] fix(android): recover from main-frame HTTP errors ([#7842](https://github.com/omnigent-ai/omnigent/pull/7842), [@btli](https://github.com/btli))
- [Test/CI] test(runner): keep the PR-registry concurrency test off the production lock budget ([#7893](https://github.com/omnigent-ai/omnigent/pull/7893), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] fix(tests): deflake host-daemon lifecycle and runner-env e2e tests ([#7911](https://github.com/omnigent-ai/omnigent/pull/7911), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] Cancel obsolete changed-files requests when switching sessions ([#7923](https://github.com/omnigent-ai/omnigent/pull/7923), [@craiuconstantintiberiu](https://github.com/craiuconstantintiberiu))
- [Bug fix] fix(server): skip unchanged effort forwards ([#8088](https://github.com/omnigent-ai/omnigent/pull/8088), [@arthivjkumar](https://github.com/arthivjkumar))
- [Bug fix] Native terminals no longer fail to start with "Could not fetch Codex launch config" when the server is under load ([#8150](https://github.com/omnigent-ai/omnigent/pull/8150), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] Turns that fail because a session outgrew the server's request size limit now surface as a recoverable context-window overflow, instead of showing a raw BAD_REQUEST error. ([#8181](https://github.com/omnigent-ai/omnigent/pull/8181), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Claude Code sub-agent transcripts no longer drop when the server needs more than 10s to store a large batch ([#8237](https://github.com/omnigent-ai/omnigent/pull/8237), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] “Fork from here” now works on side-chat replies and promotes the fork to a visible session. ([#8352](https://github.com/omnigent-ai/omnigent/pull/8352), [@btli](https://github.com/btli))
- [Bug fix] Pi turns now wait for pi to settle, so a provider error that pi retries on its own no longer fails the turn or bleeds into the next one. ([#8388](https://github.com/omnigent-ai/omnigent/pull/8388), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix] Hovering a file near the bottom of the Files panel no longer makes the list jump or adds a horizontal scrollbar, and the path tooltip shows up at the pointer again, flipping above or to the left near the window edges instead of being clipped, and wrapping very long paths inside the tooltip. ([#8395](https://github.com/omnigent-ai/omnigent/pull/8395), [@btli](https://github.com/btli))
- fix(tools): return sys_os_* results as plain UTF-8, not \u-escaped ([#8400](https://github.com/omnigent-ai/omnigent/pull/8400), [@fdoooch](https://github.com/fdoooch))
- [UI / Bug fix / Test/CI] New managed sessions reliably show replies after sandbox startup without requiring a reload or resend. ([#8488](https://github.com/omnigent-ai/omnigent/pull/8488), [@dbczumar](https://github.com/dbczumar))
- [UI / Feature] Copying an agent's reply now keeps its formatting when you paste it into Slack, Google Docs or another ([#8512](https://github.com/omnigent-ai/omnigent/pull/8512), [@jsonmp-k8](https://github.com/jsonmp-k8))
- [UI / Feature] Users can now import up to 1000 sessions at once (increased from 100) via web UI and CLI ([#8517](https://github.com/omnigent-ai/omnigent/pull/8517), [@terrytangyuan](https://github.com/terrytangyuan))
- [Bug fix] Session creation no longer fails at a fixed 30 seconds when a host's launch does slow set-up (building a container sandbox, pulling an image, starting an app); set `OMNIGENT_HOST_LAUNCH_TIMEOUT_S` to allow longer. ([#8520](https://github.com/omnigent-ai/omnigent/pull/8520), [@jsonmp-k8](https://github.com/jsonmp-k8))
- [Bug fix] The sign-in link offered while `isaac codex` waits for OAuth now opens the authorize page instead of the workspace home page. ([#8571](https://github.com/omnigent-ai/omnigent/pull/8571), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] `omnigent host stop --server <url>` now stops the same daemon `omnigent host` reports as already running, and reports foreign-owned daemons truthfully. ([#8589](https://github.com/omnigent-ai/omnigent/pull/8589), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] `openai-agents` agents with Databricks auth work on native Windows ([#8657](https://github.com/omnigent-ai/omnigent/pull/8657), [@GirishS2093](https://github.com/GirishS2093))
- [Bug fix] A lost end-of-turn policy verdict no longer leaves a session "running" for hours ([#8665](https://github.com/omnigent-ai/omnigent/pull/8665), [@GirishS2093](https://github.com/GirishS2093))
- [UI / Feature] `omnigent agent add` installs a custom agent once so it stays in your new-session picker on every host; `omnigent agent list` and `omnigent agent remove` manage them. Servers running several replicas should upgrade them all together. ([#8677](https://github.com/omnigent-ai/omnigent/pull/8677), [@dhruv0811](https://github.com/dhruv0811))
- [UI / Feature] Install an agent bundle from the composer's Create custom agent dialog with Import bundle ([#8680](https://github.com/omnigent-ai/omnigent/pull/8680), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix] fix(codex): start a fresh thread when the resume lineage is not paginated ([#8698](https://github.com/omnigent-ai/omnigent/pull/8698), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(harness): read error_details for StopFailure and warn when absent ([#8700](https://github.com/omnigent-ai/omnigent/pull/8700), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runner): tolerate a deleted runner cwd when loading project config ([#8703](https://github.com/omnigent-ai/omnigent/pull/8703), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runner): guard ACP executor against deleted working directory ([#8704](https://github.com/omnigent-ai/omnigent/pull/8704), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runner): diagnose native terminal exit-at-spawn for all runtimes, not just Codex ([#8727](https://github.com/omnigent-ai/omnigent/pull/8727), [@yaoharry](https://github.com/yaoharry))
- [Feature] feat(sessions): forks share the agent row; cross-user forks copy it ([#8796](https://github.com/omnigent-ai/omnigent/pull/8796), [@dhruv0811](https://github.com/dhruv0811))
- [UI / Docs] Databricks AI Gateway is now shown as Databricks Unity Gateway throughout Omnigent. ([#8812](https://github.com/omnigent-ai/omnigent/pull/8812), [@zhengwin](https://github.com/zhengwin))
- [UI / Bug fix] The side-chat input now grows as you type longer messages. ([#8813](https://github.com/omnigent-ai/omnigent/pull/8813), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] Chat links to files whose names contain spaces or other percent-encoded ([#8892](https://github.com/omnigent-ai/omnigent/pull/8892), [@evelyn-hur](https://github.com/evelyn-hur))
- [UI / Bug fix] fix(web): gate the auto-opening import review modal behind a release feature ([#8909](https://github.com/omnigent-ai/omnigent/pull/8909), [@yaoharry](https://github.com/yaoharry))
- feat(host): report host daemon crashes and exits to the debug-log sink ([#8911](https://github.com/omnigent-ai/omnigent/pull/8911), [@fanzeyi](https://github.com/fanzeyi))
- [Docs / Chore] refactor(git): add installable provider descriptors [1/4] ([#8914](https://github.com/omnigent-ai/omnigent/pull/8914), [@dhruv0811](https://github.com/dhruv0811))
- [UI / Bug fix / Docs / Chore / Test/CI] The Pull Requests panel preserves GitHub controls and discovers requests from multiple Git providers together. ([#8916](https://github.com/omnigent-ai/omnigent/pull/8916), [@dhruv0811](https://github.com/dhruv0811))
- [UI / Bug fix / Feature / Docs] View GitLab merge requests and their diffs in the session panel, with automatic association after agent MR mutations. ([#8918](https://github.com/omnigent-ai/omnigent/pull/8918), [@dhruv0811](https://github.com/dhruv0811))
- [UI / Feature / Docs] View Azure DevOps pull requests, checks, comments, and diffs in the session panel. ([#8919](https://github.com/omnigent-ai/omnigent/pull/8919), [@dhruv0811](https://github.com/dhruv0811))
- [UI / Bug fix / Docs / Test/CI] Remote runner setup can complete the required Omnigent sign-in on Arca and retry connecting to managed workspace servers. ([#8973](https://github.com/omnigent-ai/omnigent/pull/8973), [@hzub](https://github.com/hzub))
- [UI / Bug fix / Test/CI] fix(codex-native): clamp unsupported reasoning effort ([#9007](https://github.com/omnigent-ai/omnigent/pull/9007), [@dbczumar](https://github.com/dbczumar))
- [Bug fix] Runner reconnections restore session streams and recover independent session trees without a shared time limit. ([#9023](https://github.com/omnigent-ai/omnigent/pull/9023), [@dbczumar](https://github.com/dbczumar))
- [Docs / Chore / Test/CI] chore: add per-connection tunnel heartbeat diagnostics ([#9029](https://github.com/omnigent-ai/omnigent/pull/9029), [@dbczumar](https://github.com/dbczumar))
- [Bug fix] Claude Code policy hooks use backoff to tolerate transient connection and hostname-resolution failures before blocking a prompt. ([#9078](https://github.com/omnigent-ai/omnigent/pull/9078), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Feature / Docs] feat(settings): add gated custom agent management ([#9083](https://github.com/omnigent-ai/omnigent/pull/9083), [@hzub](https://github.com/hzub))
- [Bug fix] fix: discover shared user skills for Codex sessions ([#9084](https://github.com/omnigent-ai/omnigent/pull/9084), [@daniellok-db](https://github.com/daniellok-db))
- [Bug fix / Docs] fix(agents): check governing rules and real credential paths ([#9090](https://github.com/omnigent-ai/omnigent/pull/9090), [@PattaraS](https://github.com/PattaraS))
- [Bug fix / Test/CI] fix(review): let Resolve reuse automatic Polly reviews ([#9100](https://github.com/omnigent-ai/omnigent/pull/9100), [@PattaraS](https://github.com/PattaraS))
- [UI / Feature] Side chats now open in a full-screen drawer on phones, so "Ask in side chat", `/side`, and the composer's `+` tray work on mobile. ([#9135](https://github.com/omnigent-ai/omnigent/pull/9135), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix] Native Pi sessions now retry and deduplicate durable transcript events instead of silently losing conversation items during transient event-service failures. ([#9144](https://github.com/omnigent-ai/omnigent/pull/9144), [@Edwinhe03](https://github.com/Edwinhe03))
- [Bug fix] fix(runner): give a slow launch-config read time to answer ([#9160](https://github.com/omnigent-ai/omnigent/pull/9160), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] A Codex session whose app-server stopped now recovers on the next message instead of failing every turn. ([#9161](https://github.com/omnigent-ai/omnigent/pull/9161), [@yaoharry](https://github.com/yaoharry))
- [UI / Feature] The desktop app's server picker has a Sign out option for Databricks and OIDC servers, replacing the "Sign in with a different account" link on the connect screen. ([#9165](https://github.com/omnigent-ai/omnigent/pull/9165), [@fanzeyi](https://github.com/fanzeyi))
- Bump version to 0.18.0.dev0 ([#9166](https://github.com/omnigent-ai/omnigent/pull/9166), [@omnigent-ci[bot]](https://github.com/apps/omnigent-ci))
- docs(changelog): record v0.17.0 ([#9167](https://github.com/omnigent-ai/omnigent/pull/9167), [@omnigent-ci[bot]](https://github.com/apps/omnigent-ci))
- [UI] fix(web): sentence-case harness statuses on the Harnesses settings page ([#9169](https://github.com/omnigent-ai/omnigent/pull/9169), [@evelyn-hur](https://github.com/evelyn-hur))
- [UI] fix(web): give clickable harness cards a visible hover ([#9172](https://github.com/omnigent-ai/omnigent/pull/9172), [@evelyn-hur](https://github.com/evelyn-hur))
- [Feature] feat(claude-sdk): forward OMNIGENT_CLAUDE_CODE_ENTRYPOINT as CLAUDE_CODE_ENTRYPOINT ([#9174](https://github.com/omnigent-ai/omnigent/pull/9174), [@ajayrgb](https://github.com/ajayrgb))
- [UI / Bug fix] fix(web): keep Settings content from shifting when a scrollbar appears ([#9177](https://github.com/omnigent-ai/omnigent/pull/9177), [@evelyn-hur](https://github.com/evelyn-hur))
- [Docs / Chore] chore(logging): attribute runner event ingestion failures to sessions ([#9188](https://github.com/omnigent-ai/omnigent/pull/9188), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Docs] Host connections keep responding to pings during slow or failing database heartbeat writes. ([#9190](https://github.com/omnigent-ai/omnigent/pull/9190), [@yaoharry](https://github.com/yaoharry))
- [UI / Chore] Mobile layouts now provide denser chat controls, clearer Settings organization, and more consistent responsive navigation. ([#9191](https://github.com/omnigent-ai/omnigent/pull/9191), [@ajayalfred](https://github.com/ajayalfred))
- [Test/CI] test(mas): cover subagent restart recovery races ([#9192](https://github.com/omnigent-ai/omnigent/pull/9192), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runtime): ignore closed discovery stream subscribers ([#9195](https://github.com/omnigent-ai/omnigent/pull/9195), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test(mas): cover session tools and runner history contracts ([#9197](https://github.com/omnigent-ai/omnigent/pull/9197), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(tunnel): settle header waiters on incomplete response completion ([#9200](https://github.com/omnigent-ai/omnigent/pull/9200), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(host): finish inventory requests when their connection retires ([#9202](https://github.com/omnigent-ai/omnigent/pull/9202), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test(mas): cover subagent budget and effort constraints ([#9203](https://github.com/omnigent-ai/omnigent/pull/9203), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] Sessions no longer show as disconnected after a server restart when their host has already reconnected to another server. ([#9206](https://github.com/omnigent-ai/omnigent/pull/9206), [@yaoharry](https://github.com/yaoharry))
- [Chore] chore(logging): retain host frame failure correlation ([#9214](https://github.com/omnigent-ai/omnigent/pull/9214), [@yaoharry](https://github.com/yaoharry))
- [Docs / Chore] chore(logging): correlate relay outages with confirmed recovery ([#9215](https://github.com/omnigent-ai/omnigent/pull/9215), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] The Files sidebar now expands a symlinked folder that points outside the workspace and opens its files, instead of showing "Failed to load this folder." ([#9219](https://github.com/omnigent-ai/omnigent/pull/9219), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix] Opening a large HTML file in the file viewer no longer freezes the app. ([#9220](https://github.com/omnigent-ai/omnigent/pull/9220), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Chore] chore(electron): bump desktop version to 0.17.0 ([#9221](https://github.com/omnigent-ai/omnigent/pull/9221), [@fanzeyi](https://github.com/fanzeyi))
- [Bug fix] OS tool results keep readable Unicode without failing on filenames containing undecodable bytes. ([#9228](https://github.com/omnigent-ai/omnigent/pull/9228), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Feature] The Inbox now lists sessions with unread agent replies (with a preview of the latest reply) and adds All / Unread / Awaiting response tabs. ([#9232](https://github.com/omnigent-ai/omnigent/pull/9232), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix] fix(runner): move owned OS cleanup off the event loop ([#9236](https://github.com/omnigent-ai/omnigent/pull/9236), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] Same-page `#anchor` links in a rendered HTML preview now scroll the preview instead of opening a new tab or the OS browser. ([#9239](https://github.com/omnigent-ai/omnigent/pull/9239), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Remote OAuth MCP servers such as Linear start again in `omnigent codex` sessions with Codex 0.154 and later. ([#9241](https://github.com/omnigent-ai/omnigent/pull/9241), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Bug fix] A Claude turn cut off by a gateway cancellation now offers a one-click retry, and a host whose Claude Code is too old for the model is told to run `claude update`. ([#9244](https://github.com/omnigent-ai/omnigent/pull/9244), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Docs / Test/CI] fix(server): honor runner lookup deadlines and exit reports ([#9248](https://github.com/omnigent-ai/omnigent/pull/9248), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Test/CI] fix(release-notes): remove other contributions (OMNI-11933) ([#9249](https://github.com/omnigent-ai/omnigent/pull/9249), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Bug fix / Breaking] Skills are invoked by their directory name (as in Claude Code), with the SKILL.md `name` shown as a label, so skills with spaced names now appear in the `/` menu. Compatibility: a skill whose directory differs from its frontmatter `name` is now typed by its directory name, and agent-bundle validation checks the directory name against `[a-z0-9-]+`, falling back to the frontmatter name for bundles whose directory is not a valid name. Existing `skills:` lists that name a skill by its frontmatter `name` keep selecting it. ([#9251](https://github.com/omnigent-ai/omnigent/pull/9251), [@daniellok-db](https://github.com/daniellok-db))
- [UI] The Inbox has a refreshed layout: every item is a compact, expandable card, and items are grouped by recency (Just now, Earlier today, Yesterday, …). ([#9252](https://github.com/omnigent-ai/omnigent/pull/9252), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix] Claude Code sessions in auto mode no longer get stuck behind the terminal-only "Teach auto mode about your environment?" prompt. ([#9253](https://github.com/omnigent-ai/omnigent/pull/9253), [@TomeHirata](https://github.com/TomeHirata))
- [Test/CI] ci(release): benchmark baseline and candidate on one runner; gate P95 only with 20+ samples (OMNI-11932) ([#9255](https://github.com/omnigent-ai/omnigent/pull/9255), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Bug fix] Comments can now be added to and addressed on rendered HTML files in managed deployments. ([#9259](https://github.com/omnigent-ai/omnigent/pull/9259), [@zhengwin](https://github.com/zhengwin))
- [UI / Bug fix] Skills whose `SKILL.md` name contains spaces or parentheses can now be invoked from the chat composer's `/` menu instead of being sent as plain text. ([#9260](https://github.com/omnigent-ai/omnigent/pull/9260), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI] fix(web): word the setup review modal as detection, not import ([#9261](https://github.com/omnigent-ai/omnigent/pull/9261), [@hzub](https://github.com/hzub))
- [Bug fix] The first message after resuming a Claude session no longer opens Claude's Rewind dialog when Claude is launched through a wrapper. ([#9271](https://github.com/omnigent-ai/omnigent/pull/9271), [@craiuconstantintiberiu](https://github.com/craiuconstantintiberiu))
- [Bug fix] Native Claude and Codex subagents expose gateway models configured in their CLIs to supervisors; Claude also falls back to a supported model when an inherited model is unavailable. ([#9277](https://github.com/omnigent-ai/omnigent/pull/9277), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Bug fix / Docs / Test/CI] fix(harnesses): clarify startup configuration, MCP status, and navigation ([#9283](https://github.com/omnigent-ai/omnigent/pull/9283), [@hzub](https://github.com/hzub))
- [UI / Feature / Docs / Chore / Test/CI] Browse harness MCP servers, skills, plugins, and startup settings in Settings → Harnesses by default, with no deployment configuration changes. ([#9285](https://github.com/omnigent-ai/omnigent/pull/9285), [@hzub](https://github.com/hzub))
- [UI / Bug fix / Docs / Test/CI] fix: keep unpinned Polly SDK parents on managed Claude credentials ([#9293](https://github.com/omnigent-ai/omnigent/pull/9293), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix] fix(store): keep resource events from advancing activity ([#9298](https://github.com/omnigent-ai/omnigent/pull/9298), [@arthivjkumar](https://github.com/arthivjkumar))
- [Bug fix / Test/CI] fix: preserve unknown session state on runner disconnect ([#9302](https://github.com/omnigent-ai/omnigent/pull/9302), [@dbczumar](https://github.com/dbczumar))
- [Bug fix] fix(claude): load skills from .agents directories ([#9303](https://github.com/omnigent-ai/omnigent/pull/9303), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix] fix(debug-logging): bound the shutdown drain and stop retrying ambiguous inserts ([#9314](https://github.com/omnigent-ai/omnigent/pull/9314), [@fanzeyi](https://github.com/fanzeyi))
- [UI / Bug fix] Side chats share the parent runner; stopping a hosted session stops its side chats, and starting one later reconnects the parent first. ([#9329](https://github.com/omnigent-ai/omnigent/pull/9329), [@dhruv0811](https://github.com/dhruv0811))
- [Test/CI] fix(ci): accept case-only assessments for single-file Polly reviews ([#9335](https://github.com/omnigent-ai/omnigent/pull/9335), [@fanzeyi](https://github.com/fanzeyi))
- [Test/CI] fix(ci): require a test-file reference for case-only Polly rows ([#9337](https://github.com/omnigent-ai/omnigent/pull/9337), [@fanzeyi](https://github.com/fanzeyi))
- [Feature] feat(server): accept the iOS app redirect for native OIDC sign-in ([#9341](https://github.com/omnigent-ai/omnigent/pull/9341), [@fanzeyi](https://github.com/fanzeyi))
- [UI / Bug fix / Feature / Docs / Test/CI] feat(desktop): enable Companion localhost previews for Arca agents ([#9344](https://github.com/omnigent-ai/omnigent/pull/9344), [@zhengwin](https://github.com/zhengwin))
- [Test/CI] fix(ci): match Polly test-file references at path boundaries ([#9347](https://github.com/omnigent-ai/omnigent/pull/9347), [@fanzeyi](https://github.com/fanzeyi))
- [Chore] refactor(ios): share the web authentication browser and read the server manifest ([#9349](https://github.com/omnigent-ai/omnigent/pull/9349), [@fanzeyi](https://github.com/fanzeyi))
- [UI / Feature] Drag pinned sessions in the sidebar to reorder them ([#9350](https://github.com/omnigent-ai/omnigent/pull/9350), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Feature] The iOS app signs in to OIDC servers through Apple's sign-in sheet, renews the session silently, and signs out from the app or the web UI. ([#9355](https://github.com/omnigent-ai/omnigent/pull/9355), [@fanzeyi](https://github.com/fanzeyi))
- [UI / Bug fix] fix(web): scale the GitHub tab's diff with the Interface font size ([#9360](https://github.com/omnigent-ai/omnigent/pull/9360), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Fix duplicate native subagent completion notices ([#9365](https://github.com/omnigent-ai/omnigent/pull/9365), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Bug fix] fix(desktop): widen macOS title-bar drag region (OMNI-11969) ([#9366](https://github.com/omnigent-ai/omnigent/pull/9366), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix] The desktop app keeps reconnecting to Databricks until the network or VPN is back, including after a night asleep, and connecting from your organization's Databricks account URL reuses your saved sign-in instead of reopening the browser. ([#9371](https://github.com/omnigent-ai/omnigent/pull/9371), [@bbqiu](https://github.com/bbqiu))
- [UI / Bug fix / Test/CI] fix(web): distinguish default models from unavailable catalogs ([#9375](https://github.com/omnigent-ai/omnigent/pull/9375), [@yaoharry](https://github.com/yaoharry))
- [Chore] chore(electron): bump desktop version to 0.17.1 ([#9379](https://github.com/omnigent-ai/omnigent/pull/9379), [@fanzeyi](https://github.com/fanzeyi))
- [Bug fix] fix(server): keep runner reconnect races out of the ERROR log ([#9382](https://github.com/omnigent-ai/omnigent/pull/9382), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(codex-native): return a readable error when a side-chat turn is refused ([#9383](https://github.com/omnigent-ai/omnigent/pull/9383), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(server): finish deleting a session when one attachment blob can't be removed ([#9384](https://github.com/omnigent-ai/omnigent/pull/9384), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runner): stop leaking unretrieved task errors on attach and tunnel loss ([#9385](https://github.com/omnigent-ai/omnigent/pull/9385), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(claude-native): don't log an idle pane's undiscovered transcript as an error ([#9386](https://github.com/omnigent-ai/omnigent/pull/9386), [@yaoharry](https://github.com/yaoharry))
- [UI / Feature] feat(web): warn before a scheduled Arca shutdown ([#9387](https://github.com/omnigent-ai/omnigent/pull/9387), [@zhengwin](https://github.com/zhengwin))
- [UI / Bug fix] Reconnect an offline Arca host directly from the current chat. ([#9388](https://github.com/omnigent-ai/omnigent/pull/9388), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix] Autoselect fix ([#9394](https://github.com/omnigent-ai/omnigent/pull/9394), [@hzub](https://github.com/hzub))
- [UI / Bug fix] fix(web): center the RunningDot svg so the mobile sidebar spinner spins in place ([#9395](https://github.com/omnigent-ai/omnigent/pull/9395), [@hzub](https://github.com/hzub))
- [Bug fix] Codex sessions now fail fast with an actionable message when the TLS certificate for the model endpoint has expired, instead of hanging silently. ([#9397](https://github.com/omnigent-ai/omnigent/pull/9397), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Feature] feat(desktop): default V2 onboarding for Databricks macOS users ([#9398](https://github.com/omnigent-ai/omnigent/pull/9398), [@hzub](https://github.com/hzub))
- [UI] feat(harnesses): collapse MCP tool descriptions behind a disclosure ([#9399](https://github.com/omnigent-ai/omnigent/pull/9399), [@hzub](https://github.com/hzub))
- [Bug fix] Imported Codex sessions that used namespaced tools such as `sleep` can now be continued; the follow-up turn no longer fails with "Missing namespace for function_call". ([#9401](https://github.com/omnigent-ai/omnigent/pull/9401), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- fix(claude-native): register fork sub-agents in the Agents rail ([#9402](https://github.com/omnigent-ai/omnigent/pull/9402), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Feature] feat(web): offer Undo after unpinning a session ([#9403](https://github.com/omnigent-ai/omnigent/pull/9403), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Feature] Option/Alt+Enter now inserts a new line in the chat composer, like Shift+Enter. ([#9404](https://github.com/omnigent-ai/omnigent/pull/9404), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Bug fix] fix(desktop): close V2 onboarding parity gaps ([#9405](https://github.com/omnigent-ai/omnigent/pull/9405), [@hzub](https://github.com/hzub))
- [Test/CI] fix(benchmarks): sample the slow runner journeys more, and time what they claim (OMNI-11932) ([#9406](https://github.com/omnigent-ai/omnigent/pull/9406), [@TomeHirata](https://github.com/TomeHirata))
- Revert "feat(harnesses): launch Harnesses settings by default (#9285)" ([#9407](https://github.com/omnigent-ai/omnigent/pull/9407), [@hzub](https://github.com/hzub))
- [UI / Feature / Docs / Chore / Test/CI] Browse harness MCP servers, skills, plugins, and startup settings in Settings → Harnesses by default, with no deployment configuration changes. ([#9408](https://github.com/omnigent-ai/omnigent/pull/9408), [@hzub](https://github.com/hzub))
- [Test/CI] ci(benchmark-pr): confirm a flagged regression on one runner before failing (OMNI-12068) ([#9409](https://github.com/omnigent-ai/omnigent/pull/9409), [@TomeHirata](https://github.com/TomeHirata))
- [Test/CI] fix(benchmarks): isolate bench processes from the caller and leave nothing behind (OMNI-12072) ([#9410](https://github.com/omnigent-ai/omnigent/pull/9410), [@TomeHirata](https://github.com/TomeHirata))
- [Chore] perf(openai-agents): prewarm the harness's first-turn imports (OMNI-12069) ([#9413](https://github.com/omnigent-ai/omnigent/pull/9413), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix] perf(runner): take Databricks SDK import and repeat mint probes off runner boot (OMNI-12070) ([#9414](https://github.com/omnigent-ai/omnigent/pull/9414), [@TomeHirata](https://github.com/TomeHirata))
- [Test/CI] fix(benchmarks): time cli_startup to a usable REPL and scope it to its own daemons (OMNI-12073) ([#9415](https://github.com/omnigent-ai/omnigent/pull/9415), [@TomeHirata](https://github.com/TomeHirata))
- [Test/CI] ci(release): 30%/50% same-runner thresholds; fail all-failed journeys and failed benchmarks (OMNI-12067) ([#9416](https://github.com/omnigent-ai/omnigent/pull/9416), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix] perf(harness): stop warm-turn latency growing with history, and the 8th-turn GC pause (OMNI-12071) ([#9417](https://github.com/omnigent-ai/omnigent/pull/9417), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix] Make v2 UX switcher visible ([#9424](https://github.com/omnigent-ai/omnigent/pull/9424), [@hzub](https://github.com/hzub))
- [UI / Bug fix / Test/CI] Hide composer PR status when no PR is associated ([#9448](https://github.com/omnigent-ai/omnigent/pull/9448), [@dbczumar](https://github.com/dbczumar))
- [UI / Bug fix] fix: show GraphQL-created pull requests in session UI ([#9450](https://github.com/omnigent-ai/omnigent/pull/9450), [@dbczumar](https://github.com/dbczumar))
- [UI / Bug fix] Disable fork and host switching for Databricks sandboxes and Arclets ([#9454](https://github.com/omnigent-ai/omnigent/pull/9454), [@dbczumar](https://github.com/dbczumar))
- [Bug fix] Fixed `omnigent start`/`run` failing to register the host daemon on Windows ([#9456](https://github.com/omnigent-ai/omnigent/pull/9456), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix / Test/CI] Managed sandbox providers can offer model and reasoning-effort choices before a host starts. ([#9457](https://github.com/omnigent-ai/omnigent/pull/9457), [@dbczumar](https://github.com/dbczumar))
- [Bug fix] fix(agents): restore an uploaded agent's lost bundle on the next identical upload (OMNI-12077) ([#9470](https://github.com/omnigent-ai/omnigent/pull/9470), [@TomeHirata](https://github.com/TomeHirata))
- [Docs / Test/CI] test(e2e): cover completed Claude native children after handoff ([#9471](https://github.com/omnigent-ai/omnigent/pull/9471), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Bug fix] Improve markdown links and prose readability ([#9472](https://github.com/omnigent-ai/omnigent/pull/9472), [@vasvlasov](https://github.com/vasvlasov))
- [Bug fix] Codex sessions recover cleanly when stopping a finished turn, and oversized transcript events no longer block completion updates. ([#9479](https://github.com/omnigent-ai/omnigent/pull/9479), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] fix(web): accept Design Mode submits from user-opened browser tabs ([#9483](https://github.com/omnigent-ai/omnigent/pull/9483), [@zhengwin](https://github.com/zhengwin))
- [Feature / Docs / Test/CI] N/A — internal delivery diagnostics. ([#9487](https://github.com/omnigent-ai/omnigent/pull/9487), [@dbczumar](https://github.com/dbczumar))
- [Bug fix] fix(server): settle interrupted native web inputs ([#9491](https://github.com/omnigent-ai/omnigent/pull/9491), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Bug fix] Restore owned sessions to Mine immediately after archive Undo ([#9492](https://github.com/omnigent-ai/omnigent/pull/9492), [@dbczumar](https://github.com/dbczumar))
- [UI / Bug fix] fix(native): settle web shell inputs without false delivery errors ([#9493](https://github.com/omnigent-ai/omnigent/pull/9493), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix] fix(onboarding): reject failed CLI version probes ([#9495](https://github.com/omnigent-ai/omnigent/pull/9495), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] Clicking a long URL that a program wrapped across two rows of the terminal pane now opens the complete URL instead of the first row's fragment. ([#9498](https://github.com/omnigent-ai/omnigent/pull/9498), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Test/CI] test(ui): consolidate file preview journeys ([#9503](https://github.com/omnigent-ai/omnigent/pull/9503), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix] fix(server): release older inputs held by slash-command mirrors ([#9504](https://github.com/omnigent-ai/omnigent/pull/9504), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] fix(web): show native shell prompts as user turns ([#9508](https://github.com/omnigent-ai/omnigent/pull/9508), [@TomeHirata](https://github.com/TomeHirata))
- [Test/CI] test(ui): move color-theme checks to browser contracts ([#9509](https://github.com/omnigent-ai/omnigent/pull/9509), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix] fix(native): preserve delivery evidence on uncoded executor errors ([#9511](https://github.com/omnigent-ai/omnigent/pull/9511), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Feature] Add an optional host-provided HTML preview frame ([#9514](https://github.com/omnigent-ai/omnigent/pull/9514), [@hzub](https://github.com/hzub))
- [Bug fix] Codex sessions relaunch normally after the directory the host started in is deleted. ([#9515](https://github.com/omnigent-ai/omnigent/pull/9515), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test(ui): consolidate agent-info permission and MCP journeys ([#9516](https://github.com/omnigent-ai/omnigent/pull/9516), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix] Hosts signed in through a Databricks CLI profile refresh their token before it expires, instead of retrying an expired one for hours after a reconnect. ([#9517](https://github.com/omnigent-ai/omnigent/pull/9517), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] A Codex session whose saved history uses an older Codex format now starts a fresh Codex thread instead of failing every message. ([#9518](https://github.com/omnigent-ai/omnigent/pull/9518), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] Moving a Claude session to another host no longer leaves the old terminal marking the session failed. ([#9519](https://github.com/omnigent-ai/omnigent/pull/9519), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] Claude sessions no longer report plugin slash commands or `/btw` questions sent from the web as "missing from the native transcript". ([#9521](https://github.com/omnigent-ai/omnigent/pull/9521), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test: consolidate native picker browser contracts ([#9522](https://github.com/omnigent-ai/omnigent/pull/9522), [@TomeHirata](https://github.com/TomeHirata))
- [Test/CI] test: consolidate composer attachment browser journeys ([#9523](https://github.com/omnigent-ai/omnigent/pull/9523), [@TomeHirata](https://github.com/TomeHirata))
- [Test/CI] test: move composer layout matrices to browser contracts ([#9524](https://github.com/omnigent-ai/omnigent/pull/9524), [@TomeHirata](https://github.com/TomeHirata))
- [Docs] docs: clarify maintainer exemption from issue requirement ([#9526](https://github.com/omnigent-ai/omnigent/pull/9526), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Bug fix] Fix comment bridge loading in host-provided HTML previews ([#9533](https://github.com/omnigent-ai/omnigent/pull/9533), [@hzub](https://github.com/hzub))
- [UI / Bug fix] Sidebar padding fix ([#9535](https://github.com/omnigent-ai/omnigent/pull/9535), [@hzub](https://github.com/hzub))
- [Test/CI] ci: verify only failed UI snapshots after regeneration ([#9536](https://github.com/omnigent-ai/omnigent/pull/9536), [@hzub](https://github.com/hzub))
- [Bug fix] fix: keep OS helpers independent of broken worktree imports ([#9540](https://github.com/omnigent-ai/omnigent/pull/9540), [@PattaraS](https://github.com/PattaraS))
- [UI / Feature / Docs] Admins can opt into public Edit for signed-in session collaborators; public access remains Read-only by default and never bypasses authentication. ([#9541](https://github.com/omnigent-ai/omnigent/pull/9541), [@TomeHirata](https://github.com/TomeHirata))
- test(electron): fix missing setPath mock in update-main tests ([#9544](https://github.com/omnigent-ai/omnigent/pull/9544), [@bbqiu](https://github.com/bbqiu))
- [Bug fix / Feature / Docs / Test/CI] feat(agents): Skill telemetry ([#9547](https://github.com/omnigent-ai/omnigent/pull/9547), [@scottiegarcia](https://github.com/scottiegarcia))
- [Bug fix] The Databricks Apps deployment now honors the server config's `sandbox:` section, so it can offer managed sandbox hosts without each user running `omnigent host` locally. ([#9559](https://github.com/omnigent-ai/omnigent/pull/9559), [@jsonmp-k8](https://github.com/jsonmp-k8))
- [Bug fix] fix(web): stop full-page restyle on every composer keystroke ([#9560](https://github.com/omnigent-ai/omnigent/pull/9560), [@fanzeyi](https://github.com/fanzeyi))
- [UI / Bug fix] The Pull Requests panel now shows a PR even when the GitHub CLI's token can't read its check runs (fine-grained personal access tokens), and explains why checks are missing instead of reporting "No open PR" or "Can’t reach the upstream repo". ([#9563](https://github.com/omnigent-ai/omnigent/pull/9563), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] An idle session no longer turns failed when its host shuts down; it stays idle and shows the host offline. ([#9567](https://github.com/omnigent-ai/omnigent/pull/9567), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix / Feature / Test/CI] Improve Workspace tab overflow navigation ([#9571](https://github.com/omnigent-ai/omnigent/pull/9571), [@vasvlasov](https://github.com/vasvlasov))
- [UI / Bug fix / Feature] feat(web): keep Canvas cards beside sessions ([#9573](https://github.com/omnigent-ai/omnigent/pull/9573), [@dbczumar](https://github.com/dbczumar))
- [Bug fix] fix(pi-native): explain an outdated pi CLI instead of failing the terminal start blindly ([#9574](https://github.com/omnigent-ai/omnigent/pull/9574), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(cli): label `session import` copies so the web UI can resume them ([#9575](https://github.com/omnigent-ai/omnigent/pull/9575), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [UI / Bug fix] fix(web): restore macOS window chrome in the embedded app ([#9576](https://github.com/omnigent-ai/omnigent/pull/9576), [@fanzeyi](https://github.com/fanzeyi))
- [UI / Bug fix / Docs] fix(web): keep the mobile side-chat drawer inside the app root ([#9577](https://github.com/omnigent-ai/omnigent/pull/9577), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [Docs / Test/CI] test(web): benchmark OSS composer responsiveness in Chromium ([#9579](https://github.com/omnigent-ai/omnigent/pull/9579), [@dbczumar](https://github.com/dbczumar))
- [Bug fix] Claude Code sessions started from the web or mobile app no longer stop at the "trust this folder" prompt on machines whose Claude Code reads an older or relocated config file. ([#9583](https://github.com/omnigent-ai/omnigent/pull/9583), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [UI / Bug fix] fix(ios): theme the native keyboard backdrop ([#9586](https://github.com/omnigent-ai/omnigent/pull/9586), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix] fix(claude-native): mark a message held by a pending Claude prompt as undelivered ([#9587](https://github.com/omnigent-ai/omnigent/pull/9587), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] A Codex session no longer fails with an ImportError after Omnigent is upgraded on disk while its host keeps running. ([#9588](https://github.com/omnigent-ai/omnigent/pull/9588), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runner): count forwarded sub-agent events as activity for the idle watchdog ([#9592](https://github.com/omnigent-ai/omnigent/pull/9592), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] fix(web): reuse visible side chats and support quoted replies ([#9593](https://github.com/omnigent-ai/omnigent/pull/9593), [@vasvlasov](https://github.com/vasvlasov))
- [Bug fix] Desktop updates on macOS now wait for the administrator password prompt when the app is installed as root, instead of quitting before the update can install ([#9596](https://github.com/omnigent-ai/omnigent/pull/9596), [@fanzeyi](https://github.com/fanzeyi))
- [Test/CI] test: move harness picker grouping and availability checks to browser contracts ([#9597](https://github.com/omnigent-ai/omnigent/pull/9597), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix / Docs] fix(settings): fetch custom agent details directly ([#9613](https://github.com/omnigent-ai/omnigent/pull/9613), [@hzub](https://github.com/hzub))
- [UI / Bug fix] fix: use the standard mobile menu in Canvas ([#9614](https://github.com/omnigent-ai/omnigent/pull/9614), [@dbczumar](https://github.com/dbczumar))
- [Feature] feat(api): add single-agent summary endpoint ([#9615](https://github.com/omnigent-ai/omnigent/pull/9615), [@hzub](https://github.com/hzub))
- [UI / Bug fix] fix: use shared sidebar navigation in Canvas ([#9618](https://github.com/omnigent-ai/omnigent/pull/9618), [@dbczumar](https://github.com/dbczumar))
- [UI / Bug fix] fix(web): neutralize relative links in skill details markdown ([#9621](https://github.com/omnigent-ai/omnigent/pull/9621), [@hzub](https://github.com/hzub))
- [Bug fix] fix(server): don't show an idle session as failed after its connected runner exits ([#9626](https://github.com/omnigent-ai/omnigent/pull/9626), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] A message sent while the host's connection drops is handed back to the composer instead of failing the session. ([#9627](https://github.com/omnigent-ai/omnigent/pull/9627), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runner): don't fail a turn when the session-labels lookup can't get a token ([#9628](https://github.com/omnigent-ai/omnigent/pull/9628), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] A Codex session no longer gets stuck failing every turn after a large file was added or deleted in it ([#9629](https://github.com/omnigent-ai/omnigent/pull/9629), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] fix(web): keep the iOS sidebar rename field above the soft keyboard ([#9630](https://github.com/omnigent-ai/omnigent/pull/9630), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [UI / Bug fix] fix(web): open embedded theme settings link in a new tab ([#9634](https://github.com/omnigent-ai/omnigent/pull/9634), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [Chore] chore(electron): bump desktop app version to 0.17.2 ([#9635](https://github.com/omnigent-ai/omnigent/pull/9635), [@fanzeyi](https://github.com/fanzeyi))
- [UI / Feature / Docs / Test/CI] Add a local NGINX and Kubernetes multi-replica example ([#9637](https://github.com/omnigent-ai/omnigent/pull/9637), [@dbczumar](https://github.com/dbczumar))
- [UI / Bug fix / Feature] feat(web): auto-format and continue bullet/numbered lists in the composer ([#9638](https://github.com/omnigent-ai/omnigent/pull/9638), [@jeffizhungrydd](https://github.com/jeffizhungrydd))
- [UI / Bug fix / Docs] Use Run on Arca consistently in the host picker ([#9645](https://github.com/omnigent-ai/omnigent/pull/9645), [@zhengwin](https://github.com/zhengwin))
- [Docs] docs(electron): document the cross-platform desktop release workflow ([#9648](https://github.com/omnigent-ai/omnigent/pull/9648), [@fanzeyi](https://github.com/fanzeyi))
- [UI / Bug fix] fix(web): keep dark-mode text color in embedded overlays ([#9649](https://github.com/omnigent-ai/omnigent/pull/9649), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [Bug fix] Databricks-routed Codex agents run on current Codex releases without declaring their own sandbox or model egress ([#9651](https://github.com/omnigent-ai/omnigent/pull/9651), [@dhruv0811](https://github.com/dhruv0811))
- [UI / Bug fix] Approval cards mirrored from a sub-agent into the parent chat now name and link the sub-agent that asked. ([#9652](https://github.com/omnigent-ai/omnigent/pull/9652), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [UI / Bug fix] fix(web): render the permission card's bold tool name instead of literal asterisks ([#9653](https://github.com/omnigent-ai/omnigent/pull/9653), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix] Files cited in chat can open from large directories again. ([#9668](https://github.com/omnigent-ai/omnigent/pull/9668), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Bug fix] Assistant messages stay visible when an agent uses another tool before finishing its reply. ([#9670](https://github.com/omnigent-ai/omnigent/pull/9670), [@TomeHirata](https://github.com/TomeHirata))
- [Bug fix] fix(codex): honor configured providers when resuming threads ([#9684](https://github.com/omnigent-ai/omnigent/pull/9684), [@dbczumar](https://github.com/dbczumar))
- [Test/CI] test: cover Claude and Pi provider routing across runner restarts ([#9685](https://github.com/omnigent-ai/omnigent/pull/9685), [@dbczumar](https://github.com/dbczumar))
- [UI / Bug fix] Fix misleading error after desktop sign-out ([#9709](https://github.com/omnigent-ai/omnigent/pull/9709), [@hzub](https://github.com/hzub))
- [UI / Bug fix] fix(web): use 80ch prose normally and 120ch in wide chat columns ([#9715](https://github.com/omnigent-ai/omnigent/pull/9715), [@PattaraS](https://github.com/PattaraS))
- [UI / Bug fix] Make floating Add comment buttons clearer in light mode ([#9716](https://github.com/omnigent-ai/omnigent/pull/9716), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] fix(server): preserve idle sessions after runner replica handoff ([#9719](https://github.com/omnigent-ai/omnigent/pull/9719), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runner): include event frame identifiers in the tunnel size budget ([#9724](https://github.com/omnigent-ai/omnigent/pull/9724), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(runner): reserve session admission before taking an event worker ([#9731](https://github.com/omnigent-ai/omnigent/pull/9731), [@yaoharry](https://github.com/yaoharry))
- [Chore / Test/CI] test: share configurable server and host lifecycle ([#9732](https://github.com/omnigent-ai/omnigent/pull/9732), [@PattaraS](https://github.com/PattaraS))
- [Chore / Test/CI] test: share multi-user session and browser context setup ([#9733](https://github.com/omnigent-ai/omnigent/pull/9733), [@PattaraS](https://github.com/PattaraS))
- [Chore / Test/CI] chore(logging): retain bounded native transcript rejection evidence ([#9734](https://github.com/omnigent-ai/omnigent/pull/9734), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] fix(desktop): omit sign-in error when no credentials are stored ([#9736](https://github.com/omnigent-ai/omnigent/pull/9736), [@hzub](https://github.com/hzub))
- [Test/CI] test(server): cover runner exits across replicas end to end ([#9740](https://github.com/omnigent-ai/omnigent/pull/9740), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(harnesses): preserve exit tracking across cancelled waits ([#9742](https://github.com/omnigent-ai/omnigent/pull/9742), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(host): keep runner exit polling on its original zygote generation ([#9745](https://github.com/omnigent-ai/omnigent/pull/9745), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(host): serialize zygote readiness with concurrent starts ([#9746](https://github.com/omnigent-ai/omnigent/pull/9746), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(server): acknowledge late events from a runner the session moved off ([#9749](https://github.com/omnigent-ai/omnigent/pull/9749), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(server): keep a message sent to a host that never took the runner launch ([#9751](https://github.com/omnigent-ai/omnigent/pull/9751), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test(e2e): skip the canvas selected-highlight test on CI ([#9752](https://github.com/omnigent-ai/omnigent/pull/9752), [@hzub](https://github.com/hzub))
- [Bug fix] fix(claude-native): back off and log once when a forwarder poll keeps failing ([#9754](https://github.com/omnigent-ai/omnigent/pull/9754), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(web): don't fetch file content for a session that is still being created ([#9758](https://github.com/omnigent-ai/omnigent/pull/9758), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] Mermaid diagrams in Markdown previews, editors, and reasoning now open correctly in fullscreen in embedded apps. ([#9760](https://github.com/omnigent-ai/omnigent/pull/9760), [@hzub](https://github.com/hzub))
- [Bug fix] fix(host): fetch a session's skill bundle with the host's own TLS context ([#9762](https://github.com/omnigent-ai/omnigent/pull/9762), [@yaoharry](https://github.com/yaoharry))
- [UI / Bug fix] fix(web): open relative links in the Markdown preview in the FileViewer ([#9764](https://github.com/omnigent-ai/omnigent/pull/9764), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(host): skip a non-UTF-8 file name instead of failing the directory listing ([#9766](https://github.com/omnigent-ai/omnigent/pull/9766), [@yaoharry](https://github.com/yaoharry))
- [Test/CI] test(e2e): refit the canvas after opening a card and re-enable the test ([#9767](https://github.com/omnigent-ai/omnigent/pull/9767), [@hzub](https://github.com/hzub))
- [Bug fix] fix(server): don't warn that a native sub-agent is missing from the parent spec ([#9772](https://github.com/omnigent-ai/omnigent/pull/9772), [@yaoharry](https://github.com/yaoharry))
- [Chore] chore(logging): retain response and native evidence on failed runner turns ([#9773](https://github.com/omnigent-ai/omnigent/pull/9773), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(server): bound the initial host and runner tunnel handshake ([#9775](https://github.com/omnigent-ai/omnigent/pull/9775), [@yaoharry](https://github.com/yaoharry))
- [Chore] chore(logging): record fatal and final runner tunnel attempts ([#9779](https://github.com/omnigent-ai/omnigent/pull/9779), [@yaoharry](https://github.com/yaoharry))
- [Chore] chore(logging): trace runner tunnel credential refresh outcomes ([#9780](https://github.com/omnigent-ai/omnigent/pull/9780), [@yaoharry](https://github.com/yaoharry))
- [Chore] chore(logging): preserve OS facts for native terminal launch failures ([#9782](https://github.com/omnigent-ai/omnigent/pull/9782), [@yaoharry](https://github.com/yaoharry))
- [Docs / Chore / Test/CI] docs: guide agents toward existing test primitives ([#9783](https://github.com/omnigent-ai/omnigent/pull/9783), [@PattaraS](https://github.com/PattaraS))
- [Chore / Test/CI] test: reuse host lifecycle for inventory journeys ([#9784](https://github.com/omnigent-ai/omnigent/pull/9784), [@PattaraS](https://github.com/PattaraS))
- [Chore / Test/CI] test: reuse user pages for collaboration journeys ([#9785](https://github.com/omnigent-ai/omnigent/pull/9785), [@PattaraS](https://github.com/PattaraS))
- [Bug fix / Docs / Test/CI] fix(agents): caption recording clips from the screen, not from transcript state ([#9786](https://github.com/omnigent-ai/omnigent/pull/9786), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix] fix(web): align sharing permission dropdowns with their fields ([#9788](https://github.com/omnigent-ai/omnigent/pull/9788), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Bug fix] Fix Mac title-bar clearance for embedded Canvas, fonts, and zoom ([#9791](https://github.com/omnigent-ai/omnigent/pull/9791), [@PattaraS](https://github.com/PattaraS))
- [UI / Feature] feat(web): sidebar grouping, ordering and session metadata behind sidebar_grouping_ui (OMNI-10526) ([#9792](https://github.com/omnigent-ai/omnigent/pull/9792), [@hzub](https://github.com/hzub))
- [UI / Bug fix] fix(web): refocus the open Monaco find widget on repeated Cmd+F ([#9793](https://github.com/omnigent-ai/omnigent/pull/9793), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix] fix(web): soften Solarized theme borders ([#9794](https://github.com/omnigent-ai/omnigent/pull/9794), [@vasvlasov](https://github.com/vasvlasov))
- [Bug fix / Chore] iOS builds now include the public Databricks OAuth client ID by default so workspace sign-in can start without a custom build setting. ([#9798](https://github.com/omnigent-ai/omnigent/pull/9798), [@fanzeyi](https://github.com/fanzeyi))
- [Feature] `omnigent agent add owner/repo` installs the agents in a GitHub repo, with `@name` to pick one and `--list` to preview ([#9801](https://github.com/omnigent-ai/omnigent/pull/9801), [@dhruv0811](https://github.com/dhruv0811))
- [UI / Bug fix] The "Compacting conversation…" indicator no longer keeps counting after its turn has finished. ([#9804](https://github.com/omnigent-ai/omnigent/pull/9804), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [UI / Feature] feat(arca): extend shutdown warnings in one click ([#9817](https://github.com/omnigent-ai/omnigent/pull/9817), [@zhengwin](https://github.com/zhengwin))
- [UI / Bug fix] Hide Arca picker while connected ([#9818](https://github.com/omnigent-ai/omnigent/pull/9818), [@zhengwin](https://github.com/zhengwin))
- [Chore] Avoid server database imports during host and runner startup ([#9819](https://github.com/omnigent-ai/omnigent/pull/9819), [@dbczumar](https://github.com/dbczumar))
- [UI / Bug fix / Feature / Docs / Test/CI] Add recovery for sessions with missing working directories ([#9820](https://github.com/omnigent-ai/omnigent/pull/9820), [@fanzeyi](https://github.com/fanzeyi))
- [Bug fix] fix(codex-native): report a removed workspace instead of a bare ENOENT ([#9827](https://github.com/omnigent-ai/omnigent/pull/9827), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(claude): detect terminal exits during readiness waits ([#9829](https://github.com/omnigent-ai/omnigent/pull/9829), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(server): preserve an existing failure after runner exit ([#9832](https://github.com/omnigent-ai/omnigent/pull/9832), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix: preserve zygote children after a threaded deferred preload ([#9840](https://github.com/omnigent-ai/omnigent/pull/9840), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] fix(codex): reconnect once after refused native input while draining ([#9842](https://github.com/omnigent-ai/omnigent/pull/9842), [@yaoharry](https://github.com/yaoharry))
- [Bug fix / Docs / Breaking] Improved runtime validation and import handling. Shell policies now gate comments, here-documents, line continuations, command substitutions, and extended quoting. On multi-user servers, migrate uploaded Python/TypeScript source tools to MCP tools before re-uploading or editing MCP settings; trusted single-user/local bundles retain their existing support. ([#9844](https://github.com/omnigent-ai/omnigent/pull/9844), [@TomeHirata](https://github.com/TomeHirata))
- [Docs] docs: refresh feature map entry points and test setup ([#9850](https://github.com/omnigent-ai/omnigent/pull/9850), [@PattaraS](https://github.com/PattaraS))

## [v0.17.0] — 2026-10-05

- [Docs] docs: document Automations (scheduled tasks) ([#4731](https://github.com/omnigent-ai/omnigent/pull/4731), [@moomindani](https://github.com/moomindani))
- feat(policies): add configurable period-based cost budgets ([#5211](https://github.com/omnigent-ai/omnigent/pull/5211), [@terrytangyuan](https://github.com/terrytangyuan))
- [Bug fix] kiro-native now refuses to start a session when its bridge directory sits under a directory tree it does not exclusively own, instead of writing the relay token there ([#5772](https://github.com/omnigent-ai/omnigent/pull/5772), [@agharsallah](https://github.com/agharsallah))
- [Bug fix / Docs / Test/CI] Databricks deployment locks ignore machine-only index settings while preserving explicitly selected custom indexes and direct wheel dependencies. ([#6034](https://github.com/omnigent-ai/omnigent/pull/6034), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix / Test/CI] Bundled Codex skills are readable from sandboxed sessions without exposing credentials or dirtying the workspace. ([#6487](https://github.com/omnigent-ai/omnigent/pull/6487), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix] fix(web): explain the "Resolved elsewhere" approval pill from its info icon ([#6513](https://github.com/omnigent-ai/omnigent/pull/6513), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix] fix(web): keep a canvas card's selected highlight across session-list churn ([#6899](https://github.com/omnigent-ai/omnigent/pull/6899), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] fix(credentials): keep the shared $GIT_TOKEN helper when the credential endpoint 404s ([#7044](https://github.com/omnigent-ai/omnigent/pull/7044), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] fix(claude-sdk): rebuild the cached client when its CLI child died between turns ([#7152](https://github.com/omnigent-ai/omnigent/pull/7152), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Sessions can recover from missing or corrupt extracted agent configs after a server restart. ([#7193](https://github.com/omnigent-ai/omnigent/pull/7193), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix] fix(web,server): retract a restored send draft once its message proves delivered ([#7439](https://github.com/omnigent-ai/omnigent/pull/7439), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix] The existing project name is focused and selected automatically when you open the rename dialog. ([#7822](https://github.com/omnigent-ai/omnigent/pull/7822), [@james-fletcher-db](https://github.com/james-fletcher-db))
- [UI / Bug fix] Start session now accepts selected Windows drive-letter workspaces. ([#7837](https://github.com/omnigent-ai/omnigent/pull/7837), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix] Session menus remain usable while the terminal is connecting. ([#7845](https://github.com/omnigent-ai/omnigent/pull/7845), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix] The sidebar Search button now lines up with the chat menu button on narrow screens. ([#7853](https://github.com/omnigent-ai/omnigent/pull/7853), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Native Codex sessions recover promptly when the app-server connection drops, instead of event consumers waiting forever ([#7984](https://github.com/omnigent-ai/omnigent/pull/7984), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix / Test/CI] `omnigent codex` now honors a `~/.codex/config.toml` (or an explicit `--profile`) that selects Codex's built-in Amazon Bedrock (or Ollama / LM Studio) provider — no Codex sign-in or Omnigent provider needed. For file-based Bedrock credentials, use `~/.aws` and the config's `aws.profile`; `AWS_*` environment variables are not forwarded to the native Codex app-server. ([#8013](https://github.com/omnigent-ai/omnigent/pull/8013), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix] Debug-log credential helpers now run asynchronously so slow authentication does not delay startup. ([#8153](https://github.com/omnigent-ai/omnigent/pull/8153), [@Leemoonsoo](https://github.com/Leemoonsoo))
- [Bug fix / Docs] N/A — internal Resolve review guidance. ([#8205](https://github.com/omnigent-ai/omnigent/pull/8205), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] Stopping a native sub-agent no longer reports `cancelled` before the agent is confirmed stopped, and a sub-agent turn that stopped early is no longer reported to its parent as completed; the output produced before a stop is preserved in the cancellation notice. ([#8211](https://github.com/omnigent-ai/omnigent/pull/8211), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Feature] Live Claude text preview uses fewer requests while preserving streaming order. ([#8241](https://github.com/omnigent-ai/omnigent/pull/8241), [@fanzeyi](https://github.com/fanzeyi))
- [Feature] feat(runner): define event ingress frames on the existing tunnel ([#8242](https://github.com/omnigent-ai/omnigent/pull/8242), [@fanzeyi](https://github.com/fanzeyi))
- [Feature] feat(server): ingest bounded event batches on runner tunnel ([#8244](https://github.com/omnigent-ai/omnigent/pull/8244), [@fanzeyi](https://github.com/fanzeyi))
- [Feature] Host-backed Claude sessions forward live output over the existing runner connection instead of individual HTTP requests. ([#8246](https://github.com/omnigent-ai/omnigent/pull/8246), [@fanzeyi](https://github.com/fanzeyi))
- [Test/CI] test(runner): verify event replay through a real tunnel ([#8248](https://github.com/omnigent-ai/omnigent/pull/8248), [@fanzeyi](https://github.com/fanzeyi))
- [Bug fix] fix(server): keep tunnel event replay safe under server errors ([#8249](https://github.com/omnigent-ai/omnigent/pull/8249), [@fanzeyi](https://github.com/fanzeyi))
- [Bug fix] fix(server,runner): recycle a server-retired tunnel promptly and spread the reconnects ([#8252](https://github.com/omnigent-ai/omnigent/pull/8252), [@yaoharry](https://github.com/yaoharry))
- [Feature] The desktop app can connect your Arca instance automatically at launch (off by default; enable with `OMNIGENT_ARCA_AUTO_CONNECT=1`) ([#8276](https://github.com/omnigent-ai/omnigent/pull/8276), [@zhengwin](https://github.com/zhengwin))
- [Bug fix] A sub-agent's real completion is delivered to the parent even after the launch timer had guessed it failed, and a follow-up the runner delivered to a busy native worker no longer trips that timer. ([#8297](https://github.com/omnigent-ai/omnigent/pull/8297), [@eaespinoza0](https://github.com/eaespinoza0))
- [Bug fix] Resuming a pi-native session whose history holds a duplicated tool result no longer fails every turn with an Anthropic "each tool_use must have a single result" error. ([#8298](https://github.com/omnigent-ai/omnigent/pull/8298), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Bug fix / Docs / Test/CI] fix(e2e-ui): preserve sync recordings, final state, and screenshot viewport ([#8336](https://github.com/omnigent-ai/omnigent/pull/8336), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [Docs / Test/CI] Add a verify-omnigent skill with a feature map of user entry points ([#8350](https://github.com/omnigent-ai/omnigent/pull/8350), [@PattaraS](https://github.com/PattaraS))
- [Bug fix / Test/CI] `omnigent sandbox create --provider openshell` can upload wheel bundles larger than the gateway's 1 MiB message cap. ([#8367](https://github.com/omnigent-ai/omnigent/pull/8367), [@jasonhernandez](https://github.com/jasonhernandez))
- [Feature] feat(desktop): Arca auto-connect state machine and typed errors ([#8419](https://github.com/omnigent-ai/omnigent/pull/8419), [@zhengwin](https://github.com/zhengwin))
- [Bug fix] `omnigent run` sessions can pick a model again, and providers with a `/v4`-style base URL discover their models. ([#8420](https://github.com/omnigent-ai/omnigent/pull/8420), [@omni-resolve-agent[bot]](https://github.com/apps/omni-resolve-agent))
- [UI / Bug fix] The desktop app reconnects to Databricks by itself after network or VPN drops, showing a "Reconnecting to Databricks…" overlay (with a VPN reminder on managed devices) instead of the connect page. Connect reuses your saved sign-in, and "Sign in with a different account" switches accounts. ([#8426](https://github.com/omnigent-ai/omnigent/pull/8426), [@bbqiu](https://github.com/bbqiu))
- [Feature] Add host MCP server inventory endpoint ([#8433](https://github.com/omnigent-ai/omnigent/pull/8433), [@zhengwin](https://github.com/zhengwin))
- [UI / Feature] The import modal now shows the logins, MCP servers, skills, and plugins your harnesses already bring to Omnigent, and opens once when a new machine connects. Onboarding can target it at the runner the user picked ([#8434](https://github.com/omnigent-ai/omnigent/pull/8434), [@zhengwin](https://github.com/zhengwin))
- [Test/CI] DELETE THIS WHOLE SECTION if the change isn't noteworthy (CI, refactors, test-only changes, dependency bumps with no user impact). ([#8438](https://github.com/omnigent-ai/omnigent/pull/8438), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Bug fix / Feature] The desktop onboarding opens on your server list when you've used Omnigent before, and its button says whether it will install, start or open Omnigent. ([#8442](https://github.com/omnigent-ai/omnigent/pull/8442), [@hzub](https://github.com/hzub))
- [Bug fix / Test/CI] fix(repro): retain browser traces and surface capture failures ([#8443](https://github.com/omnigent-ai/omnigent/pull/8443), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix / Test/CI] Fix mock response routing for native tests ([#8446](https://github.com/omnigent-ai/omnigent/pull/8446), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix] Codex sessions launched with a prompt ending in a newline retain their connection to web and mobile chat. ([#8447](https://github.com/omnigent-ai/omnigent/pull/8447), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix] Large Claude Code and Codex sessions can now be imported without disconnecting the host or stopping the rest of the batch. ([#8465](https://github.com/omnigent-ai/omnigent/pull/8465), [@yaoharry](https://github.com/yaoharry))
- [Feature] Policies can now get access to conversation_id in the `PolicyEvent` context. ([#8467](https://github.com/omnigent-ai/omnigent/pull/8467), [@ArshSiddiqui](https://github.com/ArshSiddiqui))
- [Bug fix] A turn that finishes after a brief runner connection drop now clears the "connection dropped" card instead of leaving it up until your next message. ([#8492](https://github.com/omnigent-ai/omnigent/pull/8492), [@dbczumar](https://github.com/dbczumar))
- [Test/CI] test(ui): cover table fullscreen control ([#8508](https://github.com/omnigent-ai/omnigent/pull/8508), [@yaoharry](https://github.com/yaoharry))
- [Bug fix] Switching a running Codex session's approval mode now reads Codex's `/permissions` popup ([#8509](https://github.com/omnigent-ai/omnigent/pull/8509), [@yaoharry](https://github.com/yaoharry))
- Bump version to 0.17.0.dev0 ([#8514](https://github.com/omnigent-ai/omnigent/pull/8514), [@omnigent-ci[bot]](https://github.com/apps/omnigent-ci))
- docs(changelog): record v0.16.0 ([#8515](https://github.com/omnigent-ai/omnigent/pull/8515), [@omnigent-ci[bot]](https://github.com/apps/omnigent-ci))
- [Bug fix] Cursor-native sub-agents preserve their actual results after interrupts and avoid approval cards caused by stale checkpoint markers. ([#8516](https://github.com/omnigent-ai/omnigent/pull/8516), [@dhruv0811](https://github.com/dhruv0811))
- [Bug fix / Docs] fix(resolve): keep fixes focused and complete ([#8519](https://github.com/omnigent-ai/omnigent/pull/8519), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] Log Claude launch permission mode ([#8522](https://github.com/omnigent-ai/omnigent/pull/8522), [@serena-ruan](https://github.com/serena-ruan))
- [Chore] feat(native): log native_input_ready for every native harness via a required provider probe ([#8523](https://github.com/omnigent-ai/omnigent/pull/8523), [@daniellok-db](https://github.com/daniellok-db))
- [Bug fix] fix(triage-v2): don't re-grade on repro-agent validation label flips ([#8526](https://github.com/omnigent-ai/omnigent/pull/8526), [@PattaraS](https://github.com/PattaraS))
- [Bug fix] New worktrees keep the repository subdirectory selected for your chat. ([#8527](https://github.com/omnigent-ai/omnigent/pull/8527), [@serena-ruan](https://github.com/serena-ruan))
- [Bug fix] pi now launches models on providers that set only one API family (e.g. Moonshot's Anthropic-compatible endpoint) instead of failing with 404, and Databricks gateway GPT overrides keep their Responses routing. ([#8528](https://github.com/omnigent-ai/omnigent/pull/8528), [@TomeHirata](https://github.com/TomeHirata))
- [UI / Bug fix] Tab completes slash commands without executing them; submit explicitly when ready. ([#8529](https://github.com/omnigent-ai/omnigent/pull/8529), [@serena-ruan](https://github.com/serena-ruan))
- [Test/CI] DELETE THIS WHOLE SECTION if the change isn't noteworthy (CI, refactors, test-only changes, dependency bumps with no user impact). ([#8531](https://github.com/omnigent-ai/omnigent/pull/8531), [@serena-ruan](https://github.com/serena-ruan))
- [UI / Bug fix] Code in chat messages no longer hides spaces between CLI flags like `-c --markdown` ([#8532](https://github.com/omnigent-ai/omnigent/pull/8532), [@daniellok-db](https://github.com/daniellok-db))
- [Bug fix] fix(runner): attribute native launch-config fetch failures to the server ([#8533](https://github.com/omnigent-ai/omnigent/pull/8533), [@daniellok-db](https://github.com/daniellok-db))
- [Test/CI] DELETE THIS WHOLE SECTION if the change isn't noteworthy (CI, refactors, test-onl