Changelog
All notable changes to Vimcraft are documented here. View all releases on GitHub.
[0.1.17] - 2025-11-26
- Complete
bufferapi for Buffer management (create/list/delete/close Buffers) - Complete
windowapi for Window management (split vertical, horizontal in deep nested level) - Scaffolding
vim.cmdmodule with most essential interface - fix: make
vim.api.createUserCmdworking again - fix: whitespace highlight, Typescript inteface/type
- fix: scroll over buffer's end rendering (keep behavior align with Neovim)
Changes (8 commits)
- full Buffer api (0e1ac24)
- full Window api (b71c3e2)
- optimize CLAUDE.md instructions (ac81964)
- window splits and Unicode-based cellwidth (03e6cd4)
- fix bugs for window/splits api (49f6120)
- vim.cmd module (f5e87c6)
- official binding for vim.api.createUserCmd (7a1e985)
- whitespace highlight, scroll-over-end buffer rendering (7f6e023)
[0.1.16] - 2025-11-23
- AutocmdManager module
- UserCommands module
- Unified rendering backends (completely headless editor core)
- Unified debug infrastructure, 2 layer: pure Zig uni tests, full integrated e2e tests
- Addressed several bugs, increase test coverage
- Increase coverage in Editor Api
Changes (11 commits)
- AutocmdManager (6b67d5a)
- more test cases, increase coverage (37098f0)
- UserCommands module (b7f8d9b)
- Unified debug infrastructure, docs, rendering backend (14514ad)
- cursorLine and lineNumber not follow cursor block (dd75fdb)
- vim.lastStatus and hot reaload trigger re-rendering (ac3faa8)
- scroll optimization, cursor boundary e2e test cases (71fdaaf)
- extensive e2e tests (c7b4b53)
- display clean e2e test result (6ff462f)
- testing script (cc14082)
- detailed editor api (1b87ab3)
[0.1.15] - 2025-11-21
- Filetype api, detect ~1,200 types
- Treesitter, Syntax Highlighting api, Theme api
- First class Typescript support for Plugins
- Cross-plugin communication, require(...) module
- Backbone for Vimcraft "package manager" concept
- CLI command: vimc run --metrics [filename].ts
- Aggressive rendering optimization (TBC)
Changes (19 commits)
- go-enry for advanced file detection (11a2c37)
- true zero-copy JSI for ArrayBuffer (e9414c7)
- rope data structure for BufferContent (6ac1458)
- include go-enry as submodule (a6c2dde)
- buffer versioning/track via getChangedTick (e3c4590)
- zero-copy JSI powered Event Emitter (897a45f)
- Treesitter, syntax highlighting architecture (3366dbe)
- keep documentation in sync (9ed24a2)
- require() method and syntax highlighting advancement (53751e6)
- complete Filetype detection, Treesitter, Highlight, Theme companion (cc90ebc)
- unified Highlight (5f4d08b)
- advanced Rope for buffer (e3a3a67)
- first class Typescript transplier uing EsBuild (1d3c572)
- CLI command for interactive development (4385e10)
- vimc run command (5dcb945)
- use comp-time to load tsconfig.json from template (4b631b3)
- Aggressive rendering optimization (b55d404)
- fix CI action (5fae57d)
- vimc [install, remove, list] command (34bcba3)
[0.1.11] - 2025-11-18
- Advanced Debug Protocol with PTY support
- KeymapManager
- Bare minimal api for: vim.opt, vim.motion, vim.filetype
Changes (23 commits)
- fix Verify Release step (61ade28)
- vim.opt* interface (2c7a995)
- deep console.log for Terminal and Debug (LLM) backend (d4ff1c2)
- hot reload vim.opt.number option (f13b68e)
- vim.opt.relativeNumber option (71f4248)
- vim.motion module that provide programattic movements (4c8aff7)
- H/M/L movement with extensive testing/optimizations (004604e)
- aggressive review/optmize and regression existing features (16c3208)
- fix double space after gutter (line count) (39b6d0a)
- optimized hot-reload state sync, input sequence using lib-ghostty mechanic (8bfee97)
- unified Debug Protocol that support Terminal rendering backend (c7995ea)
- live Terminal rendering state (798fd7c)
- further Terminal debug protocol impromvement (1830485)
- PTY debugging mode, beyond Debugger Protocol (3c72035)
- KeymapManager module (cf111cc)
- Helix style key binding, no timeout (6e0f074)
- zz, zb, zt movement (4ddb165)
- cursor block flickering (708e969)
- Debug Protocol, PTY experience for LLM (56e2b17)
- full vim.opt interface (210fd01)
- filetype detection using Neovim's Lua source (e29e6dc)
- docs by LLM (57b10cf)
- filetype module (continued) (86823d2)
[0.1.10] - 2025-11-14
Fix Linux build.
Changes (1 commit)
- Linux build with latest dynamic linking (0dac78e)
[0.1.9] - 2025-11-14
Use alias vimc instead of vic.
Changes (1 commit)
- compatible with installation script (4cbf06c)
[0.1.8] - 2025-11-13
Universal (ARM and X86) build that work across MacOS and Linux.
Changes (18 commits)
- fix Release action build (559061a)
- fix Build linking (5f7b63f)
- fix Build (cont) (aaffb81)
- fix Linux Build (cont) (5bea42b)
- fix Linux Build, complete yank motions (792d69a)
- keep document in sync, ai-infrastructure note (a30052f)
- basic navigation, scrolling fixes, build script attempt (79eafbe)
- fix Linux build (af78140)
- fix Linux build (cont) (2c27225)
- fix Linux build (cont) (9e9b654)
- correct library linking order for Linux (9cc9fab)
- configure Linux build (cont) (b2f71ad)
- build script (cont) (ff61e52)
- build automation fix (cont) (4655e23)
- build script (cont) (4110dfe)
- build script (cont) (4a48299)
- use proper os for linux ARM build (0160d2f)
- up-to-date docs and build script (4968232)
[0.1.1] - 2025-11-10
Very first release to test Github Action that automate build if it working.
Initial release.