2.0.2 (2026-04-11)
- keymaps: preserve special insert keys in passthrough fallback (736b88c)
- wrap maparg in nvim_buf_call to prevent capturing keymaps from the wrong buffer (555fe9d)
2.0.1 (2026-03-24)
- safeguards against orphaned copilot servers (8e2a918), closes #667
- Tab passthrough (9204088), closes #670
2.0.0 (2026-03-06)
- remove nvim 0.10 support as warned
- increase nodejs version requirement for LSP requirement
- major rewrite of project structure
- remove deprecated functions and configs, require nvim 0.10+
- ability to switch between js (default) and binary server type (f96d8e6)
- add
Copilot panel closeandis_opencommands (fc5d6a1), closes #241 - add a default should_attach function that includes the buffer logic (99654fe), closes #279 #239
- add ability to authenticate using env variable (d296017), closes #316
- add ability to set custom copilot binary (0e3585b), closes #407
- add ability to toggle the panel (865f40f)
- add an undo breakpoint before applying suggestions (d661d65), closes #235
- add force enable instruction in ':Copilot toggle' (dd79629)
- add has_next() function to suggestion (0753a44)
- add log file path to :checkhealth (4c98663)
- add logger and redirect existing prints/notifies through it (#383) (256393d), closes #356
- add option to suppress limit reched popup (#528) (4869bff), closes #349
- add should_attach function (4a557e7), closes #74
- add support for
Copilot panel togglecommand (8cfbb5a) - add support for dynamic root_dir resolving (#382) (25ab971), closes #371
- add toggle_auto_trigger keymap support (#631) (1eb6f51)
- add trace logging with an id to reconstruct chain of events (3061f28)
- add undocumented callback, currently used for testing (9481fc7)
- add validation of configuration (2000186)
- add vimdoc (0014e3f)
- allow changing the Copilot model used (#373) (71eeb95), closes #365
- api: initial data for status notification handler (137df55)
- api: update copilot_status_notification_data type (d38c395)
- attempt to restore original keymap when unregistering (36c220b)
- bumb to copilot.vim 1.9.0 (33aa941)
- bump to copilot.vim 1.10.0 (b5e7675)
- bump to copilot.vim 1.10.1 (0fa30d6)
- bump to copilot.vim 1.10.2 (2c942f3)
- bump to copilot.vim 1.10.3 (1a8032a)
- bump to copilot.vim 1.11.0 (f622d26)
- bump to copilot.vim 1.11.1 (c54ebfd)
- bump to copilot.vim 1.11.2 (8b34820)
- bump to copilot.vim 1.11.3 (5657eeb)
- bump to copilot.vim 1.11.4 (1b303df)
- bump to copilot.vim 1.12.0 (af4cfea)
- bump to copilot.vim 1.12.1 (1500498)
- bump to copilot.vim 1.13.0 (dcaaed5)
- bump to copilot.vim 1.6.1 (bf6bc0f)
- bump to copilot.vim 1.7.0 (741f62c)
- bump to copilot.vim 1.8.0 (81eb5d1)
- bump to copilot.vim 1.8.1 (6ca9b4b)
- bump to copilot.vim 1.8.2 (a54e7b1)
- bump to copilot.vim 1.8.3 (f1b3303)
- bump to copilot.vim 1.8.4 (19c1c94)
- bump to copilot.vim 1.9.1 (e48bd70)
- bump to copilot.vim 1.9.2 (f306957)
- bump to copilot.vim 1.9.3 (50ca36f)
- bump to copilot.vim 1.9.4 (b3798d8)
- check enabled/disabled state in ':Copilot status' (c9f4240)
- ci: make version updates automatic in util.lua (0ebc217)
- client: add compatibility for neovim < 0.8.2 (d1f5d0b)
- client: add teardown method (faa40d7)
- client: better startup error (8b0fd23)
- client: check node executable before setup (9a66765)
- client: improved start and attach (7ba514e)
- client: notify about unsupported node version (db62371)
- client: show node version warning on exit with error (688762a)
- client: store capabilities (21d8ef6)
- client: support vim.g.copilot_proxy (94abd14)
- command: add attach and detach (dc4006f)
- command: add enable and disable (267959c)
- command: add model command to get/set the model (#643) (746cc7a)
- command: add node version warning in 'status' and 'version' (5e28c84)
- command: show if node.js not found for 'version' (f0b41fb)
- command: show node.js version in ':Copilot version' (46b28e3)
- expose is_authenticated() helper and add checkhealth support (#519) (8c4b70d)
- faq section (1f87b56)
- Implement openURL (#311) (90a9092)
- improve
Copilot statuswith attach/detached reasons (1e37de6) - improvement to the notification system (5ffb849)
- leverage virt_text_inline to improve inline suggestions (#465) (ec62fd6), closes #328
- more sophisticated method to get copilot path (#78) (c65288b)
- move to the official Copilot LSP binaries (#384) (af15584)
- next edit suggestion (nes) (2ac3ab3), closes #544
- panel: add teardown method (934eba3)
- panel: notify accepted (51562fe)
- panel: support layout config (2b20fbe), closes #103
- relax and improve validation for copilot_node_command and nodejs (#527) (f122741)
- show disabled state in checkhealth output (69f7a96)
- stop using 'copilot.vim' in editorPluginInfo (#207) (4f6329c)
- suggestion: accept keypress Copilot bypass (#258) (0e0630c)
- suggestion: add teardown method (27f31b6)
- suggestion: fallback to key for
dismisswhen not visible (6866708) - suggestion: notify accepted length (49860bd)
- suggestion: reuse ctx when possible (b03617a)
- suggestions: export clear_preview and update_preview (#571) (4725916)
- suggestion: support partial accept (372ed1b)
- suggestion: support suggestion modifier for .accept (decc8d4)
- suggestion: update rejection handling (06edce8)
- suggestion: update rejection handling (859b4b3)
- suggestion: update suggestion uuid tracking (7a6d2fc)
- suggestion: use separate context per buffer (2335272)
- support for binary file accessible by PATH (e3768e3), closes #457
- support function for filetypes (bfae743)
- support horizontal and vertical splits (#289) (0fe1aaa)
- surface node version error reliably (3665ed0)
- trigger suggestion using the accept keymap (#327) (49807c6)
- update ':Copilot status' (0ee5df0)
- update api for latest version (ee0e551)
- update language normalization map (427faff)
- update to Copilot LSP v1.296 (#427) (5a8fdd3)
- update to latest Copilot LSP (0fb3cb3)
- update to latest Copilot LSP (3061c49)
- update to latest Copilot LSP (00446a6)
- update to latest Copilot LSP (9f91e57)
- update to latest Copilot LSP (dd3e345)
- update to latest Copilot LSP (3faffef)
- update to latest Copilot LSP (5584556)
- update to latest Copilot LSP (48c8886)
- update to latest Copilot LSP (9b8d77c)
- update to latest Copilot LSP (2ede080)
- update to latest Copilot LSP (d4f6768)
- update to latest Copilot LSP (9688ca7)
- update to latest Copilot LSP (c13f6f5)
- update to latest Copilot LSP (e78d1ff)
- update to latest Copilot LSP (508d8b0)
- update to latest Copilot LSP (a064570)
- update to latest Copilot LSP (efe5638)
- update to latest Copilot LSP (881f99b)
- update to latest Copilot LSP (4383e05)
- update to latest Copilot LSP (e919876)
- update to latest Copilot LSP (5bde2cf)
- update to latest Copilot LSP (927053b)
- update to latest Copilot LSP (aac6c72)
- update to latest Copilot LSP (389cfc5)
- update to latest Copilot LSP (3abf634)
- update to latest Copilot LSP (93adf98)
- update to latest Copilot LSP (7fe314f)
- update to latest Copilot LSP (3123983)
- update to latest Copilot LSP (4532c77)
- update to latest Copilot LSP (5b0fb32)
- update to latest Copilot LSP (619493a)
- update to latest Copilot LSP (5ca54e6)
- update to latest Copilot LSP (f773221)
- update to latest Copilot LSP (af6410a)
- update to latest Copilot LSP (8aebaa3)
- update to latest Copilot LSP (8e52d47)
- update to latest Copilot LSP (d631e31)
- update to latest Copilot LSP (407fbd5)
- update to latest Copilot LSP (9d4bd5e)
- update to latest Copilot LSP (014f2fb)
- update to latest Copilot LSP (633c7aa)
- update to latest Copilot LSP (d61c043)
- update to latest Copilot LSP (7611deb)
- update to latest Copilot LSP (ef3fc4a)
- update to latest Copilot LSP (9186bbd)
- update to latest Copilot LSP (b6fe6bb)
- update to latest Copilot LSP (0e1348e)
- update to latest Copilot LSP (4958fb9)
- update to latest Copilot LSP (f7e2dc7)
- update to latest Copilot LSP (3680beb)
- update to latest Copilot LSP (46f4b7d)
- update to latest Copilot LSP (c1bb86a)
- update to latest Copilot LSP (a620a5a)
- update to latest Copilot LSP (0929c92)
- update to latest Copilot LSP (7ba7386)
- update to latest Copilot LSP (a5c390f)
- update to latest Copilot LSP (935ad69)
- update to latest Copilot LSP (c62a2a7)
- update to latest Copilot LSP (2abb68f)
- update to latest Copilot LSP (4c10b87)
- update to latest Copilot LSP (b084742)
- update to latest Copilot LSP (#426) (13ae718)
- update to latest Copilot LSP (#493) (5f726c8), closes #479
- update to latest copilot LSP v1.294 (#418) (667acf9)
- update to latest copilot.vim/dist (ec3a846)
- update to latest copilot.vim/dist (16de163)
- update to latest copilot.vim/dist (27fe59c)
- update to latest copilot.vim/dist (508ee62)
- update to latest copilot.vim/dist (3b7bf91)
- update to latest copilot.vim/dist (9f8ab20)
- update to latest copilot.vim/dist (80de08f)
- update to latest copilot.vim/dist (d11e181)
- update to latest copilot.vim/dist (c4f2950)
- update to latest copilot.vim/dist (50b45fe)
- update to latest copilot.vim/dist (9260b49)
- update to latest copilot.vim/dist (10d93a4)
- update to latest copilot.vim/dist (b066c1d)
- update to latest copilot.vim/dist (#198) (78c7582)
- update to latest copilot.vim/dist (#262) (03f8259)
- update to latest copilot.vim/dist (#269) (8b3a427)
- update to latest copilot.vim/dist (#297) (ec461c0)
- update to latest copilot.vim/dist (#326) (f8d8d87)
- update to latest copilot.vim/dist #1 (#372) (2d32b62)
- update to latest copilot/dist (56989d8)
- update to latest copilot/dist (f6d159e)
- update to latest copilot/dist (1a79949)
- update to latest copilot/dist (79e560c)
- update to latest copilot/dist (3f1e657)
- update to latest copilot/dist (51599d4)
- update to latest copilot/dist (2c04d3b)
- update to latest copilot/dist (#124) (7669db7)
- use of fallback logic on all suggestion keymaps (f12709a), closes #581
- wait for copilot to start for 'Copilot' command (b6e94db)
- warn about requirement of 0.11+ coming up (c415c4e), closes #555
- workspace folders (#377) (e41c376), closes #375
- accidentally committed print statements (4d4840b)
- add 30s timeout default to LSP config (f464341)
- add a temporary redirection of status for LazyVim (1ff8ab7)
- add required editor info for LSP initialization (#387) (1f893df)
- add wget fallback, prevent Copilot from re-attaching upon startup error (2a43872)
- allow re-registering keymaps to resolve a reported issue (724a6fe), closes #577
- api: set_editor_info method (3a35313)
- attempt to resolve a "cookies must be enabled" error (0da7ebc)
- avoid LSP error with unsupported window/logMessage (de1308f), closes #389
- binary custom_path folder verification (f49d6e3)
- binary lsp not starting (14fb80f)
- broken :Copilot version command (dc579f9), closes #466
- buffer attachment logic in various conditions (e7bfbfb)
- call lsp.start after loading buffer (#508) (f26345d), closes #507
- call should_attach on sign_in (#509) (b0ffa35), closes #505
- check correct lsp server initialization (c2c7cb4)
- ci: ensure util.lua is committed, split util.lua job (35a99d4)
- ci: variable changes persistance (3f106ff)
- client: get_node_version for
powershell(77e3a49) - client: ignore 'shell' in get_node_version (9cb5396)
- client: set get_language_id for client (25a4160)
- command: :Copilot without params (bbb518f)
- command: copilot.lua version (a4a37dd)
- curl detection (ee32a28)
- cutting off of suggestion when before cursor (3fba29d), closes #647
- disable download of binary for now (6c65c53)
- do not capture LSP logs by default and ensure only Copilot logs are captured (#394) (73d09db), closes #391
- ensure attachment even when suggestion is disabled (aa00b0b)
- ensure buffer is not attached on LSP start as it is long-lived regardless of buffer (1c2e65e)
- ensure bufnr is part of the previous keymap key (cb1a982)
- ensure encoding is utf-# (#470) (089ec63), closes #458
- ensure key is passed to nvim when there were no previous mappings (6fba227)
- ensure keymaps are buffer-aware (8b9af0c), closes #573
- ensure logger is set up prior to starting the LSP (5bbc107)
- ensure right buffers are attached/queried with async model (04d3760), closes #536
- ensure the LSP cmd works for binaries (bb77143)
- error message when node --version returns nothing (60508f9)
- esc key mapping issues (f8fa941), closes #570
- esm package traversal (#312) (f9e2c14)
- fail to start when not using lazy loading of plugin (81cba6d), closes #523
- file rename yields URI error (4c50628), closes #657
- fix more typos, use pull request action instead of pushing directly (962cf8b)
- GitHub token process improvements and incorrect documentation (923e30b)
- global
Min test stub (9cc74a0) - handle empty fileencoding by falling back to global encoding (#346) (886ee73)
- highlight themes not being honored (61280b5), closes #376
- highlighting of suggestions may become "MatchParen" under certain conditions (ce23086)
- ignore consecutive setup calls (1e7f649)
- improvements to the binary downloading timing (6a3134e)
- incorrect buffer attach logic (b9300fb), closes #405
- incorrectly committed state of download functions (f9bf72f)
- incorrectly used 0.11 instead of 0.10 as cutoff (891aee9)
- inncorrect location for .status on lsp failures (6fe8d15)
- invalid column placement when control chars present (e73fe7c)
- invalid comparison (69a0dc5)
- is_visible() returning stale state after accept (2186c76), closes #638
- issue on Linux and URIs (96e1bb1), closes #486
- lingering ghost text when suggestions have control chars (5a08ab9), closes #482
- make default behavior to attach automatically with most autocmds (a6af909), closes #553
- make root directory detection dynamic (#213) (7593549)
- missing buffer-based keymap registrations (3ea8f8c)
- multiple buffers opened cause incorrect should_attach logic (2c3d15c)
- multiple buffers opened cause incorrect should_attach logic (#521) (d921204)
- only attach to normal buffers (#333) (e601a39)
- only clear autocmd group if it was created (6fa90e6), closes #503
- panel error with index local 'id' (e69f7aa), closes #395
- panel: avoid being stuck "loading" (#335) (c810500)
- panel: display lines extra indent strip (5304ea7)
- panel: do not open if not attached (3bfdf96)
- panel: go back to correct place after accept (394b5cb)
- panel: jump to prev win on close (61f75a7)
- panel: panel filetype and name (cfd0f07)
- prev and next keymaps should trigger suggestion (cc9b8c3), closes #587
- prevent agent service not initialized error (#380) (acf547e), closes #321
- prevent calling buf_attach_client without a client id (045daa5)
- prevent infinite detach/re-attach loop on non-buflisted buffers (397ac41), closes #576
- prevent infinite detach/re-attach loop on non-buflisted buffers (e43c9e5), closes #576
- prevent infinite retry loop on authentication failure (f693e21), closes #566
- prevent manually disabled buffer from automatically re-attaching (f55bf8c), closes #536
- prevent partial accepts from triggering a new suggestion (#469) (c0d1824), closes #467
- prevent trying to detach from never-attached buffers (a84a0ab)
- protect against re-registering the same keymap for buffer (56ae9be)
- protect filetype change from an invalid bufnr (e25f975), closes #557
- proxy_uri and provider_url configurations not being passed along (e6c341a)
- race in should_attach (89c8ada)
- regression where node_command contained spaces (#541) (e4156de), closes #538
- remove -p in folder creation as it is not supported by some shells (996194e)
- remove unnecessary print (aecb0c7)
- replace
vim.lsp.stop_client()withClient:stop()(0ab400d) - resolve stutter when typing over virtual text (fc015b7), closes #471
- RPC Document for URI not found on ft change (f5a147c), closes #491
- silence repeated 'copilot is disabled' warnings (9193974), closes #629
- splitting of copilot_node_command (#545) (f7bacd9)
- stop old client if folder changed and new LSP was spawned (#388) (dbcee96)
- suggestion: abort callback on error (a998e15)
- suggestion: allow next/prev to schedule with auto_trigger=true (b41d4c9)
- suggestion: cursor position for nvim v0.10.x (7304708)
- suggestion: do not toggle insert mode on accept (81ffc49)
- suggestion: fix race condition between accept and cycling (ac70821)
- suggestion: handle chars inserted within debounce timeout (3c6a1d2)
- suggestion: notify error about failed notify_accepted (38a41d0)
- suggestion: Trigger suggestion on InsertEnter (#318) (30321e3)
- suggestion: virtual text flicker (8851644)
- suggestion: weird indentation after .accept (d3c3732)
- support for keymap passthrough to function callbacks (46e9895)
- temporarily disable file validations for nvim < 0.11 for now (075e845)
- trace_lsp would not activate tracing in the LSP (e599a76)
- typo in error message (e5b65bb)
- typos (0d56d43)
- unable to accept panel suggestion (buffer was closed error) (2f50ec4), closes #473
- URI conversion for panel would assume file:// prefix (cf6cb4f), closes #277
- use buf for FileType autocmd (#539) (96f34f8), closes #536
- use js server when on musl (#414) (3e7a5c2)
- use nodejs experimental SQLite when nodejs < v25 (#604) (a31be88)
- use post initialization callbacks when Copilot is not initialized (#438) (d521eaf), closes #436
- use vim built-in mkdir to create the directory (535ebb5)
- util: vim.fn.strutf16len existence check (2b974b4)
- warn the user if unregistering a keymap fails (75fe839), closes #533
- wrong buffer encoding breaks accepting suggestions (#336) (117a5c9)