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
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.TreatControlCAsInputis 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.1were retired from the default on Linux machines where
OpenSSL 1.1and above is used: dotnet/runtime#40746
- This causes
TLS 1.1on Linux machines where
OpenSSL 1.1and above is used.
Engine Updates and Fixes
- Make fixes to
ComInteropcode as suggested by .NET team (#13533)
General Cmdlet Updates and Fixes
- Fix case where exception message contains just
"`n"on Windows (#13684)
CONIN$as reserved device names (#13508) (Thanks @davidreis97!)
ConciseViewfor 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:
Winaero greatly relies on your support. You can help the site keep bringing you interesting and useful content and software by using these options:
If you like this article, please share it using the buttons below. It won't take a lot from you, but it will help us grow. Thanks for your support!