Version 2.0.0 RC 2 of Cake has been released. Take it for a spin and give us feedback on our discussion board.
This is the second (and likely last) pre-release of Cake 2.0🎉
In this blog post, we will go through what's new in Cake RC 2, compared to RC 1.
Highlights of this release
- Added support for .NET v6.0.100 RTM
- Improvements and bug fixes to the new
- Less noise on the logs by default when resolving assemblies
- Improvements to IntelliSense support when using Visual Studio Code ... and more! The full list of changes is listed below.
See Upgrade instructions for documentation about breaking changes in this release.
Supported runners and required .NET version
To allow Cake to make use of modern platform features, make life easier for extension authors and simplify decision process of users we have decided to stop shipping Cake runner for .NET Framework and the already deprecated Cake runner for .NET Core with 2.0. Additionally we dropped support to run on .NET Core 2.1 and .NET Core 3.0 for Cake .NET Tool and Cake Frosting.
This means that, starting with Cake 2.0, you will need to have the .NET SDK installed on your build machine, at a minimum .NET Core 3.1, but .NET 6 is recommended, in order to run Cake. In other words, Cake itself will no longer run on .NET Framework, Mono and .NET Core 3.0 or older. Cake will continue to support building of .NET Framework projects as well as projects targeting .NET Core 3.0 or older.
Supported platform matrix for Cake 2.0 will look like this:
|Runner||.NET 6||.NET 5||.NET Core 3.1|
|Cake .NET Tool|
Cake runner for .NET Core has been deprecated since version 1.0 with Cake .NET Tool as the suggested replacement. For users of Cake runner for .NET Framework it is also suggested to switch to Cake .NET Tool and run builds on .NET Core 3.1 or newer. For users which rely on an extension, or other dependencies, which require .NET Framework or .NET Core 3.0 or older, suggestion is to stay on Cake 1.x.
See Sunsetting of .NET Framework and .NET Core runners in Cake 2.0 for details.
How can you help?
Easiest and safest way to test is by using .NET Tool with a local tool manifest.
dotnet new tool-manifest dotnet tool install Cake.Tool --version 2.0.0-rc0002
Then Cake will be available only in that folder where you created the manifest and not interfere with any other of your Cake projects.
dotnet cake build.cake
As part of this release we had 13 issues closed.
- #3714 Use Basic.Reference.Assemblies.* to ensure all standard reference assemblies are available for Roslyn (@devlead)
- #3709 Arguments alias should support ICollection
as default value (@devlead)
- #3691 Update Microsoft.NETCore.Platforms to 6.0.0 (@devlead)
- #3690 Update Microsoft.Extensions.DependencyInjection to 6.0.0 (@devlead)
- #3689 Update System.Reflection.Metadata to 6.0.0 (@devlead)
- #3688 Update System.Collections.Immutable to 6.0.0 (@devlead)
ScriptAssemblyResolverlogging should be at debug/diagnostic level (@gitfool)
- #3711 SemanticVersion missing equals/not equals operator, prerelease sorted wrong (@devlead)
- #3697 Error: The requested service 'Cake.Commands.DefaultCommandSettings' has not been registered (@augustoproiete)
Coresuffix is still used in some settings classes (@augustoproiete)
- #3683 Use DotNetMSBuildSettings instead of DotNetCoreMSBuildSettings on new dotnet aliases settings (@augustoproiete)
- #3671 VS2022: msbuild can not be located, only Build Tools are installed (@augustoproiete)
- #3701 Add cake-module tag to Cake.DotNetTool.Module NuGet package (@augustoproiete)