Changelog

All notable changes to Vimcraft are documented here. View all releases on GitHub.

[0.1.17] - 2025-11-26

  • Complete buffer api for Buffer management (create/list/delete/close Buffers)
  • Complete window api for Window management (split vertical, horizontal in deep nested level)
  • Scaffolding vim.cmd module with most essential interface
  • fix: make vim.api.createUserCmd working 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)

View release on GitHub

[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)

View release on GitHub

[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)

View release on GitHub

[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)

View release on GitHub

[0.1.10] - 2025-11-14

Fix Linux build.

Changes (1 commit)

  • Linux build with latest dynamic linking (0dac78e)

View release on GitHub

[0.1.9] - 2025-11-14

Use alias vimc instead of vic.

Changes (1 commit)

  • compatible with installation script (4cbf06c)

View release on GitHub

[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)

View release on GitHub

[0.1.1] - 2025-11-10

Very first release to test Github Action that automate build if it working.

Initial release.

View release on GitHub