Skip to content

Commit bf8da25

Browse files
committed
Release: prepare v0.2.0 with comprehensive updates
This release includes significant feature additions and bug fixes: **Version Updates:** - Updated main version table in lua/claudecode/init.lua (0.1.0-alpha → 0.2.0) - Updated client versions in scripts/claude_interactive.sh (3 locations) - Updated ClaudeCodeNvim version in scripts/lib_claude.sh - Removed prerelease flag for stable release **Documentation:** - Added comprehensive CHANGELOG.md with v0.2.0 release notes - Documented all merged PRs since v0.1.0 with proper references - Updated CLAUDE.md with detailed release process documentation - Fixed diff keymap references in README.md (<leader>da → <leader>aa) **Features Added (since v0.1.0):** - Diagnostics integration (#34) - File explorer support for oil.nvim, nvim-tree, neotree (#27, #22) - Enhanced terminal management with ClaudeCodeFocus command (#40) - Auto terminal provider detection (#36) - Customizable diff keymaps via LazyVim spec (#47) **Bug Fixes:** - Terminal focus errors when buffer hidden (#43) - Improved diff acceptance behavior (#41) - Fixed syntax highlighting in proposed diff view (#32) - Visual selection range handling improvements (#26) - Native terminal bufhidden behavior (#39) All code quality checks pass and documentation is updated for maintainability. Change-Id: I0e4e7c9bae98df922356dc8b8aa0acd7e8293a48 Signed-off-by: Thomas Kosiewski <tk@coder.com>
1 parent d836f76 commit bf8da25

File tree

6 files changed

+99
-13
lines changed

6 files changed

+99
-13
lines changed

CHANGELOG.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,30 @@
11
# Changelog
22

3+
## [0.2.0] - 2025-06-18
4+
5+
### Features
6+
7+
- **Diagnostics Integration**: Added comprehensive diagnostics tool that provides Claude with access to LSP diagnostics information ([#34](https://github.com/coder/claudecode.nvim/pull/34))
8+
- **File Explorer Integration**: Added support for oil.nvim, nvim-tree, and neotree with @-mention file selection capabilities ([#27](https://github.com/coder/claudecode.nvim/pull/27), [#22](https://github.com/coder/claudecode.nvim/pull/22))
9+
- **Enhanced Terminal Management**:
10+
- Added `ClaudeCodeFocus` command for smart toggle behavior ([#40](https://github.com/coder/claudecode.nvim/pull/40))
11+
- Implemented auto terminal provider detection ([#36](https://github.com/coder/claudecode.nvim/pull/36))
12+
- Added configurable auto-close and enhanced terminal architecture ([#31](https://github.com/coder/claudecode.nvim/pull/31))
13+
- **Customizable Diff Keymaps**: Made diff keymaps adjustable via LazyVim spec ([#47](https://github.com/coder/claudecode.nvim/pull/47))
14+
15+
### Bug Fixes
16+
17+
- **Terminal Focus**: Fixed terminal focus error when buffer is hidden ([#43](https://github.com/coder/claudecode.nvim/pull/43))
18+
- **Diff Acceptance**: Improved unified diff acceptance behavior using signal-based approach instead of direct file writes ([#41](https://github.com/coder/claudecode.nvim/pull/41))
19+
- **Syntax Highlighting**: Fixed missing syntax highlighting in proposed diff view ([#32](https://github.com/coder/claudecode.nvim/pull/32))
20+
- **Visual Selection**: Fixed visual selection range handling for `:'\<,'\>ClaudeCodeSend` ([#26](https://github.com/coder/claudecode.nvim/pull/26))
21+
- **Native Terminal**: Implemented `bufhidden=hide` for native terminal toggle ([#39](https://github.com/coder/claudecode.nvim/pull/39))
22+
23+
### Development Improvements
24+
25+
- **Testing Infrastructure**: Moved test runner from shell script to Makefile for better development experience ([#37](https://github.com/coder/claudecode.nvim/pull/37))
26+
- **CI/CD**: Added Claude Code GitHub Workflow ([#2](https://github.com/coder/claudecode.nvim/pull/2))
27+
328
## [0.1.0] - 2025-06-02
429

530
### Initial Release

CLAUDE.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,52 @@ Test files follow the pattern `*_spec.lua` or `*_test.lua` and use the busted fr
8585
- Selection tracking is debounced to reduce overhead
8686
- Terminal integration supports both snacks.nvim and native Neovim terminal
8787

88+
## Release Process
89+
90+
### Version Updates
91+
92+
When updating the version number for a new release, you must update **ALL** of these files:
93+
94+
1. **`lua/claudecode/init.lua`** - Main version table:
95+
```lua
96+
M.version = {
97+
major = 0,
98+
minor = 2, -- Update this
99+
patch = 0, -- Update this
100+
prerelease = nil, -- Remove for stable releases
101+
}
102+
```
103+
104+
2. **`scripts/claude_interactive.sh`** - Multiple client version references:
105+
- Line ~52: `"version": "0.2.0"` (handshake)
106+
- Line ~223: `"version": "0.2.0"` (initialize)
107+
- Line ~309: `"version": "0.2.0"` (reconnect)
108+
109+
3. **`scripts/lib_claude.sh`** - ClaudeCodeNvim version:
110+
- Line ~120: `"version": "0.2.0"` (init message)
111+
112+
4. **`CHANGELOG.md`** - Add new release section with:
113+
- Release date
114+
- Features with PR references
115+
- Bug fixes with PR references
116+
- Development improvements
117+
118+
### Release Commands
119+
120+
```bash
121+
# Get merged PRs since last version
122+
gh pr list --state merged --base main --json number,title,mergedAt,url --jq 'sort_by(.mergedAt) | reverse'
123+
124+
# Get commit history
125+
git log --oneline v0.1.0..HEAD
126+
127+
# Always run before committing
128+
make
129+
130+
# Verify no old version references remain
131+
rg "0\.1\.0" . # Should only show CHANGELOG.md historical entries
132+
```
133+
88134
## CRITICAL: Pre-commit Requirements
89135

90136
**ALWAYS run `make` before committing any changes.** This runs code quality checks and formatting that must pass for CI to succeed. Never skip this step - many PRs fail CI because contributors don't run the build commands before committing.

README.md

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,8 @@ Using [lazy.nvim](https://github.com/folke/lazy.nvim):
6262
ft = { "NvimTree", "neo-tree", "oil" },
6363
},
6464
-- Diff management
65-
{ "<leader>da", "<cmd>ClaudeCodeDiffAccept<cr>", desc = "Accept diff" },
66-
{ "<leader>dq", "<cmd>ClaudeCodeDiffDeny<cr>", desc = "Deny diff" },
65+
{ "<leader>aa", "<cmd>ClaudeCodeDiffAccept<cr>", desc = "Accept diff" },
66+
{ "<leader>ad", "<cmd>ClaudeCodeDiffDeny<cr>", desc = "Deny diff" },
6767
},
6868
}
6969
```
@@ -91,8 +91,8 @@ That's it! For more configuration options, see [Advanced Setup](#advanced-setup)
9191
- `:ClaudeCodeSend` - Send current visual selection to Claude, or add files from tree explorer
9292
- `:ClaudeCodeTreeAdd` - Add selected file(s) from tree explorer to Claude context (also available via ClaudeCodeSend)
9393
- `:ClaudeCodeAdd <file-path> [start-line] [end-line]` - Add a specific file or directory to Claude context by path with optional line range
94-
- `:ClaudeCodeDiffAccept` - Accept the current diff changes (equivalent to `<leader>da`)
95-
- `:ClaudeCodeDiffDeny` - Deny/reject the current diff changes (equivalent to `<leader>dq`)
94+
- `:ClaudeCodeDiffAccept` - Accept the current diff changes (equivalent to `<leader>aa`)
95+
- `:ClaudeCodeDiffDeny` - Deny/reject the current diff changes (equivalent to `<leader>ad`)
9696

9797
### Toggle Behavior
9898

@@ -142,7 +142,7 @@ When Claude proposes changes to your files, the plugin opens a native Neovim dif
142142
### Accepting Changes
143143

144144
- **`:w` (save)** - Accept the changes and apply them to your file
145-
- **`<leader>da`** - Accept the changes using the dedicated keymap (configured in LazyVim spec)
145+
- **`<leader>aa`** - Accept the changes using the dedicated keymap (configured in LazyVim spec)
146146

147147
You can edit the proposed changes in the right-hand diff buffer before accepting them. This allows you to modify Claude's suggestions or make additional tweaks before applying the final version to your file.
148148

@@ -151,7 +151,7 @@ Both methods signal Claude Code to apply the changes to your file, after which t
151151
### Rejecting Changes
152152

153153
- **`:q` or `:close`** - Close the diff view to reject the changes
154-
- **`<leader>dq`** - Reject changes using the dedicated keymap (configured in LazyVim spec)
154+
- **`<leader>ad`** - Reject changes using the dedicated keymap (configured in LazyVim spec)
155155
- **`:bdelete` or `:bwipeout`** - Delete the diff buffer to reject changes
156156

157157
When you reject changes, the diff view closes and the original file remains unchanged.
@@ -267,6 +267,9 @@ For most users, the default configuration is sufficient:
267267
desc = "Add file",
268268
ft = { "NvimTree", "neo-tree", "oil" },
269269
},
270+
-- Diff management
271+
{ "<leader>aa", "<cmd>ClaudeCodeDiffAccept<cr>", desc = "Accept diff" },
272+
{ "<leader>ad", "<cmd>ClaudeCodeDiffDeny<cr>", desc = "Deny diff" },
270273
},
271274
}
272275
```
@@ -295,6 +298,9 @@ For most users, the default configuration is sufficient:
295298
desc = "Add file",
296299
ft = { "NvimTree", "neo-tree", "oil" },
297300
},
301+
-- Diff management
302+
{ "<leader>aa", "<cmd>ClaudeCodeDiffAccept<cr>", desc = "Accept diff" },
303+
{ "<leader>ad", "<cmd>ClaudeCodeDiffDeny<cr>", desc = "Deny diff" },
298304
},
299305
opts = {
300306
-- Server Configuration
@@ -367,7 +373,7 @@ For most users, the default configuration is sufficient:
367373

368374
#### Diff Options
369375

370-
- **`auto_close_on_accept`**: Close diff view after accepting changes with `:w` or `<leader>da`
376+
- **`auto_close_on_accept`**: Close diff view after accepting changes with `:w` or `<leader>aa`
371377
- **`show_diff_stats`**: Display diff statistics (lines added/removed)
372378
- **`vertical_split`**: Use vertical split layout for diffs
373379
- **`open_in_current_tab`**: Open diffs in current tab instead of creating new tabs
@@ -392,6 +398,9 @@ For most users, the default configuration is sufficient:
392398
desc = "Add file",
393399
ft = { "NvimTree", "neo-tree", "oil" },
394400
},
401+
-- Diff management
402+
{ "<leader>aa", "<cmd>ClaudeCodeDiffAccept<cr>", desc = "Accept diff" },
403+
{ "<leader>ad", "<cmd>ClaudeCodeDiffDeny<cr>", desc = "Deny diff" },
395404
},
396405
opts = {
397406
log_level = "warn", -- Reduce log verbosity
@@ -418,6 +427,9 @@ For most users, the default configuration is sufficient:
418427
desc = "Add file",
419428
ft = { "NvimTree", "neo-tree", "oil" },
420429
},
430+
-- Diff management
431+
{ "<leader>aa", "<cmd>ClaudeCodeDiffAccept<cr>", desc = "Accept diff" },
432+
{ "<leader>ad", "<cmd>ClaudeCodeDiffDeny<cr>", desc = "Deny diff" },
421433
},
422434
opts = {
423435
log_level = "debug",
@@ -455,6 +467,9 @@ For most users, the default configuration is sufficient:
455467
desc = "Add file",
456468
ft = { "NvimTree", "neo-tree", "oil" },
457469
},
470+
-- Diff management
471+
{ "<leader>aa", "<cmd>ClaudeCodeDiffAccept<cr>", desc = "Accept diff" },
472+
{ "<leader>ad", "<cmd>ClaudeCodeDiffDeny<cr>", desc = "Deny diff" },
458473
},
459474
opts = {
460475
terminal_cmd = "/opt/claude/bin/claude", -- Custom Claude path

lua/claudecode/init.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ local logger = require("claudecode.logger")
2020
--- @type ClaudeCode.Version
2121
M.version = {
2222
major = 0,
23-
minor = 1,
23+
minor = 2,
2424
patch = 0,
25-
prerelease = "alpha",
25+
prerelease = nil,
2626
string = function(self)
2727
local version = string.format("%d.%d.%d", self.major, self.minor, self.patch)
2828
if self.prerelease then

scripts/claude_interactive.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ HANDSHAKE_PARAMS=$(ws_format_json '{
4949
},
5050
"clientInfo": {
5151
"name": "claude-nvim-client",
52-
"version": "0.1.0"
52+
"version": "0.2.0"
5353
}
5454
}')
5555
ws_notify "mcp.connect" "$HANDSHAKE_PARAMS" "$CONN_ID"
@@ -220,7 +220,7 @@ handle_initialize() {
220220
},
221221
"clientInfo": {
222222
"name": "ClaudeCodeNvim",
223-
"version": "0.1.0"
223+
"version": "0.2.0"
224224
}
225225
}')
226226

@@ -306,7 +306,7 @@ handle_reconnect() {
306306
},
307307
"clientInfo": {
308308
"name": "claude-nvim-client",
309-
"version": "0.1.0"
309+
"version": "0.2.0"
310310
}
311311
}')
312312
ws_notify "mcp.connect" "$HANDSHAKE_PARAMS" "$CONN_ID"

scripts/lib_claude.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ create_init_message() {
117117
},
118118
"clientInfo": {
119119
"name": "ClaudeCodeNvim",
120-
"version": "0.1.0"
120+
"version": "0.2.0"
121121
}
122122
}' "$id"
123123
}

0 commit comments

Comments
 (0)