Skip to content

[release/9.0-rc1] Update versions for latest .NET release#6213

Merged
eerhardt merged 2 commits intodotnet:release/9.0-rc1from
eerhardt:Backport6194
Oct 10, 2024
Merged

[release/9.0-rc1] Update versions for latest .NET release#6213
eerhardt merged 2 commits intodotnet:release/9.0-rc1from
eerhardt:Backport6194

Conversation

@eerhardt
Copy link
Member

@eerhardt eerhardt commented Oct 9, 2024

Backport of #6194 to release/9.0-rc1

/cc @eerhardt

Customer Impact

Our .NET Aspire 9.0-rc1 builds are still using the 9.0-rc1 builds of .NET - specifically EF Core. Customers will be using month old versions if we don't update to 9.0 rc2.

Also, System.Text.Json 8.0.4, which we depend on, was marked vulnerable. So updating to the new version of that important so users don't get vulnerable warnings.

Testing

Automated tests in repo.

Risk

Low. These are new versions of .NET that were released publicly. Getting more test coverage on them is helpful.

Regression?

No

When targeting net9.0, these need to be 9.0 dependencies, or else the EF packages complain that packages are being downgraded.
@sebastienros
Copy link
Member

Failed twice on elasticsearch, potentially true positive.

<!-- https://github.com/Azure/azure-cosmos-dotnet-v3/pull/3313 -->
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
<PackageVersion Include="System.Formats.Asn1" Version="8.0.1" />
<PackageVersion Include="System.Formats.Asn1" Version="$(SystemFormatsAsn1PackageVersion)" />
Copy link
Member

Choose a reason for hiding this comment

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

Similar comment to your PR in main, but should we avoid using properties and instead spell out the versions here? This is the reasoning behind my question: Next time that we are bumping dependencies, if the version bump that I see is under this section of Pinned for CG, then I'd likely undo the change, as the long term goal is to remove these as opposed to continue bumping them (once the direct dependency updates the transitive dependency version). If the update is in Versions.props in a property, I'm unlikely to make that link and decide not to update, causing is to always be pinning this transitive dependency.

Copy link
Member Author

Choose a reason for hiding this comment

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

I honestly don't know when we are supposed to be doing logic in Directory.Packages.props and when we are supposed to be doing it in Versions.props. I was just following how we did the split with EF based on TFMs. See #6190 (comment)

<MicrosoftDotNetBuildTasksWorkloadsPackageVersion>9.0.0-beta.24473.1</MicrosoftDotNetBuildTasksWorkloadsPackageVersion>
<MicrosoftExtensionsHttpResiliencePackageVersion>8.9.1</MicrosoftExtensionsHttpResiliencePackageVersion>
<MicrosoftExtensionsDiagnosticsTestingPackageVersion>8.9.1</MicrosoftExtensionsDiagnosticsTestingPackageVersion>
<MicrosoftExtensionsHttpResiliencePackageVersion>8.10.0</MicrosoftExtensionsHttpResiliencePackageVersion>
Copy link
Member

Choose a reason for hiding this comment

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

Not a blocker, but in reality we probably should be also editing Version.details.xml as part of these updates to signal which version of a component we actually depend on.

<NpgsqlEntityFrameworkCorePostgreSQLPackageVersion>9.0.0-rc.1</NpgsqlEntityFrameworkCorePostgreSQLPackageVersion>

<!-- System dependencies -->
<SystemFormatsAsn1PackageVersion>9.0.0-rc.2.24473.5</SystemFormatsAsn1PackageVersion>
Copy link
Member

Choose a reason for hiding this comment

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

These two are getting bumped from an 8.0-era package to a 9.0-era package, which will need to be undone in main anyway. Just as FYI.

Copy link
Member

Choose a reason for hiding this comment

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

In fact, given this is an RC release, this might even be considered as a breaking change when we make the right change in GA

Copy link
Member Author

Choose a reason for hiding this comment

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

which will need to be undone in main anyway

why?

given this is an RC release, this might even be considered as a breaking change when we make the right change in GA

I am not understanding this point.

When you are targeting net8.0, you get the 8.0.x versions of these packages. This line only applies to our packages that target net9.0 (3 of them - the EF libraries). And for those, this change must happen or else we get build errors saying that we are downgrading System.Text.Json and System.Formats.Asn1. EF v9 depends on the 9.0 versions of these packages. Since we are using Central Package Management, we can't say we depend on the 8.0 versions in the net9 build of the EF packages. So we have to update this version in our build for those 3 packages.

@eerhardt
Copy link
Member Author

eerhardt commented Oct 9, 2024

Failed twice on elasticsearch, potentially true positive.

It passed in main. So I'm confused if it is truly a true positive.

@sebastienros
Copy link
Member

Maybe Elastic is just really flaky. We had issues by the past and there is already a specific timeout AFAIR.

@eerhardt
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@eerhardt eerhardt enabled auto-merge (squash) October 10, 2024 00:59
@joperezr
Copy link
Member

Talked offline, we need to take this. Approved.

@eerhardt eerhardt merged commit ac669e0 into dotnet:release/9.0-rc1 Oct 10, 2024
@eerhardt eerhardt deleted the Backport6194 branch October 10, 2024 01:45
@github-actions github-actions bot locked and limited conversation to collaborators Nov 9, 2024
@github-actions github-actions bot added the area-codeflow for labeling automated codeflow. intentionally a different color! label Mar 10, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-codeflow for labeling automated codeflow. intentionally a different color!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants