# What changed in vue-tsc

> 104 changes in vue-tsc 3 from its official release notes, upgrade guides and advisories: 8 breaking, 3 deprecations, 1 security, 3 new APIs and options. Each one cited. Sources checked 2026-10-18. HTML: https://unstale.sh/npm/vue-tsc/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## vue-tsc 3

### Breaking changes

- Stops component-meta from checking JavaScript Vue files as TypeScript. (3.3.12) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#3312-2026-10-02)
- Overrides the inherited plugin list instead of being deduplicated during resolution. (3.3.12) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#3312-2026-10-02)
- class and style are no longer treated as boolean properties. (3.3.4) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#334-2026-06-08)
- Slot props are camelized regardless of the htmlAttributes option. (3.3.4) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#334-2026-06-08)
- Plugin configs are now placed under ctx.config. (3.2.4) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#324-2026-01-26)
- Prioritizes non-warning completion entries over warning entries. (3.2.0) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#320-2025-12-20)
- Narrows component and directive types, affecting the types available when using them. (3.2.0) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#320-2025-12-20)
- Removes the ComponentType helper. (3.2.0) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#320-2025-12-20)

### Security

- Improved handling of untrusted Vue files. (3.3.12) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#3312-2026-10-02)

### Deprecations

- The allCodeFeatures API is deprecated as code features are centralized. (3.3.6) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#336-2026-06-30)
- Deprecates the forceUseTs option. (3.2.0) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#320-2025-12-20)
- Deprecates the noDeclarations option. (3.2.0) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#320-2025-12-20)

### New APIs and options

- Makes the VS Code welcome page configurable. (3.3.11) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#3311-2026-08-21)
- Language plugins can now be configured. (3.2.3) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#323-2026-01-23)
- Adds tags to slot metadata. (3.2.0) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#320-2025-12-20)

### Performance

- Reduces focus mode overhead in the VS Code extension. (3.3.12) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#3312-2026-10-02)
- A subset of template node transforms was rewritten for performance. (3.2.9) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#329-2026-05-14)

### Behavior and default changes

- Already-set props are excluded from inherited attrs only when this option is enabled. (3.3.4) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#334-2026-06-08)
- Document symbols use the default HTML data provider. (3.2.5) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#325-2026-02-21)
- Object keys are inferred as strings when they do not extend string. (3.2.3) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#323-2026-01-23)

### Tooling

- Infers the first parameter type of a default factory for defineModel. (3.3.12) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#3312-2026-10-02)
- Supports calling template bindings without `.value`. (3.3.12) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#3312-2026-10-02)
- Generates full fragment props for type checking. (3.3.11) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#3311-2026-08-21)
- Different extension sets across project references are supported. (3.3.10) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#3310-2026-08-15)
- Checks unused generic type parameters. (3.3.9) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#339-2026-07-31)
- Upgrade to TypeScript 7 and support @typescript/typescript6. (3.3.8) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#338-2026-07-22)
- Support vapor directives in language-core. (3.3.8) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#338-2026-07-22)
- Setup bindings are included as potential component names. (3.3.6) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#336-2026-06-30)
- Hints for destructured props respect variable hoisting. (3.3.4) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#334-2026-06-08)
- Duplicate event listeners are detected across name formats. (3.3.4) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#334-2026-06-08)
- Preserves literal types for inline v-for sources, allowing their literal types to remain available to type checking. (3.3.2) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#332-2026-05-25)
- Gets component prop details from symbols. (3.3.1) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#331-2026-05-19)
- Skips unchecked JS identifiers. (3.3.1) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#331-2026-05-19)
- Includes extraFileExtensions in the tsserver configure request payload. (3.3.0) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#330-2026-05-18)
- Props completion follows TypeScript behavior, filters fallback global completions, and returns props only for component nodes. (3.3.0) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#330-2026-05-18)
- Adds checks for required fallthrough attributes. (3.3.0) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#330-2026-05-18)
- Navigation now works for kebab-case declarations in GlobalComponents. (3.2.8) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#328-2026-05-04)
- SCSS @import navigation now supports TypeScript module resolution. (3.2.8) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#328-2026-05-04)
- Uses a regex for TypeScript extension patching to support VS Code 1.110+. (3.2.6) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#326-2026-03-17)
- Type annotation is now supported via generics. (3.2.4) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#324-2026-01-26)
- Quick info is forwarded only for original results without tags. (3.2.3) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#323-2026-01-23)
- Completion edits for boolean props strip `=""`. (3.2.2) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#322-2026-01-06)
- Avoids duplicate directive modifiers in completion. (3.2.2) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#322-2026-01-06)
- Pre-maps the HTML to Pug offset attribute. (3.2.2) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#322-2026-01-06)
- Quick info and suggestion diagnostics are forwarded only for setup bindings. (3.2.2) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#322-2026-01-06)
- Corrects code features on v-bind shorthands of special attributes. (3.2.2) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#322-2026-01-06)
- Shorthand props are shown only when no prefix has been typed. (3.2.1) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#321-2025-12-22)
- Handles type imports in component auto-import. (3.2.0) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#320-2025-12-20)
- Handles import type nodes in the definition proxy. (3.2.0) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#320-2025-12-20)
- Adds tags to exposed metadata. (3.2.0) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#320-2025-12-20)
- Renaming global components now includes end tag locations. (3.2.0) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#320-2025-12-20)
- Supports markdown JSDoc for rich hover message descriptions. (3.2.0) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#320-2025-12-20)
- Adds rich hover messages in the language service. (3.2.0) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#320-2025-12-20)
- Adds support for the `<!-- @strictTemplates -->` magic comment. (3.2.0) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#320-2025-12-20)

### Fixes and other changes

- Avoids calling registerHooks on buggy Node versions. (3.3.13) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#3313-2026-10-10)
- Setup macros are generated without static imports. (3.3.13) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#3313-2026-10-10)
- Reports duplicate CSS module names, including names that are not identifiers. (3.3.12) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#3312-2026-10-02)
- Checks directive bindings with short arity by padding directive hook signatures. (3.3.12) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#3312-2026-10-02)
- Prevents typedef JSDoc from leaking into emitted declaration files. (3.3.12) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#3312-2026-10-02)
- Continues reference span fix-up when files have no styles. (3.3.12) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#3312-2026-10-02)
- Corrects template mapping boundaries and eliminates unmapped diagnostics. (3.3.12) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#3312-2026-10-02)
- Prevents watch mode from crashing on incremental builds. (3.3.12) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#3312-2026-10-02)
- Preserves union props when using withDefaults. (3.3.12) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#3312-2026-10-02)
- Invalidates module resolution caches when files are deleted. (3.3.11) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#3311-2026-08-21)
- Invalidates casing detection after template changes. (3.3.11) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#3311-2026-08-21)
- Trailing whitespace after generic parameter commas is ignored, preventing it from affecting type analysis. (3.3.10) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#3310-2026-08-15)
- SFC blocks are no longer extracted across inline Markdown code. (3.3.10) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#3310-2026-08-15)
- The item type is resolved over generic sources, improving type inference for v-for items. (3.3.10) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#3310-2026-08-15)
- Preserves trailing and current directive modifiers when completing inside a directive and when filtering duplicates. (3.3.9) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#339-2026-07-31)
- Single-expression event handlers are wrapped to avoid automatic semicolon insertion after return. (3.3.7) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#337-2026-07-08)
- Const globals are filtered from template completions. (3.3.7) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#337-2026-07-08)
- Event handler expressions are treated as compound more accurately, preserving return types. (3.3.6) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#336-2026-06-30)
- Inference is made type-safe across the .d.ts boundary. (3.3.6) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#336-2026-06-30)
- CSS v-bind parsing now matches upstream behavior. (3.3.6) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#336-2026-06-30)
- Duplicate listener checks now include event modifiers and raw event parts. (3.3.5) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#335-2026-06-13)
- Prevents grammar scopes from leaking in capitalized tags. (3.3.3) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#333-2026-05-30)
- Preserves TypeScript auto imports behavior in Vue files. (3.3.3) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#333-2026-05-30)
- Aligns identifier skipping for v-bind shorthand with interpolation. (3.3.2) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#332-2026-05-25)
- Avoids reporting an extraneous children error for conditional slots. (3.3.1) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#331-2026-05-19)
- Resolves the TypeScript plugin path from the resolved server path. (3.3.1) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#331-2026-05-19)
- Completion edits strip `=""` only for plain boolean props, and the default data provider is reset after using the Vue data provider. (3.3.0) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#330-2026-05-18)
- Re-supports html.customData for supplying custom HTML data. (3.3.0) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#330-2026-05-18)
- Avoids infinite diagnostics on Vue files when project diagnostics is enabled. (3.3.0) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#330-2026-05-18)
- Root-node collection now penetrates v-if branch fragments, improving single-root detection. (3.3.0) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#330-2026-05-18)
- File rename edits are triggered when moving folders with Vue files. (3.2.9) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#329-2026-05-14)
- Inline markdown syntax is no longer processed in semantic-aware segments. (3.2.9) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#329-2026-05-14)
- Generates the $slots type correctly in templates when using defineSlots. (3.2.6) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#326-2026-03-17)
- Avoids false positives when detecting destructured props on binding property names. (3.2.6) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#326-2026-03-17)
- Infers only the readonly component of arrays in v-for. (3.2.6) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#326-2026-03-17)
- Backtick attributes containing both quote types are handled. (3.2.5) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#325-2026-02-21)
- The template is re-parsed when interpolation syntax breaks. (3.2.5) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#325-2026-02-21)
- Using defineModel in lang="js" no longer breaks the AST. (3.2.3) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#323-2026-01-23)
- Indentation for <style> and <script> tags is corrected. (3.2.3) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#323-2026-01-23)
- Rename behavior is corrected for same-name shorthands in templates. (3.2.3) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#323-2026-01-23)
- Strings are no longer used with yield*. (3.2.3) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#323-2026-01-23)
- Provides accurate mapping for Pug shorthands. (3.2.2) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#322-2026-01-06)
- Schema resolution is skipped correctly when option is false. (3.2.1) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#321-2025-12-22)
- Array types are now inferred in v-for. (3.2.1) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#321-2025-12-22)
- Finding references to CSS classes now includes the leading dot. (3.2.0) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#320-2025-12-20)
- Filters irrelevant properties from exposed metadata. (3.2.0) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#320-2025-12-20)
- Fixes a missing module error that occurs after a file rename. (3.2.0) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#320-2025-12-20)
- Correctly resolves `<script src="">` references. (3.2.0) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#320-2025-12-20)
- Aligns the v-for key type with Object.keys. (3.2.0) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#320-2025-12-20)
- Reverts an overcorrection in v-for type inference, changing the types inferred for v-for expressions. (3.2.0) — [release notes](https://github.com/vuejs/language-tools/blob/f2d92d3f1cb5513268fff358993f163e78d4821a/CHANGELOG.md#320-2025-12-20)
