Repository navigation
Tags: JoeMob/vimcode
Tags
Release v0.19.2: Vim editing in question answers (oribarilan#90) ## Summary Prepares the v0.19.2 patch release from current main. It ships oribarilan#86 and oribarilan#89. - Custom question answers get Vim editing on OpenCode v1 and v2 (oribarilan#78). Pasting into an answer waits for queued motions. - Moves `[Unreleased]` into `## [0.19.2] — 2026-10-13` and updates the compare links. - Bumps `package.json` and `VERSION` to 0.19.2. - Updates the v2 pins and release wording in README, CONTRIBUTING and the v2 POC notes. The recommended v1 pin stays at `v0.18.1`. ## Validation - CI on oribarilan#86 passed check, harness integration and E2E v1/v2 on top of oribarilan#89. - No `0.19.1` refs remain outside the changelog history. The VERSION/package.json sync test covers the bump. - Local `just check` could not run: `bun install` can't reach the npm registry from this machine. CI on this PR is the check. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Release v0.19.1: fix subagent navigation (oribarilan#85) ## Summary Fixes oribarilan#79 and prepares the v0.19.1 patch release. - Pass navigation keys to OpenCode in read-only child-session views without changing the Vim mode. Both host entrypoints use the same controller; the Vim engine is unchanged. - Correct v2 ancestry metadata so root prompts remain editable. Add regressions for child navigation, Composer ownership, and normal/visual/insert mode preservation. - Pin the headless keymap test dependency in devDependencies so clean installs do not rely on locally installed optional peers. - Add development navigation aliases, bump package.json and VERSION to 0.19.1, and update release notes and current package refs. Preserve v0.19.0 history and the documented legacy v1 pin. This branch starts from current main, rather than reopening the already-merged v2 support branch. ## Validation - Fresh Bun install: `just check` passed lint and 355 tests. - `just compat-unit`: 16 tests passed. - Cache-installed v0.19.1 on OpenCode 1.18.33: cold/warm loading and 39 exact-state checks passed. - Cache-installed v0.19.1 on OpenCode 2.0.15: cold/warm loading and 48 exact-state checks passed. - Independent port/release review found no issues. Manual v1/v2 smoke checks were also completed before the version bump. The host suites retain the two inherited tab-offset and snapshot-redo known gaps. The eight pre-existing typecheck errors are unchanged. V2 support remains experimental and bounded to the tested host versions; this release does not claim full parity or support for every v2 release. Closes oribarilan#79.
Release v0.19.0: experimental OpenCode v2 support (oribarilan#84) ## Summary Prepare a normal **v0.19.0** release after oribarilan#82, which is already squash-merged into `main`. - Bump `package.json` and `src/version.ts` together to `0.19.0`. - Move the completed changes into the dated `0.19.0` changelog section and update comparison links. - Begin the gradual rollout of OpenCode v2 support as **experimental**. Future maintenance will move to v2 only; this release still includes v1 compatibility, with no removal date set. - Recommend **v0.18.1** as the legacy v1 pin. V1 users can opt into v0.19.0 for shared fixes, or keep the older version and disable update notifications. - Replace v2 installation/options/leader examples with the `v0.19.0` Git tag. Keep the recommended v1 examples pinned to `v0.18.1`. - Clarify v2 rollback: remove the plugin entry rather than installing the v1-only v0.18.1 release. This PR changes release metadata, documentation, and the version constant only. It does not change the Vim engine or host adapter behavior from the merged oribarilan#82 implementation. ## Validation - `just check`: lint clean, **337 Bun tests passed**. - `just compat-unit`: **16 Python tests passed**. - `git diff --check`: passed. - Version constants, changelog links, v1 legacy pins and v2 release refs checked for consistency. - The prepared **vimcode-0.19.0.tgz** was tested through the installed-package cache on macOS ARM64. Both runs verified source files and the manifest byte-for-byte: | Host | Cold install | Warm install | Exact-state checks passed | Named known gaps | | --- | --- | --- | ---: | ---: | | OpenCode 1.18.33 | Passed | Passed | 39 | 2 | | OpenCode 2.0.15 | Passed | Passed | 48 | 2 | The remaining probes are `snapshot-redo` and `tab-inner-word-offset`, both inherited gaps. Tests used isolated HOME/XDG state, a private tmux socket, synthetic text and clipboard stubs; no model requests or permission approvals were made. A clean-dependency typecheck retains the eight baseline errors documented in oribarilan#82. No new type diagnostics were introduced by the version bump. ## Publication gates This PR does **not** create or publish a release. After approval and green CI: 1. Squash-merge this release PR. 2. Create and push tag `v0.19.0` on the release commit. 3. Verify the final Git-tag installation on the pinned v1/v2 hosts. 4. Publish a normal GitHub release using the changelog notes. The `v0.19.0` tag does not exist yet, so its installation examples become usable only after that gated tag step. Earlier Git-install validation in oribarilan#82 used the pinned implementation commit, not this future tag. The dated changelog heading should match the actual publication date if release is delayed. Validation remains bounded to OpenCode 1.18.33/2.0.15 on macOS ARM64; experimental v2 support is not an all-versions, all-platforms or full-parity promise.
Release v0.18.1: fix keys after dismissing questions (oribarilan#75) ## Release v0.18.1 Patch release containing the question-dismissal fix from oribarilan#73 and documentation updates from oribarilan#74. ### Fixed - Fixed Vim keys remaining unresponsive after dismissing or rejecting a question prompt (oribarilan#72). ### Changed - Updated the documented cache-installed mode indicator limitation with the latest OpenCode and OpenTUI findings (oribarilan#3). ### Release preparation - Updated package.json, src/version.ts, both README version pins, and changelog comparison links per CONTRIBUTING.md. - just check passed: 313 tests, zero lint warnings or errors. - Version consistency and git diff --check passed. After CI passes, this PR must be squash-merged before tagging v0.18.1 and publishing the GitHub release.
Release v0.18.0: text objects (iw/aw, quotes, brackets) (oribarilan#71) ### Added - Word text objects `iw` and `aw`, for use with the `d`, `c`, and `y` operators and in visual mode: `diw`, `ciw`, `daw`, `viw`, and so on (oribarilan#57). - Quote and bracket text objects `i"` `i'` `` i` `` `i(` `i{` `i[` `i<` (with `a` variants) for `d`/`c`/`y` and visual mode: `di"`, `ci(`, `vi[`, and so on. `iq`/`ib` match the nearest quote/bracket of any type; `ib` means any bracket, not vim's parens-only `ib`. ### Fixed - After an operator, `i`/`a` now start a text object instead of switching to insert mode, so `di` and `ci` wait for the object key (oribarilan#57).
Release v0.17.1: arrow keys pass through in normal and visual mode (o… …ribarilan#67) Patch release for the oribarilan#63 fix (already merged via oribarilan#66). ### Fixed - Arrow keys no longer get swallowed in normal and visual mode. They pass through to OpenCode, so you can exit the subagent view (and use other native navigation) without first switching to insert mode ([oribarilan#63](oribarilan#63)). ### Release checklist - [x] Moved `[Unreleased]` into `## [0.17.1]` and updated CHANGELOG link refs - [x] Bumped `package.json` to 0.17.1 - [x] Bumped `VERSION` in `src/version.ts` to match - [x] Updated README install/config version tags to v0.17.1 - [x] `just check` green (222 tests) Tag `v0.17.1` and the GitHub release follow after this merges.
Release v0.17.0: redesign the vim engine (oribarilan#65) Release v0.17.0. Redesigns the vim engine into a modular architecture; no change to keybindings or behavior. ### Changed - Redesigned the vim engine into a modular architecture for easier maintenance and future keybindings. No change to existing keybindings or behavior. ### Fixed - `dgg` and `drx` no longer leave a stray operator that affected the next keypress. ### Release checklist - Version bumped in `package.json` and `src/version.ts` to 0.17.0 - CHANGELOG `[Unreleased]` moved to `## [0.17.0]` with compare links updated - README version tags bumped (install snippet + config example) - `just check` passes: lint clean, 209 tests, 0 fail After CI passes and this squash-merges, tag `v0.17.0` and create the GitHub release.
Release v0.16.0: :w and :write send the prompt (oribarilan#61) Release v0.16.0. Cuts the `:w`/`:write` feature already on `main`, giving a clean baseline before the vim-engine redesign lands. ### Added - `:w` and `:write` now send the prompt instead of autocompleting to `:wq` and quitting OpenCode. Sessions auto-persist, so the natural mapping for vim users' reflexive "save" is to submit the current prompt. `:wq` still quits. ### Release checklist - Version bumped in `package.json` and `src/version.ts` to 0.16.0 - CHANGELOG `[Unreleased]` moved to `## [0.16.0]` with compare links updated - README version tags bumped (install snippet + config example) - `just check` passes locally: lint clean, 184 tests, 0 fail After CI passes and this squash-merges, tag with `git tag v0.16.0 && git push origin v0.16.0` and create the GitHub release.
Release v0.15.3: fix repeated e in visual mode (oribarilan#55) Repeated `e` in visual mode now extends the selection progressively instead of getting stuck after the first press. The handler was missing a `cursorTo` action alongside `selectRange`, so the cursor stayed put and subsequent `e` presses computed the same target. Added a regression test that verifies both actions are emitted.
Release v0.15.2: fix visual mode e motion (oribarilan#54) Bump to v0.15.2. Single bug fix: `e` in visual mode now correctly moves to end of word instead of behaving like `w` (oribarilan#52). ### Changelog - `e` in visual mode now moves to end of word instead of behaving like `w` ([oribarilan#52](oribarilan#52)).
PreviousNext