diff --git a/src/LightQueryProfiler.WinFormsApp/LightQueryProfiler.WinFormsApp.csproj b/src/LightQueryProfiler.WinFormsApp/LightQueryProfiler.WinFormsApp.csproj index fe80668..e4d2fcd 100644 --- a/src/LightQueryProfiler.WinFormsApp/LightQueryProfiler.WinFormsApp.csproj +++ b/src/LightQueryProfiler.WinFormsApp/LightQueryProfiler.WinFormsApp.csproj @@ -8,7 +8,7 @@ enable true LightQueryProfiler - 1.2.0-dev.5 + 1.2.0 1.2.0 1.2.0 Icons\light-query-profiler.ico diff --git a/vscode-extension/CHANGELOG.md b/vscode-extension/CHANGELOG.md index 83133bf..06c4da9 100644 --- a/vscode-extension/CHANGELOG.md +++ b/vscode-extension/CHANGELOG.md @@ -5,6 +5,15 @@ All notable changes to the Light Query Profiler extension will be documented in The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.0.1] - 2026-03-24 + +### Changed +- Welcome message now only appears on first activation after installation +- Improved user experience by preventing repetitive notification on every VS Code startup + +### Technical +- Implemented `globalState` persistence for welcome message display tracking + ## [1.0.0] - 2026-03-21 ### Added diff --git a/vscode-extension/package.json b/vscode-extension/package.json index 78a520a..1159371 100644 --- a/vscode-extension/package.json +++ b/vscode-extension/package.json @@ -2,7 +2,7 @@ "name": "light-query-profiler", "displayName": "Light Query Profiler", "description": "SQL Server and Azure SQL Database query profiler for VS Code", - "version": "1.0.0", + "version": "1.0.1", "publisher": "brandochn", "author": { "name": "Hildebrando Chávez", diff --git a/vscode-extension/src/extension.ts b/vscode-extension/src/extension.ts index dc7835d..33d52b0 100644 --- a/vscode-extension/src/extension.ts +++ b/vscode-extension/src/extension.ts @@ -149,10 +149,16 @@ export async function activate( activationReady = true; log.info('Light Query Profiler extension activated successfully'); - // Show welcome message (fire-and-forget — do not await so activate() returns immediately) - void vscode.window.showInformationMessage( - "Light Query Profiler is ready! Run 'Show SQL Profiler' command to open the profiler.", - ); + // Show welcome message only on first activation + const hasShownWelcomeMessage = context.globalState.get('hasShownWelcomeMessage', false); + if (!hasShownWelcomeMessage) { + void vscode.window.showInformationMessage( + "Light Query Profiler is ready! Run 'Show SQL Profiler' command to open the profiler.", + ).then(() => { + // Mark as shown after user dismisses or acknowledges the message + void context.globalState.update('hasShownWelcomeMessage', true); + }); + } } catch (error) { activationReady = true; // Stop the deferred-panel polling const errorMessage = error instanceof Error ? error.message : String(error);