0.3.9
Features
Universal Search (multi-scope Live Grep)
Live Grep grows into a universal search overlay: search across multiple scopes — project files, open Buffers, and Terminals scrollback — with Word and Regex search modes (each keybindable). The overlay gets a clickable widget toolbar (focusable provider button, toggle controls), a full-width header band, and inline status shown in the overlay itself. Closed-terminal scrollback is retained so it stays searchable (#2099).
Orchestrator & git worktrees
- Attach sessions to existing git worktrees and discover them automatically (#2095).
- Multi-select bulk actions, worktree ordering, and a Show all worktrees filter toggle.
- Draggable scrollbars on the picker lists, with bulk-pane reorder.
Editor
- Move to Next / Previous Paragraph actions, including translations (#2084, contributed by @PavelLoparev; requested in #2083).
Language Support
Plugins & API
- New
getWorkingDataDir()(per-working-dir data root) andgetTerminalDir()plugin APIs. - Overlay toolbar widget APIs — clickable
Toggle/Buttoncontrols,toggleOverlayToolbarWidget, and aRow { wrap }layout that reflows toolbars across lines.
Improvements
- The dashboard no longer opens automatically on startup by default. To re-enable it, open Settings, select Plugin: dashboard, and turn on AutoOpen ("Show the dashboard automatically when Fresh starts with no real files open."). The dashboard remains available any time via the Show Dashboard command.
- Homebrew install simplified now that fresh-editor is in homebrew-core —
brew install fresh-editor, no tap step.
Bug Fixes
- Plugin
getCursorLine()now returns the real cursor line instead of0(#2076, reported by @pmburov). - Reduced serial-console lag by not repainting on non-visual plugin async events (#2100, reported by @jetpax).
- Custom theme colours no longer silently ignored for many UI fields (#2080, contributed by @flexiondotorg; reported in #2079).
PageDown/PageUpno longer overshoot on a single soft-wrapped line (#2085).- Workspace restore no longer mixes tabs from multiple projects in one window (#2056, reported by @mandolyte).
- Live Grep: Resume keeps the query and opens the selected result; overlay preview and input-box undo/redo corrected; Buffers scope finds unmodified open buffers; non-file-scope previews and read-only data-dir files fixed.
getKeybindingLabelresolves correctly for bound plugin actions.
Internal
- Major window refactor: window-scoped save/restore (
Window::from_workspace),WindowId-parameterized persistence,working_dirderived from the active window, andopen_file/LSP/watch helpers moved ontoWindow. - Orchestrator bring-up characterization tests and fixtures across persistence layouts.
- Serial-console lag benchmark/diagnostic scripts; theme-key resolver schema-drift guard.
- Internal docs excluded from the public docs build.