Skip to content

v1.6.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 03:31
· 491 commits to main since this release
8365dcb

v1.6.0

Highlights

  • Integrated terminal on xterm-go (#624). The emulator moves from vt10x to xterm-go, so resizing reflows wrapped lines instead of leaving duplicated fragments. Follow-ups fix output-burst freezes (#635), shell-exit detection (#615), modifier keys (#654), fish prompts piling up on resize (#656), and copy/paste routing (#605).
  • Inline images (#604). PNG, JPEG and GIF files render in the editor tab via the Kitty graphics protocol (Ghostty, kitty, WezTerm, Konsole). Other terminals show an info card, and binary files no longer load into a text buffer.
  • Welcome page and folder picker (#660, #619). Starting with no folder, or closing the last one, shows a welcome page instead of a blank tab. Open Folder and Add Folder now let you browse instead of typing the full path.
  • Panel on the right (#617). View: Move Panel Right / View: Move Panel Bottom dock the terminal, Problems, References and Output panel to either edge.
  • Nerd Font icons (#606, #612, #639, #642). File icons in the Explorer and Changes panel, plus glyphs for history rows, outline symbols and completion kinds. Off by default; turn on with Options → Font Icons.
  • Git status colors in the Explorer (#643). Files and folders are colored by git status, with staged changes dimmed.

Also in this release

  • Layout state (panel position, sidebar width and order, history height) moves to state.json, so settings.json stays clean in dotfiles repos (#665).
  • Committing with nothing staged stages all changes first, matching VS Code (#644).
  • Terminal selection uses a themeable terminal.selection color (#632); tree chevrons are configurable (#630).
  • Multi-line strings (template literals, raw strings, docstrings) keep their color across lines (#600).
  • LSP file URIs are built correctly for servers that parse them strictly (#620).
  • Global search handles queries starting with - and places the cursor at the match column (#651, #652).
  • Collapsed folds move as a unit with Move Line Up/Down (#653).
  • Opening pipes, sockets and devices is refused instead of freezing the editor (#628).
  • Render no longer allocates a frame grid and line buffer every frame (#637).

Contributors & Acknowledgments

Thank you to everyone who tried TTT, filed reports, and sent patches this cycle.
This was the biggest community release so far. 🎉

More

What's Changed (41 pull requests)
  • feat: render images inline via Kitty graphics by @sjdonado in #604
  • fix(terminal): route copy and paste commands to focused terminal panel by @bet4it in #605
  • fix(highlight): keep multiline string color across lines by @austinm911 in #600
  • feat(explorer): add Nerd Font file icons to Explorer and Changes by @RonanCodes in #606
  • fix(icons): default file icons off, add a combined Options toggle by @eugenioenko in #612
  • fix(terminal): pass PTY writer to vt10x for DA1 and state reports by @bet4it in #613
  • chore: update vendorHash by @github-actions[bot] in #614
  • fix(terminal): read the cursor from the same snapshot as the cells by @SimonOcampo1 in #616
  • docs: add CONTRIBUTING.md by @eugenioenko in #622
  • feat(workspace): browse for a folder instead of typing the whole path by @SimonOcampo1 in #619
  • fix(terminal): detect shell exit by reaping the child, not by reading the pty by @SimonOcampo1 in #615
  • feat(terminal): migrate emulator from vt10x to xterm-go by @bet4it in #624
  • chore: update vendorHash by @github-actions[bot] in #625
  • fix(terminal): keep reflow from overflowing the scrollback, and set OnUpdate before Run by @eugenioenko in #626
  • fix(ui): refuse to open pipes, sockets and devices instead of freezing by @eugenioenko in #628
  • refactor(ui): drop the folder glyph from Nerd Font trees by @eugenioenko in #629
  • feat(sidebar): make the tree chevrons configurable by @eugenioenko in #630
  • feat(terminal): highlight selected text with a themeable selection color by @eugenioenko in #632
  • fix(theme): remove inactive tab background from vscode-dark-plus by @eugenioenko in #634
  • fix(terminal): stop the UI freezing after a burst of terminal output by @eugenioenko in #635
  • perf(ui): stop allocating a frame grid and a line buffer on every render by @eugenioenko in #637
  • fix(terminal): stop selection drag from switching terminal tabs by @eugenioenko in #638
  • feat(history): use nerd font icons for branch and commit rows by @eugenioenko in #639
  • feat(icons): use nerd font glyphs for outline symbols and completion kinds by @eugenioenko in #642
  • fix(lsp): build file URIs that servers can actually parse by @SimonOcampo1 in #620
  • feat(explorer): color files and folders by git status by @risixdzn in #643
  • feat: git auto-stage when nothing is staged on commit by @eugenioenko in #644
  • fix(cli): explain that --listen needs a real terminal by @eugenioenko in #650
  • docs(agents): refresh AGENTS.md and align the comments rule by @eugenioenko in #649
  • fix(search): treat queries starting with a dash as text, not rg flags by @eugenioenko in #651
  • fix(search): place the cursor at the match column when opening a result by @eugenioenko in #652
  • fix(fold): move collapsed folds as a unit with Move Line Up/Down by @eugenioenko in #653
  • feat(panel): let the bottom panel dock to the right edge by @SimonOcampo1 in #617
  • fix(workspace): list symlinked directories in the folder picker by @SimonOcampo1 in #655
  • fix(panel): step panel resize from the effective size by @eugenioenko in #659
  • feat(workspace): welcome page as the editor's empty state by @SimonOcampo1 in #660
  • fix(terminal): keep modifiers when forwarding keys to the pty by @SimonOcampo1 in #654
  • fix(tree): ignore held-button reports from a new position by @SimonOcampo1 in #663
  • fix(terminal): stop fish prompts piling up on resize by @SimonOcampo1 in #656
  • chore(menu): place Close Workspace after Save Workspace by @eugenioenko in #666
  • refactor(config): separate session state from user settings by @eugenioenko in #665

Full Changelog: v1.5.0...v1.6.0