Release Notes - Back to Release Notes
We are excited to announce the release of DocumentDB for VS Code Extension v0.10.
This is the largest release of the extension so far, and it lands three major features at once. DocumentDB Local gets you from a Docker-ready machine to an open local database in a few clicks, without writing a single docker run command. MongoDB Atlas Service Discovery brings your Atlas organizations, projects, and clusters into the Discovery view, so you can connect without hunting for endpoints in the Atlas console. And Index Management adds a full Indexes tab to Collection View, so you can review, create, hide, and delete indexes right next to the queries they serve.
Getting a local database running should not be a research project. DocumentDB Local setup does the whole thing for you: it pulls the official DocumentDB image, creates a persistent Docker volume, waits until the database actually accepts connections, and saves a ready-to-use connection in the Connections view.

Open the Connections view, expand Your own DocumentDB, and select Set up DocumentDB Local. On the happy path you keep the defaults, select Start DocumentDB Local, and then select Open Connection. Credentials are generated for you, sample data is included, and an available host port is picked automatically.
Local databases fail for boring environment reasons, and those reasons are usually invisible. The setup view separates Docker CLI, daemon, and daemon-platform facts, and it tells you exactly what to do next for your environment: native Linux socket permissions, WSL integration with Docker Desktop, a stopped Docker Engine service, an unreachable DOCKER_HOST or Docker context, or a daemon running Windows containers.
The extension is deliberately conservative about what it does on your behalf. It never installs Docker, never runs sudo, never changes group membership, and never switches your Docker context. Where a fix requires a command, that command is presented as copy-only text with an explanation of why a plain window reload is not enough.
Remote development is treated honestly too. In WSL, SSH, dev containers, or Codespaces, the container runs in the extension-host environment, and the setup view says so rather than pretending localhost means your laptop.
The managed instance appears in the Connections view with start, stop, restart, and delete actions, plus a tooltip carrying container and Docker host details. State is reconciled with Docker on demand, so stopping the container outside VS Code no longer leaves the extension believing it is still running. Expanding the cluster preflights the container first, and a stopped instance offers to start rather than failing with a cryptic driver timeout.
Destructive actions are gated. Every container and volume removal is guarded by a label precondition, so the extension can never remove a container it did not create. If saved credentials go missing, the instance surfaces a Needs attention row that walks you through recovery instead of dead-ending or offering an immediate delete.
For the complete guide, see Set up DocumentDB Local and DocumentDB Local.
Pre-release refinements: #841, #849, #851, #852, #855, #856, #857, #858, #865, #866, #873, #876, #879, #883
MongoDB Atlas joins Azure and Kubernetes as a first-class Service Discovery provider. Browse your Atlas organizations, projects, and clusters directly in the extension, then save any cluster as a regular DocumentDB connection without copying endpoints by hand.

You can start from the Service Discovery view, or from New Connection > Service Discovery > MongoDB Atlas.
Discovery authenticates against the Atlas Admin API using either an API Key (Public Key and Private Key) or a Service Account (Client ID and Client Secret). The credential is verified with Atlas before it is saved, and secrets are stored in VS Code Secret Storage.
Crucially, this credential is only used to find things. It is never treated as a database login. You still enter an Atlas database username and password when you connect to a cluster, and the extension never retrieves database passwords.
An Atlas API Key or Service Account belongs to a single organization, so the extension supports several credentials side by side. Resources from all configured credentials are combined into one view, and a resource visible through more than one credential appears only once.
A dedicated Manage MongoDB Atlas Credentials view lets you add a credential, retry one that is failing, update a rotated secret without losing the credential’s identity, open it in Atlas to review roles and IP access lists, or sign out of one or all of them.
The default tree shows organizations, then projects, then clusters. A view toggle switches to a flat list where each cluster carries its organization · project context, and your choice is remembered between sessions.
Atlas often shows clusters that are not ready for a database connection, and the extension no longer lets you walk into a doomed connection attempt. Paused, Creating, Updating, Repairing, and Deleting clusters are all labeled. This matters most for paused clusters: Atlas reports them with stateName: "IDLE", which used to make a paused cluster look perfectly healthy until every connection timed out. Paused clusters now render as a leaf with a Paused annotation, a tooltip that explains the apparent contradiction, and a connection wizard that lists them as unavailable instead of failing.
A new Open in MongoDB Atlas action on any discovered cluster deep-links to its overview page, so when the extension tells you to resume a cluster it can also take you to where you do that.
For the complete guide, see MongoDB Atlas Service Discovery, Browse and Connect to MongoDB Atlas, Manage MongoDB Atlas Credentials, and Troubleshoot MongoDB Atlas Service Discovery.
Pre-release refinements: #799, #813, #834, #842, #850, #883
Indexes are where query performance is won or lost, and until now you had to leave the extension to work with them. Collection View gains an Indexes tab, sitting between Results and Query Insights, so index work happens next to the queries it affects. You can also double-click the collection’s Indexes node in the Explorer to open Collection View directly on that tab.

A metrics row summarizes index count, total size, and total usage for the collection. Below it, a table lists every index with its name, type, properties, server-reported size, and server-reported usage. Sort by any column, filter by name or field, use the Hidden and Unused quick toggles to find candidates for cleanup, and expand a row to inspect the index fields, the full property set, and the raw server-reported definition.
Index state is visible while it changes: Ready, Creating, and Building are distinguished, and the tab refreshes itself while a build is in progress.
The Create Index drawer covers Standard, Wildcard, and Vector indexes.
$**), Parent path (for example metadata.$**), and Projection to include or exclude selected paths. The form validates incompatible selections for the chosen scope.Preview as JSON shows the generated definition before you commit to it. And if you would rather run the command yourself, the drawer can hand the generated command off to a Query Playground or the Interactive Shell instead of creating the index directly, which is useful when you want to tweak it first or keep working with the collection afterwards.
Each row offers Hide, Unhide, and Delete, with a confirmation that spells out what will happen. Hiding is the low-risk way to test whether your queries actually need an index before you remove it. The default _id_ index is protected and cannot be hidden or deleted. The same actions and the same confirmations are available from the Explorer context menu on an individual index.
For the complete guide, see Manage Indexes in Collection View, Wildcard Indexes in Collection View, Vector Indexes in Collection View, and Troubleshoot Index Management.
Pre-release refinements: #836, #837
See the full changelog entry for this release: ➡️ CHANGELOG.md#0100