github sinelaw/fresh v0.5.3
fresh-editor 0.5.3

4 hours ago

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-lsp by default; set lsp.kotlin.command to keep kotlin-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

  • AutoOpenDock honored, with auto / always / never values - opening or closing the dock is remembered across restarts, and the old on/off value is migrated (#3442, #3516, reported by @sjsepan3)
  • Bare fresh on 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/dir3 row is selectable
  • Project Search/Replace - $1 capture 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
    • Nim: an unpaired apostrophe no longer colors the rest of the file, and 'suffix number literals are highlighted (#3455, reported by @codic12)
    • JavaScript/TypeScript: a < comparison no longer starts JSX highlighting (#3527)
  • 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>.zip ships fresh-gui.exe with a fresh-gui.com console launcher, so typing fresh-gui runs the TUI without the shell competing for keyboard and mouse input (#2965, reported by @mokurin000)

Internals

  • Plugin API breaking change - setPromptSuggestions throws unless every suggestion has a unique id (new, required); showActionPopup / setLspMenuContributions throw on duplicate ids; widget List / Tree specs whose itemKeys don't match their items one to one are refused
  • Flaky e2e test fixes and internal cleanups

Don't miss a new fresh release

NewReleases is sending notifications on new releases.