newsfilter.io
Conference Presentation, Keynote

Steve Lee: State of the Shell: PowerShell7

  • Windows PowerShell 5.1 will remain indefinitely with no updates, new features, or version releases (e.g., 5.2, 6, 7), though critical bug fixes will continue until it is eventually superseded.
  • PowerShell Core 6.0 achieved GA in January 2018; the immediate roadmap targets PS7.1 based on .NET 5 and PS7.2 based on .NET 6, with a strategy of aligning releases to the .NET team's every-other-year LTS cadence.
  • General Availability for the next release is targeted for January, following a release process starting in the first week of the current month after a release candidate is issued mid-next week.
  • PowerShell 7 support is projected for three years starting from GA, while PowerShell 6.2 support ends in July after GA, with no current plans to release a PowerShell 8.
  • PowerShell 7 will not ship in-box with Windows due to the three-year .NET Core support lifecycle conflicting with the five-plus-five year Windows support model.
  • Experimental features will be disabled by default in the upcoming release candidate, while specific features like the ternary operator, concise view, and error management are confirmed to become stable.
  • Cross-platform parity efforts are limited; features requiring native APIs like Clear-RecycleBin are unlikely to be ported, while Stop-Computer/Restart-Computer may appear in PS7.1.
  • Startup performance for PowerShell 7 is expected to be 600 to 800 milliseconds, which is slower than the 300 to 400 milliseconds of Windows PowerShell 5.1, with full parity difficult without significant native code.
  • PowerShellGet v3 is a complex rewrite not expected to be ready for a preview until the first quarter of the following year, while PSScriptAnalyzer 2.0 is scheduled for GA in January.
  • SSH remoting is already production-ready and cross-platform, whereas WinRM-based remoting remains partially supported; Azure Functions teams aim to move to PowerShell 7 shortly after the January GA.
  • Debugging in VS Code will likely leverage SSH remoting in the PS7.1 timeframe, while implementing GAC constraints within SSH remains a complex future consideration.
  • Constrained endpoints (GAC) in SSH are considered a very hard problem with no immediate plans, whereas OpenSSH has been production-ready since Windows 1903.
  • Future release automation experiences and conference sessions regarding PowerShell Summit, Europe, and Asia are planned, with specific topics to be finalized as the team moves past the current major release.