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
{{ message }}
Repository navigation
PlatyPS 2f: remove the old platyPS 0.14.2 dependency #153
Part of #120 (Phase 2 — PlatyPS migration, #105). Final link — blocked by every other link in the chain.
Scope
Remove the old platyPS 0.14.2 dependency now that nothing references it.
Drop platyPS = '0.14.2' from requirements.psd1
Grep the repo for lingering references: New-MarkdownHelp, Update-MarkdownHelp, New-ExternalHelp, New-ExternalHelpCab, and the bare module name in docs, comments, and CI config
Confirm a clean-machine build.ps1 -Bootstrap no longer installs it
Why this is its own PR
Keeping removal separate means every earlier link in the chain is revertible in isolation. Once this merges, the 0.14.x escape hatch is gone.
Done when
No reference to the old module remains, CI is green on all legs from a cold bootstrap, and the dependency swap is recorded in docs/migration-v0.8-to-v1.0.md.
Folded into the migration itself. Closing — not done, but no longer an independent route
step.
This ticket assumed the old dependency lingers through the chain and gets removed at the end.
That followed from #149's original premise, that the two modules coexist while the three
functions migrate one at a time. Neither half holds:
platyPS 0.14.2 and Microsoft.PowerShell.PlatyPS 1.x each load their own YamlDotNet.dll
through NestedModules with different assembly identities, so whichever imports second fails
with "Assembly with same name is already loaded" — in either order, on PowerShell 7.
2b changes the on-disk markdown schema that an unmigrated Build-PSBuildMAMLHelp would be
handed, so a half-migrated state is broken regardless of the loader.
The three function migrations are therefore atomic, and with an atomic migration there is never
a window in which both modules are installed-and-needed. The dependency lives in exactly three
places:
requirements.psd1 — platyPS = '0.14.2'
PowerShellBuild.psd1RequiredModules — platyPS, 0.14.1 (consumer-facing; this is the
breaking change that needs the migration-guide entry)
six Get-Module platyPS -ListAvailable PreConditions across psakeFile.ps1 and IB.tasks.ps1
All of them flip in one commit. "Remove the old dependency" is not a step that follows the
migration — it is the migration's dependency swap.
Where that commit sits depends on the still-open route call between one combined pull request
and a stacked integration branch
(options). Under
the combined option it is part of that single pull request. Under the stacked option it is the
first commit on the integration branch, since CI there needs 1.x installed from 2b onward.
Either way it is not a separate route ticket, which is why this closes rather than being
re-scoped.
Carried forward, so nothing is lost:
The RequiredModules swap is a breaking change and needs an entry in docs/migration-v0.8-to-v1.0.md. That obligation now rides with the migration pull request.
Activity
tablackburn commentedon Aug 24, 2026
Folded into the migration itself. Closing — not done, but no longer an independent route
step.
This ticket assumed the old dependency lingers through the chain and gets removed at the end.
That followed from #149's original premise, that the two modules coexist while the three
functions migrate one at a time. Neither half holds:
platyPS0.14.2 andMicrosoft.PowerShell.PlatyPS1.x each load their ownYamlDotNet.dllthrough
NestedModuleswith different assembly identities, so whichever imports second failswith "Assembly with same name is already loaded" — in either order, on PowerShell 7.
Build-PSBuildMAMLHelpwould behanded, so a half-migrated state is broken regardless of the loader.
The three function migrations are therefore atomic, and with an atomic migration there is never
a window in which both modules are installed-and-needed. The dependency lives in exactly three
places:
requirements.psd1—platyPS = '0.14.2'PowerShellBuild.psd1RequiredModules—platyPS, 0.14.1 (consumer-facing; this is thebreaking change that needs the migration-guide entry)
Get-Module platyPS -ListAvailablePreConditions acrosspsakeFile.ps1andIB.tasks.ps1All of them flip in one commit. "Remove the old dependency" is not a step that follows the
migration — it is the migration's dependency swap.
Where that commit sits depends on the still-open route call between one combined pull request
and a stacked integration branch
(options). Under
the combined option it is part of that single pull request. Under the stacked option it is the
first commit on the integration branch, since CI there needs 1.x installed from 2b onward.
Either way it is not a separate route ticket, which is why this closes rather than being
re-scoped.
Carried forward, so nothing is lost:
RequiredModulesswap is a breaking change and needs an entry indocs/migration-v0.8-to-v1.0.md. That obligation now rides with the migration pull request.docs/tree need conversion guidance — that is PlatyPS 2e: document the docs/ schema conversion for consumers #154, which no longerdepends on this ticket.
Reopen if the route call lands somewhere that makes a standalone removal step meaningful again.