Microsoft Releases PowerShell 7.1
PowerShell 7.1, touted by Microsoft as a "major update" to the scripting language, reached general availability this week.
Perhaps the most notable change in PowerShell 7.1 is that it's available for download not just from the GitHub repository, but also from the Microsoft Store, which apparently is a first. Otherwise, Microsoft's did not highlight its new features much, despite describing the release as "major." PowerShell 7.1 mostly brings "additive changes and quality-of-life improvements," and Microsoft's "What's New" document listed just three experimental features, plus multiple cmdlet fixes.
PowerShell 7.1 is based on .NET 5, which also was released this week. In essence, .NET Core is getting replaced by .NET 5, which is touted as offering more extensive platform support for developers than just Windows.
PowerShell 7, delivered by Microsoft back in March, is based on .NET Core 3.1, and is a "long-term service" release that follows the .NET Core 3.1's lifecycle. PowerShell 7 was Microsoft's first stab at delivering a scripting language with support the older Windows PowerShell 5.1, while also moving forward with support for the newer PowerShell Core 6.x technology.
Plenty of PowerShell users may be stuck on Windows PowerShell, but Microsoft has argued that PowerShell 7 ushered in sufficient module support for the older Windows PowerShell that scripters would want to make the switch. PowerShell 7 is notable for being a cross-platform release, as well.
"PowerShell 7 offers cross-platform support on Linux, macOS, and Windows, SSH-based remoting, parallelization, Docker containers, new operators and language features, and a massive long tail of small improvements and bug fixes," the announcement explained.
Oddly, PowerShell users may be surprised to find that PowerShell 7 will be supported by Microsoft for a longer period of time than PowerShell 7.1. It's because PowerShell 7 is a long-term service release under Microsoft's Modern Lifecycle Support policy and based on the lifecycle of .NET Core 3.1. In contrast, PowerShell 7.1 isn't a long-term release version and is based on the lifecycle of .NET 5.
Microsoft estimates that PowerShell 7.1 will reach its end-of-life phase in "mid-February 2022," whereas PowerShell 7 will hit its end on Dec. 3, 2022, according to this support document.
Under the Modern Lifecycle Support policy, software is expected to be kept up to date as a precondition to being under support. Supported software continues to get patches, including security fixes, from Microsoft.
PowerShell 7.1's new features may have seemed slim, but some new capabilities are on the horizon. Microsoft's team is working on a "secrets" (passwords) management capability, for instance, which can be used for "universally accessing and managing secrets across platforms." The team also is modernizing the PowerShellGet module package manager. Also on the horizon is support for "both PowerShell Notebooks in Visual Studio Code and PowerShell Notebooks in .NET Interactive," among other developments.
Kurt Mackie is senior news producer for 1105 Media's Converge360 group.