DocumentDB for VS Code

Release NotesBack to Release Notes


DocumentDB for VS Code Extension v0.7

We are excited to announce the release of DocumentDB for VS Code Extension v0.7. This is a major update for our DocumentDB and MongoDB GUI, delivering long-awaited features that improve data management workflows.

It includes Lightweight Data Migration for collection copying, adds Folder Management for Connections to organize your workspace, and delivers Accessibility Improvements that make the extension more inclusive.

What’s New in v0.7

1️⃣ Lightweight Data Migration

We’re introducing Lightweight Data Migration (also known as “Collection Copy-and-Paste”). This feature enables you to copy collections and paste them into new or existing collections, across different databases or even different servers - all directly within VS Code.

Lightweight Data Migration Overview

Designed for smaller-to-medium datasets that can be streamed through your local machine, this feature simplifies moving data between environments. It’s useful for:

Conflict Resolution

When pasting into an existing collection, the migration wizard offers four conflict resolution strategies:

  1. Abort on Conflict - Stop immediately if a duplicate _id is detected
  2. Skip Conflicting Documents - Keep existing documents unchanged, only insert new ones
  3. Overwrite Existing Documents - Replace existing documents with source data
  4. Generate New IDs for All Documents - Create unique copies while preserving original IDs in _original_id

Lightweight Data Migration streams data through your local machine, reading from the source and writing to the target in efficient batches. For production-scale migrations with terabytes of data, we recommend using dedicated migration services. However, for development workflows and smaller datasets, this feature provides a convenient option.

📖 For complete details on using this feature, including all conflict resolution strategies and best practices, see our comprehensive documentation: ➡️ Collection Copy-and-Paste User Guide

#63, #170

2️⃣ Folder Management for Connections

Managing multiple database connections is now easier with hierarchical folder organization. We’ve redesigned the Connections View to support hierarchical folder organization, converting what was previously a flat list into an organized system.

Folder Management in Connections View

Key Capabilities

Additional Features

This feature is particularly valuable for developers managing:

#426

3️⃣ Accessibility Improvements

Accessibility is a core value for us, and this release includes improvements to ensure the extension is usable by everyone, regardless of ability. We’ve addressed nine accessibility issues reported by the Microsoft Accessibility Testing team, focusing on screen reader support, keyboard navigation, and ARIA labeling.

Screen Reader Enhancements

Keyboard Navigation Improvements

ARIA Labeling Fixes

User Impact

These improvements help developers using screen readers (NVDA, JAWS, Narrator, VoiceOver), keyboard-only navigation, or voice control software interact with extension features. This work aligns with WCAG 2.1 AA standards and reflects our ongoing commitment to inclusive design.

🤲 Community Contributions

We’re grateful for the contributions from our open-source community! This release includes both code contributions and valuable bug reports that helped improve the extension:

1️⃣ Alphabetical Collection Sorting (#465)

Collections within DocumentDB databases are now displayed in alphabetical order, making it much easier to find the collection you’re looking for. This improvement enhances usability when working with databases that contain many collections.

Contributed by @VanitasBlade, fixing issue #456 originally reported by @majelbstoat and @MattParkerDev.

2️⃣ Bug Reports from the Community

Additional Improvements

Cancellable Import Operations

Long-running import operations can now be cancelled. A cancel button is available in the progress notification, allowing you to stop the import process if needed. #496

Connection String Handling (#467)

Connection string inputs are now automatically trimmed and validated. This prevents issues when pasting connection strings that may contain leading or trailing whitespace, ensuring successful connections every time.

Copy Connection String with Password (#436)

When copying connection details to the clipboard, you can now choose whether to include the password. Previously, it wasn’t possible to copy connection strings with passwords included—this option provides the flexibility needed for different security contexts.

Estimated Document Count Display

Collections in the tree view now display an estimated document count, helping you assess collection sizes without running explicit count queries. This makes it easier to understand your data at a glance.

Improved AI Response Formatting (#428)

Fixed markdown formatting issues in AI-generated responses from the Query Insights feature. The extension now restricts formatting options to prevent malformed output, ensuring recommendations are always readable and properly rendered.

Improved Data Migration Feedback

Two enhancements improve the collection paste experience:

Query Insights Performance Enhancement (#468)

The Query Insights feature has been improved with an updated AI model (GPT-4o) and refined prompt architecture. Key improvements include:

These changes make the Query Insights feature faster and more reliable for analyzing query performance.

Release Notes Notification on Upgrade (#487)

When you upgrade the extension to a new major or minor version, DocumentDB for VS Code can now prompt you to view the latest release notes so you do not miss new features and important changes.

The notification appears when the Connections View becomes visible, and lets you:

Key Fixes

Azure Resources View Connectivity (#480)

Resolved connection failures when expanding Azure DocumentDB clusters in the Azure Resources view. Previously, undefined resource group metadata caused cryptic API errors. The extension now correctly extracts resource group information from resource IDs, ensuring reliable connectivity to vCore and Azure Cosmos DB for MongoDB (RU) clusters.

Connection String Deduplication (#478)

Fixed an issue where connection string parameters could be duplicated (e.g., ssl=true&ssl=true), causing connection failures or unexpected behavior. The extension now automatically deduplicates parameters while respecting specifications (e.g., preserving multiple readPreferenceTags), ensuring reliable connections and compliance with standard drivers.

Dark Theme Support (#457)

Resolved UI rendering issues that affected users of dark themes like Nord. Text in certain controls was dark-on-dark and invisible, making parts of the interface unusable. All UI elements now properly respect theme colors for better visibility in both light and dark modes. Reported by @majelbstoat in #457.

Document Import from Discovery View (#479)

Fixed document import failures when using the Azure Service Discovery View with Azure Cosmos DB for MongoDB (RU) resources. The extension now properly retrieves connection strings even when metadata cache hasn’t fully populated, ensuring reliable imports from discovered resources. Resolves #368.

Monaco Editor Keyboard Paste (#470)

Restored keyboard paste functionality (Ctrl+V / Cmd+V) in the Query Editor and Document View. A regression in Monaco Editor 0.53.x/0.54.x broke keyboard shortcuts for paste operations. Downgrading to Monaco 0.52.2 resolves this issue. Context menu paste always worked, but keyboard shortcuts are now functional again. Reported by @cveld in #435.

Query Parsing Error Handling (#471)

Fixed an issue where invalid JSON in query fields (filter, projection, sort) was silently replaced with empty objects, making it difficult to understand why queries weren’t working as expected. Parse failures now display clear error dialogs with helpful JSON syntax examples. Reported by @majelbstoat in #458.

Security Dependency Updates (#434, #494)

Updated qs, express and webpack dependencies to address security vulnerabilities, ensuring the extension maintains high security standards.

Changelog

See the full changelog entry for this release: ➡️ CHANGELOG.md#070


Patch Release v0.7.2

This patch release improves data migration discoverability, adds reconnect prompts for error recovery, introduces an experimental AI query generation setting, and includes security dependency updates.

Note: Version 0.7.1 was reserved for internal validation and was not published as a public release.

What’s Changed in v0.7.2

💠 Data Migration Discoverability (#515)

The “Data Migration…” context menu item is now always visible on cluster nodes, removing the previous requirement that a migration provider extension had to be installed first. This solves a discoverability problem where users had no in-product signal that migration tooling existed.

A new announced providers infrastructure lets the extension advertise known migration extensions (declared in package.json) that users can discover and install directly from the VS Code Marketplace. When a provider is already installed, it appears in the “Installed Providers” group; uninstalled announced providers appear under “Visit Marketplace” for one-click installation.

💠 Reconnect Prompt After Credential Update (#504)

When updating credentials from an error recovery node (after a connection failure), the extension now offers a reconnect prompt. Previously, credentials were saved but the user had to manually retry the connection. Selecting “Yes” clears the error state and triggers a fresh connection attempt automatically.

💠 Experimental AI Query Generation Setting (#503)

Introduces a new experimental setting documentDB.experimental.enableAIQueryGeneration that controls the AI-powered query generation feature in the Collection View. The setting is disabled by default and can be enabled by users who want to try AI-assisted query authoring. Activation telemetry now also reports which experimental features are enabled.

💠 tRPC Upgrade and Abort Signal Support (#502, #320)

Upgraded tRPC dependencies (@trpc/client and @trpc/server) from v11.8.0 to v11.10.0 and added AbortSignal-based cancellation support for webview operations. This enables long-running tRPC procedures to be properly cancelled when the user navigates away or closes a webview, improving resource management and responsiveness.

💠 Connection String Validation Improvements (#511)

Strengthened connection string handling with defensive trimming and validation simplification. User input is now trimmed at every entry point (including BOM, NBSP, and other invisible whitespace characters), and credential validation has been simplified to avoid unnecessary parse/serialize round-trips. The update connection string flow now uses the same validation logic as the new connection flow.

💠 Feedback Collection Documentation (#509)

Added a new section to the README documenting how DocumentDB for VS Code collects user feedback through the UI, and clarifying that this behavior is governed by VS Code’s global telemetry setting.

💠 Security Dependency Updates (#514, #505)

Updated minimatch (3.1.2 → 3.1.4), qs and body-parser to address security vulnerabilities, ensuring the extension maintains high security standards.

Changelog

See the full changelog entry for this release: ➡️ CHANGELOG.md#072


Patch Release v0.7.3

This patch introduces connection cancellation, a Node.js 22 upgrade with dependency refreshes, and internal telemetry refinements.

What’s Changed in v0.7.3

💠 Cancel In-Progress Connection (#529)

You can now cancel a connection attempt that is taking too long. When the extension is connecting to a cluster, a Cancel button appears in the progress notification — clicking it aborts the operation gracefully, so you no longer need to wait or restart VS Code.

💠 Dependency Updates & Node.js 22 (#523, #534, #537, #539, #541, #542)

The extension’s runtime has been upgraded from Node.js 20 to Node.js 22. Several packages — undici, handlebars, brace-expansion, picomatch, and flatted — have been bumped to their latest versions, bringing security patches and compatibility improvements.

💠 Telemetry Refinements (#544)

Internal telemetry for connection and discovery actions has been improved to capture more specific, actionable properties — helping the team diagnose issues and improve workflows faster.

Changelog

See the full changelog entry for this release: ➡️ CHANGELOG.md#073


Patch Release v0.7.4

This patch adds URL-encoded password detection, rich markdown tooltips across all tree item levels, a new “Copy Reference” context menu, and several dependency updates.

What’s Changed in v0.7.4

💠 URL-Encoded Password Detection (#444, #594)

Connecting with a URL-encoded password no longer results in a cryptic authentication failure. When a connection attempt fails and the password contains URL-encoded characters (%XX sequences), the extension now offers a “Retry with Decoded Password” option in the error dialog. If the retry succeeds, the decoded password can be saved — no manual editing required.

Thanks to @vaibh123540 for the original contribution in #454!

💠 Rich Markdown Tooltips (#579, #588)

Hovering over tree items in the Connections view now reveals rich markdown tooltips at cluster, database, and collection levels — giving you useful details at a glance without expanding or connecting.

All data comes from information already fetched during tree expansion, so no extra API calls are needed.

💠 Copy Reference Context Menu (#545, #587)

A new “Copy Reference…” right-click option is available on database, collection, and index nodes. Instead of copying a single fixed format, a QuickPick lets you choose the most useful representation:

Names containing special characters (spaces, parentheses, etc.) automatically use the safe db.getCollection("...") form, and dot-notation options are hidden when they would produce broken syntax.

Thanks to @bgaeddert for the original contribution in #545!

💠 Improved CONTRIBUTING.md (#565)

The contributing guide now includes a PR submission checklist (localization, formatting, linting), corrected Node/npm version requirements, and multi-platform setup stubs — making it easier for new contributors to get started.

💠 Dependency Updates (#552, #556, #558, #586)

Updated handlebars (4.7.8 → 4.7.9), lodash (4.17.23 → 4.18.1), lodash and @microsoft/api-extractor in /api, and follow-redirects (1.15.11 → 1.16.0) to their latest versions.

Changelog

See the full changelog entry for this release: ➡️ CHANGELOG.md#074