Repository navigation
chore(release): 0.4.0 - #279
Open
github-actions[bot] wants to merge 1 commit into
Open
github-actions[bot] wants to merge 1 commit into
github-actions[bot] wants to merge 1 commit into
Conversation
github-actions
Bot
force-pushed
the
release-please--branches--main
branch
8 times, most recently
from
June 22, 2026 14:46
9e9ac77 to
576d224
Compare
github-actions
Bot
force-pushed
the
release-please--branches--main
branch
3 times, most recently
from
June 23, 2026 09:57
52c0c6e to
1346f88
Compare
github-actions
Bot
force-pushed
the
release-please--branches--main
branch
from
June 23, 2026 10:01
1346f88 to
1319d40
Compare
github-actions
Bot
force-pushed
the
release-please--branches--main
branch
from
June 23, 2026 10:53
1319d40 to
7c1f13e
Compare
gogongxt
pushed a commit
to gogongxt/claudecode.nvim
that referenced
this pull request
Jun 24, 2026
) ## Summary Renames the `diff_opts.layout = "inline"` option (added in coder#195, queued for v0.4.0 via release-please coder#279) to **`"unified"`**, before it ships in a tagged release. Tracked in coder#293. [@wookayin pointed out](coder#195 (comment)) that the shipped `"inline"` mode isn't a true "inline" diff in the VS Code sense — it renders a unified diff in a separate `rightbelow vsplit` pane, not an in-place virtual-text overlay in the same window. Naming it `"inline"` now would force a breaking rename later, once we add the real in-place overlay (the mode that most deserves the name `"inline"`). Renaming is free now (not yet released) and a breaking change after coder#279 merges. ## What changed - **Config value** `"inline"` → `"unified"`: validation + error message (`config.lua`), the `ClaudeCodeDiffLayout` type alias (`types.lua`), all four dispatch sites (`diff.lua`), and the stored `layout` value (`diff_inline.lua`). - **User-facing buffer name**: `<file> (inline diff)` → `<file> (unified diff)`. - **Docs**: README layout enum + label; a `CHANGELOG.md` `[Unreleased]` entry for `layout = "unified"`. - **Tests**: the accept test now expects `"unified"`; a new test asserts the former `"inline"` is rejected. ## Decisions - **No deprecated alias.** `"inline"` was never in a tagged release, so there's no backward-compat obligation, and rejecting it cleanly reserves the name for the future in-place overlay (coder#294). The validation error names `'unified'`, so anyone tracking `main` is pointed at the new value. - **Internal names kept.** The `diff_inline.lua` module, its functions, the `claudecode_inline_diff` buffer variable, and the `ClaudeCodeInlineDiff*` highlight groups are unchanged — they describe the inline-*style* rendering, not the layout value (coder#293 noted the buffer var can stay). This keeps the diff small and low-risk. - **coder#279 changelog** regenerates from commits via Communique on the next push to `main`, so the v0.4.0 entry reflects "unified" automatically; I did not hand-edit the bot branch. ## Validation - `mise run all`: treefmt clean, luacheck **0/0**, **703/703** tests pass (baseline 702 + the new rejection test). - Headless Neovim smoke test: `layout = "unified"` accepted, `"inline"` rejected (error names `'unified'`), `"vertical"` still works. The true in-place overlay (the future `"inline"`) is tracked in coder#294. Refs coder#293, coder#195, coder#82 🤖 Generated with [Claude Code](https://claude.com/claude-code) Signed-off-by: Thomas Kosiewski <tk@coder.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
github-actions
Bot
force-pushed
the
release-please--branches--main
branch
from
June 25, 2026 17:39
7c1f13e to
f7efec6
Compare
github-actions
Bot
force-pushed
the
release-please--branches--main
branch
from
October 24, 2026 09:21
f7efec6 to
e323636
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The next claudecode.nvim release. Merging this PR creates the release tag and GitHub Release, then starts Communique GitHub Release note generation.
[0.4.0] - 2026-10-24
Added
:ClaudeCodeSendText {text}command andrequire("claudecode.terminal").send_to_terminal(text, opts)to send arbitrary text to the open Claude pane as if typed at the prompt;:ClaudeCodeSendText!inserts without submitting. In-editor providers (native/snacks) only. (#272)User ClaudeCodeSendCompleteautocmd fired once per file when a send is accepted while Claude is connected, withdata = { file_path, start_line, end_line, context }(lines 0-indexed) — lets external-terminal users focus their own session (e.g. viatmux select-pane). (#265):ClaudeCodeCloseAllDiffscommand to close pending Claude diffs at once; already-accepted-but-unwritten diffs are left intact. (#261):checkhealth claudecodehealth check covering Neovim version,setup(), Claude CLI resolution, terminal provider, WebSocket server, lock file, and client connection. (#275)diff_opts.layout = "unified": a VS Code-style unified diff rendered in a single buffer with deleted and added lines interleaved; customizableClaudeCodeInlineDiff*highlight groups. Requires Neovim >= 0.9.0. (#195, #295, #297)terminal.auto_insertoption (defaulttrue): set tofalseto stay in Normal mode when refocusing the Claude terminal, preserving scroll position. (#233)terminal.diff_split_width_percentageanddiff_opts.auto_resize_terminal, plusUser ClaudeCodeDiffOpened/ClaudeCodeDiffClosedautocmds for reacting to diff lifecycle. (#270)<leader>as(marked files or file under cursor). (#62):ClaudeCodeTreeAddsupport in snacks.nvim pickers (snacks_picker_list), includingSnacks.explorer()and modal pickers. (#269)terminal.fix_streamed_pasteoption ("auto"by default) working around a Neovim < 0.12.2 bracketed-paste fragmentation bug. (#252)Fixed
closeAllDiffTabsis now scoped to claudecode's own tracked diffs and no longer destroys open diffview.nvim, fugitive, or native:diffsplitreviews;openFile/openDiffalso no longer reuse windows in diff mode. (#290)no_proxy/NO_PROXY, so a configuredhttp_proxy/all_proxyno longer tunnels Claude'sws://127.0.0.1IDE connection and times out queued @ mentions. (#268):q/:close/<C-w>cnow resolves it as rejected via aWinClosedautocmd. (#266)viw/v$/V, mouse) are now pushed to Claude reliably, flushed synchronously on visual-mode exit and persisting until the cursor moves. (#267)openDiffare now auto-closed when the client that opened them disconnects or the integration stops, instead of lingering forever. (#261)render-markdown.nviminstalled. (#224)ClaudeCodeSendnow classifies tree buffers by filetype only, so an ordinary file whose path containsneo-tree/NvimTreeis no longer misrouted. (#292)vertical_split/open_in_current_tabdiff options now apply correctly again (merge-order bug). (#142)$in file paths forClaudeCodeAddandopenFile. (#286)getDiagnosticsnow accepts a bare file path (nofile://schema), which Claude frequently sends. (#163)keep_terminal_focusnow works for floating Claude terminals. (#178)open_in_new_tabdiff setup errors before the diff registers. (#264)none. (#223)focus_after_send = truenow emits a one-time warning withprovider = "none"/"external"(where it cannot focus), pointing at the newClaudeCodeSendCompleteevent. (#265)on_disconnecton all teardown paths to prevent phantom clients. (#258, #176)EADDRINUSE, so parallel Neovim instances start on different ports instead of colliding. (#284)BufEnter, and external-terminal (provider = "none") buffers are correctly skipped via substring matching. (#159, #160)Changed
:ClaudeCodeSelectModelpicker with version-free labels (Claude Opus (Latest), etc.), 1M-context variants, and aDefault (account recommended)entry. (#256)Security
0600permissions in a0700directory. (#259)Maintained by the release-please workflow. CHANGELOG.md and the release PR body are regenerated by Communique on every push to main, so manual edits to this PR are overwritten.