Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 15 additions & 7 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,27 @@

### New Features

- **DocumentDB Local**: Adds a guided setup that provisions a local, fully MongoDB-compatible DocumentDB instance with Docker — no manual container work required. The wizard verifies the Docker environment, pulls the official image, creates and starts a container, generates credentials, optionally loads sample data, and saves the connection to the Connections view. Lifecycle actions (Start, Stop, Restart, Delete, View Logs, Copy Connection String, Copy Password) are available on the instance in the tree. The host port shown in the Configure step is the port that gets bound — setup never substitutes it silently, and a port conflict is reported before anything is created. [#798](https://github.com/microsoft/vscode-documentdb/pull/798), [#794](https://github.com/microsoft/vscode-documentdb/pull/794), [#841](https://github.com/microsoft/vscode-documentdb/pull/841), [#849](https://github.com/microsoft/vscode-documentdb/pull/849), [#876](https://github.com/microsoft/vscode-documentdb/pull/876), [#879](https://github.com/microsoft/vscode-documentdb/pull/879)
- **MongoDB Atlas Service Discovery**: Adds an Atlas discovery provider that lists your Atlas clusters directly in the Discovery view. Supports multiple credential sets with a dedicated credential-management webview, tree and flat-list presentations, filtering, opening a cluster in the Atlas portal, and saving a discovered cluster into DocumentDB Connections. Paused clusters are surfaced correctly rather than failing silently. [#765](https://github.com/microsoft/vscode-documentdb/pull/765), [#793](https://github.com/microsoft/vscode-documentdb/pull/793), [#799](https://github.com/microsoft/vscode-documentdb/pull/799), [#813](https://github.com/microsoft/vscode-documentdb/pull/813), [#834](https://github.com/microsoft/vscode-documentdb/pull/834), [#842](https://github.com/microsoft/vscode-documentdb/pull/842), [#850](https://github.com/microsoft/vscode-documentdb/pull/850)
- **Index Management**: Adds an Index Management tab to the Collection View for reviewing and creating indexes, including a Create Index drawer with refined interactions and option handling shared with the Atlas UI. [#732](https://github.com/microsoft/vscode-documentdb/pull/732), [#781](https://github.com/microsoft/vscode-documentdb/pull/781), [#836](https://github.com/microsoft/vscode-documentdb/pull/836), [#837](https://github.com/microsoft/vscode-documentdb/pull/837)
- **DocumentDB Local**: Adds a guided setup that provisions and manages the official DocumentDB Local container from the Connections view, with Docker readiness diagnostics, generated credentials, optional sample data, and start, stop, restart, and delete actions. [#798](https://github.com/microsoft/vscode-documentdb/pull/798)
- Pre-release refinements: [#841](https://github.com/microsoft/vscode-documentdb/pull/841), [#849](https://github.com/microsoft/vscode-documentdb/pull/849), [#851](https://github.com/microsoft/vscode-documentdb/issues/851), [#852](https://github.com/microsoft/vscode-documentdb/issues/852), [#855](https://github.com/microsoft/vscode-documentdb/issues/855), [#856](https://github.com/microsoft/vscode-documentdb/issues/856), [#857](https://github.com/microsoft/vscode-documentdb/issues/857), [#858](https://github.com/microsoft/vscode-documentdb/issues/858), [#865](https://github.com/microsoft/vscode-documentdb/issues/865), [#866](https://github.com/microsoft/vscode-documentdb/pull/866), [#873](https://github.com/microsoft/vscode-documentdb/issues/873), [#876](https://github.com/microsoft/vscode-documentdb/pull/876), [#879](https://github.com/microsoft/vscode-documentdb/pull/879), [#883](https://github.com/microsoft/vscode-documentdb/pull/883)
- **MongoDB Atlas Service Discovery**: Adds an Atlas discovery provider that browses organizations, projects, and clusters and saves any of them as a connection. Supports Atlas API Keys and Service Accounts, multiple credentials side by side, and tree or list views. [#259](https://github.com/microsoft/vscode-documentdb/issues/259), [#261](https://github.com/microsoft/vscode-documentdb/issues/261), [#765](https://github.com/microsoft/vscode-documentdb/pull/765)
- Pre-release refinements: [#799](https://github.com/microsoft/vscode-documentdb/pull/799), [#813](https://github.com/microsoft/vscode-documentdb/pull/813), [#834](https://github.com/microsoft/vscode-documentdb/pull/834), [#842](https://github.com/microsoft/vscode-documentdb/pull/842), [#850](https://github.com/microsoft/vscode-documentdb/pull/850), [#883](https://github.com/microsoft/vscode-documentdb/pull/883)
- **Index Management in Collection View**: Adds an Indexes tab with index metrics, filtering, sorting, and per-index details. Creates Standard, Wildcard, and Vector indexes through a guided drawer with JSON preview, and hides, unhides, or deletes existing indexes. [#732](https://github.com/microsoft/vscode-documentdb/pull/732)
- Pre-release refinements: [#836](https://github.com/microsoft/vscode-documentdb/pull/836), [#837](https://github.com/microsoft/vscode-documentdb/pull/837)

### Improvements

- **Theme-Aware Webview Colors**: Fluent UI surfaces, strokes, and controls in the webviews now track the active VS Code theme instead of using fixed palette values. [#838](https://github.com/microsoft/vscode-documentdb/pull/838)
- **Typed Status Reporting for DocumentDB Local**: Setup and lifecycle states are reported as typed message keys rather than pre-composed English sentences, so every user-facing situation is translatable and rendered consistently across the panel and the tree. [#879](https://github.com/microsoft/vscode-documentdb/pull/879), [#876](https://github.com/microsoft/vscode-documentdb/pull/876)
- **Connection Failures Are Explained by the Component That Caused Them**: Failures caused by a stopped DocumentDB Local container, a broken Kubernetes port forward, or an Atlas TLS rejection are now explained in plain language instead of surfacing as raw driver errors. [#873](https://github.com/microsoft/vscode-documentdb/issues/873), [#876](https://github.com/microsoft/vscode-documentdb/pull/876)
- **Shell Terminal Survives a Failed Connect**: The interactive shell no longer closes itself when the initial connection fails. It keeps a prompt open so the next command retries, and reports the failure through a notification and the output channel. [#876](https://github.com/microsoft/vscode-documentdb/pull/876)
- **Improved Theme Support in Webviews**: Maps the remaining Fluent UI surfaces, interaction and disabled states, fields, and progress indicators to semantic VS Code theme colors, and corrects index-table zebra, hover, pressed, header, and badge styling across tinted themes. [#838](https://github.com/microsoft/vscode-documentdb/pull/838)

### Fixes

- **DocumentDB Local Bug Bash Fixes**: Resolves the issues found in the 0.10.0 bug bash — lifecycle commands no longer appear in the Command Palette where they cannot act, port messages are localized, Copy Connection String no longer leaks the password, the credential-missing state is an actionable row instead of a silent no-op, and deletion uses the shared confirmation flow. [#851](https://github.com/microsoft/vscode-documentdb/issues/851), [#852](https://github.com/microsoft/vscode-documentdb/issues/852), [#855](https://github.com/microsoft/vscode-documentdb/issues/855), [#856](https://github.com/microsoft/vscode-documentdb/issues/856), [#857](https://github.com/microsoft/vscode-documentdb/issues/857), [#858](https://github.com/microsoft/vscode-documentdb/issues/858), [#866](https://github.com/microsoft/vscode-documentdb/pull/866)
- **Collection View Import and Export**: Fixes resolution of the import and export actions in the Collection View. [#871](https://github.com/microsoft/vscode-documentdb/pull/871)
- **Collection View Import and Export**: Fixes import and export resolution for Atlas Discovery and DocumentDB Local collections, reports resolution failures with a Show Output action, and replaces the destructive credentials-missing tree action with a guided review step. [#871](https://github.com/microsoft/vscode-documentdb/pull/871)
- **Single-Click Collection View**: Based on user requests, restores opening the Collection View with one click on the Documents tree item. [#889](https://github.com/microsoft/vscode-documentdb/pull/889)

### Security

- **Dependency Updates**: Updates `fast-uri` from 3.1.4 to 3.1.5 and `postcss` from 8.5.10 to 8.5.26. [#844](https://github.com/microsoft/vscode-documentdb/pull/844), [#845](https://github.com/microsoft/vscode-documentdb/pull/845)

## 0.9.2

Expand Down
61 changes: 58 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,18 +72,73 @@ Connect to any database that speaks the MongoDB API wire protocol.

- **Connection strings**: Paste a connection string and connect instantly
- **Azure Service Discovery**: Browse and connect to Azure DocumentDB, Azure Cosmos DB for MongoDB (RU), and DocumentDB on Azure VMs directly from the sidebar
- **MongoDB Atlas**: Connect using your Atlas connection string
- **Entra ID authentication**: Multi-account, multi-tenant support for Azure-hosted databases
- **Local instances and emulators**: [Create and manage DocumentDB Local with Docker Quick Start](docs/user-manual/local-quick-start.md), or connect to Azure Cosmos DB Emulator and other local MongoDB API instances
- **Folder organization**: Group your connections into folders and subfolders

### DocumentDB Local

Set up a local [DocumentDB](https://documentdb.io) instance from the Connections view. The extension pulls the official image, creates a persistent Docker volume, waits until the database accepts connections, and saves the connection for you.

<p align="center"><img src="resources/readme/documentdb-local.png" alt="DocumentDB Local setup view on the Introduction step, with Set up DocumentDB Local highlighted under Your own DocumentDB in the Connections view" width="750" style="max-width:100%;height:auto;"></p>

- Guided setup with generated credentials, an available port, and optional sample data
- Docker readiness diagnostics that explain what to fix for local, WSL, SSH, dev container, and Codespaces environments
- Start, stop, restart, and delete the instance from the tree, with state kept in sync with Docker
- Works with Docker Engine or Docker Desktop; the extension never installs Docker or elevates privileges

You can also connect to the Azure Cosmos DB Emulator and other local MongoDB API instances. See [Set up DocumentDB Local](https://microsoft.github.io/vscode-documentdb/user-manual/local-quick-start) for details.

### MongoDB Atlas Service Discovery

Browse your Atlas organizations, projects, and clusters from the sidebar, then save any cluster as a regular connection without copying endpoints by hand.

<p align="center"><img src="resources/readme/mongodb-atlas-discovery.png" alt="Add a MongoDB Atlas connection view offering Service Account and API Key authentication, next to the MongoDB Atlas item in the Service Discovery view" width="750" style="max-width:100%;height:auto;"></p>

- Sign in with an Atlas **API Key** or **Service Account**, verified before it is stored
- Add a credential per organization and browse them all in one combined view
- Switch between a hierarchical tree and a flat cluster list
- Paused, creating, and updating clusters are labeled instead of failing with a connection timeout
- **Open in MongoDB Atlas** deep-links any discovered cluster to its Atlas page

Atlas discovery credentials are used only to find resources. Database access still uses your Atlas database username and password.

See [MongoDB Atlas Service Discovery](https://microsoft.github.io/vscode-documentdb/user-manual/service-discovery-mongodb-atlas) for the full guide.

### Kubernetes Service Discovery

Find DocumentDB clusters running in any Kubernetes environment, from AKS, EKS, and GKE to kind, minikube, and Docker Desktop, without writing connection strings or running `kubectl port-forward` by hand.

<p align="center"><img src="resources/readme/kubernetes-discovery.png" alt="Kubernetes Service Discovery tree showing kubeconfig sources expanded into contexts, namespaces, and discovered DocumentDB targets with connectivity indicators" width="300" style="max-width:100%;height:auto;"></p>

- Register several kubeconfig sources side by side: the default file, a file from disk, or pasted YAML
- DocumentDB Kubernetes Operator managed clusters are recognized first, with a fallback for annotated or well-known services
- ClusterIP services are reached through a port-forward tunnel that is established and restored automatically
- Connectivity labels state plainly whether a connection string is portable or only works on this machine
- Rename opaque cloud-generated context names, and switch between list and tree layouts

See [Kubernetes Service Discovery](https://microsoft.github.io/vscode-documentdb/user-manual/service-discovery-kubernetes) for the full guide.

## Browse and Manage Data

- **Multiple data views**: Inspect collections using **Table**, **Tree**, or **JSON** layouts with built-in pagination
- **Document management**: Create, edit, and delete documents directly from VS Code
- **Import and export**: Import JSON files or export documents, query results, or entire collections
- **Collection copy-and-paste**: Copy a collection and paste it into another database or server, with conflict resolution strategies
- **Index management**: View, create, hide, unhide, and drop indexes from the tree view

## Manage Indexes

An **Indexes** tab in Collection View puts index work next to the queries it affects. Review what exists, create what is missing, and remove what is not earning its keep.

<p align="center"><img src="resources/readme/index-management.png" alt="Indexes tab in Collection View showing index count, size, and usage metrics above a filterable table with type badges, size bars, and per-row actions" width="750" style="max-width:100%;height:auto;"></p>

- Collection-level metrics for index count, total size, and total usage
- Sortable, filterable table with server-reported size and usage per index, plus quick **Hidden** and **Unused** filters
- Create **Standard**, **Wildcard**, and **Vector** indexes through a guided drawer with **Preview as JSON**
- Hide an index to test whether your queries need it before you delete it
- Hand the generated command off to a Query Playground or the Interactive Shell instead of creating it directly
- The same actions are available from the index tree items in the sidebar

See [Manage Indexes in Collection View](https://microsoft.github.io/vscode-documentdb/user-manual/collection-view-index-management) for the full guide.

## Query Insights

Expand Down
1 change: 1 addition & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,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.10](./release-notes/0.10)
- [0.9](./release-notes/0.9), [0.9.1](./release-notes/0.9#patch-release-v091), [0.9.2](./release-notes/0.9#patch-release-v092)
- [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)
Expand Down
Loading