0.4.3
For live updates on Fresh, follow me on X.
Most options below can be changed in the Settings UI — run Open Settings from the command palette (
Ctrl+P).
Features
- Slang shader support - syntax highlighting and slangd LSP integration, with Go to Definition into read-only builtin modules (#2536, #2539, requested by @batoripX in #2517).
- NetBSD builds - Fresh now compiles on NetBSD (#2534, by @ci4ic4).
Bug Fixes
- Cursor column is preserved on vertical moves that used to drift it - indented soft-wrapped lines, off-screen up/down over short lines (#2565), and blank lines with indentation guides (#2564).
- LSP args - an empty
argslist now overrides a built-in server's defaults, so you can use one that takes no arguments (e.g. markdown-oxide for marksman) (#2549, reported by @alex-ball). - Settings icons now render on all terminals by default - standard Unicode symbols replace the Nerd Font glyphs that showed as
?; opt back in witheditor.nerd_font_icons(#2032). - Markdown tables no longer corrupt under rapid edits (#2479, #2484).
- Orchestrator - clicking a dock row focuses the activated window (#2521).
- Wave animation is now dismissable in daemon mode (#2530, reported by @muesli).
- Build - no more spurious
failed to parse serde attributewarnings oncargo install/cargo build(#2519, reported by @puphubv). - Large files - modestly-sized files (e.g. a ~2 MB file, or jumping into slangd's builtin module) no longer wrongly enter large-file mode, where the gutter/status showed byte offsets instead of line numbers and LSP was disabled; the threshold is now a single 10 MB setting instead of several overlapping ones (#2540).
- Remote workspaces (SSH) (#2525) - file explorer appears immediately when toggled (#2522), a boot hang is fixed with idle-based read timeouts, and per-keystroke lag on very long lines is gone (#2529).
- Indentation guides continue through soft-wrapped rows (#2538), respect per-buffer overrides and buffer kind (#2523), and stay visible when opening a file at a commit from Git Log.
- Settings fields - language-entry edits (incl. Tab Size) keep their committed value, with
Escto cancel andEnter/Tabto commit (#2537, #2515); the search filter gains full cursor editing and ignoresCtrl/Altchords; the Env list labels rows by name instead of(no action).
Internals
- Internal architecture docs were replaced with a leaner, code-verified set, new contributing guidelines were added, and a broad clippy / compiler-warning cleanup and function-decomposition pass landed across rendering, settings, and the plugin runtime.