Cake v2.0.0 RC 1 released

Highlights of this release

Upgrading

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.

Improvements to aliases for dotnet

Cake 1.x had many DotNetCore*** aliases for executing dotnet such as DotNetCoreBuild, DotNetCoreTest, etc. The Core part in the name existed for historical reasons when .NET Core was first introduced and lasted until v3.1. With .NET 5, Microsoft dropped the "Core" from the name, and Cake 2.0 follows this naming schema for its .NET aliases: DotNetCoreBuild becomes DotNetBuild, DotNetCoreTest becomes DotNetTest, etc.

Improved GitHub Actions integration

Cake 2.0 comes with a few improvements to the GitHub Actions build provider:

  • Properties of files and paths are now of type and DirectoryPath
  • New Environment properties which returns runtime info, runner name and workflow action path
  • UploadArtifact command to upload a local directory or file into a file container folder and create an artifact.
  • SetEnvironmentVariable command to create or update an environment variable for any steps running next in a job.
  • AddPath command to add a directory to the system PATH variable and automatically make it available to all subsequent actions in the current job.

Improved Azure Pipelines integration

Cake 2.0 comes with a few improvements to the Azure Pipelines build provider. See Azure Pipelines build provider updates for details.

How can you help?

Help us by taking Cake 2.0 RC 1 for spin, test your scripts, addins and modules, if you have have questions please raise them on our GitHub Discussions and report any issues on our GitHub Issues.

dotnet new tool-manifest dotnet tool install Cake.Tool --version 2.0.0-rc0001
dotnet cake build.cake

Contributors

This release was made possible thanks to the contribution of these awesome members of the Cake community along with Cake team:

Issues

As part of this release we had 62 issues closed.

  • #3654 IsRunningOnAzurePipelines should ignore agent type (@pascalberger)
  • #3631 Refactor GitHub Actions Paths (@devlead)
  • #3610 Remove TFBuildProvider (@pascalberger)
  • #3590 Directories in AzurePipelinesBuildInfo are FilePaths — FilePath.GetDirectory then inconsistent (@devlead)
  • #3581 Stop shipping Cake.Portable Chocolatey package and Cake Homebrew formulae (@devlead)
  • #3579 Stop shipping Cake runner for .NET Framework and Cake runner for .NET Core (@devlead)
  • #3577 Remove ReverseDependencyAttribute (@pascalberger)
  • #3572 Only build for TargetFrameworks netcoreapp3.1, net5.0 and net6.0 (@devlead)
  • #3282 GitVersion Tool: Rename verbosity values to match GitVersion values (@joshuacookdev)
  • #3222 Add Xamarin.iOS platform targets to MSBuildSettings PlatformTarget enumeration (@Marusyk)
  • #3151 Add support for Engine event hooks after execution as well as before (@BlythMeister)
  • #3003 Remove DependencyAttribute (@pascalberger)
  • #2872 Bump eol target frameworks (@gitfool)
  • #2788 Tool:OpenCover — the register-setting should be an option, rather than a string (@nils-a)
  • #1111 DotNetCoreRestore: dotnet restore no longer supports globbing (@augustoproiete, @RLittlesII)
  • #3341 Introduce DotNet aliases (synonyms to DotNetCore aliases (@augustoproiete)
  • #3627 Add GitHub Actions AddPath Command (@devlead)
  • #3628 Add GitHub Actions SetEnvironmentVariable Command (@devlead)
  • #3629 Add GitHub Actions UploadArtifact Command (@devlead)
  • #3630 Add GitHub Actions Environment properties (@devlead)
  • #3662 Update Microsoft.CodeAnalysis.CSharp.Scripting to 4.0.0–6.final (@devlead)
  • #3647 Display message of criteria when task fails to run due to criteria not being met (@augustoproiete)
  • #3644 Add DotNetNuGetUpdateSource aliases (synonym to DotNetCoreNuGetUpdateSource) (@augustoproiete)
  • #3643 Add DotNetNuGetRemoveSource aliases (synonym to DotNetCoreNuGetRemoveSource) (@augustoproiete)
  • #3642 Add DotNetNuGetListSourceSettings (derived from to DotNetNuGetSource) (@augustoproiete)
  • #3641 Add DotNetNuGetHasSource aliases (synonym to DotNetCoreNuGetHasSource) (@augustoproiete)
  • #3640 Add DotNetNuGetEnableSource aliases (synonym to DotNetCoreNuGetEnableSource) (@augustoproiete)
  • #3639 Add DotNetNuGetDisableSource aliases (synonym to DotNetCoreNuGetDisableSource) (@augustoproiete)
  • #3599 Add VS2022 to default MSBuild Resolver (@devlead)
  • #3598 Remove Preview from VS2022 MSBuild Resolver (@devlead)
  • #3595 Update Autofac to 6.3.0 (@devlead)
  • #3593 Update Microsoft.CodeAnalysis.CSharp.Scripting to 4.0.0–5.final (@devlead)
  • #3591 Update Microsoft.NETCore.Platforms to 6.0.0-rc.2.21480.5 (@devlead)
  • #3555 Add DotNetNuGetAddSource aliases (synonym to DotNetCoreNuGetAddSource) (@augustoproiete)
  • #3554 Add DotNetNuGetDelete aliases (synonym to DotNetCoreNuGetDelete) (@augustoproiete)
  • #3553 Add DotNetNuGetPush aliases (synonym to DotNetCoreNuGetPush) (@augustoproiete)
  • #3552 Add DotNetPack alias (synonym to DotNetCorePack) (@augustoproiete)
  • #3551 Add DotNetPublish alias (synonym to DotNetCorePublish) (@augustoproiete)
  • #3550 Add DotNetVSTest alias (synonym to DotNetCoreVSTest) (@augustoproiete)
  • #3549 Add DotNetTest alias (synonym to DotNetCoreTest) (@augustoproiete)
  • #3548 Add DotNetBuildServer alias (synonym to DotNetCoreBuildServer) (@augustoproiete)
  • #3547 Add DotNetBuild alias (synonym to DotNetCoreBuild) (@augustoproiete)
  • #3546 Add DotNetRestore alias (synonym to DotNetCoreRestore) (@augustoproiete)
  • #3545 Add DotNetClean alias (synonym to DotNetCoreClean) (@augustoproiete)
  • #3544 Add DotNetExecute alias (synonym to DotNetCoreExecute) (@augustoproiete)
  • #3543 Add DotNetRun alias (synonym to DotNetCoreRun) (@augustoproiete)
  • #3542 Add DotNetTool alias (synonym to DotNetCoreTool) (@augustoproiete)
  • #3523 Add DotNetMSBuild alias (synonym to DotNetCoreMSBuild) (@augustoproiete)
  • #3215 Add RunCommand with postAction parameter to DotNetCoreTool (@jenscski)
  • #3075 Make FilePath and DirectoryPath comparable by value (@franciscomoloureiro)
  • #2571 OctopusDeploy DeployTo property to take collection of string to specify multiple environments (@nckl)
  • #2075 Add overloads for DotNetCore*() methods taking FilePath instead of string (@dharillo)
  • #1794 Private is missing from ProjectReference (@franciscomoloureiro)
  • #1669 Release notes does not tolerate prerelease versions (@sgronlund, @ManasviGoyal)
  • #3602 Switch to Cake.Tool as primary package in REAME.md (@devlead)

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Cake Build

Cake Build

Cake (C# Make) is a build automation system