Skip to content

Latest commit

 

History

History
365 lines (342 loc) · 54 KB

File metadata and controls

365 lines (342 loc) · 54 KB

Changelog

2.0.2 (2026-04-11)

Bug Fixes

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

Bug Fixes

2.0.0 (2026-03-06)

⚠ BREAKING CHANGES

  • 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+

Features

  • ability to switch between js (default) and binary server type (f96d8e6)
  • add Copilot panel close and is_open commands (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 toggle command (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 status with 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 dismiss when 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

Bug Fixes

  • 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 M in 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() with Client: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)

Performance

  • cancel operations prior to requesting a new one (826e468)
  • client: make node.js version check lazy and optional (653bbdc)
  • skip suggestion requests when copilot client is disabled (a6a4935)
  • use vim.loop.os_uname() for is_arm (#513) (14bf786)

Refactoring

  • increase nodejs version requirement for LSP requirement (1ff8504)
  • major rewrite of project structure (e69323a)
  • remove deprecated functions and configs, require nvim 0.10+ (b95c20b)
  • remove nvim 0.10 support as warned (3cd5086)