We’re excited to announce the General Availability of PowerShell 7.6, the next Long Term Support (LTS) release of PowerShell. PowerShell 7.6 is built on .NET 10 (LTS), continuing the alignment between PowerShell and the modern .NET platform.
PowerShell 7.6 includes reliability improvements across the engine, modules, and interactive shell experience. Preview releases focused on improving consistency, fixing long-standing issues, and refining behavior across platforms.
Notable areas of improvement include:
- Module updates
- Engine reliability fixes
- Native command handling improvements
- Tab completion consistency improvements
- Dependency updates aligned with .NET 10
As an LTS release, PowerShell 7.6 becomes the recommended version for production automation environments.
Highlights
- PowerShell 7.6 includes updates to several core modules:
- PSReadLine
- Microsoft.PowerShell.PSResourceGet
- Microsoft.PowerShell.ThreadJob
- Dozens of tab completion 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
- Added features to existing commands
- Added
-Delimiterparameter toGet-Clipboard - Added the parameter
Register-ArgumentCompleter -NativeFallbackto support registering a cover-all completer for native commands - Treat
-Targetas literal inNew-Item - Added
-ExcludeModuleparameter toGet-Command - Improved
Start-Process -Waitpolling efficiency
- Added
- Several engine improvements
- Added
PSForEach()andPSWhere()as aliases for the PowerShell intrinsic methodsWhere()andForeach() - Make
SystemPolicypublic APIs visible but no-op on Unix platforms so that they can be included inPowerShellStandard.Library - Update
DnsNameListforX509Certificate2to useX509SubjectAlternativeNameExtension.EnumerateDnsNames()method - Fixed stderr output of console host to respect the
NO_COLORenvironment variable
- Added
- The following features have been converted to mainstream features:
PSFeedbackProviderPSNativeWindowsTildeExpansionPSRedirectToVariablePSSubsystemPluginModel
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.
Community contributions
PowerShell is built by a global community of users and contributors. The following individuals contributed code to the PowerShell 7.6 release:
- @AbishekPonmudi, @ArmaanMcleod, @bdeb1337, @cmkb3, @eltociear
- @fflaten, @fMichaleczek, @GameMicrowave, @iSazonov, @JayBazuzi
- @jborean93, @JustinGrote, @kasperk81, @kborowinski, @kilasuit
- @KyZy7, @MartinGC94, @MatejKafka, @mawosoft, @powercode
- @pressRtowin, @RichardSlater, @rzippo, @sba923, @senerh
- @Tadas, @TheSpyGod, @ThomasNieto, @VbhvGupta, @xtqqczze
We want to thank everyone who filed issues, tested previews, improved docs, and submitted fixes during the PowerShell 7.6 release cycle.
Call to action
Install PowerShell 7.6 now.
For more information, see the following articles:
Looking ahead
We continue to work on future releases of PowerShell. See Steve Lee’s recent blog post about our future plans for PowerShell 7.7 and beyond.
Preview releases will continue to provide early access to new capabilities and improvements.
PowerShell Team
The Install PowerShell on Windows, Linux, and macOS page still references the RC version so download from here instead: https://github.com/PowerShell/PowerShell/releases