Cake v1.0.0 RC1 released
By: Cake Build
Tags: Dotnet, Continuous Integration, Csharp, Release Notes, DevOps

Version 1.0.0-rc0001 of Cake has been released

This version is the 110th release of Cake, but the first pre-release of Cake 1.0🎉 In this blog post, we will go through some of the major new features of 1.0, which platforms are supported, and how you can help to get Cake 1.0 released.

We’ve chosen to release 1.0 as a pre-release to NuGet and Chocolatey, so we and the community can more easily test and ensure that our 1.0 release will be as stable as possible. It will also enable us to see if there are any steps you need to take to adapt your scripts for 1.0, and for us to see if there’re any unintended breaking changes, by testing as many addins, modules, and recipes as possible.

Major new features

.NET 5 support

C# 9 support

Implicit bootstrapping

Rewritten CLI

Frosting incorporated into main repository

Improved globbing support

Improved documentation

Bugfixes, increased test coverage, and integration tests

.NET 5 Support

Cake 1.0 will fully support running natively under .NET 5 both with scripts using the .NET Tool Cake.Tool and as regular .NET Console applications using the Cake.Frosting library.

C# 9 support

With .NET 5 and the latest version of Roslyn comes the full power of C# 9 to your build process. And if we may say so, records are brilliant for your build state.

Implicit bootstrapping

Boostrapping of Cake modules is now implicit, which means that you no longer will need to execute Cake twice to additionally download and initialize modules, just add the module directive to your script and this will be handled transparently for you.

#module nuget:?package=Cake.DotNetTool.Module&version=0.4.0

Rewritten CLI

We’re now utilizing Spectre.Cli for a more robust, flexible and future proof handling of command line input.

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

Frosting incorporated into main repository

Cake Frosting is now incorporated in the same GitHub repository as ( cake-build/cake ) all the other Cake runners, this means it’ll be released and supported with the same cadence as them.

Supported platforms

Supported operating systems

Supported CI Systems

How can you help?

Help us by taking Cake 1.0.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.

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 1.0.0-rc0001

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

Contributors

Contributions were included from:

devlead

gep13

gitfool

augustoproiete

mholo65

patriksvensson

adison88

mattleibow

eoehen

daveMueller

flcdrg

pascalberger

mderriey

Meir Blachman

Roemer

duracellko

Marusyk

xforever1313

MrCull

agc93

Issues

As part of this release we had 48 issues closed.

Breaking change

FeatureImprovement

#2913 Add overload for DotNetCoreRun.

Add overload for DotNetCoreRun. #2908 Future proof .NET [Core] detection.

Future proof .NET [Core] detection. #2897 Add tests for MyGetProvider.

Add tests for MyGetProvider. #2895 Custom contexts should inherit from CakeContextAdapter.

Custom contexts should inherit from CakeContextAdapter. #2877 Add NuGet’s Icon setting to NuGetPackSettings.

Add NuGet’s Icon setting to NuGetPackSettings. #2870 Add helpers for adding multiple strings to ProcessArgumentBuilder.

Add helpers for adding multiple strings to ProcessArgumentBuilder. #2866 Support multiple dotnet test options.

Support multiple dotnet test options. #2847 Add new GitHub Actions URL environment variables.

Add new GitHub Actions URL environment variables. #2844 Add missing dotnet test options.

Add missing dotnet test options. #2839 Add support for PublishReadyToRunShowWarnings property in DotNetCorePublish.

Add support for PublishReadyToRunShowWarnings property in DotNetCorePublish. #2833 Implicit bootstrapping of modules.

Implicit bootstrapping of modules. #2831 ParseAssemblyInfo does not detect lines with extra spaces.

ParseAssemblyInfo does not detect lines with extra spaces. #2825 Add option to ignore tool exit code.

Add option to ignore tool exit code. #2822 Add support of ReportGenerator global tool.

Add support of ReportGenerator global tool. #2820 Add DebuggerStepThroughAttribute to generated code.

Add DebuggerStepThroughAttribute to generated code. #2817 Bump dependencies.

Bump dependencies. #2801 Inconsistent NuGet file name case.

Inconsistent NuGet file name case. #2792 Add dotnet nologo options.

Add dotnet nologo options. #2743 Tool resolution for multiple names should be breadth first.

Tool resolution for multiple names should be breadth first. #2703 OpenCover is missing hideskipped setting.

OpenCover is missing hideskipped setting. #2623 DotNetCoreTestSettings Can Have Multiple Logger’s.

DotNetCoreTestSettings Can Have Multiple Logger’s. #2595 Misleading output message when trying to install prerelease package with the in-process nuget installer.

Documentation

#2925 Fix sentences which end with double full stop.

Fix sentences which end with double full stop. #2918 Incorrect link for ReSharper’s Open Source webpage in Cake readme.

Incorrect link for ReSharper’s Open Source webpage in Cake readme. #2894 Remove unnecessary documentation and replace it with .

Remove unnecessary documentation and replace it with . #2879 Update links pointing to cakebuild.net to new URL structure.

Update links pointing to cakebuild.net to new URL structure. #2836 Update README with more up-to-date “getting started” information.

Update README with more up-to-date “getting started” information. #2811 Identity of BuildProblem in TeamCityProvider should be optional.

Build

#2920 Bump Cake script dependencies.

Bump Cake script dependencies. #2899 Update to .NET 5 SDK RC 2.

Update to .NET 5 SDK RC 2. #2850 Bump .NET Core SDK to 3.1.402.

Bump .NET Core SDK to 3.1.402. #2818 Start producing 1.0.0-rc0001 NuGet Packages.

Start producing 1.0.0-rc0001 NuGet Packages. #2814 Switch GRM to not mark GitHub release as a pre-release.

Switch GRM to not mark GitHub release as a pre-release. #2781 Bump StyleCop to latest version.

Bug