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_quitsetting (default off) to prompt before quitting a clean session.
Plugins & API
- Built-in
editor.httpFetch(url, path)for downloading files —curlis no longer bundled. - "Install from URL" accepts direct
file://URLs.
Bug Fixes
- Quit binding overrides honored (#2030): binding
Ctrl+Qtonoop/nonenow actually disables it in every context. - Terminals: line-number gutter and current-line highlight no longer leak on terminal exit; scroll-back viewport anchors correctly;
Shift+Tabis forwarded to the child asESC[Z(#2029). - File explorer keeps keyboard focus when leaving a live terminal (#2029).
- Closed terminals no longer reappear, and buffer groups stay visible when a split closes (#2027, reported by @SolarLune).
- Git Log: selected commit stays aligned with the cursor; selection follows scrolling and row clicks.
- Adjacent tab indicators no longer double up (#1997, reported by @brunnerh).
- Theming / Live Diff: light-theme dim fixes, markdown popup body text inherits the terminal fg, and diff lines preserve syntax foreground.
- Tree-sitter
.scmquery files are included in the Nix source filter, fixing a source-build failure (#2055, reported by @melekbadreddine).
Preview work (will be enabled in next release)
Environment Managers (venv / direnv / mise)
New built-in environment-manager plugin: it detects a project's environment manager — .venv/venv, .envrc (direnv), or mise.toml/.tool-versions — and, via Env: Activate, injects that environment into every editor-spawned process (LSP, formatters, terminals, spawnProcess). Env: Use System (Deactivate) restores the system environment, and Env: Show Status reports the current state. Activation is on-demand (not automatic) and respects Workspace Trust. Adds an opt-in env status-bar element.
Workspace Trust (groundwork)
Foundational Workspace Trust support — a per-project trust level (persisted in the project state dir), a Set Workspace Trust Level command-palette control, and a workspaceTrustLevel() plugin API. The enforcement gate is off by default this release (no prompt on open; undecided folders are treated as Trusted) while the trust UX is reworked around sandboxed execution — so there is no behavior change unless you set a trust level yourself.