diff --git a/Extension/CHANGELOG.md b/Extension/CHANGELOG.md index f4f4fbceb..6b408146b 100644 --- a/Extension/CHANGELOG.md +++ b/Extension/CHANGELOG.md @@ -1,21 +1,21 @@ # C/C++ for Visual Studio Code Changelog -## Version 1.28.1: October 7, 2025 -### Bug Fixes -* Fix extension activation getting stuck when certain SSH config files are processed (by the SSH targets view feature). [#13966](https://github.com/microsoft/vscode-cpptools/issues/13966) -* Fix document symbols randomly showing previous versions of symbols after they are modified. [#13967](https://github.com/microsoft/vscode-cpptools/issues/13967) -* Prevent .js files from being tag parsed to avoid a crash. [#13980](https://github.com/microsoft/vscode-cpptools/issues/13980) -* A potential fix for a crash. - -## Version 1.28.0: September 25, 2025 +## Version 1.28.2: October 14, 2025 ### Enhancements * Add IntelliSense support for c23 `bool`, `true`, and `false`. [#13737](https://github.com/microsoft/vscode-cpptools/issues/13737) -* Update the bundled `clang-tidy` and `clang-format` from 20.1.7 to 21.1.2. +* Add missing C/C++ keyword completions for newer language standards. [#13982](https://github.com/microsoft/vscode-cpptools/issues/13982) +* Update the bundled `clang-tidy` and `clang-format` from 20.1.7 to 21.1.3. ### Bug Fixes * Fix `cpptools` getting stuck when `clang-format` is invoked on a file in a `.clang-format-ignore`. [#13937](https://github.com/microsoft/vscode-cpptools/issues/13937) * Fix the `C/C++ Properties Schema Reference` link in the configuration UI editor. [#13949](https://github.com/microsoft/vscode-cpptools/issues/13949) * Fix a crash with `preReleaseCheck`. [#13953](https://github.com/microsoft/vscode-cpptools/issues/13953) +* Fix extension activation getting stuck when certain SSH config files are processed (by the SSH targets view feature). [#13966](https://github.com/microsoft/vscode-cpptools/issues/13966) +* Fix document symbols randomly showing previous versions of symbols after they are modified. [#13967](https://github.com/microsoft/vscode-cpptools/issues/13967) +* Prevent tag parsing of .js files to avoid a crash. [#13980](https://github.com/microsoft/vscode-cpptools/issues/13980) +* Fix some invalid assumptions for cppbuild tasks. [PR #13989](https://github.com/microsoft/vscode-cpptools/pull/13989) +* Fix a random memory corruption and deadlock (involving `task_deque`). +* A potential fix for a crash (involving `line_offset_t`). ## Version 1.27.7: September 18, 2025 ### Enhancements diff --git a/Extension/cgmanifest.json b/Extension/cgmanifest.json index 83de24abe..92adbdc44 100644 --- a/Extension/cgmanifest.json +++ b/Extension/cgmanifest.json @@ -1,16 +1,6 @@ { "$schema": "https://json.schemastore.org/component-detection-manifest.json", "Registrations": [ - { - "Component": { - "Type": "git", - "Git": { - "RepositoryUrl": "https://github.com/llvm/llvm-project", - "CommitHash": "0d44201451f03ba907cdb268ddddfc3fa38a0ebd" - }, - "DevelopmentDependency": true - } - }, { "Component": { "Type": "git", diff --git a/Extension/package.json b/Extension/package.json index 90c7396b4..f0b6b9733 100644 --- a/Extension/package.json +++ b/Extension/package.json @@ -2,7 +2,7 @@ "name": "cpptools", "displayName": "C/C++", "description": "C/C++ IntelliSense, debugging, and code browsing.", - "version": "1.28.1-main", + "version": "1.28.2-main", "publisher": "ms-vscode", "icon": "LanguageCCPP_color_128x.png", "readme": "README.md", diff --git a/Extension/src/LanguageServer/cppBuildTaskProvider.ts b/Extension/src/LanguageServer/cppBuildTaskProvider.ts index de08d6e43..33227c14e 100644 --- a/Extension/src/LanguageServer/cppBuildTaskProvider.ts +++ b/Extension/src/LanguageServer/cppBuildTaskProvider.ts @@ -245,7 +245,7 @@ export class CppBuildTaskProvider implements TaskProvider { const cppBuildTask: CppBuildTask = new Task(definition, TaskScope.Workspace, task.label, ext.CppSourceStr); cppBuildTask.detail = task.detail; cppBuildTask.existing = true; - if (task.group.isDefault) { + if (!util.isString(task.group) && task.group.isDefault) { cppBuildTask.isDefault = true; } return cppBuildTask; @@ -292,9 +292,9 @@ export class CppBuildTaskProvider implements TaskProvider { if (setAsDefault) { rawTasksJson.tasks.forEach((task: any) => { if (task.label === selectedTask?.definition.label) { - task.group = { kind: "build", "isDefault": true }; - } else if (task.group.kind && task.group.kind === "build" && task.group.isDefault && task.group.isDefault === true) { - task.group = "build"; + task.group = { kind: "build", isDefault: true }; + } else if (!util.isString(task.group) && task.group?.kind === "build" && task.group?.isDefault) { + task.group.isDefault = false; } }); } @@ -303,7 +303,7 @@ export class CppBuildTaskProvider implements TaskProvider { const newTask: any = { ...selectedTask.definition, problemMatcher: selectedTask.problemMatchers, - group: setAsDefault ? { kind: "build", "isDefault": true } : "build", + group: setAsDefault ? { kind: "build", isDefault: true } : "build", detail: localize("task.generated.by.debugger", "Task generated by Debugger.") }; rawTasksJson.tasks.push(newTask);