Cake v1.3.0 released

Published
07 October 2021
Category
Release Notes
Author
augustoproiete

Version 1.3.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, and is likely going to be our last release in the 1.x milestone as we're now preparing for our next major release of Cake, version 2.0! 🚀 🍰

Highlights of this release

  • Support for .NET 6 (tested with the latest as of date: 6.0.100-rc.1.21463.6)
    • This means you can now leverage all the new features of C# 10.0 when you run Cake using the .NET 6 SDK, as well as build Cake addins and modules targeting the net6.0 TFM
  • Support for Visual Studio 2022, MSBuild version 17, and custom MSBuild versions
  • Ability to "break the build" whilst setting the exit code of the build process
    • e.g. throw new CakeException(exitCode: 42); will set $LASTEXITCODE, %ERRORLEVEL%, etc. to 42
  • New EnsureDirectoryDoesNotExist method which, as the name implies, deletes all contents of a directory if it exists
    • This is slightly different than DeleteDirectory, which also deletes all contents of a directory, but expects it to exists (and fails if it doesn't)
  • New properties added to DotNetCoreMSBuildSettings, including InformationalVersion, PackageVersion, PackageReleaseNotes, and more...
  • .NET SDK Roll Forward Policy can now be defined via DotNetCoreSettings.RollForward
  • Cake NuGet packages now include a README with general information and useful links. See Cake.Tool as an example
  • Updated Spectre.Console to v0.42.0 (latest as of this writing)

... 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.

Issues

As part of this release we had 28 issues closed.

Features

  • #3469 Add support for .NET 6.

Improvements

  • #3503 Add NuGet Sources argument to DotNetCoreTestSettings.
  • #3502 Add NuGet Sources argument to DotNetCoreRunSettings.
  • #3501 Add NuGet Sources argument to DotNetCorePackSettings.
  • #3464 Add support for Visual Studio 2022 / MSBuild version 17.
  • #3452 Missing option in InspectCodeSettings: --build and --no-build flags.
  • #3449 Add Version, AssemblyVersion, FileVersion, and AssemblyInformationalVersion ...
  • #3447 Add ContinuousIntegrationBuild to DotNetCoreMSBuildSettings.
  • #3445 Highlight failed tasks on summary when Error handler is defined.
  • #3237 Allow setting MSBuildToolVersion using custom string - Part 1.
  • #3065 Add DOTNET_ROLL_FORWARD setting to DotNetCoreSettings.
  • #2165 DotNetCore Build misses Sources settings.
  • #2104 Make possibility to set Process Exit Code.
  • #1882 DeleteDirectory throws exception if directory doesn't exist.
  • #3519 Update Spectre.Console to 0.42.0.
  • #3521 Update Microsoft.NETCore.Platforms to 6.0.0-rc.1.21451.13.

Bug Fixes

  • #3493 .NET CLI Build Binary log filenames aren't quoted correctly.
  • #3477 Parsing of solution files with absolute paths to projects throws exception.
  • #3455 NuGet Resolver native dependencies fails on latest macOS.
  • #3352 Cake Frosting Parent DirectoryPath Fails To Combine with Slash.
  • #3291 Unable to retrieve target argument with Frosting.
  • #2048 DotNetCoreToolSettings.WorkingDirectory is not respected when running DotNetCoreTool.

Documentation

  • #3515 Add a simple README to the packages to be shown on NuGet.org.
  • #3466 Fix two typos in GitReleaseManagerAliases documentation.