Skip to content

Remove Aspire.RabbitMQ.Client.v6 and Aspire.MongoDB.Driver.v2 - #20608

Merged
Eric Erhardt (eerhardt) merged 4 commits into
mainfrom
eerhardt-remove-legacy-client-integrations
Sep 30, 2026
Merged

Eric Erhardt (eerhardt) merged 4 commits into
mainfrom
eerhardt-remove-legacy-client-integrations

Conversation

@eerhardt

@eerhardt Eric Erhardt (eerhardt) commented Sep 30, 2026 •

Copy link
Copy Markdown
Member

Description

Remove the legacy RabbitMQ.Client 6.x and MongoDB.Driver 2.x integration packages from the repository so future builds no longer maintain and publish these parallel client integrations. The current Aspire.RabbitMQ.Client and Aspire.MongoDB.Driver packages retain their existing behavior.

  • Delete both legacy package projects, configuration schemas, API baselines, and dedicated test projects, including the MongoDB v2-only compression tests.
  • Remove their entries from the main and MAUI solutions and the unused AspNetCore.HealthChecks.Rabbitmq.v6 central package version.
  • Remove RABBITMQ_V6 and MONGODB_V2 conditional code from the surviving integrations and RabbitMQ tests.
  • Preserve the detailed RabbitMQ versioning scenario in the client integration documentation as an explicitly historical example, and distinguish it from the currently maintained package.

The CI trigger map needs no changes: neither removed integration has a curated runtime-only edge, and changes to Aspire.slnx already select ALL.

Breaking changes

Future repository builds will no longer produce Aspire.RabbitMQ.Client.v6 or Aspire.MongoDB.Driver.v2. Consumers upgrading to current integrations should replace their package references as follows and migrate any direct driver usage to the newer major version:

Removed package Replacement Client library
Aspire.RabbitMQ.Client.v6 Aspire.RabbitMQ.Client RabbitMQ.Client 7.x
Aspire.MongoDB.Driver.v2 Aspire.MongoDB.Driver MongoDB.Driver 3.x

This does not remove previously published packages from NuGet.

User-facing usage

After updating the package references, the .NET service registration calls remain the same:

builder.AddRabbitMQClient("messaging");
builder.AddMongoDBClient("mongodb");

AppHost integrations are unchanged.

Validation

Executed on Windows with Docker available; both test commands built and tested net8.0, net9.0, and net10.0. Subsequent changes only clarify the README's historical example.

Command Result
.\restore.cmd -p:SkipNativeBuild=true Passed; bootstrapped the repository SDK and dependencies.
dotnet test --project (Resolve-Path tests\Aspire.RabbitMQ.Client.Tests\Aspire.RabbitMQ.Client.Tests.csproj).Path --no-launch-profile -p:SkipNativeBuild=true -- --filter-not-trait 'quarantined=true' --filter-not-trait 'outerloop=true' Passed: 138 succeeded, 12 expected skips, 0 failures across all three frameworks.
dotnet test --project (Resolve-Path tests\Aspire.MongoDB.Driver.Tests\Aspire.MongoDB.Driver.Tests.csproj).Path --no-launch-profile -p:SkipNativeBuild=true -- --filter-not-trait 'quarantined=true' --filter-not-trait 'outerloop=true' Passed: 129 succeeded, 6 expected skips, 0 failures across all three frameworks.
git diff --check Passed.

Also verified that no tracked content outside the README's historical example references either legacy package, its compilation symbol, or the v6 health-check dependency, and that both solution membership changes remove exactly the four intended projects. All 438 remaining main-solution project paths exist.

The initial relative-path test invocations hit an SDK project-path resolution error; the absolute-path commands above passed. Existing NuGet audit warnings for SSH.NET and SharpCompress remain outside this change. Full solution and MAUI builds were not run; the MAUI solution path audit found an unrelated, pre-existing missing SqlServerEndToEnd.DbSetup.csproj reference, which is unchanged.

Fixes # (issue)

Checklist

  • Is this feature complete?
    • Yes. Ready to ship.
    • No. Follow-up changes expected.
  • Are you including unit tests for the changes and scenario tests if relevant?
    • Yes
    • No
  • Did you add public API?
    • Yes
      • If yes, did you have an API Review for it?
        • Yes
        • No
      • Did you add <remarks /> and <code /> elements on your triple slash comments?
        • Yes
        • No
    • No
  • Does the change make any security assumptions or guarantees?
    • Yes
      • If yes, have you done a threat model and had a security review?
        • Yes
        • No
    • No

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@eerhardt Eric Erhardt (eerhardt) added the breaking-change Issue or PR that represents a breaking API or functional change over a prerelease. label Sep 30, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 20608

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 20608"

@aspire-repo-bot
aspire-repo-bot Bot requested a balanced review from Copilot September 30, 2026 14:54
@github-actions github-actions Bot added the area-integrations Issues pertaining to Aspire Integrations packages label Sep 30, 2026
@github-actions

This comment has been minimized.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The legacy integrations and references are removed consistently without affecting the retained package paths.

Review effort: Balanced
Findings: None

What changed in this PR

Removes obsolete RabbitMQ 6.x and MongoDB 2.x client integrations while retaining current integrations.

Changes:

  • Deletes legacy packages, API baselines, schemas, tests, and solution entries.
  • Removes obsolete conditional compilation paths and dependency version.
  • Updates integration-versioning documentation.
File Description
tests/​Aspire.RabbitMQ.Client.v6.Tests/​Aspire.RabbitMQ.Client.v6.Tests.csproj Deletes legacy RabbitMQ tests.
tests/​Aspire.RabbitMQ.Client.Tests/​ConformanceTests.cs Removes RabbitMQ 6.x branches.
tests/​Aspire.RabbitMQ.Client.Tests/​AspireRabbitMQLoggingTests.cs Retains only current logging tests.
tests/​Aspire.MongoDB.Driver.v2.Tests/​SnappyCompressionTests.cs Deletes v2-only compression tests.
tests/​Aspire.MongoDB.Driver.v2.Tests/​Aspire.MongoDB.Driver.v2.Tests.csproj Deletes legacy MongoDB tests.
src/​Components/​README.md Updates versioning guidance.
src/​Components/​Aspire.RabbitMQ.Client/​AspireRabbitMQExtensions.cs Removes RabbitMQ 6.x implementation paths.
src/​Components/​Aspire.RabbitMQ.Client.v6/​ConfigurationSchema.json Deletes legacy schema.
src/​Components/​Aspire.RabbitMQ.Client.v6/​Aspire.RabbitMQ.Client.v6.csproj Deletes legacy package project.
src/​Components/​Aspire.RabbitMQ.Client.v6/​api/​Aspire.RabbitMQ.Client.cs Deletes legacy API baseline.
src/​Components/​Aspire.MongoDB.Driver/​AspireMongoDBDriverExtensions.cs Removes MongoDB 2.x health-check path.
src/​Components/​Aspire.MongoDB.Driver.v2/​ConfigurationSchema.json Deletes legacy schema.
src/​Components/​Aspire.MongoDB.Driver.v2/​Aspire.MongoDB.Driver.v2.csproj Deletes legacy package project.
src/​Components/​Aspire.MongoDB.Driver.v2/​api/​Aspire.MongoDB.Driver.cs Deletes legacy API baseline.
playground/​AspireWithMaui/​AspireWithMaui.slnx Removes four legacy projects.
Directory.Packages.props Removes unused RabbitMQ v6 health-check dependency.
Aspire.slnx Removes four legacy projects.

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/Components/README.md Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

The client integration documentation still recommends the removed RabbitMQ v6 package and contradicts the PR description.

Review effort: Balanced
Findings: 1 Low severity

Open (1)

Comment thread Aspire.slnx
@github-actions

This comment has been minimized.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The removals are complete, surviving integration paths remain covered, and no stale references or unresolved issues were found.

Review effort: Balanced
Findings: None

Resolved since last review (1)

@github-actions

Copy link
Copy Markdown
Contributor

Tests selector

Selects the full PR test matrix + all PR-gated jobs (ALL) — a rule matching 'Aspire.slnx' selects ALL


Selection computed for commit 11ab700.

@eerhardt
Eric Erhardt (eerhardt) merged commit 9365348 into main Sep 30, 2026
417 checks passed
@microsoft-github-policy-service microsoft-github-policy-service Bot added this to the 17.0 milestone Sep 30, 2026
@aspire-repo-bot

Copy link
Copy Markdown
Contributor

Pull request created: #1800

Generated by PR Documentation Check · copilot · auto · 111.8 AIC · ⌖ 12.3 AIC · ⊞ 20.3K

@aspire-repo-bot

Copy link
Copy Markdown
Contributor

📝 Documentation has been drafted in microsoft/aspire.dev#1800 targeting release/13.6.

Triggered signals (4): pr_body_has_cli_flag_mention, pr_body_has_user_facing_section, pr_label_breaking_change, target_framework_changed. The PR body's "User-facing usage" and "Breaking changes" sections state Aspire.RabbitMQ.Client.v6 and Aspire.MongoDB.Driver.v2 are removed, with users migrating to the current Aspire.RabbitMQ.Client (RabbitMQ.Client 7.x) and Aspire.MongoDB.Driver (MongoDB.Driver 3.x) packages.

Confirmed via the live Directory.Packages.props and component .csproj files on microsoft/aspire@main that Aspire.RabbitMQ.Client now depends on RabbitMQ.Client 7.2.2 and Aspire.MongoDB.Driver now depends on MongoDB.Driver 3.12.0 — neither has a version-suffixed sibling anymore.

Updated docs (aspire.dev never documented the removed .v6/.v2 packages by name, but did describe the now-obsolete version-split guidance for the current packages):

  • integrations/messaging/rabbitmq/rabbitmq-connect.mdx: removed the note saying Aspire.RabbitMQ.Client depends on RabbitMQ.Client 6.8.1 and to install Aspire.RabbitMQ.Client.v7 for 7.x; replaced with accurate text that the package now depends on 7.x directly, and that the historical .v6 package has been removed.
  • integrations/databases/mongodb/mongodb-connect.mdx: removed the two-package install guidance (Aspire.MongoDB.Driver for driver 2.x vs Aspire.MongoDB.Driver.v3 for 3.x) and the :::danger deprecation note; replaced with accurate text that the package now depends on MongoDB.Driver 3.x directly, and that the historical .v2 package has been removed.
  • integrations/databases/mongodb/mongodb-get-started.mdx: dropped the (or Aspire.MongoDB.Driver.v3) parenthetical from the feature bullet.

Note

This draft PR needs human review before merging.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-integrations Issues pertaining to Aspire Integrations packages breaking-change Issue or PR that represents a breaking API or functional change over a prerelease.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants