Skip to content

Commit a40194a

Browse files
authored
release notes 0.9.1 (#757)
2 parents eed226a + e2a4d2d commit a40194a

5 files changed

Lines changed: 108 additions & 4 deletions

File tree

CHANGELOG.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,31 @@
11
# Change Log
22

3+
## 0.9.1
4+
5+
### New Features
6+
7+
- **"No Authentication" Connection Mode**: Adds a credential-free authentication option for DocumentDB clusters that require no username, password, or Entra ID. Works across the connection wizard, tree, integrated shell, and query playground. Switching an existing connection to this method automatically clears any previously stored credentials. [#755](https://github.com/microsoft/vscode-documentdb/pull/755)
8+
- **Query Playground: Connect to Database**: Adds a `Connect to Database` command and CodeLens to (re)connect a playground to a cluster and database on demand. Running an unconnected playground opens the picker automatically. Also fixes connections lost on save (untitled-to-file, Save As) and within-session reopen. [#740](https://github.com/microsoft/vscode-documentdb/issues/740), [#758](https://github.com/microsoft/vscode-documentdb/pull/758)
9+
10+
### Fixes
11+
- **Non-ObjectId `_id` Support**: Documents with string, numeric, UUID, or embedded-document `_id` values can now be deleted, read, and upserted correctly. Previously they threw "Invalid document ID" errors due to a hardcoded `ObjectId` assumption. Community contribution by [@hanhan761](https://github.com/hanhan761). [#217](https://github.com/microsoft/vscode-documentdb/issues/217), [#719](https://github.com/microsoft/vscode-documentdb/pull/719)
12+
- **Shell Completions in Strings, Regex, and Comments**: Field-name completions now appear correctly when a query contains parentheses inside string literals, regex literals, or line and block comments. Community contribution by [@hanhan761](https://github.com/hanhan761). [#710](https://github.com/microsoft/vscode-documentdb/issues/710), [#712](https://github.com/microsoft/vscode-documentdb/pull/712)
13+
- **Entra ID OIDC Host Allowlist**: The OIDC `ALLOWED_HOSTS` list for Entra ID authentication is now derived from the connection string hostname rather than hardcoded to `*.azure.com`, removing a restriction that could block token delivery for non-public-cloud Azure endpoints. Community contribution by [@hanhan761](https://github.com/hanhan761). [#639](https://github.com/microsoft/vscode-documentdb/issues/639), [#721](https://github.com/microsoft/vscode-documentdb/pull/721)
14+
- **TypeScript Plugin Warning on Read-Only Installs**: When the TS plugin fails to bootstrap on a read-only extension install, the extension now shows a status bar warning with a click-to-retry action instead of failing silently. Community contribution by [@hanhan761](https://github.com/hanhan761). [#637](https://github.com/microsoft/vscode-documentdb/issues/637), [#720](https://github.com/microsoft/vscode-documentdb/pull/720)
15+
- **Multi-Select Context Menu**: Single-item context menu commands in the Connections view are now hidden when multiple items are selected, preventing commands from silently acting on only the first item. Community contribution by [@hanhan761](https://github.com/hanhan761). [#668](https://github.com/microsoft/vscode-documentdb/issues/668), [#693](https://github.com/microsoft/vscode-documentdb/pull/693)
16+
- **Aggregation Reference Text for Special Field Names**: Fields with special characters (e.g., `order-items`, `my field`) now emit valid MQL reference text in completions using `$getField` form instead of invalid `$`-prefix syntax. Community contribution by [@Jacquelinezhong](https://github.com/Jacquelinezhong). [#709](https://github.com/microsoft/vscode-documentdb/issues/709), [#713](https://github.com/microsoft/vscode-documentdb/pull/713)
17+
- **URI Handler Diagnostics**: Failures in the VS Code URI handler now surface a user-visible warning and emit diagnostic telemetry instead of failing silently. Community contribution by [@hanhan761](https://github.com/hanhan761). [#655](https://github.com/microsoft/vscode-documentdb/issues/655), [#723](https://github.com/microsoft/vscode-documentdb/pull/723)
18+
- **Query Insights Prompt Framing**: Aligned the AI prompt role and task strings with the resource-file framing convention. Community contribution by [@hanhan761](https://github.com/hanhan761). [#619](https://github.com/microsoft/vscode-documentdb/issues/619), [#728](https://github.com/microsoft/vscode-documentdb/pull/728)
19+
20+
### Improvements
21+
22+
- **Performance: Azure Tenant Sign-In Throttling**: Throttles parallel Azure tenant sign-in checks to 5 concurrent requests, preventing unbounded Entra API fan-outs for users with many tenants. Community contribution by [@hanhan761](https://github.com/hanhan761). [#688](https://github.com/microsoft/vscode-documentdb/issues/688), [#694](https://github.com/microsoft/vscode-documentdb/pull/694)
23+
- **Performance: SchemaStore Memory Ceiling**: SchemaStore now enforces an LRU-based entry limit, preventing unbounded memory growth during long sessions with many collections. Community contribution by [@hanhan761](https://github.com/hanhan761). [#604](https://github.com/microsoft/vscode-documentdb/issues/604), [#724](https://github.com/microsoft/vscode-documentdb/pull/724)
24+
25+
### Security
26+
27+
- **Dependency Security Update**: Updated `undici` from 7.25.0 to 7.28.0 to address security vulnerabilities. [#754](https://github.com/microsoft/vscode-documentdb/pull/754)
28+
329
## 0.9.0
430

531
### New Features

docs/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ The User Manual provides guidance on using DocumentDB for VS Code. It contains d
8080

8181
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.
8282

83-
- [0.9](./release-notes/0.9)
83+
- [0.9](./release-notes/0.9), [0.9.1](./release-notes/0.9#patch-release-v091)
8484
- [0.8](./release-notes/0.8), [0.8.1](./release-notes/0.8#patch-release-v081)
8585
- [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)
8686
- [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)

docs/release-notes/0.9.md

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,3 +92,81 @@ For information on which AI model is used and how billing works, see [AI Perform
9292

9393
See the full changelog entry for this release:
9494
➡️ [CHANGELOG.md#090](https://github.com/microsoft/vscode-documentdb/blob/main/CHANGELOG.md#090)
95+
96+
---
97+
98+
## Patch Release v0.9.1
99+
100+
This patch introduces a first-class **"No Authentication"** connection mode for credential-free clusters, fixes a critical bug where the Query Playground's Run button vanishes after saving a file, extends Entra ID authentication to Azure sovereign clouds, resolves long-standing issues with non-ObjectId `_id` types and shell completions, and delivers several performance and reliability improvements.
101+
102+
### 🤲 Community Contributions
103+
104+
A heartfelt thank you to everyone who contributed to this release!
105+
106+
- **[@hanhan761](https://github.com/hanhan761)** contributed the lion's share of fixes and improvements in this release: sovereign cloud Entra ID support ([#721](https://github.com/microsoft/vscode-documentdb/pull/721)), TS plugin status bar warning ([#720](https://github.com/microsoft/vscode-documentdb/pull/720)), non-ObjectId `_id` support ([#719](https://github.com/microsoft/vscode-documentdb/pull/719)), multi-select context menu cleanup ([#693](https://github.com/microsoft/vscode-documentdb/pull/693)), Azure tenant throttling ([#694](https://github.com/microsoft/vscode-documentdb/pull/694)), SchemaStore memory ceiling ([#724](https://github.com/microsoft/vscode-documentdb/pull/724)), URI handler diagnostics ([#723](https://github.com/microsoft/vscode-documentdb/pull/723)), shell completion fixes ([#712](https://github.com/microsoft/vscode-documentdb/pull/712)), and more.
107+
- **[@Jacquelinezhong](https://github.com/Jacquelinezhong)** fixed aggregation reference text for fields with special characters in their names ([#713](https://github.com/microsoft/vscode-documentdb/pull/713)).
108+
109+
### What's Changed in v0.9.1
110+
111+
#### 💠 **"No Authentication" Connection Mode** ([#755](https://github.com/microsoft/vscode-documentdb/pull/755))
112+
113+
You can now connect to DocumentDB clusters that require no credentials at all — no username, no password, no Entra ID. This is useful for exploratory work against clusters intentionally running without authentication, such as local development instances or clusters behind a network perimeter that handles access control externally.
114+
115+
**"No Authentication"** appears as a first-class option in the connection wizard alongside Native and Microsoft Entra ID auth. The selection is honored throughout: the tree expands without prompting for credentials, the integrated shell shows `No Authentication` in the connection summary, and the query playground routes through the credential-free connection string. TLS/SSL overrides in the connection string (e.g., `tls=false`) are fully honored.
116+
117+
If you switch an existing connection from Native or Entra ID to "No Authentication", any previously stored credentials are automatically cleared so they cannot leak back in on the next load.
118+
119+
#### 💠 **Query Playground: Connect to Database** ([#740](https://github.com/microsoft/vscode-documentdb/issues/740), [#758](https://github.com/microsoft/vscode-documentdb/pull/758))
120+
121+
Playground files now have a first-class way to connect, reconnect, and switch databases — and the connection is no longer lost when you save.
122+
123+
**Connect on demand**: Unconnected playground files now show a `$(plug) Connect` CodeLens at the top. Clicking it opens a tree-based database picker that drills the Connections view (folders → clusters → databases). Running a playground that has no connection opens the same picker automatically and continues the run as soon as a database is selected; pressing Escape cancels without error.
124+
125+
**Switch databases**: Clicking the connection lens while a playground is already connected opens a picker to point it at a different cluster or database. The existing connection is only replaced after a new database is picked, so cancelling preserves the current one.
126+
127+
**Connections survive saves** (fixes [#740](https://github.com/microsoft/vscode-documentdb/issues/740)): The Run, Collection View, and Shell CodeLens buttons previously disappeared after saving a `.documentdb.js` file because saving changed the document URI and the connection binding was keyed on the old URI. Connections now survive saving an untitled scratch file to disk, **Save As** to a different path, and reopening a playground in the same VS Code session (provided the target cluster's credentials are still cached).
128+
129+
#### 💠 **Non-ObjectId `_id` Types in Document Operations** ([#217](https://github.com/microsoft/vscode-documentdb/issues/217), [#719](https://github.com/microsoft/vscode-documentdb/pull/719))
130+
131+
Documents with string, numeric, UUID, or embedded-document `_id` values now work correctly across all operations. Previously, attempting to delete, read, or upsert such a document threw an "Invalid document ID" error because the extension assumed every `_id` was an `ObjectId`. The fix extracts `_id` parsing into a shared utility that uses EJSON round-tripping as the ground truth, handling every BSON type the driver supports.
132+
133+
#### 💠 **Entra ID OIDC Host Allowlist** ([#639](https://github.com/microsoft/vscode-documentdb/issues/639), [#721](https://github.com/microsoft/vscode-documentdb/pull/721))
134+
135+
The OIDC `ALLOWED_HOSTS` list for Entra ID authentication is no longer hardcoded to `*.azure.com`. It is now derived from the connection string's hostname, widening coverage to non-public-cloud Azure endpoints while preserving the security control (non-Azure hosts remain untrusted). This removes a restriction that could block token delivery when the connection string host does not end in `.azure.com`.
136+
137+
#### 💠 **Shell Completions Through Strings, Regex, and Comments** ([#710](https://github.com/microsoft/vscode-documentdb/issues/710), [#712](https://github.com/microsoft/vscode-documentdb/pull/712))
138+
139+
Field-name completions now appear correctly when a query contains parentheses inside string literals, regex literals, or line and block comments. Previously, a literal `)` inside `")"`, `/foo(bar)/`, or `// comment )` confused the method-argument context detector into thinking the cursor was outside the filter object, suppressing completions entirely.
140+
141+
#### 💠 **TypeScript Plugin Warning on Read-Only Installs** ([#637](https://github.com/microsoft/vscode-documentdb/issues/637), [#720](https://github.com/microsoft/vscode-documentdb/pull/720))
142+
143+
When the TypeScript plugin fails to bootstrap (a common scenario in container-based remote environments or corporate installs with read-only extension directories), the extension now shows a **status bar warning** with a click-to-retry action instead of failing silently. If TypeScript-powered completions in the playground are unavailable, the warning tells you why and lets you retry without reloading VS Code.
144+
145+
#### 💠 **Multi-Select Context Menu Cleanup** ([#668](https://github.com/microsoft/vscode-documentdb/issues/668), [#693](https://github.com/microsoft/vscode-documentdb/pull/693))
146+
147+
Single-item context menu commands in the Connections view are now hidden when multiple items are selected. Previously, right-clicking a multi-selection showed the full single-item menu, and most commands would silently act on only the first selected item. Now only the two commands that genuinely support multi-select (**Remove Connection** and **Move Items**) remain visible in that context.
148+
149+
#### 💠 **Performance: Azure Tenant Sign-In Throttling** ([#688](https://github.com/microsoft/vscode-documentdb/issues/688), [#694](https://github.com/microsoft/vscode-documentdb/pull/694))
150+
151+
Azure tenant sign-in checks are now throttled to a maximum of 5 concurrent requests. For users in organizations with many Azure tenants, the previous unbounded `Promise.all` fan-out against Microsoft Entra could cause timeouts and noticeably slow the credential and subscription filtering dialogs. The new shared concurrency limiter caps in-flight `isSignedIn` checks across both wizard steps.
152+
153+
#### 💠 **Performance: SchemaStore Memory Ceiling** ([#604](https://github.com/microsoft/vscode-documentdb/issues/604), [#724](https://github.com/microsoft/vscode-documentdb/pull/724))
154+
155+
The schema cache now enforces an LRU-based entry limit. In long-running sessions with many collections, the `_analyzers` map in SchemaStore could grow without bound, gradually increasing memory usage. Once the limit is reached, the least-recently-used entries are evicted to keep the footprint bounded.
156+
157+
#### 💠 **Aggregation Reference Text for Special Field Names** ([#709](https://github.com/microsoft/vscode-documentdb/issues/709), [#713](https://github.com/microsoft/vscode-documentdb/pull/713))
158+
159+
Fields with special characters in their names (e.g., `order-items`, `my field`) now produce correct aggregation reference text in completions. Previously, they emitted `$order-items` or `$my field`, which is invalid MQL. Flat fields with unsafe names now use `{ $getField: "order-items" }` form; nested paths with an unsafe segment omit the reference to avoid emitting broken MQL.
160+
161+
#### 💠 **URI Handler Diagnostics** ([#655](https://github.com/microsoft/vscode-documentdb/issues/655), [#723](https://github.com/microsoft/vscode-documentdb/pull/723))
162+
163+
Failures in the VS Code URI handler (used when clicking links that open the extension from external applications) now surface a user-visible warning notification and emit structured diagnostic telemetry. Previously, errors at this entry point were swallowed silently.
164+
165+
#### 💠 **Security: `undici` Update** ([#754](https://github.com/microsoft/vscode-documentdb/pull/754))
166+
167+
Updated `undici` from 7.25.0 to 7.28.0 to address security vulnerabilities.
168+
169+
### Changelog
170+
171+
See the full changelog entry for this release:
172+
➡️ [CHANGELOG.md#091](https://github.com/microsoft/vscode-documentdb/blob/main/CHANGELOG.md#091)

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "vscode-documentdb",
3-
"version": "0.9.0",
3+
"version": "0.9.1",
44
"releaseNotesUrl": "https://github.com/microsoft/vscode-documentdb/discussions/750",
55
"aiKey": "0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255",
66
"publisher": "ms-azuretools",

0 commit comments

Comments
 (0)