- Published
- Friday, 22 May 2026
- Category
- Release Notes
- Author
- devlead
Version 6.2.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 Cake.Sdk since the Cake v6.1.0 release! 🚀 🍰
Highlights of this release
- RWX build provider — Detect RWX CI runs with
BuildSystem.Rwxand read documented environment variables; see RWX integration. - Multi-target scheduling — Shared dependencies are no longer executed twice when you run multiple targets, and
SetupContext.TasksToExecutereflects every target when usingRunTargets. - Quiet builds — The task summary report is suppressed when verbosity is
Quiet; Cake.Sdk generator projects can skip the report printer via configuration. - dotnet & Frosting fixes — Empty MSBuild properties in
DotNetBuild, correctDotNetMSBuildverbosity, package version lists fromDotNetSearchPackage, and combinedDirectoryPath/ConvertableFilePathvalues in Frosting. - Glob —
GetFiles()with curly-brace glob patterns returns the expected files. - .NET 9 & 10 tool install —
dotnet tool installuses--sourceinstead of the removed--add-sourceswitch. - NuGet security — Direct
NuGet.*dependency updates to reduce transitive vulnerable-package warnings. - Dependency and SDK updates
RWX build provider
Cake now includes an RWX build provider (#4840), alongside GitHub Actions, GitLab CI, Azure Pipelines, and the other supported systems listed under build system integrations. Documentation is available on the RWX integration page. When your build runs on RWX, scripts get the same IsLocalBuild / provider detection pattern you already use elsewhere—for example:
if (BuildSystem.Rwx.IsRunningOnRwx)
{
Information(
"RWX run {0}: {1}",
BuildSystem.Rwx.Environment.Run.Id,
BuildSystem.Rwx.Environment.Run.Title);
}
else
{
Information("Not running on RWX");
}
See IRwxProvider for run, task, git, and runtime metadata, plus BuildSystem.Rwx.Commands for output values and artifacts.
Running Cake on RWX
Below is an example of an RWX YAML configuration that runs on Ubuntu 26.04, checks out your code, installs the .NET SDK using global.json, and then shows the three ways to invoke Cake on CI—Cake.Sdk file script, Cake .NET Tool, and Cake Frosting. See Running Cake on RWX for more examples.
on:
github:
pull_request:
init:
commit-sha: ${{ event.git.sha }}
push:
- if: ${{ event.git.branch == 'develop' || event.git.branch == 'main' || starts-with(event.git.branch, 'hotfix/') }}
init:
commit-sha: ${{ event.git.sha }}
cli:
init:
commit-sha: ${{ event.git.sha }}
base:
image: ubuntu:26.04
config: rwx/base 1.1.1
tasks:
- key: code
call: git/clone 2.0.7
with:
repository: https://github.com/your-org/your-repo.git
ref: ${{ init.commit-sha }}
fetch-full-depth: true
preserve-git-dir: true
- key: install-dotnet
use: code
call: dotnet/install 1.0.0
with:
global-json-file: global.json
filter:
- global.json
- key: build
use: [code, install-dotnet]
run: |
# Cake Sdk
dotnet cake.cs
# Cake Tool
dotnet tool restore
dotnet cake
# Cake Frosting
dotnet run --project cake.csproj
For a single runner in your own repo, keep only the dotnet commands you need.
Cake itself builds on RWX too
Cake.Tool and Cake.Sdk integration tests and pull requests now build continuously on RWX as well. Thank you to RWX for sponsoring the project with a build instance.
Contributors
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.
Issues
As part of this release we had 36 issues closed.
Feature
- #4840 Add RWX as a build provider.
Improvement
- #4832 Update Microsoft.Extensions.DependencyInjection to 9.0.16 (net9.0) & 10.0.8 (net10.0).
- #4830 Update Microsoft.IdentityModel.JsonWebTokens to 8.18.0.
- #4822 Update Spectre.Console to 0.55.2.
- #4820 Update Basic.Reference.Assemblies.* to 1.8.8.
- #4794 Update
NuGet.*packages dependencies to avoid transitive package vulnerable warnings. - #4784 Update Spectre.Console.* to 0.55.0.
- #4776 Microsoft.IdentityModel.JsonWebTokens to 8.17.0.
- #4771 Update System.Security.Cryptography.Pkcs to 9.0.14 & 10.0.5 (net9.0&net10.0).
- #4769 Update Microsoft.Extensions.DependencyInjection to 9.0.14 & 10.0.5 (net9.0&net10.0).
- #4765 Update Autofac to 9.1.0.
- #4763 Update Microsoft.CodeAnalysis.CSharp.Scripting to 5.3.0.
- #4442 Frosting DirectoryPath + ConvertableFilePath combines strings instead of paths.
- #4158 Cannot specify empty properties when using DotNetBuild.
- #2101 CakeReportPrinter should be disabled in Verbosity = Quiet.
Bug
- #4834 .NET Tool installer switch from --add-source to --source for .NET 9 & 10.
- #4456 DotNetMSBuild alias generates extra verbosity argument.
- #4454 Impossible to retrieve package versions list with DotNetSearchPackage.
- #4324 When running multiple targets, common dependent tasks are executed twice.
- #4066 SetupContext.TasksToExecute only lists tasks related to first target when calling RunTargets.
- #2666 GetFiles() using Glob curly braces gives empty result.
