* refactor: split release changelogs and synchronize docs mirrors * fix: complete split changelog instructions and validation wiring * fix: complete release changelog mirror integration Regenerate existing docs mirrors within the docs-agent publication boundary, preserve one HTML release heading, and package links for oversized mirrors without changing frozen records. Update release publisher and test-routing fixtures for the shared changelog resolver. * test: align docs agent Git ownership fixtures Keep failure injection aligned with staged-index validation and mirror staging. Preserve native Git producer exit codes and verify both cached-index producers without weakening process-drain assertions. --------- Co-authored-by: Peter Steinberger <steipete@gmail.com>
141 KiB
2026.8.2
Highlights
- Your Home agent, beside your work: open Home in a right or bottom dock with
Cmd/Ctrl+Shift+H, keep your current page in view, and preview or remove its work-context snapshot or attach selected text to your message. Related #133632. (#133676) - A desktop companion for Linux: install the
.debor AppImage on x86-64 Linux, connect to a local or remote Gateway, and open Quick Chat from the system tray or an X11 keyboard shortcut. AppImage updates are signature-verified;.debinstalls remain under your package manager. See the Linux guide. - Start work without switching pages: create and run a background session from New Session, keep its selected local, cloud, or paired-device placement, and open it from the completion notice. Related #128037. (#128050) Thanks @Takhoffman.
- Safer upgrades: preserve newer configuration, stop incomplete session migrations before claiming success, and recover a stopped Gateway after a failed update when the installed package or rollback is verified safe. Related #118244, #90551, #134206. (#134025, #134228, #119516) Thanks @obviyus, @stuart-minion-ai, @shakkernerd, @zyw02, @Issue-Hunter, @cursoragent, and @sercada.
- Replies that finish the job: return a final answer after settled tool work and surface failures after an accepted turn, fixing conversations that stopped at tool output or an initial acknowledgement. Related #133960. (#133520, #133979) Thanks @fuller-stack-dev.
- More dependable voice: keep internal reasoning out of speech, preserve tool-generated audio through delivery, and keep later browser Talk turns working after call setup. Related #90364, #83636, #134081. (#133615, #133324, #134170, #134138) Thanks @camball-strategies, @obviyus, @TurboTheTurtle, @clawSean, @Conan-Scott, and @mastertyko.
- Browser control without a running Gateway: let supported macOS and Linux Chrome extension builds wake their paired local relay for authenticated CDP clients; this needs the updated native host and an extension build with relay wake-up support. (#128379)
- Four new looks: personalize the Control UI with CRT, Manuscript, Rosé, or Miami, with theme choices preserved offline and applied without flashing the wrong theme during reload. Related #133416, #132785. (#133495, #133593, #133417, #132789) Thanks @vyctorbrzezowski.
Changes
-
Recovery cleanup: preview retained migration originals with
openclaw update cleanup --dry-run, then explicitly remove eligible originals while the selected Gateway is stopped; cleanup preserves current SQLite history but permanently gives up rollback to removed originals. Related #133805. (#133864) -
Session visibility default: let unsandboxed sessions work with other sessions of the same agent by default, including retained cron sessions; shared-agent operators should set
tools.sessions.visibilitytotreeorselfwhen they need narrower access, while sandbox and cross-agent restrictions remain enforced. Related #133456. (#133469) -
Cross-session conversations: render forwarded messages as distinct speech bubbles with source-session links and sending-agent identity, preserving attribution when messages steer an active conversation. (#132054, #133439)
-
Session organization: group session actions into clearer menus, copy transcripts as Markdown, open sessions in tabs, windows, or splits, edit icons and colors together, and optionally hide empty session groups. Related #133480, #133629. (#133490, #133638)
-
Home without switching pages: dock the selected agent’s existing Home conversation beside your work, retain its draft and attachments when opening it full page, and inspect or remove the “Working on” context before sending. Related #133632. (#133676)
-
Prepared cloud projects: reuse prepared project snapshots and validated workspace hashes before starting a cloud session, and preserve the required stop, snapshot, and restart cycle for Daytona-backed projects. Related #133436, #133450. (#133447, #134026, #134043)
-
Readable Beam links: share transcripts through readable
/beam/URLs named after their sessions, with existing access checks and contextual navigation preserved. Related #125752. (#125755, #133463) -
Chrome relay wake-up: support standalone local relays that start on demand, share their paired browser with the Gateway, and remain available to other CDP clients when the Gateway disconnects; see the Chrome extension guide for supported builds and setup. (#128379)
-
Plugin SDK types: type Telegram
botTokenasSecretInput(string | SecretRef), matching existing secret-reference support; plugin authors should use the resolved accounttokenand read finalization-contextmessagesonly whensource === "openclaw-transcript". (#133988, #134238) -
Background sessions: start work from New Session without leaving the page with
Cmd/Ctrl+Enter, retain the selected local, cloud, or paired-device placement, and open the session from its completion notice; useCmd/Ctrl+Shift+Enterwhen Modifier+Enter is already your normal send shortcut, while explicit Draft visibility still creates a draft. Related #128037. (#128050) Thanks @Takhoffman. -
iOS composer: bring inline model, thinking, permission, attachment, and context controls closer to the web experience, keeping queued sends bound to the session settings that authorized them. (#132683) Thanks @Solvely-Colin.
-
Plugin approval verification: let plugins describe an external verification choice in approval presentations while OpenClaw retains approval identity, authorization, timeouts, and the final decision. (#113517) Thanks @Guardiola31337.
Fixes
- Optional image decoding: update the release’s managed Sharp dependency to 0.35.4 with libheif 1.23.2, fixing vulnerabilities in image decoding while preserving optional installation. See the plugin dependency caveat under Known issues.
- Workspace permissions: apply permission changes to active runs and preserve session tool policies on cloud workers, so changing where work runs does not widen what it may do. Related #131947, #131661. (#132407, #131669) Thanks @jalehman, @anyech, and @sallyom.
- Private diagnostics: redact values explicitly marked private in macOS app logs, keep credential values and prefixes out of routine Clawdock diagnostics, and preserve safe redaction of long secrets. Related #133736, #133535. (#133739, #133547, #134168)
- MCP response limits: reject oversized HTTP responses and SSE events before parsing while preserving healthy long-lived streams and keepalives. Related #101554. (#123194) Thanks @SebTardif, @obviyus, and @aniruddhaadak80.
- Source-file fidelity: preserve UTF-8 BOMs, line endings, fuzzy-match context bytes, and end-of-file state when applying patches, including formatting-only edits. Related #124390, #133319. (#124418, #133320) Thanks @synthalorian, @obviyus, and @yetval.
- Migration safety: coordinate automatic agent-database maintenance with its current owner, check migration readiness before accepting workspace work, and preserve existing voice-call settings and disabled shared heartbeat owners during Doctor repair. Related #133478, #133951, #127596, #133389. (#133563, #133982, #134018, #133444) Thanks @omarshahine, @PollyBot13, and @obviyus.
- Safe session recovery: preserve independently created files and symlinks during archive restore, repair supported legacy v17 agent databases, and fail updates clearly when session migration still blocks startup. Related #134163, #134206. (#133921, #134208, #134228) Thanks @EthDing, @obviyus, @abacha, and @shakkernerd.
- Keep newer configuration: migrate a readable active configuration before considering last-known-good recovery, preserving newer valid settings rather than replacing them with an older copy. Related #90551. (#134025) Thanks @obviyus and @stuart-minion-ai.
- Update capability consent: block a requested Gateway restart and return an actionable failure when a plugin update needs capability review; retain the previous plugin and finish with
openclaw update repairafter review. Related #134156. (#134183) Thanks @obviyus and @BrunoCerberus. - Hardened npm updates: complete OpenClaw’s verified package lifecycle on hosts using npm
ignore-scripts=truewithout enabling scripts for unrelated packages or rolling a valid update back. Related #134177. (#134193) Thanks @obviyus and @botatdovly. - Update progress and recovery: show reliable progress and final outcomes, preserve offline diagnostics, refuse unsafe restarts when service state is unknown, and distinguish Gateway service setup from installing the CLI. (#133622, #133842, #132853, #133530) Thanks @jason-allen-oneal, @obviyus, and @RomneyDa.
- Failed-update recovery: restart the managed Gateway through the selected installed CLI after a failed update when the replacement or restored installation is verified usable; retain backups and leave the Gateway stopped when rollback or package readiness remains uncertain. Related #118244. (#119516) Thanks @zyw02, @Issue-Hunter, @cursoragent, and @sercada.
- Scheduled jobs: preserve and recover valid migrated cron jobs, avoid needless schedule-repair writes, and emit complete JSON when cron output is piped; heartbeat jobs now report the actual completed, skipped, or failed outcome after the heartbeat settles. Related #133347, #133442, #134327. (#133858, #133552, #133661, #134464) Thanks @fuller-stack-dev, @ejc3, @vincentkoc, @josephbergvinson, and @goslingmanagment.
- Approval migration: import historical execution approvals and usage metadata, and identify malformed legacy fields without exposing their values so operators can repair the preserved source. Related #118242. (#118282, #133952) Thanks @obviyus and @sercada.
- Plugin SDK compatibility: preserve the published conversation-binding inspection API and existing command definitions when upgrading from 2026.8.1; legacy
dockscategories remain visible under Tools without restoring retired docking features. - Plugin loading and updates: load packaged TypeScript plugins consistently, normalize file URLs for native loading, preserve bundled provider compatibility, and keep official plugins aligned with targeted beta updates. Related #133306, #123297, #97680. (#117199, #133337, #123416, #124415) Thanks @sunlit-deng, @easyteacher, @lonexreb, @obviyus, @bradenmcleish, @synthalorian, and @chac4l.
- Plugin discovery: keep bundled plugins bundled when selected through load paths and prune stale path-install records that otherwise shadow the active source. Related #133935. (#133584, #133991) Thanks @ZengWen-DT, @obviyus, @lsr911, @chelsealong, @SebTardif, and @JeffSteinbok.
- Bun Gateway compatibility: restore authenticated Gateway connections under Bun 1.4 while preserving payload limits and request scheduling. (#134282)
- Docker image builds: prevent dependency installation from failing on missing package-lifecycle files. (#134231)
- Installer and container access: repair npm-prefix shell initialization, surface failed install finalization, and restore in-container CLI access when Docker uses a custom host port. Related #133503. (#133869, #133504)
- Channel recovery: resume recovery after crash-loop suppression, isolate unavailable accounts in diagnostics, and explain why an account recovery start was skipped. Related #134134, #133977, #133954. (#134165, #134044, #133973) Thanks @shakkernerd, @lsr911, @obviyus, @chelsealong, @ZengWen-DT, and @SebTardif.
- Matrix shutdown: drain active monitor tasks before retiring shared clients, preventing shutdown deadlocks and late reuse of a closed client. (#134033) Thanks @lsr911, @obviyus, @chelsealong, @ZengWen-DT, and @SebTardif.
- Reply completion: finish settled tool turns with a visible answer, recover failed-tool batches, report failures after accepted turns, and recognize completion replies delivered to internal requesters. Related #133292, #133960. (#133520, #133300, #133979, #133543) Thanks @fuller-stack-dev and @VACInc.
- Subagent ownership: preserve conversation bindings and task visibility, clear stale owners, and keep status and command targets aligned with the agent that owns the work. Related #127141. (#127147, #133461, #133578, #133715)
- Human priority and cancellation: prioritize human messages over inter-session work, stop queued Swarm collectors with their parent, and persist blocked completion alerts atomically. Related #70634, #131553, #133058. (#132738, #133076, #133192) Thanks @sylvesterkaczmarek, @obviyus, @ewrurwteurwU, @shojikumaru, @vincentkoc, and @potterdigital.
- Conversation context: reject summaries that revive superseded tasks, stop repeated byte-triggered compaction, retain policy ownership, and carry saved conversation summaries into a fresh Codex thread when switching runtimes. Related #123668, #126900, #134224. (#123737, #127110, #133912, #134259) Thanks @wangyan2026, @obviyus, @andersonjeccel, @yu-xin-c, @fede-kamel, @lsr911, @chelsealong, @ZengWen-DT, and @SebTardif.
- Draft and queue recovery: preserve offline drafts and restored draft text, resume draining after canceling a queued edit, and let you discard unconfirmed messages that block the queue. Related #133555, #133603. (#133628, #133575, #133440) Thanks @vincentkoc.
- Starting chats: preserve typing on the new-session page, prevent duplicate initial prompts during workspace preparation, and avoid duplicate queued messages across clients. Related #132783, #133719. (#132773, #133861, #133542) Thanks @vyctorbrzezowski.
- Workspace continuity: keep non-Git workspaces usable, preserve the selected worktree base branch through reconnects, and reload projects after startup identity is resolved. (#133664, #133744, #133817)
- Chat refresh and reconnect: keep images visible while refreshed history loads, recover suspended tabs after Gateway updates, and keep the earlier-history action steady during pagination. Related #134237. (#134310, #134189, #132445) Thanks @Takhoffman and @RomneyDa.
- Chat controls: restore text selection and simpler GitHub code copying, keep rewind confirmation controls accessible, and integrate Goal mode into the composer. Related #131201, #132786. (#133536, #133791, #132787) Thanks @RomneyDa, @Grynn, and @vyctorbrzezowski.
- Voice privacy and delivery: exclude internal reasoning from spoken summaries, preserve accepted speech through media delivery, and retain speech and process-output delivery state through nested tools. Related #90364, #83636. (#133615, #133324, #133968, #134170, #134056) Thanks @camball-strategies, @obviyus, @TurboTheTurtle, @clawSean, and @Conan-Scott.
- Browser Talk: keep later voice turns admitted after call setup, preserve provider conversation order, keep internal consultations out of user history, pass questions literally, and honor the configured agent for default sessions. Related #133855, #134037, #134081. (#133493, #133947, #134093, #133958, #134138) Thanks @vmbbz, @chelsealong, @lsr911, @obviyus, @ZengWen-DT, @SebTardif, @Conan-Scott, @YogevKr, and @mastertyko.
- Microphone and transcription: explain pending microphone permission, avoid expiring a voice session while permission is pending, report transcription failures, and honor the selected transcription model. Related #133348, #133359, #133448. (#133353, #133384, #133473, #133613) Thanks @lsr911.
- Voice settings and calls: retain canonical voice selections, discover configured providers, prevent late callbacks from creating phantom calls or obsolete replies, and preserve call capacity after storage failures. Related #112360, #129473. (#117527, #133507, #133811, #133484, #129847) Thanks @itkdm, @ruel225, @DonShelly, and @aniruddhaadak80.
- Speech providers: resolve persona-level TTS secret references, report malformed MiniMax speech responses clearly, and consume interrupted Google voice-turn completion correctly; support the configured xAI speech origin consistently for synthesis and voice discovery while checking redirects to other origins, and handle silent transcripts correctly. Related #89607, #133351. (#89636, #123245, #133365, #134214, #134377) Thanks @SebTardif, @lsr911, @obviyus, @chelsealong, @ZengWen-DT, @pablonunoutande-source, @coaiMax, and @marmar9615-cloud.
- iMessage and Telegram: keep iMessage replies in the current conversation and preserve Telegram’s rich button labels when building reply context. Related #133468. (#133499, #133307) Thanks @omarshahine and @obviyus.
- Slack Enterprise approvals: deliver plugin approval requests to workspace-qualified approvers and accept their buttons only from the intended workspace. Related #133932. (#134251) Thanks @obviyus and @marmar9615-cloud.
- Discord and LINE routing: suppress replies aimed at other Discord bots, avoid LINE introductions in unauthorized rooms, apply per-group wildcard defaults, and respect quote-as-mention policy. Related #133618. (#130327, #132628, #132918, #133619) Thanks @PollyBot13, @obviyus, and @edenfunf.
- LINE presentation: preserve recognizable inline emoji, pace block replies using the agent’s configured human delay, and offer LINE card commands only on LINE. Related #132082, #133430. (#132083, #133443, #132895) Thanks @edenfunf.
- Media compatibility: restore AVI playback and filenames, normalize detected Matroska and ASF media for the right handling, and decode quoted input-file charsets correctly. Related #133328, #133608. (#133329, #133383, #133386, #133610) Thanks @ly85206559.
- Text fidelity: preserve Unicode when truncating email and runtime text, retain HTML paragraph boundaries, and avoid leaking code-span placeholders into outbound messages; preserve trailing whitespace inside inline code and keep astral Unicode letters separated when stripping model control tokens. Related #132969, #134450. (#132170, #132366, #132998, #125184, #134451, #134357) Thanks @harjothkhara, @ly85206559, @pengzh1, @yifanxiong272, and @wanyongstar.
- Audio language detection: omit the implicit audio prompt during automatic language detection so it does not bias transcription. Related #123305. (#133674) Thanks @synthalorian and @aleps001.
- Cloud cancellation: persist canceled queued turns, stop work without waiting for unrelated provider inspection, fence canceled bundle installation, and wait for pending SSH workspace cleanup. Related #133455. (#133241, #133476, #133976, #133472) Stop also cancels pending worker provisioning and project preparation while allowing owned cleanup to finish. (#133735)
- Cloud lifecycle: prevent archive, delete, and recovery from hanging behind worker moves, preserve actionable execution and workspace-recovery failures, fix bootstrap archive races, and release idle desktops before reuse; settle project snapshots before enrollment, reuse prepared worker archives, and reclaim unused snapshots during idle maintenance. Related #133654, #134199. (#133551, #133663, #133655, #133451, #134200, #134043, #134181, #134326, #134088) Thanks @Takhoffman.
- Native Codex sessions: continue selected native sessions without scanning an entire large Codex home, preserve conversations across app-server restarts, and avoid intermittent Linux startup failures. Related #133929. (#134073, #134098, #133485)
- Provider failures: retain provider ownership in errors, explain unavailable selected Codex authentication profiles, and preserve the real retry and rate-limit outcome when a pinned model disables fallbacks. Related #134012, #113169. (#134029, #133970, #133355, #134111) Thanks @vincentkoc, @Jeehut, and @obviyus.
- Model browsing and search: recover model browsing after catalog replacement and distinguish missing answers from malformed Google and xAI responses. Related #133166, #130550. (#133221, #130583, #133667) Thanks @chelsealong, @vincentkoc, @r3n3x, @Darren2030, and @jailbirt.
- Usage accuracy: keep output-token counts cumulative and recoverable, restore native-session usage after
/new, refresh native pricing without pinning defaults, and correct cached long-context costs; refresh Cerebras and Chutes estimates from provider pricing while preserving explicit user rates, and keep usage pricing on static model metadata. Related #133562, #133346, #133343. (#133605, #133441, #133695, #133349) Related #134248. (#134311, #133699) - Long-history performance: avoid excessive context copies, release transcript backing storage after eviction, reuse prepared batch writers, and reduce repeated Control UI history processing while preserving full-fidelity fork evidence. Related #133738, #133939, #123540, #133941. (#133753, #133565, #133680, #133965, #123541, #134238, #133988, #134252, #134209) Thanks @njuboy11 and @obviyus.
- Concurrent session work: reuse session facts and remove repeated history scans from concurrent turns, status reads, and bounded task pages. Related #133053. (#133061, #133683, #133903, #134176, #132903) Thanks @jason-allen-oneal and @obviyus.
- Browser reliability: retain accepted browser follow-ups through restarts, preserve contextless workers and iframe sessions, and use CDP for managed role snapshots. Related #133569, #133514. (#133457, #133571, #133614) Thanks @vincentkoc and @josephbergvinson.
- Beam transcript fidelity: preserve uploader identity, restart delivery when the receiver changes, and omit mixed Claude tool content without losing snapshot state. (#133425, #133533, #133460)
- Windows support: preserve PowerShell profile encoding and pnpm shim arguments, and retain resource scope across Windows path casing differences. (#133729, #133395, #134052) Thanks @ly85206559 and @vincentkoc.
- CLI output and tools: keep Unicode session and task tables aligned, fail session tailing on follow-read errors, preserve escaped Code Mode output prefixes, and retain readable grep context and literal
@-prefixed paths. Related #133776. (#133758, #133422, #132660, #133777, #131621, #133815) Thanks @Alix-007, @xialonglee, and @qingminglong. - Skills and memory wiki: recover colon-rich skill frontmatter, allow disposal of malformed proposals, and reject unsupported wiki operations and self-imported source pages; discover skill roots created after Gateway startup so newly added skills can refresh normally. Related #124486, #125139. (#122884, #124488, #123448, #125160, #134136) Thanks @xydt-tanshanshan, @obviyus, @woodym-dotcom, @wanyongstar, @rajmp999, @YouBeerMe, and @shakkernerd.
- Settings and configuration: preserve concurrent first saves, retain owners across legacy agent imports and store changes, preserve QQBot multi-account settings, and honor per-agent tool-progress detail overrides. Related #133868, #133889, #133899. (#134072, #133920, #133788, #133948) Thanks @MrSwagatRathod, @obviyus, @lsr911, @chelsealong, @ZengWen-DT, @SebTardif, @marmar9615-cloud, and @yubingjiaocn.
- Native authentication: preserve Anthropic native authentication when API keys are also stored, retain explicitly pinned npm versions during stale-runtime repair, and keep the correct pnpm installation owner after launcher respawn. Related #134004, #123616, #134037. (#134030, #128250, #134075) Thanks @obviyus, @rayseling, @SunnyShu0925, @sblindt, and @YogevKr.
- macOS ChatGPT login: finish onboarding after a same-route Gateway reconnect by resubmitting a callback only when it was never dispatched, preserving the existing login session. Related #134182. (#134268) Thanks @obviyus and @Sedrak-Hovhannisyan.
- Gateway setup and repair: require actual Gateway protocol readiness before declaring setup complete, preserve the operator’s home during sudo service installation, and allow stopping a Gateway even when its state schema is newer. Related #133273, #133953, #134000. (#133434, #133989, #134084, #133595) Thanks @obviyus, @itanyplus, and @RomneyDa.
- Diagnostics stay on target: keep embedded triage on the installation being diagnosed, and let TLS status and connection checks read certificates without creating or repairing certificate files. Related #133842, #128598, #134222. (#134244, #134223) Thanks @obviyus.
- Doctor maintenance: coordinate state repair with the matching managed Gateway, preserve its installed service definition, and verify it after any restart; use
openclaw gateway install --forcewhen you explicitly want to replace the managed launcher. Related #133957. (#134031) - Gateway restart after repair: release Doctor’s database handles before restarting, so completed session migrations no longer leave the Gateway blocked by Doctor’s own database leases. (#134429)
- Update restart ordering: let the updater control Gateway restarts through Doctor repairs and plugin setup, preventing Doctor from restarting it before the update is ready. (#134470)
- Clearer repair outcomes: report when configuration errors block state repair, fail unhealthy plugin Doctor checks, preserve newly written stability bundles, and stop warning about canonical database links and nested Git workspaces. Related #134036, #133388, #127418, #133981, #133923. (#134078, #133431, #132626, #134087, #133964) Thanks @obviyus, @YogevKr, @PollyBot13, @Alix-007, @02-dino, and @jeffsteinbok-openclaw.
- Auth archive recovery: show completed or failed interrupted recovery even when Doctor returns early or another migration is declined, preserving failed source data. Related #133881, #133962. (#134009) Thanks @angeliti999 and @shakkernerd.
- Provider configuration: migrate retired xAI image-model selections, ignore missing optional secret-backed command environment values, and report plugin-registry persistence differences instead of silently losing changes. Related #124527, #133561, #133901. (#126495, #133582, #133963) Thanks @Schimuneck, @obviyus, @tiniecookie, @pengzh1, @vincentkoc, @jodok, and @yubingjiaocn.
- Automatic update policy: keep the saved update channel authoritative after a one-off package tag, cancel discovery when checks are disabled, record failed automatic updates, and preserve recovery actions across dashboard reloads; unattended installation requires a managed Gateway service. (#134566)
- Install and channel switches: finish update-channel and installation switches using the verified installation, recover only when the installed package is safe to restart, and recognize npm installations that have no installer metadata. Related #134203. (#134397, #134475) Thanks @Patrick-Erichsen and @vyctorbrzezowski.
- Runtime capability review: show the runtime plugin source and capabilities before model activation, keep installation and the live model check in the same setup flow, and let declining or canceling end that attempt without silently choosing another connection. (#134101) Thanks @VACInc.
- Cloud result recovery: retain worker results before retiring stale owners, recover cloud sessions across Gateway restarts and cancellation, and scope recovery to the requested environment. Related #131713. (#132128, #133728, #134448) Thanks @jalehman and @shakkernerd.
- Retained conversation inputs: keep retained inputs in transcript order and prevent retired prompts from reappearing after history refresh or remount. (#134261, #134059) Thanks @VACInc.
- Model availability and routing: pair full model catalogs with native authentication results and retain the selected completion transport, so discovered models and completion requests use the intended provider. Related #134325. (#134463, #134521) Thanks @fuller-stack-dev and @goslingmanagment.
- macOS installation and sign-in: relaunch the verified app after installation and let stalled provider sign-in exit without late authentication replies reopening a retired flow. Related #134034, #134347. (#134074, #134380) Thanks @Sedrak-Hovhannisyan and @VACInc.
- Linux and npm installation: preserve Fedora and other RPM-owned Node packages when OpenClaw needs a separate SQLite-safe runtime, restore npm conflict recovery and failure diagnostics, and keep installer dry runs from downloading the terminal UI helper. Related #132828, #134201. (#134166, #134236, #134388) Thanks @beedell-roke, @ly85206559, @mohamedelrefaiy, @sallyom, and @SunnyShu0925.
- IPv6 Gateway access: keep canvas, boards, and other plugin-hosted surfaces reachable when the Gateway uses bracketed IPv6 hosts, including forwarded host headers. (#134050) Thanks @yangxiansheng.
- Browser relay admission: limit pending relay authentication and replay records per client source so one source cannot consume the shared capacity. (#134241) Thanks @mmaps.
- Credential reloads and inspection: stop SMS webhook, media, and Twilio work when its account credentials become unavailable or are superseded, and keep inactive channel credentials out of inspection. Related #133924. (#134145, #134418) Thanks @shakkernerd.
- LINE conversations: list configured peers and groups, keep typing indicators working for Gateway-driven replies, and avoid answering standby events while another channel owns the conversation. Related #133576, #133597, #133677. (#133599, #133679, #133577) Thanks @edenfunf.
- Slack image downloads: honor the configured image size limit when downloaded Slack files become tool results. (#134242) Thanks @marmar9615-cloud.
- Tool output fidelity: keep grep matches whose paths arrive as bytes and stop shell redirections or
rg --filesarguments from appearing as misleading search targets. (#133358, #133783) Thanks @darioandyoshi-tech and @ly85206559. - HTML exports: omit hidden messages from conversation cards while retaining their labeled debugging records; the HTML archive and JSONL download still contain hidden messages, so hiding is not redaction. (#134561)
- Hermes migration: preserve the selected agent’s model, supported provider metadata, MCP tool restrictions, active organization skills, and disabled skill settings; partial apply failures return a complete JSON report with a nonzero exit. (#134426)
- Plugin repair guidance: verify exact npm repair targets before suggesting a plugin update, and show a retry diagnostic when the target is unavailable. (#133617) Thanks @vladimirkrdzic.
- Gateway session memory: bound the session data loaded for lists, health, status, lookup, and cleanup, avoid retaining unused prompt snapshots, and refresh query planning after bulk deletion. (#134395, #134554, #134488, #133925) Thanks @VACInc.
- Failure diagnostics: retain the real reason in JSON log errors, preserve useful stdout alongside stderr on command failure, and report quiet npm timeouts or termination instead of blank errors. Related #127448, #134427, #134533. (#134534, #134428, #133845) Thanks @aniruddhaadak80 and @vincentkoc.
- Status and restart diagnostics: honor usage and agent-scope options in full status reports, identify active work delaying a restart, and report declared configuration accurately in triage. Related #134267. (#134269, #133154, #134416) Thanks @VACInc.
- Home and composer continuity: derive Home titles from the user message rather than its work-context snapshot, keep steady composer edits local in long conversations, and give scheduled-job controls distinct accessible names. Related #127330. (#134591, #133465, #134225) Thanks @SunnyShu0925 and @VACInc.
- Systemd version metadata: refresh obsolete version metadata during safe restarts without replacing the installed service or suppressing the restart when metadata maintenance fails. Related #134202. (#134482) Thanks @Patrick-Erichsen and @vyctorbrzezowski.
- Legacy state validation: reject unexpected JSON fields even when their key is empty during supported push, node-host, outgoing-image, and TUI state migrations. (#134577) Thanks @vincentkoc.
- Command help and completion: keep hidden commands and options out of shell suggestions, retain the accepted legacy
message read --include-threadspelling without advertising a no-op, and reject blank Gateway probe timeouts. (#134247, #134212, #134040) Thanks @marmar9615-cloud and @SunnyShu0925. - Session and shutdown ownership: retain the selected agent through global native-session operations, keep sends on the selected channel plugin, stop new outbound retry admission during shutdown, and reject language-server tools after their bundle is disposed. Related #127260, #134313. (#134314, #134564, #134381, #133340) Thanks @qingminglong and @VACInc.
Known issues
- Optional memory plugin dependency: standalone
@openclaw/memory-lancedbinstalls can still resolve an older vulnerable Sharp version through an optional Transformers dependency. The plugin’s reviewed text-embedding and vector-storage path does not load that image adapter; this dependency exposure remains a packaging follow-up. - Hindi and Korean token labels: the native app’s token-usage label reverses the wording for used and total tokens; the counts and calculations are unchanged.
Upcoming deprecations
These already-deprecated Plugin SDK import paths remain available in 2026.8.2. Their recorded removal target is 2026-09-01; plugin authors should prepare the following migrations using the Plugin SDK migration guide.
openclaw/plugin-sdk/config-runtime: useapi.pluginConfigfor plugin configuration,openclaw/plugin-sdk/config-contractsfor types,openclaw/plugin-sdk/runtime-config-snapshotfor snapshot reads, andopenclaw/plugin-sdk/config-mutationfor writes. (plugin-sdk-config-runtime-subpath)openclaw/plugin-sdk/channel-reply-pipeline: import reply pipeline helpers fromopenclaw/plugin-sdk/channel-outbound. (plugin-sdk-channel-reply-pipeline-subpath)openclaw/plugin-sdk/infra-runtime: move helpers to focused imports, includingopenclaw/plugin-sdk/delivery-queue-runtime,openclaw/plugin-sdk/diagnostic-runtime,openclaw/plugin-sdk/error-runtime,openclaw/plugin-sdk/exec-approvals-runtime,openclaw/plugin-sdk/fetch-runtime, andopenclaw/plugin-sdk/ssrf-runtime. The migration guide records that system-event snapshot inspection and consumption still have no modern public replacement. (plugin-sdk-infra-runtime-subpath)openclaw/plugin-sdk/channel-lifecycle: useopenclaw/plugin-sdk/channel-outbound. (plugin-sdk-channel-lifecycle-subpath)openclaw/plugin-sdk/channel-message: useopenclaw/plugin-sdk/channel-outboundandopenclaw/plugin-sdk/channel-inbound. (plugin-sdk-channel-message-subpath)
Complete contribution record
This audited record covers the complete 0a6c013be5f50981b12d021b387b4fd1ea7e491e..e01f53cfa01302f03fed4797b0715d11945ddd41 history: 784 in-range PRs + 0 retained seed-only PRs = 784 unique PRs. The generation manifest also supplies direct commits as editorial input; the grouped notes above prioritize user impact.
Shipped baseline exclusions: v2026.8.1 (10 PRs: #111111, #119051, #122346, #124471, #127978, #129694, #132960, #133260, #133454, #133471).
Pull requests
- PR #125269 fix(gateway): reject usage.cost agentScope=all with agentId Related #125268. Thanks @zyw02 and @obviyus.
- PR #132054 feat(ui): render cross-session messages as linked speech bubbles
- PR #125160 fix(memory-wiki): exclude vault's own pages from unsafe-local import Related #125139. Thanks @rajmp999 and @obviyus and @YouBeerMe.
- PR #133293 refactor(plugins): reuse the void hook binder
- PR #127110 fix(compaction): stop repeated transcript byte compaction Related #126900. Thanks @yu-xin-c and @obviyus and @fede-kamel.
- PR #133322 test: preserve Vitest project ownership for CLI filters
- PR #133320 fix: apply formatting-only file edits Related #133319.
- PR #133316 perf(history): reuse prepared display and session facts
- PR #133326 chore(ui): refresh control ui locales
- PR #133307 fix(telegram): preserve rich button labels in reply context Thanks @obviyus.
- PR #130327 fix(discord): prevent bots interrupting replies to other bots Thanks @PollyBot13 and @obviyus.
- PR #133329 fix(media): restore AVI attachment playback and file extensions Related #133328.
- PR #133325 refactor(tests): isolate planner environment fixtures
- PR #122884 fix(skills): generalize freeform frontmatter value recovery beyond description Thanks @xydt-tanshanshan and @obviyus.
- PR #133300 fix(agents): recover after settled failed-tool batches Related #133292. Thanks @VACInc.
- PR #132789 fix(ui): prevent dark flash on light-system reload Related #132785. Thanks @vyctorbrzezowski.
- PR #124488 fix(skills): allow disposal of malformed proposals Related #124486. Thanks @woodym-dotcom and @obviyus.
- PR #133321 fix(release): record approved Telegram waiver for 2026.8.1
- PR #133332 refactor: simplify command handler registration
- PR #133309 fix(test): keep complete multi-project JSON reports Related #133305.
- PR #124418 fix(agents): preserve file bytes in apply_patch outside the hunk Thanks @synthalorian and @obviyus.
- PR #131621 fix(agents): preserve decoded grep context and readable paths Thanks @xialonglee.
- PR #133336 fix: remove ignored arguments from agent tools Related #133333.
- PR #133241 fix: stop queued cloud work and persist canceled turns
- PR #123541 fix(sessions): branches.list stalls the event loop for ~12s on long-lived sessions Related #123540. Thanks @njuboy11 and @obviyus.
- PR #133350 improve: avoid hashing imported transcript events twice
- PR #130583 fix(google): distinguish missing search answers from malformed responses Related #130550. Thanks @Darren2030 and @jailbirt.
- PR #133353 fix(ui): explain pending voice microphone access Related #133348.
- PR #133375 docs: consolidate Crabbox guidance with shared skill
- PR #126495 fix(xai): doctor migrates retired image models in tools.media.models Related #124527. Thanks @Schimuneck and @obviyus and @tiniecookie.
- PR #133365 fix(google): avoid duplicate turn completion after voice interruption Related #133351.
- PR #133357 fix(ci): make Telegram release tests best effort
- PR #123432 fix(agents): default agent-run admissions to static catalog mode Thanks @xialonglee and @obviyus.
- PR #133373 fix: reject unsupported Testbox no-sync runs
- PR #133362 perf: reduce repeated prompt and plugin metadata work
- PR #133355 fix(codex): explain unavailable selected auth profiles Related #113169. Thanks @vincentkoc and @Jeehut.
- PR #133153 refactor: remove channel docking and manual session focus
- PR #133378 improve: update initialized transcript windows directly
- PR #133352 chore(ui): refresh control ui locales
- PR #123194 fix(mcp): cap HTTP/SSE response bodies before SDK parse Related #101554. Thanks @SebTardif and @obviyus and @aniruddhaadak80.
- PR #133061 fix: keep Gateway and Control UI responsive during concurrent session updates Related #133053.
- PR #133384 fix(ui): avoid voice session expiry while waiting for microphone access Related #133359.
- PR #133401 docs: clarify provider normalization ownership
- PR #132799 fix(ui): unify connected composer stack surface Related #132796. Thanks @vyctorbrzezowski.
- PR #132787 fix(ui): integrate Goal mode into the composer Related #132786. Thanks @vyctorbrzezowski.
- PR #133404 docs: retire historical implementation plans
- PR #133409 refactor(ui): simplify outbox custody and draft persistence
- PR #133407 fix(channels): preserve long WhatsApp replies with less formatting work
- PR #133413 refactor(settings): restore one storage load path Thanks @obviyus.
- PR #133356 test: reuse performance workflow repository fixtures
- PR #133402 fix(ui): hide URL tooltips while rich cards are open Related #133397.
- PR #133410 fix(ui): avoid restoring retired voice transports after restart failure Related #133387.
- PR #133399 fix(openrouter): reject malformed catalog envelopes Thanks @vincentkoc.
- PR #133382 fix: preserve conversation order across session catalogs Related #133377.
- PR #125755 feat(beam): add readable transcript share URLs Related #125752.
- PR #133420 refactor(plugins): consolidate registry snapshot test fixtures
- PR #133422 fix(cli): keep sessions tail columns aligned for Unicode keys
- PR #133403 improve: reduce transcript import watermark overhead
- PR #133424 perf(media): avoid redundant attachment scans and base64 round trips
- PR #133411 fix(maintainers): block rewritten contributor squashes Thanks @vincentkoc.
- PR #133427 improve: speed up Git workflow fixture execution
- PR #133433 chore(ui): refresh control ui locales
- PR #133076 fix(agents): stop queued Swarm collectors with their parent Related #131553.
- PR #133434 fix: keep Model Setup pending until Gateway settings are active Related #133273.
- PR #133369 fix(ui): hide redundant error details Related #133367. Thanks @vyctorbrzezowski.
- PR #133425 fix: preserve uploader identity in Beam transcripts
- PR #133440 fix(ui): allow discarding unconfirmed messages blocking the queue
- PR #133423 fix(release): accept protected-tag npm preflight candidates
- PR #129847 fix(voice-call): preserve call capacity after storage failure Related #129473. Thanks @aniruddhaadak80.
- PR #133438 test: reuse publish workflow repository fixtures
- PR #133426 fix(ci): keep full release evidence out of argv
- PR #133437 improve(ui): remove media device refresh buttons
- PR #133451 fix: release idle desktops and await cleanup before reuse
- PR #133441 fix: native Codex session usage stays zero after /new Related #133346.
- PR #133429 fix(gateway): reduce control-plane stalls during concurrent turns
- PR #133458 chore(ui): refresh control ui locales
- PR #133453 refactor(agents): reuse Workshop text result envelopes
- PR #133463 feat(beam): name share URLs after their sessions
- PR #133446 improve: reduce session import, compaction, and UI startup overhead
- PR #133466 perf: reduce repeated diagnostic lifecycle scans
- PR #133467 fix(ci): update Kova gateway-call contract pin Thanks @RomneyDa.
- PR #133474 refactor(ui): simplify chat message rendering and recovery
- PR #133473 fix(talk): report browser input transcription failures Related #133448.
- PR #133363 improve(ui): shimmer while GitHub link previews load
- PR #133452 fix(status): preserve prepared context windows Related #133405. Thanks @vincentkoc and @Finn763 and @ahmedsaed.
- PR #132660 fix(cli): fail sessions tail on follow read errors Thanks @Alix-007.
- PR #133485 fix(codex): wait for Linux process command readiness
- PR #133349 fix(usage): correct cached long-context cost estimates Related #133343.
- PR #133483 perf(markdown): reuse fallback and table preparation
- PR #117527 fix(tts): preserve canonical voice selections through normalization
- PR #133472 fix: Stop waits for pending SSH workspace cleanup Related #133455.
- PR #132798 fix(ui): keep Inbox tabs stable across empty categories Related #132795. Thanks @vyctorbrzezowski.
- PR #133484 fix(voice-call): fence obsolete automatic replies Related #112360. Thanks @DonShelly.
- PR #133417 fix(ui): preserve explicit theme while reconnecting Related #133416. Thanks @vyctorbrzezowski.
- PR #133460 fix(beam): omit mixed Claude tool content and preserve snapshot state
- PR #133492 docs(ci): correct performance lane auth and scheduling
- PR #133494 fix(ui): preserve the original error when a Control UI build fails
- PR #133469 feat(sessions): default session tools to agent visibility Related #133456.
- PR #133489 fix: avoid repeated naming and regressing session startup progress Related #133488.
- PR #133498 fix(release): allow guarded stable Docker recovery
- PR #133491 perf(process): reuse capacity facts within group selection
- PR #133439 feat(ui): identify sending agents on forwarded messages
- PR #133461 fix: isolate conversation bindings and align subagent command targets
- PR #133496 improve: speed up legacy session transcript imports
- PR #133443 fix(line): pace block replies with the agent's humanDelay Related #133430. Thanks @edenfunf.
- PR #133505 test(docker): retain self-upgrade failure diagnostics
- PR #133506 fix(release): preserve frozen plugin prerelease context Thanks @RomneyDa.
- PR #133504 fix(docker): restore container CLI access with custom host ports Related #133503.
- PR #133368 fix(ci): drain plugin publication Git before trust and readback
- PR #133509 refactor: share ordered Claw update rollback handling
- PR #133495 feat(ui): add CRT terminal theme
- PR #133519 fix(ui): deduplicate participant and viewer avatars
- PR #133493 fix(talk): preserve provider conversation order in browser transcripts Thanks @vmbbz.
- PR #133470 fix(ui): replace startup hourglasses with capacity-aware rings Related #133464.
- PR #133532 test(auto-reply): prepare memory flush model capabilities
- PR #133508 refactor(ui): consolidate chat rendering ownership
- PR #133518 perf(plugins): avoid eager loader imports for active registry reads
- PR #133364 refactor(plugins): simplify registration lifecycle policy
- PR #133521 refactor(agents): simplify compaction accounting
- PR #132895 fix(line): offer the card command only on LINE Thanks @edenfunf.
- PR #133512 perf(agents): prepare only consumed tool and skill diagnostics
- PR #133527 perf(terminal): reuse control scans and simplify sanitization
- PR #133221 fix(models): recover /models browse from a replaced prepared catalog Related #133166. Thanks @chelsealong and @vincentkoc and @r3n3x.
- PR #133533 fix(beam): resume sharing when the mirror receiver changes
- PR #133544 chore(ui): refresh control ui locales
- PR #133542 fix: prevent duplicate queued user messages in chat clients
- PR #133543 fix(agents): recognize internal requester completion replies
- PR #133548 refactor(ui): avoid redundant presence work in avatar lists
- PR #133547 fix(clawdock): keep credentials out of diagnostic output Related #133535.
- PR #133560 fix(memory): clarify default agent scope in command help Related #133559.
- PR #133554 test: guard multi-project Vitest cache ownership
- PR #133557 docs: add draft v2026.8.1 release notes Thanks @hannesrudolph.
- PR #133546 improve: speed up legacy imports and transcript replacement
- PR #133566 test: reduce maturity fixture cleanup time
- PR #133567 refactor(ui): simplify chat rendering and lifecycle state
- PR #133507 fix(voice): discover configured provider candidates Thanks @itkdm.
- PR #133571 fix(browser): preserve contextless worker and iframe sessions Related #133569.
- PR #133585 docs: add complete v2026.8.1 maintainer change index Thanks @hannesrudolph.
- PR #133549 fix(package): publish readable dist inventory Thanks @RomneyDa.
- PR #133525 fix(release): detect optional target E2E capability Thanks @RomneyDa.
- PR #133526 fix(e2e): keep delete fixture target-compatible Thanks @RomneyDa.
- PR #133476 fix: stop cloud work before unrelated provider inspection finishes
- PR #133581 test: include v2026.8.1 release navigation Thanks @fuller-stack-dev.
- PR #133552 fix(cron): keep read RPCs from blocking the gateway Related #133442. Thanks @vincentkoc and @josephbergvinson.
- PR #133568 test: isolate shared /tmp session-store paths in runner and health suites
- PR #133584 fix(plugins): keep bundled plugins bundled when selected by plugins.load.paths
- PR #133565 perf: load web chat history in larger, faster batches
- PR #133598 perf(browser): reuse snapshot refs and screenshot metadata
- PR #133594 refactor(docker): retire ClawDock shell helpers Related #133587.
- PR #133383 fix(media): preserve Matroska extensions after byte detection Thanks @ly85206559.
- PR #133588 test: reduce workflow sanity fixture cleanup time
- PR #133572 fix: correct MCP URI schema resolution with patched fast-uri Related #133558.
- PR #133575 fix(ui): wait for restored draft before clearing Thanks @vincentkoc.
- PR #133556 fix(ui): keep branch and editor tooltips beside their buttons Related #133553.
- PR #132830 improve(memory-lancedb): reduce plugin startup memory Thanks @jason-allen-oneal.
- PR #132151 docs(line): scope the loading animation to one-to-one chats Thanks @edenfunf.
- PR #133601 fix(channels): include nested channel diagnostics in logs Related #133600.
- PR #133589 fix(release): preserve waiver context when reusing validation
- PR #133580 fix(sandbox): preserve file data and 308 redirects on Python 3.9 Related #133573, #133574.
- PR #133591 docs: lead v2026.8.1 notes with install and downgrade guidance Thanks @hannesrudolph.
- PR #132918 fix(line): apply a group's wildcard defaults to its own entry Thanks @edenfunf.
- PR #132366 fix: avoid malformed Unicode at runtime text limits Thanks @ly85206559.
- PR #133386 fix(media): transcode byte-detected ASF audio Thanks @ly85206559.
- PR #133570 test: consolidate model and plugin metadata fixtures
- PR #133578 fix: clear stale binding owners and restore global subagent status
- PR #128151 docs(channels): document per-account channels.start/stop recovery and selfChatMode Related #127954. Thanks @LiuwqGit and @markswitch83.
- PR #132170 fix(imap): keep email prompt truncation code-point-safe Thanks @harjothkhara.
- PR #133595 fix: gateway stop fails with a newer state schema Thanks @RomneyDa.
- PR #133607 perf(terminal): prepare table home formatting and flex growth
- PR #133579 perf: separate static provider catalogs from live discovery
- PR #133610 fix(media): quoted file charsets corrupt extracted text Related #133608.
- PR #132641 fix(cli): reject explicit empty nodes RPC --timeout instead of defaulting Thanks @xydt-juyaohui.
- PR #133342 fix(ui): remove duplicate emoji from error alerts Related #133341. Thanks @vyctorbrzezowski.
- PR #133611 improve: reduce legacy transcript scanning overhead
- PR #133477 perf(gateway): reuse prepared facts across control-plane reads
- PR #133620 docs: link v2026.8.1 release story Thanks @hannesrudolph.
- PR #133609 perf(test): prepare source Gateway runtimes before live shards
- PR #133615 fix(tts): keep internal reasoning out of spoken summaries Related #90364. Thanks @camball-strategies.
- PR #133457 fix: retain accepted browser follow-ups across restarts
- PR #133605 fix: keep run output token counts cumulative and recoverable Related #133562.
- PR #128379 feat(browser): standalone extension relay daemon with native-host wake-up
- PR #133614 fix(browser): prefer CDP for managed role snapshots Related #133514. Thanks @vincentkoc and @josephbergvinson.
- PR #133604 refactor(config): avoid evaluating type-only configuration modules
- PR #133613 fix(talk): honor advertised transcription model selections Thanks @lsr911.
- PR #133523 fix(release): resolve frozen candidate entrypoints Thanks @RomneyDa.
- PR #133524 fix(release): seal frozen candidate package metadata Thanks @RomneyDa.
- PR #133192 fix(subagents): atomically persist blocked completion alerts Related #133058. Thanks @shojikumaru and @vincentkoc and @potterdigital.
- PR #133626 chore(autoreview): sync reviewer-led credential checks Thanks @Patrick-Erichsen.
- PR #133627 perf(state): streamline SQLite schema comparison
- PR #133639 chore(ui): refresh control ui locales
- PR #133490 feat(ui): organize session menus and combine appearance controls Related #133480.
- PR #133634 perf(test): shorten escaped-output timeout grace
- PR #133635 perf: speed up chat history preparation
- PR #133638 feat(ui): add a preference to hide empty session groups Related #133629.
- PR #133502 fix(config): avoid repeated health-state startup warnings Thanks @RomneyDa.
- PR #133640 docs: guide routine Gateway updates through their installation owner
- PR #133631 fix(test): retire repository test APIs after non-isolated files Related #133630.
- PR #133656 test(plugins): drive plugin tool registry reuse through the real seam
- PR #133622 fix(update): show reliable progress and final outcomes
- PR #133643 improve(ui): tuck Setup preferences into Advanced settings
- PR #133641 improve: speed up legacy session transcript imports
- PR #130207 fix(docs): respect nested fenced code boundaries Thanks @qingminglong.
- PR #133652 test: assert release navigation shape instead of pinned versions
- PR #133657 improve(ui): capitalize permission mode names
- PR #133655 fix(node-host): report container hosting startup failures in the native worker Related #133654.
- PR #133663 fix: identify cloud worker bootstrap failures
- PR #133659 perf(logging): reuse prepared diagnostic facts
- PR #133516 improve: quiet Discord and Slack progress Related #133479.
- PR #133551 fix: prevent cloud session lifecycle actions from hanging behind worker moves
- PR #132998 fix(infra): preserve block boundaries for attributed p and div tags Related #132969. Thanks @pengzh1 and @yifanxiong272.
- PR #133665 docs: link v2026.8.1 release notes to feature guides Thanks @hannesrudolph.
- PR #133624 fix(scripts): preserve protected GitHub CLI routing
- PR #133670 perf(test): trim fixture subprocess overhead
- PR #133672 chore(ui): refresh control ui locales
- PR #133667 fix(xai): distinguish missing answer text from malformed JSON
- PR #133671 fix(config): refresh stale docs baseline for merged settings
- PR #127147 fix: preserve binding ownership and task visibility Related #127141.
- PR #133664 fix(ui): keep non-Git agent workspaces usable for new sessions
- PR #133668 fix(sessions): keep failed deletions in cleanup accounting
- PR #133447 feat(workers): snapshot prepared projects before session enrollment Related #133436, #133450.
- PR #133666 test: validate upgrades from latest stable
- PR #133669 refactor(ui): consolidate forwarded message presentation
- PR #133680 perf: load retained chat history faster
- PR #132407 fix: apply workspace permission changes to active runs Related #131947. Thanks @jalehman.
- PR #133675 fix(release): consume verified historical release evidence
- PR #133691 perf(sessions): reuse opaque-key matchers and pruning cursors
- PR #133673 refactor: use canonical installed-plugin index in post-upgrade doctor
- PR #133689 improve: reduce CPU overhead during session imports
- PR #132773 fix(ui): preserve typing on new session page Related #132783. Thanks @vyctorbrzezowski.
- PR #133684 fix(cli): recover invalidated control-only resumes Related #133475. Thanks @vincentkoc and @jakestenger.
- PR #130258 docs: document node install --no-tls option Thanks @qingminglong.
- PR #133696 test: simplify runner fixtures and cover in-flight mock registration
- PR #133683 fix(gateway): reduce control-plane stalls during concurrent turns
- PR #133708 chore(ui): refresh control ui locales
- PR #133712 test(line): remove redundant adapter and webhook checks
- PR #133697 fix(sessions): count successful zero-byte artifact deletions Related #133681.
- PR #133706 refactor(browser): simplify relay lifecycle helpers
- PR #133688 fix: dependency audits miss published upstream advisories Related #133685.
- PR #133698 refactor(cli): make update help and planning faster
- PR #133710 perf(normalization): reuse schema branches and JSON traversal state
- PR #133705 refactor(ui): simplify workspace discovery and preference restoration
- PR #133713 refactor(ui): unify working indicator status rendering
- PR #133586 fix: retain debug capture headers from Undici requests
- PR #133718 fix(ui): keep submenu parent rows highlighted Related #133711.
- PR #133714 refactor: simplify quiet channel progress rendering
- PR #133707 fix(apple): stop JSON numbers becoming booleans Related #133704.
- PR #122632 docs(cli): complete config and backup command tree Thanks @Adkid-Zephyr.
- PR #131684 docs: document node installed-app sharing flags Thanks @qingminglong.
- PR #133726 improve: speed up managed worktree test fixtures
- PR #133582 fix(commands): ignore missing SecretRef passEnv values Related #133561. Thanks @pengzh1 and @vincentkoc and @jodok.
- PR #132738 fix(agents): deprioritize inter-session turns Related #70634. Thanks @sylvesterkaczmarek and @obviyus and @ewrurwteurwU.
- PR #133701 test: consolidate CJK estimator coverage at its owner
- PR #133717 test: require complete non-isolated runner evidence
- PR #123737 fix(compaction): reject summaries foregrounding superseded tasks Related #123668. Thanks @wangyan2026 and @obviyus and @andersonjeccel.
- PR #133737 test: consolidate token formatting coverage at its owner
- PR #133725 improve: prepare the first cloud-session runtime archive faster
- PR #133623 docs: remove v2026.8.1 draft warning Thanks @hannesrudolph.
- PR #133741 test(qa): remove duplicate summary file-reader checks
- PR #133745 test: remove redundant plugin construction and stream smoke checks
- PR #133361 fix(cli): reject partial approval grant limits Thanks @qingminglong.
- PR #133739 fix(macos): redact values marked private in app logs Related #133736.
- PR #133742 improve: speed up session imports with less code
- PR #133748 test(agents): remove duplicate apply-patch byte-preservation cases
- PR #133682 fix(ui): center the working claw in chat layout Thanks @Patrick-Erichsen.
- PR #133734 improve: load 800 chat messages with less layout work
- PR #133593 feat(ui): add Manuscript, Rosé, and Miami themes
- PR #133732 perf(tooling): simplify guard preparation and bound alias copies
- PR #133746 refactor: test conflict markers through the real scanner
- PR #133744 fix(ui): preserve worktree base branch across reconnects
- PR #133756 test(macos): remove reintroduced onboarding subset checks
- PR #132853 fix(update): fail closed when gateway service state is unknown Thanks @jason-allen-oneal and @obviyus.
- PR #133754 refactor(meetings): share command argv splitting Thanks @vincentkoc.
- PR #133764 docs: link latest release notes from changelog Thanks @hannesrudolph.
- PR #133761 chore(ui): refresh control ui locales
- PR #133762 test(ui): remove redundant title and working-phrase renders
- PR #133628 fix(ui): preserve offline drafts and resume canceled queue edits Related #133555, #133603.
- PR #133759 test: remove identical core fixture replays
- PR #133753 fix: reduce memory spikes when preparing long session histories Related #133738.
- PR #133740 fix(macos): unblock builds with custom SwiftPM scratch paths
- PR #133765 refactor(xai): remove unused web-search credential test seam
- PR #133722 docs: retire redundant guides and fix gateway package instructions
- PR #133646 chore(cron): remove duplicate Shanghai schedule assertion Thanks @RomneyDa.
- PR #133645 chore(test): remove docs spellcheck source mirror Thanks @RomneyDa.
- PR #133644 chore(parallel): remove duplicate session ID test seam Thanks @RomneyDa.
- PR #132903 improve(tasks): bound task list page selection Thanks @jason-allen-oneal and @obviyus.
- PR #123416 fix(plugins): preserve bundled provider compat across allowlists Related #123297. Thanks @lonexreb and @obviyus and @bradenmcleish.
- PR #133774 test: release wizard progress fixture listeners
- PR #133790 docs: publish 2026.8.1 release notes and macOS update feed
- PR #133770 test: remove repeated agent transport and recovery fixtures
- PR #130370 fix(system-agent): normalize route-neutral roster entries Thanks @RomneyDa.
- PR #133324 fix(tts): deliver tool audio in private reply mode Related #83636. Thanks @obviyus and @TurboTheTurtle and @clawSean and @Conan-Scott.
- PR #133771 test(cli): keep parser coverage without formatter self-comparison
- PR #132716 feat(test): compile subprocesses once per invocation
- PR #133787 fix(ci): deduplicate Control UI skeleton styles Thanks @fuller-stack-dev.
- PR #133499 fix(imessage): keep replies in the current conversation Related #133468. Thanks @omarshahine.
- PR #133760 test: isolate fs-safe default mode fixtures
- PR #133769 test: avoid duplicate fs-safe boundary scans
- PR #133796 fix(ui): restore attachment stylesheet build budget
- PR #133678 refactor(context-engine): simplify compaction and turn handoffs
- PR #133715 fix: preserve agent ownership across global sessions and bindings
- PR #133779 test: consolidate audio contract fixtures
- PR #133807 docs: link the verified 2026.8.1 Mac DMG
- PR #133801 perf(update): reduce preflight work and unattended prompts
- PR #131669 fix(workers): honor session tool policies on cloud sessions Related #131661. Thanks @anyech and @sallyom.
- PR #132083 fix(line): name the inline emoji LINE leaves as bare parentheses Related #132082. Thanks @edenfunf.
- PR #133520 fix(agent): always reply after settled tool work Thanks @fuller-stack-dev.
- PR #132628 fix(line): do not introduce the bot in a room it may not act in Thanks @edenfunf.
- PR #133798 improve: load and scroll chat history with less repeated work
- PR #123448 fix(memory-wiki): reject unknown wiki_apply ops instead of falling back to update_metadata Thanks @wanyongstar.
- PR #133304 fix(cli): skip the startup config guard for plugin authoring commands Related #133303. Thanks @ruel225.
- PR #133791 fix(ui): keep rewind confirmation controls accessible
- PR #124688 docs(docker): warn against single-file binding openclaw.json Thanks @ericcaiwx-star and @cursoragent.
- PR #125184 fix(outbound): skip code-span placeholders consumed by tag stripping Thanks @wanyongstar.
- PR #133809 fix(update): keep persisted and printed completion durations consistent
- PR #130280 refactor(infra): share error cause reader Thanks @vincentkoc.
- PR #133674 fix(media): omit English prompts during audio language autodetection Related #123305. Thanks @synthalorian and @aleps001.
- PR #133794 test: simplify WhatsApp formatting oracles
- PR #133616 perf(qa): run isolated live transports with bounded concurrency
- PR #133812 perf(ci): stripe the tallest node test group across three jobs
- PR #133817 fix(ui): reload projects after startup identity resolves
- PR #133818 docs: correct session migration and discovery guidance
- PR #133826 test(ui): remove duplicate catalog display assertions
- PR #133831 docs: correct SQLite downgrade restore guidance
- PR #133821 test(qa): join fixture owners before removing resources
- PR #133830 test(ai): avoid runtime barrel in environment key tests
- PR #133804 docs(session): document the fixed main-session key
- PR #133763 perf(plugins): prepare doctor owners without obsolete setup imports
- PR #133530 fix(cli): distinguish Gateway service prompts from CLI installation Thanks @RomneyDa.
- PR #118282 fix(doctor): import historical exec approval metadata Related #118242. Thanks @obviyus and @sercada.
- PR #133822 perf: shrink cloud bootstrap archives and memory use
- PR #123245 fix(minimax): report malformed speech responses clearly Thanks @coaiMax.
- PR #133833 test(ci): streamline Docker pull retry fixtures
- PR #133766 fix(docs): document nodes invoke transport timeout Thanks @qingminglong.
- PR #133834 test(tooling): batch conflict marker fixtures
- PR #133824 test: remove redundant fixture and helper probes
- PR #133835 test(docs): batch docs list CLI fixtures
- PR #117199 fix(plugins): load packaged TypeScript plugins consistently
- PR #133838 test(tooling): inspect formatter failure once
- PR #133851 docs: identify v2026.8.1 release notes link Thanks @hannesrudolph.
- PR #133839 test(retry): unify Retry-After coverage at scheduler owner
- PR #133832 fix(pr): avoid drain delays from detached Git maintenance Related #133825.
- PR #133846 test(media): mock QR runtime at loader boundary
- PR #133837 refactor(agents): share trailing empty-line trimming Thanks @vincentkoc.
- PR #133782 improve(gateway): reduce repeated turn preparation work
- PR #133816 test: await QA deadline unwind without sleeps
- PR #133842 fix(cli): preserve triage diagnostics when the Gateway is offline
- PR #133854 perf(ci): balance process-heavy tooling checks
- PR #133866 test(signal): drive control-lane clocks deterministically
- PR #133853 test(plugins): advance lifecycle lease contention virtually
- PR #133872 test(feishu): prove concurrent sends without wall-clock waits
- PR #133869 fix(install): repair set-npm-prefix rc line and surface silent finalization failures
- PR #133857 fix(ui): re-accent CRT as the monochrome white console
- PR #133661 fix(cron): preserve complete JSON when run output is piped
- PR #133865 perf(ci): balance release verification work and trim runtime builds
- PR #133859 test(gateway): exercise authorized exec suppression
- PR #133695 fix(models): refresh native pricing without pinning defaults
- PR #133751 refactor(ui): retire grandfathered oversized chat modules
- PR #133873 perf(gateway): batch bounded operator request starts
- PR #124293 fix(infra): unify Windows process identity reads [AI-assisted] Thanks @Chinmayrawat15 and @obviyus.
- PR #133870 improve: load Control UI history with less blocking
- PR #133874 test(ui): consolidate duplicate owner coverage
- PR #133887 refactor(infra): share Git commit prefix matching Thanks @vincentkoc.
- PR #133840 perf(queue): prepare snapshots and bounded diagnostic pruning
- PR #133536 fix(ui): restore text selection and simplify GitHub code copying Related #131201. Thanks @RomneyDa and @Grynn.
- PR #133875 test: consolidate IRC socket fixture lifetimes
- PR #133863 perf(ci): use runtime build for browser extension proof
- PR #133337 fix(plugins): normalize file URLs for native require Related #133306. Thanks @sunlit-deng and @easyteacher.
- PR #133861 fix: prevent duplicate initial prompts during workspace preparation Related #133719.
- PR #133867 fix(ci): honor measured durations for split test groups
- PR #133811 fix(voice-call): prevent phantom calls from late callbacks Thanks @ruel225.
- PR #133802 improve: speed up session projection indexing with less code
- PR #133876 test: simplify plugin slot selection oracles
- PR #133919 perf(imessage): prepare code marker offset shifts once
- PR #133768 test: exercise tooling owners instead of private facades
- PR #133858 fix(cron): preserve valid jobs during SQLite migration Related #133347. Thanks @fuller-stack-dev and @ejc3.
- PR #133619 fix(line): let the configured policy turn off quote-as-mention Related #133618. Thanks @edenfunf.
- PR #133841 refactor(cli): consolidate precomputed help caching
- PR #133916 docs: clarify Swarm progress across chat clients
- PR #133903 perf(gateway): reuse owned history snapshots
- PR #133781 fix(cli): reject blank channels capabilities --timeout instead of defaulting Thanks @marmar9615-cloud and @SunnyShu0925.
- PR #133777 fix: preserve escaped Code Mode output prefixes Related #133776.
- PR #127524 docs: clarify ${VAR} substitution doesn't reach .env file values Thanks @dkling-it.
- PR #133949 fix(ui): prevent blank splash proof captures
- PR #133948 fix(doctor): preserve QQBot multi-account configuration Related #133899. Thanks @obviyus and @yubingjiaocn.
- PR #132626 fix(logging): preserve newly written stability bundles Related #127418. Thanks @Alix-007.
- PR #133927 refactor(plugins): share LLM completion error construction Thanks @vincentkoc.
- PR #133943 test(feishu): consolidate retry policy coverage
- PR #129475 fix(postinstall): avoid registry state migration Related #128782. Thanks @BryanTegomoh and @obviyus and @BillVerhelle.
- PR #133773 fix(doctor): allow legacy exec approvals migration Thanks @dailytrap and @obviyus.
- PR #124286 [AI-assisted] docs(android): clarify fork/source builds need own signing identity Related #119609. Thanks @santhiprakash and @minoosara5426-prog.
- PR #133877 test: restore inherited logging environment
- PR #133431 fix(cli): fail unhealthy plugin doctor checks Related #133388. Thanks @PollyBot13 and @obviyus.
- PR #124415 fix(plugins): keep official plugins aligned with targeted beta updates Related #97680. Thanks @synthalorian and @chac4l.
- PR #133395 fix(canvas): preserve Windows pnpm shim arguments Thanks @ly85206559.
- PR #133945 fix(docs): rerun failing validation after translation repair
- PR #133973 fix(channels): explain skipped account recovery starts Related #133954.
- PR #133878 test: consolidate Slack thread-root predicate cases
- PR #133942 test(ui): classify workspace icon fetch failures
- PR #133915 refactor(media): simplify image helper tests
- PR #133964 fix(doctor): stop warning for nested Git workspaces Related #133923. Thanks @obviyus and @jeffsteinbok-openclaw.
- PR #133986 refactor(core): share UTF-16 ellipsis truncation Thanks @vincentkoc.
- PR #133879 test: drain subsystem log writes before cleanup
- PR #128250 fix(doctor): preserve explicit npm pin during stale runtime repair Related #123616. Thanks @SunnyShu0925 and @obviyus and @sblindt.
- PR #133993 test(scripts): share approved package patch fixtures
- PR #133880 test: simplify Gradium request fixtures
- PR #133913 feat(scripts): materialize the scripts/pr trust anchor for mismatched worktrees
- PR #133908 fix(update): complete package lifecycle outside dist inventory Thanks @obviyus.
- PR #133917 test: simplify bound-account routing fixtures
- PR #134013 test: await bounded concurrency task starts directly
- PR #133970 perf(agents): reuse loaded provider hooks during error handling
- PR #133976 fix(node): fence cancelled worker bundle installation
- PR #134011 refactor(sessions): share session entry admission Thanks @vincentkoc.
- PR #133979 fix(reply): report failures after a turn is accepted Related #133960.
- PR #133975 test(searxng): remove an unused normalization test exposure
- PR #133729 fix(completion): preserve Windows PowerShell profile encoding Thanks @ly85206559.
- PR #133788 fix(agents): honor per-agent toolProgressDetail overrides Thanks @marmar9615-cloud.
- PR #133989 fix(gateway): require protocol evidence for readiness Related #133953.
- PR #133944 test: simplify cron delivery planning fixtures
- PR #133983 fix(cli): resolve agent ownership only where setup needs it Related #133959.
- PR #133965 fix(ui): release evicted chat transcript payloads Related #133939.
- PR #134019 test(whatsapp): exercise real outbound target policy
- PR #129145 fix: every agent attempt re-hashes unchanged tool descriptions because the report digest cache can never hit Related #129116. Thanks @quangtran88.
- PR #134030 fix(anthropic): preserve native auth with stored API keys Related #134004. Thanks @obviyus and @rayseling.
- PR #133815 fix(agents): preserve literal @-prefixed session paths Thanks @qingminglong.
- PR #133961 test: share daemon inspection fixture cleanup
- PR #133982 fix(workspace): verify migration readiness before accepting work Related #133951.
- PR #133444 fix(doctor): preserve disabled shared heartbeat owners Related #133389. Thanks @PollyBot13 and @obviyus.
- PR #133968 fix(tts): honor delivered audio when finalizing turns
- PR #134023 test(release): assert current wizard admission contract
- PR #133974 test(build): import stamp writers from their shared owner
- PR #134007 perf(heartbeat): reduce queue and diagnostic snapshot scans
- PR #134028 perf(browser): avoid redundant snapshot traversal allocations
- PR #133966 test: simplify Microsoft speech fixtures
- PR #134027 fix(macos): avoid release packaging failures and slow notes
- PR #134002 fix: keep stable-upgrade validation compatible with older installs
- PR #134025 fix: prevent Doctor from rolling back migratable config Related #90551. Thanks @obviyus and @stuart-minion-ai.
- PR #133967 test: restore native OS module after tool-manager cases
- PR #134052 fix(resources): preserve source scope for Windows path casing Thanks @vincentkoc.
- PR #133963 fix(plugins): report registry persistence differences Related #133901. Thanks @obviyus and @yubingjiaocn.
- PR #133969 test: consolidate link-understanding runner cases
- PR #133904 perf(approvals): reuse redaction views and bounded text checks
- PR #133896 docs: offer local coding harness help for failed updates
- PR #133892 test: remove native Promise conformance replays
- PR #134018 fix(voice-call): preserve current settings during legacy migration Related #127596.
- PR #133971 test: share broad tooling routing assertions
- PR #134008 refactor(agents): avoid unnecessary failure classification
- PR #134054 ci: resolve OpenGrep base before fetching history Thanks @lsr911 and @obviyus and @chelsealong and @ZengWen-DT and @SebTardif.
- PR #134039 test(scripts): batch distribution import fixtures Thanks @lsr911 and @obviyus and @chelsealong and @ZengWen-DT and @SebTardif.
- PR #134075 fix(update): retain pnpm owner across launcher respawn Related #134037. Thanks @obviyus and @YogevKr.
- PR #133891 test(parallel): assert user agent at the request boundary Thanks @lsr911 and @obviyus and @chelsealong and @ZengWen-DT and @SebTardif.
- PR #134033 fix(matrix): drain monitor tasks before retiring clients Thanks @lsr911 and @obviyus and @chelsealong and @ZengWen-DT and @SebTardif.
- PR #134044 fix(channels): isolate unavailable accounts from gateway diagnostics Related #133977. Thanks @lsr911 and @obviyus and @chelsealong and @ZengWen-DT and @SebTardif.
- PR #133920 fix(config): preserve owners across legacy roster imports and store changes Related #133868, #133889. Thanks @lsr911 and @obviyus and @chelsealong and @ZengWen-DT and @SebTardif.
- PR #133947 fix(talk): keep Browser Talk agent-consult turns out of user chat history Related #133855. Thanks @chelsealong and @lsr911 and @obviyus and @ZengWen-DT and @SebTardif and @Conan-Scott.
- PR #133912 fix: preserve policy owners across reviews and compaction Thanks @lsr911 and @obviyus and @chelsealong and @ZengWen-DT and @SebTardif.
- PR #133991 fix(doctor): prune stale path install records shadowed by load paths Related #133935. Thanks @ZengWen-DT and @obviyus and @lsr911 and @chelsealong and @SebTardif and @JeffSteinbok.
- PR #89636 fix(secrets): collect persona-level TTS provider SecretRefs Related #89607. Thanks @SebTardif and @lsr911 and @obviyus and @chelsealong and @ZengWen-DT and @pablonunoutande-source.
- PR #119201 fix(state-migrations): isolate a throwing channel plan callback into a warning (#119200) Related #119200. Thanks @ruel225.
- PR #133893 test(discord): consolidate successful request signal coverage
- PR #134064 perf(security): prepare external content scans once
- PR #134029 fix(agents): preserve provider ownership in error diagnostics Related #134012.
- PR #134098 fix(codex): preserve conversations across app-server restarts
- PR #133890 test(logging): exercise canonical owners without duplicate checks
- PR #134107 ci: typecheck graphs that consume changed tests
- PR #134082 test(shared): simplify text assertions
- PR #134084 fix(gateway): sudo install no longer writes root state Related #134000. Thanks @obviyus and @itanyplus.
- PR #134087 fix(memory): stop legacy warnings for canonical database links Related #133981. Thanks @obviyus and @02-dino.
- PR #134078 fix(doctor): report state blocked by config errors Related #134036. Thanks @obviyus and @YogevKr.
- PR #134165 fix: restore channel recovery after crash-loop suppression Related #134134. Thanks @shakkernerd.
- PR #134118 test(scripts): call package consent parser directly
- PR #134195 docs: restore v2026.8.1 editorial release page Thanks @hannesrudolph.
- PR #134121 test(scripts): share Android catalogs and strengthen scanner assertions
- PR #134103 fix(agents): carry classified provider facts into assistant failure copy Thanks @obviyus.
- PR #134122 test(scripts): assert each dated TODO exclusion
- PR #134133 test(scripts): batch accepted Docker stats fixtures
- PR #133958 fix(talk): honor configured owners for default sessions
- PR #134149 test(imessage): reuse RPC client imports
- PR #134031 fix(doctor): coordinate explicit repair with the managed gateway Related #133957.
- PR #134017 test(scripts): avoid duplicate SDK sync cycles
- PR #134140 ci: remove a serial release candidate queue hop
- PR #134080 test(ai): colocate JSON parser coverage
- PR #134086 test(ai): colocate model utility coverage
- PR #134072 fix(settings): preserve concurrent first saves Thanks @MrSwagatRathod and @obviyus.
- PR #134091 test(gateway): await scope upgrade cancellation signals
- PR #134092 test(scripts): exercise real iOS team selection
- PR #134073 fix(codex): avoid import timeouts in large native homes Related #133929.
- PR #134094 test(agents): derive prompt handle identity from fixture
- PR #134108 test(infra): await APNS request lifecycle signals
- PR #134176 perf(gateway): reduce repeated session snapshot copying
- PR #134102 test: bound concurrency startup observations
- PR #134104 test(infra): await environment log completion directly
- PR #134117 test(scripts): set ratchet fixture identity per Git invocation
- PR #134128 test(scripts): share retry fixture counters
- PR #134168 fix(logging): keep long secret redaction safe and defer repeated probes
- PR #134139 test(nostr): exercise cursor retries with virtual time
- PR #134146 test(teams): reuse prerequisite setup imports
- PR #133758 fix(cli): keep Unicode session and task tables aligned
- PR #134157 test(mistral): observe terminal WebSocket completion
- PR #134093 fix(gateway): preserve literal Talk consult questions Related #133855, #134037. Thanks @lsr911 and @obviyus and @chelsealong and @ZengWen-DT and @SebTardif and @Conan-Scott and @YogevKr.
- PR #134162 test(imap): await committed cursor notifications
- PR #134147 test(ui): remove duplicate status tests
- PR #134035 fix(ci): bound macOS Swift test concurrency Thanks @vincentkoc.
- PR #134164 test(telegram): isolate network imports only for cache cases
- PR #133918 fix(ui): preserve mocked browser proof across reruns
- PR #134171 test(telegram): await buffered media task completion
- PR #134174 test(video): share provider imports across transport cases
- PR #134112 test(infra): simplify HTTP response assertions
- PR #134183 fix(update): block restart while plugin consent is pending Related #134156. Thanks @obviyus and @BrunoCerberus.
- PR #133864 feat(update): clean up retained migration recovery files Related #133805.
- PR #133563 fix(state): fence automatic agent database migrations Related #133478. Thanks @omarshahine.
- PR #134151 test(browser): consolidate trash behavior at the SDK owner
- PR #134062 fix(doctor): refresh SQLite planner stats after migration Thanks @VACInc.
- PR #134005 refactor(state): preserve concrete keyed-store capabilities
- PR #134207 fix: restore gateway recovery fixture lint and types Thanks @shakkernerd.
- PR #134193 fix(update): npm-hardened global updates no longer roll back Related #134177. Thanks @obviyus and @botatdovly.
- PR #134014 fix(pr): prevent parallel main refreshes from colliding Thanks @shakkernerd.
- PR #134100 ci: balance expensive tooling lifecycle tests
- PR #134111 fix(agents): single-source model fallback availability Thanks @obviyus.
- PR #134260 test(plugins): expect structured registry differences
- PR #134232 ci: remove redundant image readiness queue hops
- PR #134251 fix(slack): workspace-scoped plugin approvers can approve Related #133932. Thanks @obviyus and @marmar9615-cloud.
- PR #134053 fix(release): complete ClawHub publication after parent success Thanks @shakkernerd.
- PR #134189 fix(ui): recover suspended tabs after gateway updates Thanks @Takhoffman.
- PR #134105 refactor(agents): consolidate session text component reuse Thanks @vincentkoc.
- PR #134223 fix(gateway): keep TLS diagnostics from generating certificates Related #134222.
- PR #133914 refactor(brave): remove redundant test facade
- PR #134009 fix(doctor): report interrupted auth archive recovery Thanks @shakkernerd.
- PR #134216 perf(ci): bound plugin lint project discovery
- PR #132445 fix(ui): stop earlier-history loading action from jumping Thanks @RomneyDa.
- PR #134209 perf: reduce Control UI startup and history processing
- PR #134266 test(infra): consolidate abort relay coverage at its owner
- PR #134263 test(infra): exercise real transport backoff
- PR #134208 fix(state): let doctor repair legacy v17 agent databases Related #134163. Thanks @EthDing and @obviyus and @abacha.
- PR #133921 fix(doctor): preserve files created during session restore
- PR #134270 test(llm-core): batch event stream sequence assertions
- PR #133676 feat: keep the Home agent beside your work Related #133632.
- PR #134273 test(tooling): remove delayed activity fixture responses
- PR #134271 perf: avoid scanning unused package-root candidates
- PR #134200 fix(worker): preserve cloud execution and recovery failures Related #134199. Thanks @Takhoffman.
- PR #134280 test(infra): move duration cases to the formatter owner
- PR #134259 fix(codex): preserve summarized context when switching runtimes Related #134224.
- PR #134284 test(infra): synchronize approval shutdown races at callback entry
- PR #134138 fix(talk): keep later voice turns admitted after call setup Related #134081. Thanks @mastertyko.
- PR #134282 fix(gateway): use the npm WebSocket receiver under Bun
- PR #134228 fix: fail updates when session migration is incomplete Related #134206. Thanks @shakkernerd.
- PR #134287 refactor(core): share first-wins keyed dedupe Thanks @vincentkoc.
- PR #134026 perf(workers): reuse validated hashes during workspace activation
- PR #134289 test(feishu): consolidate backoff coverage at its owner
- PR #134298 perf(ci): report type failures before broad audits
- PR #134293 test(tooling): use value fixtures for mobile release renderers
- PR #134170 fix(codex): preserve accepted speech through media delivery
- PR #134123 test(macos): remove duplicate shell smoke check
- PR #134244 fix(cli): keep embedded triage on the diagnosed installation
- PR #134296 test(tooling): batch startup benchmark state cases
- PR #134315 test(xai): verify OAuth runtime imports stay lazy
- PR #134294 perf(ci): use runtime-only builds for Node test prerequisites
- PR #134252 perf(sessions): reuse prepared transcript batch writers
- PR #133988 fix(gateway): release cached transcript backing storage Related #133941.
- PR #134231 fix(docker): include shared lifecycle marker in install stages
- PR #133952 fix(doctor): identify malformed legacy exec approval fields
- PR #134277 test(tooling): configure fixture identity in the commit command
- PR #134045 fix: retain 2026.8.1 release fixes on main Thanks @shakkernerd.
- PR #134268 fix(macos): finish ChatGPT login after Gateway reconnect Related #134182. Thanks @obviyus and @Sedrak-Hovhannisyan.
- PR #134246 refactor(agents): reduce per-turn policy and tool preparation
- PR #134043 perf(workers): streamline cloud startup and fix bootstrap archive races
- PR #134056 fix: preserve speech and process output through nested tools
- PR #134328 fix(test): preserve Git update fixture identity through postinstall
- PR #134238 fix(sessions): avoid excessive history copies and preserve fork provenance
- PR #134245 test(auto-reply): avoid catalog discovery in media fixtures
- PR #134324 test(browser): remove duplicated profile allocation demonstrations
- PR #134310 fix(ui): keep images visible during hard refresh Related #134237.
- PR #119516 fix(update): recover the managed gateway after a failed CLI update Related #118244. Thanks @zyw02 and @Issue-Hunter and @cursoragent and @sercada.
- PR #134290 refactor: reuse prepared plugin facts during Gateway turns
- PR #134318 perf(ui): prepare usage query predicates once
- PR #134319 test(infra): load execution policy modules once per suite
- PR #134322 test(lmstudio): reuse oversized response source chunks
- PR #134288 test(macos): remove app profile source invariants Thanks @RomneyDa.
- PR #134283 fix(ci): record complete native UI file timings
- PR #134350 test(tooling): reuse Periphery workflow code fixtures
- PR #133617 fix(plugins): stop suggesting unavailable drift updates Thanks @vladimirkrdzic.
- PR #134166 fix(installer): preserve Fedora Node packages with unsafe SQLite Related #132828. Thanks @sallyom and @beedell-roke.
- PR #134335 test(sessions): await the conversation owner deadline
- PR #134269 fix(cli): honor usage options in full status reports Related #134267.
- PR #134214 fix(xai): scope TTS network allowance to the configured origin on both paths Thanks @marmar9615-cloud.
- PR #134339 refactor(plugin-state): share store option policy Thanks @vincentkoc.
- PR #134355 test(process): observe capacity group admission directly
- PR #134088 fix(workers): expire unused snapshots when projects are idle
- PR #134095 test(plugins): simplify provider fixtures
- PR #134364 test(cli): scope module resets to mocked policy cases
- PR #134374 perf: score Tool Search queries through term postings
- PR #134136 fix(skills): detect skill roots created after startup Thanks @shakkernerd.
- PR #134358 fix(test): align Doctor install-switch proof with maintenance ownership
- PR #134184 refactor: remove synthetic chat callback recovery
- PR #134372 fix(agents): stop payload redaction rewriting tool-search counter scopes
- PR #134345 test(tooling): cover profiler argument variants at the parser
- PR #134367 test(tooling): reuse mobile release ref lifecycle fixtures
- PR #134371 test(agents): drive compaction fallback retry clocks
- PR #134300 refactor(test): reduce compiled-worker fixture scaffolding
- PR #134378 test(nostr): consolidate metrics coverage at its owner
- PR #134382 test(whatsapp): unify profile directory import lifecycles
- PR #134369 perf: reduce repeated work in Control UI history
- PR #130663 docs: document model-not-found fallback Related #130256. Thanks @MonkeyLeeT and @geekforlife.
- PR #134383 test(deepgram): observe realtime transcription completion
- PR #130961 docs(gateway): define external supervisor acceptance rules Related #130888. Thanks @1052326311 and @josephbergvinson.
- PR #134384 test(elevenlabs): observe realtime transcription completion
- PR #134145 fix: stop SMS work when credentials become unavailable Related #133924. Thanks @shakkernerd.
- PR #134393 test(tlon): exercise the real channel authorization resolver
- PR #134377 fix(xai): handle silent transcripts and order upload options
- PR #134181 fix(cloud): settle project snapshots before enrollment
- PR #134357 fix(text): keep astral letters separate when stripping model tokens
- PR #134040 fix(gateway): reject blank probe --timeout instead of silent default Thanks @SunnyShu0925.
- PR #134401 test(openai): reuse the terminal history frontier lifecycle
- PR #134399 test(tooling): share immutable OpenGrep source fixtures
- PR #134356 refactor: simplify media-core test assertions
- PR #134247 fix(cli): omit hidden options from generated shell completions Thanks @marmar9615-cloud.
- PR #134359 fix: publish Linux bundles from canonical release branches
- PR #133154 fix(gateway): name root-request holders in active-work drain diagnostics Thanks @VACInc.
- PR #134405 perf(ui): avoid unused Workboard lifecycle lookups
- PR #134366 fix(scripts): restore missing helpers in materialized PR anchors
- PR #133577 fix(line): stay quiet while another channel holds the chat Related #133576. Thanks @edenfunf.
- PR #134301 chore(ui): refresh control ui locales
- PR #134311 fix(models): refresh Chutes and Cerebras price estimates Related #134248.
- PR #133926 fix(agents): clarify sessions_send delivery state Related #96020. Thanks @VACInc and @RichChen01.
- PR #134408 test(tooling): advance the realtime smoke verdict clock
- PR #134402 test(ui): retain manual agent-file capture artifacts
- PR #134286 test(ios): trim runtime localization source inventory Thanks @RomneyDa.
- PR #133679 fix(line): keep the typing indicator on replies the gateway drives Related #133677. Thanks @edenfunf.
- PR #134309 fix(release): support frozen Bun package artifacts Thanks @RomneyDa.
- PR #134363 fix(release): scope frozen upgrade baselines Thanks @RomneyDa.
- PR #134416 fix: report declared configuration accurately in triage
- PR #134261 fix: keep retained inputs in transcript order Thanks @VACInc.
- PR #128050 feat(ui): send new-session drafts to background sessions [AI-assisted] Related #128037. Thanks @Takhoffman.
- PR #134415 refactor: consolidate upgrade recovery ownership
- PR #134418 fix: keep inactive channel credentials out of inspection
- PR #134212 fix(cli): stop advertising the inert message read --include-thread flag Thanks @marmar9615-cloud.
- PR #134370 test: unmask native link routing and disposal assertions
- PR #134395 fix: reduce Gateway memory for session lists and cleanup
- PR #134381 fix(gateway): stop outbound retry admission during shutdown Related #127260. Thanks @VACInc.
- PR #133996 fix(agents): expire poll vote echo at TTL Thanks @qingminglong.
- PR #134387 refactor: simplify terminal regression fixtures
- PR #134417 test: keep transient lifecycle markers out of Git fixtures
- PR #134441 test: seed legacy cron jobs after baseline configuration
- PR #133980 refactor: consolidate package inventory exclusions
- PR #134436 fix: CI watcher tests time out while loading fixture evidence
- PR #133340 fix(agents): reject bundle LSP calls after disposal Thanks @qingminglong.
- PR #134432 fix(ui): center the sidebar account row in its footer band
- PR #134422 fix: release session check expects the retired Doctor backup
- PR #134426 fix(migrate-hermes): preserve source settings and activation policies
- PR #134437 fix(config): import shell keys from configured plugins
- PR #134433 perf: avoid unused system-event snapshots
- PR #134424 fix(test): avoid lingering CLI helper deadlines
- PR #134435 refactor(ui): finish the assistant dock rename and drop duplicate work
- PR #132128 fix: stale cloud workers no longer strand session results Thanks @jalehman.
- PR #134255 refactor: use the shared Tavily response reader directly
- PR #133596 fix(auth): classify managed SecretRef API keys as static Thanks @mateu and @Patrick-Erichsen.
- PR #134038 perf(ci): remove repeated setup and balance complete test workloads
- PR #134452 perf: skip discarded Readability HTML in text mode
- PR #134429 fix: release doctor database leases before gateway restart
- PR #133925 fix(sessions): refresh planner stats after bulk cleanup Thanks @VACInc.
- PR #134448 fix(workers): avoid unrelated inspection and move cleanup during recovery
- PR #133728 fix: recover cloud sessions across restart and cancellation Related #131713. Thanks @shakkernerd.
- PR #134419 refactor: reuse plugin model policies during Gateway requests
- PR #134326 perf(cloud): reuse worker archives from project snapshots
- PR #133845 fix(infra): preserve npm failure identity when subprocess produces no output Related #127448. Thanks @aniruddhaadak80.
- PR #134397 fix(update): recover safely across channel and install switches
- PR #134459 perf(ci): overlap owned fixtures and refresh UI shard timings
- PR #134428 fix(process): preserve safe mixed-stream command diagnostics Related #134427. Thanks @vincentkoc.
- PR #134414 perf(build): reuse staged SDK declarations across profiles
- PR #134241 fix(browser): partition relay pre-auth admission [AI] Thanks @mmaps.
- PR #134291 test: consolidate duplicate Windows runtime import coverage
- PR #134410 test: initialize upgrade baseline before legacy fixtures
- PR #134090 fix(cli): avoid unnecessary migrations on pristine startup
- PR #134205 refactor: remove catalog test-only URL re-exports
- PR #134470 fix(doctor): preserve updater restart ownership
- PR #134474 docs(ci): recover original PR runs before full dispatch
- PR #133894 test(tooling): assert benchmark arguments at worker launch
- PR #134465 perf: reuse prepared transcript projection queries
- PR #134475 fix(update): detect metadata-free npm installs Related #134203. Thanks @Patrick-Erichsen and @vyctorbrzezowski.
- PR #134464 fix: report settled heartbeat cron outcomes Related #134327. Thanks @fuller-stack-dev and @goslingmanagment.
- PR #134449 fix(ci): preserve oxlint shard success after graceful drain Thanks @vincentkoc.
- PR #134476 perf(ci): warm macOS dependencies and overlap signing fixtures
- PR #134442 test(e2e): preserve offline upgrade fixtures and restart proof
- PR #134135 test: tighten the default truncation boundary
- PR #134059 fix(chat): prevent retired prompts from reappearing
- PR #134101 fix(setup): restore runtime capability review Thanks @VACInc.
- PR #134314 fix(acp): keep the selected agent through global session operations Related #134313.
- PR #134469 fix(ci): stabilize macOS Codex queue deadline test Thanks @vincentkoc.
- PR #134484 fix(tooling): expose pako to linked worktrees Thanks @vincentkoc.
- PR #134485 test: exercise shared helper fixture contracts
- PR #134481 fix(tooling): use the pinned anchor component inventory
- PR #134491 test(codex): cover forced launcher cleanup
- PR #133735 fix: cancel cloud provisioning when stopping a worker
- PR #133699 fix(models): keep usage pricing on static model metadata
- PR #134492 chore(i18n): refresh native locales
- PR #134489 refactor: streamline agent database read admission
- PR #134501 perf(build): scope cache inventories to one checkout
- PR #134493 fix(ci): reuse Swift build caches and balance slow test groups
- PR #134512 docs: clarify mistaken 2026.9.1 beta publication Thanks @hannesrudolph.
- PR #134420 fix(skills): keep release validation current and separate tooling failures Thanks @Patrick-Erichsen.
- PR #134504 fix(agents): keep model identity guidance conditional
- PR #134503 refactor(wizard): share migration path-entry check Thanks @vincentkoc.
- PR #134505 perf(ci): avoid duplicate local release package validation
- PR #134511 refactor(infra): share filesystem case probes Thanks @vincentkoc.
- PR #134488 perf(sessions): bound health and status session reads
- PR #113517 feat(approvals): add external verification contract Thanks @Guardiola31337.
- PR #134486 perf: skip unused ordinary-table SQL normalization
- PR #134529 fix(build): bind declaration caches to plugin selection
- PR #134518 fix(release): recognize frozen subagent live-test opt-in Thanks @RomneyDa.
- PR #134513 test: cover media aliases at their shared owner
- PR #134451 fix(markdown): preserve trailing inline-code whitespace Related #134450.
- PR #134074 fix: macOS app relaunches normally after installation Related #134034. Thanks @VACInc and @Sedrak-Hovhannisyan.
- PR #134539 test(outbound): reuse target normalization across registry lifecycles
- PR #134526 fix(e2e): let frozen candidates create the agents-delete roster Thanks @RomneyDa.
- PR #133772 chore(deps): refresh eligible seven-day npm dependencies
- PR #133651 fix: reuse plugin metadata during prepared Gateway runs
- PR #134535 refactor(gateway): share loopback URL policy Thanks @vincentkoc.
- PR #134545 test(process): observe lane publication without timer flushing
- PR #134528 perf(ci): shard UI checks and reuse SDK compiler inputs
- PR #134543 test: batch Swift cache fixture timestamp setup
- PR #134546 test(nostr): consolidate key validation under its owner
- PR #134551 test(nostr): exercise the registered channel plugin
- PR #134456 fix(ui): remove retained-message inventory banner Thanks @RomneyDa.
- PR #134175 refactor(plugins): use canonical command registry projections
- PR #134540 test(plugins): preserve agent identity in task cancellation Thanks @vincentkoc.
- PR #134556 test(ci): observe exact shard concurrency without timers
- PR #133940 docs(cli): list fleet in CLI command index Thanks @qingminglong.
- PR #132683 improve(ios): align composer controls with WebUI Thanks @Solvely-Colin.
- PR #134567 chore(ui): refresh control ui locales
- PR #134523 ci: reuse Watch build products and repair process cleanup
- PR #134388 fix(install): keep dry runs from downloading gum Thanks @ly85206559.
- PR #134561 fix(export): honor hidden messages in HTML conversations
- PR #134563 test(ci): validate timing fields through the schema owner
- PR #134565 test: check changed-bench arguments through the parser owner
- PR #134578 test(flows): load provider flow owners once per suite
- PR #134225 fix(ui): include job name in Cron row action aria-labels Related #127330. Thanks @SunnyShu0925.
- PR #134564 fix: keep channel sends on the selected plugin
- PR #134538 perf(build): keep boundary caches scoped to one checkout
- PR #134106 fix(memory): preserve vector worker stderr Thanks @klabir.
- PR #134574 docs: clarify configured media fallback selection
- PR #134380 fix(macos): let stalled provider sign-in exit Related #134347. Thanks @VACInc and @Sedrak-Hovhannisyan.
- PR #134583 test(process): reuse supervisor factories across fresh instances
- PR #134580 test(gateway): prove live compaction pressure and replay contracts
- PR #134562 fix(memory): preserve abort errors with native response streams
- PR #134242 fix(slack): honor the configured image downscale limit on downloadFile Thanks @marmar9615-cloud.
- PR #84595 fix(browser): honor image sanitization config for screenshots Historical precedent referenced by #134242; already shipped in an earlier release. Thanks @xx205 and @marmar9615-cloud.
- PR #134591 fix(ui): stop the Home work snapshot from titling the conversation
- PR #133465 fix(ui): prevent typing lag in long chat transcripts Thanks @VACInc.
- PR #134285 test(ios): remove duplicated Watch source guards Thanks @RomneyDa.
- PR #134534 fix(logs): JSON error summaries hide the actual failure reason Related #134533.
- PR #134596 improve(ui): simplify chat selection popup Thanks @Patrick-Erichsen.
- PR #134592 fix(release): validate frozen packages with bundled activation fixtures
- PR #133599 fix(line): answer the directory with the peers and groups the config names Related #133597. Thanks @edenfunf.
- PR #134553 test(providers): simplify model helper assertions
- PR #134599 test(plugin-sdk): clear the completed cancellation deadline
- PR #134554 fix: reduce Gateway memory during session lookup and cleanup
- PR #134236 fix(install): drop default npm --silent so EEXIST/ENOTEMPTY recovery sees the log (#134201) Related #134201. Thanks @SunnyShu0925 and @mohamedelrefaiy.
- PR #134602 test(azure-speech): clear the socket-close observation timer
- PR #133358 fix(agents): retain grep matches with byte-form paths Thanks @ly85206559.
- PR #134050 fix(gateway): keep plugin surfaces reachable over bracketed IPv6 hosts Thanks @yangxiansheng.
- PR #134606 test(msteams): combine parent-context cache lifecycle phases
- PR #134541 perf(doctor): avoid loading unused plugin runtimes
- PR #133783 fix(tool-display): don't render shell redirects or
rg --filesas search targets Thanks @darioandyoshi-tech. - PR #134571 test(firecrawl): check the complete count diagnostic
- PR #134609 test(media): reuse the stateless provider registry graph
- PR #134521 fix: retain the selected simple-completion transport
- PR #134569 test(minimax): clear OAuth observation deadlines
- PR #134618 test(memory): remove retired inline deduplication copies
- PR #134600 chore(ui): refresh control ui locales
- PR #134463 fix(models): pair full catalog with native auth Related #134325. Thanks @fuller-stack-dev and @goslingmanagment.
- PR #134597 refactor(audit): share execution identity ordering Thanks @vincentkoc.
- PR #134582 refactor(claws): share path containment policy Thanks @vincentkoc.
- PR #134620 test(release): use native checksums in ZIP fixtures
- PR #134566 fix(update): preserve automatic update policy and outcomes
- PR #134594 fix(control-ui): keep loading model picker beside microphone Thanks @Patrick-Erichsen.
- PR #134611 test(changelog): remove fixture-only Git config processes
- PR #134623 test(build): share the native cache invalidation baseline
- PR #134628 test(docker): precompute artifact fixture image identities
- PR #134577 fix(migrations): reject empty unexpected JSON fields Thanks @vincentkoc.
- PR #134482 fix(gateway): scrub legacy systemd version metadata on safe restart Related #134202. Thanks @Patrick-Erichsen and @vyctorbrzezowski.
- PR #134629 fix(release): run frozen package checks from trusted sparse tooling
- PR #134635 test(openai): signal transcription socket creation and own cleanup
- PR #134640 refactor(migrate-hermes): consolidate provider and config plumbing
- PR #134624 test(memory): remove duplicate nested batch error case
- PR #134870 fix(release): restore evidence reuse and reconcile advisory ranges