Cake v0.25.0 released

Published
Wednesday, 17 January 2018
Category
Release Notes
Author
devlead

Version 0.25.0 of Cake has been released.

The first release of 2018 is here! It contains mostly improvements and bug fixes, but it also has one potential breaking change.

The most notable change in this release is that we no longer use the NuGet.exe CLI tool when installing addins, tools, modules and scripts from NuGet sources in our preprocessor directives. Now we instead default to the in-process NuGet client introduced in Cake v0.22.0. This will not only fix many previous issues people have seen with Cake's preprocessor NuGet handling, but also enable us to simplify boostrappers and pave the way to properly solve addin dependencies. It will also make pure .NET Core environments work out of the box with Cake.CoreCLR.

Also notable is that this release will likely be the last one before we migrate Cake.CoreCLR to .NET Core 2.x, we know this is much awaited! The migration work has been going on for some time now and most blockers have been sorted. So our preliminary plan is to have this migration done by the next release.

The new NuGet client shouldn't break any existing scripts, addins or tools, but you might need to clear your tools/addins folder as it has a slightly different folder structure. You can opt-out if you're having issues, by using Cake configuration environment variable, file or argument.

Environment Variable Name

CAKE_NUGET_USEINPROCESSCLIENT=false

Config File Contents

[NuGet]
UseInProcessClient=false

Direct Argument

cake.exe --nuget_useinprocessclient=false

Contributions were included from:

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

As part of this release we had 12 issues closed.

Breaking change

  • #1995 Make In-proc NuGet addin/tool installation default

Feature

  • #1994 Get MSBuild Verbosity enum from string

Bugs

  • #1988 TeamCity writing start and end progress contains invalid messages property
  • #1974 ToDictionary on Mono causes "The type 'Dictionary<,>' is defined in an assembly that is not referenced"

Improvements

  • #1998 Some .NET Core commands missing no dependencies/restore
  • #1997 Add the --trace option to the NUnit3Settings class.
  • #1992 Update to .NET Runtime 1.0.9 because security issues
  • #1989 Path unnecessarily trims backslash in already normalized string
  • #1987 Confusing Error from Bad Format String to Information()
  • #1937 UseInProcessClient=true is slow

Documentation

  • #1982 CodeTriage - Get more Open Source Helpers
  • #1689 ChocolateyDownload should be documented to only work in paid edition