Patch Release v0.9.1 📎 #761
tnaum-ms
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Patch Release v0.9.1
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
_idtypes and shell completions, and delivers several performance and reliability improvements.🤲 Community Contributions
A heartfelt thank you to everyone who contributed to this release!
_idsupport (#719), multi-select context menu cleanup (#693), Azure tenant throttling (#694), SchemaStore memory ceiling (#724), URI handler diagnostics (#723), shell completion fixes (#712), and more.What's Changed in v0.9.1
💠 "No Authentication" Connection Mode (#755)
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.
"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 Authenticationin 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.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.
💠 Query Playground: Connect to Database (#740, #758)
Playground files now have a first-class way to connect, reconnect, and switch databases — and the connection is no longer lost when you save.
Connect on demand: Unconnected playground files now show a
$(plug) ConnectCodeLens 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.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.
Connections survive saves (fixes #740): The Run, Collection View, and Shell CodeLens buttons previously disappeared after saving a
.documentdb.jsfile 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).💠 Non-ObjectId
_idTypes in Document Operations (#217, #719)Documents with string, numeric, UUID, or embedded-document
_idvalues 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_idwas anObjectId. The fix extracts_idparsing into a shared utility that uses EJSON round-tripping as the ground truth, handling every BSON type the driver supports.💠 Entra ID OIDC Host Allowlist (#639, #721)
The OIDC
ALLOWED_HOSTSlist 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.💠 Shell Completions Through Strings, Regex, and Comments (#710, #712)
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.💠 TypeScript Plugin Warning on Read-Only Installs (#637, #720)
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.
💠 Multi-Select Context Menu Cleanup (#668, #693)
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.
💠 Performance: Azure Tenant Sign-In Throttling (#688, #694)
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.allfan-out against Microsoft Entra could cause timeouts and noticeably slow the credential and subscription filtering dialogs. The new shared concurrency limiter caps in-flightisSignedInchecks across both wizard steps.💠 Performance: SchemaStore Memory Ceiling (#604, #724)
The schema cache now enforces an LRU-based entry limit. In long-running sessions with many collections, the
_analyzersmap 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.💠 Aggregation Reference Text for Special Field Names (#709, #713)
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-itemsor$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.💠 URI Handler Diagnostics (#655, #723)
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.
💠 Security:
undiciUpdate (#754)Updated
undicifrom 7.25.0 to 7.28.0 to address security vulnerabilities.Changelog
See the full changelog entry for this release:
➡️ CHANGELOG.md#091
Beta Was this translation helpful? Give feedback.
All reactions