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...Intellisense in Visual Studio Code
- Published
- Wednesday, 8 November 2017
- Category
- Announcement
- Author
- mholo65
As some of you might have noticed, we have been working on getting intellisense working for Cake files in Visual Studio Code. Today we are happy to announce that the OmniSharp project have merged our pull requests (#932 and #1681) and released v1.13.0 of the C# extension for Visual Studio Code, which includes support for Cake. In addition to this, we have released a new tool, called bakery, which is the script analysis and code generation engine making this possible. More information about bakery and how everything works behind the scenes are coming in an upcoming blog.
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...