0.5.7
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
- Compare Files -
fresh --diff A Bshows any two files side by side, both editable (#3611, requested by @cherio) - Universal Search across all workspaces - toggle All workspaces (
Alt+A) to search every local workspace's files, unsaved buffers and terminals; Enter jumps there (#3654) fresh --update- alias forfresh --cmd update, which now asks before installing instead of looking like a finished update (#3064, #3614, reported by @davidwooff)Shift+Homeselects to the first non-blank character first, then column 0, likeHome- newselect_smart_homeaction (#3585, #3669, requested by @notnout)- Nix installation noted on the homepage (#3635, by @dwt)
Bug Fixes
- Idle CPU, memory and log growth from
git_statusbaron Linux - file reads no longer count as changes, which re-rangitseveral times a second (#3607, #3659, reported by @naoto-anzai) - Search & Replace honours Case Sensitive and Whole Word (#3575, #3640, reported by @Korkman)
- Unsaved work is kept in one place whatever the launch mode - one buffer per file, saves refuse to overwrite a file another Fresh has open, sudo saves are crash-safe, and switching workspaces keeps your tab in front (#3633, #3639, #3660)
- Hot exit entries are replaced atomically by a save (#3626, #3627)
- Undo restores the exact bytes of a deleted non-UTF-8 byte instead of writing U+FFFD on save (#3652, #3655)
- Sudo-saving a new file no longer creates it with mode 000 (#3641, #3653, reported by @ViolinKaine)
- Files over SSH are writable when the remote user owns them, even if local and remote UIDs differ (#2944, #3669, reported by @mommysgoodpuppy)
- Ctrl+V in a terminal pane reaches the program when the clipboard has no text, so agent CLIs can paste images; turn off with
terminal.pass_ctrl_v_without_text(#3129, #3658, reported by @andreivinca) - Typing in long wrapped lines is one frame per key and no longer stutters (#3631, #3632, reported by @jmote)
- Home, End, Up and Down after fast typing land in the right place (#3642, #3656)
- Replace-all on huge files uses far less memory (#3642, #3657)
- Orchestrator picker returns the keyboard to the dock only if it had it, so arrow keys no longer reach a terminal shell (#3136, #3661)
- Terminal fixes
- Exported Bash functions survive environment capture (#3586, #3640, reported by @warrenfalk)
- A workspace file that exists but can't be opened keeps its place in the layout (#3532, #3640)
- Ctrl+P list fits on short terminals instead of covering the input line (#3578, #3669)
- View menu Line Numbers / Line Wrap show the real setting on terminal and Welcome tabs and are greyed out there (#3550, #3669, reported by @sjsepan3)
- Status bar shows "Bash" instead of "Bourne Again Shell (bash)" (#2727, #3669, reported by @720720)
- Palette hint bar colors follow the selected-row foreground, so themes are easier to style (#3616, #3653, reported by @Korkman)
- Search & replace polish - Unicode word highlights, replace within a multi-line selection, cheaper recovery for large replace-alls, accurate Live Grep over terminals (#3645, #3648)
- Markdown Source/Compose scroll sync no longer drifts or stalls (#3609)
- Plugin panels recolor when rewritten to text of the same length (#3646, #3647)
- Macros with plugin-bound keys replay once and in order, without timer ticks (#3595, #3597)
fresh --diffopens without an empty-editor flash and scrolls smoothly (#3630)- Docs - tabs vs spaces,
auto_revert_poll_interval_ms, and the rendering architecture are corrected (#3114, #3272, #3599, #3669, #3653; #3114 reported by @sgon00)
Internals
- Plugin API -
runOnTarget/ a machine'srunreplaces the deprecatedspawnProcess; plugin calls can target another workspace; plugin commands from a hook apply as one batch (#3637, #3654) - Debian packaging, CI sharding and advisory fixes, dependency bumps, flaky-test fixes (#3593, #3596, #3604, #3605, #3606, #3629, #3650, #3651)