November, 2022

Cake v3.0.0 released

Tuesday, 8 November 2022
Release Notes

Version 3.0.0 of Cake has been released. Take it for a spin and give us feedback on our discussion board.

This release includes several new features, improvements and bug fixes to both Cake Scripting and Cake Frosting since the Cake v2.3.0 release! 🚀 🍰

Being a major release we've taken the opportunity to remove obsolete aliases and members, i.e. DotNetCore* aliases were obsoleted and replaced by DotNet* aliases in Cake 2.0 and are now removed with 3.0.0.

Cake itself will no longer run on .NET Core 3.1 or .NET 5, but Cake will continue to support the building of .NET Framework projects, as well as projects targeting .NET 5.0 or older.

The supported platform matrix for Cake 3.0.0 will look like this:

Cake now fully supports running on .NET 7, and with this C# 11, which means you can take advantage of the latest framework, runtime, and language improvements.

For scripting, a new TaskOf<T> method has been introduced to simplify when working with shared typed data contexts, where one only needs to specify the type parameter once and only get task methods that are relevant, example:

Also for scripting, a new RunTargets(IEnumerable<string> targets) method is now available. It'll let you specify multiple targets as the entry point in Cake's dependency graph to execute, where dependencies and dependency order is still respected. For example calling script below with dotnet cake --target="A" --target="B"

will generate the following execution

Cake 3.0.0 comes with a few improvements to build providers i.e.

We've now set the recommended version of Cake.Core for addins to target to 3.0.0.

This won't break the build, but you might see warnings like below when addins or modules are loaded.

This release was made possible thanks to the Cake team and the contribution of these awesome members of the Cake community listed below:

Full details of everything that was included in this release can be seen below.