v2.1.0
Features
- language-core: inlay hints for destructured props (#4634) - Thanks to @KazariEX!
- language-core: typed fallthrough attributes (#4103) - Thanks to @A5rocks, @so1ve!
- language-core: document links for classname within
:class
(#4642) - Thanks to @KazariEX! - language-core: auto infer type for $refs & useTemplateRef (#4644) - Thanks to @zhiyuanzmj!
- language-core: type support for CSS Modules API (#4674) - Thanks to @KazariEX!
- language-service: better completion for directives (#4640) - Thanks to @KazariEX!
- language-service: better sorting & filtering of completion (#4671) - Thanks to @KazariEX!
- language-service: add style scoped and module completion (#4705) - Thanks to @runyasak!
Bug Fixes
- vscode: type of
vue.server.hybridMode
config (#4703) - Thanks to @KermanX! - language-core: dependency on vulnerable version of
vue-template-compiler
(#4613) - Thanks to @yyx990803! - language-core: support parse method to access ctx var in object (#4609) - Thanks to @linghaoSu!
- language-core: escape \ and ' in className avoid type error (#4619) - Thanks to @linghaoSu!
- language-core: semantic highlight of the end tag of namespaced elements (#4623) - Thanks to @KermanX!
- language-core: nullable modelvalues (#4648) - Thanks to @davidmatter!
- language-core: should try casting dynamic slot name into constant (#4669) - Thanks to @KermanX!
- language-core: local name support for prop using runtime api (#4650) - Thanks to @KazariEX!
- language-core: optimize matching of scoped class and
v-bind()
(#4679) - Thanks to @KazariEX! - language-core: should preserve generic info in directive (#4686) - Thanks to @KermanX!
- language-core: generate
ref
as identifier instead of interpolation (#4688) - Thanks to @KazariEX! - language-core: correct type narrowing from script to template (#4689) - Thanks to @KazariEX!
- language-core: should camelize prop name in
experimentalModelPropName
(#4691) - Thanks to @KermanX! - language-core: drop duplicate hints on incomplete tag (#4696) - Thanks to @KazariEX!
- language-core: correct inlay hints for v-bind with modifier (#4721) - Thanks to @KazariEX!
- language-core: transform range of
file-md
correctly (#4735) - Thanks to @KazariEX! - language-plugin-pug: should cache proxyed object (#4626) - Thanks to @KermanX!
- language-plugin-pug: compute offset correctly of pug class (#4652) - Thanks to @KazariEX!
- language-service: completion documentations for binding attributes (#4667) - Thanks to @KazariEX!
- language-service: avoid converting internal id of special tags (#4643) - Thanks to @KazariEX!
- language-service: reinstate the completion for modifiers (#4639) - Thanks to @KazariEX!
- language-service: consistent data from provider for sfc completion (#4645) - Thanks to @KazariEX!
- typescript-plugin: unknown request type warning (#4715) - Thanks to @davidmatter!
Refactors
- language-core: extract SFC root tags to separate virtual code
- language-core: removed
__hint
trick from codegen - language-core: rewrite a part of confusing codegen code
- language-core: reduce virtual code generated by component tags (#4714)
- language-core: do not wrap template virtual code with function (#4731)
- language-core: write real files to FS for shared global types (#4736)
- component-meta: remove deprecated
createComponentMetaCheckerByJsonConfig
,createComponentMetaChecker
api
Other Changes
- Upgraded Volar from
v2.4.0-alpha.18
tov2.4.1
:- Ensure unopened files are synced to project (#4711) (#4632) - Thanks to @davidmatter!
- ci: integrated pkg.pr.new
- tsc: test all typecheck cases in one tsconfig (#4723)
- tsc: add test for TS-next (#4724)
- tsc: add tests for for #3779, #3820 (#3838) - Thanks to @so1ve!
- vscode: add grammar test (#3861) - Thanks to @so1ve!
- language-service: migrate tests to
@volar/test-utils
(#4719) - language-core: add scoped classes renaming case (#4727) - Thanks to @KazariEX!
Please refer to CHANGELOG.md for details.