Release Notes (Page 12)

Cake v0.26.0 released

Published
Tuesday, 27 February 2018
Category
Release Notes
Author
mholo65

Version 0.26.0 of Cake has been released.

The second release of 2018 is here! This release brings you the long awaited .NET Core 2 support. A special thanks goes to Adam Hathcock for all the hard work with the contribution.

One of the benefits in moving to .NET Core 2 is that addin authors should no longer need to target both net46 and netstandard1.6 in order to support Cake and Cake.CoreCLR. Instead addins should now be able to target netstandard2.0 only and still be compatible with both Cake and Cake.CoreCLR. At the time of writing, we are experiencing an issue with loading netstandard2.0 assemblies when running Cake on mono. We are currently investigating this and will provide a hotfix once the issue is resolved.

While working on this release, we introduced a breaking change in one of the interfaces in Cake.Core. Because of that, we bumped the latest breaking change version number to 0.26.0. In practice this means that Cake will not load addins targeting a lower version than 0.26.0 of Cake.Core. This is by design and for your protection. Even though the breaking change should be compatible with the majority of the addins out there. one can never be sure. However, if you really need to use an incompatible addin and have verified that the breaking change introduced doesn't concern the addin directly, we'll allow you to temporarily opt-out of the assembly verification until addin author has released a version of the assembly targeting the minimum required version of Cake.Core. See the skip verification configuration value for more details.

Contributions were included from:

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

Read more...

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

Config File Contents

Direct Argument

Contributions were included from:

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

Read more...

Cake v0.24.0 released

Published
Friday, 29 December 2017
Category
Release Notes
Author
devlead

Version 0.24.0 of Cake has been released.

As a little holiday gift from the Cake team and contributors, the last version for 2017 just shipped! This release shouldn't have any breaking changes, but it does have several improvements, bug fixes, and a couple new features.

A notable new feature is module bootstrapping built into the Cake script runner, which lets you download and install modules from NuGet with a #module preprocessor directive in your build script, similar to what you've previously already been able to do with #tool and #addin.

The only caveat is that as modules can change and extend the internals of Cake, this bootstrapping needs to be done before Cake executes. This is solved by bootrapping being it's own step by invoking Cake with a --bootstrap argument before you execute the script normally.

Notable amongst the improvements is that we've upgraded to Roslyn 2.6.1 which gives you C# 7.2 support in your Cake scripts.

And as always thanks to all Cake contributors and users, Cake wouldn't have been possible without you!

Contributions were included from:

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

Read more...

Cake v0.23.0 released

Published
Sunday, 15 October 2017
Category
Release Notes
Author
patriksvensson

Version 0.23.0 has been released!

This release contains three new features specially worth highlighting and a lot of bugfixes and improvements.

Cake now supports asynchronous tasks. This will let you use the async and await C# features within a task.

Tasks will still execute single threaded and in order as before, but this really simplifies asynchronous programming and utilizing asynchronous APIs within your Cake scripts.

Ever wished you could define your task as a dependency of another task - i.e. a reversed dependency relationship? The good news is that you now can.

Since task A is configured to be a dependee of B the task definition will be identical to the following:

You can now explicitly specify whether or not a dependency (or dependee) is optional or required. This is useful if you want to create "extension points" in your build script.

In the above example, Bar is dependent on Foo while Baz is dependent on Qux. The difference between the two dependencies above is that Cake will throw an exception if no task called Foo was found.

Contributions were included from:

Full details of everything that was included in these releases can be seen below.

Read more...

Cake v0.22.1 and v0.22.2 released

Published
Sunday, 17 September 2017
Category
Release Notes
Author
devlead

Version 0.22.1 and 0.22.2 of Cake have been released.

Following the release of Cake 0.22.0 the 13th of September, an issue with the GitVersion alias and deserializing certain integer properties the tools output was uncovered, and the decision was taken to quickly correct it.

A little too quickly, but fortunately David Driscoll caught, reported and supplied a pull request quickly, so huge thanks for that!

In these releases it's corrected in a non breaking way and for the next release these properties will be corrected from integer to nullable integers, which potentially will be a breaking change for anyone using those properties.

And as always thanks to all Cake contributors and users, Cake wouldn't have been possible without you!

Contributions were included from:

Full details of everything that was included in these releases can be seen below.

Read more...