Releases: m0nji/DM_Workspace
Releases · m0nji/DM_Workspace
Release list
v0.9.41
0.9.41
- fix: Terminal history survives a restart on Windows again. It was replayed correctly and then erased a fraction of a second later: PowerShell clears the entire screen when it prints its first prompt, and the replayed history was still sitting on that screen. The pane then saved the emptied terminal over the stored history, so it was lost for good — every restart, not just the second one. A pane split did the same thing, because a shell repaints the screen when its size changes. The history is now placed into the scrollback before the shell starts, out of reach of both repaints. One visible change: after a restart a pane opens on a clean prompt and the previous session is one scroll up, rather than filling the screen — on macOS as well, so both systems behave alike
v0.9.40
0.9.40
- fix: The workspace sidebar lines up with the terminal panes again and is back in the app's own colour. Version 0.9.35 turned it into a floating rounded frame with no fill: it ended up 16 pixels shorter than the panes next to it with its corners 8 pixels off, because those panes run right to the window edge and leave no matching air for a frame that floats. The missing fill also let the macOS window's translucency shine through, so the sidebar was painted in the system's neutral grey instead of the app's warm palette — on Windows the opaque window hid that, which is why it only showed on the Mac. The sidebar is now one filled surface over the full window height. The settings panes keep their rounded frame; they sit inside a dialog that gives them the backdrop and the spacing the sidebar never had
v0.9.39
0.9.39
- fix: On Windows a save no longer gets lost when another program briefly holds the file. Windows refuses to replace a file while something else has it open, and that happens routinely there — the virus scanner inspects every freshly written file, so a save could collide with the scan of the one before it. The app now waits a moment and tries again instead of dropping the write; previously a pane's terminal history could quietly fail to be stored and the next launch would bring back an older state
- change: Every message the window sends to the app's core is now checked for where it came from. Only the app's own window is meant to reach file and terminal operations, and only it can — but nothing verified that, so a later change could have opened the door without anyone noticing. The rule is now enforced rather than assumed
- change: The image library used to generate the app icons was updated to a release without known vulnerabilities, and two build-time libraries were pinned to their patched versions. None of this ships inside the app — it is the toolchain that builds it. The icons themselves are unchanged, pixel for pixel
v0.9.38
0.9.38
- fix: A link in terminal output can no longer point the preview at another machine. A path starting with two slashes (
//somehost/share/report.html) names a network location, and on Windows opening one makes the system contact that host — handing it your Windows account name and password hash before anything is shown. Since terminal output can come from a build script, a log line or an agent, such targets are now refused outright, both for the preview window and for the markdown reader - fix: A pane title can no longer be tricked into capturing what you type into another program. Panes learn the name of the running command from a private marker your local shell prints at each prompt. Any program that writes to the terminal — including the remote side of an SSH session — could print that same marker and make the next line you typed become the pane title (and, with notifications on, the text of a system notification that macOS keeps in Notification Center). The marker now carries a secret generated fresh at every app start, which terminal output cannot know
- fix: Secrets on a command line no longer end up in the pane title or in notifications.
export GITHUB_TOKEN=…,PGPASSWORD=… psqlor--api-key …now show as[versteckt]in the title, the same way prompts to Claude and Codex have always been treated - fix: Saved terminal history and the app's own state file are now readable only by your account. They were written with the system default, which on a shared machine let other local accounts read whatever had scrolled through your terminals. If you would rather not keep terminal history at all, Settings › Session still has the switch
- fix: A pasted command line with an unterminated quote followed by many backslashes no longer freezes the window. The title parser needed exponentially more time for each additional character — 26 of them already blocked the app for one and a half seconds
- change: Pages shown in the preview panel are refused every browser permission (location, notifications, clipboard reading). The app itself needs none of them, so only embedded pages could ask — and previously nothing stood in the way of them being granted
v0.9.36
0.9.36
- feat: Restoring terminal history after a restart can now be switched off — Settings › Session › "Restore terminal history". It stays on by default, so nothing changes unless you turn it off. With it off, every launch starts with empty terminals and no terminal content is written to disk at all: the stored history is discarded the moment you flip the switch. Your workspaces, pane layout and pane titles come back either way
v0.9.35
0.9.35
- change: The sidebar and the settings panes now read as one calm surface each — a single rounded frame around plain entries, instead of a filled panel with a divider line doing the same separating job twice. The settings options sit in one continuous frame rather than a separate box per section, and the line above the sidebar footer gave way to spacing. This follows the DM Apps design rule introduced with DM Screenshot 0.9.0, so all DM apps look alike
v0.9.34
0.9.34
- fix: An unexpected error inside the app's main process no longer takes the window down with every running terminal. Such an error used to end the process immediately, so builds, agents and SSH sessions died with it and could not be recovered. The process now survives and logs the problem instead, and the values the window sends to a terminal are checked before they are used, so a malformed one is discarded rather than ending it
- fix: A failed save no longer leaves a stray
*.dmws-tmp-*file behind — most visibly in a workspace's.dmworkspacefolder next to TASKS.md - change: The update component moved to a release without a known credential-leak advisory in one of its dependencies. DM Workspace never sent credentials over that path, so no published version was affected
v0.9.32
0.9.32
- fix: Changing a workspace's base folder no longer breaks keyboard input — after the restart confirmation the terminal cursor stopped blinking and the Space key went dead until the window was Alt-Tabbed away and back. The confirmation was a native browser dialog, which Electron never fully recovers from; the restart question now uses the app's own dialog
- fix: After a folder change restarts a workspace's terminals, keyboard focus now lands in the first restarted terminal automatically — keystrokes used to fall nowhere until you clicked into a pane
v0.9.31
0.9.31
- fix: Terminal sessions no longer come back "unscrollable" after an app restart or update. Saving a pane's scrollback used to also record the terminal modes a running TUI (Claude Code, Codex, vim …) had active at that moment — mouse tracking and the alternate screen — and the next launch replayed them into the fresh pane, which then started with a hijacked wheel or without any scrollback at all (macOS and Windows alike, typically right after an auto-update restarted the app mid-session). Saves now persist plain content only, and old saves carrying those modes are cleaned during restore
- fix: A pane whose full-screen program crashed or was killed now heals itself — as soon as the local shell prompt returns, stale mouse tracking or a stuck alternate screen is reset automatically, without needing right-click → "Reset terminal"
- feat: Shift+mouse wheel always scrolls the terminal history, even while a full-screen program has mouse tracking enabled (matching iTerm2 / GNOME Terminal)
v0.9.30
0.9.30
- fix: Opening a pane next to a running terminal (or closing its neighbor) no longer shreds the remaining pane's text. Restructuring the layout used to rebuild the squeezed terminal from its saved scrollback — replaying old line breaks and the "session restored" separator underneath the still-running program, which then painted over the wrong rows. The terminal is now moved as-is when the layout changes, exactly like during maximize/restore; a width change reflows once and the program repaints cleanly at the new size
- change: The warm sand accent on filled buttons (update badge, "Update now", confirmation dialogs) is a touch deeper so it no longer reads as washed-out (Graphite Sand design)
- change: The destructive confirmation button ("Clear all windows") now uses a warm terracotta that fits the Graphite Sand palette instead of the utility neon red — inline error text stays red