Skip to content

Releases: vuejs/language-tools

v3.2.1

22 Dec 03:23
fad5a89

Choose a tag to compare

language-core

component-meta

  • fix: skip schema resolution correctly when option is false (#5891) - Thanks to @KazariEX!

component-type-helpers

  • fix: npm package is missing build files (#5893)

language-service

  • feat: props completion now only suggests :xxx (shorthand) when no prefix is typed, instead of both xxx and :xxx

Our Sponsors ❤️

This project is made possible thanks to our generous sponsors:

Special Sponsor

Next Generation Tooling

Platinum Sponsors

An approachable, performant and versatile framework for building web user interfaces.

Stay in the flow with instant dev experiences.
No more hours stashing/pulling/installing locally

— just click, and start coding.

Gold Sponsors
Silver Sponsors

Become a sponsor to support Vue tooling development

v3.2.0

20 Dec 08:56
bd12c1d

Choose a tag to compare

vscode

  • fix: Vue TS highlighting when trailing type alias is missing semicolon (#5853) - Thanks to @serkodev!
  • perf: replace fast-diff with custom character-by-character alignment algorithm (#5849) (#5851)
  • refactor: update Vue grammar scope name to "text.html.vue" (#5856)
  • test: add test for embedded grammars (#5861) - Thanks to @serkodev!

language-service

  • feat: rich hover message (#5881)
  • feat: support markdown JSDoc for rich hover message description (#5890) - Thanks to @serkodev!
  • chore: adjust rich hover message title layout (#5889) - Thanks to @serkodev!

component-meta

  • feat: add tags to slots and exposed (#5862) - Thanks to @aj-dev!
  • feat: filter out irrelevant properties from exposed (#5868) - Thanks to @aj-dev!
  • refactor: redundant logic between deduplication and language-core (#5875)
  • refactor: de-dependency from component-type-helpers (#5876)
  • refactor: search prop defaults with symbol declarations (#5879)
  • refactor: deprecate "noDeclarations" and "forceUseTs" options (#5887)

typescript-plugin

  • feat: include leading dot when finding references to CSS classes (#5852)
  • fix: missing module error after file rename (#5839) - Thanks to @serkodev!
  • fix: prioritize non-warning completion entries over warning ones (#5847)
  • fix: always pass rest parameters for future compatibility (#5859) - Thanks to @KazariEX!
  • fix: add nullish guards before accessing ts.CompletionEntryData (#5869) - Thanks to @KazariEX!
  • fix: handle import type nodes in definition proxy (#5873)
  • fix: handle type imports in component auto-import(#5874)

language-core

  • feat: revert overcorrection of v-for type inference (#5836)
  • feat: align v-for key type with Object.keys (#5837) - Thanks to @serkodev!
  • feat: narrow component and directive types (#5841)
  • feat: support <!-- @strictTemplates --> magic comment (#5845)
  • fix: correctly resolve <script src=""> (#5838)
  • fix: preserve template slot wrappers during createIfBranch (#5844) - Thanks to @serkodev!
  • fix: include end tag locations when renaming global components
  • refactor: replace dynamic types generation with static files (#5872)
  • refactor: improve Vue version detection and plugin resolution

component-type-helpers

  • refactor: remove ComponentType helper

workspace

  • chore: update testing infrastructure (#5848)
  • chore: use tsgo in development (#5860)
  • chore: reduce local dependencies and update workflows (#5863)
  • chore: upgrade tsslint and vite to pre-release versions
  • chore: delete tests for Vue 3.4 (#5871)

Our Sponsors ❤️

This project is made possible thanks to our generous sponsors:

Special Sponsor

Next Generation Tooling

Platinum Sponsors

An approachable, performant and versatile framework for building web user interfaces.

Stay in the flow with instant dev experiences.
No more hours stashing/pulling/installing locally

— just click, and start coding.

Gold Sponsors
Silver Sponsors

Become a sponsor to support Vue tooling development

v3.1.8

09 Dec 02:44
9f97787

Choose a tag to compare

Features

  • feat(vscode): support multiline attribute for <script> and <style> tag (#5830) - Thanks to @serkodev!
  • feat(vscode): supports format with selected range (#5761) - Thanks to @serkodev!
  • feat(language-service): add tsconfig-based document link support for Pug

Bug Fixes

  • fix(language-core): limit the range of parseDiagnostics checks (#5823)
  • fix(language-core): restore default import bindings for template scope (#5824) - Thanks to @serkodev!
  • fix(typescript-plugin): get preferences and formatOptions in tsserver (#5829)
  • fix(language-core): avoid generating component options within the setup scope (#5832)

Other Changes

  • perf(language-core): dedupe component options generation (#5831)

❤️ Thanks to Our Sponsors

This project is made possible thanks to our generous sponsors:

Special Sponsor

Next Generation Tooling

Platinum Sponsors

An approachable, performant and versatile framework for building web user interfaces.

Stay in the flow with instant dev experiences.
No more hours stashing/pulling/installing locally

— just click, and start coding.

Gold Sponsors
Silver Sponsors

Become a sponsor to support Vue tooling development

v3.1.7

07 Dec 18:03
a43baa2

Choose a tag to compare

Features

  • feat(language-core): cache virtual code by scriptId (#5811) - Thanks to @serkodev!

Bug Fixes

  • fix(language-core): avoid using Identifier.text property (#5810)
  • fix(language-core): generate script separator on demand (#5816)
  • fix(language-core): avoid invalid __VLS_Slots generation

Other Changes

  • feat(lint): add typescript services types lint rule (#5813) - Thanks to @serkodev!

❤️ Thanks to Our Sponsors

This project is made possible thanks to our generous sponsors:

Special Sponsor

Next Generation Tooling

Platinum Sponsors

An approachable, performant and versatile framework for building web user interfaces.

Stay in the flow with instant dev experiences.
No more hours stashing/pulling/installing locally

— just click, and start coding.

Gold Sponsors
Silver Sponsors

Become a sponsor to support Vue tooling development

v3.1.6

05 Dec 23:11
f09f173

Choose a tag to compare

Features

  • feat(vscode): add settings to enable per-block formatting (#5784) - Thanks to @serkodev!
  • feat(language-service): enhanced component auto import (#5790)
  • feat(component-meta): add component name and description fields (#5797)
  • feat(typescript-plugin): add support for template "Add Import" quick fix (#5799) - Thanks to @serkodev!
  • feat(typescript-plugin): mapping JSDoc informations from <script setup> (#5805)
  • feat(vscode): support tsdk path for Eclipse Theia (#5806) - Thanks to @serkodev!

Bug Fixes

  • fix(language-service): ignore intrinsic elements when detect tag name casing (#5771)
  • fix(language-core): createParsedCommandLineByJson parsed incorrect options since v3.1.5 (#5768 (comment))
  • fix(vscode): make vue.server.path compatible with Windows (#5772)
  • fix(vscode): analyze interpolation highlight ranges based on AST (#5777)
  • fix(vscode): sync latest vscode html language configuration (#5740)
  • fix(language-core): enhance getVIfNode to support v-else-if directives (#5765) - Thanks to @serkodev!
  • fix(language-core): generate {} instead of its string value for style="..." (#5781) - Thanks to @KazariEX!
  • fix(language-core): v-bind="$attrs" loses navigation when inferTemplateDollarAttrs is disabled (#5783)
  • fix(language-service): skip const props = completion in StringLiteral (#5786)
  • fix(language-core): unable to get completion for the second scoped class name
  • fix(language-service): format components with HTML void-element names (#5788) - Thanks to @serkodev!
  • fix(language-service): properly handle promise when resolving CSS links (#5785)
  • fix(language-core): infer $el type for generic components using inferComponentDollarEl (#5794)
  • fix(language-core): ensure <script> content generates before <script setup> (#5795)
  • fix(language-core): remove bypassDefineComponent hack for better JS support (#4876) (#5379)
  • fix(language-core): Prettify<T> caused generic props gets inferred as unknown (#5667) - Thanks to @so1ve!
  • fix(vscode): handle leading < as operator in SFC scripts (#5801) - Thanks to @serkodev!
  • fix(vscode): patch isTypeScriptDocument in VSCode for typescript.preferences.autoImportSpecifierExcludeRegexes config support (#5364)
  • fix(language-core): ensure type consistency for optional boolean props (#5803)
  • fix(language-core): add compatibility for vapor attr (#5496)
  • fix(language-core): AST fault tolerance for key binding on template (#5807)

Performance

  • perf(language-core): reuse ts asts for :class - Thanks to @KazariEX!

Other Changes

  • Revert "refactor(typescript-plugin): remove go to definition trick for auto imported components (#5733)"
  • docs(typescript-plugin): update Neovim configuration link (#5775) - Thanks to @AlexVagrant!
  • refactor(language-core): normalize template AST (#5782)
  • refactor(language-core): split style codegen (#5787)
  • refactor(language-core): remove debugger from virtual code for tsslint compatibility
  • refactor(language-core): remove legacy navigation support in ref="xxx"
  • refactor(language-core): reduce codegen options (#5804)
  • refactor(component-meta): deprecated rawType and __internal__.tsLs (#5808)
  • chore: update volar to 2.4.26

❤️ Thanks to Our Sponsors

This project is made possible thanks to our generous sponsors:

Special Sponsor

Next Generation Tooling

Platinum Sponsors

An approachable, performant and versatile framework for building web user interfaces.

Stay in the flow with instant dev experiences.
No more hours stashing/pulling/installing locally

— just click, and start coding.

Gold Sponsors
Silver Sponsors

Become a sponsor to support Vue tooling development

v3.1.5

22 Nov 20:02
093e403

Choose a tag to compare

Features

  • feat(language-service): support tsconfig path alias resolution for document links (#5562) - Thanks to @KazariEX!
  • feat(language-server): add serverInfo to initialized result (#5767) - Thanks to @kada49!

Bug Fixes

  • fix(vscode): correct highlighting of tags starting with template (#5755) - Thanks to @serkodev and @KazariEX!
  • fix(language-core): allow loose props checks on generic components (#5748) - Thanks to @serkodev!
  • fix(language-core): avoid vue-tsc crash during single file checks (#5768) - Thanks to @KazariEX!
  • fix(language-core): dispose virtual code correctly - Thanks to @KazariEX!

Performance

  • perf(language-core): skip unnecessary runtime codegen step (#5766) - Thanks to @KazariEX!

❤️ Thanks to Our Sponsors

This project is made possible thanks to our generous sponsors:

Special Sponsor

Next Generation Tooling

Platinum Sponsors

An approachable, performant and versatile framework for building web user interfaces.

Stay in the flow with instant dev experiences.
No more hours stashing/pulling/installing locally

— just click, and start coding.

Gold Sponsors
Silver Sponsors

Become a sponsor to support Vue tooling development

v3.1.4

15 Nov 17:53
3e57535

Choose a tag to compare

Bug Fixes

  • fix(language-service): prevent auto-insertion of html snippets in template interpolation (#5744) - Thanks to @serkodev!
  • fix(language-service): strip interpolations from document passed to html service - Thanks to @KazariEX!
  • fix(language-core): report unused @ts-expect-error directive on components with loose props checks (#5750) - Thanks to @serkodev and @KazariEX!
  • fix(language-core): respect directive comments before v-else (#5753) - Thanks to @serkodev and @KazariEX!

Other Changes

  • refactor(language-core): re-implement component references by codegen (#5736) - Thanks to @KazariEX!
  • refactor(language-core): simplify calculation of full interpolation content - Thanks to @KazariEX!

❤️ Thanks to Our Sponsors

This project is made possible thanks to our generous sponsors:

Special Sponsor

Next Generation Tooling

Platinum Sponsors

An approachable, performant and versatile framework for building web user interfaces.

Stay in the flow with instant dev experiences.
No more hours stashing/pulling/installing locally

— just click, and start coding.

Gold Sponsors
Silver Sponsors

Become a sponsor to support Vue tooling development

v3.1.3

03 Nov 02:31
1aa28ae

Choose a tag to compare

Warning

We removed the builtin support for skipping declaration files when triggering Go to Definition on auto imported components in template. Please use https://github.com/KazariEX/dxup/tree/main/packages/unimport instead.

Features

  • feat(typescript-plugin): allow triggering file references on <template> (#5734) - Thanks to @KazariEX!

Bug Fixes

  • fix(vscode): correct syntax highlight in template with lang="html" (#5728) - Thanks to @serkodev!

Other Changes

  • refactor(language-core): generate intrinsic elements variable into global types (#5730) - Thanks to @KazariEX!
  • refactor(typescript-plugin): remove go to definition trick for auto imported components (#5733) - Thanks to @KazariEX!

❤️ Thanks to Our Sponsors

This project is made possible thanks to our generous sponsors:

Special Sponsor

Next Generation Tooling

Platinum Sponsors

An approachable, performant and versatile framework for building web user interfaces.

Stay in the flow with instant dev experiences.
No more hours stashing/pulling/installing locally

— just click, and start coding.

Gold Sponsors
Silver Sponsors

Become a sponsor to support Vue tooling development

v3.1.2

25 Oct 02:55
78d3046

Choose a tag to compare

Bug Fixes

  • fix(component-meta): import type helpers by relative path
  • fix(language-core): fix syntax error when propTypes has no elements (#5704) - Thanks to @so1ve!
  • fix(language-core): omit defined emit props only (#5705) - Thanks to @so1ve!

Other Changes

  • docs: fix vue-tsc broken link to example boilerplate in README.md (#5721) - Thanks to @heyakyra!

❤️ Thanks to Our Sponsors

This project is made possible thanks to our generous sponsors:

Special Sponsor

Next Generation Tooling

Platinum Sponsors

An approachable, performant and versatile framework for building web user interfaces.

Stay in the flow with instant dev experiences.
No more hours stashing/pulling/installing locally

— just click, and start coding.

Gold Sponsors
Silver Sponsors

Become a sponsor to support Vue tooling development

v3.1.1

06 Oct 16:26
4f2bac6

Choose a tag to compare

Features

  • feat(language-server): support --tsdk command line arg (#5691)

Bug Fixes

  • fix(language-core): tolerate non-literal export default (#5675) - Thanks to @KazariEX!
  • fix(language-core): use component instance props as fallthrough attributes (#5686) - Thanks to @KazariEX!
  • fix(typescript-plugin): determine if variable is Ref by RefSymbol property (#5687) - Thanks to @KazariEX!
  • fix(language-core): exclude effect of comments on root node (#5689) - Thanks to @KazariEX!
  • fix(typescript-plugin): place __vue__ in project instead of program (#5690)
  • fix(component-type-helpers): remove deprecated $scopedSlots support for Vue 2
  • fix(language-core): replace markdown links after sfc blocks processing (#5695) - Thanks to @KazariEX!
  • fix(language-core): do not report unused error on __VLS_export (#5696) - Thanks to @KazariEX!

Other Changes

  • refactor(language-core): reimplement writeGlobalTypes without side effects

❤️ Thanks to Our Sponsors

This project is made possible thanks to our generous sponsors:

Special Sponsor

Next Generation Tooling

Platinum Sponsors

An approachable, performant and versatile framework for building web user interfaces.

Stay in the flow with instant dev experiences.
No more hours stashing/pulling/installing locally

— just click, and start coding.

Gold Sponsors
Silver Sponsors

Become a sponsor to support Vue tooling development