- **Discord thread-title prompts:** truncate generated-title message and channel context on UTF-16 boundaries so emoji cannot leave malformed model prompt text. (#101551) Thanks @Alix-007.
- **Task state migration:** canonicalize legacy `not-requested` delivery statuses during sidecar import and existing shared-database open so upgraded task registries and linked TaskFlows recover without manual SQL, and surface rejected persisted values in compact console diagnostics. (#103946) Thanks @bek91.
## 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 `.deb` or 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; `.deb` installs remain under your package manager. See the [Linux guide](https://docs.openclaw.ai/platforms/linux).
- **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.visibility` to `tree` or `self` when 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](https://docs.openclaw.ai/tools/chrome-extension#standalone-direct-loopback-relay) for supported builds and setup. (#128379)
- **Plugin SDK types:** type Telegram `botToken` as `SecretInput` (`string | SecretRef`), matching existing secret-reference support; plugin authors should use the resolved account `token` and read finalization-context `messages` only when `source === "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; use `Cmd/Ctrl+Shift+Enter` when 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 repair` after review. Related #134156. (#134183) Thanks @obviyus and @BrunoCerberus.
- **Hardened npm updates:** complete OpenClaw’s verified package lifecycle on hosts using npm `ignore-scripts=true` without 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 `docks` categories 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 --force` when 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.
- **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 --files` arguments 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-thread` spelling 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-lancedb` installs 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](https://docs.openclaw.ai/plugins/sdk-migration).
- **`openclaw/plugin-sdk/config-runtime`:** use `api.pluginConfig` for plugin configuration, `openclaw/plugin-sdk/config-contracts` for types, `openclaw/plugin-sdk/runtime-config-snapshot` for snapshot reads, and `openclaw/plugin-sdk/config-mutation` for writes. (`plugin-sdk-config-runtime-subpath`)
- **`openclaw/plugin-sdk/channel-reply-pipeline`:** import reply pipeline helpers from `openclaw/plugin-sdk/channel-outbound`. (`plugin-sdk-channel-reply-pipeline-subpath`)
- **`openclaw/plugin-sdk/infra-runtime`:** move helpers to focused imports, including `openclaw/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`, and `openclaw/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`:** use `openclaw/plugin-sdk/channel-outbound`. (`plugin-sdk-channel-lifecycle-subpath`)
- **`openclaw/plugin-sdk/channel-message`:** use `openclaw/plugin-sdk/channel-outbound` and `openclaw/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.
- **PR #125269** [fix(gateway): reject usage.cost agentScope=all with agentId](https://github.com/openclaw/openclaw/pull/125269) Related #125268. Thanks @zyw02 and @obviyus.
- **PR #125160** [fix(memory-wiki): exclude vault's own pages from unsafe-local import](https://github.com/openclaw/openclaw/pull/125160) Related #125139. Thanks @rajmp999 and @obviyus and @YouBeerMe.
- **PR #133293** [refactor(plugins): reuse the void hook binder](https://github.com/openclaw/openclaw/pull/133293)
- **PR #127110** [fix(compaction): stop repeated transcript byte compaction](https://github.com/openclaw/openclaw/pull/127110) Related #126900. Thanks @yu-xin-c and @obviyus and @fede-kamel.
- **PR #130327** [fix(discord): prevent bots interrupting replies to other bots](https://github.com/openclaw/openclaw/pull/130327) Thanks @PollyBot13 and @obviyus.
- **PR #133329** [fix(media): restore AVI attachment playback and file extensions](https://github.com/openclaw/openclaw/pull/133329) Related #133328.
- **PR #122884** [fix(skills): generalize freeform frontmatter value recovery beyond description](https://github.com/openclaw/openclaw/pull/122884) Thanks @xydt-tanshanshan and @obviyus.
- **PR #133300** [fix(agents): recover after settled failed-tool batches](https://github.com/openclaw/openclaw/pull/133300) Related #133292. Thanks @VACInc.
- **PR #132789** [fix(ui): prevent dark flash on light-system reload](https://github.com/openclaw/openclaw/pull/132789) Related #132785. Thanks @vyctorbrzezowski.
- **PR #124488** [fix(skills): allow disposal of malformed proposals](https://github.com/openclaw/openclaw/pull/124488) Related #124486. Thanks @woodym-dotcom and @obviyus.
- **PR #133321** [fix(release): record approved Telegram waiver for 2026.8.1](https://github.com/openclaw/openclaw/pull/133321)
- **PR #133336** [fix: remove ignored arguments from agent tools](https://github.com/openclaw/openclaw/pull/133336) Related #133333.
- **PR #133241** [fix: stop queued cloud work and persist canceled turns](https://github.com/openclaw/openclaw/pull/133241)
- **PR #123541** [fix(sessions): branches.list stalls the event loop for ~12s on long-lived sessions](https://github.com/openclaw/openclaw/pull/123541) Related #123540. Thanks @njuboy11 and @obviyus.
- **PR #133375** [docs: consolidate Crabbox guidance with shared skill](https://github.com/openclaw/openclaw/pull/133375)
- **PR #126495** [fix(xai): doctor migrates retired image models in tools.media.models](https://github.com/openclaw/openclaw/pull/126495) Related #124527. Thanks @Schimuneck and @obviyus and @tiniecookie.
- **PR #133365** [fix(google): avoid duplicate turn completion after voice interruption](https://github.com/openclaw/openclaw/pull/133365) Related #133351.
- **PR #133357** [fix(ci): make Telegram release tests best effort](https://github.com/openclaw/openclaw/pull/133357)
- **PR #123432** [fix(agents): default agent-run admissions to static catalog mode](https://github.com/openclaw/openclaw/pull/123432) Thanks @xialonglee and @obviyus.
- **PR #133378** [improve: update initialized transcript windows directly](https://github.com/openclaw/openclaw/pull/133378)
- **PR #133352** [chore(ui): refresh control ui locales](https://github.com/openclaw/openclaw/pull/133352)
- **PR #123194** [fix(mcp): cap HTTP/SSE response bodies before SDK parse](https://github.com/openclaw/openclaw/pull/123194) Related #101554. Thanks @SebTardif and @obviyus and @aniruddhaadak80.
- **PR #133061** [fix: keep Gateway and Control UI responsive during concurrent session updates](https://github.com/openclaw/openclaw/pull/133061) Related #133053.
- **PR #133384** [fix(ui): avoid voice session expiry while waiting for microphone access](https://github.com/openclaw/openclaw/pull/133384) Related #133359.
- **PR #132787** [fix(ui): integrate Goal mode into the composer](https://github.com/openclaw/openclaw/pull/132787) Related #132786. Thanks @vyctorbrzezowski.
- **PR #133496** [improve: speed up legacy session transcript imports](https://github.com/openclaw/openclaw/pull/133496)
- **PR #133443** [fix(line): pace block replies with the agent's humanDelay](https://github.com/openclaw/openclaw/pull/133443) Related #133430. Thanks @edenfunf.
- **PR #132895** [fix(line): offer the card command only on LINE](https://github.com/openclaw/openclaw/pull/132895) Thanks @edenfunf.
- **PR #133512** [perf(agents): prepare only consumed tool and skill diagnostics](https://github.com/openclaw/openclaw/pull/133512)
- **PR #133527** [perf(terminal): reuse control scans and simplify sanitization](https://github.com/openclaw/openclaw/pull/133527)
- **PR #133221** [fix(models): recover /models browse from a replaced prepared catalog](https://github.com/openclaw/openclaw/pull/133221) Related #133166. Thanks @chelsealong and @vincentkoc and @r3n3x.
- **PR #133533** [fix(beam): resume sharing when the mirror receiver changes](https://github.com/openclaw/openclaw/pull/133533)
- **PR #133544** [chore(ui): refresh control ui locales](https://github.com/openclaw/openclaw/pull/133544)
- **PR #133542** [fix: prevent duplicate queued user messages in chat clients](https://github.com/openclaw/openclaw/pull/133542)
- **PR #133476** [fix: stop cloud work before unrelated provider inspection finishes](https://github.com/openclaw/openclaw/pull/133476)
- **PR #133581** [test: include v2026.8.1 release navigation](https://github.com/openclaw/openclaw/pull/133581) Thanks @fuller-stack-dev.
- **PR #133552** [fix(cron): keep read RPCs from blocking the gateway](https://github.com/openclaw/openclaw/pull/133552) Related #133442. Thanks @vincentkoc and @josephbergvinson.
- **PR #133568** [test: isolate shared /tmp session-store paths in runner and health suites](https://github.com/openclaw/openclaw/pull/133568)
- **PR #133584** [fix(plugins): keep bundled plugins bundled when selected by plugins.load.paths](https://github.com/openclaw/openclaw/pull/133584)
- **PR #133565** [perf: load web chat history in larger, faster batches](https://github.com/openclaw/openclaw/pull/133565)
- **PR #133598** [perf(browser): reuse snapshot refs and screenshot metadata](https://github.com/openclaw/openclaw/pull/133598)
- **PR #133594** [refactor(docker): retire ClawDock shell helpers](https://github.com/openclaw/openclaw/pull/133594) Related #133587.
- **PR #132151** [docs(line): scope the loading animation to one-to-one chats](https://github.com/openclaw/openclaw/pull/132151) Thanks @edenfunf.
- **PR #133601** [fix(channels): include nested channel diagnostics in logs](https://github.com/openclaw/openclaw/pull/133601) Related #133600.
- **PR #133589** [fix(release): preserve waiver context when reusing validation](https://github.com/openclaw/openclaw/pull/133589)
- **PR #133580** [fix(sandbox): preserve file data and 308 redirects on Python 3.9](https://github.com/openclaw/openclaw/pull/133580) Related #133573, #133574.
- **PR #133591** [docs: lead v2026.8.1 notes with install and downgrade guidance](https://github.com/openclaw/openclaw/pull/133591) Thanks @hannesrudolph.
- **PR #132918** [fix(line): apply a group's wildcard defaults to its own entry](https://github.com/openclaw/openclaw/pull/132918) Thanks @edenfunf.
- **PR #132366** [fix: avoid malformed Unicode at runtime text limits](https://github.com/openclaw/openclaw/pull/132366) Thanks @ly85206559.
- **PR #133477** [perf(gateway): reuse prepared facts across control-plane reads](https://github.com/openclaw/openclaw/pull/133477)
- **PR #133620** [docs: link v2026.8.1 release story](https://github.com/openclaw/openclaw/pull/133620) Thanks @hannesrudolph.
- **PR #133609** [perf(test): prepare source Gateway runtimes before live shards](https://github.com/openclaw/openclaw/pull/133609)
- **PR #133615** [fix(tts): keep internal reasoning out of spoken summaries](https://github.com/openclaw/openclaw/pull/133615) Related #90364. Thanks @camball-strategies.
- **PR #133457** [fix: retain accepted browser follow-ups across restarts](https://github.com/openclaw/openclaw/pull/133457)
- **PR #133605** [fix: keep run output token counts cumulative and recoverable](https://github.com/openclaw/openclaw/pull/133605) Related #133562.
- **PR #133614** [fix(browser): prefer CDP for managed role snapshots](https://github.com/openclaw/openclaw/pull/133614) Related #133514. Thanks @vincentkoc and @josephbergvinson.
- **PR #133655** [fix(node-host): report container hosting startup failures in the native worker](https://github.com/openclaw/openclaw/pull/133655) Related #133654.
- **PR #132998** [fix(infra): preserve block boundaries for attributed p and div tags](https://github.com/openclaw/openclaw/pull/132998) Related #132969. Thanks @pengzh1 and @yifanxiong272.
- **PR #133665** [docs: link v2026.8.1 release notes to feature guides](https://github.com/openclaw/openclaw/pull/133665) Thanks @hannesrudolph.
- **PR #133680** [perf: load retained chat history faster](https://github.com/openclaw/openclaw/pull/133680)
- **PR #132407** [fix: apply workspace permission changes to active runs](https://github.com/openclaw/openclaw/pull/132407) Related #131947. Thanks @jalehman.
- **PR #133691** [perf(sessions): reuse opaque-key matchers and pruning cursors](https://github.com/openclaw/openclaw/pull/133691)
- **PR #133673** [refactor: use canonical installed-plugin index in post-upgrade doctor](https://github.com/openclaw/openclaw/pull/133673)
- **PR #133689** [improve: reduce CPU overhead during session imports](https://github.com/openclaw/openclaw/pull/133689)
- **PR #132773** [fix(ui): preserve typing on new session page](https://github.com/openclaw/openclaw/pull/132773) Related #132783. Thanks @vyctorbrzezowski.
- **PR #133684** [fix(cli): recover invalidated control-only resumes](https://github.com/openclaw/openclaw/pull/133684) Related #133475. Thanks @vincentkoc and @jakestenger.
- **PR #133726** [improve: speed up managed worktree test fixtures](https://github.com/openclaw/openclaw/pull/133726)
- **PR #133582** [fix(commands): ignore missing SecretRef passEnv values](https://github.com/openclaw/openclaw/pull/133582) Related #133561. Thanks @pengzh1 and @vincentkoc and @jodok.
- **PR #132738** [fix(agents): deprioritize inter-session turns](https://github.com/openclaw/openclaw/pull/132738) Related #70634. Thanks @sylvesterkaczmarek and @obviyus and @ewrurwteurwU.
- **PR #133701** [test: consolidate CJK estimator coverage at its owner](https://github.com/openclaw/openclaw/pull/133701)
- **PR #132853** [fix(update): fail closed when gateway service state is unknown](https://github.com/openclaw/openclaw/pull/132853) Thanks @jason-allen-oneal and @obviyus.
- **PR #133644** [chore(parallel): remove duplicate session ID test seam](https://github.com/openclaw/openclaw/pull/133644) Thanks @RomneyDa.
- **PR #132903** [improve(tasks): bound task list page selection](https://github.com/openclaw/openclaw/pull/132903) Thanks @jason-allen-oneal and @obviyus.
- **PR #123416** [fix(plugins): preserve bundled provider compat across allowlists](https://github.com/openclaw/openclaw/pull/123416) Related #123297. Thanks @lonexreb and @obviyus and @bradenmcleish.
- **PR #133324** [fix(tts): deliver tool audio in private reply mode](https://github.com/openclaw/openclaw/pull/133324) Related #83636. Thanks @obviyus and @TurboTheTurtle and @clawSean and @Conan-Scott.
- **PR #133771** [test(cli): keep parser coverage without formatter self-comparison](https://github.com/openclaw/openclaw/pull/133771)
- **PR #132716** [feat(test): compile subprocesses once per invocation](https://github.com/openclaw/openclaw/pull/132716)
- **PR #133499** [fix(imessage): keep replies in the current conversation](https://github.com/openclaw/openclaw/pull/133499) Related #133468. Thanks @omarshahine.
- **PR #133807** [docs: link the verified 2026.8.1 Mac DMG](https://github.com/openclaw/openclaw/pull/133807)
- **PR #133801** [perf(update): reduce preflight work and unattended prompts](https://github.com/openclaw/openclaw/pull/133801)
- **PR #131669** [fix(workers): honor session tool policies on cloud sessions](https://github.com/openclaw/openclaw/pull/131669) Related #131661. Thanks @anyech and @sallyom.
- **PR #132083** [fix(line): name the inline emoji LINE leaves as bare parentheses](https://github.com/openclaw/openclaw/pull/132083) Related #132082. Thanks @edenfunf.
- **PR #130280** [refactor(infra): share error cause reader](https://github.com/openclaw/openclaw/pull/130280) Thanks @vincentkoc.
- **PR #133674** [fix(media): omit English prompts during audio language autodetection](https://github.com/openclaw/openclaw/pull/133674) Related #123305. Thanks @synthalorian and @aleps001.
- **PR #124293** [fix(infra): unify Windows process identity reads \[AI-assisted\]](https://github.com/openclaw/openclaw/pull/124293) Thanks @Chinmayrawat15 and @obviyus.
- **PR #133870** [improve: load Control UI history with less blocking](https://github.com/openclaw/openclaw/pull/133870)
- **PR #133840** [perf(queue): prepare snapshots and bounded diagnostic pruning](https://github.com/openclaw/openclaw/pull/133840)
- **PR #133536** [fix(ui): restore text selection and simplify GitHub code copying](https://github.com/openclaw/openclaw/pull/133536) Related #131201. Thanks @RomneyDa and @Grynn.
- **PR #133858** [fix(cron): preserve valid jobs during SQLite migration](https://github.com/openclaw/openclaw/pull/133858) Related #133347. Thanks @fuller-stack-dev and @ejc3.
- **PR #133619** [fix(line): let the configured policy turn off quote-as-mention](https://github.com/openclaw/openclaw/pull/133619) Related #133618. Thanks @edenfunf.
- **PR #133841** [refactor(cli): consolidate precomputed help caching](https://github.com/openclaw/openclaw/pull/133841)
- **PR #133916** [docs: clarify Swarm progress across chat clients](https://github.com/openclaw/openclaw/pull/133916)
- **PR #133903** [perf(gateway): reuse owned history snapshots](https://github.com/openclaw/openclaw/pull/133903)
- **PR #133781** [fix(cli): reject blank channels capabilities --timeout instead of defaulting](https://github.com/openclaw/openclaw/pull/133781) Thanks @marmar9615-cloud and @SunnyShu0925.
- **PR #129475** [fix(postinstall): avoid registry state migration](https://github.com/openclaw/openclaw/pull/129475) Related #128782. Thanks @BryanTegomoh and @obviyus and @BillVerhelle.
- **PR #124286** [\[AI-assisted\] docs(android): clarify fork/source builds need own signing identity](https://github.com/openclaw/openclaw/pull/124286) Related #119609. Thanks @santhiprakash and @minoosara5426-prog.
- **PR #133431** [fix(cli): fail unhealthy plugin doctor checks](https://github.com/openclaw/openclaw/pull/133431) Related #133388. Thanks @PollyBot13 and @obviyus.
- **PR #124415** [fix(plugins): keep official plugins aligned with targeted beta updates](https://github.com/openclaw/openclaw/pull/124415) Related #97680. Thanks @synthalorian and @chac4l.
- **PR #133879** [test: drain subsystem log writes before cleanup](https://github.com/openclaw/openclaw/pull/133879)
- **PR #128250** [fix(doctor): preserve explicit npm pin during stale runtime repair](https://github.com/openclaw/openclaw/pull/128250) Related #123616. Thanks @SunnyShu0925 and @obviyus and @sblindt.
- **PR #134019** [test(whatsapp): exercise real outbound target policy](https://github.com/openclaw/openclaw/pull/134019)
- **PR #129145** [fix: every agent attempt re-hashes unchanged tool descriptions because the report digest cache can never hit](https://github.com/openclaw/openclaw/pull/129145) Related #129116. Thanks @quangtran88.
- **PR #134030** [fix(anthropic): preserve native auth with stored API keys](https://github.com/openclaw/openclaw/pull/134030) Related #134004. Thanks @obviyus and @rayseling.
- **PR #134025** [fix: prevent Doctor from rolling back migratable config](https://github.com/openclaw/openclaw/pull/134025) Related #90551. Thanks @obviyus and @stuart-minion-ai.
- **PR #133967** [test: restore native OS module after tool-manager cases](https://github.com/openclaw/openclaw/pull/133967)
- **PR #134052** [fix(resources): preserve source scope for Windows path casing](https://github.com/openclaw/openclaw/pull/134052) Thanks @vincentkoc.
- **PR #133963** [fix(plugins): report registry persistence differences](https://github.com/openclaw/openclaw/pull/133963) Related #133901. Thanks @obviyus and @yubingjiaocn.
- **PR #134018** [fix(voice-call): preserve current settings during legacy migration](https://github.com/openclaw/openclaw/pull/134018) Related #127596.
- **PR #134054** [ci: resolve OpenGrep base before fetching history](https://github.com/openclaw/openclaw/pull/134054) Thanks @lsr911 and @obviyus and @chelsealong and @ZengWen-DT and @SebTardif.
- **PR #134039** [test(scripts): batch distribution import fixtures](https://github.com/openclaw/openclaw/pull/134039) Thanks @lsr911 and @obviyus and @chelsealong and @ZengWen-DT and @SebTardif.
- **PR #134075** [fix(update): retain pnpm owner across launcher respawn](https://github.com/openclaw/openclaw/pull/134075) Related #134037. Thanks @obviyus and @YogevKr.
- **PR #133891** [test(parallel): assert user agent at the request boundary](https://github.com/openclaw/openclaw/pull/133891) Thanks @lsr911 and @obviyus and @chelsealong and @ZengWen-DT and @SebTardif.
- **PR #134033** [fix(matrix): drain monitor tasks before retiring clients](https://github.com/openclaw/openclaw/pull/134033) Thanks @lsr911 and @obviyus and @chelsealong and @ZengWen-DT and @SebTardif.
- **PR #134044** [fix(channels): isolate unavailable accounts from gateway diagnostics](https://github.com/openclaw/openclaw/pull/134044) 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](https://github.com/openclaw/openclaw/pull/133920) 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](https://github.com/openclaw/openclaw/pull/133947) 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](https://github.com/openclaw/openclaw/pull/133912) Thanks @lsr911 and @obviyus and @chelsealong and @ZengWen-DT and @SebTardif.
- **PR #133991** [fix(doctor): prune stale path install records shadowed by load paths](https://github.com/openclaw/openclaw/pull/133991) 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](https://github.com/openclaw/openclaw/pull/89636) 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)](https://github.com/openclaw/openclaw/pull/119201) Related #119200. Thanks @ruel225.
- **PR #133893** [test(discord): consolidate successful request signal coverage](https://github.com/openclaw/openclaw/pull/133893)
- **PR #134029** [fix(agents): preserve provider ownership in error diagnostics](https://github.com/openclaw/openclaw/pull/134029) Related #134012.
- **PR #134098** [fix(codex): preserve conversations across app-server restarts](https://github.com/openclaw/openclaw/pull/134098)
- **PR #133890** [test(logging): exercise canonical owners without duplicate checks](https://github.com/openclaw/openclaw/pull/133890)
- **PR #134107** [ci: typecheck graphs that consume changed tests](https://github.com/openclaw/openclaw/pull/134107)
- **PR #134082** [test(shared): simplify text assertions](https://github.com/openclaw/openclaw/pull/134082)
- **PR #134084** [fix(gateway): sudo install no longer writes root state](https://github.com/openclaw/openclaw/pull/134084) Related #134000. Thanks @obviyus and @itanyplus.
- **PR #134087** [fix(memory): stop legacy warnings for canonical database links](https://github.com/openclaw/openclaw/pull/134087) Related #133981. Thanks @obviyus and @02-dino.
- **PR #134078** [fix(doctor): report state blocked by config errors](https://github.com/openclaw/openclaw/pull/134078) Related #134036. Thanks @obviyus and @YogevKr.
- **PR #134165** [fix: restore channel recovery after crash-loop suppression](https://github.com/openclaw/openclaw/pull/134165) Related #134134. Thanks @shakkernerd.
- **PR #134093** [fix(gateway): preserve literal Talk consult questions](https://github.com/openclaw/openclaw/pull/134093) Related #133855, #134037. Thanks @lsr911 and @obviyus and @chelsealong and @ZengWen-DT and @SebTardif and @Conan-Scott and @YogevKr.
- **PR #134183** [fix(update): block restart while plugin consent is pending](https://github.com/openclaw/openclaw/pull/134183) Related #134156. Thanks @obviyus and @BrunoCerberus.
- **PR #133864** [feat(update): clean up retained migration recovery files](https://github.com/openclaw/openclaw/pull/133864) Related #133805.
- **PR #134193** [fix(update): npm-hardened global updates no longer roll back](https://github.com/openclaw/openclaw/pull/134193) Related #134177. Thanks @obviyus and @botatdovly.
- **PR #134014** [fix(pr): prevent parallel main refreshes from colliding](https://github.com/openclaw/openclaw/pull/134014) Thanks @shakkernerd.
- **PR #134251** [fix(slack): workspace-scoped plugin approvers can approve](https://github.com/openclaw/openclaw/pull/134251) Related #133932. Thanks @obviyus and @marmar9615-cloud.
- **PR #134209** [perf: reduce Control UI startup and history processing](https://github.com/openclaw/openclaw/pull/134209)
- **PR #134266** [test(infra): consolidate abort relay coverage at its owner](https://github.com/openclaw/openclaw/pull/134266)
- **PR #134263** [test(infra): exercise real transport backoff](https://github.com/openclaw/openclaw/pull/134263)
- **PR #134208** [fix(state): let doctor repair legacy v17 agent databases](https://github.com/openclaw/openclaw/pull/134208) Related #134163. Thanks @EthDing and @obviyus and @abacha.
- **PR #133921** [fix(doctor): preserve files created during session restore](https://github.com/openclaw/openclaw/pull/133921)
- **PR #134138** [fix(talk): keep later voice turns admitted after call setup](https://github.com/openclaw/openclaw/pull/134138) Related #134081. Thanks @mastertyko.
- **PR #134282** [fix(gateway): use the npm WebSocket receiver under Bun](https://github.com/openclaw/openclaw/pull/134282)
- **PR #134228** [fix: fail updates when session migration is incomplete](https://github.com/openclaw/openclaw/pull/134228) Related #134206. Thanks @shakkernerd.
- **PR #134310** [fix(ui): keep images visible during hard refresh](https://github.com/openclaw/openclaw/pull/134310) Related #134237.
- **PR #119516** [fix(update): recover the managed gateway after a failed CLI update](https://github.com/openclaw/openclaw/pull/119516) Related #118244. Thanks @zyw02 and @Issue-Hunter and @cursoragent and @sercada.
- **PR #134166** [fix(installer): preserve Fedora Node packages with unsafe SQLite](https://github.com/openclaw/openclaw/pull/134166) Related #132828. Thanks @sallyom and @beedell-roke.
- **PR #134335** [test(sessions): await the conversation owner deadline](https://github.com/openclaw/openclaw/pull/134335)
- **PR #134269** [fix(cli): honor usage options in full status reports](https://github.com/openclaw/openclaw/pull/134269) Related #134267.
- **PR #134214** [fix(xai): scope TTS network allowance to the configured origin on both paths](https://github.com/openclaw/openclaw/pull/134214) Thanks @marmar9615-cloud.
- **PR #134339** [refactor(plugin-state): share store option policy](https://github.com/openclaw/openclaw/pull/134339) Thanks @vincentkoc.
- **PR #134355** [test(process): observe capacity group admission directly](https://github.com/openclaw/openclaw/pull/134355)
- **PR #134088** [fix(workers): expire unused snapshots when projects are idle](https://github.com/openclaw/openclaw/pull/134088)
- **PR #134145** [fix: stop SMS work when credentials become unavailable](https://github.com/openclaw/openclaw/pull/134145) Related #133924. Thanks @shakkernerd.
- **PR #134393** [test(tlon): exercise the real channel authorization resolver](https://github.com/openclaw/openclaw/pull/134393)
- **PR #134377** [fix(xai): handle silent transcripts and order upload options](https://github.com/openclaw/openclaw/pull/134377)
- **PR #134181** [fix(cloud): settle project snapshots before enrollment](https://github.com/openclaw/openclaw/pull/134181)
- **PR #134357** [fix(text): keep astral letters separate when stripping model tokens](https://github.com/openclaw/openclaw/pull/134357)
- **PR #133577** [fix(line): stay quiet while another channel holds the chat](https://github.com/openclaw/openclaw/pull/133577) Related #133576. Thanks @edenfunf.
- **PR #134301** [chore(ui): refresh control ui locales](https://github.com/openclaw/openclaw/pull/134301)
- **PR #134311** [fix(models): refresh Chutes and Cerebras price estimates](https://github.com/openclaw/openclaw/pull/134311) Related #134248.
- **PR #133926** [fix(agents): clarify sessions_send delivery state](https://github.com/openclaw/openclaw/pull/133926) Related #96020. Thanks @VACInc and @RichChen01.
- **PR #134408** [test(tooling): advance the realtime smoke verdict clock](https://github.com/openclaw/openclaw/pull/134408)
- **PR #133679** [fix(line): keep the typing indicator on replies the gateway drives](https://github.com/openclaw/openclaw/pull/133679) Related #133677. Thanks @edenfunf.
- **PR #134309** [fix(release): support frozen Bun package artifacts](https://github.com/openclaw/openclaw/pull/134309) Thanks @RomneyDa.
- **PR #134435** [refactor(ui): finish the assistant dock rename and drop duplicate work](https://github.com/openclaw/openclaw/pull/134435)
- **PR #132128** [fix: stale cloud workers no longer strand session results](https://github.com/openclaw/openclaw/pull/132128) Thanks @jalehman.
- **PR #134255** [refactor: use the shared Tavily response reader directly](https://github.com/openclaw/openclaw/pull/134255)
- **PR #133596** [fix(auth): classify managed SecretRef API keys as static](https://github.com/openclaw/openclaw/pull/133596) Thanks @mateu and @Patrick-Erichsen.
- **PR #134038** [perf(ci): remove repeated setup and balance complete test workloads](https://github.com/openclaw/openclaw/pull/134038)
- **PR #134452** [perf: skip discarded Readability HTML in text mode](https://github.com/openclaw/openclaw/pull/134452)
- **PR #134429** [fix: release doctor database leases before gateway restart](https://github.com/openclaw/openclaw/pull/134429)
- **PR #134448** [fix(workers): avoid unrelated inspection and move cleanup during recovery](https://github.com/openclaw/openclaw/pull/134448)
- **PR #133728** [fix: recover cloud sessions across restart and cancellation](https://github.com/openclaw/openclaw/pull/133728) Related #131713. Thanks @shakkernerd.
- **PR #134419** [refactor: reuse plugin model policies during Gateway requests](https://github.com/openclaw/openclaw/pull/134419)
- **PR #134326** [perf(cloud): reuse worker archives from project snapshots](https://github.com/openclaw/openclaw/pull/134326)
- **PR #133845** [fix(infra): preserve npm failure identity when subprocess produces no output](https://github.com/openclaw/openclaw/pull/133845) Related #127448. Thanks @aniruddhaadak80.
- **PR #134397** [fix(update): recover safely across channel and install switches](https://github.com/openclaw/openclaw/pull/134397)
- **PR #134314** [fix(acp): keep the selected agent through global session operations](https://github.com/openclaw/openclaw/pull/134314) Related #134313.
- **PR #134420** [fix(skills): keep release validation current and separate tooling failures](https://github.com/openclaw/openclaw/pull/134420) Thanks @Patrick-Erichsen.
- **PR #134504** [fix(agents): keep model identity guidance conditional](https://github.com/openclaw/openclaw/pull/134504)
- **PR #134561** [fix(export): honor hidden messages in HTML conversations](https://github.com/openclaw/openclaw/pull/134561)
- **PR #134563** [test(ci): validate timing fields through the schema owner](https://github.com/openclaw/openclaw/pull/134563)
- **PR #134565** [test: check changed-bench arguments through the parser owner](https://github.com/openclaw/openclaw/pull/134565)
- **PR #134578** [test(flows): load provider flow owners once per suite](https://github.com/openclaw/openclaw/pull/134578)
- **PR #134225** [fix(ui): include job name in Cron row action aria-labels](https://github.com/openclaw/openclaw/pull/134225) Related #127330. Thanks @SunnyShu0925.
- **PR #134564** [fix: keep channel sends on the selected plugin](https://github.com/openclaw/openclaw/pull/134564)
- **PR #134538** [perf(build): keep boundary caches scoped to one checkout](https://github.com/openclaw/openclaw/pull/134538)
- **PR #134574** [docs: clarify configured media fallback selection](https://github.com/openclaw/openclaw/pull/134574)
- **PR #134380** [fix(macos): let stalled provider sign-in exit](https://github.com/openclaw/openclaw/pull/134380) Related #134347. Thanks @VACInc and @Sedrak-Hovhannisyan.
- **PR #134583** [test(process): reuse supervisor factories across fresh instances](https://github.com/openclaw/openclaw/pull/134583)
- **PR #134580** [test(gateway): prove live compaction pressure and replay contracts](https://github.com/openclaw/openclaw/pull/134580)
- **PR #134242** [fix(slack): honor the configured image downscale limit on downloadFile](https://github.com/openclaw/openclaw/pull/134242) Thanks @marmar9615-cloud.
- **PR #84595** [fix(browser): honor image sanitization config for screenshots](https://github.com/openclaw/openclaw/pull/84595) 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](https://github.com/openclaw/openclaw/pull/134591)
- **PR #133465** [fix(ui): prevent typing lag in long chat transcripts](https://github.com/openclaw/openclaw/pull/133465) Thanks @VACInc.
- **PR #133599** [fix(line): answer the directory with the peers and groups the config names](https://github.com/openclaw/openclaw/pull/133599) Related #133597. Thanks @edenfunf.
- **PR #134553** [test(providers): simplify model helper assertions](https://github.com/openclaw/openclaw/pull/134553)
- **PR #134599** [test(plugin-sdk): clear the completed cancellation deadline](https://github.com/openclaw/openclaw/pull/134599)
- **PR #134554** [fix: reduce Gateway memory during session lookup and cleanup](https://github.com/openclaw/openclaw/pull/134554)
- **PR #134236** [fix(install): drop default npm --silent so EEXIST/ENOTEMPTY recovery sees the log (#134201)](https://github.com/openclaw/openclaw/pull/134236) Related #134201. Thanks @SunnyShu0925 and @mohamedelrefaiy.
- **PR #134602** [test(azure-speech): clear the socket-close observation timer](https://github.com/openclaw/openclaw/pull/134602)
- **PR #134600** [chore(ui): refresh control ui locales](https://github.com/openclaw/openclaw/pull/134600)
- **PR #134463** [fix(models): pair full catalog with native auth](https://github.com/openclaw/openclaw/pull/134463) Related #134325. Thanks @fuller-stack-dev and @goslingmanagment.
- **PR #134482** [fix(gateway): scrub legacy systemd version metadata on safe restart](https://github.com/openclaw/openclaw/pull/134482) Related #134202. Thanks @Patrick-Erichsen and @vyctorbrzezowski.
- **PR #134629** [fix(release): run frozen package checks from trusted sparse tooling](https://github.com/openclaw/openclaw/pull/134629)
- **PR #134635** [test(openai): signal transcription socket creation and own cleanup](https://github.com/openclaw/openclaw/pull/134635)
- **PR #134640** [refactor(migrate-hermes): consolidate provider and config plumbing](https://github.com/openclaw/openclaw/pull/134640)
> **Release correction:** The package published as `2026.9.1-beta.1` was incorrectly versioned and is actually `2026.8.1-beta.4`. It should not be interpreted as newer than stable `2026.8.1`.
| `2026-10-01` | Media legacy projection | `agent-media-payload`, plus the non-subpath `MsgContext Media*` fields, channel inbound media payload builders, `buildMediaPayload`, hook media aliases, and `{{Media*}}` templates |
The five September 1 subpaths remain available in 2026.8.2 under an approved
retention exception; that release’s registry still labels them `deprecated`.
The post-release registry marks them `removal-pending`, preserving their original
`2026-09-01` removal target and replacement mappings. Removal awaits verification
that supported external plugins have migrated. `infra-runtime` additionally retains
system-event snapshot inspection and consumption until a modern public replacement
exists. This changes compatibility tracking only, not the exported SDK or runtime
behavior.
All core plugins have already migrated. External plugins should migrate
before the next major release. Run `pnpm plugins:boundary-report` to see which
compat records are due soonest for the surfaces your plugin uses.
summary: "Home beside your work, a Linux desktop companion, background sessions, safer upgrades, dependable replies and voice, and four new themes."
description: "OpenClaw v2026.8.2 release highlights, important upgrade changes, selected fixes, Plugin SDK migration notes, and contributor credits."
keywords:
- OpenClaw
- v2026.8.2
- release notes
- Control UI
- Gateway
- Linux
---
# OpenClaw v2026.8.2 Release Notes
OpenClaw v2026.8.2 brings your Home conversation alongside the page you are working on, adds a Linux desktop companion, and lets you start background sessions without leaving your current page. It also makes upgrades, replies, voice, and interrupted chats more dependable. Four new themes give the Control UI a different look, while supported Chrome extension builds can keep browser control available without a running Gateway.
Release links: [GitHub release](https://github.com/openclaw/openclaw/releases/tag/v2026.8.2), [npm](https://www.npmjs.com/package/openclaw/v/2026.8.2), and the [full tagged changelog](https://github.com/openclaw/openclaw/blob/v2026.8.2/CHANGELOG.md#202682).
## 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](https://github.com/openclaw/openclaw/issues/133632). ([#133676](https://github.com/openclaw/openclaw/pull/133676))
### A desktop companion for Linux
Install the `.deb` or 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; `.deb` installs remain under your package manager. See the [Linux guide](/platforms/linux).
### 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](https://github.com/openclaw/openclaw/issues/128037). ([#128050](https://github.com/openclaw/openclaw/pull/128050)) Thanks @Takhoffman.
### Safer upgrades
Updates 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](https://github.com/openclaw/openclaw/issues/118244), [#90551](https://github.com/openclaw/openclaw/issues/90551), [#134206](https://github.com/openclaw/openclaw/issues/134206). ([#134025](https://github.com/openclaw/openclaw/pull/134025), [#134228](https://github.com/openclaw/openclaw/pull/134228), [#119516](https://github.com/openclaw/openclaw/pull/119516)) Thanks @obviyus, @stuart-minion-ai, @shakkernerd, @zyw02, @Issue-Hunter, @cursoragent, and @sercada.
### Replies that finish the job
The agent returns a final answer after settled tool work and surfaces failures after an accepted turn. This fixes conversations that stopped at tool output or an initial acknowledgement. Related [#133960](https://github.com/openclaw/openclaw/issues/133960). ([#133520](https://github.com/openclaw/openclaw/pull/133520), [#133979](https://github.com/openclaw/openclaw/pull/133979)) Thanks @fuller-stack-dev.
### More dependable voice
Voice delivery keeps internal reasoning out of speech and preserves tool-generated audio. Browser Talk also keeps later voice turns working after call setup. Related [#90364](https://github.com/openclaw/openclaw/issues/90364), [#83636](https://github.com/openclaw/openclaw/issues/83636), [#134081](https://github.com/openclaw/openclaw/issues/134081). ([#133615](https://github.com/openclaw/openclaw/pull/133615), [#133324](https://github.com/openclaw/openclaw/pull/133324), [#134170](https://github.com/openclaw/openclaw/pull/134170), [#134138](https://github.com/openclaw/openclaw/pull/134138)) Thanks @camball-strategies, @obviyus, @TurboTheTurtle, @clawSean, @Conan-Scott, and @mastertyko.
### Browser control without a running Gateway
Supported macOS and Linux Chrome extension builds can wake their paired local relay for authenticated CDP clients. This needs the updated native host and an extension build with relay wake-up support; see the [Chrome extension guide](/tools/chrome-extension#standalone-direct-loopback-relay) for setup. ([#128379](https://github.com/openclaw/openclaw/pull/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](https://github.com/openclaw/openclaw/issues/133416), [#132785](https://github.com/openclaw/openclaw/issues/132785). ([#133495](https://github.com/openclaw/openclaw/pull/133495), [#133593](https://github.com/openclaw/openclaw/pull/133593), [#133417](https://github.com/openclaw/openclaw/pull/133417), [#132789](https://github.com/openclaw/openclaw/pull/132789)) Thanks @vyctorbrzezowski.
## Before updating
See the [updating guide](/install/updating) for your installation method. These changes are useful to know before repairing or updating an existing Gateway.
- **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](https://github.com/openclaw/openclaw/issues/133805). ([#133864](https://github.com/openclaw/openclaw/pull/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.visibility` to `tree` or `self` when they need narrower access, while sandbox and cross-agent restrictions remain enforced. Related [#133456](https://github.com/openclaw/openclaw/issues/133456). ([#133469](https://github.com/openclaw/openclaw/pull/133469))
- **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 repair` after review. Related [#134156](https://github.com/openclaw/openclaw/issues/134156). ([#134183](https://github.com/openclaw/openclaw/pull/134183)) Thanks @obviyus and @BrunoCerberus.
- **Hardened npm updates:** complete OpenClaw’s verified package lifecycle on hosts using npm `ignore-scripts=true` without enabling scripts for unrelated packages or rolling a valid update back. Related [#134177](https://github.com/openclaw/openclaw/issues/134177). ([#134193](https://github.com/openclaw/openclaw/pull/134193)) Thanks @obviyus and @botatdovly.
- **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 --force` when you explicitly want to replace the managed launcher. Related [#133957](https://github.com/openclaw/openclaw/issues/133957). ([#134031](https://github.com/openclaw/openclaw/pull/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](https://github.com/openclaw/openclaw/pull/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](https://github.com/openclaw/openclaw/pull/134470))
- **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](https://github.com/openclaw/openclaw/pull/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](https://github.com/openclaw/openclaw/issues/134203). ([#134397](https://github.com/openclaw/openclaw/pull/134397), [#134475](https://github.com/openclaw/openclaw/pull/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](https://github.com/openclaw/openclaw/pull/134101)) Thanks @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](https://github.com/openclaw/openclaw/issues/132828), [#134201](https://github.com/openclaw/openclaw/issues/134201). ([#134166](https://github.com/openclaw/openclaw/pull/134166), [#134236](https://github.com/openclaw/openclaw/pull/134236), [#134388](https://github.com/openclaw/openclaw/pull/134388)) Thanks @beedell-roke, @ly85206559, @mohamedelrefaiy, @sallyom, and @SunnyShu0925.
## More ways to work
- **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](https://github.com/openclaw/openclaw/pull/132054), [#133439](https://github.com/openclaw/openclaw/pull/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](https://github.com/openclaw/openclaw/issues/133480), [#133629](https://github.com/openclaw/openclaw/issues/133629). ([#133490](https://github.com/openclaw/openclaw/pull/133490), [#133638](https://github.com/openclaw/openclaw/pull/133638))
- **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](https://github.com/openclaw/openclaw/issues/133436), [#133450](https://github.com/openclaw/openclaw/issues/133450). ([#133447](https://github.com/openclaw/openclaw/pull/133447), [#134026](https://github.com/openclaw/openclaw/pull/134026), [#134043](https://github.com/openclaw/openclaw/pull/134043))
- **Readable Beam links:** share transcripts through readable `/beam/` URLs named after their sessions, with existing access checks and contextual navigation preserved. Related [#125752](https://github.com/openclaw/openclaw/issues/125752). ([#125755](https://github.com/openclaw/openclaw/pull/125755), [#133463](https://github.com/openclaw/openclaw/pull/133463))
- **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; use `Cmd/Ctrl+Shift+Enter` when Modifier+Enter is already your normal send shortcut, while explicit Draft visibility still creates a draft. Related [#128037](https://github.com/openclaw/openclaw/issues/128037). ([#128050](https://github.com/openclaw/openclaw/pull/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](https://github.com/openclaw/openclaw/pull/132683)) Thanks @Solvely-Colin.
## More 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](https://github.com/openclaw/openclaw/issues/131947), [#131661](https://github.com/openclaw/openclaw/issues/131661). ([#132407](https://github.com/openclaw/openclaw/pull/132407), [#131669](https://github.com/openclaw/openclaw/pull/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](https://github.com/openclaw/openclaw/issues/133736), [#133535](https://github.com/openclaw/openclaw/issues/133535). ([#133739](https://github.com/openclaw/openclaw/pull/133739), [#133547](https://github.com/openclaw/openclaw/pull/133547), [#134168](https://github.com/openclaw/openclaw/pull/134168))
- **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](https://github.com/openclaw/openclaw/issues/134163), [#134206](https://github.com/openclaw/openclaw/issues/134206). ([#133921](https://github.com/openclaw/openclaw/pull/133921), [#134208](https://github.com/openclaw/openclaw/pull/134208), [#134228](https://github.com/openclaw/openclaw/pull/134228)) Thanks @EthDing, @obviyus, @abacha, and @shakkernerd.
- **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](https://github.com/openclaw/openclaw/issues/133347), [#133442](https://github.com/openclaw/openclaw/issues/133442), [#134327](https://github.com/openclaw/openclaw/issues/134327). ([#133858](https://github.com/openclaw/openclaw/pull/133858), [#133552](https://github.com/openclaw/openclaw/pull/133552), [#133661](https://github.com/openclaw/openclaw/pull/133661), [#134464](https://github.com/openclaw/openclaw/pull/134464)) Thanks @fuller-stack-dev, @ejc3, @vincentkoc, @josephbergvinson, and @goslingmanagment.
- **Channel recovery:** resume recovery after crash-loop suppression, isolate unavailable accounts in diagnostics, and explain why an account recovery start was skipped. Related [#134134](https://github.com/openclaw/openclaw/issues/134134), [#133977](https://github.com/openclaw/openclaw/issues/133977), [#133954](https://github.com/openclaw/openclaw/issues/133954). ([#134165](https://github.com/openclaw/openclaw/pull/134165), [#134044](https://github.com/openclaw/openclaw/pull/134044), [#133973](https://github.com/openclaw/openclaw/pull/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](https://github.com/openclaw/openclaw/pull/134033)) Thanks @lsr911, @obviyus, @chelsealong, @ZengWen-DT, and @SebTardif.
- **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](https://github.com/openclaw/openclaw/issues/70634), [#131553](https://github.com/openclaw/openclaw/issues/131553), [#133058](https://github.com/openclaw/openclaw/issues/133058). ([#132738](https://github.com/openclaw/openclaw/pull/132738), [#133076](https://github.com/openclaw/openclaw/pull/133076), [#133192](https://github.com/openclaw/openclaw/pull/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](https://github.com/openclaw/openclaw/issues/123668), [#126900](https://github.com/openclaw/openclaw/issues/126900), [#134224](https://github.com/openclaw/openclaw/issues/134224). ([#123737](https://github.com/openclaw/openclaw/pull/123737), [#127110](https://github.com/openclaw/openclaw/pull/127110), [#133912](https://github.com/openclaw/openclaw/pull/133912), [#134259](https://github.com/openclaw/openclaw/pull/134259)) Thanks @wangyan2026, @obviyus, @andersonjeccel, @yu-xin-c, @fede-kamel, @lsr911, @chelsealong, @ZengWen-DT, and @SebTardif.
- **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](https://github.com/openclaw/openclaw/issues/134237). ([#134310](https://github.com/openclaw/openclaw/pull/134310), [#134189](https://github.com/openclaw/openclaw/pull/134189), [#132445](https://github.com/openclaw/openclaw/pull/132445)) Thanks @Takhoffman and @RomneyDa.
- **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](https://github.com/openclaw/openclaw/issues/133348), [#133359](https://github.com/openclaw/openclaw/issues/133359), [#133448](https://github.com/openclaw/openclaw/issues/133448). ([#133353](https://github.com/openclaw/openclaw/pull/133353), [#133384](https://github.com/openclaw/openclaw/pull/133384), [#133473](https://github.com/openclaw/openclaw/pull/133473), [#133613](https://github.com/openclaw/openclaw/pull/133613)) Thanks @lsr911.
- **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](https://github.com/openclaw/openclaw/issues/133929). ([#134073](https://github.com/openclaw/openclaw/pull/134073), [#134098](https://github.com/openclaw/openclaw/pull/134098), [#133485](https://github.com/openclaw/openclaw/pull/133485))
- **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](https://github.com/openclaw/openclaw/issues/133738), [#133939](https://github.com/openclaw/openclaw/issues/133939), [#123540](https://github.com/openclaw/openclaw/issues/123540), [#133941](https://github.com/openclaw/openclaw/issues/133941). ([#133753](https://github.com/openclaw/openclaw/pull/133753), [#133565](https://github.com/openclaw/openclaw/pull/133565), [#133680](https://github.com/openclaw/openclaw/pull/133680), [#133965](https://github.com/openclaw/openclaw/pull/133965), [#123541](https://github.com/openclaw/openclaw/pull/123541), [#134238](https://github.com/openclaw/openclaw/pull/134238), [#133988](https://github.com/openclaw/openclaw/pull/133988), [#134252](https://github.com/openclaw/openclaw/pull/134252), [#134209](https://github.com/openclaw/openclaw/pull/134209)) Thanks @njuboy11 and @obviyus.
- **Windows support:** preserve PowerShell profile encoding and pnpm shim arguments, and retain resource scope across Windows path casing differences. ([#133729](https://github.com/openclaw/openclaw/pull/133729), [#133395](https://github.com/openclaw/openclaw/pull/133395), [#134052](https://github.com/openclaw/openclaw/pull/134052)) Thanks @ly85206559 and @vincentkoc.
- **Bun Gateway compatibility:** restore authenticated Gateway connections under Bun 1.4 while preserving payload limits and request scheduling. ([#134282](https://github.com/openclaw/openclaw/pull/134282))
- **Docker image builds:** prevent dependency installation from failing on missing package-lifecycle files. ([#134231](https://github.com/openclaw/openclaw/pull/134231))
- **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](https://github.com/openclaw/openclaw/issues/133555), [#133603](https://github.com/openclaw/openclaw/issues/133603). ([#133628](https://github.com/openclaw/openclaw/pull/133628), [#133575](https://github.com/openclaw/openclaw/pull/133575), [#133440](https://github.com/openclaw/openclaw/pull/133440)) Thanks @vincentkoc.
- **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](https://github.com/openclaw/openclaw/issues/131713). ([#132128](https://github.com/openclaw/openclaw/pull/132128), [#133728](https://github.com/openclaw/openclaw/pull/133728), [#134448](https://github.com/openclaw/openclaw/pull/134448)) Thanks @jalehman and @shakkernerd.
- **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](https://github.com/openclaw/openclaw/issues/133455). ([#133241](https://github.com/openclaw/openclaw/pull/133241), [#133476](https://github.com/openclaw/openclaw/pull/133476), [#133976](https://github.com/openclaw/openclaw/pull/133976), [#133472](https://github.com/openclaw/openclaw/pull/133472)) Stop also cancels pending worker provisioning and project preparation while allowing owned cleanup to finish. ([#133735](https://github.com/openclaw/openclaw/pull/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](https://github.com/openclaw/openclaw/issues/133654), [#134199](https://github.com/openclaw/openclaw/issues/134199). ([#133551](https://github.com/openclaw/openclaw/pull/133551), [#133663](https://github.com/openclaw/openclaw/pull/133663), [#133655](https://github.com/openclaw/openclaw/pull/133655), [#133451](https://github.com/openclaw/openclaw/pull/133451), [#134200](https://github.com/openclaw/openclaw/pull/134200), [#134043](https://github.com/openclaw/openclaw/pull/134043), [#134181](https://github.com/openclaw/openclaw/pull/134181), [#134326](https://github.com/openclaw/openclaw/pull/134326), [#134088](https://github.com/openclaw/openclaw/pull/134088)) Thanks @Takhoffman.
- **Retained conversation inputs:** keep retained inputs in transcript order and prevent retired prompts from reappearing after history refresh or remount. ([#134261](https://github.com/openclaw/openclaw/pull/134261), [#134059](https://github.com/openclaw/openclaw/pull/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](https://github.com/openclaw/openclaw/issues/134325). ([#134463](https://github.com/openclaw/openclaw/pull/134463), [#134521](https://github.com/openclaw/openclaw/pull/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](https://github.com/openclaw/openclaw/issues/134034), [#134347](https://github.com/openclaw/openclaw/issues/134347). ([#134074](https://github.com/openclaw/openclaw/pull/134074), [#134380](https://github.com/openclaw/openclaw/pull/134380)) Thanks @Sedrak-Hovhannisyan and @VACInc.
- **IPv6 Gateway access:** keep canvas, boards, and other plugin-hosted surfaces reachable when the Gateway uses bracketed IPv6 hosts, including forwarded host headers. ([#134050](https://github.com/openclaw/openclaw/pull/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](https://github.com/openclaw/openclaw/pull/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](https://github.com/openclaw/openclaw/issues/133924). ([#134145](https://github.com/openclaw/openclaw/pull/134145), [#134418](https://github.com/openclaw/openclaw/pull/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](https://github.com/openclaw/openclaw/issues/133576), [#133597](https://github.com/openclaw/openclaw/issues/133597), [#133677](https://github.com/openclaw/openclaw/issues/133677). ([#133599](https://github.com/openclaw/openclaw/pull/133599), [#133679](https://github.com/openclaw/openclaw/pull/133679), [#133577](https://github.com/openclaw/openclaw/pull/133577)) Thanks @edenfunf.
- **Slack image downloads:** honor the configured image size limit when downloaded Slack files become tool results. ([#134242](https://github.com/openclaw/openclaw/pull/134242)) Thanks @marmar9615-cloud.
- **Tool output fidelity:** keep grep matches whose paths arrive as bytes and stop shell redirections or `rg --files` arguments from appearing as misleading search targets. ([#133358](https://github.com/openclaw/openclaw/pull/133358), [#133783](https://github.com/openclaw/openclaw/pull/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](https://github.com/openclaw/openclaw/pull/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](https://github.com/openclaw/openclaw/pull/134426))
- **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](https://github.com/openclaw/openclaw/issues/124486), [#125139](https://github.com/openclaw/openclaw/issues/125139). ([#122884](https://github.com/openclaw/openclaw/pull/122884), [#124488](https://github.com/openclaw/openclaw/pull/124488), [#123448](https://github.com/openclaw/openclaw/pull/123448), [#125160](https://github.com/openclaw/openclaw/pull/125160), [#134136](https://github.com/openclaw/openclaw/pull/134136)) Thanks @xydt-tanshanshan, @obviyus, @woodym-dotcom, @wanyongstar, @rajmp999, @YouBeerMe, and @shakkernerd.
- **Plugin repair guidance:** verify exact npm repair targets before suggesting a plugin update, and show a retry diagnostic when the target is unavailable. ([#133617](https://github.com/openclaw/openclaw/pull/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](https://github.com/openclaw/openclaw/pull/134395), [#134554](https://github.com/openclaw/openclaw/pull/134554), [#134488](https://github.com/openclaw/openclaw/pull/134488), [#133925](https://github.com/openclaw/openclaw/pull/133925)) Thanks @VACInc.
- **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](https://github.com/openclaw/openclaw/issues/133562), [#133346](https://github.com/openclaw/openclaw/issues/133346), [#133343](https://github.com/openclaw/openclaw/issues/133343). ([#133605](https://github.com/openclaw/openclaw/pull/133605), [#133441](https://github.com/openclaw/openclaw/pull/133441), [#133695](https://github.com/openclaw/openclaw/pull/133695), [#133349](https://github.com/openclaw/openclaw/pull/133349)) Related [#134248](https://github.com/openclaw/openclaw/issues/134248). ([#134311](https://github.com/openclaw/openclaw/pull/134311), [#133699](https://github.com/openclaw/openclaw/pull/133699))
- **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](https://github.com/openclaw/openclaw/issues/127448), [#134427](https://github.com/openclaw/openclaw/issues/134427), [#134533](https://github.com/openclaw/openclaw/issues/134533). ([#134534](https://github.com/openclaw/openclaw/pull/134534), [#134428](https://github.com/openclaw/openclaw/pull/134428), [#133845](https://github.com/openclaw/openclaw/pull/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](https://github.com/openclaw/openclaw/issues/134267). ([#134269](https://github.com/openclaw/openclaw/pull/134269), [#133154](https://github.com/openclaw/openclaw/pull/133154), [#134416](https://github.com/openclaw/openclaw/pull/134416)) Thanks @VACInc.
- **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](https://github.com/openclaw/openclaw/issues/132969), [#134450](https://github.com/openclaw/openclaw/issues/134450). ([#132170](https://github.com/openclaw/openclaw/pull/132170), [#132366](https://github.com/openclaw/openclaw/pull/132366), [#132998](https://github.com/openclaw/openclaw/pull/132998), [#125184](https://github.com/openclaw/openclaw/pull/125184), [#134451](https://github.com/openclaw/openclaw/pull/134451), [#134357](https://github.com/openclaw/openclaw/pull/134357)) Thanks @harjothkhara, @ly85206559, @pengzh1, @yifanxiong272, and @wanyongstar.
- **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](https://github.com/openclaw/openclaw/issues/89607), [#133351](https://github.com/openclaw/openclaw/issues/133351). ([#89636](https://github.com/openclaw/openclaw/pull/89636), [#123245](https://github.com/openclaw/openclaw/pull/123245), [#133365](https://github.com/openclaw/openclaw/pull/133365), [#134214](https://github.com/openclaw/openclaw/pull/134214), [#134377](https://github.com/openclaw/openclaw/pull/134377)) Thanks @SebTardif, @lsr911, @obviyus, @chelsealong, @ZengWen-DT, @pablonunoutande-source, @coaiMax, and @marmar9615-cloud.
- **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](https://github.com/openclaw/openclaw/issues/127330). ([#134591](https://github.com/openclaw/openclaw/pull/134591), [#133465](https://github.com/openclaw/openclaw/pull/133465), [#134225](https://github.com/openclaw/openclaw/pull/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](https://github.com/openclaw/openclaw/issues/134202). ([#134482](https://github.com/openclaw/openclaw/pull/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](https://github.com/openclaw/openclaw/pull/134577)) Thanks @vincentkoc.
- **Command help and completion:** keep hidden commands and options out of shell suggestions, retain the accepted legacy `message read --include-thread` spelling without advertising a no-op, and reject blank Gateway probe timeouts. ([#134247](https://github.com/openclaw/openclaw/pull/134247), [#134212](https://github.com/openclaw/openclaw/pull/134212), [#134040](https://github.com/openclaw/openclaw/pull/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](https://github.com/openclaw/openclaw/issues/127260), [#134313](https://github.com/openclaw/openclaw/issues/134313). ([#134314](https://github.com/openclaw/openclaw/pull/134314), [#134564](https://github.com/openclaw/openclaw/pull/134564), [#134381](https://github.com/openclaw/openclaw/pull/134381), [#133340](https://github.com/openclaw/openclaw/pull/133340)) Thanks @qingminglong and @VACInc.
## For plugin authors
- **Plugin SDK compatibility:** preserve the published conversation-binding inspection API and existing command definitions when upgrading from 2026.8.1; legacy `docks` categories remain visible under Tools without restoring retired docking features.
- **Plugin SDK types:** type Telegram `botToken` as `SecretInput` (`string | SecretRef`), matching existing secret-reference support; plugin authors should use the resolved account `token` and read finalization-context `messages` only when `source === "openclaw-transcript"`. ([#133988](https://github.com/openclaw/openclaw/pull/133988), [#134238](https://github.com/openclaw/openclaw/pull/134238))
- **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](https://github.com/openclaw/openclaw/issues/133306), [#123297](https://github.com/openclaw/openclaw/issues/123297), [#97680](https://github.com/openclaw/openclaw/issues/97680). ([#117199](https://github.com/openclaw/openclaw/pull/117199), [#133337](https://github.com/openclaw/openclaw/pull/133337), [#123416](https://github.com/openclaw/openclaw/pull/123416), [#124415](https://github.com/openclaw/openclaw/pull/124415)) Thanks @sunlit-deng, @easyteacher, @lonexreb, @obviyus, @bradenmcleish, @synthalorian, and @chac4l.
- **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](https://github.com/openclaw/openclaw/pull/113517)) Thanks @Guardiola31337.
### 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](/plugins/sdk-migration).
- **`openclaw/plugin-sdk/config-runtime`:** use `api.pluginConfig` for plugin configuration, `openclaw/plugin-sdk/config-contracts` for types, `openclaw/plugin-sdk/runtime-config-snapshot` for snapshot reads, and `openclaw/plugin-sdk/config-mutation` for writes. (`plugin-sdk-config-runtime-subpath`)
- **`openclaw/plugin-sdk/channel-reply-pipeline`:** import reply pipeline helpers from `openclaw/plugin-sdk/channel-outbound`. (`plugin-sdk-channel-reply-pipeline-subpath`)
- **`openclaw/plugin-sdk/infra-runtime`:** move helpers to focused imports, including `openclaw/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`, and `openclaw/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`:** use `openclaw/plugin-sdk/channel-outbound`. (`plugin-sdk-channel-lifecycle-subpath`)
- **`openclaw/plugin-sdk/channel-message`:** use `openclaw/plugin-sdk/channel-outbound` and `openclaw/plugin-sdk/channel-inbound`. (`plugin-sdk-channel-message-subpath`)
## Known issues
- **Optional memory plugin dependency:** standalone `@openclaw/memory-lancedb` installs 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.
## Full changelog and contributors
These notes focus on the changes most useful to readers. The [complete contribution record](https://github.com/openclaw/openclaw/blob/v2026.8.2/CHANGELOG.md#complete-contribution-record) lists every included pull request with source links and contributor credits. The [tagged changelog](https://github.com/openclaw/openclaw/blob/v2026.8.2/CHANGELOG.md#202682) includes the remaining fixes and direct release repairs.
@ -12,6 +12,7 @@ without making you scan the raw changelog first.
## Releases
- [v2026.8.2](/releases/2026.8.2) - Home beside your work, a Linux desktop companion, background sessions, safer upgrades, dependable replies and voice, and four new themes.
- [v2026.8.1](/releases/2026.8.1) - A rebuilt web experience, simpler
onboarding, stronger memory and session continuity, and a very large
"`api.pluginConfig`, `openclaw/plugin-sdk/config-mutation`, `openclaw/plugin-sdk/runtime-config-snapshot`, and `openclaw/plugin-sdk/config-contracts`",
"`api.pluginConfig`, `openclaw/plugin-sdk/config-mutation`, `openclaw/plugin-sdk/runtime-config-snapshot`, and `openclaw/plugin-sdk/config-contracts`; retain until supported external plugin migration is verified",
"`openclaw/plugin-sdk/channel-outbound`; retain until supported external plugin migration is verified",
},
{
code:"plugin-sdk-infra-runtime-subpath",
subpath:"infra-runtime",
status:"removal-pending",
owner:"sdk",
removeAfter:"2026-09-01",
replacement:
"focused subpaths including `openclaw/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`, and `openclaw/plugin-sdk/ssrf-runtime`",
"focused subpaths including `openclaw/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`, and `openclaw/plugin-sdk/ssrf-runtime`; retain until supported external plugin migration is verified and system-event snapshot inspection and consumption have a modern public replacement",