Two days ago, the new LTS version of PowerShell, 7.6, was released. In this short blog post, I will highlight its key features and improvements.

What’s LTS?
“Long Term Servicing (LTS) release – An LTS release of PowerShell is an LTS release of .NET. Updates to an LTS release only contain critical security updates and servicing fixes that are designed to minimize impact on existing workloads. The current LTS release is PowerShell v7.6.0. The previous LTS release, PowerShell v7.4.14, is still supported until 10-Nov-2026.”
Why should you care?
The current LTS will be supported until November 10, 2026. While this might seem far away, time flies, and why not update on time? 😉
What’s new?
The most notable improvements are:
- Core Module updates:
– PSReadLine
– Microsoft.PowerShell.PSResourceGet
– Microsoft.PowerShell.ThreadJob - Engine reliability fixes
– AddedPSForEach()andPSWhere()as aliases for the PowerShell intrinsic methodsWhere()andForeach()
– MakeSystemPolicypublic APIs visible but no-op on Unix platforms, so that they can be included inPowerShellStandard.Library
– UpdateDnsNameListforX509Certificate2to useX509SubjectAlternativeNameExtension.EnumerateDnsNames()method
– Fixed stderr output of console host to respect theNO_COLORenvironment variable - Native command handling improvements
- Tab completion consistency improvements
– Improved path completion across providers
– Added value completion for parameters of several cmdlets
– Enabled completes in more contexts and scopes
– Added completion of modules by their shortname - Dependency updates aligned with .NET 10
- Added features to existing commands
– Added -Delimiter parameter to Get-Clipboard
– Added the parameter Register-ArgumentCompleter -NativeFallback to support registering a cover-all completer for native commands
– Treat -Target as literal in New-Item
– Added -ExcludeModule parameter to Get-Command
– Improved Start-Process -Wait polling efficiency - The following features have been converted to mainstream features:
– PSFeedbackProvider
– PSNativeWindowsTildeExpansion
– PSRedirectToVariable
– PSSubsystemPluginModel
Breaking changes
PowerShell 7.6 includes a small number of breaking changes intended to improve long-term consistency.
- Converted
-ChildPathparameter tostring[]forJoin-Pathcmdlet. Allows user to give an array of child paths and avoid the extra usage with-AdditionalChildPath. WildcardPattern.Escape()now correctly escapes lone backticks.- Removed the trailing space from the
GetHelpCommandtrace source name.
Call to action and more information
Install PowerShell 7.6 now 🙂 For more information, see the following articles:
Future plans
Check this blog post for information on upcoming PowerShell versions, including v7.7 and beyond.
Wrapping up
And that’s all about the new LTS build of PowerShell, install now 🙂 I’m getting ready for my flight this weekend to Microsoft for the MVP Summit, can’t wait to see everyone again there and nerd out for a week. Have a lovely weekend!