PowerShell 7.1, the upcoming version of the cross-platform scripting solution available on Windows, MacOS, and Linux, is getting closer to its release. Today, its Release Candidate version 1 has become available for download.
The preview release of PowerShell 7.1 includes .NET 5 preview 1. Starting with PowerShell 7.0, devs have shifted to align with .NET’s release and support life-cycle more closely. PowerShell 7.1 is expected to become available within a week or two of .NET 5’s release date of winter 2020 and align with their annual release cadence going forward.
Starting with Preview 6, PowerShell 7.1 Preview is available in Microsoft Store.
What's new in PowerShell 7.1 RC 1
Known Issues
This release of PowerShell is impacted by a few known regressions and a by-design breaking change in .NET 5.0.0-rc.1.
Given the impact of these regressions, particularly in interactive scenarios on non-Windows systems, we will only be publishing PowerShell v7.1.0-rc.1 packages for Windows and Linux, skipping macOS until v7.1.0-rc.2 is available with the proper fixes.
- [Regression] The console API
System.Console.TreatControlCAsInput
is backwards on Linux and macOS: dotnet/runtime#42423. The fix was made in .NET 5.0.0-rc.2: dotnet/runtime#42432
- This causes the Ctrl+c to not work in PSReadLine on Linux and macOS.
- [Regression] The console API
System.Console.ReadKey()
incorrectly returns Ctrl+J for ENTER on macOS: dotnet/runtime#42418. The fix was made in .NET 5.0.0-rc.2: dotnet/runtime#42477
- This causes ENTER to not be functional in the PSES integrated console.
- [Regression] Performance regression on Linux and macOS: dotnet/runtime#41739. The fix was made in .NET 5.0.0-rc.2: dotnet/runtime#41820
- This causes potential performance issues on some specific architectures, Linux distros, and macOS. For instance, the command discovery in PowerShell is up to 20x slower on Ubuntu 18.04 WSL 2.
- [By-design breaking change]
TLS 1.0
andTLS 1.1
were retired from the default on Linux machines whereOpenSSL 1.1
and above is used: dotnet/runtime#40746
- This causes
Invoke-WebRequest
andInvoke-RestMethod
to throwAuthenticationException
when usingTLS 1.0
orTLS 1.1
on Linux machines whereOpenSSL 1.1
and above is used.
Engine Updates and Fixes
- Make fixes to
ComInterop
code as suggested by .NET team (#13533)
General Cmdlet Updates and Fixes
- Fix case where exception message contains just
"`n"
on Windows (#13684) - Recognize
CONOUT$
andCONIN$
as reserved device names (#13508) (Thanks @davidreis97!) - Fix
ConciseView
for interactive advanced function when writing error (#13623)
What to expect in PowerShell 7.1
- PowerShellGet 3.0
- Secret Management Module, an extensible abstraction layer in PowerShell for interacting with Secrets and Secrets Vaults, will get Linux support.
- PSScriptAnalyzer 2.0 for better user experience with VSCode-PowerShell and PSEditorServices.
- Improvements made to PowerShell Jupyter Kernel
- Improvements made to platyPS vNext, a PowerShell module that devs currently use to convert PowerShell documentation from markdown to updatable-help.
There are also a number of areas where it is possible to make more improvements and changes, including Installation and Updating, Shell Improvements, Interactive User Experience.
Finally, PowerShell may get a minimal setup, that only includes the parts of PowerShell needed for your scripts. Not only would it take less disk space, but more importantly, a minimal set of code means less patching and security attack surface.
You can download it here:
Download PowerShell 7.1 Preview
Support us
Winaero greatly relies on your support. You can help the site keep bringing you interesting and useful content and software by using these options: