After 6 previews, we’re happy to announce the release of the PowerShell 7 Release Candidate (RC). Whether you’ve been running PowerShell Core since our first alpha releases or you’ve been clinging to Windows PowerShell for backwards compatibility, 7.0 delivers a host of improvements to make your life better.

This is a “go live” release, which means that it is officially supported in production until the release of PowerShell 7 General Availability (GA) next month. (Note: we reserve the right to move this day if any significant issues arise that require us to ship an RC2.) We hope this encourages more folks to use RC with their production workloads so that we can correct any problems before we release GA.

For more detailed information on installing PowerShell 7, check out our installation docs.

Why is PowerShell 7 so awesome?

While we’ll be going into more detail on these new features when we release GA next month, here’s a quick rundown of some of the most exciting stuff we’re delivering in PowerShell 7.

.NET Core 3.1 (LTS)

ForEach-Object -Parallel

Windows compatibility wrapper

New version notification

New error view and Get-Error cmdlet

cmdlet Pipeline chain operators ( && and || )

and ) Ternary operator ( a ? b : c )

) Null assignment and coalescing operators ( ?? and ??= )

and ) Cross-platform Invoke-DscResource (experimental)

(experimental) Out-GridView , -ShowWindow and other legacy GUI cmdlets are back on Windows

, and other legacy GUI cmdlets are back on Windows A ton of awesome quality-of-life improvements too numerous to list out here

For more info on these features and how some of them work, we’ll have release notes available next month. In the meantime, check out these preview blogs that have introduced and highlighted each feature as it was released:

Working with the .NET team

With the 7.0 previews, we’ve worked more closely with the .NET team than ever, not only tracking with .NET Core 3.0 and 3.1 previews, but working hand-in-hand with .NET developers to improve the performance of PowerShell. Compared to years past where moving to versions of .NET could be a troublesome process, moving from .NET Core 2.1 to 3.0 was relatively easy, and the move up to 3.1 was completely painless. We intend to continue taking advantage of new .NET features coming in .NET 5 and beyond that we can use to make PowerShell 7 even better.

And at the request of the .NET team and community, we’ve also worked to include PowerShell as part of the .NET SDK Docker containers, enabling applications developers to write cross-platform build, test, and deployment scripts for their cross-platform .NET applications.

.NET SDK Docker container image

Beginning with .NET Core 3.0, the .NET team began including PowerShell Core in their .NET SDK Docker images. This is great for any .NET Core developers building cross-platform applications, enabling them to write their build, test, and deployment scripts in a single scripting language (PowerShell!), irrespective of platform or whether they’re running locally or in a CI/CD solution like Azure Pipelines.

The .NET Core 3.1 SDK images will be updated with PowerShell 7.0 RC at their next regularly scheduled release, some time in January. Given our intent to synchronize with .NET’s support lifecycle, expect these image updates to continue.

.NET global tool

.NET global tools are an easy way to install special NuGet packages as full-blown applications for users who already have the .NET SDK installed on their machines. Simply run dotnet tool install --global powershell on any OS and you’ll get a pwsh binary to run in your environment. Update to new versions just as easily with dotnet tool update --global powershell .

Our global tool release marks another great interaction with the .NET team: they reached out proactively to ask us to build the package so that we were able drive feedback into the development of global tools as .NET previews were being released.

And as with the SDK container images, the global tool for 7.0 RC is already available. Note that due to the way versioning works in NuGet, you’ll have to use this specific install command until GA is released: dotnet tool install --global PowerShell --version 7.0.0-rc.1 If you’re upgrading from a prior global tool install, use: