Invoke-Build Release Notes

v5.5.3

Do not make script parameters named, fix #152

v5.5.2

Add the switch Preserve to Build-Checkpoint #150

v5.5.1

Resolve-MSBuild - allow some spaces in versions #148

v5.5.0

Support MSBuild 16.0 of VS 2019, #146.

v5.4.6

Support remove -Verbose, #147.

v5.4.5

Amend help about Write-Build, #144.

v5.4.4

Fix wrong task info in warning records, #142.

v5.4.3

Save checkpoints after each task and before the first, #140.

Tools

v5.4.2

Tiny internal tweak for Show-BuildGraph.ps1, #137

Show-BuildGraph.ps1, see #136:

v5.4.1

Add help for Set-BuildHeader, Set-BuildFooter.

v5.4.0

v5.3.0

Add the robust helper remove, the alternative to Remove-Item, see #123

Tools

v5.2.1

v5.2.0

Tools

v5.1.1

v5.1.0

New internal tool, #117

New external tool, #116

v5.0.1

Tidy up some check failure errors, #115

Convert FormatTaskName by Convert-psake, #114

v5.0.0

Allow empty lines between synopsis comments and tasks, #111.

Remove actions on dot-sourcing, #112.

Retire obsolete features:

v4.2.0

Preserve attributes of build script parameters, #109.

Amend exit codes on -Safe in cmd: 1 on argument errors, 0 otherwise.

v4.1.2

Add ability to use MSBuild from Visual Studio Preview, #107.

Avoid trailing \r in task synopses extracted from block comments.

Amend the role of Done in custom tasks. It is always called and works as finally for a task. Handlers check for $Task.Error if it matters.

v4.1.1

Improve Result on invalid arguments

Amend Build-Parallel

Tidy up help.

v4.1.0

v4.0.2

Build-Checkpoint should fail if not supported WhatIf is specified.

v4.0.1

v4.0.0

New command Build-Checkpoint replaces Invoke-Build -Checkpoint. If you use persistent builds then change the command and parameters, see #101.

New command Build-Parallel replaces Invoke-Builds (mind "s"). If you use parallel builds then simply rename the command, see #100.

v3.7.2

Normalize, test, and make $BuildRoot constant after loading tasks (#95).

v3.7.1

Invoke-Builds (parallel builds)

v3.7.0

Package the module files together with scripts. As a result, the script package may be used as the module, too. This change does not affect the module package.

Retire Get-BuildVersion. Use (Get-Module InvokeBuild).Version instead. In theory, this change is breaking but it seems the function was not used. The standard module version is used from now on.

v3.6.5

Fix resuming of persistent builds after failures in task -If (#90).

v3.6.4

Support version suffix x86 in use and Resolve-MSBuild (#85).

v3.6.3

Resolve MSBuild 15 to ../amd64/MSBuild.exe on x64 (#84).

v3.6.2

Warn about always skipped double references (#82).

v3.6.1

v3.6.0

Support script block as File (#78).

v3.5.3

Improved product selection logic in Resolve-MSBuild (#77). If you use the module VSSetup make sure it is not too old. It should support -Product *.

v3.5.2

v3.5.1

v3.5.0

See repo/Tasks/Header for examples of Set-BuildHeader and Get-BuildSynopsis.

v3.4.0

New command requires, the alias of Test-BuildAsset (#73).

v3.3.11

Rework engine variables to reduce noise on debugging (#72).

v3.3.10

v3.3.9

Fix incremental tasks on Mono (#69).

v3.3.8

v3.3.7

Improve errors on tasks check failures (#67).

v3.3.6

Retire obsolete events defined as functions, see #66.

v3.3.5

Use less cryptic names for internal functions (#63).

v3.3.4

Adjust property behaviour to PowerShell and MSBuild (#60):

v3.3.3

Resolve-MSBuild supports the BuildTools installation (#57).

v3.3.2

Improve info on typical mistakes:

v3.3.1

Improve errors on invalid script syntax (#56).

v3.3.0

New Resolve-MSBuild.ps1 for finding MSBuild 2.0-15.0, specified or the latest. It may be used directly. Build scripts use it via the alias Resolve-MSBuild. NuGet and PSGallery packages include this script.

The old way use <version> MSBuild is supported and works with all versions. But the new script is used internally, Invoke-Build.ps1 alone is not enough.

v3.2.4

Fix #54, exec should use $global:LastExitCode.

v3.2.3

Use exit /B in ib.cmd (#52).

v3.2.2

v3.2.1

Module help tweaks.

v3.2.0

use: The conventional path VisualStudio\<version> is resolved via the registry to the Visual Studio tools directory (devenv, mstest, tf).

v3.1.0

Event blocks instead of functions, see #36.

v3.0.2

Use exit 0 on success (#34).

v3.0.1

Invoke-Build is cross-platform with PowerShell v6.0.0-alpha.

v3.0.0

Build script parameters are specified as Invoke-Build dynamic parameters. The parameter Parameters was removed. This change is breaking in some cases, see #29.

Avoided cryptic errors on invoking scripts with invalid syntax and on resuming builds with an invalid checkpoint file.

v2 releases

Previous release notes: V2 Release Notes