Cake v0.17.0 released

Version 0.17.0 of Cake has been released.

This release of Cake sees a number of new features added, as well as some bug fixes, however, most importantly, there was a breaking change.

This breaking change centred around the VSTestSettings class, where the decision was wait to allow custom loggers to be passed into the VSTestRunner. As a result, the previous enumeration named VSTestLogger has been removed, and replaced with a fully customizable string. If you are using this enumeration in your scripts then you will see errors being generated if you update to the latest version of Cake. You should be able to make use of the new extension methods called WithVisualStudioLogger and WithAppVeyorLogger on the VSTestSettings to replace the enumeration values.

Please let us know if you run into any issues with this latest release.

Once again, the Cake Team have been overwhelmed by the number of contributions from our Community Members. Simply put... THANK YOU!

Contributions were included from:

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

Breaking change

  • #1138 Allow custom loggers in the VSTestSettings

Features

  • #1311 Add support for InnoSetup
  • #1281 Add a "Prepend" extension for the ProcessArgumentBuilder
  • #1280 Add Support for the Go.CD build provider
  • #1274 Add GitLab CI build system support
  • #1250 Add VSTS build system support
  • #1241 Wait for AppVeyor process to exit
  • #1172 Add Ability to Redirect Standard Error on IProcess
  • #1142 Add option to keep the autogenerated NuSpec file
  • #991 IsDependentOn with CakeTaskBuilder parameter
  • #899 CopyFiles doesn't respect source directory structure
  • #724 Add DotCover Report
  • #472 Support OctoPack
  • #260 Add support for moving directories

Bugs

  • #1332 Typo in VSTestSettings extension method name
  • #1323 Globber exception when using a path with an exclamation
  • #1319 Error: An item with the same key has already been added while running Cake from commit hooks
  • #1314 System time separator is used when Octo DeployAt argument is converted to string
  • #1271 Unquoted VSTest settings file path
  • #1245 Globber exception when glob contains %
  • #1231 GetEntryAssembly can return null, leading to NullReferenceException
  • #1154 NuGetPack fails if no Files have been specified

Improvements

  • #1324 Add support fort Specifying Dependencies for Multi Target package
  • #1318 Support DefaultCredentials usage for Http Downloads
  • #1312 Add additional parameters to MSBuild runner
  • #1296 Add Go.CD build history API call
  • #1292 Some properties for RoundhouseSettings in Cake.Common.Tools.Roundhouse are not working properly
  • #1289 Add user agent for DownloadFile
  • #1287 Guard against invalid path environment variables
  • #1279 Adding all current parameters for VSTest
  • #1251 OctoCreateRelease is missing channel option
  • #1228 Option to deploy an existing release in OctopusDeploy
  • #1160 Get return code from intercepted process in SpecFlow TestExecutionReport
  • #1151 Add parameter LogFile to DotCover commands
  • #906 Can't specify hash algorithm for the Sign command
  • #703 MSBuild add log file support
  • #685 Support for SHA256 code signing

Documentation

  • #1346 Fixed typos 'occured' and 'occuring'
  • #1309 Add CLA link to README.
  • #1278 Removed erroneous apostrophes
  • #1263 Corrects the grammar "do/does" in exception messages and tests
  • #1234 Adds default CPU count behavior to MSBuild settings documentation