Skip to content

Comments

Release 0.7.0#485

Merged
tnaum-ms merged 538 commits intomainfrom
next
Feb 5, 2026
Merged

Release 0.7.0#485
tnaum-ms merged 538 commits intomainfrom
next

Conversation

@tnaum-ms
Copy link
Collaborator

@tnaum-ms tnaum-ms commented Feb 3, 2026

0.7.0

New Features

  • Collection Copy and Paste: Adds lightweight data migration to copy collections across databases and connections, with conflict resolution options and throttling-aware batching. #63, #170
  • Connection Folders: Adds folders and subfolders in the Connections view to organize connections, including move/rename/delete workflows. #426

Improvements

  • Estimated Document Count: Shows an estimated document count for collections in the tree view. #170
  • Copy Connection String with Password: Adds an option to include the password when copying a connection string. #436
  • Release Notes Notification: Prompts users to view release notes after upgrading to a new major or minor version. #487
  • Accessibility: Improves screen reader announcements, keyboard navigation, and ARIA labeling across Query Insights and document editing. #374, #375, #377, #378, #379, #380, #381, #384, #385
  • Alphabetical Collection Sorting: Sorts collections alphabetically in the tree view. Thanks to @VanitasBlade. #456, #465
  • Query Insights Prompt Hardening: Updates the Query Insights model/prompt and adds additional prompt-injection mitigations. #468
  • Connection String Validation: Trims and validates connection string input to avoid empty values. #467
  • Collection Paste Feedback: Refreshes collection metadata after paste and improves error reporting for failed writes. #482, #484

Fixes

  • Dark Theme Rendering: Fixes unreadable text in some dark themes by respecting theme colors. #457
  • Query Insights Markdown Rendering: Restricts AI output formatting to avoid malformed markdown rendering. #428
  • Invalid Query JSON: Shows a clear error when query JSON fails to parse instead of silently using empty objects. #458, #471
  • Keyboard Paste Shortcuts: Restores Ctrl+V/Cmd+V in the Query Editor and Document View by pinning Monaco to 0.52.2. #435, #470
  • Import from Discovery View: Fixes document import for Azure Cosmos DB for MongoDB (RU) discovery when connection metadata is not yet cached. #368, #479
  • Azure Resources View Expansion: Fixes cluster expansion failures in the Azure Resources view by deriving resource group information from resource IDs. #480

Security

  • Dependency Updates: Updates qs and express to address security vulnerabilities. #434

This pull request introduces several new documentation and process improvements to the repository, focusing on coding standards, accessibility, wizard implementation patterns, and changelog formatting. It also updates development environment configuration and compliance suppressions for test files.

Documentation and Standards:

  • TypeScript Coding Guidelines: Adds .github/instructions/typescript.instructions.md with strict TypeScript patterns, anti-patterns, error handling practices, and VS Code extension development conventions.
  • Wizard Implementation Pattern: Introduces .github/instructions/wizard.instructions.md describing best practices and file structure for implementing multi-step wizards with AzureWizard, including context management and back navigation rules.
  • Accessibility Expert Skill: Adds .github/skills/accessibility-aria-expert/SKILL.md, providing detailed rules and patterns for ensuring accessibility in React/Fluent UI webviews, including ARIA usage, focus management, and screen reader announcements.
  • Changelog Format Reference: Adds .github/skills/writing-release-notes/CHANGELOG-FORMAT.md defining the required format, categories, and style for CHANGELOG.md entries, with examples and anti-patterns.

Development Environment and Compliance:

  • Devcontainer Improvements: Updates .devcontainer/devcontainer.json to run npm run build after container creation and ensures both install and build steps are run when package.json changes, improving reliability of the development environment. [1] [2]
  • Compliance Suppressions for Test Files: Adds new entries to .azure-pipelines/compliance/CredScanSuppressions.json to suppress false positives for fake credentials in additional test files.

Copilot AI and others added 30 commits January 14, 2026 16:58
Co-authored-by: tnaum-ms <171359267+tnaum-ms@users.noreply.github.com>
Added editor.focus() call in handleMonacoEditorMount to ensure keyboard focus
is immediately visible when the document view opens. This addresses WCAG 2.4.3
Focus Order accessibility requirement.

Co-authored-by: tnaum-ms <171359267+tnaum-ms@users.noreply.github.com>
- Add role="status" and aria-live="polite" to status text for screen reader announcement
- Add aria-hidden="true" to decorative Spinner to prevent redundant announcements
- Fixes WCAG 4.1.3 violation where NVDA was announcing "document" instead of the status message

Co-authored-by: tnaum-ms <171359267+tnaum-ms@users.noreply.github.com>
Co-authored-by: tnaum-ms <171359267+tnaum-ms@users.noreply.github.com>
… better readability

Co-authored-by: tnaum-ms <171359267+tnaum-ms@users.noreply.github.com>
Co-authored-by: tnaum-ms <171359267+tnaum-ms@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Added postCreateCommand to run build after container creation.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
# Conflicts:
#	.github/copilot-instructions.md
#	l10n/bundle.l10n.json
#	src/commands/addConnectionFromRegistry/addConnectionFromRegistry.ts
#	src/commands/newConnection/ExecuteStep.ts
#	src/commands/removeConnection/removeConnection.ts
#	src/documentdb/ClustersExtension.ts
tnaum-ms and others added 27 commits February 4, 2026 15:02
- Add credential validation at paste wizard start (H-3)
- Add pre-flight validation in ExecuteStep before task start (M-1)
- Clear stale clipboard reference when source is no longer valid
- Show meaningful error messages to users
- Add telemetry for tracking validation failures
- Add TODO in moveItems/ExecuteStep.ts for partial failure handling
- Add TODO in deleteFolder/ExecuteStep.ts for rollback consideration
- Use isNameDuplicateInParent instead of getAll for validation
- Get connection's parentId to scope the duplicate check
- Allow same-name connections in different folders
- Add early return for unchanged names
- Add localized ariaLabel to monacoOptions in DataViewPanelJSON
- Helps screen readers announce the editor's purpose
- Add localized aria-label to PREVIEW badge in Query Insights tab
- Provides screen reader context: 'Query Insights feature is in preview'
- Replace console.error in newConnection/ExecuteStep.ts
- Replace console.error in newLocalConnection/ExecuteStep.ts
- Replace console.error in renameConnection/ExecuteStep.ts
- Use generic error messages to avoid exposing storageId
- Errors now properly visible in VS Code Output channel
- Mask password in telemetry immediately after retrieval
- Prevents credential exposure if error thrown later
- Wrap subscription in try-catch for proper cleanup on errors
- Dispose subscription in catch block before re-throwing
- Prevents memory leak if task setup fails
- Add credential and collection existence validation in task init phase
- Clear stale clipboard reference when source is no longer valid
- Show meaningful error messages to users
- Add telemetry for tracking validation failures

Moved validation to CopyPasteCollectionTask.init() for cleaner code:
- Verifies source cluster credentials are still valid
- Verifies source collection still exists
- Shows descriptive status during validation
- Replace brittle localized string matching with custom SourceValidationError class
- Remove unnecessary "no longer" localization sentinel key
- Fix whitespace-only input validation in connection rename
- Fix unhandled promise rejection in paste collection task start

Co-authored-by: tnaum-ms <171359267+tnaum-ms@users.noreply.github.com>
Remove unintended package-lock.json changes from dependency installation

Co-authored-by: tnaum-ms <171359267+tnaum-ms@users.noreply.github.com>
Remove redundant inner try-catch block for subscription disposal

Co-authored-by: tnaum-ms <171359267+tnaum-ms@users.noreply.github.com>
@tnaum-ms tnaum-ms merged commit eb2a82a into main Feb 5, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants