4.7.4 (2025-10-01)
4.7.3 (2025-09-28)
- mappings: make sure function resolution is not ran in fast context (#1436) (16aa924)
- os: use vim.uv.os_uname for OS detection (#1449) (df8efe9)
4.7.2 (2025-09-17)
4.7.1 (2025-09-16)
- chat: ensure user prompt is wrapped in a list (#1427) (92dceb4), closes #1426
- ui: increase separator virt_text priority (#1424) (9a63e83)
4.7.0 (2025-09-16)
- chat: switch to treesitter based chat parsing (#1394) (ba364fe)
- diff: add experimental unified diff support, refactor handling (#1392) (9fdf895)
- diff: apply all code blocks for a file at once when showing diff (#1409) (a88874e)
- diff: use diff-match-patch for better diff handling (#1407) (35ad8ff)
- health: require markdown parser and copilotchat query (#1401) (f49df19)
- chat: automatically start treesitter if not started (#1410) (00d0fb3)
- client: correct history handling for headless ask (#1416) (d5ea51d), closes #1415
- provider: safely call curl.post for model policy (#1419) (2279dbe)
- ui: handle missing filename in chat block header (#1406) (5c3a558)
- ui: improve help rendering and treesitter usage (#1411) (559e754)
- ui: preserve extra fields in chat messages (#1399) (f2f523f)
- chat: optimize message storage and access (#1403) (1041ad0)
- chat: simplify last line/column calculation (#1402) (4a45e69)
- core: do not require calling setup(), add lazy initialization (#1413) (c15f65e)
4.6.0 (2025-08-31)
- auth: improve token saving and polling logic (#1389) (b7728f4), closes #1388
- chat: correct header highlighting for multi-byte characters (#1385) (f844a68), closes #1384
- utils: use proper empty check (#1380) (c4b2e03)
4.5.1 (2025-08-28)
4.5.0 (2025-08-27)
- select: remove selection API in favor of resources
- prompts: callback receives the full response object instead of just content.
- config: add back selection source config option (#1360) (c37ec3c)
- docs: add selection source to function table (#1358) (c7d8547)
- functions: add configuration parameter to stop on tool failure (#1364) (8d8f1e7)
- functions: add scope=selection to diagnostics (#1351) (7b4a56b)
- functions: use cwd for file and grep commands (#1373) (72216c0), closes #1108
- prompts: add support for providing system prompt as function (#1318) (33e6ffc)
- prompts: support buffer replacement in commit messages (#1370) (afafec5)
- ui: add auto_fold option for chat messages (#1354) (80a0994), closes #1300
- ui: improve auto folding logic in chat window (#1356) (a7679e1)
- completion.lua: check if window is valid before calling get_cursor (#1359) (fdac67a)
- completion: require tool uri for input completion (#1328) (76cc416)
- config: correct system_prompt type and callback usage (#1325) (f99f1cd)
- makefile: handle MSYS_NT as a valid Windows environment (#1347) (9769bf9)
- prompt: recursive system prompt expansion (#1324) (26f7b4f), closes #1323
- select: move config inside of marks function to prevent import loop (#1361) (19a38dd)
- test: run tests automatically in test script (#1334) (c5057d3)
- utils: always exit insert mode in return_to_normal_mode (#1313) (957e0a8), closes #1307
- utils: avoid vim.filetype.match in fast event (#1344) (7993e6d)
- prompts: support template substitution in system_prompt (#1312) (081d4c2)
- select: remove selection API in favor of resources (a2429ed)
4.4.1 (2025-08-12)
- chat: schedule chat initialization after window opens (#1308) (15eebed), closes #1307
- prompts: update tool instructions for system prompt (#1304) (5e091bf)
4.4.0 (2025-08-09)
- completion: add support for omnifunc and move completion logic to separate module (1b04ddc)
- ui: show assistant reasoning as virtual text (#1299) (92777fb)
- chat: correct block selection logic by cursor (#1301) (7e027df)
- info: show resource uri instead of name in preview (#1296) (90c3241)
4.3.1 (2025-08-08)
4.3.0 (2025-08-08)
- core: Resource processing and embeddings support have been removed. Any configuration or usage relying on these features will no longer work.
- keymap: switch back to <Tab> for completion, add Copilot conflict note (#1280) (59f5b43)
- setup: trigger CopilotChatLoaded user autocommand (#1288) (1189e37)
- functions: do not require tool reference in tool prompt, just tool id (#1273) (4d11c49), closes #1269
- ui: prevent italics from breaking glob pattern highlights (#1274) (93110a5)
4.2.0 (2025-08-03)
4.1.0 (2025-08-03)
4.0.0 (2025-08-02)
- mappings: use C-Space as default completion trigger instead of Tab
- providers: github_models provider is now disabled by default, enable with
providers.github_models.disabled = false - resources: intelligent resource processing is now disabled by default, use config.resource_processing: true to reenable
- context: Multiple breaking changes due to big refactor:
- The context API has changed from callback-based input handling to schema-based definitions.
- config.contexts renamed to config.tools
- config.context removed, use config.sticky
- diagnostics moved to separate tool call, selection and buffer calls no longer include them by default
- gi renamed to gc, now also includes selection
- filenames renamed to glob
- files removed (use glob together with tool calling instead, or buffers/quickfix)
- copilot extension agents removed, tools + mcp servers can replace this feature and maintaining them was pain, they can still be implemented via custom providers anyway
- actions and integrations action removed as they were deprecated for a while
- config.questionHeader, config.answerHeader moved to config.headers.user/config.headers.assistant
- add Windows_NT support in Makefile and dynamic library loading (#1190) (7559fd2)
- context: switch from contexts to function calling (057b8e4), closes #1045 #1090 #1096 #526
- display group as kind when listing resources (#1215) (450fcec)
- functions: automatically parse schema from url templates (#1220) (950fdb6)
- health: add temp dir writable check (#1239) (02cf9e5)
- mappings: use C-Space as default completion trigger instead of Tab (ea41684)
- prompts: add configurable response language (#1246) (ced388c), closes #1086
- providers: add info output to panel for copilot with stats (#1229) (1713ce6)
- providers: new github models api, in-built authorization without copilot.vim dep (#1218) (9c4501e), closes #1140
- providers: prioritize gh clie auth if available for github models (#1240) (01d38b2)
- resources: add option to enable resource processing (#1202) (6ac77aa)
- ui: add window.blend option for controllin float transparency (#1227) (a01bbd6), closes #1126
- ui: highlight copilotchat keywords (#1225) (8071a69)
- ui: improve chat responsiveness by starting spinner early (#1205) (9d9b280)
- add back sticky loading on opening window (#1210) (1d6911f)
- chat: do not allow sending empty prompt (#1245) (c3d0048), closes #1189
- chat: handle empty prompt and tools before ask (#1258) (bad83db)
- chat: handle skipped tool calls with explicit error result (#1259) (936426a)
- chat: highlight keywords only in user messages (#1236) (425ff0c)
- chat: improve how sticky prompts are stored and parsed (#1233) (82be513)
- chat: properly replace all message data when replacing message (#1244) (d1d155e)
- chat: properly reset modifiable after modifying it (#1234) (fc93d1c)
- chat: show messages in overlay (#1237) (1a17534)
- check for explicit uri input properly (#1214) (b738fb4)
- files: use also plenary filetype on top of vim.filetype.match (#1250) (9fd068f), closes #1249
- functions: change neovim://buffer to just buffer:// to avoid conflicts (#1252) (3509cf0)
- functions: if enum returns only 1 choice auto accept it (#1209) (e632470)
- functions: if schema.properties is empty, do not send schema (#1211) (8a5cda1)
- functions: properly allow skipping handling for tools (#1257) (4d2586b)
- functions: properly escape percent signs in uri inputs (#1212) (d905917)
- functions: properly filter tool schema from functions (#1243) (f7a3228)
- functions: properly handle multiple tool calls at once (#1198) (dd06166)
- functions: properly resolve defaults for diagnostics (#1201) (946069a), closes #1200
- functions: properly send prompt as 3rd function resolve param (#1221) (c03bd1d)
- functions: use vim.filetype.match for non bulk file reads (#1226) (b124b94), closes #1181
- healthcheck: chance copilot.vim dependency to optional (#1219) (d9f4e29)
- prompt: be more specific when definining what is resource (#1238) (7c82936)
- properly validate source window when retrieving cwd (#1231) (f53069c), closes #1230
- providers: do not save copilot.vim token (#1223) (294bcb6)
- quickfix: use new chat messages instead of old chat sections for populating qf (#1199) (e0df6d1)
- ui: do not allow empty separator (#1224) (67ed258)
- ui: fix check for auto follow cursor (#1222) (1f96d53)
- update sticky reference for commit messages (#1207) (dab5089)
- update to latest lua actions and update README (#1196) (b4b7f9c)
- utils: remove temp file after curl request is done (#1235) (dec3127), closes #1194
3.12.2 (2025-07-09)
3.12.1 (2025-06-16)
3.12.0 (2025-05-09)
- switch to new default model gpt-4.1 (5f105cf)
3.11.1 (2025-04-21)
- validation: Ensure If the erminal buffer is excluded from #buffers and #buffer (bc644cd)
3.11.0 (2025-04-09)
- add option to disable contexts in prompts (14c78d2)
- change default selection to visual only (a63031f), closes #1103
3.10.1 (2025-04-04)
- client: update response_text after parsing response (#1093) (34d1b4f), closes #1064
- diff: normalize filename (#1095) (81754ea)
- handle invalid context window size in GitHub models (#1094) (00bf27e)
1.9.0 (2024-02-24)
- Add support for clear_chat_on_new_prompt config option (7dc8771)
- add CopilotPlugin back (713ca00)
1.8.0 (2024-02-23)
- New Command so that CopilotChat reads from current in-focus buffer when answering questions (#67) (57226f2)
1.7.1 (2024-02-20)
- set default temperature and validate temperature value (8ff6db6)
1.7.0 (2024-02-20)
- add temperature option (b5db053)
1.6.2 (2024-02-20)
- set filetype to markdown for toggle vsplit buffer (1e250ff)
1.6.1 (2024-02-18)
- code_actions: Add check for 'No diagnostics available' in diagnostic prompts (e46fa23)
1.6.0 (2024-02-18)
- add language settings for copilot answers (8e40e41)
- add support for visual mode in show_prompt_actions function (13dfbba)
- disable vim diagnostics on chat buffer for vsplit handler (fe1808e)
- add validation before call FixDiagnostic command (81c5060)
- reorder system prompt and language prompt (0d474a1)
1.5.0 (2024-02-17)
- add options to hide system prompts (98a6191)
- add prompt actions support in Telescope integration (f124645)
- integrate CopilotChat with telescope.nvim for code actions (0cabac6)
1.4.0 (2024-02-16)
- add diagnostic troubleshooting command (0e5eced)
- add toggle command for vertical split in CopilotChat (48209d6)
- integration: set filetype to 'copilot-chat' for support edgy.nvim (60718ed)
1.3.0 (2024-02-14)
- Include more info about refusal reason (46bdf01)
1.2.0 (2024-02-13)
1.1.0 (2024-02-10)
- chat_handler: show extra info only once (589a453)
- Environment variables for proxy (HTTPS_PROXY and ALL_PROXY) (043e731)
- Proxy support (19a8088)
- Wacky indentation in readme (c5bf963)
1.0.1 (2024-02-08)
- multi-byte languages by manually tracking last_line_col for buf_set_text (20a4234)
- disable extra info as default
- drop new buffer mode
- add a note for help user to continue the chat (8a80ee7)
- add CCExplain command (640f361)
- add CCTests command (b34a78f)
- add configuration options for wrap and filetype (b4c6e76)
- add CopilotChatDebugInfo command (#51) (89b6276)
- add CopilotChatToggleLayout (07988b9)
- add debug flag (d0dbd4c)
- add health check (974f14f)
- add new keymap to get previous user prompt (6e7e80f)
- set filetype to markdown and text wrapping (9b19d51)
- show chat in markdown format (9c14152)
- show date time and additional information on end separator (#53) (b8d0a9d)
- ci: generate doc (6287fd4)
- ci: generate vimdoc on main branch (94fb10c)
- ci: setup release action (2f1e046)
- ci: skip git hook on vimdoc (94fb10c)
- Close spinner if the buffer does not exist (#11) (0ea238d)
- handle get remote plugin path on Windows (0b917f6)
- remove LiteralString, use Any for fixing issue on Python 3.10 (b68c352), closes #45