I don’t think this has been publicised as widely as it should, especially for Azure Pipelines consumers. ubuntu-latest is now resolving to ubuntu-22.04 rather than ubuntu-20.04.

This has been mentioned in the GitHub blog and there is an ‘announcement’ issue in the runner-images repo, but I haven’t seen anything official for Azure DevOps/Azure Pipelines. Both services use the same agent virtual machine images. As of this writing, the Microsoft-hosted agent page still suggests that ubuntu-20.04 is used.

This issue summarises the software differences between 20.04 and 22.04, and they can be significant. For example, I’ve already seen builds failing because they were assuming a .NET Core 3.1 SDK was preinstalled. The 22.04 image only includes .NET 6 and 7.

This is in addition to the already announced removal of ubuntu-18.04.

So make sure you declare all your tool requirements in your pipelines. Even better, run your jobs in a container (Azure Pipelines or GitHub Actions) with a custom container image that precisely specifies the tools and versions required to build and deploy your application.