Skip to content
Merged

v3.0.6 #5608

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,26 @@

## 3.0.6 (2025-08-20)

### Bug Fixes

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

### Other Changes

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

## 3.0.5 (2025-08-01)

### Features
Expand Down
2 changes: 1 addition & 1 deletion extensions/vscode/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -98,9 +98,9 @@ export const { activate, deactivate } = defineExtension(() => {

activateAutoInsertion(selectors, client);
activateDocumentDropEdit(selectors, client);
activateWelcome();
}, { immediate: true });

activateWelcome(context);
useCommand('vue.action.restartServer', async () => {
await executeCommand('typescript.restartTsServer');
await client?.stop();
Expand Down
66 changes: 57 additions & 9 deletions extensions/vscode/lib/welcome.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
import { extensionContext, useCommand } from 'reactive-vscode';
import { useCommand } from 'reactive-vscode';
import * as vscode from 'vscode';

const welcomeVersion = '3.0.6';

let panel: vscode.WebviewPanel | undefined;

export function activate() {
export function activate(context: vscode.ExtensionContext) {
useCommand('vue.welcome', () => {
if (panel) {
panel.reveal(vscode.ViewColumn.One);
Expand All @@ -17,24 +19,34 @@ export function activate() {
{ enableScripts: true },
);

panel.webview.html = getWelcomeHtml();
panel.webview.html = getWelcomeHtml(context);
panel.webview.onDidReceiveMessage(message => {
switch (message.command) {
case 'verifySponsor':
vscode.commands.executeCommand('vue.action.verify');
break;
case 'toggleShowUpdates':
context.globalState.update('vue.showUpdates', message.value);
break;
}
});

panel.onDidDispose(() => {
panel = undefined;
});
});
}

function getWelcomeHtml() {
const version = extensionContext.value?.extension.packageJSON.version;
if (
context.globalState.get('vue.showUpdates', true)
&& context.globalState.get('vue-welcome') !== welcomeVersion
) {
context.globalState.update('vue-welcome', welcomeVersion);
vscode.commands.executeCommand('vue.welcome');
}
}

function getWelcomeHtml(context: vscode.ExtensionContext) {
const version = context.extension.packageJSON.version;
return /* HTML */ `
<!DOCTYPE html>
<html lang="en">
Expand All @@ -48,6 +60,9 @@ function getWelcomeHtml() {
function verifySponsor() {
vscode.postMessage({ command: 'verifySponsor' });
}
function toggleShowUpdates(value) {
vscode.postMessage({ command: 'toggleShowUpdates', value });
}
</script>
<style>
body {
Expand Down Expand Up @@ -319,8 +334,40 @@ function getWelcomeHtml() {
</header>
<hr>

<h2>📣 What's New</h2>
<div style="display: flex; justify-content: center; margin: 1.5rem 0;">
<label>
<input type="checkbox" onchange="toggleShowUpdates(this.checked)" ${
context.globalState.get('vue.showUpdates', true) ? 'checked' : ''
}>
<span>Show release notes on every significant update</span>
</label>
</div>

<div class="card whats-new-card">
<h3>3.0.6</h3>
<ul style="margin: 0; padding-left: 1.25rem;">
<li>✨ The official extension has now been renamed to "Vue.js"</li>
<li>🚀 Expandable Hovers support for TypeScript (<a href="https://code.visualstudio.com/updates/v1_100#_expandable-hovers-for-javascript-and-typescript-experimental" target="_blank">Learn More</a>)</li>
<li>🐛 8+ bug fixes</li>
</ul>
<div
style="margin-top: 1.5rem; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem;">
<a href="https://github.com/vuejs/language-tools/releases/tag/v3.0.6" target="_blank"
style="display: inline-flex; align-items: center; gap: 0.5rem; color: var(--vscode-textLink-foreground);">
<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
<path
d="M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z" />
</svg>
Full Release Notes
</a>
<div style="display: flex; gap: 0.5rem; font-size: 0.9em; color: var(--vscode-descriptionForeground);">
<span>Released: August 2025</span>
<span>•</span>
<span>v3.0.6</span>
</div>
</div>
<br>

<h3>3.0.2</h3>
<ul style="margin: 0; padding-left: 1.25rem;">
<li>🚀 Improve memory usage in extreme cases</li>
Expand All @@ -343,6 +390,7 @@ function getWelcomeHtml() {
</div>
</div>
<br>

<h3>3.0.0</h3>
<ul style="margin: 0; padding-left: 1.25rem;">
<li>🚀 Significantly improved Hybrid Mode stability</li>
Expand Down Expand Up @@ -418,7 +466,7 @@ function getWelcomeHtml() {
</div>
</div>

<h2>💎 Premium Features</h2>
<h2>🚀 Premium Features</h2>
<div class="features" style="grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); margin: 1.5rem 0;">
<div class="feature">
<div class="feature-icon">🧩</div>
Expand All @@ -432,7 +480,7 @@ function getWelcomeHtml() {
</div>
<div class="feature">
<div class="feature-icon">🧩</div>
<h4>Reactivity Visualization 🌟🌟🌟🌟</h4>
<h4>Reactivity Visualization 🌟🌟🌟</h4>
<p>Visualize Vue's reactivity system in component scripts</p>
</div>
<div class="feature">
Expand Down
6 changes: 3 additions & 3 deletions extensions/vscode/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"private": true,
"name": "volar",
"version": "3.0.5",
"version": "3.0.6",
"repository": {
"type": "git",
"url": "https://github.com/vuejs/language-tools.git",
Expand Down Expand Up @@ -467,8 +467,8 @@
"@volar/vscode": "2.4.23",
"@vscode/vsce": "^3.2.1",
"@vue/compiler-sfc": "^3.5.0",
"@vue/language-server": "3.0.5",
"@vue/typescript-plugin": "3.0.5",
"@vue/language-server": "3.0.6",
"@vue/typescript-plugin": "3.0.6",
"reactive-vscode": "^0.2.9",
"rolldown": "1.0.0-beta.8",
"semver": "^7.5.4",
Expand Down
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@
"packages/**",
"test-workspace"
],
"version": "3.0.5",
"version": "3.0.6",
"yes": true
}
6 changes: 3 additions & 3 deletions packages/component-meta/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "vue-component-meta",
"version": "3.0.5",
"version": "3.0.6",
"license": "MIT",
"files": [
"**/*.js",
Expand All @@ -14,9 +14,9 @@
},
"dependencies": {
"@volar/typescript": "2.4.23",
"@vue/language-core": "3.0.5",
"@vue/language-core": "3.0.6",
"path-browserify": "^1.0.1",
"vue-component-type-helpers": "3.0.5"
"vue-component-type-helpers": "3.0.6"
},
"peerDependencies": {
"typescript": "*"
Expand Down
2 changes: 1 addition & 1 deletion packages/component-type-helpers/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "vue-component-type-helpers",
"version": "3.0.5",
"version": "3.0.6",
"license": "MIT",
"files": [
"**/*.js",
Expand Down
2 changes: 1 addition & 1 deletion packages/language-core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@vue/language-core",
"version": "3.0.5",
"version": "3.0.6",
"license": "MIT",
"files": [
"**/*.js",
Expand Down
4 changes: 2 additions & 2 deletions packages/language-plugin-pug/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@vue/language-plugin-pug",
"version": "3.0.5",
"version": "3.0.6",
"license": "MIT",
"files": [
"**/*.js",
Expand All @@ -19,6 +19,6 @@
"devDependencies": {
"@types/node": "^22.10.4",
"@vue/compiler-dom": "^3.5.0",
"@vue/language-core": "3.0.5"
"@vue/language-core": "3.0.6"
}
}
8 changes: 4 additions & 4 deletions packages/language-server/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@vue/language-server",
"version": "3.0.5",
"version": "3.0.6",
"license": "MIT",
"files": [
"**/*.js",
Expand All @@ -17,9 +17,9 @@
},
"dependencies": {
"@volar/language-server": "2.4.23",
"@vue/language-core": "3.0.5",
"@vue/language-service": "3.0.5",
"@vue/typescript-plugin": "3.0.5",
"@vue/language-core": "3.0.6",
"@vue/language-service": "3.0.6",
"@vue/typescript-plugin": "3.0.6",
"vscode-uri": "^3.0.8"
},
"peerDependencies": {
Expand Down
6 changes: 3 additions & 3 deletions packages/language-service/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@vue/language-service",
"version": "3.0.5",
"version": "3.0.6",
"license": "MIT",
"files": [
"data",
Expand All @@ -18,7 +18,7 @@
},
"dependencies": {
"@volar/language-service": "2.4.23",
"@vue/language-core": "3.0.5",
"@vue/language-core": "3.0.6",
"@vue/shared": "^3.5.0",
"path-browserify": "^1.0.1",
"volar-service-css": "0.0.65",
Expand All @@ -37,7 +37,7 @@
"@volar/kit": "2.4.23",
"@volar/typescript": "2.4.23",
"@vue/compiler-dom": "^3.5.0",
"@vue/typescript-plugin": "3.0.5",
"@vue/typescript-plugin": "3.0.6",
"vscode-css-languageservice": "^6.3.1"
}
}
4 changes: 2 additions & 2 deletions packages/tsc/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "vue-tsc",
"version": "3.0.5",
"version": "3.0.6",
"license": "MIT",
"files": [
"bin",
Expand All @@ -21,7 +21,7 @@
},
"dependencies": {
"@volar/typescript": "2.4.23",
"@vue/language-core": "3.0.5"
"@vue/language-core": "3.0.6"
},
"devDependencies": {
"@types/node": "^22.10.4"
Expand Down
4 changes: 2 additions & 2 deletions packages/typescript-plugin/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@vue/typescript-plugin",
"version": "3.0.5",
"version": "3.0.6",
"license": "MIT",
"files": [
"**/*.js",
Expand All @@ -14,7 +14,7 @@
},
"dependencies": {
"@volar/typescript": "2.4.23",
"@vue/language-core": "3.0.5",
"@vue/language-core": "3.0.6",
"@vue/shared": "^3.5.0",
"path-browserify": "^1.0.1"
},
Expand Down
Loading
Loading