Code change:
Type: <bBug</bThis issue was supposed to be fixed in , but we have recently received complaints from some users regarding this. I counted the first 50 issues with Vue extension installed in , and 25 users are using 1.8.27 ~ 2.0.10 (2.0.10 was released 4 months ago ), only 19 users are using the latest version (2.0.22 ~ 2.0.28). Numbers: 2.0.10: 13 (Issue , Issue , Issue , Issue , Issue , Issue , Issue , Issue , Issue , Issue , Issue , Issue , Issue ) 2.0.8: 6 (Issue , Issue , Issue , Issue , Issue , Issue ) 2.0.7: 2 (Issue , Issue ) 2.0.6: 2 (Issue , Issue ) 1.8.27: 2 (Issue , Issue ) 2.0.22~2.0.28: 19 Since some versions in 2.0.0~2.0.10 may have serious problems, this is probably the reason why the Vue extension has continued to receive negative reviews on the Marketplace and VSCode has continued to receive bug reports about the Vue extension for several months. I found a Windows computer with 2.0.7 installed and was able to reproduce the issue of not being able to update the version. The following is the content of . (Formatted for easier reading) And I can reproduce the problem of not being able to update by overwriting the above metadata to the file of another macbook. is installed, uninstall it and then close VSCode and reopen it. 2.0.7 from https://open- and install it to VSCode, VSCode can normally prompt that Vue extension needs to be updated. and modify the metadata of the last extension to: VSCode will find that the Vue extension cannot detect newer versions. VS Code version: Code 1.92.1 (, 2024-08-07T20:16:39.455Z) OS version: Darwin arm64 23.1.0 Modes: <!-- generated by issue reporter --
cc
I just checked our telemetry for the most popular combinations of VS Code version and Vue extension version and here's what I see. This proves that vue version and are indeed not getting properly updated. The root cause of this is the fact the vue extension, unpublished from the Marketplace and published again the same name (thus exposing a bug in the Marketplace) as explained here We still want to help transition your users, and I will go ahead and move this issue to the VS Code repo and Sandeep will investigate next week once he is back from vacation. Thank you !
Update is not detected automatically. It is detected only when user is searching for the extension.
Sorry about this inconvenience caused. Fixed it - We will now detect the update automatically.
<!-- AUTHORVERIFICATIONREQUEST --This bug has been fixed in the latest release of ! you can help us out by commenting if things are now working as expected. If things still don't seem right, please ensure you're on version of Insiders (today's or later - you can use in the command palette to check), and leave a comment letting us know what isn't working as expected. Happy Coding!
I just tested it and confirmed it's fixed in the latest insiders version, thanks a lot!
Adding label based on above comment

Related discussion:
text: async getExtensions(extensionInfos: ReadonlyArray<IExtensionInfo>, arg1: any, arg2?: any): Promise<IGalleryExtension[]> { const options = CancellationToken.isCancellationToken(arg1) ? {} : arg1 as IExtensionQueryOptions; const token = CancellationToken.isCancellationToken(arg1) ? arg1 : arg2 as CancellationToken; <ins> const result = await this.doGetExtensions(extensionInfos, options, token); const uuids = result.map(r => r.identifier.uuid); const extensionInfosByName: IExtensionInfo[] = []; for (const e of extensionInfos) { if (e.uuid && !uuids.includes(e.uuid)) { extensionInfosByName.push({ ...e, uuid: undefined }); } } if (extensionInfosByName.length) { // report telemetry data for additional query this.telemetryService.publicLog2< { count: number }, { owner: 'sandy081'; comment: 'Report the query to the the Marketplace for fetching extensions by name'; readonly count: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'Number of extensions to fetch' }; }>('galleryService:additionalQueryByName', { count: extensionInfosByName.length }); const extensions = await this.doGetExtensions(extensionInfosByName, options, token); result.push(...extensions); } return result; } private async doGetExtensions(extensionInfos: ReadonlyArray<IExtensionInfo>, options: IExtensionQueryOptions, token: CancellationToken): Promise<IGalleryExtension[]> { </ins> const names: string[] = []; const ids: string[] = [], includePreReleases: (IExtensionIdentifier & { includePreRelease: boolean })[] = [], versions: (IExtensionIdentifier & { version: string })[] = []; let isQueryForReleaseVersionFromPreReleaseVersion = true; for (const extensionInfo of extensionInfos) {