Skip to content
Permalink
24968e16eb
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
@johnsoncodehk
Latest commit 2d26ab3 May 22, 2023 History
5 contributors

Users who have contributed to this file

@johnsoncodehk @Fuzzyma @TheNoim @Mister-Hope @hanrea
3554 lines (2488 sloc) 183 KB

Changelog

1.7.8 (2023/5/22) - pre-release

  • fix: directive comments not working in production builds

1.7.7 (2023/5/22) - pre-release

  • feat: support for @vue-ignore, @vue-skip, @vue-expected-error directive comments (#3215)
  • refactor(language-service): removed vscode-languageserver-protocol runtime dependency
  • perf(monaco): much faster first time intellisense
  • fix: ts project not updated when virtual ts file created / deleted

1.7.6 (2023/5/19) - pre-release

  • refactor(language-service): fewer runtime dependencies
  • chore: low-level API adjustment

1.7.4 (2023/5/18) - pre-release

  • feat: more reliable intellisense for monaco
  • fix: avoid adds ".js" extension when auto importing components (#3150)

1.6.5 (2023/5/13), 1.7.3 (2023/5/13) - pre-release

  • chore: bump vue deps to 3.3 stable (#3167) - thanks @ferferga
  • fix(vue-tsc): avoid throw when composite is enabled (#2622)
  • perf(language-service): avoid request name casing from language client multiple times (#3158) - thanks @kalvenschraut
  • fix: avoid slot name report TS8013 in js component (#3121)

Full-time Support by


WebContainer API is here.


Our Sponsors




Add you via GitHub Sponsors or Open Collective

1.7.2 (2023/5/11) - pre-release

  • feat: compatible with the latest Labs

1.7.1 (2023/5/10) - pre-release

  • feat: support for Volar.js Labs
  • fix(language-core): add missing peer dependency typescript (#3145) - thanks @HunYan-io
  • perf: style code change should not increase ts virtual script version
  • perf: avoid virtual file version always increase due to source map update

Breaking changes

  • Removed the VueLanguageServiceHost interface

1.7.0 (2023/5/7) - pre-release

  • feat(language-service): compatible with Volar.js 1.5 Scripts API, Rules API
  • fix: volar.config.js does not load on Windows (volarjs/volar.js#36)

Breaking changes

  • rename packages from @volar/vue-* to @vue/* (#3134)
  • volar.config.js specification update (base on Volar.js v1.5)

1.6.4 (2023/5/4)

  • feat: support color pickers for inline css
  • feat: support lang="vue" (#3105) - thanks @HunYan-io
  • fix: when the source type of v-for is any, the item type should be any (#3108) (#3112)
  • fix: avoid slots report error when noPropertyAccessFromIndexSignature enabled (#3106)
  • fix(component-type-helpers): import module causes tsc error (#3114)
  • fix: empty slot name auto-complete not working
  • fix: accessing an unknown slot name does not report an error
  • fix: format adds spaces to v-for if nested template element assigns type to slot props (#2750) (#2757)
  • fix: parentheses auto insert not working in template

Breaking changes

  • drop support for Vue 3.3 slots short definition (#3116)

1.6.3 (2023/5/2)

  • feat: expose custom blocks attrs (#3099) - thanks @HunYan-io
  • fix: event "@update:" syntax causes TS error (#3100)
  • fix: generic attr unexpectedly trimmed when formatting if attr value includes "<" (#3101)
  • fix: required event props always shows in missing props hint
  • fix: exclude null / undefined from v-for source type (#3102)

1.6.2 (2023/5/1)

  • fix: consume required props for events (#2468)
  • fix: support infer v-for types for generic (#2758)
  • fix: slot missing props don't report error
  • fix: cannot assign generic component to components option of defineComponent
  • fix: "TS1002: Unterminated string literal" in slots edge case (#2710)
  • fix: generic component prop with default type incorrect (#2754)

1.6.1 (2023/4/28)

  • feat: support for specify vue library name by vueCompilerOptions.lib option (#2722)
  • fix: avoid <component :is> type checking with string literal assignment (#2725)
  • fix: <slot> reporting false positive error when strictTemplates enabled (#2726) (#2723)
  • fix: error using custom directive: Expected 2 arguments, but got 1. (#2730)
  • fix: namespaced tag not working without script setup
  • fix: component intellisense not working in template if TS version < 5.0 (#2742)
  • fix: class is not assignable to generic components (#2744)
  • fix: components options is not set correctly when component name is kebab-case and auto-importing (#2745)

1.6.0 (2023/4/27)

  • feat(doctor): show warning for TS 4.9 (#2190)
  • feat: support inlayHints for vueCompilerOptions.optionsWrapper
  • fix: avoid props type-checking for VNode (#2720)
  • fix: revert "fix: trim modifiers for slot name"
  • refactor: update extension settings from volar.* to vue.*
  • refactor(language-server): remove petiteVue, vitePress from server init options

    for IDEs other than VSCode, use additionalExtensions: ['html', 'md'] instead of

Breaking changes

  • deprecated vueCompilerOptions.jsxTemplates (#2677)
  • deprecated vueCompilerOptions.nativeTags (#2685)

1.5.4 (2023/4/26) - pre-release

  • fix: defineExpose macro missing for Vue 3.3
  • fix(component-meta): meta info is empty if missing vue-component-type-helpers dependency
  • fix: don't check time for codeActions when saving multiple files

1.5.3 (2023/4/26) - pre-release

  • feat: support type-checking for dynamic components
  • feat: support element type-checking for directives
  • fix: cannot infer event type for <Transition> (#2700)
  • fix: tag / prop casing status not working
  • fix: slot name accidentally included modifiers in virtual code
  • fix: avoid always pop "Saving time is too long" edge case
  • fix: only generate JSX.ElementChildrenAttribute type when vueCompilerOptions.jsxSlots enabled (#2714)
  • fix: top level await error in SFC if two script blocks are present (#2712)
  • fix: cannot use generic components inside defineComponent (#2709)
  • fix: intellisense not working in es module project (#2661)

1.5.2 (2023/4/24) - pre-release

  • fix: cannot recognize hyphenate tag name (#2688)

1.5.1 (2023/4/23) - pre-release

  • refactor: deprecate nativeTags option (#2685)
  • fix: props type-check not working for one argument functional component (#2686)
  • fix: <Suspense> default slot reporting error (#2683)
  • fix: cannot infer slots type in vue2 project (#2682)
  • fix: static directive arg should not recognize as expression (#2678)

1.5.0 (2023/4/23) - pre-release

  • refactor: deprecate jsxTemplates option (#2677)

1.4.4 (2023/4/23)

  • fix: missing FunctionalComponent props are no longer reported in the template (#2676)

1.4.3 (2023/4/22)

  • feat: add volar.nameCasing.status setting to disable nameCasing status (#2453)
  • fix(vue-typescript): add missing peer dependency typescript (#2665) - thanks @merceyz
  • fix: slots references codeLens, renaming not working
  • fix: pug multiline attribute values are marked as error (#2413)
  • fix: incorrect extra inlay hints inside template when enabled typescript.inlayHints.parameterNames (#2670)
  • fix: failed to resolve tsdk path for "JavaScript and TypeScript Nightly" (#2663)
  • revert: "fix(vue-tsc): add throw message if composite / incremental enabled" (https://github.com/vuejs/language-tools/commit/b596a60154a0f2a6345244a90868b5cc67eb9ff8)

1.4.2 (2023/4/21)

  • fix: cannot disable auto insert .value feature
  • fix: avoid slot props reporting error if component does not have $slots type (#2646)
  • fix: prefer component constructor signature instead of call signature (#2647)
  • fix: avoid tsconfig reporting "Comments are not permitted" when takeover mode enabled (#2648)

1.4.1 (2023/4/21)

  • fix: generic slot props type not incorrect (#2639)
  • fix: third-party library components cannot accept unknown props (#2636)
  • fix: allow props less functional component (#2638)
  • fix: native tags event type become never (#2640)
  • fix: cannot resolve tsdk on windows (#2637)

1.4.0 (2023/4/21)

  • feat: support intellisense for directive arg expression (#2588)
  • feat: asking disable codeActions if saving time is too long
  • feat: file definition cross file mapping result fall back to 0:0
  • fix: fixed dynamic slot arg expression virtual code (#2586) (#2617) (#2592)
  • fix: add hack support for v-if + v-slot template (#625)
  • fix: goto definition not working for alias path without script setup (#2600)
  • fix: avoid missing prop hint for native tags (#2616)
  • fix: vue-language-plugin-pug broken with yarn (#2608)
  • fix: native tags reporting missing prop error (#2629)
  • fix(vue-tsc): add throw message if composite / incremental enabled (#2622)
  • fix: slot props are not recognized at the root component (#2554)
  • fix: missing props hint incorrect for model property for vue 2 (#2635)
  • fix: cannot show css hover message (#2634)
  • fix: duplicate ts unused reports if noUnusedLocals is enabled (#2627)

1.3.19 (2023/4/19) - pre-release

  • feat: change vue.features.codeActions.enable default value to true
  • feat: auto disable vue.features.codeActions.enable when document saving time is too long
  • feat: changing vue.features.* settings no longer requires reload vscode

1.3.18 (2023/4/18) - pre-release

Extension settings refactoring

  • codeActions disabled by default
  • updateImportsOnFileMove disable by default
  • missing props hint, event argument hint disabled by default

For more details, see #2620.

1.3.17 (2023/4/17) - pre-release

  • feat: support document links for tsconfig when takeover mode is actived (#2467)
  • fix: avoid server crash when tsconfig extends path invalid
  • fix: auto import should not appending .js (#1763) (#2518)
  • fix: inhibit unknown props error when if strictTemplates is disabled
  • fix: absolute SCSS import resolving inconsistency (#2517)
  • fix: <template> multi-line comments shift with each format (#2505)

1.3.16 (2023/4/16) - pre-release

  • feat(component-meta): expose definition location information as declarations property
  • perf: fixed TS auto import performance regression since v1.13.11 (volarjs/typescript-auto-import-cache#2)
  • fix(language-server): show component meta command not working
  • fix: v-for item adds spaces if enabled insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets (#2571)
  • fix: when the takeover mode is enabled, json documents shows duplicate outline (#2573)

1.3.14 (2023/4/10) - pre-release

  • feat: add vue-component-type-helpers package (#2590)
  • feat(component-meta): integrated vue-component-type-helpers
  • feat: upgrade to lerna-lite 2.0 (#2597) - thanks @ghiscoding
  • feat: support prop renaming for defineModel and defineProp
  • fix: template-based slots type incorrect (#2590)
  • fix(vue-tsc): patch build info roots for TS 5.0 (#2580) - thanks @blake-newman

1.3.12 (2023/4/4) - pre-release

  • feat: Support for Vue 3.3 experimental defineModel() API (#2579)
  • feat: Support for vue-macros defineProp() API (#2579)
  • feat: support short define for defineSlots()
  • feat: new <script setup> codegen implement for DX improve (#2582) (#2421)
  • fix: falsely reports "Virtual script not found"
  • fix(vue-tsc): emit declaration throws TS4060 (#2581) - thanks @blake-newman

1.3.11 (2023/4/2) - pre-release

1.3.10 (2023/4/1) - pre-release

  • feat: support for vue 3.3 defineSlots() API (#2568)
  • feat(vue-tsc): prettify script setup props, emits type in emit
  • fix: plugins, hooks, experimentalAdditionalLanguageModules options of vueCompilerOptions not working (#2558) - thanks @rchl
  • fix(vue-tsc): fixed typescript 5 support (#2555) - thanks @blake-newman
  • fix: incorrectly incremented end offset when deleting the last text in an directive expression
  • fix: "typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": true caused formatting issues with v-bind expressions (#2507)
  • fix: normalizeComponentAutoImportName not working for import statement completion (#2511)
  • fix: ignore null type for dynamic argument (#2514)
  • fix: vue-twoslash-queries plugin not working
  • fix: redo JSX.ElementChildrenAttribute implement (#2472)
  • fix(component-meta): support for functional component (#1992)
  • fix: avoid crash when chdir() (#2480)
  • fix: expand selection ranges incorrect (#2477)
  • fix: directive semanticTokens display range incorrect (#2454)
  • fix: <textarea> formatting indent incorrect
  • perf(vue-tsc): streamline virtual code to improve emit performance

1.3.8 (2023/3/27) - pre-release

  • fix: missing props type check stop working

1.3.7 (2023/3/26) - pre-release

  • feat: support normalizeComponentImportName for additionalExtensions (#2481)
  • feat: support generic component without jsxTemplates
  • feat: support slot references for anonymous default slot (#2547)
  • feat: recognize slots property with JSX.ElementChildrenAttribute (#2472)
  • feat: support slot required checking when enabled strictTemplates (#1820)
  • fix: handle edge tag name casing <xxx--yyy> (#2463)
  • fix: incremental update causes multi-line style node damage (#2519)
  • fix: formatting break multi-line attribute value indent (#2519)
  • fix: formatting break <pre> tag contents indent (#2520)
  • fix: typescript labelDetails in completions not processed (volarjs/services#31) - thanks @zardoy

Breaking changes

  • deprecated volar.vueserver.textDocumentSync setting
  • deprecated narrowingTypesInInlineHandlers for vueCompilerOptions and always enabled now

1.3.6 (2023/3/25) - pre-release

  • feat: RFC 436 leaves experimental (#2545)
  • feat: auto resolve vueCompilerOptions.target by default
  • feat: auto append /** @jsxImportSource vue */ when jsxTemplates enabled and target >= 3.3 for avoid #592
  • feat(doctor): remove target check for vueCompilerOptions

1.3.4 (2023/3/20) - pre-release

1.3.3 (2023/3/19) - pre-release

  • feat: disable missingRequiredProps, eventArgumentInInlineHandlers by default
  • fix: vueCompilerOptions cannot extends from non-relative paths (#2345) - thanks @dschmidt
  • fix(vue-component-meta): exposed missing when use TS 5.0
  • perf(vue-component-meta): props, events, slots, exposed lazy calculation
  • perf: provide change range of virtual file snapshot for typescript program

1.3.2 (2023/3/14) - pre-release

  • feat(language-server): declare workspaceFolders support in server capabilities for IDEs (volarjs/volar.js#18) - thanks @the-mikedavis
  • feat(vue-tsc): supports incremental emit (volarjs/volar.js#17) - thanks @blake-newman
  • feat: allow code actions to run rename command after applying (#2498) (volarjs/services#29) - thanks @zardoy
  • perf(vue-component-meta): faster initialization (#2506) - thanks @stafyniaksacha
  • perf: search tsconfig on demand (volarjs/volar.js#16)

1.3.0 (2023/3/10) - pre-release

  • feat: support for korean html data
  • feat(doctor): remove vue-tsc version check
  • feat(doctor): rename setting from volar.doctor.statusBarItem to volar.doctor.status
  • feat(doctor): check VSCode settings emmet.includeLanguages, files.associations (#2487)
  • feat(doctor): check plugins version for volar.config.js
  • feat: add description link for $event => hint (#2445)
  • feat(language-server): support for ServerMode.PartialSemantic
  • fix: Show Component Meta command not working
  • fix: name casing status do not update with changed settings (#2460)
  • fix: component auto import not working with kebab case (#2458)
  • fix: missing props hints do not recognize @xxx (#4568)
  • fix: code action document version incorrect (yaegassy/coc-volar#254)

Breaking changes

  • Remove built-in web intellisense support and recommended TypeScript IntelliSense for Web instead of (#2475)
  • Upgrade required version of @volar-plugins/* to >= 2.0.0
    • After upgrade, you need to access default property with require('@volar-plugins/xxx').default in volar.config.js
  • Upgrade build target from ES2016 to ES2021 (#2489)

1.2.0 (2023/2/25)

  • feat: compatible with upstream monaco integration (volarjs/volar.js#10)
  • feat: support array extends for tsconfig (#2344)
  • feat: make cursor inside quotes when insert missing required props edit (#2414)
  • feat: support mixin child nodes for pug (#2447)
  • fix: ignore native tags for missing required props hint
  • fix: ignore methods for missing required props hint (#2443)
  • fix: SFC outline not show child nodes (#2446)

1.1.7 (2023/2/22)

  • fix: document symbols request crash with arrow function declaration (#2438)
  • fix: document symbols child node range incorrect
  • fix: SFC document symbols tree incorrect

1.1.6 (2023/2/22)

  • fix: template comments were trimmed with formatting in production mode (#2435)
  • fix: inaccurate outline view of script content
  • fix: takeover mode causes IDE to get stuck in large .ts files due to a long list in the outline view

1.1.5 (2023/2/21)

  • feat: prettify type for css module $style
  • fix: only generate component with function type when use generic attribute
  • fix: document links feature broken (#2426)
  • fix: missing props inlay hints not working for namespace components
  • fix: component tags type-check not working
  • fix: pug template reporting TS2339 when strictTemplates enabled (#2431)
  • fix: pug tag completion not working at empty lines

1.1.4 (2023/2/20)

  • feat: support for script src path intellisense (#2331)
  • feat: support name casing setting for component auto import (#2362)
  • feat: add volar.vueserver.fullCompletionList setting (#2422)
  • perf: filter completion items in language server for better performance (#2306)
  • fix: strictTemplates did not check for unknown components (#2291)
  • fix: duplicate document links in the template
  • fix: completion not working for namespace components (#2382)
  • fix: html comments and js template strings format indent incorrect (#2420)
  • fix: do not correspond v-model to checked prop for checkbox and radio input tags (#2415)

1.1.3 (2023/2/18)

  • feat: visualize event argument in inline handlers
  • feat: add description for model modifiers (#2405)
  • fix: remove deprecated preview commands (#2402)
  • fix: missing required props hint not working with v-model (#2407)
  • fix: cannot collapse code in .js / .ts files with takeover mode (#2408)
  • fix: symbols view stopped working for .js / .ts files with takeover mode (#2404)
  • fix: cannot rename html tags (#2410)
  • fix: cannot display rename fail message
  • fix: format on type cannot working for code blocks that enabled volar.format.initialIndent (#2401)
  • fix: vue-tsc crashes in watch mode when file changed (#2403)
  • fix: prop type definition inaccurate for v-model directive on native input (#2399)

1.1.2 (2023/2/17)

  • fix: format adding unnecessary newline to CRLF document (#2385)
  • fix: incidentally inserting indents when inserting new lines when if editor.formatOnType (#2394)
  • fix: template formatting last line indent incorrect (#2393)
  • fix: template start tag got deleting if first line is comment (#2390)
  • fix: takeover mode status incorrect in display (#2389)
  • fix: diff window's document was unexpectedly diagnosed (#2391)
  • fix: emmet completions appear inside open tag (#1329)
  • fix: opencc is depended on by language server (#2388)

1.1.0 (2023/2/16)

  • feat: support initialIndent for pug and sass
  • feat: add description for built-in directives, attributes, component, and elements
  • feat: support localization for event modifiers and props modifiers
  • feat: missing required props inlay hints (needs enabled volar.inlayHints.missingRequiredProps)
  • feat: show (takeover) instead of (vue) in status bar for takeover mode (#2365)
  • feat: more reliable formatting edits combine
  • fix(doctor): update source code link (#2307)
  • fix(typescript-plugin): tsserver multiple initializations lead to infinite loop (microsoft/vscode#171591)
  • fix: syntactic features not working for untitled vue document
  • fix: spaces removed from ternary operator inside {{ }} (#2305)
  • fix: source.addMissingImports accidentally made imports for properties used the template (#2304)
  • fix: code action auto import should not append to the same line with the script tag (#916)
  • fix: multi-line interpolation last line indent incorrect
  • fix: declaring empty emits like defineEmits<{}>() would fail the type-checking process (#2370)
  • fix: ignore name prop / attr for slot (#2308)

Breaking changes

  • Removed pug convert tool
  • Removed script setup convert tool
  • Unsupported tracing for vue-tsc (#2378)
  • Extract Vite, Nuxt and component preview features to Vue and Nuxt Preview
    • feat: support vite-plugin-vue-component-preview for nuxt 3.2
    • feat: add vue-preview.root setting for Nuxt component preview
    • fix: prevent random creation of multiple preview terminals
    • fix: support nuxt preview without vite serving allow list (#2287)

1.0.24 (2023/1/8)

  • feat: add vueCompilerOptions.macros setting for vue-macros plugins
  • feat(framework): expose FileCapabilities.full, FileRangeCapabilities.full, MirrorBehaviorCapabilities.full
  • feat: renamed normalizeComponentAutoImportName setting to normalizeComponentImportName
  • feat: support normalize component name for import statement completion (#2286)
  • feat: normalize Index to folder name when normalizeComponentImportName enabled (#2071 (comment))
  • feat: support update imports on multiple files move
  • fix(typescript-plugin): fixed Projects must list all files or use an 'include' pattern error (#2271)
  • fix: language client sending parseSfc requests when not a vue document changed
  • fix: typescript actions not working for codeActionsOnSave setting (#2188)
  • fix: fixed c is not iterable error edge case (#2282)
  • fix: cannot select workspace tsdk on status bar with takeover mode
  • fix(plugin-api): cannot catch errors for getEmbeddedFileNames(), resolveEmbeddedFile()
  • fix(component-meta): cannot detection of slots in script-less SFC (#2113)
  • perf(component-meta): resolve schema on demand (#2288)

1.0.22 (2023/1/5)

  • fix: document folding ranges not working in .ts

1.0.21 (2023/1/5)

  • fix: cannot jump to .vue definition from .ts with takeover mode
  • fix: cannot detect @volar/vue-language-plugin-pug installed (#2272)
  • fix: ignore incremental update for v-for expression (#2266)
  • fix: auto insert spaces for {{}} not working
  • fix: completion in template inserts stray leading dot (#2155)
  • fix: if source document EOL is \r\n, virtual document mapping decorations range incorrect

1.0.20 (2023/1/4)

  • feat: support browser navigation for embedded preview
  • feat: released pug extension (#2274)
  • feat: add volar.takeOverMode.extension setting for choice extension that takeover *.ts language support
  • fix(typescript-vue-plugin): can't always get latest status of .vue files (#2271)
  • fix: multi-line template interpolation formatting indentation incorrect
  • refactor(framework): simplify LanguageServerPlugin api and dependency injection connection (#2273)
  • refactor(framework): combine createLanguageService and createDocumentService

1.0.19 (2022/12/31)

  • feat: add experimentalAdditionalLanguageModules option for vueCompilerOptions (#2267)
  • fix: TS typescript/javascript.preferences.autoImportFileExcludePatterns setting not working
  • fix: formatting not working for extra vue file extensions (#2263)
  • fix(doctor): accidentally report @vue/compiler-dom warning (#2262)
  • fix(vue-component-meta): required property incorrect (#2256)
  • fix(preview): cannot start preview if project never start run vite server (#2223)
  • fix: references codeLens not working

1.0.18 (2022/12/26)

  • feat: check deprecated properties for vueCompilerOptions in tsconfig
  • fix: auto add spaces for {{}} not working if template block not at the top
  • fix: remove duplicate file watchers for .vue files
  • fix: auto complete randomly report [TS Error] { } and failed (#2190)
  • fix: cross-file renaming cannot be performed consecutively
  • fix: should not report unknown tag error without strictTemplates enabled (#2255)

1.0.17 (2022/12/26)

  • feat: support syntax highlighting for lang="json5" (#2244)
  • feat: support for generating virtual file from multiple sources (#2253)
  • feat: display mapping data on hover for virtual document
  • feat: re-support component semantic token (#2252)
  • fix(vue-tsc): cannot resolve hook path from extends options
  • fix: fixed workspace configs caching not working edge case (#2062)
  • fix: cannot find volar.config.js for sub folder tsconfig project
  • fix: emmet abbreviation suggestion keeps disappearing every third letter (#2240)
  • fix: {{ }} colorizedBracketPairs not working (#1759)
  • fix: fixed volar-base language servers executePluginCommand duplicate registration error
  • fix: avoid throw on un-exist workspace folder (#2039)
  • fix: ignore class, style attrs when v-bind exist (#2166)
  • fix: functional component type check not working when return type includes props property (#2206)
  • fix: v-slot error when noPropertyAccessFromIndexSignature is enabled (#2236)
  • fix: skipTemplateCodegen should ignore template slots emit (#2237)
  • fix: recursive closing of html tag edge cases (#2238) (#2247)
  • fix: double quotes not allowed in attribute value (#2250)
  • perf: embedded files on demand calculation not working

1.0.16 (2022/12/20)

  • feat(component-meta): make schema.ignore accept functions (#2232)
  • feat: add volar.icon.splitEditors setting (#2163)
  • feat: support twoslash queries in .ts when using takeover mode
  • fix: fixed typescript-vue-plugin performance regression (#2228)
  • fix: deleting space for {{ |}} become {{ | }} (#2222)
  • fix: dynamic slot name type <slot :name="(name as 'a' | 'b')" /> not working (#2233)
  • fix: typed template slots missing when template only exist dynamic slots (#2233)
  • fix: fixed template Type 'void' has no call signatures errors (#2225)
  • fix(vue-tsc): shim vue-tsc/out/proxy.js for vite-plugin-checker (fi3ework/vite-plugin-checker#193)
  • perf: rewrite typescript-vue-plugin for much better performance and fixed path resolve edge case (#2137)

1.0.14 (2022/12/18)

  • feat: add angular language server example (#2215)
  • feat(vue-tsc): support for hook api (#2217)
  • feat: add vue-tsc-eslint-hook module to support use eslint in vue-tsc (#2220)
  • feat: add setting volar.vueserver.maxFileSize (#2186)
  • feat: add setting volar.doctor.checkVueTsc and disable by default (#2186)
  • feat: add setting volar.vueserver.configFilePath (#2078)
  • feat: auto add space between double curly brackets (#2088)
  • feat: support formatting for style v-bind (#2105)
  • fix: virtual code mapping ignored offset 0 (#2052)
  • fix: auto complete ref value with '.value' not working (#2203)
  • fix: template AST broken by slot name incremental update (#2207)
  • fix: preview not working for Vite v4 (#2198)

1.0.13 (2022/12/12)

  • feat(web-ide): show loading file at status bar
  • feat(web-ide): support node_modules types via CDN
  • feat(web-ide): support locale typescript diagnostic messages
  • fix(web-ide): cannot use default typescript lib types
  • fix(web-ide): cannot found match tsconfig
  • fix: volar.config.js plugins dirty cache between different tsconfig projects

1.0.12 (2022/12/9)

  • feat: added @volar/vscode-language-client package (#2181)
  • fix: document content messed up randomly (#1807)
  • fix: "Show Virtual Files" mapping background color unclear with light theme (#2147) (#2170)
  • fix: props type checking not working for Element Plus components (#2176) (#2180)
  • fix: attribute values being wrapped in parentheses while typing (#2182)
  • fix: formatting crashes (#2077)
  • fix: cannot emit component type with DefineComponent when template has slots (#2161)

1.0.11 (2022/12/3)

  • fix(vue-tsc): dts emit do not generated DefineComponent type (#2161)
  • fix: global components types loss in vue 2 projects (#2157)
  • fix: Vite / Nuxt app preview crash when template includes <html> tag

1.0.10 (2022/11/29)

  • feat: add volar.vueserver.json.customBlockSchemaUrls setting to support preset json schema urls for custom blocks (#2079)
  • feat: add volar.vueserver.reverseConfigFilePriority setting to support customize tsconfig priority (#1815)
  • feat: add volar.vueserver.disableFileWatcher setting for better performance (#2027)
  • feat(vue-tsc): support for TypeScript 5.0 (#2095)
  • feat: auto insert parentheses for instanceof expressions (#2099)
  • feat: more accurate HTML attributes auto-complete
  • feat: add nativeTags instead of experimentalRuntimeMode to vueCompilerOptions for uni-app supports (#2065)
  • feat: remove split editors icon and use command instead of
  • fix: goto definition not working with nvim-lspconfig (#1916 (comment))
  • fix(preview): more accurate script judgment (#2135)
  • fix: local components types should cover global components types (#1886)
  • fix: auto insert parentheses for AsExpressions not working
  • fix: template code mapping confusion when undo with invalid template code (#2151)
  • fix: output Server Stats through LSP API (#2050)
  • fix: vite app preview not working if project path includes spaces (johnsoncodehk/vite-plugin-vue-component-preview#7)
  • fix: avoid component preview create multiple terminals (#2128)
  • fix: avoid folding when join split editors (#1887)
  • fix: split editors command crash with empty document (#2072)
  • fix: avoid escape &quot; (#2091)
  • fix: script setup first variable jsdoc missing (#1327 (comment))
  • fix: document symbols of SFC blocks range incorrect (#2118)
  • fix: strictTemplates option works only bound props (#2136)
  • fix: props required warning missing when jsxTemplates option enabled (#2139)
  • fix: cannot infer events parameter type in recursive component (#2140)
  • perf: faster semantic tokens parsing (#2053) (#2056)
  • perf: avoid create file watchers in syntactic server
  • perf: cache workspace configuration in language servers (#2062)

1.0.9 (2022/10/23)

  • feat(vue-tsc): add error message for noEmitOnError (#2053)
  • feat: add support for custom file extensions (#1931)
  • feat: add support for typescript/javascript.suggest.completeFunctionCalls (#956)
  • feat: add support for JSX auto closing tags and tags commenting (#1494)
  • feat: add support for auto import component from .ts sources (#1643)
  • feat: add Server Stats command for debugging loading files
  • feat: add volar.completion.normalizeComponentAutoImportName setting to support remove Vue ending for component auto import (#82)
  • feat: add volar.vueserver.diagnosticModel setting to support pull model for diagnostic
  • feat: add experimentalUseElementAccessInTemplate setting in vueCompilerOptions for class component supports (#997)
  • feat: migrated to standard token types for support semantic tokens IDE other than VSCode
  • feat: register file watchers in language server for support IDE other than VSCode (#2037)
  • perf: load scripts on demand on inferred project
  • fix(doctor): update valid @types/node version and clarity words (#2043)
  • fix: avoid language server crash by invalid tsconfig references path (#1957)
  • fix: LanguageServicePlugin error don'ts reporting
  • fix: SCSS At-Rule autocomplete not working
  • fix: intellisense not working for files path start with . (#1147)
  • fix: avoid reporting partial diagnostic when failed to update cache range
  • fix: formatting not working for template interpolations (#2026)
  • fix: file watchers not working (#2028)
  • fix: document version of code action incorrect (#2025)
  • fix: don't filter onXxx for props autocomplete (#2034)
  • fix: import statements completion not working (#1983 (comment))
  • fix: server throwing errors due to component auto import completion canceled (#1983)
  • fix: expand selection does not work correctly in <template> (#1465)
  • fix: component tags messes with duplicate name template properties (#2030)
  • fix: improve invalid content trimming in .md files for VitePress
  • fix: avoid language server throwing when changing built-in TS plugin activation

1.0.8 (2022/10/15)

  • feat: support for twoslash queries (https://github.com/vuejs/language-tools-plugins/issues/9)
  • feat: support generic attribute auto-complete
  • feat: add volar.vueserver.noProjectReferences setting for support jump to source files from reference projects (#1344)
  • fix: SFC parse failed if script content including <script> (#1982)
  • fix: avoid report type error for invalid component without enable jsxTemplates (#2007)
  • fix: intrinsic tag highlight should only including open tag and close tag (#2009)
  • fix: component type should take capitalize property takes precedence over camelize property from context (#2010)
  • fix: references codeLens should not including sources on display (#1989 (comment))

1.0.7 (2022/10/13)

  • feat(vue-language-core): support custom v-model prefix (#2004)
  • feat: allow passing attributes array for experimentalModelPropName ignore setting (#1821)
  • fix: @volar/vue-language-plugin-pug cause to doctor warns in Vue 2.7 project (#2002)
  • fix: mitigate virtual file mapping highlights dislocation
  • fix: tag hover not working when enabled jsxTemplates
  • fix: avoid convert invalid JSX type to any when enabled jsxTemplates
  • fix: component JSX type invalid when enabled jsxTemplates but template has no any slots
  • perf: try skip convert attribute value to unicode

1.0.6 (2022/10/12)

  • fix: component ast broken when use script setup with export default (#1996)
  • fix: experimentalModelPropName link invalid (#1999)
  • fix: @volar/pug-language-service crash (#2000)

1.0.5 (2022/10/12)

  • feat(doctor): report warning for @types/node version >= 18.8.1 (#1985)
  • fix: @volar-examples/svelte-tsc, @volar-examples/svelte-typescript released empty dist
  • fix: component syntax minor defect when enabled experimentalRfc436
  • fix: force use VSCode display language in language server (#1959)
  • fix: don't hoisting defineProps type arg when disabled experimentalRfc436 (#1994)

1.0.4 (2022/10/12)

  • feat: Support generic typed template slots for RFC 436 (#1987)
  • feat: add resolveTemplateCompilerOptions API for VueLanguagePlugin
  • feat: support intellisense for generic attribute (#1967)
  • feat: add Show Component Meta command for inspect vue-component-meta result
  • feat: add vueCompilerOptions.experimentalModelPropName for customize v-model binding prop for vue 2 component (#1969)
  • fix: TypeScript Vue Plugin (Volar) stop working
  • fix: change vueCompilerOptions.dataAttributes default value from ["data-*"] to [] (#1965)
  • fix: component props order should be on the top (#1972)
  • fix: @volar/vue-language-plugin-pug crash due to missing depend
  • fix: component tag highlight not working for pug template (#1977)
  • fix: references codeLens number incorrect (#1989)

Breaking changes

  • Removed experimentalTemplateCompilerOptions, experimentalTemplateCompilerOptionsRequirePath from vueCompilerOptions (#1991)

1.0.3 (2022/10/10)

  • feat: support as expressions in export assignment for script setup (#1882)
  • feat: support RFC 436 with new option vueCompilerOptions.experimentalRfc436 (#1964) (vuejs/rfcs#436)

1.0.2 (2022/10/9)

  • fix: TypeScript Vue Plugin (Volar) breaks VSCode tsserver (#1956)
  • fix: pug intellisense not working
  • fix: semantic tokens confused git diff window (#1946 (comment))
  • fix(doctor): cannot resolve vueCompilerOptions from extends tsconfig
  • fix(doctor): cannot resolve vue version from sub folder (#1961) (#1962)
  • fix: scoped class name no longer displays underline (#1960)

1.0.1 (2022/10/9)

  • feat(doctor): added more postcss syntax highliters (#1945)
  • fix(doctor): @vue/compiler-dom missing message incorrect (#1953)
  • fix: name casing tool typo (#1941)
  • fix: takeover mode document link incorrect (#1944)
  • fix: code color disordered if .ts script do not include to tsconfig (#1946)
  • fix: cannot start language server if worksapce tsdk path invalid (#1942)
  • fix: "Show Virtual Files" command not working for .md / .html
  • fix: tag autocomplete add duplicated import if the tag not use in template (#1952)
  • fix: template AST broken when input space after tag name
  • fix: don't use native event type for component (#1948) (#1951)
  • fix: command + hover @click cannot show selection range

1.0.0 (2022/10/7)

1.0.0-rc.5 (2022/10/7)

[Download]

  • fix: "Reload Project" command do not update diagnostics
  • feat: use svelte2tsx for svelte language server example (#1940)

1.0.0-rc.4 (2022/10/6)

[Download]

  • fix: html / css custom data not working (#707 (comment))
  • fix: should not show tsconfig / name casing on status bar for md / html by default
  • fix: cannot watch *.ts changes without takeover mode (#1880 (comment))

1.0.0-rc.3 (2022/10/5)

[Download]

  • feat: support .cjs, .mjs, .cts, .mts on takeover mode (#1928)
  • fix: multiple style attributes report false positive error (#1929)

1.0.0-rc.0 (2022/10/5)

[Download]

  • feat(vue-component-meta): add file update apis for support HMR (#1889)
  • feat: add dataAttributes, htmlAttributes options for vueCompilerOptions (#1871)
  • feat: support for typescript.autoImportFileExcludePatterns

Breaking changes

  • Some vueCompilerOptions perperties leave experimental
    • experimentalComponentOptionsWrapper -> optionsWrapper
    • experimentalAllowTypeNarrowingInInlineHandlers -> narrowingTypesInInlineHandlers
    • experimentalDowngradePropsAndEmitsToSetupReturnOnScriptSetup -> bypassDefineComponentToExposePropsAndEmitsForJsScriptSetupComponents

1.0.0-beta.6 (2022/10/4)

[Download]

  • fix: vue-language-server not release

1.0.0-beta.5 (2022/10/4)

[Download]

  • feat: show plugin path in output of vueCompilerOptions.plugins if it failed to load
  • fix: document symbols not working in IDE other than VSCode (#1925)
  • fix: hover info cannot show after save document (#1880 (comment))
  • fix: cannot show "No tsconfig"

1.0.0-beta.4 (2022/10/4)

[Download]

  • feat: support document doctor for common problems checking (#1254)
  • feat: add "Show Virtual Files" command for debug virtual code and mapping

1.0.0-beta.3 (2022/10/3)

[Download]

  • feat: support ParseSFCRequest LSP request for parse SFC to avoid language client depend on @vue/compiler-sfc
  • feat: add VueServerInitializationOptions#cancellationPipeName option for language client cancellation token supports
  • feat: remove second semantic language server and volar.vueserver.useSecondServer setting
  • perf: cancel asynchronous request via named pipes (#1916 (comment))
  • chore: change extension icon to Vue logo
  • chore: optimize bunding (2.2MB -> 975KB)

1.0.0-beta.2 (2022/9/30)

[Download]

Breaking changes

  • Update VueLanguagePlugin API to v1.0 (Example)
  • Update language server initializationOptions interface (#1916)

1.0.0-beta.1 (2022/9/27)

[Download]

  • feat: support autocomplete for v-model:xxx
  • feat: simplify status bar
  • feat: support prop name case conversion in the status bar
  • feat: remove "auto", "both" and add "auto-kebab", "auto-pascal" for volar.completion.preferredTagNameCase
  • fix: cannot resolve compilerOptions.types from a higher level directory in a workspace sub directory (#1764)
  • fix: should not trigger autocomplete lang attribute in templates (#1836)
  • fix: cannot trigger autocomplete end with v-xxx (#1905)
  • fix: auto insert parentheses remove $x from $x as y
  • fix: auto insert parentheses not working on props

1.0.0-beta.0 (2022/9/25)

[Download]

  • perf: reduce input files to improve performance for large project
  • fix: template incremental update not working

1.0.0-alpha.5 (2022/9/25)

[Download]

  • fix: language server crash on diagnosis <style lang="postcss"> (#1902)
  • fix: template tags selection range incorrect with definition

1.0.0-alpha.4 (2022/9/24)

[Download]

  • fix: iterating Symbol.Iterator is not correctly inferred in v-for (#1892)
  • fix: false positive error on <CustomComponent @click.stop /> (#464)
  • perf: improve for large template memory usage
  • perf: improve for monorepo project memory usage

Breaking changes

  • vueCompilerOptions property experimentalDisableTemplateSupport renamed to skipTemplateCodegen

1.0.0-alpha.3 (2022/9/21)

[Download]

  • fix: don't ignore @vue/compiler-dom compile errors for vue2 templates
  • fix: cannot start language server with @volar/vue-language-server since v1.0.0-alpha.0 (#1888)

1.0.0-alpha.2 (2022/9/21)

[Download]

  • feat: add less support for initial indent (#1883)
  • feat: use vue-template-compiler instead of @vue/compiler-dom to collect template errors for target < 3
  • fix: moving components doesn't trigger import updates (#1884)

1.0.0-alpha.1 (2022/9/17)

[Download]

  • fix: vue-tsc depends version resolve failed (#1881)

1.0.0-alpha.0 (2022/9/16)

[Download]

  • feat: framework agnostic language server (#1859)
  • feat: improve .value auto insert invalid location filting
  • feat: add vueCompilerOptions.jsxTemplates for more fault tolerant template (#1865)
  • feat: add volar.vueserver.petiteVue.processHtmlFile, volar.vueserver.vitePress.processMdFile to config language support for petite-vue, VitePress (#1878)
  • fix: template context types broken with "moduleResolution": "nodenext" (#1862)
  • fix: language server throw when use lang="js" without "allowJs": true
  • fix: auto .value failed if position immediately after another property .value access expression (#1853)
  • fix: language onEnterRules, increaseIndentPattern incorrect in <script>, <style> (#1847)
  • fix: source-map vue version inconsistent (#1874)
  • fix: fix pug tag offset (#1783)

Breaking changes

  • Remove Alpine extension (#1858)
  • No built-in support for pug template anymore, if you have use pug with vue-tsc before, please follow below changes:

package.json

{
	"devDependencies": {
-		"@volar/pug-language-service": "latest"
+		"@volar/vue-language-plugin-pug": "latest"
	}
}

tsconfig.json

{
	"vueCompilerOptions": {
		"plugins": ["@volar/vue-language-plugin-pug"]
	}
}

0.40.13 (2022/9/8)

  • fix: cycle reactive reference lead to memory leak

0.40.12 (2022/9/8)

  • perf: fix incremental template compile not working
  • perf: cache path resolve result on getScriptVersion
  • perf: faster code mapping range transform

0.40.11 (2022/9/8)

  • feat: support for typescript class/object literal method completions (#1835)
  • fix: language server crash if client did not support onDidChangeWorkspaceFolders (#1834)
  • fix: "Format Selection" embedded range incorrect with initialIndentBracket
  • fix: formatting break document with editor.formatOnPaste enabled (#1840) (#1841) (#1842) (#1843) (#1835)

0.40.10 (2022/9/7)

  • feat: improve "Format Selection" for html content
  • feat: uniquely scope attribute shorthands (#1812)
  • feat: add server name, version infos to LSP initialize response
  • fix: "Format Selection" should not format whole language block (#1833)
  • fix: formatting break document content randomly (#1827) (#1832)
  • fix: pug syntax highlighting confuses element id with interpolation (#1826)
  • fix: don't cache IDE settings if IDE do not support config change notification

0.40.9 (2022/9/6)

  • feat: improve vue document formatting
  • fix: script format loss indent (#1823)

0.40.8 (2022/9/6)

  • feat: add volar.format.initialIndent option for format <style>, <script> with initial indent (#1806)
  • perf: cache ts.ScriptSnapshot.fromString result on formatting
  • fix: volar.config.js not working since v0.40.7 (#1819)
  • fix: should not incremental update if SFC parse failed (#1807 (comment))

0.40.7 (2022/9/5)

  • feat: support multiple workspaces for document features
  • feat: add initializationOptions.completion.ignoreTriggerCharacters for LSP-Volar (sublimelsp/LSP-volar#114)
  • feat: add vueCompilerOptions.experimentalComponentOptionsWrapper option for custom component options warpper (#1517)
  • fix: add missing surrounding pair "`" (#1659)
  • fix: formatting edit range incorrect edge case (#1814)
  • fix: typescript onType format do not respect typescript.format.enable
  • fix: document features stop working for script block (#1813)
  • fix: pug formatter extra spaces in {{ }} (#1784)
  • fix: template incremental parser broken when typing slot name

Breaking changes

  • vueCompilerOptions properties experimentalImplicitWrapComponentOptionsWithDefineComponent, experimentalImplicitWrapComponentOptionsWithVue2Extend replaced by experimentalComponentOptionsWrapper.

0.40.6 (2022/9/4)

  • feat: support language features for Web IDE (#612)
  • feat: update vite problemMatcher (#1801)
  • feat: add volar.vueserver.textDocumentSync option to disable incremental update (#1807)
  • fix: v-for, v-if textmate scopes incorrect (#1810)

0.40.5 (2022/8/31)

  • feat: suppor add or switch workspaces without restart server (#1574)
  • fix: sfc offset incremental update broken when input at block start
  • fix: document incremental update break document content on Sublime LSP (sublimelsp/LSP-volar#120)
  • fix: unexpected prop types behavior with compilerOptions.exactOptionalPropertyTypes (vuejs/core#6532)
  • fix: false positive error on <input typeof="radio" value="..."> (#1775)
  • fix: false positive style attribute inconsistent string type error (#1781)
  • fix: language server broken with outDir + rootDir + composite/incremental tsconfig options (#1782)
  • fix: json format should not trim first / end new line
  • fix: interpolation format adding redundant spaces (#1784)

0.40.4 (2022/8/29)

  • feat: respect VSCode *.format.enable settings
  • fix: template should not compile if content no change
  • fix: component preview not working on windows (#1737)

0.40.3 (2022/8/29)

  • perf: incremental update SFC blocks without full parse SFC and mitigate memory leak
  • perf: incremental update html template interpolation without recompile template
  • perf: cache ts.createSourceFile for tsx code gen
  • fix(vue-component-meta): cannot create checker with TS 4.8.2
  • fix: document features not working on Web IDE (#1479)
  • fix: avoid auto complete triggers too aggressive in Sublime (sublimelsp/LSP-volar#114)

0.40.2 (2022/8/28)

  • feat(vue-component-meta): add createComponentMetaCheckerByJsonConfig API to support create checker without tsconfig
  • feat: move highlight dom elements ☑ codeLens to status bar (#1535)
  • feat: incremental update diagnostics cache range and avoid flicker (#1718)
  • perf: incremental update TS script snapshot (#1718)
  • perf: faster source map code mapping
  • fix: pug template tag mapping range incorrect (#1723)
  • fix: vite plugin import path incorrect on windows (#1772)
  • fix: false positive error on style attr when enabled compilerOptions.exactOptionalPropertyTypes (#1560)
  • fix: .html intellisense of petite-vue not working
  • fix: .html intellisense of alpie not working
  • fix: intellisense not working for node_modules files with takeover mode on windows (#1641)
  • fix: avoid vue-tsc type check .html, .md files (#1661)
  • fix: compilerOptions.types resolve path incorrect on multiple workspaces (#1679)
  • fix: cannot count script setup variable usage in template if disalbe jsx (#1729)
  • fix: cannot resolve indirect circular reference components types (#1708)
  • fix: cannot recognize namespace component (#1726)
  • fix: template components types break by regular SFC components option (#1731)
  • fix: indentation behavior incorrect (#1762)
  • fix: TS1308 'async' error missing when use script setup (#1753)

0.40.1 (2022/8/11)

  • fix: component context types missing in template if no script block (#1688)
  • fix: organize imports added invalid code (#1692)
  • fix: v-else template interpolation missing in virtual code (#1694)
  • fix: template interpolation formatting broken (#1697)
  • fix: inline css intellisense not working

0.40.0 (2022/8/10)

  • feat: support document highlights cross <script>, <template> (#462)
  • feat: support reference types from script setup in template (#891)
  • feat: support auto import in template (#823)
  • feat: support plugin api (#185) (#1687)
  • fix: template scope variables completion missing (#1284)
  • fix: prefer defineComponent instead of Vue.extend to wrap component options by default (#1584)
  • fix: bracket pair colorization in VSCode v1.70 (#1677)

0.39.5 (2022/8/6)

  • feat(vue-component-meta): add option to expose raw type (#1674)
  • fix(vue-component-meta): recursive schema parsing (#1660)
  • fix(vue-component-meta): parse defineProps in script setup with option (#1665)
  • fix: SFC syntax broken in vscode v1.70.0 (#1566) (#1675)
  • fix: vite app preview not working (#1668)
  • fix: diagnosis is slow on windows after v0.39.2 (#1663)
  • fix: compilerOptions.types not working since v0.39.2 (#1650)
  • fix: avoid auto-import path append .js (#1667)
  • fix: avoid variables defined after export default report TS_2454
  • perf: cache semver result on auto-complete

0.39.4 (2022/7/31)

  • feat: support ESM project (#1543)
  • fix: "Volar: Reload Project" command cannot detect node_modules change
  • fix: webview buttons show to unrelated extensions (#1611)

0.39.3 (2022/7/31)

  • feat(vue-component-meta): component schema improves (#1656)
  • feat(vue-component-meta): support options api props default (#1649)
  • feat: add "Volar: Reload Project" command (#1605)
  • fix: vue-tsc watch not working (#1647)

0.39.2 (2022/7/28)

0.39.1 (2022/7/23)

  • fix: typescript-vue-plugin break TS server (#1624)
  • fix: make takeOverMode.enabled: true behavior same with takeOverMode.enabled: 'auto'

0.39.0 (2022/7/23)

  • feat: updated vite problemMatcher (#1606)
  • feat: support Vite app preview for Vite v3 (#1616)
  • feat: support organizeImports in vue-typescript for prettier-plugin-organize-imports (#1480) (#1577)
  • feat: avoid takeover enabled with built-in TS extension do not disabled (#1622)
  • feat: expose vue-tsconfig.schema.json from @volar/vue-language-core
  • fix: fix workspaceTrust description (#1610)

Breaking changes

  • @volar/vue-typescript, @volar/vue-language-service apis refactored

0.38.9 (2022/7/20)

  • fix: path resolution incorrect in multi root workspaces on windows (#1585)
  • fix: goto definition not working for import path on windows (#1591) (#1593)
  • fix: update imports on file move not working (#1599)
  • fix: wrong check for whether jsx option is set (#1595)
  • fix: renaming .vue files breaks resolving import paths (#1125)

0.38.8 (2022/7/17)

  • feat: support for TS 4.8 (#1507)
  • feat: support --incremental flag for vue-tsc (#787)
  • fix: vue-tsc watch memory leak (#1106)
  • fix: re-fix template directives syntax highlight incorrect edge cases (#1423)

0.38.7 (2022/7/17)

  • feat: add volar.updateImportsOnFileMove.enabled option to disable file move refactoring (#1181)
  • feat: add volar.diagnostics.delay option for reduce CPU usage (#1295)
  • feat: add vueCompilerOptions.experimentalImplicitWrapComponentOptionsWithVue2Extend to support wrap component options by Vue.extend (#1337)
  • feat: support takeover mode for .cjs and .mjs (#1578)
  • fix: template syntax highlight broken if quotes missing (#761)
  • fix: self closing tag syntax highlight incorrect (#948)
  • fix: re-fix vue file import path auto-complete not working on windows (#1304)
  • fix: ts plugin stuck on empty project (#1146)
  • fix: tsconfig picking inaccurate (#1193)
  • fix: cannot resolve modules from extend tsconfg types option (#1262)
  • fix: file move refactoring unpredictable (#1273)
  • fix: avoid duplicate class attribute in pug (#1525)
  • fix: intellisense incorrect in new file (#1548)
  • fix: insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis break v-for format (#1398)
  • fix: document features not working in *.ts on takeover mode (#1563)

0.38.6 (2022/7/16)

  • fix: template syntax highlight broken (#1553, #1567, #1569, #1564, #1491)

0.38.5 (2022/7/11)

  • fix: file path resolve incorrect on windows (#1554, #1555, #1556, #1557, #1558, #1559)

0.38.4 (2022/7/11)

  • feat: add vueCompilerOptions.strictTemplates (#1418)
  • fix: don't auto close ``` (#1428)
  • fix: change unknown slot type from unknown to any (#1541)
  • fix: SFC templates outline incorrect (#1531)
  • fix: slot shorthand highlighting incorrect if have not = (#1423)
  • fix: vue file import path auto-complete not working on windows (#1304)
  • fix: avoid duplicate result in html (#1552) (#1530)
  • fix: code action document edit version incorrect (#1490)

Breaking changes

  • experimentalSuppressUnknownJsxPropertyErrors, experimentalSuppressInvalidJsxElementTypeErrors is replaced by strictTemplates.

     {
     	"vueCompilerOptions": {
     -		"experimentalSuppressUnknownJsxPropertyErrors": false,
     -		"experimentalSuppressInvalidJsxElementTypeErrors": false,
     +		"strictTemplates": true
     	},
     }

0.38.3 (2022/7/7)

  • feat: support html, css intellisense for petite-vue (#1471)
  • fix: avoid unknown jsx property error for vue 2.7 (#1533)
  • fix: fixed GlobalComponents interface not working edge case (#1489)
  • fix: stricter slots type extracting (#1522)
  • fix: nuxt app preview not working

0.38.2 (2022/6/26)

  • feat: update support for vite-plugin-vue-component-preview v0.2
  • feat: improve component preview UX
  • feat: add --version flag for vue-language-server (#1510)
  • fix: css class name codeLens range inaccurate (#1485)

0.38.1 (2022/6/19)

  • fix: fixed isIntrinsicElement is not a function error (#1478)

0.38.0 (2022/6/19)

  • feat: support component preview for Vite + Vue 3 (#1476)
    you need to install vite-plugin-vue-component-preview manually to support this feature
  • feat: support auto insert .value for vue 2 (#1466)
  • fix: cannot define global components types with @vue/runtime-core in Vue 2 (#1469)
  • fix: cannot emit declaration with script setup on vue-tsc (#1459)
  • fix: component auto import unreliable (#1470)
  • fix: camel case scope css class name intellisense not working (#1447)
  • fix(petite-vue): cannot access script tag local variables (#1471)

0.37.9 (2022/6/16)

  • perf: only support VitePress, petite-vue when *.md, *.html explicitly added in tsconfig include property (#1463)
  • fix: respect codeAction.disabledSupport capability (#1454)
  • fix: auto import component tag name including "Vue" on import (#1461)
  • fix: don't recognize components without script blocks as js languages (#1452) (#1455)
  • fix: scope class name doesn't show underline (#1447)
  • fix: withDefaults syntax break in lang="tsx" (#1458)
  • fix: alpine-language-server bin script name incorrect (#1460)

0.37.8 (2022/6/14)

  • feat: create alpine-language-features extension for support Alpine.js via reuse petite-vue language support works
  • fix: petite-vue createApp arg range inaccurate
  • fix: vue component context properties missing in petite-vue template

0.37.7 (2022/6/13)

  • fix: cannot resolve external vue file path (#1445)
  • fix: petite-vue v-scope data type loss in inline handlers (#1442)
  • fix: petite-vue createApp() initialData type missing in template (#1444)

0.37.6 (2022/6/13)

  • fix: SFC syntax highlight broken if directives missing = sign

0.37.5 (2022/6/13)

  • feat: support petite-vue
  • fix: don't active VitePress intellisense for .md if file path in not include by tsconfig (#1430)
  • fix: cannot direct execution of fileReferences command (#1419)
  • fix: avoid "`" auto close break markdown code block input (#1428)
  • fix: component props completion info box missing in template
  • fix: false positive props type error when JS component usage in TS component (#1426)
  • fix: cannot recognize component properties in type reference in template (#1422)
  • fix: slot binding type annotation not working if parent component is <component :is> (#1425)
  • fix: patch invalid : character in tag name (#1435)
  • fix: auto closing pairs not working in template expressions (#1437)
  • perf: faster markdown content parsing for vitepress

0.37.3 (2022/6/8)

  • feat: support find file references
  • feat: improve vitepress markdown parse reliability (#1410)
  • feat: vueCompilerOptions.experimentalSuppressInvalidJsxElementTypeErrors default true (#1405)
  • fix: fixed TS error with props beginning with data* (#1413)

0.37.2 (2022/6/7)

  • feat: show deprecation message for experimentalCompatMode
  • fix: kebab case component type broken in vue 2 (#1405)

0.37.1 (2022/6/7)

  • feat: add experimentalSuppressInvalidJsxElementTypeErrors option to ignore missing component import error (#1404)
  • perf: support auto-import cache even TS version < 4.7 (#1406)
  • perf: simplify template generated tsx code

0.37.0 (2022/6/6)

  • feat: VitePress support (#1399)
  • feat: support html.autoCreateQuotes for pug
  • feat: enabled references codeLens for slots when use script setup
  • feat: detect missing component import (#1203)
  • feat: support --generateTrace for vue-tsc (#1375)
  • fix: dynamic slot name breaks template type checking (#1392)
  • fix: don't report property does not exist error for data-* and aria-*
  • fix: html selection highlight ranges incorrect (#1393)
  • fix: avoid DefineComponent type loss when use script setup (#1391)
  • fix: css module $style inconsistent between vue-tsc and vscode (#1089)
  • fix: css class name and v-bind should not active in style comments
  • fix: unused console.log to adapt vim-lsp (#1391)
  • fix: language server stuck on incomplete style variable injection expression (#1359)
  • fix: remove __VLS_ result from code actions

Breaking changes

  • vueCompilerOptions.experimentalCompatMode is renamed to vueCompilerOptions.target.

     {
     	"vueCompilerOptions": {
     -		"experimentalCompatMode": 2
     +		"target": 2
     	},
     }

0.36.1 (2022/6/4)

  • feat: add vueCompilerOptions.experimentalSuppressUnknownJsxPropertyErrors option for unkonwn props reporting
  • fix: template slots types missing when use export default in <script> with <script setup> (#1389)
  • fix: fixed false positive __VLS_radioBinding on radio input tag. (#1390)

0.36.0 (2022/6/3)

  • feat: support format selection (range formatting) (#1370)
  • feat: support format on type
  • feat: support @ts-check, @ts-nocheck for template (#1369)
  • feat: improve slots auto-complete (#1251)
  • feat: support jsdoc for jsx IntrinsicElement (#1212)
  • feat: experimental support for vue 2.7 with "experimentalCompatMode": 2.7
  • feat: support typed template slots for script setup (#1253)
  • fix: --extendedDiagnostics not working on vue-tsc (#1375)
  • fix: template diagnostics incomplete on vue-tsc (#1372)
  • fix: respected textDocument.completion.completionItem.insertReplaceSupport (#1373)

Breaking changes

  • feat: report error for unkonwn props (#1077) (Disabled by default in v0.36.1)

0.35.2 (2022/5/30)

  • feat: add tsc problemMatchers settings (#1277)
  • fix: cannot watch external .d.ts file changes (#1343)
  • fix: incorrect typescript error report with hgroup in template (#1340)
  • fix: style variable injection syntax highlight not working for style languages other then css (#1365)
  • fix: false positive type check for method arguments with defineExpose (#1364)
  • fix: avoid html emmet active in style block (#1358)
  • fix: unable to recognize the type of parameters as alongside <script setup> (#1324)
  • fix: component export default jsdoc loss when use <script setup> (#1327)
  • fix: false positive @ts-expect-error error in withDefaults() (#1336)

0.35.0 (2022/5/28)

  • perf: support TS auto-import cache for TS 4.7 (#1360)
    • Please use 0.34.17 for TS 4.6.4 or lower

0.34.17 (2022/5/28)

  • feat: do not show unknown tag as red (#1247)
  • feat: do not default enable editor.semanticHighlighting.enabled
  • feat: support syntax highlight for style variable injection
  • fix: auto import creates wrong identifier when dot in file name (#1335)
  • fix: avoid language server crash on TS 4.7 (#1300)
  • fix: namespaced component type-check not working

0.34.16 (2022/5/23)

  • feat: add experimental option vueCompilerOptions.experimentalRuntimeMode for adapt uni-app (#1308)
  • fix: type narrowing broken by local variable declare in template (#1312)
  • fix: cannot recognize component context on arg typeof of arrow function in template (#1326)
  • fix: emmet suggestion interrupt when input symbol (#1322)
  • fix: split editors layout not following settings volar.splitEditors.layout.* (#1330)

0.34.15 (2022/5/16)

  • feat: support auto-complete for template local variables (#1284)
  • feat: check if vetur is active on doctor panel (#1305)
  • feat: enabled experimentalImplicitWrapComponentOptionsWithDefineComponent for lang="js" by default (#1298)
  • feat: add vueCompilerOption.experimentalDowngradePropsAndEmitsToSetupReturnOnScriptSetup option to improve intellisense on script setup for lang="js" (#1192)

0.34.14 (2022/5/13)

  • feat: add setting volar.vueserver.maxOldSpaceSize to modify language server memory limit (#1299)
  • feat: add settings volar.preview.script.vite, volar.preview.script.nuxi to customize preview server command
  • feat: move takeover mode status to status bar (#1294)
  • feat: add settings to customize split editors layout (#810)
  • fix: tsconfig status and ts version status dons't show with ts file on takeover mode

0.34.13 (2022/5/12)

  • feat: list vue meetup events on preview loading
  • feat: show basic infos by doctor command (#1254)
  • fix: avoid tsconfig include .vue files outside rootDir with typescript plugin (#1276)

Breaking changes

  • Changed vueCompilerOptions property experimentalShamefullySupportOptionsApi to experimentalImplicitWrapComponentOptionsWithDefineComponent and disabled by default (#1291)

0.34.12 (2022/5/10)

  • chore: change extensions publisher (#1124)
  • feat: add "warning" option to experimentalShamefullySupportOptionsApi and make default
  • feat: allow type narrowing in inline handlers bu config "experimentalAllowTypeNarrowingInInlineHandlers": true in vueCompilerOptions (#1249)
  • fix: avoid report error with config "module": "es2015" in tsconfig (#1263)
  • fix: find references result has invalid item
  • fix: property access errors loss in template (#1264)
  • fix: cannot rename html tag in some cases (#1272)

0.34.11 (2022/4/29)

  • fix: cannnot trigger auto-complete in import statement by input space
  • fix: duplicate diagnostics in *.ts on takeover mode (#1234)
  • fix: style block has redundant html emmet result (#1244)
  • fix: language server crash with low TS version (#1242)
  • fix: directives type-check not working (#1228)
  • fix: auto-complete replace range incorrect in import statement (#1227)

0.34.10 (2022/4/24)

  • fix: template bindings error incomplete (#1205)
  • fix: avoid auto-import added on same line as <script> (#916)
  • fix: embedded html interpolations syntax highlight not working in markdown
  • fix: inlay hints not working in template
  • fix: preview broken on nuxt3 rc (#1225)
  • fix: cannot use import equals in script setup (#1223)
  • fix: directives syntax highlight display incorrect in html comment inside svg tag (#1206)

0.34.9 (2022/4/21)

  • fix: vue documents diagnostics cannot update when other drive ts file changed
  • fix: ts declaration diagnostics missing (#1222)

0.34.8 (2022/4/21)

  • feat: support inlay hints (#452)
    • if you're not using VSCode, you should config new option languageFeatures.inlayHints = true in initializationOptions to enable it
  • feat: allow disable highlight dom elements on preview (#1209)
  • feat: improve dom elements highlight display refresh
  • fix: typescript.format.semicolons should not affect text interpolation (#1210)
  • fix: vscode settings cannot update for document features (#1210)
  • fix: {{ { foo } }} object literal expression not working on text interpolations
  • fix: cannot infer event type with prop name format onFoo-bar (#1023)
  • fix: scoped class references not accurate on long document (#1059)
  • fix: cannot update unediting vue document diagnostics (#1163)
  • fix: emmet not working in style block (#1145)
  • fix: nuxt preview not working on windows (#1123)

0.34.7 (2022/4/16)

  • feat: add option experimentalShamefullySupportOptionsApi to vueCompilerOptions (#1202)
  • fix: use html renaming instead of ts renaming on tags (#1201)
  • fix: not support lowser node version (#1200)
  • fix: cannot update global components props completion list (#1196)
  • fix: svg attributes report false positive void type (#1184)
  • fix: css module types missing on template context (#1178)
  • fix: false positive error with withDefaults + "strictNullChecks": false (#1187)

Breaking changes

0.34.6 (2022/4/12)

  • feat: add prompt for "jsx": "preserve" missing
  • fix: auto-complete break language server if "jsx": "preserve" missing (#1171)
  • fix: typescript plugin extension not working (#1173)
  • fix: code action not working on *.ts with take over mode (#1169)
  • fix: object computed property name report false positive error in template (#1176)
  • fix: should count variable uses with ref attribute (#1168)

0.34.5 (2022/4/11)

  • feat: preset "jsx": "preserve" for non-tsconfig project
  • fix: avoid template report errors if "jsx": "preserve" missing (#1161)
  • fix: attrs auto-complete and tag highlight incorrect on js project (#1158)
  • fix: script setup report false positive error with defineExpose type arg (#1165)

Breaking changes

  • @volar/pug-language-service now is a optional depend on vue-tsc, you need to install it additionally to support pug template type-checking on vue-tsc (#1092)

0.34.4 (2022/4/12)

  • fix: script setup report false positive error with multi-line interpolation
  • fix: object spread assignment not working in template
  • fix: html formatting result incorrect

0.34.3 (...)

  • feat: release @volar/preview for support vite, nuxt 3 app preview features other then vscode IDEs (#1115)
  • fix: require() should not report error in template (#1161)
  • fix: template interpolations syntax broken with inline block comments (#1143)
  • fix: vue-tsc emit declaration diagnostics incomplete (#1127)
  • fix: ts plugin should not affect to non-vue project (#1144)
  • fix: object literal santax not working in directive and v-for expressions (#1160)
  • fix: shorthand property assignment santax not working in template (#1156)
  • fix: should not emit __VLS_ files file with vue-tsc --declaration --emitDeclarationOnly
  • fix: experimentalDisableTemplateSupport not working
  • fix: formatting crashes with inline v-bind on scoped v-slot (#1151)
  • fix: language server broken in js project without allowJs

Breaking changes

  • Changed experimentalResolveNonScopedCssClasses to experimentalResolveStyleCssClasses (#1121)

0.34.2 (2022/4/10)

  • fix: add missing depend for vue-tsc (#1154)
  • fix: css format should not trimmed new lines (#1155)

0.34.1 (2022/4/10)

  • fix: fixed vue-tsc broken regression

0.34.0 (2022/4/10)

  • feat: expose useConfigurationHost for external language feature plugins
  • perf: faster language server initialization
  • perf: simplify template script generation (#455)
  • perf: reduce TS language service instances (#1108)
  • fix: web bundle lead to package size greatly increased (#1084)
  • fix: undefined sortText break vim (#1118)
  • fix: template context do not update by external .ts scripts (#565)
  • fix: not respect HTML completion settings (#1139)
  • chore: default disabled volar.autoCompleteRefs for reduce CPU usage

Breaking changes

  • Not support typed template slots for now (#1108)
  • Not support emits renaming
  • Not support props renaming for Vue.extends or lang="js"
  • Changed built-in HTML formatter from prettyhtml to vscode-html-languageservice (#1078)
    • If you would like to use prettyhtml, see prettyhtml section in #1027
  • Changed built-in CSS formatter from prettier to vscode-css-languageservice (#1131)
    • If you would like to use Prettier, see Prettier section in #1027
  • Changed setting volar.lowPowerMode to volar.vueserver.useSecondServer and disabled by default
    • When disabled, language service instance reduce a half of memory usage, but auto-complete should be slower in expected
  • "jsx": "preserve" now is required for template type-checking (#1153)

0.33.10 (2022/3/27)

  • feat: support preview features on external browser
    • press Alt key to activating go to code feature
  • fix: can't open multiple preview windows

0.33.9 (2022/3/25)

  • perf: faster vue-tsc watch response
  • fix: memory leak on vue-tsc watch (#1106)
  • fix: emmet block html src path completion (#1105)

0.33.8 (2022/3/24)

  • feat: highlight selections code on preview
  • feat: add setting to disable preview icons (#1101)

0.33.7 (2022/3/23)

  • feat: support nuxt 3 app preview and goto code
  • fix: avoid click event on element when use goto code
  • fix: style codeLens references always show 0 references (#1095)

0.33.6 (2022/3/22)

  • fix: TS completion not working in interpolations (#1088)
  • fix: not respected html.autoCreateQuotes, html.autoClosingTags settings (#840)
  • fix: organize imports code action edge range incorrect (#1091)
  • fix: don't report css module $style types error on vue-tsc (#1089)
  • fix: css vars no effect on vue-tsc (#1093)

0.33.5 (2022/3/21)

  • fix: diagnostics not update (#1076)

0.33.4 (2022/3/21)

  • fix: expand selection broken since 0.33.0 (#1085)
  • fix: vueCompilerOptions typo experimentalRsolveNonScopedCssClasses -> experimentalResolveNonScopedCssClasses
  • fix: 0.33.3 release packages missing /out directory (#1086)

0.33.3 (2022/3/21)

  • feat: support attribute binding syntax :<name>.attr (#1047)
  • feat: supoprt document features for Web IDE (#612)
  • feat: add option to support intellisense for non-scoped css (#1038)
  • feat: reduce vue-tsc depends
  • fix: json schema request service not available since 0.33.0 (#243)
  • fix: remove console.log avoid vim-lsp crash (#1046)
  • fix: emmet suggestions messed up embedded language suggestions (#1039)
  • fix: missing proposals for HTML attribute value (#1072)
  • fix: vue-tsc watch not always catch vue file changes (#1082)
  • fix: previewer not working with pnpm (#1074)
  • fix: global components type not working with vue-class-component (#1061)
  • fix: goto component definition not working with some syntax (#435) (#1048)
  • fix: directives argument should be optional if argument could be undefined (#1040)

0.33.2 (2022/3/15)

  • feat: add option vueCompilerOptions.experimentalDisableTemplateSupport to disable template type-check and intellisense (#577)
  • fix: avoid props jsdoc erase by withDefaults
  • fix: sponsors svg never update

0.33.1 (2022/3/14)

  • feat: improve formatting error tolerance (#1033)
  • fix: template report unexpected errors (#1036) (#1037)
  • fix: can't extract template context in js (#1035)

0.33.0 (2022/3/13)

  • feat: reduce vue-tsc depends
  • feat: support more language features for lang="json" custom block
  • feat: support for goto implementations
    • if you're not using VSCode, you should config new option languageFeatures.implementation = true in initializationOptions to enable it
  • feat: support custom language service plugins for (#1028):
    • change built-in formatters
    • add language support for custom block with any other language yourself
  • feat: support vue-tsc watch (#1030)
  • feat: preview features not longer needed authentication
  • fix: pug formatting broken (#1002)
  • fix: vite app preview not working on windows (#1013)
  • fix: fallback event type behavior for invalid type components (#1001) (#1026)

Breaking changes

  • @volar/server renamed to @volar/vue-language-server
    • cli command vue-server changed to vue-language-server
  • vscode-vue-languageservice renamed to @volar/vue-language-service
  • vscode-typescript-languageservice renamed to @volar/typescript-language-service
  • vscode-json-languageservice renamed to @volar/json-language-service

0.32.1 (2022/3/2)

  • feat: support generic events with props (#981)
  • fix: slots references always 0 (#932)
  • fix: source.organizeImports not working in editor.codeActionsOnSave (#906)
  • fix: component type incorrect if duplicate name with current <script setup> file name (#944)
  • fix: language server broken if TS version < 4.4 (#962)
  • fix: pug outline element level incorrect (#969)
  • fix: document symbols confusion between <script> and <script setup> (#994)
  • fix: vite icon do not show with first editor

0.32.0 (2022/2/25)

  • feat: experimental webview features for vite (#208)
  • perf: bundle extension to speed up startup

0.31.4 (2022/2/14)

  • perf: faster auto-import completion (#808)

0.31.3 (2022/2/13)

  • feat: trigger event auto-complete when input @ (#949)
  • feat: add v-bind:*, v-on:* to auto-complete (#949)
  • feat: avoid auto import added in script block first line (#916)
  • fix: language features not working in symbolic link project (#914)
  • fix: language server throw in process.env.NODE_ENV === 'production' env (#915)
  • fix: component type broken by union event key type (#926)
  • fix: document symbol not working for <script setup> (#938)

0.31.2 (2022/2/6)

  • feat: improve scoped css class name references codeLens, auto-complete (#907)

0.31.1 (2022/1/22)

  • fix: support type export statements on the top in <script setup> (#886)

0.31.0 (2022/1/22)

  • feat: support generic emits (#877)
  • feat: support top level await in <script setup> without extra tsconfig setting (#538)
  • feat: fully support formatting for v-for expression
  • fix: can't ignore variable unused report by _ prefixes in v-for (#878)
  • fix: no error when definitions from <script setup> used in <script> (#766)

0.30.6 (2022/1/19)

  • fix: re-support withDefaults for props type in template (#868)
  • fix: tsconfig report schemas/tsconfig.schema.json missing (#869)
  • fix: enabled editor.semanticHighlighting.enabled by default to avoid component tag show invalid color when installed some themes
  • fix: export default expression semicolon breaks component type in script setup (#874)
  • fix: don't wrap options with defineComponent when convert to setup sugar

Breaking changes

  • When use <script setup>, ignore extra component options wrapper function (defineComponent / Vue.extends ...)

0.30.5 (2022/1/17)

  • fix: vueCompilerOptions intellisense not working on jsconfig
  • fix: vue-tsc broken on windows in 0.30.3

0.30.4 (2022/1/16)

  • fix: component tag semantic highlisht token incorrect with folding (#801)
  • fix: component type broken by withDefaults in 0.30.3

Breaking changes

  • Unsupported withDefaults for component props type

0.30.3 (2022/1/16)

  • feat: auto wrap () to as expression (v-bind="foo as string" -> v-bind="(foo as string)" (#859)
  • feat: support tsconfig properties intellisense on take over mode (#833)
  • feat: support vueCompilerOptions intellisense in tsconfig (#833)
  • fix: vue-tsc and typescript could't guaranteed found each other (#851)
  • fix: avoid vue-tsc stripped props jsdoc comments for script setup components (#799)
  • fix: string source type incorrect in v-for (#839)

Known regressions

  • component type broken by withDefaults
  • vue-tsc broken on windows

0.30.2 (2022/1/4)

  • feat: jsdoc comment suggestion (#827)
  • feat: TS directive comment suggestion
  • feat: auto insert attribute quotes
  • fix: css error range not reliable (#826)
  • fix: html, css completion trigger characters
  • fix: allow loose vue language id for markdown (#831)
  • fix: avoid auto close tag with undo (#837)

0.30.1 (2021/12/27)

  • feat: support vue 2 component slots type (#819)
  • feat: expose component public instance type by defineExpose
  • feat: support scoped class name auto-complete (#752)
  • feat: alway show commands after extension activated (#795)

Breaking changes

  • Unsupported vueCompilerOptions.experimentalExposeScriptSetupContext option

0.30.0 (2021/12/21)

  • feat: support components type-check by static components for class-base component (#753)
  • feat: support vueCompilerOptions.experimentalExposeScriptSetupContext option for jest (#805)
  • feat: support typescript.suggest.autoImports setting (#746)
  • fix: @vue/composition-api defineComponent types incorrect in template (#780)
  • fix: directives syntax highlight incorrect in svg tag (#776)
  • fix: project references ignored jsconfig (#756)
  • fix: html semantic tokens range incorrect in long template code (#801)
  • fix: typescript.preferences.importModuleSpecifier setting not working for component auto import (#793)
  • fix: Organize Imports commmand not always working (#798)
  • fix: css variable injection virtual code cannot update (#777)
  • fix: should not initializes new language service when create a new file (#802)
  • fix: new file first diagnostics incorrect

Breaking changes

  • Do not support component context types in template for export default { ... } without Vue.extend or defineComponent (#750)

0.29.8 (2021/11/30)

  • perf: cache URI.file, URI.parse results
  • fix: pug template type-check broken with omit tag name
  • fix: language server broken with tsconfig extends a non-relative path (#747) (#749)

0.29.7 (2021/11/29)

  • feat: support html, css custom data (#707)
  • feat: support extends tsconfig vueCompilerOptions (#731)
  • fix: cannot config project reference by directory path (#712)
  • fix: pug attrs type-check borken by nested tags (#721)
  • fix: import path rename result incorrect (#723)
  • fix: editor.codeActionsOnSave: ["source.organizeImports"] not working (#726)
  • fix: goto definition not working with some component import statement (#728)
  • fix: don't show volar commands in non-vue document (#733)
  • fix: vue-tsc not working with symlink (#738)

0.29.6 (2021/11/21)

  • fix: attrs show unexpected "not exist" error (#710)
  • fix: verify all scripts not working if no jsconfig / tsconfig
  • fix: organize import edit text range incorrect (#714)
  • fix: class component props type-check not working with multiple props (#705)
  • fix: emmet should not active in template interpolations
  • fix: TS semantic highlight not working

0.29.5 (2021/11/15)

  • feat: open tsconfig when click in status bar
  • feat: add experimentalTemplateCompilerOptionsRequirePath option to allow import compiler options from js file (#698)
  • fix: pug folding ranges break by empty line (#688)
  • fix: reduce the intrusiveness of template type-check hacks (#689)
  • fix: @volar/server entry files missing in npm publish (#695)
  • fix: language server immediately crashes when trigger request at incomplete TS code (#699)
  • fix: html / css path resolve incorrect on windows edge cases (#694)
  • doc: fix incorrect experimentalTemplateCompilerOptions example: "compatConfig": { "Mode": 2 } -> "compatConfig": { "MODE": 2 }

0.29.4 (2021/11/12)

  • feat: syntax highlight support for Web IDE (#612)
  • fix: semantic highlight can't update if project have no tsconfig or jsconfig (#685)

0.29.3 (2021/11/27)

  • feat: support syntax highlighting for lang="toml" (#684)
  • fix: subfolder path resolve logic cause to TS crash edge case (#679)

0.29.2 (2021/11/9)

  • fix: document server created multi time
  • fix: html hover not working in some non-VSCode clients (#678)

0.29.1 (2021/11/9)

  • fix: template AST broken by empty line in pug (#676)
  • fix: intellisense not working if project have no jsconfig / tsconfig (#680) (#681)

0.29.0 (2021/11/7)

  • feat: support namespaced component (#372)
  • feat: more strict .value auto-complete condition
  • feat: show current tsconfig on status bar
  • feat: provide public api to generate script setup type-check code (#650)
  • feat: add sass formatter
  • fix: can't exit split editors by click icon edge cases
  • fix: semantic tokens not working in pug template
  • fix: script setup component name not recognized edge cases
  • fix: ignore template language support if not html or pug (#659)
  • fix: tsconfig types paths resolve incorrect in monorepo (#661)
  • fix: can't update diagnostics on windows + atom
  • fix: project finding logic incorrect with tsconfig referencecs option (#649)
  • fix: {{ }} colorized bracket pairs not working
  • fix: documentSymbol, foldingRanges not working to some *.ts files on take over mode

Breaking changes

  • experimentalCompatMode behavior changed (#576)
    do not force config compatConfig: { Mode: 2 } to template compiler with "experimentalCompatMode": 2

0.28.10 (2021/10/28)

  • feat: improve pug folding range (#636)
  • feat: improve pug tag, attr auto-complete (#638)
  • fix: if trigger component auto-import multiple times, import edit text accumulate (#639)
  • fix: filter current component from component auto-import list
  • fix: normalize request uri for Sublime / Atom (#637)

Known regressions

  • semantic tokens not working in pug template

0.28.9 (2021/10/26)

  • feat: use VSCode 1.61 Split Editor In Group instead of create new editor (#608)
  • feat: split editors layout change from script | template | style to script + style | template
  • feat: tag name conversion work done progress
  • fix: language server broken by circular tsconfig project references (#525) (#631) (#632)
  • fix: vue-tsc can't show "incremental mode / watch mode not support" error message (#630)
  • fix: tag name kebab case -> pascal case conversion not working
  • fix: LSP workspace configuration option not supported (#626)
  • fix: no edit to components option when component auto-import (#634)

0.28.8 (2021/10/24)

  • feat: support html hover settings (#627) (#615)
  • fix: withDefaults can't narrowing props undefined (#611) (#614)
  • fix: vueCompilerOptions not working with vue-tsc --project flag (#613) (#615)
  • fix: tsconfig project references are not respected (#525)

0.28.7 (2021/10/18)

  • fix: can't access $slots, $props... in template if no script block (#601)
  • fix: defineEmit not working with type alias (#607)
  • fix: GlobalComponents working for vue2 (#609)

0.28.6 (2021/10/16)

0.28.5 (2021/10/16)

  • feat: support search workspace symbols (command / ctrl + T) (#549)
  • fix: alias path completion not working in root segment (#589)
  • fix: can't convert invalid component type to any (#594)
  • fix: <script> document symbols result inconsistent to TS

0.28.4 (2021/10/15)

  • feat: support for open *.ts to enable take over mode
  • fix: any type component should not show red color
  • fix: auto-import should not from virtual file __VLS_vue (#584)
  • fix: path auto-complete not working in template (#589)

0.28.3 (2021/10/12)

  • feat: add option to disable component auto import (#440)
  • feat: add volar.takeOverMode.enabled setting to allow enable take over mode even TS extension active
  • fix: only the last typed event of defineEmits gets recognized (#578)
  • fix: syntax highlight incorrect if event name has number
  • fix: dynamic slot syntax highlight incorrect
  • fix: interpolations syntax highlight should not active in html comment block
  • fix: multi-line event expression formatting indent incorrect (#579)

0.28.2 (2021/10/11)

  • fix: args-less events type incorrect (#575)
  • fix: @vue/composition-api events type incorrect (#576)

0.28.1 (2021/10/9)

  • fix: don't report error Its return type 'xxx' is not a valid JSX element. to invalid functional component type (#574)
  • fix: improve $emit types extract for events type-checking (#567)
  • fix: css class references not working for pug (#569)
  • fix: completion broken in Sublime (#573)

0.28.0 (2021/10/8)

  • feat: make vue-tsc version consistency to volar (vue-tsc#72)
  • feat: remove tsPlugin prompt
  • feat: remove vue-tsc version checking
  • fix: avoid noPropertyAccessFromIndexSignature effect to slots (#561)
  • fix: interpolations syntax highlight not working in html (#562)
  • fix: style attr can't end with ' (#563)
  • refactor: rewrite vue-tsc by TS

0.27.30 (2021/10/6)

  • feat: support syntax highlight for vue blocks in markdown
  • feat: support vue directives, interpolations syntax highlight for html / pug code outside vue script
  • fix: template type-checking incorrectly reports error when using pnpm
  • fix: template slots type-check broken
  • fix: allow component type that missing $props property
  • fix: slots type broken by expression-less attributes

0.27.29 (2021/10/6)

  • fix: don't pass unsupport component type to JSX (#553)
  • fix: dynamic props borken (#555)
  • fix: don't show virtual files in find references result
  • fix: directives type-check broken

Breaking changes since 0.27.27

  • If your project includes Storybook or @types/react, you need to config tsconfig types option to avoid @types/react affect to template type-checking. See #552.

0.27.28 (2021/10/3)

  • feat: support generic $slots types
  • feat: improve v-for typing (#546)
  • feat: support vue project isn't root folder (#541)
  • fix: slots type of any type component incorrect (#547)
  • fix: optional $slots type incorrect
  • fix: ignore union type component to avoid error in template (vue-tsc#80)

0.27.27 (2021/10/2)

  • feat: support slots type-checking by $slots property (#539)
  • fix: generic props type-check not working
  • fix: Map index type incorrect in v-for (#544)

0.27.26 (2021/9/28)

  • fix: variables unused report can't update in *.ts in take over mode
  • fix: when save file, next document changes diagnostics, semantic tokens incorrect

0.27.25 (2021/9/26)

  • feat: add open VSCode settings json button in takeover mode prompt
  • feat: disable code convert codeLens by default
  • perf: use VSCode's file watcher instead of TS file watcher to reduce cpu usage (#523)
  • perf: remove redundant fileExists logic
  • fix: fixed zero length TS diagnostics missing (#527)
  • fix: import statements auto-complete not working in latest VSCode

0.27.24 (2021/9/23)

  • feat: support TS annotation on v-model (#518)
  • fix: events type-check don't report errors (#516) (#517)
  • fix: hyphen events types incorrect (#515)
  • fix: find references, renaming not working to template in takeover mode (#519)
  • fix: exclude files should fallback to inferred project (#511) (#445)

0.27.23 (2021/9/20)

  • feat: support <script setup> types in template expressions
  • feat: support TS syntax highlighting in template expressions
  • perf: cpu keep high usages if node_modules contains lot of d.ts files (#507)
  • perf: lazy calculation TS plugin proxy, TS program proxy to reduce initialization time (#507)
  • fix: SFC validation broken with lang="postcss" (#508)

0.27.22 (2021/9/19)

  • feat: remove TS plugin to single extension (#501)
  • fix: v-for item type report circular reference edge case
  • fix: external file snapshot cannot update in TS plugin (#506)
  • fix: cannot extract superset DefineComponent emit option type (#495)
  • fix: sometime component props auto-complete not working in template
  • fix: should not ignore .vitepress folder (#506)
  • fix: fixed a few drive file update event logic

0.27.21 (2021/9/16)

  • feat: support css settings (#492)
  • perf: cache vscode configuration
  • fix: props auto-complete not working for hyphenate components (#487)
  • fix: inline style with line break is broken (#489)
  • fix: cannot find module 'upath' in vscode-pug-languageservice (#493)

0.27.20 (2021/9/14)

  • perf: improve template type-checking performance
  • fix: template component tags coloring range incorrect
  • fix: improve vue-tsc version checking accuracy
  • fix: language server broken when typed \ (#468)
  • fix: remove old status bar items when restart servers (#486)
  • fix: fixed emits type extract failed edge cases

0.27.19 (2021/9/13)

  • feat: support dynamic prop
  • perf: much faster template type-checking for vue-tsc

0.27.18 (2021/9/11)

  • feat: support renaming for ref="xxx" (#472)
  • feat: support bracket pair colorization
  • fix: request failed when typing import | if TS version < 4.3 (#468)
  • fix: ref attribute type incorrect (#473)
  • fix: v-bind + single quote parse failed (#474)
  • fix: tag name conversion not working (#475)
  • fix: auto import path preview not working

0.27.17 (2021/9/9)

  • 🎉 feat: take over mode (#471)
  • feat: ts plugin status bar default hide
  • feat: improve accurate style variables support (#463)
  • fix: javascript format settings not working (#466)
  • fix: semantics token not working in *.ts (#469)
  • fix: fixed formatting result broken extreme case (#470)

0.27.16 (2021/9/7)

  • feat: reuse volar.tsPlugin
  • fix: can't override events type by props
  • fix: don't report error on unknown events
  • fix: any type comoponent should not show red (#461)
  • fix: html element attrs type-check broken

0.27.15 (2021/9/6)

  • fix: template slot type-checking broken (vue-tsc#70)
  • fix: more accurate component props extract (#459)

0.27.14 (2021/9/6)

  • feat: expose @volar/server/out/index.js to volar-server command (#458)
  • fix: component type incorrect if duplicate name in props (#453)
  • fix: fixed typescript.serverPath relative path finding

0.27.13 (2021/9/4)

  • feat: support TS 4.4 (#428)

0.27.12 (2021/9/3)

  • feat: support vue2 nameless event (vue-tsc#67)
  • feat: support lsp client which unsupported workspaceFolders
  • fix: /** */ auto close not working (#446)

0.27.11 (2021/9/1)

  • feat: unused dynamic registration to adapt nvim LSP #441#issuecomment-895019036
  • fix: can't not find template context properties if <script> block missing (#437)
  • fix: import completion incorrectly append $1 (#371)
  • fix: completion should retrigger by space
  • fix: json types cannot update in *.vue on editing

0.27.10 (2021/8/31)

  • fix: <script src> unprocessed since v0.27.8 (vue-tsc#65)
  • fix: TS plugin not working since v0.27.8 (#435)
  • fix: de-ref-sugar conversion can't add missing imports
  • fix: more acurrate code action result

0.27.9 (2021/8/29)

  • feat: low power mode (#390)
  • feat: improve setup sugar conversion
  • fix: setup sugar convert failed since v0.27.8
  • fix: incorrect indentation after generic argument (#429)

0.27.8 (2021/8/29)

  • feat: consistent folding range with typescript-language-features (#414)
  • feat: support custom directives type-checking with <script setup> (#422)
  • feat: check directives used for <script setup> (#327)
  • feat: improve SFC parser (#420)
  • feat: .vscodeignore whitelist (#423)
  • feat: more loose template type-check with <script lang="js">
  • fix: specific language syntax highlighting not working with single quotes (#409)
  • fix: component should be any is no script block (#412)
  • fix: add @volar/server missing deps (LSP-volar#9)
  • fix: add @volar/transforms missing deps (#430)
  • fix: jsx / tsx syntax highlighting broken by html syntax injection (#426)
  • perf: fixed high CPU usage after switched branch (#432)

Breaking changes

  • remove tsPlugin required / unrequired prompt and volar.tsPlugin setting

0.27.7 (2021/8/22)

  • feat: check vue-tsc version on start extension (#381)
  • feat: support for non-tsconfig project (#349)
  • fix: tsconfig priority should be higher than jsconfig (#400)
  • fix: fixed hover info broken in *.ts when TS plugin enabled

0.27.6 (2021/8/21)

  • feat: support multiple v-bind(...) in single css expression
  • feat: support v-bind(...) expression syntax with quotes
  • fix: unhandled language client option: showReferencesNotification
  • fix: codeLens resolve request broken in template

0.27.5 (2021/8/21)

  • fix: language server borken when execute sugar convert commands (#397)

0.27.4 (2021/8/21)

  • feat: support css variable injection (#335)
  • feat: make <script setup> below <script> when convert to setup sugar (#378)
  • feat: support sfc named css modules (#379)
  • fix: export default { ... } syntax broken with setup sugar (#383)
  • fix: attr name case option "pascalCase" -> "camelCase" (#384)
  • fix: html completion edit range incorrect if typing before old completion request finish (#385)
  • perf: faster intellisense and diagnostic in <template>

0.27.3 (2021/8/17)

  • fix: go to component props definition broken in template
  • perf: reduce virtual files for TS project (against 0.27.2)

0.27.2 (2021/8/17)

  • feat: support template type-checking with jsdoc in <script lang="js">
  • fix: setup() return properties unused check not working for component
  • fix: radio v-model should not bind to checked
  • fix: clear registered commands when restart servers (#374)

0.27.1 (2021/8/15)

  • fix: remove vscode-emmet-helper rename warning for vue-tsc
  • fix: components option should be remove when convert to setup sugar
  • fix: fixed sometime throw error when convert setup sugar
  • fix: prevent top level await error in <script> block

0.27.0 (2021/8/15)

  • feat: support ref sugar (take 2) convert codeLens
  • feat: support setup sugar convert codeLens
  • feat: support more TS refactor code actions
  • perf: faster code action and validation
  • fix: setup returns unused check not working

Breaking changes

  • unsupported ref sugar (take 1) syntax and convert codeLens

0.26.16 (2021/8/12)

  • feat: improve pug conversion result (#363)
  • feat: improve DocumentSymbolRequest support
  • feat: support SelectionRangeRequest
  • fix: diagnostics do not report with open second vue document
  • fix: add missing vscode-uri dep (#365)
  • fix: "Delete all unused imports" code action not working
  • perf: faster split editors
  • perf: faster document update for html server
  • perf: move codeAction to api server to prevent codeAction request blocking by diagnostics when save + auto-formatting

@volar/server Breaking changes

  • ServerInitializationOptions: features -> languageFeatures
  • ServerInitializationOptions: htmlFeatures -> documentFeatures
  • ServerInitializationOptions: move selectionRange, documentSymbol, documentColor to documentFeatures
  • remove RestartServerNotification (restart by client now)

0.26.15 (2021/8/11)

  • feat: support GraphQL custom block
  • feat: support inline GraphQL syntax highlighting (#358)
  • fix: checkbox, radio input tag v-model prop name should be "checked" (#356) (vue-tsc#55)
  • fix: ignore "checkJs": true for template interpolations (#353)
  • perf: reuse ts.createSourceFile result to reduce script contents update cost

0.26.14 (2021/8/9)

  • fix: prevent vue-tsc --noEmit warnings with "experimentalCompatMode": 2 #351#issuecomment-895019036
  • fix: vue-tsc build failed with <xxx v-for v-slot> due to code gen side effects (vue-tsc#53)

0.26.13 (2021/8/9)

  • fix: republish to replace incorrect script name: vue2templateCompiler.js -> vue2TemplateCompiler.js (#352)

0.26.12 (2021/8/9)

  • 🎉 feat: support for vue 2 template (#351)
  • fix: support for "noPropertyAccessFromIndexSignature": true (#350)
  • fix: .value should not append in function parameter name
  • fix: .value should not append in object property assignment name
  • perf: reuse template compile result

0.26.11 (2021/8/5)

  • feat: support for workspace trust
  • feat: support config for HTML formatting print width by volar.formatting.printWidth option (#321)
  • feat: support for typescript updateImportsOnFileMove setting to disable prompt (#332)
  • feat: add "Show in Browser" button to component preview
  • fix: <input>, <textarea>, <select> v-model prop name shoud be value
  • fix: component preview not working on windows
  • fix: delete file can't trigger related scripts diagnostics update
  • fix: disable component tag type-checking to avoid some unable fix edge cases (#333)

0.26.10 (2021/7/31)

  • chore: refactor @volar/server API and released @volar/server
  • perf: remove vscode.css-language-features and vscode.html-language-features rely (vscode#98621)
  • fix: .value should not append in function declaration name and literal type
  • fix: update extra virtual files before check virtual file exist (#326)
  • fix: convert tag name case command not working

0.26.9 (2021/7/25)

  • feat: improve for slot name type-check
  • feat: experimental component preview
  • feat: improve template code finder (#208)
  • feat: add refresh webview button
  • fix: hover request failed with jsdoc @link
  • fix: prevent null emmet configs (#247)

0.26.8 (2021/7/24)

  • feat: remove import type checking for <script setup> (#325)
  • feat: add ref sugar deprecated message
  • fix: goto definition not working for lang="js" target without allowJs

0.26.7 (2021/7/23)

  • feat: support formatting in v-for expressions
  • feat: change interpolation braces syntax token
  • fix: fixed a few problems when goto definition to import file path
  • fix: <script lang="x"> change should update template verification
  • perf: faster diagnostics

0.26.6 (2021/7/21)

  • feat: support component auto-import with empty script block (#232)
  • feat: disable template type-checking with <script lang="js"> (#46)
  • fix: remove missing deps (vue-tsc#45#issuecomment-882319471)
  • fix: change TS library file rely from tsserver.js to tsserverlibrary.js
  • fix: css references codeLens broken
  • fix: TS completion resolve failed with jsdoc link
  • fix: convert tag name case failed edge case

0.26.5 (2021/7/19)

  • feat: add remove all ref sugar command
  • feat: improve ref sugar remove tool
  • fix: fixed find references never finish edge cases
  • fix: template type-checking not working with <script lang="js"> (#319)
  • fix: definition selection range incorrect
  • fix: fixed monorepo project alway pop warning
  • fix: preset empty object if can't get TS settings (#316)

0.26.4 (2021/7/18)

  • feat: update supports for vscode 1.58
  • refactor: remove formatters deps for vue-tsc
  • fix: script block virtual script language incorrect (should not force to ts)
  • fix: goto definition broken with ref sugar

0.26.3 (2021/7/17)

  • feat: support FunctionalComponent events type-check
  • feat: support for TS setttings (for TS preferences, formatOptions)
  • fix: withDefaults props type incorrect in template
  • fix: downgrade @vue/compiler-sfc to fix template range for formatting, codeLens
  • fix: handle SFC parse failed for component auto-import
  • fix: semanticTokens search range incorrect

0.26.2 (2021/7/16)

  • fix: fixed a few TS semanticTokens problems
  • fix: namespace imports should expose to template (#311)
  • fix: events auto-complete names incorrect with attr: pascalCase config (#312)
  • fix: validation for "virtual script exist" not working
  • fix: TS completion documentation incomplete
  • perf: fix can't reuse old TS program if <script lang="js"> exist since 0.26.0

0.26.1 (2021/7/15)

  • fix: fixed a few TS renaming, find referenecs problems
  • fix: first time *.vue file change can't effect *.ts diagnostics

0.26.0 (2021/7/15)

  • feat: split TS language service to script TS language service and template TS language service (#94) (#253)
  • fix: optional props type incorrect in <script setup> (#302)
  • fix: formatting make double spacing in empty pug template block (#304)
  • fix: fixed callHierarchy request failed if skip prepare request

0.25.28 (2021/7/6)

  • feat: improve volar.autoCompleteRefs and make it out of experimental (#201)
  • fix: ref sugar not working with nullish coalescing operator (#291)

0.25.27 (2021/7/5)

  • fix: hover broken with jsdoc @link tag (#289)
  • fix: prop type incorrect in template with withDefaults() (#290)

0.25.26 (2021/7/3)

  • feat: support withDefaults() in <script setup>
  • feat: expose <script> variables to template in <script setup>
  • feat: change defineEmit to defineEmits in <script setup> (defineEmit still support a period of time)
  • fix: improve event type infer (#286) (#287)
  • fix: improve empty attribute type infer (#288)

0.25.25 (2021/7/1)

  • fix: can't assign expression to no args event (#270)
  • fix: empty attr type incorrect (#261)
  • fix: completion resolve broken in TS 3.4

0.25.24 (2021/6/30)

  • fix: prevent throw error with unknown tag's properties (#284)
  • fix: add patch for <script src> TS file path (vue-tsc#30)

0.25.23 (2021/6/30)

  • feat: expose ClassDeclaration, EnumDeclaration from <script setup> (#274)
  • fix: template context broken with <script lang="tsx"> (#275)
  • fix: don't convert source code to unicode with component auto-import (#272)
  • fix: don't infer update:xxx event type by props (#266)
  • fix: functional component type-check behavior inconsistent with JSX (#268)

0.25.22 (2021/6/12)

  • feat: improve TS diagnostic message (#259)
  • fix: incorrect unescaping of literal strings (#262)
  • fix: dynamic slot name do not consume variable (#263)
  • fix: temporary html completion info leak to hover info
  • fix: TS definition result duplicate

0.25.21 (2021/6/8)

  • feat: support for typescript pnp (#248)
  • feat: improve component auto-import path calculate
  • fix: Write Virtual Files command not working

0.25.20 (2021/6/7)

  • fix: remove fs-extra to fix at-least-node module missing

0.25.19 (...)

  • feat: support json schema request service (#243)
  • feat: support shortest component auto-import path (#233)
  • fix: component auto-import not working with dash (#249)
  • fix: fix some Cannot read property ... errors (#247) (#251)
  • fix: syntax highlighting not working for lang="jsx"
  • fix: folding not working for jsx (#234)

0.25.18 (...)

  • fix: fix vue-tsc build failed

0.25.17 (2021/6/1)

  • feat: support for change TS version by typescript.tsdk option (#224)
  • feat: support for TS 4.3
  • fix: auto import component should prior choice <script setup>
  • fix: disable component auto import if no any <script> block

0.25.16 (2021/5/31)

  • fix: language server broken with incorrect module importing

0.25.15 (2021/5/31)

  • feat: auto import component in template (#194)
  • feat: filter duplicate event modifiers completion
  • fix: path completion not working for <script src> without lang="ts" (#223)

0.25.14 (2021/5/28)

  • feat: add option to hide the split icon at the top right corner (#195)
  • feat: add ts plugin description link in ts plugin menu
  • fix: file icons are emptied when importing (#198)
  • fix: css prepareRename range incorrect if no <template> (#212)
  • fix: don't report lang="ts" missing if script content is empty (#215)
  • fix: ts plugin features broken with json script kind 0386094
  • fix: component rename breaks the component source file (#206)
  • fix: emmet should not working in template expression interpolations

0.25.13 (2021/5/26)

0.25.12 (2021/5/24)

  • feat: support props type override (#202)
  • fix: support <component :is> type-checking with VNode (vue-tsc#34)
  • fix: cannot find module 'upath' with pnpm (#204)

0.25.11 (2021/5/24)

  • feat: support find definition in *.ts even ts plugin disabled
  • feat: new experimental preview feature
  • fix: <script setup> component name incorrect
  • fix: inline style breaks SFC syntax highlighting (#199)

0.25.10 (2021/5/21)

  • fix: <template> tag child nodes syntax highlighting broken

0.25.9 (2021/5/21)

  • feat: support recursive components for <script setup>
  • fix: improve type-checking for <component :is> (#196)
  • fix: fix <template> block syntax highlighting broken edge cases (#192)

0.25.8 (2021/5/19)

  • feat: support for <component :is> type-checking

0.25.7 (2021/5/19)

  • 🎉 feat: support for named recursive components (#190)

0.25.6 (2021/5/18)

  • fix: custom events type-checking broken
  • perf: optimize get script version (#186)

0.25.5 (2021/5/18)

  • feat: improve UX for TS plugin status bar
  • feat: support syntax highlighting for lang="json", lang="jsonc", lang="yaml", lang="md" (#127)
  • feat: support validation for lang="json", lang="jsonc"
  • feat: support emmet for JSX, TSX (#184)
  • fix: fix template syntax highlighting broken edge cases
  • fix: fix auto-import not working edge cases
  • fix: should not have auto-import from virtual files
  • fix: native events types incorrect if component do not have emits option (#180)

0.25.4 (2021/5/12)

  • feat: improve embedded languages syntax highlight
  • feat: support html snippets in template
  • feat: add create workspace snippets command
  • fix: pug autocomplete broken with class attribute (#177)

0.25.3 (2021/5/10)

  • perf: fix pug semantic tokens performance loophole (#162)
  • feat: released typescript-vue-plugin (#169)
  • fix: split editors icon size incorrect (#170)

0.25.2 (2021/5/7)

  • feat: improve component tag hover info
  • feat: improve component types for export default { ... }
  • feat: support for generic functional component

0.25.1 (2021/5/4)

  • feat: move "Start Split Editing Mode" to command
  • fix: props auto-complete not working
  • fix: fix released npm package size

0.25.0 (2021/5/3)

  • feat: split status bar item <TagName attr-name> to Tag: xxx, Attr: xxx
  • fix: tag name case status bar item not working on start
  • fix: <style module> class name renaming result incorrect
  • fix: hyphenat component renaming not working
  • fix: ref sugar renaming result incorrect with destructure
  • fix: ref sugar renaming not working on right expression

0.24.6 (2021/5/2)

  • 🎉 feat: support find references in *.ts even ts plugin disabled
  • fix: Set<any> item type incorrect in v-for
  • fix: server initializing progress not working
  • fix: add patching for @vue/composition-api event types for now

0.24.5 (2021/4/27)

  • fix: css hover quick info not working
  • perf: don't send source map to lsp protocol to avoid json parse

0.24.4 (2021/4/27)

  • feat: support path completion for template languages (html, pug)
  • feat: support path completion for style languages (css, less, scss, postcss)
  • feat: support css code action
  • feat: dynamic resolve url links in css
  • fix: filter invalid component names #159
  • fix: css completion broken
  • fix: don't increase indent on <script>, <style>

0.24.3 (2021/4/26)

  • feat: new IDE option volar.preferredAttrNameCase
  • feat: support change props completion name case in status bar
  • fix: component tag name case conversion not working edge case
  • perf: fix html completion should not calculate every times typing

0.24.2 (2021/4/26)

  • feat: new IDE option volar.preferredTagNameCase #156
  • feat: new status bar item for support change completion tag name case
  • feat: component tag name case conversion
  • feat: support adding breakpoints #107
  • fix: don't report error if class name does not exist in $style #157
  • fix: don't complete attribute value for v-else, scoped, module, setup
  • revoke: remove Volar: Format All Scripts command (use Format All Files in Workspace extension for replacement)

0.24.1 (2021/4/20)

  • fix: ref sugar report incorrect errors on vue-tsc vue-tsc#18
  • fix: <slot> should not report error with defineComponent(function () { ... }) vue-tsc#21

0.24.0 (2021/4/14)

  • feat: new option Don't care for TS plugin by default to reduce reload vscode
  • feat: check variables is valid returns for <script setup>
  • fix: pug template checking broken with vue-tsc vue-tsc#14
  • fix: emmet completion working incorrectly #135
  • fix: import path completion replace range incorrect
  • fix: define slot props as const
  • perf: faster typescript diagnosis response

Breaking changes

See: #134

  • feat: unsupport volar.style.defaultLanguage option
  • feat: unsupport @vue-ignore

0.23.7 (2021/4/10)

  • feat: improve type-checking of dynamic slot
  • chore: simplify v-on modifiers completion label

0.23.6 (2021/4/9)

  • feat: event modifiers auto-complete #126
  • fix: v-else-if type narrowing not works in last branch #130

0.23.5 (2021/4/7)

  • feat: improve types infer without defineComponent #59
  • fix: handle readonly array in v-for
  • fix: template context not update on completion
  • perf: don't update project version if document content no changes