fresh version history
12 releases tracked, newest first.
v0.4.3
Jul 6, 2026- Added Slang shader support and NetBSD builds
- Fixed cursor column preservation and LSP args handling
- Improved settings icons and markdown table stability
- Enhanced remote workspace performance and large file handling
17 downloads
v0.4.2
Jun 27, 2026- Added indentation guides and persistable, editable macros
- Introduced JSONC config files and per-buffer view toggles
- Improved terminal and remote workspace handling
- Fixed various bugs in regex search, splits, and keybindings
17 downloads
v0.4.1
Jun 18, 2026## 0.4.1
This is mostly a bug-fix release.
For live updates on Fresh, [follow me on X](https://x.com/TheNoamLewis).
### Renamed features and clarified docs
This releases introduces new names (in docs, cli, etc) to clarify the ambiguously used word: "session". The new vocabulary:
* **daemon** — the persistent background process you attach to and detach from.
* **workspace** — the editor's per-project unit. Multiple workspaces are managed by the Orchestrator.
* **backend** — where a workspace runs (local / SSH / dev container / Kubernetes).
The cli now supports `--cmd daemon`, but still accepts the now-deprecated `--cmd session` as an alias. The new vocabulary also reaches the user-facing surfaces of the editor: the Orchestrator now lists, dives into, and manages **workspaces** (commands, dialogs, dock chrome, and status messages), and the replace-in-project confirmation refers to files open "in this workspace". Localized strings were updated to match in every supported locale.
### Features
* **New language support**:
* **Assembly** via [asm-lsp](https://github.com/bergercookie/asm-lsp) (opt-in) — GAS and NASM/Intel across x86/x86_64/ARM/RISC-V, with an offer to generate `.
17 downloads
v0.4.0
Jun 10, 2026## 0.4.0
For live updates on Fresh, [follow me on X](https://x.com/TheNoamLewis).
### Features
* **Review Diff, reworked**: a file sidebar with per-file status, change counts, and comment badges, grouped by directory; an in-panel side-by-side view that keeps the sidebar; a multi-line comments panel, with commenting available anywhere in the diff; a watch mode (`W`) that reloads the diff on save; reviewing a git stash; split/stack/auto layout toggles, a `/` file filter, and reworked keyboard navigation (Tab focus model, cross-file `n`/`p`).
* **Workspace trust & environments**: a first-class, clickable `{trust}` element now leads the status bar; virtualenvs activate without a prompt, shell envs get a single combined trust-and-activate prompt, and env pills in the status bar are clickable. Changing the trust level resets only the active session instead of the whole editor.
* **Per-session backends**: each session now owns its environment, trust level, and backend (local / SSH / Kubernetes / devcontainer). Remote sessions survive a restart and reconnect when activated; restored agent sessions re-run their agent instead of coming back as a blank terminal, and the New Session dialog
16 downloads
v0.3.12
Jun 4, 2026## 0.3.12
For live updates on Fresh, [follow me on X](https://x.com/TheNoamLewis).
### Features
* **Orchestrator Dock**: a persistent, non-modal left-column session switcher. Alt+O toggles focus; arrows live-switch the active session. Each row shows status (working/idle), project, branch, git summary, and a PR badge. Project dropdown, card/compact view toggle, and a Manage button for the Orchestrator dialog.
* **Create SSH sessions from within the UI**: You could already open a remote host from the cli, now you can do it via the Orchestrator: New dialog - it has a type selector (Local / SSH, and experimental Kubernetes / Devcontainer). Like the cli invocation - SSH attaches a full remote session:filesystem, LSP, process spawners, and a terminal on the remote host; switching retargets without a restart.
* **Kubernetes sessions** (initial, experimental): connect over `kubectl exec` to any cluster, with a keepalive heartbeat and reconnect.
* **Go to LSP Symbol**: a symbol finder with live preview, a precise jump to the symbol name (line and column), source-line snippets, and preselection of the symbol under the cursor (#1886, by @PavelLoparev).
* **Terminal tab au
16 downloads
v0.3.10
May 28, 2026## 0.3.10
A lot of work on bug fixes and polish in this release.
### Improvements
* **Live Grep**: previews highlight all matches and center on the match in wrapped documents; keyboard nav re-reveals the selection after a wheel scroll; prompt text is readable on all themes (new `suggestion_fg` theme key) and toolbar labels readable on light themes.
* The **Workspace Trust** prompt and the **env-manager** plugin's commands and status messages are now localized across all 14 supported languages (#2158).
* Session model reworked: **one session per directory**, `windows.json` dropped (sessions are discovered from the per-dir workspace cache), only the foreground window is materialized at startup with the rest lazy-restored, and the **base session is no longer magic — it can be deleted** like any other.
* Orchestrator picker hides **empty / single-file sessions** by default, with a toggle to show them (#2137).
* The Live Grep => Quickfix (persisted) list is now a **Finder dock panel** instead of a bespoke buffer: **Enter navigates** to the match, the dock stays open when jumping, and `live_grep_export_quickfix` is bound by default (#2124).
### Bug Fixes
* **Mouse-wheel scrolling**
16 downloads
v0.3.9
May 26, 2026## 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
* **C3** (`.c3`) syntax highlighting and LSP (#2101, requested by @data-man).
#### Plugins & API
* New `getWorkingDataDir()` (per-working-dir data root) and `getTerminalDir()` plugin APIs.
* Overlay toolbar widget APIs — clicka
16 downloads
v0.3.8
May 21, 2026## 0.3.8
### Features / Improvements
#### Remote Development
* **LSP over SSH** now runs the language server *on the remote host*
#### Orchestrator
* The **Open** dialog is now scoped to the current project by default, with a visible scope toggle to reach other projects, a tabular picker, and `/` to filter.
* New windows open atomically with their terminal (no `[No Name]` placeholder), and terminal output shows immediately.
#### Settings UI
A broad pass on the Settings editor: **number fields now accept direct typing** instead of `[-]`/`[+]` spinners; list editing gets inline `[+] Add new` / `[x]` rows, mouse support, and `Del` to remove; **`Ctrl+R` resets a field to its default**; the focused field's description is shown above the dialog buttons; and confirmations are required before deleting or discarding dirty edits.
#### Editor
* **Next / Previous Window** commands to cycle open windows without the Switch-Project picker (#2031).
* **Move File Explorer to Other Side** command, persisted to config (#1468, requested by @asukaminato0721).
* **Templ** (`.templ`) syntax highlighting (#463, requested by @TS22082).
* New `editor.confirm_quit` setting (def
16 downloads
v0.3.7
May 18, 2026## 0.3.7
Introduces an experimental **multi-window orchestrator** command (`Alt+Q`) - a UI that manages multiple Fresh windows side by side in a single Fresh process.
### Features / Improvements
#### Orchestrator (early experiment)
The new orchestrator command (`Alt+Q`) lets one Fresh process juggle several independent windows — switch between sessions, open new ones from a project path / branch, or visit one in a separate Fresh process. This is an early experiment; expect rough edges. Please share your ideas and bug reports!
#### Search and Replace
Made an effort to improve the search & replace command, tackling several issues:
* **All Files** scope toggle + dedicated current-file command.
* Editor shortcuts (`Ctrl+P` etc.) pass through the panel.
* Proper empty / searching / no-results states.
* Large result sets stay responsive — incremental tree, throttled streaming, capped per-iteration work.
#### Git Log / Review Diff
* **Performance**: Per-commit diffs **stream into file-backed buffers** with full syntax highlighting, per-line add/delete backgrounds, working scrollbar, and `Fold by File` / `Fold by Hunk` commands. Now opens the famous "rewrite bun in rust" commit in
16 downloads
v0.3.6
May 14, 2026## 0.3.6
This version includes a major internal refactoring to support multiple windows in a single Fresh process. The work will be used to add a multi-window orchestrator in a future version.
### Features
* **Go to line with selection** (#1764, thanks @PavelLoparev!): New action extends the selection from cursor to target line. Supports absolute and relative (`+10`) jumps.
* **File explorer "follow active buffer"** (#1569, #1803, thanks @ko3n1g!): New `file_explorer.follow_active_buffer` setting (default off). When on, switching tabs expands and highlights the corresponding file without stealing focus.
* **Live Diff**: Near-identical lines now render as modified lines, with new words decorated as underline (instead of two separate add/remove rows). Deletion virtual lines get gutter markers. Fixed live diff colors in `terminal` theme.
* **Auto-start `vi_mode`** (#1086, reported by @jmcblane): Vi mode plugin now exposes `toggle / enable / disable` so `init.ts` can flip vi mode at startup. Add this to your `init.ts` to enable: `editor.getPluginApi("vi-mode")?.enable();`.
In the future I plan to add a way for plugins to register custom config sections in the Settings UI, and th
16 downloads
v0.3.5
May 6, 2026## 0.3.5
### Improvements
* **Live Grep overlay polish**: Surrounding editor is now visibly dimmed; shortcut hints and the active provider moved into a toolbar row with plainer labels; match cap raised from 100 to 1000 (with a `1000+ matches` indicator); provider errors render as a disabled result entry instead of a silent "0 matches"; `ripgrep` provider renamed to `rg`.
### Bug Fixes
* **Live Grep on Windows returned no results**: `git grep` outputs `\r\n`; splitting on `\n` left a trailing `\r` that broke the result regex. Split on `\r?\n` instead.
* **Plain `grep` provider was broken**: `--column` is a ripgrep-only flag and was being passed unconditionally. Removed.
### Under the Hood
* **Plugin API: `setPromptTitle` takes styled segments** (`{ text, style? }[]`) instead of a single string, so plugins control hint colouring directly instead of the renderer guessing structure from punctuation.
16 downloads
v0.3.4
May 6, 2026## 0.3.4
### Features
* **Smaller release binaries**: (#1860, contributed by @PanAchy) Updated release profile (`lto=fat`, `codegen-units=1`, `opt-level=z`) shrinks binary size before stripping from 62 MB to 46 MB (-26%). Backtraces are still included in panics.
* **Live Grep floating overlay + Utility Dock** (#1796): Live Grep now opens as a centered floating overlay with results on the left and a real-buffer file preview on the right (full syntax highlighting, gutter, soft-wrap). `Esc` returns you to your prior layout exactly. **Resume** (`Alt+r`) reopens the last query with cached results. **Export to Quickfix** (`Alt+M`) sends results into a dockable list.
* New **Utility Dock** at the workspace root hosts the terminal (`` Alt+` ``), Quickfix, Diagnostics, and Find References — they share one pane spanning the full width instead of nesting under whichever split was focused.
* **Pluggable Live Grep providers**: Built-in chain is now ripgrep → **git-grep (default in repos)** → grep, with `ag` / `ack` available via plugin registration. `Alt+P` cycles to the next available provider; the active one shows in the overlay's title bar. Plugins can register custom backends
16 downloads