Skip to content

Releases: vuejs/language-tools

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

v3.1.0

28 Sep 14:08
1308528

Choose a tag to compare

Important

Vue 2 and vue-class-component support has been removed, please refer to Discussion #5455 for detail.

Performance

  • perf(language-core): drop internal component (#5532) - Thanks to @KazariEX!

Other Changes

  • refactor: drop Vue 2 support (#5636) - Thanks to @KazariEX!
  • chore(lint): enforce use of type-only imports (#5658) - Thanks to @so1ve!
  • ci: upgrade node version (#5668) - Thanks to @so1ve!
  • refactor(typescript-plugin): move reactivity analysis logic to a seperate typescript plugin (#5672) - Thanks to @KazariEX!

Also, thanks to the motivating launch of Vue ECharts v8!

❤️ 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.0.8

22 Sep 16:39
10d056b

Choose a tag to compare

Features

  • feat(vscode): introduce vue.server.path setting (#5647)

Bug Fixes

  • fix(language-core): initialize properties of VueVirtualCode in constructor (#5635) - Thanks to @KazariEX!
  • fix(vscode): flatten reactivity visualization decorators (#5642) - Thanks to @KazariEX!
  • fix(vscode): normalize reactivity visualization ranges
  • fix(vscode): patch typescriptServerPlugin languages without FS hack
  • fix(language-service): do not provide semantic tokens and document highlights for non-file scheme files (#5653) - Thanks to @KazariEX!

Performance

  • perf(typescript-plugin): redo single-file language service for reactivity visualization (#5652)

Other Changes

  • refactor(typescript-plugin): externalize reactivity analysis logic (#5645) - Thanks to @KazariEX!

Please refer to CHANGELOG.md for details.

❤️ 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.0.7

12 Sep 07:55
75dca51

Choose a tag to compare

Bug Fixes

  • fix(vscode): show welcome page only when opening a Vue file
  • fix(language-core): generate slot parameters in the same way as interpolation (#5618) - Thanks to @KazariEX!
  • fix(language-core): do not generate variables for builtin directives - Thanks to @KazariEX!

Other Changes

  • docs(vscode): add descriptions for premium feature configurations (#5612) - Thanks to @KazariEX!
  • refactor(typescript-plugin): explicitly request parameters (#5623)
  • chore(lint): enable @typescript-eslint/no-unnecessary-condition (#5630)
  • refactor(language-server): reimplement Reactivity Visualization in typescript plugin (#5632)
  • refactor(language-server): parsing interpolations in extension client (#5633)
  • refactor(vscode): reimplement Focus Mode base on folding ranges (#5634)
  • chore(vscode): disable Focus Mode by default (#5578)
  • refactor(vscode): set delay of reactivity visualization updates to 250ms - Thanks to @KazariEX!

Please refer to CHANGELOG.md for details.

❤️ 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.0.6

20 Aug 15:25
bec4f08

Choose a tag to compare

Bug Fixes

  • fix(language-core): wrap :class expression with parens - Thanks to @KazariEX!
  • fix(vscode): revert Vue 2 versions in target option (#5583) - Thanks to @gxres042!
  • fix(language-service): skip document highlight from tsserver within element tags (#5584) - Thanks to @KazariEX!
  • fix(component-meta): re-export vue-component-type-helpers to lib/helpers (#5600)
  • fix(language-core): remove the non-strict configFileName default value (#5606)
  • fix(language-core): don't look for input files during evaluation of vueCompilerOptions (#5598)
  • fix(vscode): Improved reliability of handling extension activation race (#5588)
  • chore: update volar to 2.4.23
    • Support js/ts.hover.maximumLength and typescript.experimental.expandableHover (#5577)

Other Changes

  • feat(lint): update tsslint config (#5602)
  • refactor(language-core): generate setup returns on demand - Thanks to @KazariEX!
  • chore(language-service): remove exclude config suggestion from global types error message (#5579) - Thanks to @Ciallo-Chiaki
  • chore(vscode): update extension display name "Vue.js" (#5582)
  • chore: update vue-component-type-helpers to current version (#5589) - Thanks to @kingyue737!

Please refer to CHANGELOG.md for details.

❤️ 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