Breaking changes
Runner images affected
| Image |
Previous version |
New version |
ubuntu-22.04 |
7.4.x |
7.6.x |
ubuntu-24.04 |
7.4.x |
7.6.x |
ubuntu-26.04 |
7.6.x |
7.6.x (no change) |
ubuntu-slim |
7.5.x |
7.6.x |
macos-14 |
7.4.x |
7.6.x |
macos-15 |
7.4.x |
7.6.x |
macos-26 |
7.4.x |
7.6.x |
windows-2022 |
7.4.x |
7.6.x |
windows-2025 |
7.4.x |
7.6.x |
windows-2025-vs2026 |
7.4.x |
7.6.x |
windows-11-arm64 |
7.4.x |
7.6.x |
windows-11-vs2026-arm64 |
7.4.x |
7.6.x |
PowerShell will be updated from 7.4.x to 7.6.x on all runner images. PowerShell 7.4 reaches end of support on November 18, 2026, while 7.6 is the latest LTS release based on .NET 10, carrying 3 years of support. See the PowerShell support lifecycle.
This is a major.minor version upgrade (7.4 → 7.6) and contains the following breaking changes:
- The
Microsoft.PowerShell.ThreadJob module replaces the ThreadJob module. The Start-ThreadJob cmdlet hasn't changed, but if your scripts use the module-qualified name ThreadJob\Start-ThreadJob, update it to Microsoft.PowerShell.ThreadJob\Start-ThreadJob.
WildcardPattern.Escape now correctly escapes lone backticks (#25211)
- The
-ChildPath parameter of Join-Path is now string[] instead of string (#24677)
- Trailing space removed from event source name (#24192)
For full details, see the PowerShell 7.6 release notes and changelog.
Target date
This change will be rolled out beginning June 8, 2026 and will complete by June 15, 2026.
The motivation for the changes
PowerShell 7.6 is the latest LTS release, based on .NET 10. It replaces 7.4 as the recommended production version. Key benefits include:
- Based on .NET 10 with performance improvements
- New features and cmdlet enhancements
- 3 years of LTS support (until 2029)
- Security fixes and improvements not available in 7.4
Possible impact
Workflows that use pwsh may be affected by behavioral changes between 7.4 and 7.6. The breaking changes are minor:
- Scripts using the module-qualified name
ThreadJob\Start-ThreadJob will break — update to Microsoft.PowerShell.ThreadJob\Start-ThreadJob
Join-Path -ChildPath now accepts string[] — unlikely to break existing scripts but changes the parameter binding behavior
WildcardPattern.Escape now escapes lone backticks — scripts relying on the old (incorrect) behavior may need adjustment
- Event source name no longer has a trailing space — scripts matching exact event source names may need updating
Additionally, PowerShell 7.6 is built on .NET 10 (7.4 was on .NET 8). Scripts that rely on specific .NET runtime behavior may be affected.
You can review the PowerShell 7.6 release notes and update your scripts to be compatible with 7.6.
Platforms affected
Runner images affected
Mitigation ways
Update your scripts to comply with 7.6
Breaking changes
Runner images affected
ubuntu-22.04ubuntu-24.04ubuntu-26.04ubuntu-slimmacos-14macos-15macos-26windows-2022windows-2025windows-2025-vs2026windows-11-arm64windows-11-vs2026-arm64PowerShell will be updated from 7.4.x to 7.6.x on all runner images. PowerShell 7.4 reaches end of support on November 18, 2026, while 7.6 is the latest LTS release based on .NET 10, carrying 3 years of support. See the PowerShell support lifecycle.
This is a major.minor version upgrade (7.4 → 7.6) and contains the following breaking changes:
Microsoft.PowerShell.ThreadJobmodule replaces theThreadJobmodule. TheStart-ThreadJobcmdlet hasn't changed, but if your scripts use the module-qualified nameThreadJob\Start-ThreadJob, update it toMicrosoft.PowerShell.ThreadJob\Start-ThreadJob.WildcardPattern.Escapenow correctly escapes lone backticks (#25211)-ChildPathparameter ofJoin-Pathis nowstring[]instead ofstring(#24677)For full details, see the PowerShell 7.6 release notes and changelog.
Target date
This change will be rolled out beginning June 8, 2026 and will complete by June 15, 2026.
The motivation for the changes
PowerShell 7.6 is the latest LTS release, based on .NET 10. It replaces 7.4 as the recommended production version. Key benefits include:
Possible impact
Workflows that use
pwshmay be affected by behavioral changes between 7.4 and 7.6. The breaking changes are minor:ThreadJob\Start-ThreadJobwill break — update toMicrosoft.PowerShell.ThreadJob\Start-ThreadJobJoin-Path -ChildPathnow acceptsstring[]— unlikely to break existing scripts but changes the parameter binding behaviorWildcardPattern.Escapenow escapes lone backticks — scripts relying on the old (incorrect) behavior may need adjustmentAdditionally, PowerShell 7.6 is built on .NET 10 (7.4 was on .NET 8). Scripts that rely on specific .NET runtime behavior may be affected.
You can review the PowerShell 7.6 release notes and update your scripts to be compatible with 7.6.
Platforms affected
Runner images affected
Mitigation ways
Update your scripts to comply with 7.6