Release Notes
v1.2.17 — Oct 13, 2026
- Closing ends the session - Closing a block (X, Cmd+W, Close Block) or a tab now ends its terminal session, including durable local, SSH and WSL sessions, instead of parking it. Closing a window or quitting the app still keeps durable sessions running.
- Park Session and Close - To keep a session running in the background, use the archive button in the block header or Park Session and Close in the header menu. It replaces Close and End Session.
- Confirmation for running work - Closing a block in which an agent or a command is running asks first and offers Park and Close. The tab close dialog lists running blocks and offers Park All and Close.
- Already parked sessions - Sessions parked by earlier versions stay in the Sessions list. End the ones you no longer need from the list. This release is macOS only.
- Known macOS limitation - Some managed sessions still cannot confirm safe termination or automatically resume an AI conversation on the current macOS kernel. This release does not resolve that limitation.
v1.2.16 — Oct 13, 2026
- Agent activity after updates - The local terminal service now keeps binding the shells it starts after DanteTerm updates itself in place, so Claude Code and Codex tabs keep their working indicator and done sound across future updates. Bind failures are now written to the terminal service log instead of being dropped.
- One more restart needed - A terminal service started by an earlier version still has the old behavior. Finish your current work and restart the terminal service once; after that, updates no longer require it. Restarting the service ends its running sessions.
- Windows and Microsoft Store - This version brings v1.2.14 and v1.2.15 to Windows and the Microsoft Store: block terminal recording and playback, and the agent done sound. On Windows the done sound plays
.wavfiles; other formats fall back to the system sound. - Known limitations - SSH and WSL blocks ring when the agent starts waiting for input but not at the end of a turn. Seeking right after a window resize in output with wide characters (CJK or emoji) can differ from continuous playback.
- Known macOS limitation - Some managed sessions still cannot confirm safe termination or automatically resume an AI conversation on the current macOS kernel. This release does not resolve that limitation.
v1.2.15 — Oct 13, 2026
- Agent done sound - DanteTerm plays a sound when an agent in a block (Claude Code, Codex, Hermes, opencode, pi and other detected agents) finishes its turn or starts waiting for your input, even when the block is in another tab. Turn it off for one block with the bell next to the activity indicator in the block header or the block's right-click menu, or for all blocks with
agent:donesoundin settings.agent:donesoundfilepicks the sound; when empty, DanteTerm uses notifysound's current sound if installed, then the system sound. - Recording on Windows - Recordings now finish even when the staging folder cannot be deleted right away (for example while antivirus holds a file), and a terminal that is still starting is no longer shown as unable to record.
- Known limitations - SSH and WSL blocks ring when the agent starts waiting for input but not at the end of a turn. If a terminal service started by an earlier app version is still running and its tabs show no working indicator, those blocks stay silent until the terminal service is restarted. This release is macOS only.
- Known macOS limitation - Some managed sessions still cannot confirm safe termination or automatically resume an AI conversation on the current macOS kernel. This release does not resolve that limitation.
v1.2.14 — Oct 12, 2026
- Terminal recording - Record a terminal block with the REC control in its header. DanteTerm saves the initial screen and every output and resize in order, keeps recordings in a local library, and plays them back read-only with seek and speed controls. Recordings can be exported to and imported from
.dtrecfiles, and opened from a preview block or withdsh view. - Where it works - Local persistent terminals, SSH and WSL persistent sessions, and in-app shells. An SSH host with an older helper reports that the helper needs an update instead of recording partially.
- Existing sessions - A local terminal service that was already running before this update cannot record and shows "세션 데몬을 업데이트해야 기록할 수 있습니다". Finish your current work, then restart the terminal service to enable recording. Restarting the service ends its running sessions.
- Known issue: AI activity dots after an update - If Claude Code or Codex tabs stopped showing the working indicator after an in-place update, the terminal service started by the previous version is still running. Restarting the terminal service restores it.
- Known limitations - Seeking right after a window resize in output with wide characters (CJK or emoji) can differ from continuous playback; play forward from the previous point instead. This release is macOS only.
- Known macOS limitation - Some managed sessions still cannot confirm safe termination or automatically resume an AI conversation on the current macOS kernel. This release does not resolve that limitation.
v1.2.13 — Oct 11, 2026
- Terminal input after reconnect - Use the live session state when restoring terminal input, and allow completed legacy sessions to restart without losing their saved output.
- Faster WSL typing - Deliver saved output immediately and avoid repeated authentication handshakes, unchanged policy transfers, and redundant metadata writes while preserving access checks and durable output ordering.
- No flashing Windows consoles - Prevent background CLI discovery, resume checks, Git commands, and shell/system probes from opening separate terminal windows.
- Existing sessions - Running sessions remain intact during an app update. Finish current work before restarting an older local terminal service or WSL shell to activate its service-side fixes.
- Known macOS limitation - Some managed sessions still cannot confirm safe termination or automatically resume an AI conversation on the current macOS kernel. This release does not resolve that limitation.
v1.2.12 — Oct 9, 2026
- Smoother terminal output - Reduce local terminal repaint delays during AI responses by batching PTY fragments and avoiding redundant session-state disk writes. Output remains saved before it is displayed.
- Tab icons after reconnect - Restore Claude Code and Codex process detection when reconnecting to an already running terminal, even without a new shell command-start event.
- Scroll position and renderer recovery - Preserve history scroll position during screen repaints and fall back to the standard renderer if GPU initialization fails.
- Existing sessions - Running sessions remain intact. Output service improvements take effect when the updated terminal service starts; finish current work before restarting it. Older Claude sessions may still lack detailed activity reporting without a valid hook connection.
- Known macOS limitation - Some managed sessions still cannot confirm safe termination or automatically resume an AI conversation on the current macOS kernel. They remain pending instead of reporting success.
v1.2.11 — Oct 8, 2026
- Background terminal tabs - Fix accumulated output playing back slowly after returning to a tab. Batch consecutive terminal updates while preserving output order, history and screen recovery boundaries.
- Input responsiveness - Reduce the time spent processing old output when returning to an active Claude Code, Codex or other terminal session.
- Known macOS limitation - Some managed sessions still cannot confirm safe termination or automatically resume an AI conversation on the current macOS kernel. They remain pending instead of reporting success.
v1.2.10 — Oct 7, 2026
- Terminal responsiveness - Remove the fixed 150 ms output wait for local persistent sessions. Newly started session services deliver saved output as it becomes available; older running services receive faster polling during input and output bursts.
- AI icons and activity - Restore execution-owner activity reporting to local terminal tabs and headers, including Claude Code and Codex detection. Preserve AI hook connections when starting a local shell.
- Existing sessions - Keep running terminals connected during an app update. Older session services have partial activity support; full support requires the updated service and a newly initialized shell after you finish your current work.
- Known macOS limitation - Some managed sessions still cannot confirm safe termination or automatically resume an AI conversation on the current macOS kernel. They remain pending instead of reporting success.
v1.2.9 — Oct 7, 2026
- Persistent terminals - Restore local terminal connections and saved output after reopening the app. Closing a terminal block parks its persistent session; use End Session to stop it.
- WSL and SSH sessions - Extend persistent sessions and saved output recovery to WSL and supported SSH hosts. SSH connections without the remote helper can use a standard shell.
- Video blocks - Open supported MP4, M4V, WebM and MOV files in a video block.
- Documents - Improve Markdown readability and navigation. Add CSV, XLSX and DOCX editing with guarded saves, plus HWPX preview.
- Reliability - Fix an RPC disconnect race and preserve terminal environment and pending screen state during recovery.
- Known macOS limitation - Some managed sessions cannot confirm safe termination or automatically resume an AI conversation on the current macOS kernel. They remain pending instead of reporting success. This release does not resolve that limitation.
v1.2.8 — Sep 28, 2026
- App-wide themes - Choose a light or dark palette for the app, then override it per tab or block. Theme previews can be canceled without losing the saved selection.
- Settings forms - Edit general options, connections, sidebar widgets, and tab backgrounds through forms. Raw JSON remains available for advanced configuration.
- Editor colors - Code and Markdown editors follow the selected palette. Changing a theme preserves unsaved text and editor state.
- System appearance - The System theme follows macOS and Windows light or dark appearance while explicit tab and block choices remain in place.
v1.2.7 — Sep 27, 2026
- Markdown editing - Double-click a document to edit formatted text; press Esc to return to preview. Unsaved changes can be saved from either mode. Headings and quotations share preview styles, code blocks use the same background and spacing without line numbers, and mode changes preserve the text location and scroll position. Unsupported syntax opens in the source editor.
v1.2.6 — Sep 25, 2026
- [bugfix] Top tab clicks - Clicking anywhere on a tab's body now selects it. Moving a tab requires dragging the dedicated handle, so stray pointer movement during a click cannot reorder it or interrupt selection.
v1.2.5 — Sep 24, 2026
- [bugfix] Top tab clicks - Prevent a sudden, unconfirmed pointer-coordinate jump immediately after pressing a tab from starting a drag. A release at the pressed position selects the tab, while a confirmed drag still moves it.
v1.2.4 — Sep 24, 2026
- [diagnostics] Tab interactions - Settings → Diagnostics can record tab mouse actions, drag decisions, tab order, and selection in the application log. Recording is off by default. Use this to capture the top-tab selection issue in an installed app.
v1.2.3 — Sep 24, 2026
- [bugfix] Top tabs - Clicking a tab selects the tab pressed by the pointer without briefly moving it to another position. Actual tab drags still reorder tabs.
- [bugfix] Windows Store updates - The update button checks the installed package through Microsoft Store and requests the available update there, instead of relying on a catalog version that may only offer Open.
v1.0.0
The details below describe v1.0.0 when it shipped. For current defaults and platform support, see Durable Sessions.
This release extends durable sessions to local terminals. The same job manager that has always kept a remote SSH shell alive now runs locally too, so a local session can survive closing its panel and even quitting DanteTerm, including a force-kill.
- Local Durable Sessions - A local terminal can now be durable, held by a
dsh jobmanagerprocess that survives closing the panel and quitting DanteTerm (including a force-kill). It's off by default — turn it on for a block withdsh setmeta term:durable=true, or for every local terminal with"term:durable": trueinsettings.json. Remote SSH connections are unaffected and stay durable by default, including SSH from a Windows machine; WSL still can't be durable. Local durable sessions themselves are macOS and Linux only for now — a Windows local terminal always uses a standard session - Background Session Parking - Closing the panel of a durable local terminal detaches the session instead of ending it. Remote durable sessions still end when their panel closes, exactly as before
- Session List Popover - A widget-bar entry with a count badge lists parked sessions. Click one to restore it into a new panel in the current tab, even if that's not the tab it started in
- End a Durable Session Outright - Two new ways to end a session instead of just parking it: Close and End Session on the panel's context menu, and End Session on a parked session's right-click menu in the session list
dshOutside a Session -dshused to needDANTETERM_JWT, which only exists inside a DanteTerm-managed block, so it was unusable from a plain shell, a script, or another tool. The server now writes a local credential at startup anddshfalls back to it, with a new--workspaceflag to name a target where there is no ambient one. See Running dsh Outside a Session — including what the credential grants, since it is a real key on disk- [bugfix]
dsh -b <block id>- The idsdsh blocks listprints under BLOCK ID were rejected by-b, which required theblock:prefix and otherwise answered "no block specified" to a caller who had just specified one - Version - This release leaves Wave Terminal's numbering. DanteTerm was forked at Wave v0.14.5 and kept counting from there through v0.17.5; from here it numbers its own releases, starting at 1.0.0
v0.17.5 — Aug 17, 2026
- [bugfix]
dsh blocks list- The command failed outright with "no workspaces found" on a normal install. It enumerated workspaces through a listing that hides any workspace without a name, icon, and color — the default state — so the list came back empty even though the caller was sitting in one. It now falls back to the caller's own workspace (6228fa31)
v0.17.4 — Aug 16, 2026
This release makes tabs and block layout scriptable from dsh, and adds a way to type into a terminal block from the command line. Everything here works across tabs, so a script can set up a whole workspace without touching the mouse.
dsh tab- Manage tabs from the command line:list,create,rename,move, anddelete. Tabs can be named four ways — omitted orthisfor the current tab, a 1-based number matching the tab bar, an exact tab name, or a full tab id. Deleting the last tab in a workspace is refused unless you pass--close-window- Block Placement -
dsh createblockis no longer hidden and can place a block relative to an existing one:--targetpicks the reference block,--positiontakesright,left,up,down, orreplace, and--sizegives the new block a percentage of the resulting pair. Atermblock now comes up running a shell, so the other commands can talk to it dsh sendkeys- Send keystrokes to a terminal block as if they were typed. Text is sent literally, so passwords and Windows paths arrive unchanged; named control keys go through--keys(C-c,Up,Enter,F5, and the rest), and--signalsends a signal instead- Cross-Tab Addressing -
dsh sendkeys,dsh createblock --target, anddsh termscrollbackall take--tab, so a script can reach a block in a tab it is not running in. Becausethisonly ever means the current block,--tabrequires an explicit-brather than silently acting on the caller's own block - See the dsh reference for full flag documentation
v0.17.3 — Aug 13, 2026
- [bugfix] File Tree / OSC 8 Links - Preserve the file tree and open OSC 8 hyperlinks (83e0ac91)
v0.17.2 — Aug 10, 2026
- [bugfix] WSL - Open WSL terminals in the selected directory (2d263381)
v0.17.1 — Jul 28, 2026
- [bugfix] Korean IME on Windows - Fix terminator inversion during Korean composition (3aabe93a)
v0.17.0 — Jul 27, 2026
- File Explorer - Multi-select, folder drop targets, and live listing (d459bdd8)
- [bugfix] Korean IME - Fix Korean input in the terminal (5914ee58)
- [bugfix] Streaming - Recover from dropped stream packets instead of hanging forever (4c7f319c)
v0.16.0 — Jul 25, 2026
- Directory Tree Panel - Two-panel tree + list layout in the directory block, with a folder-tree toggle in the block header, lazy loading, and reveal (c51451eb, 31e5df85, 533d31d5, 36a1cc02, 4a08ee1b)
- Live Preview Reload - The preview viewer reloads when the file changes on disk (f8378242)
- [bugfix] Hidden Files - The hidden-files toggle is now reflected in the tree, and nodes show load/error state (993390b9)
- [bugfix] Bookmarks - Default file bookmarks are deletable and trimmed to three (380f182a)
- [bugfix] Windows - Handle the Windows drive-root anchor in tree reveal (ef468695)
- Root-aware path comparison in
isPathAtOrUnder(af98afce)
v0.15.1 — Jul 24, 2026
- Drag Files In from the OS - Copy files dropped from Finder or Explorer into a directory block (6a4bb1af)
- File Copy Progress - Removed the copy size cap and added copy-progress reporting (93a49a73)
- [bugfix] Thread
CopyIdthrough dshfs Copy/Move so copy-progress events reach the frontend (dc3d79ff)
v0.15.0 — Jul 24, 2026
- Open Files from the OS - DanteTerm registers file associations and the
danteterm://protocol, so double-clicked files anddanteterm://URLs open in DanteTerm. External files open as a new block in the active tab rather than a new tab. Newwindow:nativeopenhandlerconfig key (58538fd1, 2c450cfc, c77c9255, e12fd566, df502388, 108b4a9f, 9bb2926c) - Drag Blocks Between Tabs and Windows - File drag copy/move across tabs, windows, and connections, with a hint showing what will happen, backed by a native uri-list drag bridge (c71123d9, c548b735, 8a724413, 703923e0)
- Drop OS Files onto a Preview Block - Dropped files open through the external opener (0472ba36)
- [bugfix] Close a cross-window dragend race by reading the drag broker before awaiting in drop (8ce559ab)
- [bugfix] Packaging - Flatten
fileAssociationsto one extension per entry for Linux/Windows packaging (b807cb90)
v0.14.9 — Jul 23, 2026
- File Bookmarks - Bookmark files and jump back to them: a star dropdown in the preview header, "Add to Bookmarks" in the directory context menu, and an edit modal for rename/reorder/delete. Bookmarks remember your position in the document, including across files in markdown (55b65ee3, 6235b3f1, 1cfc6e81, 889f4181, b97ac2d7, b0d73928, 6cde12dc, b18943af, 1108b523)
- Markdown Scroll Position - Markdown preview keeps its scroll position across refresh (e625570f)
v0.14.8 — Jul 2, 2026
- [bugfix] Config - Skip AppleDouble (
._*) config files (232de39f)
v0.14.7 — Jun 18, 2026
- Tab Close Confirmation - Confirm before closing a tab (ceba5282)
v0.14.6 — Jun 2, 2026
- [bugfix] Korean IME in the Terminal - A series of fixes to IME composition handling: composition order around spaces, suffix punctuation, control-regex avoidance in suffix checks, composition release, and typed composition keyboard events (447cba7a, ada924de, 90749e99, 42d0b9a7, 02760364, 8f2af92d)
- Terminal Rendering - Default to non-WebGL rendering (d1119b4c)
- [bugfix] macOS - Fix the dantesrv deployment target (95516dc2)
Before v0.14.6
DanteTerm is a fork of Wave Terminal, taken at v0.14.5. Everything above is this fork's own work; everything before it was Wave's, and those notes stay with the project that wrote them -- docs.waveterm.dev/releasenotes. Carrying them here would have credited this project with releases it did not make, and described features it has since removed.