0.5.3
For live updates on Fresh, follow me on X.
Most config options below can be changed in the Settings UI - run Open Settings from the command palette (
Ctrl+P).
Features
- Find Next selects the whole match - F3 / Shift+F3 select the entire match, and the current match is highlighted in its own color
- Theme text attributes - any theme color accepts bold, italic or underline, e.g. to draw diagnostics as underlines (#3494, requested by @zeevro)
- Theme color fallbacks - colors a theme omits are derived from its other colors. Complete user themes may look slightly different after upgrading; see Themes → Fallbacks
- Full internationalization of the Settings UI - setting names, descriptions and categories are translated in all locales (#3479 by @neatsorg)
- Import coding agent and terminal sessions in Orchestrator
- Claude and Codex sessions running outside Fresh are listed in the dock, grouped by product
- Open a session as a workspace, or fork a cloud session into one
- Move to Folder files workspaces and sessions into folders, by click or drag
- File Explorer (#3427, requested by @akarinotomoshibi)
- Drag and drop to move files and folders
- Rename accepts a path, which moves the entry
- Dropping a file asks for confirmation before moving it, and the move is animated
- Refresh button
- Weather location and units can be set for the dashboard plugin (#3344 by @KyleKorndoerfer)
- Kotlin uses JetBrains' official
kotlin-lspby default; setlsp.kotlin.commandto keepkotlin-language-server(#3481 by @karczews) - Plugin docs - the API reference is generated from the source, and there is a new "Asking for Input" guide
Bug Fixes
AutoOpenDockhonored, withauto/always/nevervalues - opening or closing the dock is remembered across restarts, and the old on/off value is migrated (#3442, #3516, reported by @sjsepan3)- Bare
freshon a Linux console and with several terminals attached (#3517, reported by @MAT-services)- Faster startup: the first frame no longer waits for plugins to load
- The session is sized by the terminal last used
- Console mouse (GPM) works again; selections and indentation guides are visible
- The dock width scales with the terminal instead of crowding the menu bar
- Line Numbers, Line Wrap and Current Line Highlight apply to all open documents, and the View menu reflects the current state (#3449, reported by @sjsepan3)
- File Explorer (#3427, reported by @akarinotomoshibi)
- New File / New Folder create the entry only after the name is confirmed
- Rename no longer overwrites an existing file
- Right-click uses the entry under the pointer: empty space selects the project root, and each segment of a
dir1/dir2/dir3row is selectable
- Project Search/Replace -
$1capture groups are expanded in regex mode, hidden files are searched in current-file scope, and Replace All asks for confirmation in a dialog - Selection keys - Up/Down work when a selection touches the first or last line (#3486, reported by @Korkman); repeated Ctrl+L extends the selection by a line (#3495, reported by @sjsepan3)
- Plugin timers and crash-recovery saves run in the background session (#3440, reported by @neatsorg)
- Restored unnamed buffers use the configured editor settings, e.g. current line highlight (#3426, reported by @neatsorg)
- LSP diagnostics are shown on the only line of an empty file (#3484, reported by @akarinotomoshibi)
- Mouse release no longer printed at the shell prompt after quitting with a click (#3474, reported by @odjbo)
- Update check on Android/Termux no longer panics (#3453, reported by @dsvarela)
- Unsaved buffers are kept when switching projects - they are restored in the project they belong to and no longer multiply across workspace switches and restarts (#3475, #3476, reported by @Korkman; #3530 by @neatsorg)
- Scroll position is kept when a modifier key is pressed alone (#3324, reported by @akarinotomoshibi; #3373 by @56steve)
- Quit is no longer delayed by a background request or a lost mouse release
- A second daemon can no longer take over a running session and leave it unreachable
- TypeScript 7 (
tsc --lsp) diagnostics work (#3061, reported by @defaultkavy; #3413 by @atk) - Window title is set in Orchestrator sessions (#3515 by @neatsorg)
- Dev container remote indicator is cleared once the container is attached (#3487 by @cychitivav)
- Occurrence highlight skips the indentation of a wrapped line (#3466, reported by @mandolyte)
- Review mode asks for confirmation before discarding a line selection
- Syntax highlighting
- Empty pane is dimmed behind Settings (#3452, reported by @akarinotomoshibi)
- List selection follows its item when the list is re-sorted or filtered, and Page Up/Down move by the visible rows
- Word wrap of long CJK text no longer drops the end of a line (#3438 by @neatsorg)
- Review Diff no longer draws the scrollbar of the hidden file behind it (#3434)
- Windows GUI build from cmd.exe and PowerShell - a new
fresh-gui-<target>.zipshipsfresh-gui.exewith afresh-gui.comconsole launcher, so typingfresh-guiruns the TUI without the shell competing for keyboard and mouse input (#2965, reported by @mokurin000)
Internals
- Plugin API breaking change -
setPromptSuggestionsthrows unless every suggestion has a uniqueid(new, required);showActionPopup/setLspMenuContributionsthrow on duplicate ids; widgetList/Treespecs whoseitemKeysdon't match their items one to one are refused - Flaky e2e test fixes and internal cleanups