-
-
Notifications
You must be signed in to change notification settings - Fork 188
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feedback Request: Dropping Support for PowerShell 5.1 #526
Comments
I totally understand wanting to simplify the target versions of powershell. Certify The Web does currently use (some of) the 5.1 version via net462 and the standard windows powershell functionality but if we have to pin to a certain version of posh-acme that's ok for now. Eventually we'll be on dotnet core for the app (in some form) and increasingly we will be targeting non-windows platforms. |
Are you actually using the separate |
@rmbolger no just |
As you can install PowerShell 6 side by side with the old PS, there is no reason not to install the new one. |
I still depend on PowerShell 5.1 due to a dependency on .NET Framework, but it's a heavy burden to maintain backward compatibility even for a for-profit organization let alone an open-source project. I vote to drop support for 5.1 if it means reduced maintenance effort on your part. The opportunity to drop test automation on Windows, or at least keeping all tests on Linux/Windows on the same pwsh shell is nice. For context, I work for a software company and don't have control over our customer environments. Most of our customers don't use PowerShell so they wouldn't typically have anything newer than 5.1 installed but they would typically be fine with installing it if we asked them to or even added it as a dependency to our software in the future. |
Overview
I'm considering dropping support for PowerShell 5.1 in the next major Posh-ACME version 5.x. Keeping a single code-base that supports both 5.1 and modern 7 versions complicates the code and prevents me from utilizing language and cmdlet features that only exist in modern versions. I don't have the time or inclination to support separate codebases for legacy and modern PowerShell.
The new minimum supported PowerShell version would become whatever the oldest still supported PowerShell "LTS" version happens to be at the time (currently 7.2). It may still work on older versions, I just wouldn't be testing against them.
I'd appreciate constructive feedback for and/or against this idea. I'd also welcome simple votes for or against via 👍/👎 reactions, though votes won't be the ultimate deciding factor. In particular, I'm curious if there are environments you're using Posh-ACME from where PowerShell beyond 5.1 isn't supported at all like Azure Automation runbooks were for a long time.
Also just to be clear, I haven’t really started any sort of real development on 5.x yet. I’m still just conceptually thinking about what it might look like. So this definitely is not an imminent change either way.
PowerShell Version History
Windows PowerShell 5.1 was released in 2016 and is the last version which is built on the Windows-only .NET Framework runtime. While it is still included by default in current versions of both client and server Windows OSes, Microsoft has stated there will be no additional development or improvements to it.
PowerShell Core 6.0 was released in 2018 and is built on the cross-platform .NET Core runtime. Some folks refer to it as "PWSH" because the executable name is
pwsh.exe
rather thanpowershell.exe
. On Windows, it can be installed side-by-side with (now legacy) Windows PowerShell 5.1. But its versions have a much shorter support lifetime than the OS which is also why it is not yet installed by default on any Windows OS version.PowerShell 7.0 released in 2020 and dropped the "Core" moniker from both PowerShell and .NET. It was also the first "LTS" (Long Term Support) release and support ended in 2022.
PowerShell 7.2 released in 2021 and is the oldest still supported LTS release with support ending in 2024. Arguably, it was the first version to gain more significant adoption due to it being updatable on Windows via the OS-native Microsoft Update process and Microsoft App Store.
PowerShell 7.4 released in 2023 and is the current LTS release as of this writing with support ending in 2026.
The text was updated successfully, but these errors were encountered: