Version 1.0.0-rc0003 of Cake has been released 🎉.
Highlights of this release
- Migration from Spectre.Cli to Spectre.Console
- Spectre.Console brings additional console features, which will be leveraged in future releases to bring new experiences that are either not possible today, or require addins
- Preserve Console Mode when executing external processes on Windows
- Some processes modify the Console Mode, in some cases disabling features such as ANSI escape codes support. Cake now ensures that the Console Mode is restored to its original state after an external process ends
- Align command-line switches between Cake Script runners and Cake Frosting
- Addin recommended Cake version set to 1.0
- Bug fixes
Why Release Candidate?
We've chosen to release 1.0 as a pre-release to NuGet and Chocolatey, so we and the community can more easily test and ensure that our 1.0 release will be as stable as possible. It will also enable us to see if there are any steps you need to take to adapt your scripts for 1.0, and for us to see if there're any unintended breaking changes, by testing as many addins, modules, and recipes as possible.
Breaking changes in Cake Frosting
With Cake.Frosting 0.38.x:
// Create the host. var host = new CakeHostBuilder() .WithArguments(args) .UseStartup<Program>() .UseTool(new Uri("nuget:?package=ReportGenerator&version=4.8.1")) .Build(); // Run the host. return host.Run();
With Cake.Frosting 1.0:
// Create and run the host. return new CakeHost() .UseContext<BuildContext>() .InstallTool(new Uri("nuget:?package=ReportGenerator&version=4.8.1")) .Run(args);
Addin recommended Cake version set to 1.0
In preparation for the 1.0 release, we've now set the recommended version of Cake.Core for addins to target to 1.0.
This won't break the build but you might see warnings like below when Addins/Modules are loaded.
The assembly 'Cake.DotNetTool.Module, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null' is referencing an older version of Cake.Core (0.33.0).
Addin authors can start preparing for the 1.0 release by starting to build against Cake.Core version 1.0.0-rc0003.
See Upgrade instructions for documentation about breaking changes in this release.
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 9 issues closed.
- #3050 Frosting: Rename CakeHost extension from UseTool to InstallTool
- #3020 Migrate to Spectre.Console
- #3018 Cake displays raw ANSI output after running specific executables
- #3029 Add ICakeArguments.GetArgument extension
- #3009 Make Cake Core CakeDataService Public
- #3007 Different arguments between script runner and Frosting
- #3032 Frosting project fails on Linux
- #2961 Update dotnet cake usage instructions (dotnet cake --help)
- #2066 cake.coreclr help information error