vuejs/language-tools (vue-tsc)
### [`v2.0.28`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2028-supofficialsup-2029-supinsiderssup-2024-07-22)
[Compare Source](https://togithub.com/vuejs/language-tools/compare/v2.0.26...v2.0.28)
##### Features
- **vscode:** focus mode Insiders
- **language-core:** Plugin API 2.1
- Added plugin hooks: `getLanguageId`, `isValidFile`, `parseSFC2`
- Improve backward compatibility ([#4585](https://togithub.com/vuejs/language-tools/issues/4585)) - Thanks [@zhiyuanzmj](https://togithub.com/zhiyuanzmj)
- **language-core:** support default prop when using \__typeProps ([#4602](https://togithub.com/vuejs/language-tools/issues/4602)) - Thanks [@zhiyuanzmj](https://togithub.com/zhiyuanzmj)
- **language-core:** improve nested plugins ([#4581](https://togithub.com/vuejs/language-tools/issues/4581)) - Thanks [@zhiyuanzmj](https://togithub.com/zhiyuanzmj)
- **language-service:** remove `v-bind` code action ([#4601](https://togithub.com/vuejs/language-tools/issues/4601))
- **vscode:** add empty pattern to codeblock attributes scope ([#4590](https://togithub.com/vuejs/language-tools/issues/4590)) - Thanks [@KermanX](https://togithub.com/KermanX)
##### Fixes
- **tsc:** errors should be thrown instead of being console.log printed
- **language-server:** observe named pipes changes when server startup ([#4292](https://togithub.com/vuejs/language-tools/issues/4292))
- **language-core:** infer define model type from options type ([#4545](https://togithub.com/vuejs/language-tools/issues/4545)) - Thanks [@davidmatter](https://togithub.com/davidmatter)
- **language-core:** type-checking not working with hyphen in slot name with JS ([#4478](https://togithub.com/vuejs/language-tools/issues/4478)) - Thanks [@KermanX](https://togithub.com/KermanX)
- **language-core:** add type check for v-model without argument ([#4598](https://togithub.com/vuejs/language-tools/issues/4598)) - Thanks [@zhiyuanzmj](https://togithub.com/zhiyuanzmj)
- **language-service:** filter special tags ([#4596](https://togithub.com/vuejs/language-tools/issues/4596)) - Thanks [@so1ve](https://togithub.com/so1ve)
- **typescript-plugin:** improve named pipes reliability ([#4603](https://togithub.com/vuejs/language-tools/issues/4603))
- **language-core** property access is incorrectly identified as compound expression ([#4600](https://togithub.com/vuejs/language-tools/issues/4600))
- **language-core** fix compatibility of generic component virtual code with TS 5.5 ([#4577](https://togithub.com/vuejs/language-tools/issues/4577))
- **tsc** TS4082 not reported for functional component ([#4569](https://togithub.com/vuejs/language-tools/issues/4569))
##### Other Changes
- Upgraded Volar from `v2.4.0-alpha.15` to `v2.4.0-alpha.18`:
- Fix VS Code IntelliSense will be lost in new created files ([#4424](https://togithub.com/vuejs/language-tools/issues/4424))
- Add workspace symbols support in Hybrid Mode ([#4595](https://togithub.com/vuejs/language-tools/issues/4595))
- Add workspace `addMissingImports` action support in Hybrid Mode ([#4586](https://togithub.com/vuejs/language-tools/issues/4586))
- Fix yarn 4 compatibility ([#4587](https://togithub.com/vuejs/language-tools/issues/4587))
- Add vue vine to hybrid mode compatible list ([#4543](https://togithub.com/vuejs/language-tools/issues/4543)) - Thanks [@so1ve](https://togithub.com/so1ve)
- Add global components prop validation test ([#4542](https://togithub.com/vuejs/language-tools/issues/4542)) - Thanks [@davidmatter](https://togithub.com/davidmatter)
### [`v2.0.26`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2026-supofficialsup-2027-supinsiderssup-2024-07-04)
[Compare Source](https://togithub.com/vuejs/language-tools/compare/v2.0.24...v2.0.26)
##### Features
- **language-service:** Support auto-complete for more preprocessing languages.
- **language-core:** Improve type compatibility with Vue 3.5. ([#4474](https://togithub.com/vuejs/language-tools/issues/4474)) - Thanks, [@zhiyuanzmj](https://togithub.com/zhiyuanzmj).
##### Bug Fixes
- **vscode:** Fix insider version display condition. Insiders
- **language-service:** Fix `vue-twoslash-queries` not working in LSP mode.
- **language-service:** Add null handling for script tag completion items. ([#4520](https://togithub.com/vuejs/language-tools/issues/4520))
- **language-core:** Fix `any` in templates if the first checked file was not root. ([#4526](https://togithub.com/vuejs/language-tools/issues/4526)) - Thanks, [@daniluk4000](https://togithub.com/daniluk4000).
##### Other Changes
- Upgraded Volar from `v2.4.0-alpha.2` to `v2.4.0-alpha.14`:
- Fixed an issue where, when Hybrid Mode is disabled, TS support for Vue files not included in tsconfig may be missing.
- Improved the consistency of `vue-tsc` and `tsc` behavior. ([#3526](https://togithub.com/vuejs/language-tools/issues/3526))
- Fixed the `--clean` flag support for `vue-tsc`.
- Updated the high-level overview mermaid diagram.
- Added 'expected' and 'actually happening' sections to the bug report template. ([#4515](https://togithub.com/vuejs/language-tools/issues/4515)) - Thanks, [@davidmatter](https://togithub.com/davidmatter).
### [`v2.0.24`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2024-supofficialsup-2025-supinsiderssup-2024-06-30)
[Compare Source](https://togithub.com/vuejs/language-tools/compare/v2.0.22...v2.0.24)
##### Features
- **vscode:** pop message box if new insiders version available insiders
- **vscode:** if insiders versions information failed to fetch from GitHub, try to fetch from CDN insiders
- **language-service:** better sfc-level tag name completion ([#4506](https://togithub.com/vuejs/language-tools/issues/4506)) - Thanks [@KermanX](https://togithub.com/KermanX)
##### Bug Fixes
- **tsc:** update required volar version ([#4498](https://togithub.com/vuejs/language-tools/issues/4498)) - Thanks [@davidmatter](https://togithub.com/davidmatter)
- **tsc:** bump peer typescript version ([#4513](https://togithub.com/vuejs/language-tools/issues/4513)) - Thanks [@so1ve](https://togithub.com/so1ve)
##### Refactors
- **language-server:** reorganize the code structure ([#4507](https://togithub.com/vuejs/language-tools/issues/4507))
##### Other Changes
- Upgrade Volar from `v2.3.1` to `v2.4.0-alpha.2`.
- Hybrid Mode compatibility improvements with other TS plugins ([https://github.com/volarjs/volar.js/issues/216](https://togithub.com/volarjs/volar.js/issues/216))
- **docs:** add nvim-cmp integration ([#4463](https://togithub.com/vuejs/language-tools/issues/4463)) - Thanks [@RayGuo-ergou](https://togithub.com/RayGuo-ergou)
- **docs:** update mermaid
- The following extensions have been added to Hybrid Mode’s compatibility whitelist ([#4206](https://togithub.com/vuejs/language-tools/issues/4206)):
- `p42ai.refactor`
- `nrwl.angular-console`
- `styled-components.vscode-styled-components`
- `Divlo.vscode-styled-jsx-languageserver`
### [`v2.0.22`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2022-2024-06-22)
[Compare Source](https://togithub.com/vuejs/language-tools/compare/v2.0.21...v2.0.22)
##### Bug Fixes
- **vscode:** directive syntax highlighting ([#4482](https://togithub.com/vuejs/language-tools/issues/4482)) - Thanks [@KermanX](https://togithub.com/KermanX)
- **language-core:** move declare defineProp out of function scope ([#4454](https://togithub.com/vuejs/language-tools/issues/4454)) - Thanks [@zhiyuanzmj](https://togithub.com/zhiyuanzmj)
- **language-core:** compatible with TS 5.5 ([#4492](https://togithub.com/vuejs/language-tools/issues/4492))
##### Other Changes
- Upgrade Volar from `v2.3.0-alpha.14` to `v2.3.1`.
- Error tolerant to `contentChanges` length ([#4457](https://togithub.com/vuejs/language-tools/issues/4457))
- Add feature request template ([#4490](https://togithub.com/vuejs/language-tools/issues/4490)) - Thanks [@so1ve](https://togithub.com/so1ve)
- **docs:** fix wrong links in CHANGELOG.md ([#4475](https://togithub.com/vuejs/language-tools/issues/4475)) - Thanks [@KermanX](https://togithub.com/KermanX)
### [`v2.0.21`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2021-2024-06-08)
[Compare Source](https://togithub.com/vuejs/language-tools/compare/v2.0.20...v2.0.21)
##### Bug Fixes
- fix(typescript-plugin): TS plugin cause type checking broken in .ts files ([#4453](https://togithub.com/vuejs/language-tools/issues/4453))
### [`v2.0.20`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2020-2024-06-08)
[Compare Source](https://togithub.com/vuejs/language-tools/compare/v2.0.19...v2.0.20)
##### Features
- feat(language-service): add localization support for zh-hk/zh-tw
- feat(vscode): enable syntax highlighting of cue code blocks in MDX ([#4425](https://togithub.com/vuejs/language-tools/issues/4425)) - Thanks [@remcohaszing](https://togithub.com/remcohaszing)
##### Bug Fixes
- fix(vscode): fix "as"/"instanceof" expressions syntax highlight ([#4412](https://togithub.com/vuejs/language-tools/issues/4412))
- fix(language-core): `ForIteratorExpression`'s `returns` property may be undefined ([#4418](https://togithub.com/vuejs/language-tools/issues/4418)) - Thanks [@so1ve](https://togithub.com/so1ve)
- fix(language-core): use defineEmits calls instead of type infer ([#4430](https://togithub.com/vuejs/language-tools/issues/4430)) - Thanks [@zhiyuanzmj](https://togithub.com/zhiyuanzmj)
- fix(tsc): log catched errors to console ([#4451](https://togithub.com/vuejs/language-tools/issues/4451)) - Thanks [@mik3ybark3r](https://togithub.com/mik3ybark3r)
- fix(typescript-plugin): TS not working in template when tsconfig missing ([#4452](https://togithub.com/vuejs/language-tools/issues/4452))
- fix(language-core): use type infer instead of await import ([#4436](https://togithub.com/vuejs/language-tools/issues/4436)) - Thanks [@zhiyuanzmj](https://togithub.com/zhiyuanzmj)
- feat(language-core): ignore type error for new functional component ([#4445](https://togithub.com/vuejs/language-tools/issues/4445)) - Thanks [@zhiyuanzmj](https://togithub.com/zhiyuanzmj)
- fix(language-core): ignore type error for possible component name ([#4446](https://togithub.com/vuejs/language-tools/issues/4446)) - Thanks [@zhiyuanzmj](https://togithub.com/zhiyuanzmj)
- fix(language-service): filter internal props in template completion
- fix(language-service): sort component props in template completion
- fix(language-core): duplicate completion appears at the beginning of script setup block
##### Other Changes
- Upgrade Volar from `v2.2.4` to `v2.3.0-alpha.14`.
- LSP server performance improved
- Language server now responds with the exact server capabilities for initialization requests
- Auto insertion requests can now exit early in the language client
- The following extensions have been added to Hybrid Mode’s compatibility whitelist:
- `kimuson.ts-type-expand` - Thanks [@zcf0508](https://togithub.com/zcf0508)
### [`v2.0.19`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2019-2024-05-16)
[Compare Source](https://togithub.com/vuejs/language-tools/compare/v2.0.18...v2.0.19)
##### Bug Fixes
- **language-core:** property 'xyz' does not exist on type 'abc' when using v-for ([#4386](https://togithub.com/vuejs/language-tools/issues/4386))
- **language-core:** avoid report error when events do not accept parameters ([#4387](https://togithub.com/vuejs/language-tools/issues/4387))
- **language-core:** inline dynamic event handlers should not expect commas ([#4387](https://togithub.com/vuejs/language-tools/issues/4387))
### [`v2.0.18`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2018-2024-05-15)
[Compare Source](https://togithub.com/vuejs/language-tools/compare/v2.0.17...v2.0.18)
##### Features
- feat(language-core): report unknown events when strictTemplates is enabled ([#3718](https://togithub.com/vuejs/language-tools/issues/3718))
- feat(language-core): add `compileSFCScript` plugin hook ([#3200](https://togithub.com/vuejs/language-tools/issues/3200))
- feat(vscode): add coffeescript syntax highlight support
##### Bug Fixes
- fix(language-core): fix event handler type for hyphen-case event names
- fix(language-core): allow binding multiple events with the same name ([#4369](https://togithub.com/vuejs/language-tools/issues/4369))
- fix(language-core): variable used in `key` appears as unused in v-for template tag ([#329](https://togithub.com/vuejs/language-tools/issues/329)) ([#3421](https://togithub.com/vuejs/language-tools/issues/3421))
- fix(language-core): generics with slots don't work with Vue 2.7 ([#3241](https://togithub.com/vuejs/language-tools/issues/3241))
- fix(language-core): template language of .md files should be markdown ([#4299](https://togithub.com/vuejs/language-tools/issues/4299))
- fix(language-core): no template class links when `experimentalResolveStyleCssClasses` is set to `always` ([#4379](https://togithub.com/vuejs/language-tools/issues/4379))
##### Other Changes
- Upgrade Volar from `v2.2.2` to `v2.2.4`.
- Fixed a few URI conversion issues
- fix(typescript): empty items list should be valid completion result ([#4368](https://togithub.com/vuejs/language-tools/issues/4368))
- fix(typescript): path completion not working for meta files
- Upgrade Volar services from `v0.0.44` to `v0.0.45`.
- fix(typescript-twoslash-queries): inlay hints not working
- fix(css, html, json, yaml): failed to resolve relative path
- feat(emmet): port VSCode emmet extension client logic ([https://github.com/volarjs/services/issues/95](https://togithub.com/volarjs/services/issues/95))
- The following extensions have been added to Hybrid Mode’s compatibility whitelist:
- `miaonster.vscode-tsx-arrow-definition`
- `runem.lit-plugin`
### [`v2.0.17`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2017-2024510)
[Compare Source](https://togithub.com/vuejs/language-tools/compare/v2.0.16...v2.0.17)
##### Features
- **language-core:** add JSDod support for component ([#2377](https://togithub.com/vuejs/language-tools/issues/2377))
- **language-core:** add JSDoc support for script setup binding variables ([#3409](https://togithub.com/vuejs/language-tools/issues/3409))
- **language-core:** add class component support ([#4354](https://togithub.com/vuejs/language-tools/issues/4354))
- **language-service:** re-support scoped class links in template ([#4357](https://togithub.com/vuejs/language-tools/issues/4357))
- **typescript-plugin:** create script setup block when auto import if needed
- **typescript-plugin:** add JSDoc support for events in template ([#4365](https://togithub.com/vuejs/language-tools/issues/4365))
- **component-meta:** add JSDoc tags support for events
- **language-core:** support defineOptions ([#4362](https://togithub.com/vuejs/language-tools/issues/4362)) - Thanks [@zhiyuanzmj](https://togithub.com/zhiyuanzmj)
##### Bug Fixes
- **language-core:** hover not working for intrinsic element event name
- **language-core:** showing false *declared but not used* errors for functions used in `v-on="{}"` ([#4333](https://togithub.com/vuejs/language-tools/issues/4333))
- **language-core:** fix nameless event expression formatting
- **language-core:** types imported in the ` Githubissues.
Githubissues is a development platform for aggregating issues.
This PR contains the following updates:
^1.8.25
->^2.0.0
Release Notes
vuejs/language-tools (vue-tsc)
### [`v2.0.28`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2028-supofficialsup-2029-supinsiderssup-2024-07-22) [Compare Source](https://togithub.com/vuejs/language-tools/compare/v2.0.26...v2.0.28) ##### Features - **vscode:** focus mode Insiders - **language-core:** Plugin API 2.1 - Added plugin hooks: `getLanguageId`, `isValidFile`, `parseSFC2` - Improve backward compatibility ([#4585](https://togithub.com/vuejs/language-tools/issues/4585)) - Thanks [@zhiyuanzmj](https://togithub.com/zhiyuanzmj) - **language-core:** support default prop when using \__typeProps ([#4602](https://togithub.com/vuejs/language-tools/issues/4602)) - Thanks [@zhiyuanzmj](https://togithub.com/zhiyuanzmj) - **language-core:** improve nested plugins ([#4581](https://togithub.com/vuejs/language-tools/issues/4581)) - Thanks [@zhiyuanzmj](https://togithub.com/zhiyuanzmj) - **language-service:** remove `v-bind` code action ([#4601](https://togithub.com/vuejs/language-tools/issues/4601)) - **vscode:** add empty pattern to codeblock attributes scope ([#4590](https://togithub.com/vuejs/language-tools/issues/4590)) - Thanks [@KermanX](https://togithub.com/KermanX) ##### Fixes - **tsc:** errors should be thrown instead of being console.log printed - **language-server:** observe named pipes changes when server startup ([#4292](https://togithub.com/vuejs/language-tools/issues/4292)) - **language-core:** infer define model type from options type ([#4545](https://togithub.com/vuejs/language-tools/issues/4545)) - Thanks [@davidmatter](https://togithub.com/davidmatter) - **language-core:** type-checking not working with hyphen in slot name with JS ([#4478](https://togithub.com/vuejs/language-tools/issues/4478)) - Thanks [@KermanX](https://togithub.com/KermanX) - **language-core:** add type check for v-model without argument ([#4598](https://togithub.com/vuejs/language-tools/issues/4598)) - Thanks [@zhiyuanzmj](https://togithub.com/zhiyuanzmj) - **language-service:** filter special tags ([#4596](https://togithub.com/vuejs/language-tools/issues/4596)) - Thanks [@so1ve](https://togithub.com/so1ve) - **typescript-plugin:** improve named pipes reliability ([#4603](https://togithub.com/vuejs/language-tools/issues/4603)) - **language-core** property access is incorrectly identified as compound expression ([#4600](https://togithub.com/vuejs/language-tools/issues/4600)) - **language-core** fix compatibility of generic component virtual code with TS 5.5 ([#4577](https://togithub.com/vuejs/language-tools/issues/4577)) - **tsc** TS4082 not reported for functional component ([#4569](https://togithub.com/vuejs/language-tools/issues/4569)) ##### Other Changes - Upgraded Volar from `v2.4.0-alpha.15` to `v2.4.0-alpha.18`: - Fix VS Code IntelliSense will be lost in new created files ([#4424](https://togithub.com/vuejs/language-tools/issues/4424)) - Add workspace symbols support in Hybrid Mode ([#4595](https://togithub.com/vuejs/language-tools/issues/4595)) - Add workspace `addMissingImports` action support in Hybrid Mode ([#4586](https://togithub.com/vuejs/language-tools/issues/4586)) - Fix yarn 4 compatibility ([#4587](https://togithub.com/vuejs/language-tools/issues/4587)) - Add vue vine to hybrid mode compatible list ([#4543](https://togithub.com/vuejs/language-tools/issues/4543)) - Thanks [@so1ve](https://togithub.com/so1ve) - Add global components prop validation test ([#4542](https://togithub.com/vuejs/language-tools/issues/4542)) - Thanks [@davidmatter](https://togithub.com/davidmatter) ### [`v2.0.26`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2026-supofficialsup-2027-supinsiderssup-2024-07-04) [Compare Source](https://togithub.com/vuejs/language-tools/compare/v2.0.24...v2.0.26) ##### Features - **language-service:** Support auto-complete for more preprocessing languages. - **language-core:** Improve type compatibility with Vue 3.5. ([#4474](https://togithub.com/vuejs/language-tools/issues/4474)) - Thanks, [@zhiyuanzmj](https://togithub.com/zhiyuanzmj). ##### Bug Fixes - **vscode:** Fix insider version display condition. Insiders - **language-service:** Fix `vue-twoslash-queries` not working in LSP mode. - **language-service:** Add null handling for script tag completion items. ([#4520](https://togithub.com/vuejs/language-tools/issues/4520)) - **language-core:** Fix `any` in templates if the first checked file was not root. ([#4526](https://togithub.com/vuejs/language-tools/issues/4526)) - Thanks, [@daniluk4000](https://togithub.com/daniluk4000). ##### Other Changes - Upgraded Volar from `v2.4.0-alpha.2` to `v2.4.0-alpha.14`: - Fixed an issue where, when Hybrid Mode is disabled, TS support for Vue files not included in tsconfig may be missing. - Improved the consistency of `vue-tsc` and `tsc` behavior. ([#3526](https://togithub.com/vuejs/language-tools/issues/3526)) - Fixed the `--clean` flag support for `vue-tsc`. - Updated the high-level overview mermaid diagram. - Added 'expected' and 'actually happening' sections to the bug report template. ([#4515](https://togithub.com/vuejs/language-tools/issues/4515)) - Thanks, [@davidmatter](https://togithub.com/davidmatter). ### [`v2.0.24`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2024-supofficialsup-2025-supinsiderssup-2024-06-30) [Compare Source](https://togithub.com/vuejs/language-tools/compare/v2.0.22...v2.0.24) ##### Features - **vscode:** pop message box if new insiders version available insiders - **vscode:** if insiders versions information failed to fetch from GitHub, try to fetch from CDN insiders - **language-service:** better sfc-level tag name completion ([#4506](https://togithub.com/vuejs/language-tools/issues/4506)) - Thanks [@KermanX](https://togithub.com/KermanX) ##### Bug Fixes - **tsc:** update required volar version ([#4498](https://togithub.com/vuejs/language-tools/issues/4498)) - Thanks [@davidmatter](https://togithub.com/davidmatter) - **tsc:** bump peer typescript version ([#4513](https://togithub.com/vuejs/language-tools/issues/4513)) - Thanks [@so1ve](https://togithub.com/so1ve) ##### Refactors - **language-server:** reorganize the code structure ([#4507](https://togithub.com/vuejs/language-tools/issues/4507)) ##### Other Changes - Upgrade Volar from `v2.3.1` to `v2.4.0-alpha.2`. - Hybrid Mode compatibility improvements with other TS plugins ([https://github.com/volarjs/volar.js/issues/216](https://togithub.com/volarjs/volar.js/issues/216)) - **docs:** add nvim-cmp integration ([#4463](https://togithub.com/vuejs/language-tools/issues/4463)) - Thanks [@RayGuo-ergou](https://togithub.com/RayGuo-ergou) - **docs:** update mermaid - The following extensions have been added to Hybrid Mode’s compatibility whitelist ([#4206](https://togithub.com/vuejs/language-tools/issues/4206)): - `p42ai.refactor` - `nrwl.angular-console` - `styled-components.vscode-styled-components` - `Divlo.vscode-styled-jsx-languageserver` ### [`v2.0.22`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2022-2024-06-22) [Compare Source](https://togithub.com/vuejs/language-tools/compare/v2.0.21...v2.0.22) ##### Bug Fixes - **vscode:** directive syntax highlighting ([#4482](https://togithub.com/vuejs/language-tools/issues/4482)) - Thanks [@KermanX](https://togithub.com/KermanX) - **language-core:** move declare defineProp out of function scope ([#4454](https://togithub.com/vuejs/language-tools/issues/4454)) - Thanks [@zhiyuanzmj](https://togithub.com/zhiyuanzmj) - **language-core:** compatible with TS 5.5 ([#4492](https://togithub.com/vuejs/language-tools/issues/4492)) ##### Other Changes - Upgrade Volar from `v2.3.0-alpha.14` to `v2.3.1`. - Error tolerant to `contentChanges` length ([#4457](https://togithub.com/vuejs/language-tools/issues/4457)) - Add feature request template ([#4490](https://togithub.com/vuejs/language-tools/issues/4490)) - Thanks [@so1ve](https://togithub.com/so1ve) - **docs:** fix wrong links in CHANGELOG.md ([#4475](https://togithub.com/vuejs/language-tools/issues/4475)) - Thanks [@KermanX](https://togithub.com/KermanX) ### [`v2.0.21`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2021-2024-06-08) [Compare Source](https://togithub.com/vuejs/language-tools/compare/v2.0.20...v2.0.21) ##### Bug Fixes - fix(typescript-plugin): TS plugin cause type checking broken in .ts files ([#4453](https://togithub.com/vuejs/language-tools/issues/4453)) ### [`v2.0.20`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2020-2024-06-08) [Compare Source](https://togithub.com/vuejs/language-tools/compare/v2.0.19...v2.0.20) ##### Features - feat(language-service): add localization support for zh-hk/zh-tw - feat(vscode): enable syntax highlighting of cue code blocks in MDX ([#4425](https://togithub.com/vuejs/language-tools/issues/4425)) - Thanks [@remcohaszing](https://togithub.com/remcohaszing) ##### Bug Fixes - fix(vscode): fix "as"/"instanceof" expressions syntax highlight ([#4412](https://togithub.com/vuejs/language-tools/issues/4412)) - fix(language-core): `ForIteratorExpression`'s `returns` property may be undefined ([#4418](https://togithub.com/vuejs/language-tools/issues/4418)) - Thanks [@so1ve](https://togithub.com/so1ve) - fix(language-core): use defineEmits calls instead of type infer ([#4430](https://togithub.com/vuejs/language-tools/issues/4430)) - Thanks [@zhiyuanzmj](https://togithub.com/zhiyuanzmj) - fix(tsc): log catched errors to console ([#4451](https://togithub.com/vuejs/language-tools/issues/4451)) - Thanks [@mik3ybark3r](https://togithub.com/mik3ybark3r) - fix(typescript-plugin): TS not working in template when tsconfig missing ([#4452](https://togithub.com/vuejs/language-tools/issues/4452)) - fix(language-core): use type infer instead of await import ([#4436](https://togithub.com/vuejs/language-tools/issues/4436)) - Thanks [@zhiyuanzmj](https://togithub.com/zhiyuanzmj) - feat(language-core): ignore type error for new functional component ([#4445](https://togithub.com/vuejs/language-tools/issues/4445)) - Thanks [@zhiyuanzmj](https://togithub.com/zhiyuanzmj) - fix(language-core): ignore type error for possible component name ([#4446](https://togithub.com/vuejs/language-tools/issues/4446)) - Thanks [@zhiyuanzmj](https://togithub.com/zhiyuanzmj) - fix(language-service): filter internal props in template completion - fix(language-service): sort component props in template completion - fix(language-core): duplicate completion appears at the beginning of script setup block ##### Other Changes - Upgrade Volar from `v2.2.4` to `v2.3.0-alpha.14`. - LSP server performance improved - Language server now responds with the exact server capabilities for initialization requests - Auto insertion requests can now exit early in the language client - The following extensions have been added to Hybrid Mode’s compatibility whitelist: - `kimuson.ts-type-expand` - Thanks [@zcf0508](https://togithub.com/zcf0508) ### [`v2.0.19`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2019-2024-05-16) [Compare Source](https://togithub.com/vuejs/language-tools/compare/v2.0.18...v2.0.19) ##### Bug Fixes - **language-core:** property 'xyz' does not exist on type 'abc' when using v-for ([#4386](https://togithub.com/vuejs/language-tools/issues/4386)) - **language-core:** avoid report error when events do not accept parameters ([#4387](https://togithub.com/vuejs/language-tools/issues/4387)) - **language-core:** inline dynamic event handlers should not expect commas ([#4387](https://togithub.com/vuejs/language-tools/issues/4387)) ### [`v2.0.18`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2018-2024-05-15) [Compare Source](https://togithub.com/vuejs/language-tools/compare/v2.0.17...v2.0.18) ##### Features - feat(language-core): report unknown events when strictTemplates is enabled ([#3718](https://togithub.com/vuejs/language-tools/issues/3718)) - feat(language-core): add `compileSFCScript` plugin hook ([#3200](https://togithub.com/vuejs/language-tools/issues/3200)) - feat(vscode): add coffeescript syntax highlight support ##### Bug Fixes - fix(language-core): fix event handler type for hyphen-case event names - fix(language-core): allow binding multiple events with the same name ([#4369](https://togithub.com/vuejs/language-tools/issues/4369)) - fix(language-core): variable used in `key` appears as unused in v-for template tag ([#329](https://togithub.com/vuejs/language-tools/issues/329)) ([#3421](https://togithub.com/vuejs/language-tools/issues/3421)) - fix(language-core): generics with slots don't work with Vue 2.7 ([#3241](https://togithub.com/vuejs/language-tools/issues/3241)) - fix(language-core): template language of .md files should be markdown ([#4299](https://togithub.com/vuejs/language-tools/issues/4299)) - fix(language-core): no template class links when `experimentalResolveStyleCssClasses` is set to `always` ([#4379](https://togithub.com/vuejs/language-tools/issues/4379)) ##### Other Changes - Upgrade Volar from `v2.2.2` to `v2.2.4`. - Fixed a few URI conversion issues - fix(typescript): empty items list should be valid completion result ([#4368](https://togithub.com/vuejs/language-tools/issues/4368)) - fix(typescript): path completion not working for meta files - Upgrade Volar services from `v0.0.44` to `v0.0.45`. - fix(typescript-twoslash-queries): inlay hints not working - fix(css, html, json, yaml): failed to resolve relative path - feat(emmet): port VSCode emmet extension client logic ([https://github.com/volarjs/services/issues/95](https://togithub.com/volarjs/services/issues/95)) - The following extensions have been added to Hybrid Mode’s compatibility whitelist: - `miaonster.vscode-tsx-arrow-definition` - `runem.lit-plugin` ### [`v2.0.17`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2017-2024510) [Compare Source](https://togithub.com/vuejs/language-tools/compare/v2.0.16...v2.0.17) ##### Features - **language-core:** add JSDod support for component ([#2377](https://togithub.com/vuejs/language-tools/issues/2377)) - **language-core:** add JSDoc support for script setup binding variables ([#3409](https://togithub.com/vuejs/language-tools/issues/3409)) - **language-core:** add class component support ([#4354](https://togithub.com/vuejs/language-tools/issues/4354)) - **language-service:** re-support scoped class links in template ([#4357](https://togithub.com/vuejs/language-tools/issues/4357)) - **typescript-plugin:** create script setup block when auto import if needed - **typescript-plugin:** add JSDoc support for events in template ([#4365](https://togithub.com/vuejs/language-tools/issues/4365)) - **component-meta:** add JSDoc tags support for events - **language-core:** support defineOptions ([#4362](https://togithub.com/vuejs/language-tools/issues/4362)) - Thanks [@zhiyuanzmj](https://togithub.com/zhiyuanzmj) ##### Bug Fixes - **language-core:** hover not working for intrinsic element event name - **language-core:** showing false *declared but not used* errors for functions used in `v-on="{}"` ([#4333](https://togithub.com/vuejs/language-tools/issues/4333)) - **language-core:** fix nameless event expression formatting - **language-core:** types imported in the ` Githubissues.