2026-10-01
- Allow local will-file handlers to await
workspace.applyEdit()throughwaitUntilwithout reacquiring the file-operation lock. Reject expired participant edits while completing edits already in progress.
2026-09-30
- Notify language servers that support
workspace/didRenameFilesof external renames detected by file system watchers.
2026-09-28
- Make non-overwrite
workspace.createFile()exclusive after will-create handlers, and delete symbolic links themselves, including dangling links. - Replace earlier minimatch native ignores with raw restricted glob strings for
bundled native watcher subtree excludes:
*stays within a component and**matches components; other glob punctuation is literal. Regular watcher event patterns retain minimatch. - Exclude fixed Git storage directories from native traversal and filter emitted events to Git status files and refs.
2026-09-27
- Add
workspace.createDirectory()andworkspace.copyFile()with create-file participation and completion events, rejecting existing targets. - Add restricted native Git metadata subscriptions with
workspace.createGitFileSystemWatcher()without changing ignored folders. - Add opt-in
TreeViewOptions.preserveSelectionand declare the existing TreeView cursor and disposal events in the public API. - Keep expanded sibling branches when refreshing a TreeView subtree.
- Add
TreeViewOptions.selectOnInvoke, command-less directory expansion, and right-click actions for TreeView items. - Declare the existing
TreeView.registerLocalKeymap()API for view-owned local keymaps. - Make
TreeView.registerLocalKeymap()return a Disposable for cancelling pending or active view-owned local keymaps. - Release all TreeView local mappings and safely dispose mappings after their buffers have been wiped.
- Declare the existing FileSystemWatcher.onDidListen event for subscription readiness on newly watched roots.
- Add an options overload for
workspace.createFileSystemWatcher(). SetincludeDirectories: trueto receive directory events from the native watcher through the existing event handlers. Existing calls and Watchman remain file-only. - Use minimatch for native watcher ignore patterns and remove picomatch. Unicode POSIX character classes are not supported by the native backend.
2026-09-26
- Use bundled native-watcher binaries on macOS, Linux, and Windows. Native watcher events exclude symlinks and special entries. A symlink workspace root is resolved to its real path before subscribing.
- A configured nonempty
fileSystemWatch.watchmanPathnow tries Watchman once before the native watcher. Without it, coc.nvim tries the native watcher first and looks up Watchman only after native watcher initialization fails. - On Linux with glibc below 2.28, skip the native watcher and quietly use the existing Watchman fallback when available.
- Forward
fileSystemWatch.ignoredFoldersto the bundled native watcher and ignore.gitandnode_modulesdirectory trees by default.
2026-09-11
- Include
[extension: <id>]in uncaught exception and unhandled rejection logs when the owning extension's async context is available, including socket errors whose stacks contain only Node.js internals. - Fix inline completion's
lineacceptance inserting the entire suggestion. Addline+indenttococ#inline#accept()to accept the first line plus the following newline and indentation (#5756).
2026-09-08
- Fix multi-cursor uppercase and lowercase conversion overwriting different selected words with the same text (#5755).
2026-08-27
- Support day-based npm
min-release-agecooldowns andmin-release-age-excludepatterns when installing or updating extensions.
2026-08-24
- Improve Next Edit previews with cursor-stable candidate filtering, character-level insertion/deletion highlights, and cross-file float hints.
2026-08-21
- Support neovim OSC 8 hyperlinks. Hold Command on macOS or Ctrl on Linux/Windows to open the link. In mouse-capturing TUI applications, also hold Shift.
Snapshot refreshed