Skip to content

v2.3.0 — Windows support, for every agent

Latest

Choose a tag to compare

@Cannon07 Cannon07 released this 12 Jun 07:15
998dedd

What's New

Windows 11 Support — Every Backend (#46)

code-preview.nvim now runs on Windows across all four agents — Claude Code, OpenCode, GitHub Copilot CLI, and OpenAI Codex CLI. A single generic per-OS hook shim (.sh on Unix, .ps1 on Windows; ADR-0008) replaces per-agent scripts;
shell write/delete detection is now Windows-aware (PowerShell Remove-Item / Set-Content / New-Item, plus git-bash, and extended to perl/ruby/awk in-place edits, #76); drive-letter and UNC paths resolve correctly; and neo-tree
markers render against native Windows paths. Claude Code (#73), Windows shell detection (#75), the per-OS shim (#77), a conhost UI-flush fix (#78), Codex (#80), Copilot CLI (#81), and OpenCode (#85).

Per-Agent Diff Layouts (#82)

Set a default diff.layout and override it per agent via diff.layouts — e.g. inline for Codex, tab for everything else. Thanks @Friendliness!

require("code-preview").setup({
  diff = {
    layout  = "tab",                 -- default for all agents
    layouts = { codex = "inline" },  -- keys: claudecode | opencode | copilot | codex
  },
})

Faster, More Reliable Previews (#47)

The diff pipeline now runs in-process inside Neovim instead of shelling out, cutting latency and a class of timing/socket races. No action needed.

Bug Fixes

  • Bash post-tool marker clear is now scoped to the command's own files (#83) — accepting one shell command no longer wipes the neo-tree markers of other still-pending commands.
  • Unknown diff layouts fall back to tab with a warning (#86) — a typo'd layout / layouts value is no longer silently ignored.
  • NVIM_APPNAME honored during socket discovery (#49, #51).

Documentation

  • Revamped README landing page, new CONTRIBUTING.md, and a :help code-preview vimdoc (#88).

Migration

  • Re-run your install command (e.g. :CodePreviewInstallClaudeCodeHooks) to refresh hook paths after updating.
  • The deprecated claude-preview / :ClaudePreview* aliases (deprecated since v2.0.0) are now removed — use the code-preview / :CodePreview* equivalents. (#59, #70)

Full Changelog

v2.2.0...v2.3.0