Skip to content

Conversation

@joperezr
Copy link
Member

Merging internal changes. This should be merged and not squashed

#### AI description  (iteration 1)
#### PR Classification
This pull request stabilizes dependency versions and updates package configurations in preparation for the 13.0 release.

#### PR Summary
The PR upgrades Microsoft and Aspire dependency versions to their stable releases, removes pre-release tags, and adjusts CI and pipeline setups to support the new release. Key changes include:
- **`eng/Version.Details.xml`**: Upgraded various Microsoft dependencies (e.g., AutoActivation, Http.Resilience, ServiceDiscovery) from RC or older stable versions to 10.0.0/9.0.11 and added new AI-related dependencies.
- **`tests/Shared/RepoTesting/Directory.Packages.Helix.props` & Aspire.RepoTesting.targets**: Bumped Aspire package versions from a variable to a fixed 13.0.0 to align with the upcoming release.
- **`eng/Versions.props`**: Updated preview and current .NET dependency versions to stable numbers, switched the stabilization flag to true, and bumped LTS versions from 8.0.21 to 8.0.22.
- **`NuGet.config` & CI workflow files**: Revised package source mappings, removed the custom version suffix computation, and streamlined feed configurations.
- **Pipeline and build configuration files** (`BuildAndTest.yml`, `Directory.Build.props`, `Directory.Packages.props`): Added tasks for setting up private feed credentials and disabled source mapping warnings for internal branches.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->
#### AI description  (iteration 1)
#### PR Classification
Merging public release/13.0 updates to enhance resource dependency management, connection string generation, and test coverage across various providers.

#### PR Summary
This pull request integrates improvements for Azure resource provisioning, standardized URI construction with encoded parameters for databases and messaging systems, and refined command handling for JavaScript apps, along with additional tests and template updates.
- **`src/Aspire.Hosting.Azure/AzureBicepResource.cs`**: Enhanced recursive processing of Azure resource references and updated pipeline dependency configuration.
- **Database and messaging resources (e.g., `MongoDBServerResource.cs`, `PostgresServerResource.cs`, `MySqlServerResource.cs`, `OracleDatabaseServerResource.cs`, `RabbitMQServerResource.cs`, `NatsServerResource.cs`)**: Refactored URI and connection string building using a common `BuildUri` method and switched to encoded values.
- **`src/Aspire.Hosting.JavaScript/JavaScriptHostingExtensions.cs` and `JavaScriptPackageManagerAnnotation.cs`**: Adjusted command separator logic to differentiate behavior for pnpm versus npm/yarn.
- **Test files across providers (e.g., in `tests/Aspire.Hosting.Azure.Tests`, `tests/Aspire.Hosting.MongoDB.Tests`, etc.)**: Added new tests and snapshot files to verify manifest connection properties and deployment behavior.
- **`src/Aspire.ProjectTemplates/templates/aspire-py-starter/13.0/`**: Added new `.dockerignore` files for both app and frontend template folders.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->
#### AI description  (iteration 1)
#### PR Classification
This pull request integrates public release/13.0 changes by updating deployment execution orders in test snapshots and adding new container tunnel configuration support.

#### PR Summary
The changes revise dependency ordering in Azure deployment test snapshots to ensure proper step sequencing and update configuration settings to enable container tunnel functionality across the application.
- `tests/Aspire.Hosting.Azure.Tests/Snapshots`: Revised execution orders and dependency definitions (e.g., for `login-to-acr-env`, `login-to-acr-aas-env`, etc.) in various deployment scenarios.
- `src/Aspire.Hosting.Azure.AppService/AzureAppServiceEnvironmentResource.cs`: Added an explicit dependency linking ACR login steps to infrastructure provisioning.
- `src/Aspire.Hosting/Dcp/DcpOptions.cs` and `src/Shared/KnownConfigNames.cs`: Updated the container tunnel configuration retrieval and introduced a new constant for it.
- `playground/yarp/Yarp.AppHost/Properties/launchSettings.json` and `appsettings.json`: Enabled container tunnel support by adding/tweaking related configuration flags.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->
Copilot AI review requested due to automatic review settings November 11, 2025 16:25
@github-actions
Copy link
Contributor

github-actions bot commented Nov 11, 2025

🚀 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/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 12896

Or

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

Copilot finished reviewing on behalf of joperezr November 11, 2025 16:27
\.md$
eng/pipelines/.*
- id: compute_version_suffix
Copy link
Member

Choose a reason for hiding this comment

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

Is this change supposed to go to release/13 / main?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah, because this branch continues to produce stable versions, so without this a lot of tests will fail since the rest of the codebase is expecting stable versions (so things like tests, etc would fail)

Copy link
Member Author

Choose a reason for hiding this comment

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

It won't go into main of course. If you check this is the same we had in release/9.5

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR merges internal changes to prepare for the Aspire 10.0.0 stable release. The main purpose is to stabilize package versions, update dependencies to their stable 10.0.0 versions, and update .NET 9.0 packages to the latest servicing versions.

Key changes include:

  • Setting StabilizePackageVersion to true to produce stable 10.0.0 versions instead of preview/RC versions
  • Updating .NET 10.0 dependencies from RC versions to stable 10.0.0
  • Updating .NET 9.0 dependencies from 9.0.10 to 9.0.11 (servicing update)
  • Adding ForceLatestDotnetVersions property to handle Microsoft.Extensions.AI dependency conflicts
  • Removing CI workflow version suffix computation for PRs

Reviewed Changes

Copilot reviewed 23 out of 23 changed files in this pull request and generated 11 comments.

Show a summary per file
File Description
tests/Shared/RepoTesting/Directory.Packages.Helix.props Updates Aspire package versions to 13.0.0 for Helix testing (appears incorrect)
tests/Shared/RepoTesting/Aspire.RepoTesting.targets Updates Aspire.AppHost.Sdk version to 13.0.0 for Helix testing (appears incorrect)
tests/Aspire.OpenAI.Tests/Aspire.OpenAI.Tests.csproj Adds ForceLatestDotnetVersions property to resolve MEAI dependency conflicts
tests/Aspire.Npgsql.EntityFrameworkCore.PostgreSQL.Tests/Aspire.Npgsql.EntityFrameworkCore.PostgreSQL.Tests.csproj Adds temporary EF Core 10.0 RC version override for Npgsql compatibility
tests/Aspire.Dashboard.Tests/Aspire.Dashboard.Tests.csproj Lifts package versions to resolve MEAI dependency conflicts
tests/Aspire.Dashboard.Components.Tests/Aspire.Dashboard.Components.Tests.csproj Lifts package versions to resolve MEAI dependency conflicts
tests/Aspire.Azure.Npgsql.EntityFrameworkCore.PostgreSQL.Tests/Aspire.Azure.Npgsql.EntityFrameworkCore.PostgreSQL.Tests.csproj Adds temporary EF Core 10.0 RC version override for Npgsql compatibility
tests/Aspire.Azure.AI.OpenAI.Tests/Aspire.Azure.AI.OpenAI.Tests.csproj Adds ForceLatestDotnetVersions property to resolve MEAI dependency conflicts
tests/Aspire.Azure.AI.Inference.Tests/Aspire.Azure.AI.Inference.Tests.csproj Adds ForceLatestDotnetVersions property to resolve MEAI dependency conflicts
src/Components/Aspire.OpenAI/Aspire.OpenAI.csproj Adds ForceLatestDotnetVersions property and keeps package in preview
src/Components/Aspire.Npgsql.EntityFrameworkCore.PostgreSQL/Aspire.Npgsql.EntityFrameworkCore.PostgreSQL.csproj Marks package as preview and adds EF Core version override
src/Components/Aspire.Azure.Npgsql.EntityFrameworkCore.PostgreSQL/Aspire.Azure.Npgsql.EntityFrameworkCore.PostgreSQL.csproj Marks package as preview and adds EF Core version override
src/Components/Aspire.Azure.AI.OpenAI/Aspire.Azure.AI.OpenAI.csproj Adds ForceLatestDotnetVersions property to resolve MEAI dependency conflicts
src/Components/Aspire.Azure.AI.Inference/Aspire.Azure.AI.Inference.csproj Adds ForceLatestDotnetVersions property to resolve MEAI dependency conflicts
src/Aspire.Dashboard/Aspire.Dashboard.csproj Lifts package versions to resolve MEAI dependency conflicts
playground/OpenAIEndToEnd/OpenAIEndToEnd.WebStory/OpenAIEndToEnd.WebStory.csproj Adds ForceLatestDotnetVersions property and package references
playground/GitHubModelsEndToEnd/GitHubModelsEndToEnd.WebStory/GitHubModelsEndToEnd.WebStory.csproj Adds ForceLatestDotnetVersions property to resolve MEAI dependency conflicts
playground/AzureOpenAIEndToEnd/AzureOpenAIEndToEnd.WebStory/AzureOpenAIEndToEnd.WebStory.csproj Adds ForceLatestDotnetVersions property to resolve MEAI dependency conflicts
playground/AzureAIFoundryEndToEnd/AzureAIFoundryEndToEnd.WebStory/AzureAIFoundryEndToEnd.WebStory.csproj Adds ForceLatestDotnetVersions property to resolve MEAI dependency conflicts
eng/Versions.props Stabilizes package version flag, updates MEAI and .NET dependencies to 10.0.0 stable, updates 9.0 to 9.0.11, updates 8.0 to 8.0.22
eng/Version.Details.xml Updates dependency metadata with new versions and commit SHAs
Directory.Packages.props Updates OpenAI to 2.6.0, splits MEAI version properties, adds ForceLatestDotnetVersions condition
.github/workflows/ci.yml Removes PR version suffix computation logic

<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>

<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need pull our dependency versions for this package as well -->
Copy link

Copilot AI Nov 11, 2025

Choose a reason for hiding this comment

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

The comment contains a typo: "pull" should be "push". The sentence should read "...so we need to push our dependency versions..."

Suggested change
<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need pull our dependency versions for this package as well -->
<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need to push our dependency versions for this package as well -->

Copilot uses AI. Check for mistakes.
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>

<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need pull our dependency versions for this package as well -->
Copy link

Copilot AI Nov 11, 2025

Choose a reason for hiding this comment

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

The comment contains a typo: "pull" should be "push". The sentence should read "...so we need to push our dependency versions..."

Suggested change
<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need pull our dependency versions for this package as well -->
<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need to push our dependency versions for this package as well -->

Copilot uses AI. Check for mistakes.
<PackageReference Include="Microsoft.Extensions.Primitives" VersionOverride="$(MicrosoftExtensionsPrimitivesPreviewVersion)" />
</ItemGroup>


Copy link

Copilot AI Nov 11, 2025

Choose a reason for hiding this comment

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

Duplicate blank line. According to the coding guidelines in .editorconfig, consecutive blank lines should be avoided.

Suggested change

Copilot uses AI. Check for mistakes.
<PropertyGroup>
<TargetFrameworks>$(AllTargetFrameworks)</TargetFrameworks>

<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need pull our dependency versions for this package as well -->
Copy link

Copilot AI Nov 11, 2025

Choose a reason for hiding this comment

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

The comment contains a typo: "pull" should be "push". The sentence should read "...so we need to push our dependency versions..."

Suggested change
<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need pull our dependency versions for this package as well -->
<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need to push our dependency versions for this package as well -->

Copilot uses AI. Check for mistakes.
<NoWarn>$(NoWarn);SYSLIB1100;SYSLIB1101</NoWarn>
<!-- In preview until the public API is validated and the Microsoft.Extensions.AI integration is designed. -->
<SuppressFinalPackageVersion>true</SuppressFinalPackageVersion>
<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need pull our dependency versions for this package as well -->
Copy link

Copilot AI Nov 11, 2025

Choose a reason for hiding this comment

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

The comment contains a typo: "pull" should be "push". The sentence should read "...so we need to push our dependency versions..."

Suggested change
<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need pull our dependency versions for this package as well -->
<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need to push our dependency versions for this package as well -->

Copilot uses AI. Check for mistakes.
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>

<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need pull our dependency versions for this package as well -->
Copy link

Copilot AI Nov 11, 2025

Choose a reason for hiding this comment

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

The comment contains a typo: "pull" should be "push". The sentence should read "...so we need to push our dependency versions..."

Suggested change
<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need pull our dependency versions for this package as well -->
<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need to push our dependency versions for this package as well -->

Copilot uses AI. Check for mistakes.
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>

<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need pull our dependency versions for this package as well -->
Copy link

Copilot AI Nov 11, 2025

Choose a reason for hiding this comment

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

The comment contains a typo: "pull" should be "push". The sentence should read "...so we need to push our dependency versions..."

Suggested change
<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need pull our dependency versions for this package as well -->
<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need to push our dependency versions for this package as well -->

Copilot uses AI. Check for mistakes.
<NoWarn>$(NoWarn);SYSLIB1100;SYSLIB1101;AOAI001</NoWarn>
<!-- In preview until the public API is validated and the Microsoft.Extensions.AI integration is designed.. -->
<SuppressFinalPackageVersion>true</SuppressFinalPackageVersion>
<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need pull our dependency versions for this package as well -->
Copy link

Copilot AI Nov 11, 2025

Choose a reason for hiding this comment

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

The comment contains a typo: "pull" should be "push". The sentence should read "...so we need to push our dependency versions..."

Suggested change
<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need pull our dependency versions for this package as well -->
<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need to push our dependency versions for this package as well -->

Copilot uses AI. Check for mistakes.
<NoWarn>$(NoWarn);SYSLIB1100;SYSLIB1101</NoWarn>
<!-- In preview until Azure.AI.Inference is shipped stable. -->
<SuppressFinalPackageVersion>true</SuppressFinalPackageVersion>
<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need pull our dependency versions for this package as well -->
Copy link

Copilot AI Nov 11, 2025

Choose a reason for hiding this comment

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

The comment contains a typo: "pull" should be "push". The sentence should read "...so we need to push our dependency versions..."

Suggested change
<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need pull our dependency versions for this package as well -->
<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need to push our dependency versions for this package as well -->

Copilot uses AI. Check for mistakes.
<PropertyGroup>
<TargetFrameworks>$(AllTargetFrameworks)</TargetFrameworks>

<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need pull our dependency versions for this package as well -->
Copy link

Copilot AI Nov 11, 2025

Choose a reason for hiding this comment

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

The comment contains a typo: "pull" should be "push". The sentence should read "...so we need to push our dependency versions..."

Suggested change
<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need pull our dependency versions for this package as well -->
<!-- MEAI has transitive dependencies that pull versions to 10.0 so we need to push our dependency versions for this package as well -->

Copilot uses AI. Check for mistakes.
<MicrosoftNETTestSdkVersion>17.14.1</MicrosoftNETTestSdkVersion>
<!-- Enable to remove prerelease label. -->
<StabilizePackageVersion Condition="'$(StabilizePackageVersion)' == ''">false</StabilizePackageVersion>
<StabilizePackageVersion Condition="'$(StabilizePackageVersion)' == ''">true</StabilizePackageVersion>
Copy link
Member

Choose a reason for hiding this comment

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

Just making sure, but I assume you want this, right? The other release branches have true in them.

Copy link
Member Author

Choose a reason for hiding this comment

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

yup, this is the release branch, so we want it on to be able to ship stable patches. This will be undone in the merge to main.

<PackageReference Include="ModelContextProtocol.AspNetCore" />
</ItemGroup>

<!-- The following package references need to be lifted because MEAI depends on older versions -->
Copy link
Member

Choose a reason for hiding this comment

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

Why doesn't this use <ForceLatestDotnetVersions>true</ForceLatestDotnetVersions>?

Copy link
Member Author

Choose a reason for hiding this comment

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

Good question and great spotting. That is because the dashboard depends on aspnetcore packages, which don't multi-target (they only target net10). Because the dashboard targets net8.0, we can't lift all of the dependencies to 10 as that would fail restore for all aspnetcore packages.

Because of this, for this project we only lift the dependencies we need in order to satisfy MEAI dependencies.

Copy link
Member Author

Choose a reason for hiding this comment

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

In hindsight, I should've added that explanation from above in the comment. I'll do that on the merge to main.

Copy link
Member

Choose a reason for hiding this comment

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

Why not just let MEAI bring in those updated dependencies? Is it because you're using CPM and it's trying to downgrade them due your repo-wide lower versions?

@joperezr joperezr merged commit 4249002 into dotnet:release/13.0 Nov 11, 2025
296 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.

3 participants