0.4.6
For live updates on Fresh, follow me on X.
Most options below can be changed in the Settings UI - run Open Settings from the command palette (
Ctrl+P).
Features
- Restart an exited terminal in place - the status bar offers
⟳ Restart terminal(or⟳ Resume claude) and the process comes back in the same buffer, below the existing scrollback, with a coding agent rejoining its conversation. The tab readsclaude (exited)instead of an exit line in the output, and terminal tab names now survive an editor restart.- If you have customized your status bar, open Settings → Status Bar and move Terminal Restart from Available to Included (
Shift+→) under Left or Right.
- If you have customized your status bar, open Settings → Status Bar and move Terminal Restart from Available to Included (
- Tabs for same-named files say which file they are - open two
mod.rsand the tabs readmodel/mod.rsandview/mod.rsinstead ofmod.rs 1andmod.rs 2. Each tab grows only as much of its path as it takes to be unique, and tabs whose name is already unique are untouched (#2851, requested by @anddimario). - Line-ending indicators -
↵at every line break and␍for the CR half of a CRLF, both off by default (#2798, requested by @akarinotomoshibi). - Scrollbar markers for plugins -
editor.setScrollbarMarkerspaints marks on the scrollbar track; live-diff hunks and Markdown headings now use it (#2713, requested by @RetributionByRevenue). - File Explorer sticky parents - a nested folder's expanded ancestors stay stacked at the top of the sidebar while you scroll (#2705, by @asukaminato0721).
- More graphics, docs and build-file grammars - GLSL
.glslf/.glslv, Wavefront.obj, Doxygen, Windows.rc, pkg-config,.cmake.inandCMakeCache.txt(by @asukaminato0721). - Broader LaTeX ecosystem highlighting - TeX packages/classes, generated
.aux/.toc, BibLaTeX, ConTeXt, BibTeX and.bst, pluslatexmkrc(by @asukaminato0721). - The Orchestrator dock's start-up state is configurable - whether it opens on startup, its layout, and the starting state of the all worktrees and show empty checkboxes.
- Run Agent… and New Workspace are one dialog - a "Launch in" switch picks the current workspace or a new one. Fixes
custom…having nowhere to type a command. - Plugins are told when settings change - vi-mode's options now apply without an editor restart.
- Agents drive the editor with TypeScript -
fresh --cmd script runevaluates a script against the full plugin API, withscript api/script checkfor discovery.
Bug Fixes
- Four dead settings - the bracket-matching toggles,
file_explorer.respect_gitignoreandlanguages.<id>.textmate_grammarnow take effect;editor.highlight_timeout_mswas removed rather than wired up (#2842). - Files that are one very long line
- Viewing one no longer pins a CPU core (#2838, reported by @lovehumans).
- Highlighting survives past the first wrapped rows, and the wheel no longer snaps to a 100 KB boundary (#2843).
- Typing and cursor movement no longer slow down as the cursor moves right.
- Scrolling
- PageUp/PageDown no longer stall crossing a collapsed fold - a page of scroll budget was spent stepping through the fold's hidden lines; a fold now costs one row, like its header.
- A residual cursor stall moving through revealed Markdown syntax is fixed (#1574).
- Heavy background work can no longer freeze the editor - grep-in-project, closing a terminal, and other plugin- or buffer-triggered work now run off the UI thread under a per-frame budget instead of blocking rendering for seconds.
- Dashboard
- A misbehaving section can no longer break the panel or hang the dock - overflow, errors and slow sections are now contained and refresh independently, showing "stale" instead of freezing or blanking.
fresh --cmdfrom an agent terminal no longer hangs forever - the command channel wasn't drained in every host, socmd list/cmd runcalls could block indefinitely; a stuck request now times out with a diagnosable error instead (#2837).- Settings → Status Bar picker's cursor is now visible, and clicking a row works - arrows previously moved an invisible selection with no indication of which list (Available/Included) had the keyboard.
- Terminal
- A new terminal no longer inherits another's scrollback, and a restored one comes back live rather than frozen (#2828).
- Scroll-back re-wraps when the pane resizes - splitting, maximizing or dropping a tab left every line clipped (#2844).
- Modified keys reach the program inside -
Ctrl+Shift+Right,Shift+Home,Shift+F3andAlt+Backspacearrived stripped. - Scrollback keeps streaming after the grid history saturates.
- Input
- One keypress no longer acts twice with
keyboard_report_event_typeson (#2796, reported by @akarinotomoshibi). - Horizontal wheel events no longer scroll vertically (#2831, reported by @mruff-aeq, by @ttenneb).
- A split mouse report no longer leaks into a focused terminal as literal
^[[M…(#2793, reported by @mruff-aeq). - Escape works in
fresh -ainstead of swallowing the next keypress (#2810).
- One keypress no longer acts twice with
- Daemon mode restores workspaces -
fresh -aopened[No Name]for every one; a detached daemon also survives its launching terminal closing (#2808, #2811). - Orchestrator & dock
- Settings opens over the dock - centred and dimming it, instead of squeezed into the columns beside it (#2820).
- Searching the dock and opening a match keeps the search.
- A workspace switch no longer paints two workspaces into one frame.
- "Move to Folder…" is usable with the mouse.
- Tidier workspace cards - two rows instead of three.
- A remote workspace's buffers load off the editor loop.
- Opening a C# file can no longer run project code -
dotnet restoreis now gated behind Workspace Trust (#2063, reported by @z3moo). - git-gutter works with an external difftool - it now forces git's own diff format (#2721, by @asukaminato0721).
- No blank frame at the horizontal scroll bound (by @ttenneb).
- Modal dialogs are no longer clipped, and worktree trust isn't re-asked.
Internals
- Continued the viewport/wrap-index rebuild (a single coordinate system that now also models folds and decorations) and moved plugin-triggered work off the editor thread under a frame budget, plus further flaky-e2e-test stabilization across the review-diff line-staging, scrolling, vi-mode and orchestrator-dock suites.