PowerShell v7.5.3 and v7.4.12 releases

Two days ago, PowerShell v7.5.3 (Current) and v7.4.12 (LTS) were released. You might not have even noticed it updating in the background because Windows Update did it for you 😉 In this brief blog post, I will list the changes from the release notes and URLs.

What’s new and updated?

Current and Stable? What’s that?

PowerShell follows the Microsoft Modern Lifecycle Policy. Support dates follow the .NET Support Policy. In this servicing approach, customers can choose Long Term Support (LTS) releases or current releases.

An LTS release of PowerShell is built on an LTS release of .NET. Updates to an LTS release only contain critical security updates and servicing fixes that are designed to minimize impact on existing workloads.

current release is a release that occurs between LTS releases. Current releases can contain critical fixes, innovations, and new features. Microsoft supports a current release for six months after the next LTS release.

Both LTS and current versions of PowerShell receive security updates and bug fixes. Microsoft only supports the latest update version of a release.

Source: https://learn.microsoft.com/en-us/powershell/scripting/install/powershell-support-lifecycle?view=powershell-7.5

V7.4.12 (LTS)

Tools

  • Add CodeQL suppressions (#25973)

Build and Packaging Improvements

Update .NET SDK to 8.0.413

  • Add LinuxHost Network configuration to PowerShell Packages pipeline (#26003)
  • Update container images to use mcr.microsoft.com for Linux and Azure Linux (#25987)
  • Update SDK to 8.0.413 (#25993)
  • Make logical template name consistent between pipelines (#25992)
  • Remove AsyncSDL from Pipelines Toggle Official/NonOfficial Runs (#25965)

Documentation and Help Content

  • Update third-party library versions to 8.0.19 for ObjectPool, Windows Compatibility, and System.Drawing.Common (#26001)

Source: https://github.com/powershell/powershell/releases/v7.4.12, more detailed information can be found here: https://learn.microsoft.com/en-us/powershell/scripting/whats-new/what-s-new-in-powershell-74?view=powershell-7.5

v7.5.3 (Current)

General Cmdlet Updates and Fixes

  • Fix Out-GridView by replacing the use of obsolete BinaryFormatter with custom implementation. (#25559)
  • Remove OnDeserialized and Serializable attributes from Microsoft.Management.UI.Internal project (#25831)
  • Make the interface IDeepCloneable internal (#25830)

Tools

  • Add CodeQL suppressions (#25972)

Tests

  • Fix updatable help test for new content (#25944)

Build and Packaging Improvements

Update to .NET SDK 9.0.304

  • Make logical template name consistent between pipelines (#25991)
  • Update container images to use mcr.microsoft.com for Linux and Azure Linux (#25986)
  • Add build to vPack Pipeline (#25975)
  • Remove AsyncSDL from Pipelines Toggle Official/NonOfficial Runs (#25964)
  • Update branch for release (#25942)

Documentation and Help Content

  • Fix typo in CHANGELOG for script filename suggestion (#25963)

Source: https://github.com/powershell/powershell/releases/v7.5.3, more detailed information can be found here: https://learn.microsoft.com/en-us/powershell/scripting/whats-new/what-s-new-in-powershell-75?view=powershell-7.5

How to update

My installation was updated automatically by Windows Update:

So, that was easy 🙂 Other options include using one of the installer files (.rpm, .tar.gz, .pkg, .zip, .msi, .exe, .msixbundle, or .deb) from either https://github.com/powershell/powershell/releases/v7.4.12 (LTS) or https://github.com/powershell/powershell/releases/v7.5.3 (Stable) by expanding the “Assets” section and downloading the installer file for your preferred system.

Why should you update?

Because it’s newer, better, and shiny? 😉 No, because the .NET SDK was updated, fixes were made, bugs were squashed, and it’s good to be up-to-date because of that. But it might break things in cases; for every update, you should check a few of your important scripts to avoid any (production) issues. That and check the Issues here from the last few days, if there was a specific one about the version you are updating to.

But most importantly, check the breaking changes for the releases here:

https://learn.microsoft.com/en-us/powershell/scripting/whats-new/what-s-new-in-powershell-74?view=powershell-7.5#breaking-changes

and

https://learn.microsoft.com/en-us/powershell/scripting/whats-new/what-s-new-in-powershell-75?view=powershell-7.5#breaking-changes

Wrapping up

And that’s all the information about the two new releases (Current and LTS). Have a lovely weekend!

4 thoughts on “PowerShell v7.5.3 and v7.4.12 releases

  1. Hi Harm:

    Using your suggested link (https://github.com/PowerShell/PowerShell/releases/download /v7.5.3/PowerShell-7.5.3-win-x86.msi), I installed PowerShell 7.5.3 in this path (1):
    “C:\Program Files\PowerShell\7\pwsh.exe”

    but I see where I still have the following (older) PowerShells in these paths (2):
    “C:\Users\bromb\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell\Windows PowerShell (x86).lnk”
    and (3):
    “C:\Users\bromb\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell\Windows PowerShell.lnk”

    Items (2) & (3) do not have any entries in the ‘Windows10 Settings|Apps’, so I assume there is no uninstall process other than deleting the directories for (2) & (3).

    question 1: Since (1) is the latest PowerShell release, is it a good idea to delete (2) & (3)?
    question 2: Why is version 5.1.19041.6328 displayed when I enter the $PSversiontable command?:

    Windows PowerShell
    Copyright (C) Microsoft Corporation. All rights reserved.

    Try the new cross-platform PowerShell https://aka.ms/pscore6

    PS C:\Program Files\PowerShell\7> $PSversiontable

    Name Value
    —- —–
    PSVersion 5.1.19041.6328
    PSEdition Desktop
    PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
    BuildVersion 10.0.19041.6328
    CLRVersion 4.0.30319.42000
    WSManStackVersion 3.0
    PSRemotingProtocolVersion 2.3
    SerializationVersion 1.1.0.1

    PS C:\Program Files\PowerShell\7>

    question 3: Finally, I have 2 files named ‘Windows PowerShell ISE (x86)’, both dated 12/6/2019.
    I assume I should delete these as well and download more recent ISE versions?

    Thanks!
    Dan

    1. Windows PowerShell version 5 is seperate from PowerShell version 7. They exist next to each other and Windows PowerShell v5 is a core component of Windows and you should not try to delete it 🙂 (You can’t actually).
      When you run powershell.exe, you start Windows PowerShell version 5. When you run pwsh.exe, you start PowerShell version 7. ($host.version should reflect that when starting either)
      PowerShell ISE is for Windows PowerShell version 5, it’s not for PowerShell version 7 (You should use Visual Studio Code)

      So, in short… Windows PowerShell is version 5 and is installed in Windows by default (For the newer Windows versions, at least) PowerShell is version 7 and is not installed by default and has to be downloaded and installed by yourself. Windows PowerShell ISE is Windows PowerShell, so version 5.

      Hope this helps 🙂

      1. Thanks for the clarification. I’m always looking up to get rid of unnecessary files but won’t do so in this case.

        As always, thanks for your timely replies.
        Dan

This site uses Akismet to reduce spam. Learn how your comment data is processed.