Breaking changes in .NET Aspire 9

If you're migrating an app to .NET 9, the breaking changes listed here might affect you.

This article categorizes each breaking change as binary incompatible or source incompatible, or as a behavioral change:

  • Binary incompatible - When run against the new runtime or component, existing binaries may encounter a breaking change in behavior, such as failure to load or execute, and if so, require recompilation.

  • Source incompatible - When recompiled using the new SDK or component or to target the new runtime, existing source code may require source changes to compile successfully.

  • Behavioral change - Existing code and binaries may behave differently at run time. If the new behavior is undesirable, existing code would need to be updated and recompiled.

Note

This article is a work in progress. It's not a complete list of breaking changes in .NET Aspire 9.

Breaking changes

Title Type of change Introduced version
Remove default values from AzureOpenAIDeployment ctor Binary incompatible .NET Aspire 9.0 RC1
Python resources and APIs changed Source incompatible .NET Aspire 9.0 RC1
Updates to implicitly named volumes to avoid collisions Source incompatible .NET Aspire 9.0 RC1
Make unnamed volumes more unique Source incompatible .NET Aspire 9.0 RC1
New Azure.Provisioning version Source incompatible .NET Aspire 9.0 RC1
Allow customization of Azure ProvisioningContext Source incompatible .NET Aspire 9.0 RC1
Changes to Azure.Hosting APIs Source incompatible .NET Aspire 9.0 RC1
Improved Azure resource name scheme Source incompatible .NET Aspire 9.0 RC1
Ollama integration updates Binary incompatible, behavioral change .NET Aspire 9.0 GA