You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Part of #120 (Phase 3 — API improvements). Follow-up to #155 / #161 / #162.
Question
Before 1.0.0 ships: should RequiredModules in PowerShellBuild.psd1 raise the psake floor
from 4.9.0 to 5.0.4, or stay at 4.9.0?
#162 moved this repository's own build toolchain to psake 5.0.4 and deliberately left the
consumer floor at 4.9.0. That split was the right call for the toolchain change, but it
leaves the module supporting two psake majors indefinitely, and 1.0.0 is the cheapest moment
to change a floor — the hard-cut-plus-migration-guide strategy is already locked in for this
release.
Decision recorded so far: keeping 4.9.0 for now (@tablackburn, 2026-08-22). This ticket
is to assess it properly rather than let the status quo win by default.
Framing that matters
RequiredModules = @{ModuleName = 'psake'; ModuleVersion = '4.9.0'} declares a minimum,
not a pin. Consumers already on psake 5.x satisfy it today. So this is not "can consumers use
psake 5" — they can. Raising the floor is a decision to stop supporting psake 4.x.
Assess
For raising to 5.0.4
One supported psake major means PowerShellBuild/psakeFile.ps1 only has to be correct
against one task-runner API, and the test matrix only has to prove it against one
psake 5 surfaces failures that 4.9.x silently absorbed. The break-escape found in psake 5.x spike: assess breakage under psake 5.0.4 (clean bump, no extras) #155 is
the concrete example: under psake 4 a break escaping a Pester BeforeAll was swallowed,
under psake 5 it fails the build. A consumer on psake 4 has build failures that do not fail
their build
A floor raised at 1.0.0 costs one migration-guide entry; raised at 1.1.0 it costs a major
For staying at 4.9.0
Nothing in the shipped tasks needs psake 5 — the module works under both today
Consumers pin psake in CI. Excluding 4.9.x forces a coordinated upgrade on people whose
builds are working fine
psake 4.9.1 is what most installs have; the adoption curve for 5.x is young
The floor can be raised later in a major without ever having claimed support it did not have
Facts to gather before deciding
psake 5.0.4's own support floor — its PowerShellVersion and CompatiblePSEditions.
PowerShellBuild committed to Windows PowerShell 5.1 (Desktop) in [Tracking] PowerShellBuild v1.0.0 roadmap #120. If psake 5 does not
support Desktop edition, raising the floor contradicts a decision already made and the
assessment ends there
Part of #120 (Phase 3 — API improvements). Follow-up to #155 / #161 / #162.
Question
Before 1.0.0 ships: should
RequiredModulesinPowerShellBuild.psd1raise the psake floorfrom
4.9.0to5.0.4, or stay at4.9.0?#162 moved this repository's own build toolchain to psake 5.0.4 and deliberately left the
consumer floor at
4.9.0. That split was the right call for the toolchain change, but itleaves the module supporting two psake majors indefinitely, and 1.0.0 is the cheapest moment
to change a floor — the hard-cut-plus-migration-guide strategy is already locked in for this
release.
Decision recorded so far: keeping
4.9.0for now (@tablackburn, 2026-08-22). This ticketis to assess it properly rather than let the status quo win by default.
Framing that matters
RequiredModules = @{ModuleName = 'psake'; ModuleVersion = '4.9.0'}declares a minimum,not a pin. Consumers already on psake 5.x satisfy it today. So this is not "can consumers use
psake 5" — they can. Raising the floor is a decision to stop supporting psake 4.x.
Assess
For raising to 5.0.4
PowerShellBuild/psakeFile.ps1only has to be correctagainst one task-runner API, and the test matrix only has to prove it against one
break-escape found in psake 5.x spike: assess breakage under psake 5.0.4 (clean bump, no extras) #155 isthe concrete example: under psake 4 a
breakescaping a PesterBeforeAllwas swallowed,under psake 5 it fails the build. A consumer on psake 4 has build failures that do not fail
their build
For staying at 4.9.0
builds are working fine
Facts to gather before deciding
PowerShellVersionandCompatiblePSEditions.PowerShellBuild committed to Windows PowerShell 5.1 (Desktop) in [Tracking] PowerShellBuild v1.0.0 roadmap #120. If psake 5 does not
support Desktop edition, raising the floor contradicts a decision already made and the
assessment ends there
migration notes reviewed during psake 5.x spike: assess breakage under psake 5.0.4 (clean bump, no extras) #155 are the starting point
PowerShellBuild/psakeFile.ps1has any version-conditional behavior today, orwhether supporting both majors is currently free
real-world breakage a raised floor causes
Done when
The decision is recorded here with its rationale, and:
sequenced before the 1.0.0 release
supported configuration rather than an oversight
Out of scope
is independent of what consumers are required to have
RequiredModulesfloors for BuildHelpers, Pester, or platyPS