From a0fb841d3425b9c80772441b750e108676e26dec Mon Sep 17 00:00:00 2001 From: Tomasz Naumowicz Date: Tue, 2 Jun 2026 23:12:01 +0200 Subject: [PATCH 1/7] docs: release notes and changelog for v0.8.1 --- CHANGELOG.md | 27 ++++++++++++ docs/index.md | 2 +- docs/release-notes/0.8.md | 87 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 115 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 90f0e7c96..e96c2e179 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,32 @@ # Change Log +## 0.8.1 + +### New Features + +- **Item Counts on Tree Nodes**: Database nodes now display a live collection count, and the Indexes folder shows an index count. Counts load asynchronously without blocking tree expansion. A new `documentDB.accessibility.hideCountPrefix` setting hides the `··` visual separator for accessibility or aesthetic preference. [#714](https://github.com/microsoft/vscode-documentdb/pull/714), [#658](https://github.com/microsoft/vscode-documentdb/issues/658), [#659](https://github.com/microsoft/vscode-documentdb/issues/659) +- **AI Model Transparency in Query Insights**: Query Insights now discloses which model processed the request and confirms upfront that the utility model does not count against the GitHub Copilot premium request quota. A model attribution byline ("Powered by {model} via GitHub Copilot") appears after each successful analysis. [#690](https://github.com/microsoft/vscode-documentdb/pull/690) +- **Batch Connection Deletion**: Multi-select connections in the Connections View and delete them all in one command. The confirmation message adapts to the count, deletion continues on individual failures, and a summary is reported on completion. [#667](https://github.com/microsoft/vscode-documentdb/pull/667) + +### Improvements + +- **Performance: Throttled Background Document-Count Fetches**: A per-cluster concurrency limiter now caps simultaneous background count requests at 5 with a 250 ms inter-task delay, preventing connection pool saturation when expanding databases with many collections. [#685](https://github.com/microsoft/vscode-documentdb/pull/685) +- **Shard Key in Collection Tooltip**: Sharded collections now show their shard key in the hover tooltip. Extracted from the existing `listCollections()` response at no extra cost. [#670](https://github.com/microsoft/vscode-documentdb/pull/670), [#661](https://github.com/microsoft/vscode-documentdb/issues/661) +- **Contextual Query Playground Filenames**: New playground files opened from the tree now use context-derived names (e.g., `cluster_collection.documentdb.js`) with invalid-character sanitization and numeric suffixes for duplicates. [#664](https://github.com/microsoft/vscode-documentdb/pull/664), [#660](https://github.com/microsoft/vscode-documentdb/issues/660) +- **`_id_` Index Sorted First**: The `_id_` index now always appears at the top of the Indexes list regardless of other index names and locale sort order. [#662](https://github.com/microsoft/vscode-documentdb/pull/662), [#657](https://github.com/microsoft/vscode-documentdb/issues/657) +- **`credentialId` → `clusterId` Parameter Rename**: Renamed the `credentialId` parameter to `clusterId` in `ClustersClient` and `ClusterSession` for naming consistency. Community contribution by [@CalvinMagezi](https://github.com/CalvinMagezi), [@Jah-yee](https://github.com/Jah-yee), and [@Enocko](https://github.com/Enocko). [#652](https://github.com/microsoft/vscode-documentdb/pull/652), [#567](https://github.com/microsoft/vscode-documentdb/issues/567) +- **Hidden Index Tree Item**: Hidden indexes now show a `hidden` description label and only the appropriate context menu action (Hide or Unhide, not both). The `_id_` index shows neither action. [#674](https://github.com/microsoft/vscode-documentdb/pull/674), [#656](https://github.com/microsoft/vscode-documentdb/issues/656) +- **Removed Obsolete Notification Migration Code**: Cleaned up pre-0.7.0 transitional release-notes logic and leftover `0.8.0-bugbash` migration paths. [#622](https://github.com/microsoft/vscode-documentdb/pull/622), [#611](https://github.com/microsoft/vscode-documentdb/issues/611) + +### Fixes + +- **Extension Activation Crash (TDZ Error)**: Resolved a circular module-evaluation dependency introduced in v0.8.0 that caused the extension to fail on activation with `Cannot access 'publicProcedureWithTelemetry' before initialization`. [#682](https://github.com/microsoft/vscode-documentdb/pull/682) +- **Node 24 Compatibility**: Updated `@microsoft/vscode-azext-utils` (~3.3.1 → ~4.1.0) and `@microsoft/vscode-azext-azureutils` (~3.4.5 → ~4.2.0) to fix a crash caused by the removal of `node:util.isNullOrUndefined` in Node 24. [#699](https://github.com/microsoft/vscode-documentdb/pull/699) + +### Dependencies + +- **Dependency Updates**: Updated `webpack-dev-server` (5.2.3 → 5.2.4, CORP security header fix), `@nevware21/ts-utils` (0.13.0 → 0.14.0 in root and `/api`), and `qs`/`express` to their latest versions. [#654](https://github.com/microsoft/vscode-documentdb/pull/654), [#672](https://github.com/microsoft/vscode-documentdb/pull/672), [#673](https://github.com/microsoft/vscode-documentdb/pull/673), [#678](https://github.com/microsoft/vscode-documentdb/pull/678) + ## 0.8.0 ### New Features diff --git a/docs/index.md b/docs/index.md index 3ace6061a..9c96477b3 100644 --- a/docs/index.md +++ b/docs/index.md @@ -77,7 +77,7 @@ The User Manual provides guidance on using DocumentDB for VS Code. It contains d Explore the history of updates and improvements to the DocumentDB for VS Code extension. Each release brings new features, enhancements, and fixes to improve your experience. -- [0.8](./release-notes/0.8) +- [0.8](./release-notes/0.8), [0.8.1](./release-notes/0.8#patch-release-v081) - [0.7](./release-notes/0.7), [0.7.2](./release-notes/0.7#patch-release-v072), [0.7.3](./release-notes/0.7#patch-release-v073), [0.7.4](./release-notes/0.7#patch-release-v074) - [0.6](./release-notes/0.6), [0.6.1](./release-notes/0.6#patch-release-v061), [0.6.2](./release-notes/0.6#patch-release-v062), [0.6.3](./release-notes/0.6#patch-release-v063) - [0.5](./release-notes/0.5), [0.5.1](./release-notes/0.5#patch-release-v051), [0.5.2](./release-notes/0.5#patch-release-v052) diff --git a/docs/release-notes/0.8.md b/docs/release-notes/0.8.md index c731e61ee..6218cceb9 100644 --- a/docs/release-notes/0.8.md +++ b/docs/release-notes/0.8.md @@ -130,3 +130,90 @@ The Collection View also supports **Paste**: paste a find expression from the cl See the full changelog entry for this release: ➡️ [CHANGELOG.md#080](https://github.com/microsoft/vscode-documentdb/blob/main/CHANGELOG.md#080) + +--- + +## Patch Release v0.8.1 + +This patch delivers Node 24 compatibility, tree view quality-of-life improvements with live item counts, AI transparency in Query Insights, batch connection deletion, a critical activation fix, and a fantastic wave of community contributions. + +### What's Changed in v0.8.1 + +#### 💠 **Node 24 Compatibility** ([#699](https://github.com/microsoft/vscode-documentdb/pull/699)) + +If you are running VS Code with Node 24, the extension would crash on activation. This was caused by `node:util.isNullOrUndefined` being removed from Node 24. The `@microsoft/vscode-azext-utils` and `@microsoft/vscode-azext-azureutils` libraries have been updated to versions that use the correct, supported API, unblocking everyone on the latest Node runtime. + +#### 💠 **Item Counts on Tree Nodes** ([#714](https://github.com/microsoft/vscode-documentdb/pull/714)) + +The tree view now tells you more before you click. Two new at-a-glance counts appear automatically as you browse: + +- **Collection count on database nodes** — After expanding a cluster, each database shows how many collections it contains (e.g., `·· 12`). For large clusters, counts cap at 50+ to keep the query lightweight. +- **Index count on the Indexes folder** — Expanding a collection now shows how many indexes are present at a glance (e.g., `·· 4`). + +Counts load asynchronously in the background so tree expansion remains instant. A new `documentDB.accessibility.hideCountPrefix` setting lets you suppress the `··` visual separator for a cleaner look or better screen reader experience. + +#### 💠 **AI Model Transparency in Query Insights** ([#690](https://github.com/microsoft/vscode-documentdb/pull/690)) + +Query Insights now tells you exactly which AI model analyzed your query and confirms upfront that the feature uses a **utility model that does not count against your GitHub Copilot premium request quota**. Both the pre-invocation card and the post-response panel now show: + +- A persistent _"No additional cost for most GitHub Copilot subscribers"_ disclosure with a **Learn more** link. +- A _"Powered by {model} via GitHub Copilot"_ attribution byline after each successful analysis. + +This gives you full transparency into what's happening under the hood every time you use AI-powered index recommendations. + +#### 💠 **Batch Connection Deletion** ([#667](https://github.com/microsoft/vscode-documentdb/pull/667)) + +You can now select multiple connections in the Connections View and delete them all at once. The command adapts its confirmation message to reflect the number of selected items, continues through individual failures so a single bad connection does not block the rest, and reports a summary when done. Clearing out stale connections from a long list just became much less tedious. + +#### 💠 **Performance: Throttled Background Document-Count Fetches** ([#685](https://github.com/microsoft/vscode-documentdb/pull/685)) + +When a database with many collections is expanded, every collection fires a background document-count request. Previously, these all launched in parallel, potentially saturating the connection pool and competing with foreground queries. A new per-cluster concurrency limiter caps simultaneous count fetches at 5 and staggers them 250 ms apart, dramatically reducing server load while keeping the tree feeling responsive. + +#### 💠 **Critical Fix: Extension Activation Crash** ([#682](https://github.com/microsoft/vscode-documentdb/pull/682)) + +A circular module-evaluation dependency introduced by the v0.8.0 webview refactor caused the extension to fail on activation with `Cannot access 'publicProcedureWithTelemetry' before initialization`. This has been resolved by extracting the tRPC primitives into a dedicated leaf module that breaks the cycle, restoring clean activation for all users. + +#### 💠 **Hidden Index Visibility and Context Menu** ([#656](https://github.com/microsoft/vscode-documentdb/issues/656), [#674](https://github.com/microsoft/vscode-documentdb/pull/674)) + +Hidden indexes are now clearly labeled in the tree view with a `hidden` description, and the right-click context menu has been tightened so only valid actions appear: hidden indexes show only **Unhide Index…**, non-hidden indexes show only **Hide Index…**, and the `_id_` index shows neither. No more guessing which action applies. + +> ⭐ Thanks to **[@lte-z](https://github.com/lte-z)** for this contribution! + +#### 💠 **Shard Key in Collection Tooltip** ([#661](https://github.com/microsoft/vscode-documentdb/issues/661), [#670](https://github.com/microsoft/vscode-documentdb/pull/670)) + +Sharded collections now expose their shard key in the hover tooltip alongside document count and storage size. The information is extracted directly from the `listCollections()` response with no extra round-trips, and is only shown when a shard key is actually present — unsharded collections are unaffected. + +> ⭐ Thanks to **[@lte-z](https://github.com/lte-z)** for this contribution! + +#### 💠 **Contextual Query Playground Filenames** ([#660](https://github.com/microsoft/vscode-documentdb/issues/660), [#664](https://github.com/microsoft/vscode-documentdb/pull/664)) + +New Query Playground files opened from the tree now get meaningful names derived from their context — for example, `myCluster_myCollection.documentdb.js` instead of a generic untitled name. Invalid filename characters are stripped automatically, and a numeric suffix is appended if the same name is already open. + +> ⭐ Thanks to **[@omribz156](https://github.com/omribz156)** for this contribution! + +#### 💠 **`_id_` Index Always Sorted First** ([#657](https://github.com/microsoft/vscode-documentdb/issues/657), [#662](https://github.com/microsoft/vscode-documentdb/pull/662)) + +The `_id_` index — present on every collection — now always appears at the top of the Indexes list regardless of other index names. Previously, indexes with uppercase-leading names could sort above `_id_` due to locale comparison rules. + +> ⭐ Thanks to **[@Jacquelinezhong](https://github.com/Jacquelinezhong)** for this contribution! + +#### 💠 **Community Code Quality: `credentialId` → `clusterId` Rename** ([#567](https://github.com/microsoft/vscode-documentdb/issues/567), [#652](https://github.com/microsoft/vscode-documentdb/pull/652)) + +The internal `credentialId` parameter in `ClustersClient` and `ClusterSession` has been renamed to `clusterId` to match the established naming convention throughout the codebase. This was a popular community contribution — three contributors submitted independent PRs for the same issue, and all of their work informed the final result. + +> ⭐ Thanks to **[@CalvinMagezi](https://github.com/CalvinMagezi)** ([#568](https://github.com/microsoft/vscode-documentdb/pull/568)), **[@Jah-yee](https://github.com/Jah-yee)** ([#575](https://github.com/microsoft/vscode-documentdb/pull/575)), and **[@Enocko](https://github.com/Enocko)** ([#651](https://github.com/microsoft/vscode-documentdb/pull/651)) for independently contributing to this fix! + +#### 💠 **Removed Obsolete Notification Migration Code** ([#611](https://github.com/microsoft/vscode-documentdb/issues/611), [#622](https://github.com/microsoft/vscode-documentdb/pull/622)) + +Pre-0.7.0 transitional release-notes notification logic and a leftover `0.8.0-bugbash` migration path have been cleaned out, simplifying the notification system. + +> ⭐ Thanks to **[@Green00101](https://github.com/Green00101)** for this contribution! + +#### 💠 **Dependency Updates** ([#654](https://github.com/microsoft/vscode-documentdb/pull/654), [#672](https://github.com/microsoft/vscode-documentdb/pull/672), [#673](https://github.com/microsoft/vscode-documentdb/pull/673), [#678](https://github.com/microsoft/vscode-documentdb/pull/678)) + +Updated `webpack-dev-server` (5.2.3 → 5.2.4, includes a CORP security header fix), `@nevware21/ts-utils` (0.13.0 → 0.14.0), and `qs`/`express` to their latest versions. + +### Changelog + +See the full changelog entry for this release: +➡️ [CHANGELOG.md#081](https://github.com/microsoft/vscode-documentdb/blob/main/CHANGELOG.md#081) From 5cf8d5f3c0942ca1c91b030f8a687ee2a9dae7e0 Mon Sep 17 00:00:00 2001 From: Tomasz Naumowicz Date: Wed, 3 Jun 2026 11:28:49 +0200 Subject: [PATCH 2/7] docs: add PR #726 storage startup perf to v0.8.1 release notes --- CHANGELOG.md | 1 + docs/release-notes/0.8.md | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e96c2e179..ac210124b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ ### Improvements +- **Performance: Faster Connection Load and Startup**: Significant startup speedup, especially on Remote-WSL. Connection secrets are now fetched concurrently with `Promise.all`; a short-lived activation-time cache coalesces redundant `getItems` reads; startup cleanup is gated behind a one-time version marker so it runs once, not every launch; the cleanup pass itself reduced zone reads from ~6 to ~2. Also removes the legacy one-time Azure Databases extension connection import. **Note:** users who had un-imported connections in `ms-azuretools.vscode-cosmosdb` will need to re-add them manually. [#726](https://github.com/microsoft/vscode-documentdb/pull/726) - **Performance: Throttled Background Document-Count Fetches**: A per-cluster concurrency limiter now caps simultaneous background count requests at 5 with a 250 ms inter-task delay, preventing connection pool saturation when expanding databases with many collections. [#685](https://github.com/microsoft/vscode-documentdb/pull/685) - **Shard Key in Collection Tooltip**: Sharded collections now show their shard key in the hover tooltip. Extracted from the existing `listCollections()` response at no extra cost. [#670](https://github.com/microsoft/vscode-documentdb/pull/670), [#661](https://github.com/microsoft/vscode-documentdb/issues/661) - **Contextual Query Playground Filenames**: New playground files opened from the tree now use context-derived names (e.g., `cluster_collection.documentdb.js`) with invalid-character sanitization and numeric suffixes for duplicates. [#664](https://github.com/microsoft/vscode-documentdb/pull/664), [#660](https://github.com/microsoft/vscode-documentdb/issues/660) diff --git a/docs/release-notes/0.8.md b/docs/release-notes/0.8.md index 6218cceb9..540f90741 100644 --- a/docs/release-notes/0.8.md +++ b/docs/release-notes/0.8.md @@ -165,6 +165,17 @@ This gives you full transparency into what's happening under the hood every time You can now select multiple connections in the Connections View and delete them all at once. The command adapts its confirmation message to reflect the number of selected items, continues through individual failures so a single bad connection does not block the rest, and reports a summary when done. Clearing out stale connections from a long list just became much less tedious. +#### 💠 **Faster Extension Startup and Connection Loading** ([#726](https://github.com/microsoft/vscode-documentdb/pull/726)) + +Extension startup is now significantly faster, especially noticeable on **Remote-WSL** where each `SecretStorage` read crosses the WSL2↔Windows boundary. Several compounding inefficiencies in the connection storage layer have been resolved: + +- **Concurrent secret reads**: Connection secrets (passwords, connection strings) are now fetched in parallel with `Promise.all` instead of one-at-a-time in a loop — _N_ sequential round-trips become effectively one. +- **Activation-time read coalescing**: A short-lived cache ensures that multiple independent consumers (tree providers, URI handler, cleanup) that all call `getItems` within the first seconds of startup share a single read instead of each issuing their own. +- **One-time startup cleanup**: The post-startup cleanup pass (which scans for duplicate parameters and orphaned items) now runs only once per storage schema version, not on every launch. A version marker is persisted after a successful run so subsequent activations skip it entirely. +- **Fewer zone reads during cleanup**: The cleanup phase previously re-read every storage zone once per cleaner (~6 reads). It now loads each zone once and passes the in-memory array through all cleaners (~2 reads). + +> **Note:** This release removes the one-time import of connections from the legacy Azure Databases VS Code extension (`ms-azuretools.vscode-cosmosdb`). If you have connections in that extension that were never opened in DocumentDB for VS Code, you will need to re-add them manually using a connection string. + #### 💠 **Performance: Throttled Background Document-Count Fetches** ([#685](https://github.com/microsoft/vscode-documentdb/pull/685)) When a database with many collections is expanded, every collection fires a background document-count request. Previously, these all launched in parallel, potentially saturating the connection pool and competing with foreground queries. A new per-cluster concurrency limiter caps simultaneous count fetches at 5 and staggers them 250 ms apart, dramatically reducing server load while keeping the tree feeling responsive. From b33d7d5012ba9b9040f616a6aedb283821638f9d Mon Sep 17 00:00:00 2001 From: Tomasz Naumowicz Date: Wed, 3 Jun 2026 11:34:44 +0200 Subject: [PATCH 3/7] docs: remove never-shipped #682 entry; add community contributors section --- CHANGELOG.md | 1 - docs/release-notes/0.8.md | 16 +++++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac210124b..cc7094f2e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,7 +21,6 @@ ### Fixes -- **Extension Activation Crash (TDZ Error)**: Resolved a circular module-evaluation dependency introduced in v0.8.0 that caused the extension to fail on activation with `Cannot access 'publicProcedureWithTelemetry' before initialization`. [#682](https://github.com/microsoft/vscode-documentdb/pull/682) - **Node 24 Compatibility**: Updated `@microsoft/vscode-azext-utils` (~3.3.1 → ~4.1.0) and `@microsoft/vscode-azext-azureutils` (~3.4.5 → ~4.2.0) to fix a crash caused by the removal of `node:util.isNullOrUndefined` in Node 24. [#699](https://github.com/microsoft/vscode-documentdb/pull/699) ### Dependencies diff --git a/docs/release-notes/0.8.md b/docs/release-notes/0.8.md index 540f90741..12a121ad6 100644 --- a/docs/release-notes/0.8.md +++ b/docs/release-notes/0.8.md @@ -135,7 +135,7 @@ See the full changelog entry for this release: ## Patch Release v0.8.1 -This patch delivers Node 24 compatibility, tree view quality-of-life improvements with live item counts, AI transparency in Query Insights, batch connection deletion, a critical activation fix, and a fantastic wave of community contributions. +This patch delivers Node 24 compatibility, significantly faster extension startup, tree view quality-of-life improvements with live item counts, AI transparency in Query Insights, batch connection deletion, and a fantastic wave of community contributions. ### What's Changed in v0.8.1 @@ -180,10 +180,6 @@ Extension startup is now significantly faster, especially noticeable on **Remote When a database with many collections is expanded, every collection fires a background document-count request. Previously, these all launched in parallel, potentially saturating the connection pool and competing with foreground queries. A new per-cluster concurrency limiter caps simultaneous count fetches at 5 and staggers them 250 ms apart, dramatically reducing server load while keeping the tree feeling responsive. -#### 💠 **Critical Fix: Extension Activation Crash** ([#682](https://github.com/microsoft/vscode-documentdb/pull/682)) - -A circular module-evaluation dependency introduced by the v0.8.0 webview refactor caused the extension to fail on activation with `Cannot access 'publicProcedureWithTelemetry' before initialization`. This has been resolved by extracting the tRPC primitives into a dedicated leaf module that breaks the cycle, restoring clean activation for all users. - #### 💠 **Hidden Index Visibility and Context Menu** ([#656](https://github.com/microsoft/vscode-documentdb/issues/656), [#674](https://github.com/microsoft/vscode-documentdb/pull/674)) Hidden indexes are now clearly labeled in the tree view with a `hidden` description, and the right-click context menu has been tightened so only valid actions appear: hidden indexes show only **Unhide Index…**, non-hidden indexes show only **Hide Index…**, and the `_id_` index shows neither. No more guessing which action applies. @@ -224,6 +220,16 @@ Pre-0.7.0 transitional release-notes notification logic and a leftover `0.8.0-bu Updated `webpack-dev-server` (5.2.3 → 5.2.4, includes a CORP security header fix), `@nevware21/ts-utils` (0.13.0 → 0.14.0), and `qs`/`express` to their latest versions. +### 🤲 Community Contributions + +This release would not be what it is without our fantastic open-source community. A big thank you to everyone who submitted pull requests, reported issues, and helped shape v0.8.1! + +- **[@lte-z](https://github.com/lte-z)** contributed two improvements in this release: hidden index visibility and context menu cleanup ([#674](https://github.com/microsoft/vscode-documentdb/pull/674)) and shard key display in collection tooltips ([#670](https://github.com/microsoft/vscode-documentdb/pull/670)). +- **[@omribz156](https://github.com/omribz156)** added contextual filenames for new Query Playground files ([#664](https://github.com/microsoft/vscode-documentdb/pull/664)). +- **[@Jacquelinezhong](https://github.com/Jacquelinezhong)** fixed the `_id_` index sort order so it always appears first in the Indexes list ([#662](https://github.com/microsoft/vscode-documentdb/pull/662)). +- **[@Green00101](https://github.com/Green00101)** cleaned up the obsolete release-notes notification migration code ([#622](https://github.com/microsoft/vscode-documentdb/pull/622)). +- **[@CalvinMagezi](https://github.com/CalvinMagezi)**, **[@Jah-yee](https://github.com/Jah-yee)**, and **[@Enocko](https://github.com/Enocko)** each independently submitted a fix for the `credentialId` → `clusterId` parameter rename ([#568](https://github.com/microsoft/vscode-documentdb/pull/568), [#575](https://github.com/microsoft/vscode-documentdb/pull/575), [#651](https://github.com/microsoft/vscode-documentdb/pull/651)) — three contributors tackling the same issue is a rare and wonderful thing. All of their work influenced the final merged result ([#652](https://github.com/microsoft/vscode-documentdb/pull/652)). + ### Changelog See the full changelog entry for this release: From d07bce1c9d28eb65abff5d12dedaa88cd6ff99f8 Mon Sep 17 00:00:00 2001 From: Tomasz Naumowicz Date: Wed, 3 Jun 2026 18:43:21 +0200 Subject: [PATCH 4/7] docs: clarify Node 24/VS Code 1.123, simplify startup perf, move community section up --- docs/release-notes/0.8.md | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/docs/release-notes/0.8.md b/docs/release-notes/0.8.md index 12a121ad6..8dd8df61c 100644 --- a/docs/release-notes/0.8.md +++ b/docs/release-notes/0.8.md @@ -137,11 +137,21 @@ See the full changelog entry for this release: This patch delivers Node 24 compatibility, significantly faster extension startup, tree view quality-of-life improvements with live item counts, AI transparency in Query Insights, batch connection deletion, and a fantastic wave of community contributions. +### 🤲 Community Contributions + +This release would not be what it is without our fantastic open-source community. A big thank you to everyone who submitted pull requests, reported issues, and helped shape v0.8.1! + +- **[@lte-z](https://github.com/lte-z)** contributed two improvements in this release: hidden index visibility and context menu cleanup ([#674](https://github.com/microsoft/vscode-documentdb/pull/674)) and shard key display in collection tooltips ([#670](https://github.com/microsoft/vscode-documentdb/pull/670)). +- **[@omribz156](https://github.com/omribz156)** added contextual filenames for new Query Playground files ([#664](https://github.com/microsoft/vscode-documentdb/pull/664)). +- **[@Jacquelinezhong](https://github.com/Jacquelinezhong)** fixed the `_id_` index sort order so it always appears first in the Indexes list ([#662](https://github.com/microsoft/vscode-documentdb/pull/662)). +- **[@Green00101](https://github.com/Green00101)** cleaned up the obsolete release-notes notification migration code ([#622](https://github.com/microsoft/vscode-documentdb/pull/622)). +- **[@CalvinMagezi](https://github.com/CalvinMagezi)**, **[@Jah-yee](https://github.com/Jah-yee)**, and **[@Enocko](https://github.com/Enocko)** each independently submitted a fix for the `credentialId` → `clusterId` parameter rename ([#568](https://github.com/microsoft/vscode-documentdb/pull/568), [#575](https://github.com/microsoft/vscode-documentdb/pull/575), [#651](https://github.com/microsoft/vscode-documentdb/pull/651)) — three contributors tackling the same issue is a rare and wonderful thing. All of their work influenced the final merged result ([#652](https://github.com/microsoft/vscode-documentdb/pull/652)). + ### What's Changed in v0.8.1 #### 💠 **Node 24 Compatibility** ([#699](https://github.com/microsoft/vscode-documentdb/pull/699)) -If you are running VS Code with Node 24, the extension would crash on activation. This was caused by `node:util.isNullOrUndefined` being removed from Node 24. The `@microsoft/vscode-azext-utils` and `@microsoft/vscode-azext-azureutils` libraries have been updated to versions that use the correct, supported API, unblocking everyone on the latest Node runtime. +**VS Code 1.123** (released June 3, 2026) ships with Node 24. If you updated VS Code and found the DocumentDB extension no longer loading, this fix is for you. The extension now works correctly with VS Code 1.123 and later. #### 💠 **Item Counts on Tree Nodes** ([#714](https://github.com/microsoft/vscode-documentdb/pull/714)) @@ -167,12 +177,7 @@ You can now select multiple connections in the Connections View and delete them #### 💠 **Faster Extension Startup and Connection Loading** ([#726](https://github.com/microsoft/vscode-documentdb/pull/726)) -Extension startup is now significantly faster, especially noticeable on **Remote-WSL** where each `SecretStorage` read crosses the WSL2↔Windows boundary. Several compounding inefficiencies in the connection storage layer have been resolved: - -- **Concurrent secret reads**: Connection secrets (passwords, connection strings) are now fetched in parallel with `Promise.all` instead of one-at-a-time in a loop — _N_ sequential round-trips become effectively one. -- **Activation-time read coalescing**: A short-lived cache ensures that multiple independent consumers (tree providers, URI handler, cleanup) that all call `getItems` within the first seconds of startup share a single read instead of each issuing their own. -- **One-time startup cleanup**: The post-startup cleanup pass (which scans for duplicate parameters and orphaned items) now runs only once per storage schema version, not on every launch. A version marker is persisted after a successful run so subsequent activations skip it entirely. -- **Fewer zone reads during cleanup**: The cleanup phase previously re-read every storage zone once per cleaner (~6 reads). It now loads each zone once and passes the in-memory array through all cleaners (~2 reads). +The extension loads noticeably faster, with the biggest gains for users on **Remote-WSL** or anyone with a large number of saved connections. Your connections appear in the tree sooner after VS Code opens. > **Note:** This release removes the one-time import of connections from the legacy Azure Databases VS Code extension (`ms-azuretools.vscode-cosmosdb`). If you have connections in that extension that were never opened in DocumentDB for VS Code, you will need to re-add them manually using a connection string. @@ -220,16 +225,6 @@ Pre-0.7.0 transitional release-notes notification logic and a leftover `0.8.0-bu Updated `webpack-dev-server` (5.2.3 → 5.2.4, includes a CORP security header fix), `@nevware21/ts-utils` (0.13.0 → 0.14.0), and `qs`/`express` to their latest versions. -### 🤲 Community Contributions - -This release would not be what it is without our fantastic open-source community. A big thank you to everyone who submitted pull requests, reported issues, and helped shape v0.8.1! - -- **[@lte-z](https://github.com/lte-z)** contributed two improvements in this release: hidden index visibility and context menu cleanup ([#674](https://github.com/microsoft/vscode-documentdb/pull/674)) and shard key display in collection tooltips ([#670](https://github.com/microsoft/vscode-documentdb/pull/670)). -- **[@omribz156](https://github.com/omribz156)** added contextual filenames for new Query Playground files ([#664](https://github.com/microsoft/vscode-documentdb/pull/664)). -- **[@Jacquelinezhong](https://github.com/Jacquelinezhong)** fixed the `_id_` index sort order so it always appears first in the Indexes list ([#662](https://github.com/microsoft/vscode-documentdb/pull/662)). -- **[@Green00101](https://github.com/Green00101)** cleaned up the obsolete release-notes notification migration code ([#622](https://github.com/microsoft/vscode-documentdb/pull/622)). -- **[@CalvinMagezi](https://github.com/CalvinMagezi)**, **[@Jah-yee](https://github.com/Jah-yee)**, and **[@Enocko](https://github.com/Enocko)** each independently submitted a fix for the `credentialId` → `clusterId` parameter rename ([#568](https://github.com/microsoft/vscode-documentdb/pull/568), [#575](https://github.com/microsoft/vscode-documentdb/pull/575), [#651](https://github.com/microsoft/vscode-documentdb/pull/651)) — three contributors tackling the same issue is a rare and wonderful thing. All of their work influenced the final merged result ([#652](https://github.com/microsoft/vscode-documentdb/pull/652)). - ### Changelog See the full changelog entry for this release: From b26b9c2d65bd49322616e6531169d5a785406482 Mon Sep 17 00:00:00 2001 From: Tomasz Naumowicz Date: Wed, 3 Jun 2026 18:47:52 +0200 Subject: [PATCH 5/7] version bump to 0.8.1 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index e9679a197..ceee44caa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "vscode-documentdb", - "version": "0.8.0", + "version": "0.8.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "vscode-documentdb", - "version": "0.8.0", + "version": "0.8.1", "license": "SEE LICENSE IN LICENSE.md", "workspaces": [ "packages/*" diff --git a/package.json b/package.json index 232a3d0b1..2f61764cb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vscode-documentdb", - "version": "0.8.0", + "version": "0.8.1", "releaseNotesUrl": "https://github.com/microsoft/vscode-documentdb/discussions/633", "aiKey": "0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255", "publisher": "ms-azuretools", From 6c4910e61785c28c5d06b4f55ca6dd6939092bc6 Mon Sep 17 00:00:00 2001 From: Tomasz Naumowicz Date: Wed, 3 Jun 2026 18:47:55 +0200 Subject: [PATCH 6/7] docs: add utility model link+excerpt to AI transparency, remove em-dashes --- docs/release-notes/0.8.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/release-notes/0.8.md b/docs/release-notes/0.8.md index 8dd8df61c..f30df8605 100644 --- a/docs/release-notes/0.8.md +++ b/docs/release-notes/0.8.md @@ -145,7 +145,7 @@ This release would not be what it is without our fantastic open-source community - **[@omribz156](https://github.com/omribz156)** added contextual filenames for new Query Playground files ([#664](https://github.com/microsoft/vscode-documentdb/pull/664)). - **[@Jacquelinezhong](https://github.com/Jacquelinezhong)** fixed the `_id_` index sort order so it always appears first in the Indexes list ([#662](https://github.com/microsoft/vscode-documentdb/pull/662)). - **[@Green00101](https://github.com/Green00101)** cleaned up the obsolete release-notes notification migration code ([#622](https://github.com/microsoft/vscode-documentdb/pull/622)). -- **[@CalvinMagezi](https://github.com/CalvinMagezi)**, **[@Jah-yee](https://github.com/Jah-yee)**, and **[@Enocko](https://github.com/Enocko)** each independently submitted a fix for the `credentialId` → `clusterId` parameter rename ([#568](https://github.com/microsoft/vscode-documentdb/pull/568), [#575](https://github.com/microsoft/vscode-documentdb/pull/575), [#651](https://github.com/microsoft/vscode-documentdb/pull/651)) — three contributors tackling the same issue is a rare and wonderful thing. All of their work influenced the final merged result ([#652](https://github.com/microsoft/vscode-documentdb/pull/652)). +- **[@CalvinMagezi](https://github.com/CalvinMagezi)**, **[@Jah-yee](https://github.com/Jah-yee)**, and **[@Enocko](https://github.com/Enocko)** each independently submitted a fix for the `credentialId` → `clusterId` parameter rename ([#568](https://github.com/microsoft/vscode-documentdb/pull/568), [#575](https://github.com/microsoft/vscode-documentdb/pull/575), [#651](https://github.com/microsoft/vscode-documentdb/pull/651))! Three contributors tackling the same issue is a rare and wonderful thing. All of their work influenced the final merged result ([#652](https://github.com/microsoft/vscode-documentdb/pull/652)). ### What's Changed in v0.8.1 @@ -157,19 +157,19 @@ This release would not be what it is without our fantastic open-source community The tree view now tells you more before you click. Two new at-a-glance counts appear automatically as you browse: -- **Collection count on database nodes** — After expanding a cluster, each database shows how many collections it contains (e.g., `·· 12`). For large clusters, counts cap at 50+ to keep the query lightweight. -- **Index count on the Indexes folder** — Expanding a collection now shows how many indexes are present at a glance (e.g., `·· 4`). +- **Collection count on database nodes:** After expanding a cluster, each database shows how many collections it contains (e.g., `·· 12`). For large clusters, counts cap at 50+ to keep the query lightweight. +- **Index count on the Indexes folder:** Expanding a collection now shows how many indexes are present at a glance (e.g., `·· 4`). Counts load asynchronously in the background so tree expansion remains instant. A new `documentDB.accessibility.hideCountPrefix` setting lets you suppress the `··` visual separator for a cleaner look or better screen reader experience. #### 💠 **AI Model Transparency in Query Insights** ([#690](https://github.com/microsoft/vscode-documentdb/pull/690)) -Query Insights now tells you exactly which AI model analyzed your query and confirms upfront that the feature uses a **utility model that does not count against your GitHub Copilot premium request quota**. Both the pre-invocation card and the post-response panel now show: +Query Insights now tells you exactly which AI model analyzed your query and confirms upfront that the feature uses a **[utility model](https://aka.ms/vscode-documentdb-copilot-utility-model) that does not count against your GitHub Copilot premium request quota**. Both the pre-invocation card and the post-response panel now show: - A persistent _"No additional cost for most GitHub Copilot subscribers"_ disclosure with a **Learn more** link. - A _"Powered by {model} via GitHub Copilot"_ attribution byline after each successful analysis. -This gives you full transparency into what's happening under the hood every time you use AI-powered index recommendations. +> **What is a utility model?** Utility models are **included in all paid GitHub Copilot plans at no extra charge** (GPT-4o, GPT-4.1, and GPT-5 mini all carry a 0x request multiplier, meaning they do not consume your monthly premium request allowance). For the full breakdown by plan, see [AI Features: Utility Model and Pricing](https://aka.ms/vscode-documentdb-copilot-utility-model) in the user manual. #### 💠 **Batch Connection Deletion** ([#667](https://github.com/microsoft/vscode-documentdb/pull/667)) @@ -193,7 +193,7 @@ Hidden indexes are now clearly labeled in the tree view with a `hidden` descript #### 💠 **Shard Key in Collection Tooltip** ([#661](https://github.com/microsoft/vscode-documentdb/issues/661), [#670](https://github.com/microsoft/vscode-documentdb/pull/670)) -Sharded collections now expose their shard key in the hover tooltip alongside document count and storage size. The information is extracted directly from the `listCollections()` response with no extra round-trips, and is only shown when a shard key is actually present — unsharded collections are unaffected. +Sharded collections now expose their shard key in the hover tooltip alongside document count and storage size. The information is extracted directly from the `listCollections()` response with no extra round-trips, and is only shown when a shard key is actually present; unsharded collections are unaffected. > ⭐ Thanks to **[@lte-z](https://github.com/lte-z)** for this contribution! From 2b395d524905da7158664ea230a5efe40b5405e1 Mon Sep 17 00:00:00 2001 From: Tomasz Naumowicz Date: Wed, 3 Jun 2026 18:49:56 +0200 Subject: [PATCH 7/7] docs: apply release-notes learnings to changelog (Node 24 trigger, trim perf detail) --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cc7094f2e..b181adba5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,7 @@ ### Improvements -- **Performance: Faster Connection Load and Startup**: Significant startup speedup, especially on Remote-WSL. Connection secrets are now fetched concurrently with `Promise.all`; a short-lived activation-time cache coalesces redundant `getItems` reads; startup cleanup is gated behind a one-time version marker so it runs once, not every launch; the cleanup pass itself reduced zone reads from ~6 to ~2. Also removes the legacy one-time Azure Databases extension connection import. **Note:** users who had un-imported connections in `ms-azuretools.vscode-cosmosdb` will need to re-add them manually. [#726](https://github.com/microsoft/vscode-documentdb/pull/726) +- **Performance: Faster Connection Load and Startup**: Significant startup speedup, especially on Remote-WSL and large connection lists. Connections now load concurrently; a short-lived cache coalesces redundant reads; startup cleanup is gated to run once per version, not every launch. Also removes the legacy one-time Azure Databases extension connection import. **Note:** users who had un-imported connections in `ms-azuretools.vscode-cosmosdb` will need to re-add them manually. [#726](https://github.com/microsoft/vscode-documentdb/pull/726) - **Performance: Throttled Background Document-Count Fetches**: A per-cluster concurrency limiter now caps simultaneous background count requests at 5 with a 250 ms inter-task delay, preventing connection pool saturation when expanding databases with many collections. [#685](https://github.com/microsoft/vscode-documentdb/pull/685) - **Shard Key in Collection Tooltip**: Sharded collections now show their shard key in the hover tooltip. Extracted from the existing `listCollections()` response at no extra cost. [#670](https://github.com/microsoft/vscode-documentdb/pull/670), [#661](https://github.com/microsoft/vscode-documentdb/issues/661) - **Contextual Query Playground Filenames**: New playground files opened from the tree now use context-derived names (e.g., `cluster_collection.documentdb.js`) with invalid-character sanitization and numeric suffixes for duplicates. [#664](https://github.com/microsoft/vscode-documentdb/pull/664), [#660](https://github.com/microsoft/vscode-documentdb/issues/660) @@ -21,7 +21,7 @@ ### Fixes -- **Node 24 Compatibility**: Updated `@microsoft/vscode-azext-utils` (~3.3.1 → ~4.1.0) and `@microsoft/vscode-azext-azureutils` (~3.4.5 → ~4.2.0) to fix a crash caused by the removal of `node:util.isNullOrUndefined` in Node 24. [#699](https://github.com/microsoft/vscode-documentdb/pull/699) +- **Node 24 Compatibility**: VS Code 1.123 (released June 3, 2026) ships with Node 24, which broke extension loading. Updated `@microsoft/vscode-azext-utils` (~3.3.1 → ~4.1.0) and `@microsoft/vscode-azext-azureutils` (~3.4.5 → ~4.2.0) to restore compatibility. [#699](https://github.com/microsoft/vscode-documentdb/pull/699) ### Dependencies