Cake v1.1.0 released

Published
Saturday, 6 March 2021
Category
Release Notes
Author
augustoproiete

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

This is the first release since our big Cake 1.0 milestone release, and includes new features, improvements and bug fixes to both Cake Scripting and Cake Frosting.

Highlights of this release

  • .NET tools are now natively supported in Cake builds via #tool dotnet:
    • The Cake.DotNetTool.Module is bundled with Cake from now on and is no longer required as a separate package/dependency. Starting with this release, Cake.DotNetTool.Module will always be released together with Cake and will only be compatible with the current release. If you use Cake.DotNetTool.Module already on your builds do one of the following:
      • Upgrade Cake to version 1.1.0, and remove the Cake.DotNetTool.Module from your build script (as it's no longer needed).
      • Or pin Cake.DotNetTool.Module to a version compatible with the Cake version that you use. Cake.DotNetTool.Module version 1.0.1 is the last version compatible with Cake 1.0.0.
  • Cake Frosting: Tools are now installed in the working directory by default, and Frosting now honors the Tools path defined in cake.config the same way that Cake scripting does
  • TeamCity: Additional properties of TeamCity builds is now available to Cake builds
  • Azure Pipelines: Output variables in Azure Pipelines can be used to share build data between different stages and/or different tasks
  • Improved tool resolution to prefer tools compatible with the platform where the build is running on
  • Several improvements on coloring of console output when running Cake builds:
    • Colored build output is now enabled by default when running Cake on Azure Pipelines and TeamCity
    • We removed the default black background on build log messages and we now use the default background color of the console, which makes build logs look great if you use a custom background color, such as PowerShell
    • It's now possible to turn off coloring of console output by defining an environment variable called NO_COLOR

... and more! The full list of changes is listed below.

Contributors

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

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

Upgrading

If you are upgrading from Cake 1.0 and using the .NET tool as we recommend, all you need to do is to update the Cake .NET tool:

# If you are using the .NET tool as a local tool for the repository
dotnet tool install --local Cake.Tool

# If you are using the .NET tool as a global tool for the user
dotnet tool install --global Cake.Tool

See Upgrade instructions for detailed instructions how to upgrade to a newer Cake version and upgrade instructions for previous releases.

Issues

As part of this release we had 33 issues closed.

Feature

  • #2983 No possibility of adding variable with isOutput=true in Azure Pipelines.
  • #2903 Integrate Cake.DotNetTool.Module.
  • #2685 Better dotnet tool integration.

Improvement

  • #3219 Update nuspec iconUrl in packages to use CDN URL.
  • #3216 Remap NuGetLogger Verbose/Verbose to ICakeLog Debug/Diagnostic.
  • #3213 Add iconUrl fallback to Cake and Cake.CoreCLR packages.
  • #3193 Update Cake unit MS Test SDK dependencies to 16.9.1.
  • #3191 Update Roslyn (Microsoft.CodeAnalysis.CSharp.Scripting) to 3.9.0-4.final.
  • #3188 Update Cake.NuGet dependencies to latest stable.
  • #3144 TeamCity pull request info requires "GIT_BRANCH" environment variable.
  • #3133 Add IncludeNativeLibrariesForSelfExtract and IncludeAllContentForSelfExtract to DotNetCorePublishSettings.
  • #3127 Add ResultsDirectory to VSTestSettings.
  • #3125 ReportGenerator missing report types.
  • #3081 Add netcoreapp3.1 target to Cake.
  • #3066 Prefer tools with platform affinity.
  • #3040 Package ID Prefix Reservation for Cake.* on nuget.org for cake-build organization.
  • #3024 WindowsRegistry: Expose other root registry keys to Cake scripts (e.g. HKEY_CURRENT_USER).
  • #2975 Add support for opting out of ANSI coloring via NO_COLOR env. variable.
  • #2967 Expose TeamCity build properties dictionary via TeamCityBuildInfo.
  • #2966 Enable AnsiConsoleRenderer in TeamCity and Azure Pipelines.
  • #2955 Add Build Start Date & Time to TeamCity build information.
  • #2941 ProcessArgumentBuilder helpers should return empty builder when values is null.
  • #2932 Add dotnet test --blame Flag to DotNetCoreTestSettings.
  • #2314 There's no way to set platform like Debug|iPhone.
  • #1633 Some command line output ignores system foreground color configuration.
  • #2904 (Frosting) Tool installer should respect configuration.

Build

  • #3228 Pin Ubuntu builds to ubuntu-18.04 (from ubuntu-latest).
  • #3182 Update build addins and modules to versions targeting Cake 1.0.
  • #3180 Update .NET SDKs to latest patched.

Bug

  • #3190 Working directory is not respected in BuildContext constructor.
  • #3143 ParseSolution throws IndexOutOfRangeException on empty lines.
  • #3058 Regression: Tools are no longer not restored in working directory.
  • #2852 Terminal output colours.