Skip to content

v2.7.0

Latest

Choose a tag to compare

@dnouri dnouri released this 05 Aug 12:39
· 1 commit to master since this release

2.7.0

Features

  • Visit files and run shell commands from chat — Files mentioned in chat are one keystroke away: RET on a file target opens it (a file-content row in tool output at the matching line, a plain path like src/app.el:12:3 at that line and column, or a local Markdown link), and ! runs a Dired-inspired shell command on the file at point (#250)
  • Improved Evil integration — Magit-style cooperation when Evil is installed: the chat buffer starts in motion state so navigation keys just work, the input buffer starts in insert state, and ? opens the command menu. Auto-loads when Evil is present and is invisible otherwise; also completes the chat keymap with direct chords for session, context, and model commands for all users; thanks @SayreBlades (#248)
  • Toggle table rendering in placepi-coding-agent-toggle-table-pretty flips tables between the pretty view and raw pipe text — per table, per region, or buffer-wide — for copying a cell exactly or inspecting the source; thanks @SayreBlades (#254)
  • Pluggable table cell renderingpi-coding-agent-table-cell-render-function lets you supply your own function for how table cells render; thanks @SayreBlades (#255)
  • Thinking levels fetched from the Pi server — The thinking-level menu now lists the levels your pi actually supports instead of a hardcoded set, with server-side clamping reflected in the UI; thanks @ArthurHeymans (#251)

Fixes

  • Much lower memory use in long sessions — Chat buffers no longer record undo history, which could accumulate millions of entries and grow Emacs memory by gigabytes over long sessions; the input buffer keeps undo as before; thanks @ArthurHeymans (#256)
  • Process crashes are visible in chat — When the pi process dies mid-session, the chat now shows the error, exit code, and a bounded stderr excerpt instead of silently going idle (#257)
  • Exit confirmation restored — Closing Emacs (from the window manager or C-x C-c) with a live session asks before killing the pi process again (#258)

Compatibility

  • Requires pi 0.81.0 or newer — Thinking-level handling now relies on the server's thinkingLevelMap; the dead compat.reasoningEffortMap fallback has been removed (#251)