All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Removed
:Fixcommand from global tool (superseded by:AddPackage) - Changed
.nukeconfiguration file to.nukedirectory - Changed shell-completion to rely on
build.schema.jsonfile - Changed default
DependencyBehaviortoSkip - Changed
HostTypetoHostbase class - Changed
ExecutionStatusmembersExecutedtoSucceeded, andExecutingtoRunning - Changed
IBuildExtensioninstances to be cached - Changed
IOnBeforeLogoandIOnAfterLogoextensions toIOnBuildCreatedandIOnBuildInitialized - Changed
IsSuccessfulto check for succeeded, skipped and collective targets - Changed
ParameterAttributeto allow external value providers withValueProviderTypeandValueProviderMember - Changed GitHubActions secret names to split on camel-humps
- Added support for parameter files (profiles)
- Added source generator for strong-typed solutions
- Added shorthand dependencies for build components
- Added
ReportSummaryfor summary extension toNukeBuildandINukeBuild - Added exception reporting in summary
- Added
ParameterPrefixAttributefor build components - Added build extensions for
OnTargetSkipped,OnTargetRunning,OnTargetSucceeded, andOnTargetFailed - Added styling for unlisted targets in execution plan HTML
- Added
:Secretscommand to global tool andSecretAttributefor encryption in parameters files - Added
:AddPackagecommand to global tool - Added
:GetConfigurationcommand to global tool - Added
:Updatecommand to global tool - Added
:CakeConvertand:CakeCleancommands to global tool - Added generation of
Directory.Build.propsandDirectory.Build.targetsfiles - Added parameter resolution for root directory in global tool
- Added shell-navigation aliases
nuke/andnuke- - Added
ScheduledTargets,RunningTargets,AbortedTargets,FailedTargets,SucceededTargetscollections toNukeBuildandINukeBuild - Added
ArgumentsFromCommitMessageAttributeand:Triggercommand to global tool - Added
ExitCodetoINukeBuild - Added
IsFinishedandIsFailingtoNukeBuildandINukeBuild - Added caching for
ValueInjectionUtility.TryGetValue - Added equality operators and implicit conversion to string for Enumeration
- Added
GetProject,GetSolutionFolder,Projects, andSolutionFolderstoSolutionFolder - Added
GetRuntimeIdentiferstoProjectExtensions - Added string-escape extension for MSBuild in
DotNetTasksandMSBuildTasks - Added
EnsureExistingDirectoryandEnsureExistingParentDirectoryoverloads forAbsolutePath - Added
XmlPeekElementstoXmlTasks - Added
GitRepositorypropertiesRemoteNameandRemoteBranch - Added support for
NerdbankGitVersioning - Added
NoCacheproperty toGitVersionAttributewith default valuetrue - Added
SendOrUpdateSlackMessagetoSlackTasks - Added support for JetBrains SpaceAutomation
- Added support for GitHub Actions dispatch workflows
- Added support for GitLab CI
- Added support for multiple AppVeyor configurations
- Added support for AppVeyor secrets
- Added support for platform-independent TeamCity configurations
- Added TeamCity parameter to replace run-button caption
- Added
AddTeamCityLoggerforDotNetTesttask - Added
IsPersonalBuildproperty toTeamCity - Added caching for
AzurePipelinesAttributeandGitHubActionsAttribute - Added
SetVariabletoAzurePipelines - Added
CodeMetricsTasks - Added
PulumiTasks - Added
CodecovTasks - Added
CorFlagsTasks - Added
FixieTasks - Added
ILRepackTasks - Fixed skip reason for targets skipped from
--skipparameter - Fixed execution plan legend
- Fixed execution plan highlighting for multiple default targets
- Fixed
ConsoleUtilityto allow full deletion of secret - Fixed exception reporting for
ExecutableTargetFactory - Fixed handling of value types in
ValueInjectionUtility.TryGetValue - Fixed calculation of value sets for collection parameters
- Fixed compilation of legacy template
- Fixed
IsDescendantPathto split path parts - Fixed
MoveDirectorywith additionaldeleteRemainingFilesparameter - Fixed
SwitchWorkingDirectoryto respectallowCreateparameter - Fixed
ResponseArchiveinISignPackagesbuild component - Fixed MSBuild path resolution to fallback to using
dotnet --list-sdks - Fixed client usage in
GitHubTasks - Fixed token ordering in
TemplateUtility - Fixed default value for collections in TeamCity configurations
- Fixed TeamCity composite configurations to propagate failures
- Fixed
TeamCityandAzurePipelinesto update build numbers in environment variables - Fixed
TriggerBatchin AzurePipelines generation - Fixed condition in AppVeyor generation
- Fixed
FileFiltersproperty inReportGeneratorTasks - Fixed logger for
DocFXTasks - Fixed
Severityproperty inReSharperTasks - Fixed missing
MSBuildandToolRestoretask inDotNetTasks - Fixed missing
Buildxtask inDockerTasks - Fixed missing
CoverDotNettask inDotCoverTasks - Fixed missing
GenericCoveragePathsproperty inSonarScannerTasks - Fixed missing properties in
ReSharperTasks - Fixed missing properties in
TeamCity,GitHubActions, andAzurePipelines - Fixed missing
SignToolDigestAlgorithmenumeration inSignToolTasks
5.0.2 / 2020-12-07
- Fixed
ChangelogTasksto use HTTPS links in history - Fixed
DotNetRunandDotNetTestrun settings - Fixed conditions for informational text
5.0.1 / 2020-12-06
- Fixed configuration generation to wait for user input after file changes
- Fixed build summary for durations smaller than 1 second
- Fixed build summary and
IBuildExtensioninstances to be skipped if no targets were started - Fixed build summary to hide irrelevant durations
- Fixed setting of
EmbeddedPackagesDirectoryfor global tools - Fixed
PackPackageToolsTaskto use lower-case package ids - Fixed
ParameterAttribute.ValueProviderto allow members of typeIEnumerable<string> - Fixed
Loggerto removeControlFlowfrom stacktrace - Fixed assertion messages for warnings
- Fixed path and quoting in
build.cmd - Fixed
GitVersion.Toolversion in project templates - Fixed
LatestMyGetVersionAttributeto handle new RSS feed format - Fixed missing arguments
PublishReadyToRun,PublishSingleFile,PublishTrimmed,PublishProfile,NoLogoforDotNetPublish - Fixed parameter name
VerbosityinDotNetPack - Fixed enumeration value
lcovinCoverletTasks - Fixed
ReSharperTasksto use correct tool path - Fixed
ChangelogTasksto respect additional markdown-linting rules - Fixed TeamCity generator to consider artifact products from all relevant targets
- Fixed condition for skipping lines in TeamCity parameter files
5.0.0 / 2020-11-12
- Fixed version number
0.25.0 / 2020-10-26
- Removed
ConfigurationfromNuke.Commonand moved it to template - Changed
InjectionAttributeto catch exceptions and report as warnings - Changed
ToolPathResolverto ignore casing - Changed
ToolSettingsto prefix common properties withProcess - Changed property names in
Nuke.Common.targets - Changed
GitRepositoryto trimrefs/heads/andorigin/from branch names - Changed
ShutdownDotNetBuildServerOnFinishto not log by default - Changed
ShutdownDotNetBuildServerOnFinishto only shutdown on server build - Added support for interface default implementations
- Added
NukeBuild.ExitCodefor custom exit codes - Added
ProcessTasks.StartShellto invoke shell commands - Added
ToolSettings.Applyfor fluent configurator invocation - Added
ToolSettings.LogFileandLogTimestamp - Added
nuke :fixcommand toNuke.GlobalToolfor adding missing package downloads - Added
nuke :GetRootDirectoryandnuke :GetParentRootDirectoryinNuke.GlobalTool - Added
LatestNuGetVersionAttribute,LatestGitHubReleaseAttribute,LatestMyGetVersionAttribute - Added
GitRepository.Protocol,Commit, andTagsproperties - Added logger delegate to
ControlFlow.ExecuteWithRetry - Added
BuildExtensionAttributeBasewithPriorityproperty - Added
UnsetVisualStudioEnvironmentVariablesby default - Added
TeamCity.BuildVcsNumberproperty - Added AzurePipelines variable groups, secret and access token import
- Added
AppVeyor.UrlandPushArtifactmembers - Added warning when
GitVersionis used with SSH endpoint andNoFetchis disabled - Added consolidated
ReSharperTasksforCleanupCode,InspectCode, andDupFinder - Added
TeamsTasks - Added
SignPathTasks - Added
SignClientTasks - Added
BenchmarkDotNetTasks - Added
CleanupCodeTasks - Added
DotNetTasks.DotNetNuGetAddSourcetask - Added
OctopusTasks.OctopusBuildInformationtask - Added missing properties in
SonarScannerTasks - Added verbosity mapping attributes for
NUnit,OpenCover, andReportGenerator - Fixed version check in bootstrapping scripts to rely on dotnet CLI exit code
- Fixed deactivation of multi-level lookup in bootstrapping scripts
- Fixed deactivation of shared compilation in bootstrapping scripts
- Fixed
ToolPathResolverto consider all package executable names - Fixed
ToolPathResolverto choose executable based on operating system - Fixed output/input encoding to use
UTF-8 - Fixed
NukeBuild.BuildProjectFileproperty - Fixed AppVeyor generation for Unix images
- Fixed
AzurePipelinensAttributeto allow multiple use - Fixed AzurePipelines to replace dots in stage name with underscore
- Fixed
AppVeyor.UpdateBuildVersionto set environment variable - Fixed
DupFinderTasks.DiscardCostproperty - Fixed
DotCoverTasksto use double-dashes instead of slashes - Fixed
NpmTasks.CustomLoggerto detect warnings in error output
0.24.11 / 2020-05-18
- Fixed transitive artifacts in configuration generation
- Fixed
StackOverflowExceptionin configuration generation - Fixed
IsPackableproperty default - Fixed missing colon in GitHubActions triggers
- Fixed assertion message for finding Git directory
- Fixed assertion message for
teamcity.dotCover.home
0.24.10 / 2020-04-24
- Fixed MSBuild targets to switch on
MSBuildRuntimeTypeagain - Fixed default includes for
NukeSpecificationFilesandNukeExternalFiles - Fixed indentation for GitHubActions scheduled triggers
- Fixed assertion message for GitHubActions trigger definitions
- Fixed default
RootNamespace
0.24.9 / 2020-04-16
- Fixed MSBuild targets directories
0.24.8 / 2020-04-12
- Fixed publishing of global tool for
netcoreapp3.1 - Fixed .NET Core SDK install script URL
- Fixed trap error output in PowerShell bootstrapping
- Fixed AzurePipelines push triggers
- Fixed AzurePipelines configuration to allow overriding configuration directory
- Fixed previous constructor usages for
AzurePipelinesAttribute - Fixed PowerShell downloads to use TLS 1.2 security protocol
- Fixed unrecognized
Visibleattribute forPackageDownloaditem group
0.24.7 / 2020-03-26
- Fixed MSBuild targets for .NET Core
- Fixed
GitRepository.GetGitHubMilestoneto retrieve milestone independent of state
0.24.6 / 2020-03-25
- Fixed NuGet package resolution performance
- Fixed MSBuild integration
- Fixed TeamCity trace output to be dark gray
- Fixed missing using statement for
Nuke.Common.IO
0.24.5 / 2020-03-24
- Fixed TeamCity configuration to use Bash script on Unix
0.24.4 / 2020-03-05
- Fixed Refit version
- Fixed conversion of
GitHubActionsTrigger - Fixed project default includes to check existence of files
- Fixed projects to target
netcoreapp2.1 - Fixed configuration generation to allow multiple configurations per host type
- Fixed
AzurePipelinesAttributeto allow setting a configuration suffix - Fixed CI server detection to ignore empty environment variables
- Fixed
TeamCityOutputSinkto not report errors as build problems - Fixed custom logger for
NpmTasks - Fixed custom logger for
DockerTasks - Fixed missing NuGet install task
- Fixed missing
Frameworkproperty inOctopusTasks - Fixed missing
ReportTypeinDotCoverTasks - Fixed missing properties in
DotNetTasks - Fixed Glob version
- Fixed
GitVersionAttributeto avoid duplicated version numbers - Fixed
System.ValueTupleversion
0.24.2 / 2020-02-15
- Fixed extension methods for settings with base type
- Fixed
SonarScannerTasksto haveFrameworkproperty - Fixed generation of
shell-completion.ymlto exclude unlisted targets for invocation
0.24.1 / 2020-02-07
- Fixed
NuGetPackageResolverto include dependencies during tool path resolution - Fixed parsing of TeamCity environment variables
- Fixed execution flags for
build.shandbuild.cmdscripts during setup - Fixed assertion message in
UnityTasks - Fixed
build.cmdto have newline at end-of-file - Fixed logo spacing
0.24.0 / 2020-02-02
- Removed
NuGetPackagetasks and AutoMapper package reference - Removed TeamCity definitions for
VcsRootand trigger timezones - Changed
AbsolutePath,RelativePath,WinRelativePathandUnixRelativePathto outer scope - Changed default package for
DotCoverTaskstoJetBrains.dotCover.DotNetCliTool - Changed default includes to be provided via
Nuke.Common.targets - Changed
ConfigurationGenerationAttributeBasetoConfigurationAttributeBase - Changed manually invoked targets to be TeamCity deployment configurations
- Changed
AzurePipelinesinterface to use enumerations for test result type and code coverage tool type - Changed package version for
Glob,Microsoft.IdentityModel.Clients.ActiveDirectory,Newtonsoft.Json,NuGet.Packaging,Refit,YamlDotNet - Added cross-platform
build.cmdbootstrapping script - Added build emotions
- Added update of build number for TeamCity, AppVeyor, and Azure Pipelines from
GitVersionAttribute - Added
AzureKeyVaultβ previously available as addon - Added
DocFXTasks,DockerTasks,HelmTasks,KubernetesTasks, andNSwagTasksβ previously available as addons - Added TeamCity logger extension method for
DotNetBuildSettings - Added support for checkboxes in TeamCity configuration
- Added
GitHubTasks - Added
ProjectModelTasks.CreateSolution - Added
Solution.GetProjectandGetSolutionFolderoverloads viaGuid - Added
TeamCity.NightlyBuildAlwaysproperty - Added detailed null-check for
teamcity.build.branchconfiguration property - Added Coverlet extension methods for
DotNetTesttask - Added
AzurePipelines.PublishCodeCoverage - Added setters for
Projectproperties - Added
Solution.AddSolutionandProjectModelTask.CreateSolutionoverload for creating global solutions - Added path extension methods for
Get(Win|Unix)RelativePathTo,Contains, andTo(Win|Unix)RelativePath - Added
NoFetch,Framework, andUpdateBuildNumberproperties toGitVersionAttribute - Fixed directory creation in bootstrapping scripts
- Fixed artifact paths for TeamCity and Azure Pipelines
- Fixed path separators for AppVeyor and GitHubActions configurations
- Fixed
NSwagto quote tool path - Fixed
SolutionSerializerto handle inconsistent whitespaces - Fixed
NpmCitask to include definite argument - Fixed
VSTestSettings.TestCaseFiltersto be list of strings - Fixed
EnvironmentInfo.FrameworkName - Fixed
cleanCheckoutDirectoryto be set for all TeamCity build types - Fixed
AddTeamCityLoggerextension method - Fixed
buildTypereference in TeamCity build-finished triggers - Fixed
ReportGeneratortask to resolveReportGenerator.dll - Fixed sharing of artifacts between agents
- Fixed
GitVersionSettings.UpdateAssemblyInfoFileNamesto be an array
0.23.7 / 2020-01-28
- Fixed summary alignment for hosts that trim whitespaces
0.23.6 / 2020-01-12
- Fixed
InspectCodeTasksto use new plugin endpoint for downloading - Fixed
AppVeyorOutputSinkto issue a warning when exceeding the default limit of 500 messages
0.23.5 / 2020-01-10
- Fixed CI integrations to use correct warning/error reporting infrastructure
- Fixed TeamCity configuration to use
UTF-8encoding - Fixed process encoding by setting
StandardOutputEncodingandStandardErrorEncodingtoUTF-8 - Fixed solution deserialization for missing configuration section
- Fixed logo spacing
0.23.4 / 2019-11-16
- Fixed assignment for
NuGetAssetsConfigFilewhenBuildProjectDirectoryis null - Fixed
ToolPathResolverto not require framework when only one file matches
0.23.3 / 2019-11-02
- Fixed separator in Azure Pipelines service messages
0.23.2 / 2019-11-02
- Fixed ensuring of existing directory for generation of configuration files
- Fixed packaging of
MSBuildTaskRunnerinNuke.Common
0.23.1 / 2019-11-02
- Fixed checking hashes for non-existing configuration files
- Fixed null-reference exception for commands without message
0.23.0 / 2019-10-31
- Changed target frameworks to
netcoreapp3.0andnet472 - Changed
AzureDevOpstoAzurePipelines - Changed
CheckBuildProjectConfigurationsAttributeto skip dot-prefixed directories - Removed
ProjectFromAttribute - Removed
MSBuildTasks.MSBuildParseProject - Removed
GitVersion.GetNormalizedAssemblyVersionandGetNormalizedFileVersion - Added NuGet package resolution from
project.assets.jsonfile - Added CI interface resolution via
CIAttribute - Added
Bamboointerface - Added
TeamCityImportDotCoverPathAttributeto address version mismatch - Added
GitHubActionsAttributefor configuration generation - Added
AzurePipelinesAttributefor configuration generation - Added
AppVeyorAttributefor configuration generation - Added execution of
dotnet build-server shutdownwhen build has finished - Added
NpmCitask - Fixed
TeamCityparameter dictionaries to use original keys - Fixed NuGet package resolution for project files without
PackageReferenceitems - Fixed code inspections in PowerShell script
- Fixed resolution for legacy package directories
- Fixed generation of
Partitionparameter and script paths - Fixed
ToolPathResolverto support global tool packages - Fixed
ReportGeneratorTasksandGitVersionTasksby providingFrameworkproperty
0.22.2 / 2019-09-29
- Fixed SourceLink integration
0.22.1 / 2019-09-21
- Fixed assertion message for missing packages
0.22.0 / 2019-09-17
- Changed
UnlistedAttributetoListproperty onParameterAttribute - Changed summary to show aborted and not-run targets as warning
- Changed
TeamServicestoAzureDevOps - Changed namespace
Nuke.Common.BuildServerstoNuke.Common.CI.* - Added support for multiple default targets
- Added support for
PackageDownloaditem group - Added support for hyphens in target names
- Added support for absolute paths in
LocalExecutableAttribute - Added support for
GitHubActions - Added TeamCity configuration generation via
TeamCityAttribute - Added XML serialization for .NET Core
- Added reporting of TeamCity statistical values
- Added additional methods for
CloudFoundryTasks - Added
ProjectTypefor Docker and SQL projects - Added implicit cast operator for generated enumerations
- Added
InnoSetupTasks - Added
TwitterTasks - Added
IOnBuildFinishedbuild extension - Added missing arguments for
CoverletTasks - Fixed
--bootin setup for .NET Framework/Mono support - Fixed XML documentation for generated CLI tasks
- Fixed
MSBuildToolPathResolverto consider preview editions - Fixed
NuGetPackageResolverto allow multiple versions of the same package - Fixed
TeamCity.SetParameterandTeamCity.ImportData - Fixed
SolutionSerializerto fall back toProjectConfigurationsection - Fixed
MSBuildLocatorpackage to havevswhere.exeembedded
0.21.2 / 2019-07-28
- Fixed validation to exclude requirements of skipped targets
- Fixed solution serialization to include malicious project GUID in error message
0.21.1 / 2019-07-19
- Fixed logging of warnings
0.21.0 / 2019-07-15
- Changed
ProjectModelTasks.ParseProjectto revertMSBUILD_EXE_PATHenvironment variable - Added
CloudFoundryTasks - Added missing arguments for
SonarScannerTasks - Added missing arguments for
OctopusTasks - Added
Jenkins.BranchNameandJenkins.ChangeId
0.20.1 / 2019-06-02
- Fixed MSBuild evaluation issues by updating NuGet.Packaging to v4.9.2
0.20.0 / 2019-05-29
- Changed
Solution.GetProjectto allow resolution from full path - Changed HTML execution plan to be shown left-to-right
- Added
Whenoverload for combinatorial settings - Added
Project.GetOutputTypemethod for convenience - Added
GlobbingOptionsAttributefor configuration of case-sensitivity - Fixed casing of
NuGet.exe - Fixed
TeamServicesto resolveBuildNumberasstring
0.19.2 / 2019-05-10
- Fixed
ProjectModelTasksto use existingMSBUILD_EXE_PATHvalue - Fixed
ParameterServiceto consider nullable enum types in value set calculation - Fixed compile errors in build template
0.19.1 / 2019-05-03
- Fixed
RequirementServiceto check forInjectionAttributeBase
0.19.0 / 2019-05-03
- Changed MSBuild targets to be invoked with
Exectask - Changed
ProcessTasksto avoid Mono when using WSL - Added output for non-default working directories
- Added
GitVersion.VersionSourceSha - Added
ReportTypes.TeamCitySummary - Fixed parameter resolution to handle hyphens
- Fixed MSBuild resolution for Visual Studio 2019
- Fixed issues when build has no default target defined
0.18.0 / 2019-03-24
- Changed
ParameterServiceto strip dashes when resolving value - Changed formatting of skip reason
- Added
CompressionTasks - Added
EntityFrameworkTasks - Fixed
UnityTasks.UnityPathfor Windows - Fixed
SystemColorOutputSinkto print warning and error details - Fixed
SonarScannerTasksto also resolve from netstandard package
0.17.7 / 2019-03-12
- Fixed
SystemColorOutputSinkto setForegroundColor
0.17.6 / 2019-03-04
- Fixed
RequirementServiceto check forParameterAttributewhen injecting values interactively
0.17.5 / 2019-03-03
- Fixed
GlobDirectoriesandGlobFilesto not collect items lazily
0.17.4 / 2019-03-02
- Fixed bootstrapping script to not set
NUGET_XMLDOC_MODE
0.17.3 / 2019-02-27
- Fixed documentation file generation
- Fixed
CheckBuildProjectConfigurationsAttribute.Timeoutto be settable
0.17.2 / 2019-02-24
- Fixed parsing of changelog
0.17.1 / 2019-02-23
- Fixed attributes in build tasks
0.17.0 / 2019-02-23
- Removed collection-based tasks in
FileSystemTasks - Changed
ContinueOnFailuretoProceedAfterFailure - Changed summary output to not include collective targets
- Added
logInvocationparameter andToolSettings.LogInvocationproperty - Added interactive parameter resolution
- Added
RequiredAttributefor globally required parameters - Added skip reason to summary
- Added
FileGlobbingAttributeandDirectoryGlobbingAttribute - Added
GetProperty<T>,GetItems<T>, andGetItemMetadata<T>asProjectExtensions - Added
Unlistedfor target declarations - Added
ToolResolverfor custom delegate resolution - Added
DotNetToolInstall,DotNetToolUninstall, andDotNetToolUpdate - Added
UnsetVisualStudioEnvironmentVariablesAttribute - Added universal log methods with severity as parameter
- Fixed parameter resolution for value types
- Fixed
AbsolutePathto be serializable - Fixed output for parallel task execution
- Fixed exit code for failing targets using
ProceedAfterFailure - Fixed exception message for circular dependencies
0.16.0 / 2019-01-30
- Changed setting of default working directory for process invocations
- Changed
Logger.LogtoLogger.Normal - Added
NukeBuild.Executeoverload without default target - Added
ContinueOnFailureandAssuredAfterFailureas target definition methods - Added
AbsolutePathextensions forGlobDirectories/Files - Added
AggregateExceptionhandling to show number as prefix when flattening - Added
AnsiColorOutputSinkfor Bitrise, TeamCity, Travis, TeamServices - Added
ProjectModelTasks.ParseProjectbased onMicrosoft.Buildpackages - Added
LocalExecutableAttribute - Added
degreeOfParallelismandcompleteOnFailurefor combinatorial invocations - Added
[Tool]Tasks.[Tool]Loggeras settable field for custom logging - Added
VerbosityMappingAttribute - Added format-property map for CLI tasks
- Fixed
EnsureCleanDirectoryto only clean instead of delete and recreate - Fixed
TeamCityOutputSinkto not report errors as build problems - Fixed
SolutionAttributeto resolve first by constructor argument - Fixed
Xunit2ParallelOptionto use lower-case text
0.15.0 / 2019-01-16
- Changed
OnlyWhentoOnlyWhenStaticandOnlyWhenDynamic - Changed
graphparameter toplan - Added
DependentFor,TriggersandTriggeredByfor target declarations - Added
ToolSettings.CombineWithfor combinatorial invocations - Added several
FileSystemTasksmethods - Added
TemplateUtility.FillTemplateDirectoryandFillTemplateFile - Added highlighting of execution plans in HTML representation
- Added process cancellation handler to always show summary
- Added
NuGetTasksto add, remove, update, enable, disable and list sources - Added
TravisOutputSink - Added path resolution for
VSTestTasks - Added caching of
MSBuildpath inGetMSBuidProject - Fixed
GitRepository.IsOnDevelopBranchto recognizedevelopanddevelopment - Fixed shell-completion for PowerShell
0.14.1 / 2018-12-31
- Fixed package reference versions
- Fixed
SolutionSerializerto handle empty lines
0.14.0 / 2018-12-31
- Removed named target dependencies
- Removed choice of target framework in setup
- Changed setup to write solution file reference to configuration file again
- Added extended solution parsing with integration for
Microsoft.Build - Added
Configurationtype - Added
continueparameter - Added checking for active build project configurations in solution files
- Added highlighting for default target in HTML graph
- Added
SonarScannerTasks - Added
EnvironmentInfo.SwitchWorkingDirectory - Added
SymbolPackageFormatproperty forDotNetTasks,MSBuildTasks, andNuGetTasks - Fixed bootstrapping scripts not to leave DotNet processes behind
- Fixed bootstrapping scripts to correctly quote arguments
- Fixed overload of tool path for .NET Core executables
- Fixed default value not to be hidden by cursor
- Fixed
ToolSettingsExtensions.Whento have generic constraint onToolSettings - Fixed
InspectCodeTasksto use deterministic hashing - Fixed
ChangelogTasksto correctly parse empty sections at end of file - Fixed
InjectionAttributeBaseto express implicit assignment only - Fixed
ExternalFilesTaskto be executed beforeRestoretarget
0.13.0 / 2018-12-10
- Changed verification of PATH environment variable to be executed only with
Tracelog level - Added
ToolSettings.Whenfor conditional fluent modifications - Added
.editorconfigfile in setup to avoid formatting issues - Added
DotMemoryUnitTasks - Added missing properties in
DotNetCleanSettings,DotNetRestoreSettingsandMSBuildSettings.Restore
0.12.4 / 2018-12-02
- Fixed
SolutionAttributeto handle empty configuration file
0.12.3 / 2018-11-29
- Fixed
EnvironmentInfo.Variablesnot to be cached - Fixed
Globpackage reference in legacy template - Fixed error message for unresolvable root directory
- Fixed global tool setup to hide choice of bootstrapping by default
- Fixed
NuGetPackageResolverassertion for dependency resolution
0.12.2 / 2018-11-27
- Fixed globbing related issues
- Fixed shell-completion to not split common names
- Fixed bootstrapping scripts to guard extraction of SDK version
- Fixed help text to be printed before value injection
0.12.1 / 2018-11-24
- Fixed bootstrapping scripts to exit without closing PowerShell
- Fixed expansion for Unix environment variables
- Fixed separator for target parameters
- Fixed
ToolPathResolverto resolve decidedly - Fixed
GitVersionTasksto resolve based onGitVersion.CommandLine.DotNetCorepackage - Fixed
InjectionAttributeBaseto pass build instance - Fixed
ReflectionServiceto be public to allow usage in addons - Fixed
DotNetTasksto exposerestorerelated parameters fortest,build,publish,pack,run
0.12.0 / 2018-11-15
- Changed
NukeBuildproperties to be static - Changed
NukeBuild.RootDirectoryto allow resolution from parameter - Added package resolution for Paket
- Added shell-completion for global tool
- Added parameter resolution for
Enumerationsubclasses - Added
PathExecutableAttributeandPackageExecutableAttributeforTooldelegate resolution - Added
PackPackageToolsTaskfor global tool packaging - Added
MSpecTasks - Fixed bootstrapping scripts to install by channel instead of latest version
- Fixed Glob package version to 0.3.2
- Fixed
Argumentspassing ofsecretparameter
0.11.1 / 2018-10-17
- Security: Updated YamlDotNet version
0.11.0 / 2018-10-11
- Removed deprecated APIs
- Added event methods
OnBuildCreated,OnBuildInitialized,OnBuildFinished,OnTargetStart,OnTargetAbsent,OnTargetSkipped,OnTargetExecutedandOnTargetFailed
0.10.5 / 2018-10-10
- Fixed
--sourceparameter forDotNetRestoreto be collection
0.10.4 / 2018-10-10
- Fixed
GitRepositorywhen origin URL uses SSH without username
0.10.3 / 2018-10-05
- Fixed
WinRelativePathandUnixRelativePathto use correct separator
0.10.2 / 2018-10-04
- Fixed
RequirementServiceto also support shorthand for properties
0.10.1 / 2018-10-02
- Fixed wizard to pass definitions for project file template
- Fixed wizard to create source and tests directory if selected
- Fixed wizard to be disabled for legacy format
0.10.0 / 2018-10-02
- Removed
PathConstruction.GetRootRelativePath - Removed
Licensefrom specification files - Deprecated
NukeBuild.Configurationwhich should belong to user-code - Deprecated plus operator in
PathConstruction.AbsolutePathandRelativePath - Changed
SolutionAttributeto resolve solution file via parameter - Changed CLI wrapper tasks to attempt to resolve tool paths from
[TOOL]_EXEenvironment variable - Added
AbsolutePath.Parentand equality members - Added
TypeConverterforAbsolutePathwhich allows passing paths as parameter - Fixed detection of value types in specification files
- Fixed path variable check to split by specific separator
0.9.1 / 2018-09-26
- Fixed wrong assertions in global tool
0.9.0 / 2018-09-22
- Deprecated properties in
NukeBuildwhich should belong to user-code - Deprecated default settings which should belong to user-code
- Deprecated
DocFxTaskswhich is moved to own package - Added
SpecFlowTasks - Added
NukeBuild.OutputSinkproperty for custom logger implementation - Fixed
MSBuildLocatorandMSBuildToolPathResolverto also consider/usr/local/bin/msbuild
0.8.0 / 2018-09-07
- Changed
ProcessTasksto automatically invoke .NET Core DLLs withdotnet.exe - Added
CoverletTask - Fixed exception in
ChangelogTasks.ReadChangelogwhenvNextsection was empty - Fixed console output to use ASCII instead of Unicode
- Fixed
MSBuildLocatorto use fallbacks when no VS instance with .NET Core is installed
0.7.0 / 2018-08-29
- Changed assertion of
DataClassproperties print out value on failure - Added
SquirrelTasks - Added
UnityTasks - Added tasks to update the changelog and get the latest version to
ChangeLogTasks - Fixed global tool to order solutions descending
- Fixed global tool setup to use correct definitions and error about broken solution
- Fixed validation of requirements of skipped targets
- Fixed double evaluation of conditions with
DependencyBehavior.Skip
0.6.2 / 2018-08-18
- Fixed
MSBuildLocatorto not useSystem.ValueTuple - Fixed typo in
OctopusCreateReleaseSettings - Fixed adaptation of solution file in global tool
- Fixed output of global tool on Windows
0.6.1 / 2018-08-09
- Fixed global tool to have 'same as global tool' as fallback version
- Fixed PowerShell invocation to use
-ExecutionPolicy ByPassand-NoProfile
0.6.0 / 2018-08-05
- Removed setup scripts in favor of
:setupcommand in global tool - Removed
ProcessSettingsin favor of integrating related properties intoToolSettings - Removed deprecated APIs
- Changed tasks with return type to return value tuple
- Changed tasks to redirect output by default
- Added
ITargetDefinition.WhenSkippedto specify dependency behavior for skipped targets - Added
SlackTasksandVSWhereTasks - Added namespace support in
XmlTasks - Added
FileSystemTasksfor deleting, moving, copying and hash calculation - Added support for loading external files
- Fixed various build server properties
- Fixed output color for
Logger.Infoto beConsole.ForegroundColor - Fixed naming of
VSTestTasks - Fixed build script to use VSWhere for locating MSBuild
- Fixed
NuGetPackageResolverto determineglobalPackagesFolderfrom config files - Fixed
Xunit2Settingsto specify framework of console executable - Fixed
DotNetRunSettingsto not quoteApplicationArguments
0.5.3 / 2018-06-12
- Fixed global tool to search build scripts also in current directory
- Fixed generic tasks to not redirect output by default
0.5.2 / 2018-06-11
- Changed build summary to log skipped and absent targets unconditionally
- Added
HttpTasksandFtpTasksfornetstandardtarget framework - Fixed global tool to simply exit if script execution returns non-zero exit codes
- Fixed global tool to search build scripts only within 2-level non-system sub-directories
- Fixed build summary to treat
NotRunas a failure
0.5.0 / 2018-06-05
- Changed build scripts to download .NET Core SDK only if local installation is missing or doesn't match expected version
- Added global tool for setup and build invocation
- Added version logging for PowerShell, Bash, NuGet and DotNet
- Added error output for CLT tasks when redirect output is enabled
- Added
[Tool]Tasks.[Tool](string arguments)for all CLTs - Added support for double-dashed arguments
- Fixed resolution of
Skipparameter when using separators - Fixed font resource resolution for deprecated namespace
- Fixed saving location of build scripts
0.4.0 / 2018-05-02
- Deprecated
Nuke.Corenamespace. All types have been moved toNuke.Common - Changed parameter binding to allow lisp-cased arguments (dashes for camel-humps)
- Changed build execution to automatically unwrap
AggregateExceptionandTargetInvocationException - Changed build server instances to access variables in non-ensured way
- Changed
GitRepository.FromLocalDirectoryto not return null but fail instead - Changed reference from
NuGet.ClienttoNuGet.Packaging - Changed summary output to use
Trace,Error,Successmethods ofLogger - Added integration infrastructure for ReSharper plugin
- Added typo-checking for arguments that should be bound via
ParameterAttribute - Added automatic retrieval of
GitRepositoryAttribute.BranchNamefrom build server instances - Added
Logger.Successmethod - Fixed
GitRepository.ParseUrlto strip username and password - Fixed nullable properties in
TeamServicesandBitrise - Fixed host simulation
- Fixed environment variable parsing when case-insensitive duplicates are found
0.3.1 / 2018-03-26
- Deprecated
Actionusages inDotCoverTasksandOpenCoverTasksin favor ofSetTargetSettings - Added
ProjectModelTaskswith matchingSolutionAttributefor auto-injection - Added
[Tool]Tasks.[Tool]Pathproperty for better accessibility - Added
DotCoverTasksaliases forcover,delete,merge,reportandzip - Added
ArrayExtensionsfor deconstruction - Changed
NukeBuild.Configurationto be overridable but still injectable - Fixed
ProcessManagerto resolvetoolPathfrom environment - Fixed
ProcessManagerto filter executable based on operating system and file extensions - Fixed
DeleteDirectoryfor non-existent sub-directories at time of deletion - Fixed line-endings in setup scripts
0.2.10 / 2018-03-05
- Fixed handling of
Graphswitch - Fixed logging in Nuke.CodeGenerator
- Fixed temporary directory path in setup and bootstrapping scripts
- Fixed
NuGetSettingsto resolve tool path fromNuGet.CommandLinepackage - Fixed
Invoke-WebRequestwhen InternetExplorer's first-launch configuration was not completed - Fixed resolution of relative paths to be minimal
- Fixed
PathConstruction.GetRelativePathto work with Unix paths - Fixed argument formatting for boolean values
- Fixed enumeration of modified collection
0.2.0 / 2018-02-26
- Deprecated
Targetparameter in favor of passing targets as first argument to the bootstrapping scripts - Deprecated
NoDepsparameter in favor of newSkipparameter that takes a separated list - Deprecated
DefaultSettingswhich are now exposed in each task class individually - Changed default values for
AssemblyVersionto{major}.{minor}.0andFileVersionto{major}.{minor}.{patch} - Added possibility to use
ParameterAttributein other injection attributes - Added
GitVersionAttribute.Bumpparameter for bumping major/minor versions - Added
GitVersionAttribute.DisableOnUnixproperty since GitVersion is not working consistently - Added
ChangelogTasks.FinalizeChangelogfor finalizing unpublished changes to a certain version - Added
ChangelogTasks.ExtractChangelogSectionNotesfor extracting release data for a specified tag - Added
NukeBuild.InvokedTargetswhich exposes targets passed from command-line - Added
NukeBuild.ExecutingTargetswhich exposes targets that will be executed - Added
NukeBuild.SkippedTargetswhich exposes targets that will be skipped - Added
GitRepository.IsGitHubRepositoryextension method - Added
GitRepositoryAttribute.BranchandGitRepositoryAttribute.Remoteproperties for pass-through - Added
build.cmdin setup for easier invocation on Windows - Added CLT tasks for Git
- Fixed background color in console output