Cake v6.1.0 released
- Published
- Sunday, 1 March 2026
- Category
- Release Notes
- Author
- devlead
Version 6.1.0 of Cake has been released. Take it for a spin and give us feedback on our discussion board.
This release includes new features, improvements, and bug fixes to both Cake Scripting, Cake Frosting, and Cake Sdk since the Cake v6.0.0 release! 🚀 🍰
Update: Cake.Sdk 6.1.1 has been released to address a dependency issue. If you use Cake.Sdk, we recommend updating to 6.1.1.
Highlights of this release
- FormattableString support in logging — Use interpolated strings and
FormattableLogActionwithError,Warning,Information,Verbose, andDebugfor cleaner logging. - Cake.Sdk In-Process NuGet client support - Install any NuGet package into tools
- .slnx support —
DotNetTestand solution parsing now recognize.slnx(XML solution) files; PathType autodetection includes.slnx. - NuGet Pack readme —
NuGetPacksupports the package readme file via the newReadMesetting. - AssemblyInfo creator — You can now add multiple instances of the same custom attribute (e.g. multiple
InternalsVisibleTo). - In-Process NuGet authentication — In-process NuGet restore supports authenticated feeds (e.g. GitHub Package Registry) via
NuGet_ConfigFileand credential providers. - GitLab CI — Build, and pipeline IDs are now
longinstead ofint, so they work on gitlab.com where IDs exceed 32-bit range (breaking for code that stores them inint). - Bug fixes —
DotNetPublishuses non-boolean--self-containedarguments;DotNetSlnListrespectsDOTNET_CLI_UI_LANGUAGE; Frosting command-line configuration parsing corrected; console log colorization fixed. - Dependency and SDK updates
FormattableString support in logging
You can now pass interpolated strings directly to the logging aliases, so formatting is clear, and the cost of building the message is only paid when the log level is active.
Using a FormattableString (interpolated string):
var project = "MyApp";
var version = "1.0.0";
Information($"Building {project} v{version}");
Using FormattableLogAction for lazy evaluation (the message is only formatted if the current verbosity allows it):
Verbose(log => log($"Processing {items.Count} items in {stopwatch.ElapsedMilliseconds} ms"));
All of Error, Warning, Information, Verbose, and Debug support both overloads.
Cake.Sdk In-Process NuGet client support
Cake.Sdk now goes beyond .NET tools: you can install and run any NuGet package with #tool / InstallTool, just like Cake.Tool already does. That makes it easy to pull in platform-specific packages (e.g. Bicep CLI) and invoke them with Command or the tool aliases.
Example: installing the Bicep CLI for the current OS and architecture, then running it:
Task("Install-Bicep")
.Does(() =>
{
var osArch = (Context.Environment.Platform.Family, RuntimeInformation.OSArchitecture);
Information($"Installing bicep tool for {osArch}");
FilePath[] bicepToolPaths;
switch (osArch)
{
case (PlatformFamily.Windows, System.Runtime.InteropServices.Architecture.X64):
bicepToolPaths = InstallTool("nuget:?package=Azure.Bicep.CommandLine.win-x64&version=0.41.2&include=/**/bicep.exe");
break;
case (PlatformFamily.Windows, System.Runtime.InteropServices.Architecture.Arm64):
bicepToolPaths = InstallTool("nuget:?package=Azure.Bicep.CommandLine.win-arm64&version=0.41.2&include=/**/bicep.exe");
break;
case (PlatformFamily.Linux, System.Runtime.InteropServices.Architecture.X64):
bicepToolPaths = InstallTool("nuget:?package=Azure.Bicep.CommandLine.linux-x64&version=0.41.2&include=/**/bicep");
break;
case (PlatformFamily.Linux, System.Runtime.InteropServices.Architecture.Arm64):
bicepToolPaths = InstallTool("nuget:?package=Azure.Bicep.CommandLine.linux-arm64=0.41.2&include=/**/bicep");
break;
case (PlatformFamily.OSX, System.Runtime.InteropServices.Architecture.X64):
bicepToolPaths = InstallTool("nuget:?package=Azure.Bicep.CommandLine.osx-x64&version=0.41.2&include=/**/bicep");
break;
case (PlatformFamily.OSX, System.Runtime.InteropServices.Architecture.Arm64):
bicepToolPaths = InstallTool("nuget:?package=Azure.Bicep.CommandLine.osx-arm64&version=0.41.2&include=/**/bicep");
break;
default:
Warning($"Platform {osArch.Family} with architecture {osArch.OSArchitecture} is not supported.");
return;
}
var bicepTool = bicepToolPaths.FirstOrDefault() ?? throw new FileNotFoundException("Failed to resole tool");
Information($"Installed bicep to {bicepTool}");
Command(
new CommandSettings
{
ToolExecutableNames = ["bicep", "bicep.exe"],
ToolName = "bicep",
ToolPath = bicepTool
},
"--version");
});
Contributors
This release was made possible thanks to the Cake team and the contribution of these awesome members of the Cake community listed below:
- devlead
- peymanr34
- SoulSniper1212
- wgnf
- augustoproiete
- paulomorgado
- TrymBeast
- gep13
- NatMarchand
- squid-box
Full details of everything that was included in this release can be seen below.
Issues
As part of this release we had 43 issues closed.
Breaking change
- #4656 Gitlab CI_PIPELINE_ID has exceeded the int limits on gitlab.com and the variable should be changed to a long.
Feature
- #4698 Add FormattableString Support to Logging Methods.
- #4520 add slnx support.
- #4071 Unable to set multiple of the same attribute CustomAttributes in AssemblyInfo creator.
- #3517 NuGet Pack Should support new readme file.
- #2028 In-Process NuGet doesn't support authentication.
Improvement
- #4740 Add CakeModule assemmbly attribute to NuGetModule.
- #4737 Update Microsoft.Extensions.DependencyInjection to 9.0.13 & 10.0.3 (net9.0&net10.0).
- #4735 Update Microsoft.IdentityModel.JsonWebTokens to 8.16.0.
- #4733 Update NuGet.* to 7.3.0.
- #4715 Update System.Security.Cryptography.Pkcs to 9.0.12 & 10.0.2 (net9.0&net10.0).
- #4713 Update Microsoft.Extensions.DependencyInjection to 9.0.12 & 10.0.2 (net9.0&net10.0).
- #4694 Update Autofac to 9.0.0.
- #4692 Update System.Security.Cryptography.Pkcs to 10.0.1 for net10.0.
- #4688 Update Microsoft.IdentityModel.JsonWebTokens to 8.15.0.
- #4685 Update Microsoft.Extensions.DependencyInjection to 10.0.1 for net10.0.
- #4683 Update Microsoft.CodeAnalysis.CSharp.Scripting to 5.0.0.
- #4679 Update Basic.Reference.Assemblies.* to 1.8.4.
- #4677 Update NuGet.* to 7.0.1.
- #4675 Update Spectre.Console & Spectre.Console.Cli to 0.54.0 & 0.53.1.
- #4658 Add support for MSBuild 18 and VS2026.
- #4635 DotCover no longer works with version 2025.2+ of JetBrains.dotCover.CommandLineTools.
Bug
- #4720 Use non-boolean self-contained arguments for dotnet publish.
- #4706 Add support for .slnx files in dotnet test PathType autodetection.
- #4687 Cake Frosting FrostingConfiguration Command Line parameters are not parsed correctly.
- #4667
DotNetSlnListhardcodes English output. - #4662 Colorization of console log output.
Cake v6.0.0 released
- Published
- Tuesday, 11 November 2025
- Category
- Release Notes
- Author
- devlead
Version 6.0.0 of Cake has been released. Take it for a spin and give us feedback on our discussion board.
This release includes new features, improvements and bug fixes to Cake Scripting, Cake Frosting, and the new Cake.Sdk runner since the Cake v5.1.0 release! 🚀 🍰
Cake now fully supports running on .NET 10, and with this C# 14, which means you can take advantage of the latest framework, runtime, and language improvements.
The supported platform matrix for Cake 6.0.0 will look like this:
We're excited to announce Cake.Sdk as a new official runner for Cake! Cake.Sdk provides a modern way to get the Cake tool scripting experience in regular .NET console applications. This brings you the stellar experience of the new "dotnet run app.cs" feature (requires .NET 10), while also working seamlessly with .NET 8 and 9 for regular csproj projects.
Here's the minimal example:
Cake.Sdk is a custom SDK that provides a convenient way to create Cake projects with minimal configuration. It automatically sets up common properties and provides a streamlined development experience for Cake-based build automation projects, whether you're using the new file-based approach or traditional project-based builds.
Key features include:
The easiest way to get started with Cake.Sdk is using the Cake.Template package, which provides several templates for different scenarios:
First, install the template package:
Create a new Cake file-based project:
For the simplest possible setup, you can use the minimal template:
For larger projects, you can organize your code across multiple files:
For traditional project-based approach:
We've now set the recommended version of Cake.Core for addins to target to 6.0.0.
This won't break the build, but you might see warnings like the one below when addins or modules are loaded.
The recommended target framework monikers for addins are now:
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.
Read more...Cake v5.1.0 released
- Published
- Saturday, 4 October 2025
- Category
- Release Notes
- Author
- devlead
Version 5.1.0 of Cake has been released. Take it for a spin and give us feedback on our discussion board.
This release includes new features, improvements and bug fixes to both Cake Scripting and Cake Frosting since the Cake v5.0.0 release! 🚀 🍰
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.
Read more...Cake.Sdk 5.0.25257.82-beta released
- Published
- Monday, 15 September 2025
- Category
- Announcement
- Author
- devlead
We're excited to announce the release of Cake.Sdk 5.0.25257.82-beta, a minor preview release that brings improvements to performance, the debugging experience, and native .NET CLI publish support.
The biggest improvement in this release is that dotnet publish now works with Cake.Sdk. This means you can now create self-contained precompiled binaries and containers, which can provide substantial performance gains when the same code is executed multiple times across different stages.
Cake.Sdk 5.0.25253.70-beta released
- Published
- Wednesday, 10 September 2025
- Category
- Announcement
- Author
- devlead
A new preview version of Cake.Sdk has been released! Version 5.0.25253.70-beta brings compatibility with .NET 10 RC1 and introduces powerful new features for modular build script organization. 🚀 🍰
Read more...