Not yet assessed
Breaking changes
Breaking-change status has not been confirmed. Do not assume the upgrade is compatible.
DSH Releases
Release notes
New Features
- Improve phone and tablet support with better on-screen keyboard interaction, navigation, and narrow layouts, keeping menus and actions accessible. by @Stevring, @turtle2099, @LegGasai, @EricMoin, @Saafo
- Insert chat text as quotes in the composer and show compact previews after sending. by @lsdsjy, @imccyu
- Copy the complete conversation history as Markdown, including the original log path when available. by @tianyicui
- Keep all assistant text replies visible when work steps are collapsed, with an option to show only the final answer. by @imccyu
- Unify mouse and keyboard context menus across Sessions, workspaces, and the sidebar, with support for developer extensions. by @std4453
- Keep a directory tree in file previews and locate the current file. by @yudshj
- Add Japanese, Spanish, French, German, Russian, and Brazilian Portuguese interface text and locale configuration. by @07akioni
- Show rich-text plugin details in the plugin manager and improve page layout and navigation. by @turtle1999, @turtle2099
- Support updating third-party plugin packages and attempt to restore the previous version if hot updates fail. by @turtle1999, @turtle2099
- Add the experimental
subagent_oartool plugin to delegate independent tasks to local Codex or Claude CLIs. by @tianyicui - Add experimental Personalized recommendations, offering official-plugin activation or personalized-page creation cards below answers when relevant. by @ZiyaZhang
- Add experimental Developer tools — Statistics for per-turn and per-step context, cache, model, and tool measurements. by @mektpoy
- Add experimental Change requests and worktrees to run Sessions in separate Git worktrees, browse local and PR diffs through a searchable file tree and per-file navigation, quote selected code and comments to the Agent, and track checks and reviews. by @LegGasai, @tianyicui
Improvements
- Distinguish same-named Workspaces with their shortest unique path suffix and prioritize that suffix on narrow screens. by @turtle2099
- Support plugin icons in the Session list and improve keyboard and touch interaction. by @LegGasai
- Show working directories on sidebar Session hover cards to distinguish ungrouped or similarly named Sessions. by @turtle2099
- Improve sidebar spacing and click targets, with smoother search-field expansion and collapse. by @Yifffan
- Find Sessions by case-insensitive ID substrings in sidebar search. by @turtle2099
- Add resistance and spring-back when floating sidebar panels are dragged beyond screen edges, and keep their controls reachable when the window shrinks. by @yudshj
- Close right-sidebar tabs with the middle mouse button without selecting background tabs, while preserving the protected start tab. by @Kingwl
- Show messages and clear drafts only after the host accepts them. Keep the composer read-only while sending and preserve drafts, quotes, and attachments on failure. by @LegGasai
- Upload images as soon as they enter the composer and reuse the uploaded images when sending messages. Raise the default per-image limit to 50 MiB. by @LegGasai
- Show answered question batches as message bubbles so answers from native and PTC calls remain visible after work steps collapse. by @Kaige-Gao
- Place running status at the active turn tail before queued steering messages, distinguishing active and pending input and reducing layout jitter. by @imccyu
- Improve layout stability when expanding or collapsing work steps and interacting with the docked composer. Reduce content and scroll jumps while keeping running status visible. by @imccyu
- Show full truncated composer statistics in tooltips and include turn and step counts in Session statistics. by @turtle2099
- Briefly highlight and fade the target line in code and text previews after opening a file-line link from chat. by @turtle2099
- Pan images that exceed the viewport and transfer original files through in-app drag-and-drop or native desktop dragging. by @std4453
- Add raw JSON views of live tool results to Trajectory, displayed above rendered results. by @kermanx
- Fold Trajectory subcalls independently while keeping their parent calls and summaries visible. Reveal matching subcalls through search or cross-view navigation. by @kermanx
- Start the model picker with configured models selected, add or remove candidates while preserving custom values, and apply select-all only to visible candidates. by @turtle2099
- For models accessed through pi-ai that cannot accept additional system messages during a conversation, keep later system messages in place as reminders rather than moving them into the initial prompt. by @Tuyixiang
- Reorder models within DeepSeek and pi-ai providers by dragging or using arrow keys, preserving order and complete model parameters when saved. by @Magolor
Bug Fixes
- Budget global and project AGENTS.md chains separately so project instructions do not evict global guidance; messages containing both chains can use up to twice maxBytes. by @ZiyaZhang
- Compact history with the previous model before switching to a smaller context window; stop the switch request and preserve its previous header if compaction fails. by @Dudu-0223
- Preserve the required thought signatures in Gemini tool calls over OpenAI-compatible Chat Completions and include them in subsequent requests to prevent rejection caused by missing signatures. by @turtle2099
- Reuse existing context-prefix caches for new model requests when the system prompt is unchanged, avoiding unnecessary cache invalidation. by @mektpoy
- Continue pi-ai conversations that exceed the request image-count limit by offloading the oldest images, preventing repeated failures. by @turtle2099
- Hide Web search tools when required credentials are missing; fetch tools using the newer Web API also follow credential readiness. by @LegGasai
- Preserve saved Auto permission and approval policy during application shutdown instead of unintentionally switching to Full access. by @tianyicui
- Fix Auto review failures before tool execution on OpenCode routes by supplying the reviewed Session identity and request purpose. by @LegGasai
- User steering now releases a background-output wait immediately and returns current output without stopping the job. by @mektpoy
- Fix delegation tools being temporarily unavailable after preset round trips and apply the current Agent’s tool restrictions to delegation. by @Dudu-0223
- Resume blocked goals from the Web goal bar; goals that have exhausted their round limit still require a higher limit first. by @turtle2099
- Preselect every recommended option in multiple-choice questions instead of only the first, while preserving single-choice and answered-card behavior. by @yudshj
- Approval messages explicitly state whether user approval is requested, avoiding ambiguity around the never policy. by @turtle2099
- Prevent history expansion from rewriting exclamation marks or causing persistent Bash command timeouts on macOS. by @grllll
- Tell the model to continue after a skipped question without asking it again or treating the skip as permission. by @turtle2099
- Keep skills from healthy roots available when another skill root cannot be read, and report incomplete discovery. by @Dudu-0223
- Allow Web Fetch to read valid UTF-8 pages whose encoding declarations contain multiple labels including UTF-8. by @Dudu-0223
- Fix tool calls failing on unambiguous optional arguments by accepting an empty grep include. by @turtle1999
- Expand and collapse long questions and option descriptions in place, with navigation and submission controls kept visible. by @yudshj
- Save Session recovery records before model requests and tool execution in . Stop related operations if saving fails to improve recovery after short Sessions are interrupted. by @LogosVeritas
Chores
- Update to Cordis Core 4.1.0, Loader 1.1.0, and Include 1.1.0, unifying configuration access, entry changes, and persistence behavior. by @shigma, @imccyu
- Provide unified Cordis Fiber access to raw configuration, candidate resolution, and effective configuration, used consistently by settings and hot reload. by @shigma
- Raise the minimum supported Node.js version to 24.9. Upgrade older Node.js runtimes before upgrading DSH. by @tianyicui
- Upgrade pi-ai to 1.3.0 with updated model catalogs, endpoints, and reasoning replay rules; malformed completed tool arguments fail the response before any tool executes. by @tianyicui
- Default undeclared custom-model capacities to decimal 1M context and 128K output; smaller endpoints should set explicit capacities to avoid delayed compaction. by @LegGasai
- Capture the step model before prompt assembly and pre-step and retain it through retries; plugins should select through agent.model rather than changing routes in agent/request. by @kermanx
- Allow plugins to supply dynamic pi-ai headers using Session identity and request purpose, rejecting invalid headers before dispatch. by @LegGasai
- Bring the TypeScript and Python SDKs in line with Web mode for file delivery, questions and callbacks, scheduling, skills, and context. Support native commands, plugin management, plan review, goal continuation, and operation approvals; restart the SDK to apply plugin changes. by @koalazf99, @LogosVeritas
- Unify scheduled-task management across the Host with manual creation, direct editing, and prefilled prompts for creation in a Session. Retain drafts, support conflict review, and run tasks in reusable or new Sessions. by @ZiyaZhang, @Magolor
- The Git worktree entry is included in Change requests and worktrees. Remove @deepseek-ai/dsh-experimental-tool-worktree from dsh.profile.bundles if the standalone plugin was enabled. by @LegGasai
- Ralph loop and Session search are no longer listed as experimental plugins. by @ZiyaZhang
- Add
apply_patch, disabled by default, to create, edit, delete, and move multiple files in one call, with changes available in Review. by @sjw1231, @CreatixChu - Disable read-before-write and external-change checks by default while retaining sandbox limits and Review. Profiles requiring the previous checks can explicitly restore the observation policy. by @sjw1231
- Activate tools conditionally per step with consistent model declarations, PTC bindings, and execution admission. Plugins must migrate tools.resolve/executable and prompt-assembly integration. by @LegGasai
- Add a VM Script mode to Node PTC with top-level await, dynamic imports, and expression results, plus optional state retention across calls. Per-call execution remains the default; top-level return and using are unsupported. by @kermanx
- Split native and PTC tool execution into Agent-scoped plugins; enable PTC through configuration overlays and migrate tools.mode and DSH_TOOLS_MODE usage. by @kermanx