Microsoft: PowerShell 7 supports Linux/Windows/MacOs

A week after the release of PowerShell Core 6.2 GA, Microsoft posted a blog post about PowerShell’s next version, PowerShell 7, and explained why it jumped directly from 6.2 to 7. Microsoft announced that the next version will be PowerShell 7, rather than the expected PowerShell Core 6.3, which marks a major change in PowerShell development.

Microsoft hopes that the same version of PowerShell will run on all platforms for better cross-platform compatibility. In addition, Microsoft will adopt a new lifecycle for PowerShell, releasing LTS (Long Term Servicing) and non-LTS version of PowerShell 7, which are closely aligned with the lifecycle of .NET Core support. Microsoft will release PowerShell 7 for Windows users but allows users to switch between PowerShell 5.1 and PowerShell 7.

Image: Microsoft

Microsoft said that the use of PowerShell Core has increased significantly over the past two years. Much of this growth comes from the Linux platform, which is an encouraging piece of data for making PowerShell a cross-platform tool. But at the same time, it’s clear that the usage of the Windows version has not increased significantly, which is a bit surprising for PowerShell, which was first introduced on the Windows platform.

Microsoft said this may be related to the lack of functionality of the version on the Windows platform. Existing Windows PowerShell users cannot take advantage of PowerShell Core’s new features, performance enhancements, and bug fixes due to unsupported modules, assemblies, and APIs. To solve this problem, Microsoft is working hard to completely replace Windows PowerShell 5.1 in the next release.

One of the major tasks of PowerShell 7 is to port the PowerShell Core 6 codebase to .NET Core 3.0, so the release time of PowerShell depends on the integration and validation of PowerShell using .NET Core 3.0.

However, Microsoft said that the first preview of PowerShell 7 may be released in May, and in order to keep PowerShell 7 consistent with the .NET Core timeline, the GA version will be released after the .NET Core 3.0 release of GA.