Microsoft 12048 Published by

PowerShell shipped 7.7.0 and 7.6.10 on November 10, 2026, minutes apart, the very day 7.4 LTS and 7.5 hit end-of-support. 7.7.0 is the new stable line built on .NET 11, while 7.6.10 is a small LTS servicing patch on .NET 10 that stays supported until November 14, 2028. The headline change is New-Guid now emitting time-sortable UUID v7, and the MSI installer is gone in favor of MSIX. Neither release carries a CVE, but admins on 7.4 or 7.5 should migrate now to a supported build.



PowerShell 7.7.0 and 7.6.10 ship the same day 7.4 and 7.5 lose support

PowerShell 7.7.0 and 7.6.10 went live on November 10, 2026. That was also the exact instant PowerShell 7.4 LTS and 7.5 officially stopped being supported, and the timing wasn't a happy accident. The team published both releases with the LTS patch nudging the big new stable build out by a hair.

Keep in mind that neither is an emergency. There's no CVE attached, no security hotfix stamped across it. But admins still running 7.4 or 7.5 effectively woke up on an unsupported build. Both new releases are the immediate landing spots.

Screenshot_from_2026_08_15_09_36_11

PowerShell 7.7.0: the new stable line

PowerShell 7.x runs on a three-track schedule that mirrors .NET's own lifecycle: a current Stable line that keeps getting fresh features, an LTS branch that mostly gets security work, and Preview builds that aren't meant for production. This week's moves landed on two of those tracks at once.

7.7.0 is the new general-purpose stable release, built on .NET 11, and it succeeds the 7.6 LTS branch. 7.6.10 is a servicing patch on the older LTS branch, sitting on .NET 10, and it stays supported until November 14, 2028.

The single biggest shift for scripters is that New-Guid now emits Version 7 UUIDs by default. Those are time-sortable identifiers, and the industry has drifted that way for a while because databases like to sort them cleanly. The text output looks identical to the old Version 4 random GUIDs, so most scripts won't even notice.

But if a script actually depends on randomness, grab [guid]::NewGuid() directly to keep the old behavior. That change is PR #27033, sitting on top of roughly thirty engine and cmdlet additions that accumulated across the preview and release-candidate phases. The final GA was a small delta, honestly, an RC blessed with a SHA-1 warning and some CI housekeeping.

If you want a quotable feature list, anchor on the preview lineage, since Microsoft's own "What's New in 7.7" page still labels itself against preview.5.

The Windows MSI installer is gone for good. Starting with the 7.7 preview line, the old MSI was dropped in favor of MSIX, the Microsoft Store app-package model, and the 7.7 GA ships no Windows MSI at all.

It's not all bad. The deprecation notes (via MVP Harm Veenstra, who covered the rollout) put it plainly: the new format "has its good points but also limits things that were possible before, like remoting and running things as SYSTEM." That tradeoff bites real for shops leaning on SCCM or Intune MSI channels. Keep in mind that 7.6.10 on the LTS branch keeps MSI available on purpose, so the LTS crowd isn't stranded.

A few other breaking changes deserve a look. Passing an empty property list to Format-Table, Format-List, or Format-Custom is now an error. Argument validation throws plain System.ArgumentException instead of the older PSArgumentNullException, so code catching that specific type needs a pass-through. There's also a fix to how Where-Object handles explicit booleans.

On the useful side, 7.7 adds New-TemporaryDirectory for throwaway temp folders, an -Extension parameter on Join-Path, and a ToRegex() method on WildcardPattern that turns wildcards into real regexes. Get-AuthenticodeSignature now surfaces a SubjectAlternativeName property, and there's a new session variable called $PSApplicationOutputEncoding for output encoding control. Modules bundled in this build are Microsoft.PowerShell.PSResourceGet v1.3.0-preview2 and PSReadLine v2.4.5.

PowerShell 7.6.10 and why the timing matters

The 7.6.10 patch is small by design, which is exactly what an LTS point release should be. The previous build sat on .NET SDK 10.0.403; this one moves to 10.0.404. The changes are narrow and deliberate.

The main one is better detection of MSIX (Store) installations. Earlier, PowerShell guessed whether it was running as an MSIX package by inspecting its install path. Now it calls the native GetCurrentPackageFamilyNameNative API and uses the package identity to pick the right execution-alias directory. If Store or MSIX installs have given you PATH headaches at startup, this targets your scenario directly. It leaves MSI, ZIP, and Unix installs alone.

Two smaller changes round it out. Test-Json now returns all validation errors when you use -OutputFormat List, so scripts parsing those errors will see more of them. And a manifest change stops the MSIX package from updating while a pwsh session is running, which matters to machines on automatic Store updates.

Both releases also carry the SHA-1 file catalog warning, which is the one change with a lasting security angle. New-FileCatalog and Test-FileCatalog now nudge you toward -CatalogVersion 2 when you create or validate a legacy SHA-1 catalog, and they keep old catalog support intact so existing files still validate. Microsoft is nudging the ecosystem off SHA-1 without bricking anyone's door. SHA-1 has been dying for years at this point, NIST stopped approving it for certificate signing back in 2013, and browsers killed it well before that, so this warning is more formality than surprise.

One thing to bake into any automation: the warning string got edited mid-release, and an early draft said "SHA0." Don't script-match the exact text.

There's broader context too. A Tenable/Nessus plugin from August 2026 (ID 335413) flagged vulnerabilities across 7.4 builds below 7.4.19 and 7.5 builds below 7.5.10. That predates this week's releases, but it drives the point home: once 7.4 and 7.5 are EOL, the sensible move is to be on a supported build.

Here's the calendar that makes this a story at all. 7.4 LTS dropped November 16, 2023, with support ending today. 7.5 came out January 23, 2025, also expiring today. 7.6 LTS (March 18, 2026) runs until November 14, 2028, and 7.7 just started.

Microsoft's lifecycle language is blunt about the end of the line: "after a version reaches end-of-life, no further updates are provided, including security updates." They still run, obviously. They just stop being anyone's responsibility.

There's also a rule that trips people up: "Microsoft only supports the latest update version of a release." So if you're on 7.6.9 or earlier, you're technically one build behind even on the LTS line, despite it being a quiet patch.

Notably, Windows PowerShell 5.1 isn't touched. It rides the Windows OS lifecycle rather than the 7.x schedule, and 5.1 and 7.x can coexist on the same machine if you let them.

What to do about it

If you're still on 7.4 or 7.5, start with an inventory across your Windows, Linux, and macOS boxes. $PSVersionTable.PSVersion gives you the version everywhere. Then pick your path: 7.6 LTS for a stable runway into 2028, or 7.7 if you want the latest features on .NET 11.

Verify scripts against the 7.7 breaking changes before a broad rollout, especially anything around New-Guid or catching old exception types. Module signers should regenerate catalogs with -CatalogVersion 2 and re-sign downstream artifacts. And if you deploy via MSI on Windows, validate your Intune or SCCM model against the MSIX packaging before pushing 7.7 onto managed fleets.

Every release publishes a SHA-256 hash for each asset, so compare after downloading. Run Get-FileHash .\PowerShell-7.6.10-win-x64.zip -Algorithm SHA256 and check it against the GitHub release page. Prefer self-contained packages over the framework-dependent ones unless you already have a matching .NET runtime installed.

Both builds are cross-platform across Windows, Linux, and macOS, covering x64, x86, ARM32, and ARM64. 7.7.0 ships 26 assets with no MSI, while 7.6.10 ships 39, including the powershell-lts-* variants and the MSI, because Microsoft keeps the LTS installer available on purpose.

Release v7.7.0 Release of PowerShell · PowerShell/PowerShell

7.7.0 General Cmdlet Updates and Fixes Add warning for SHA-1 File Catalog (#28358) Tests Fix the regex in ConsoleHost.Tests.ps1 used to verify help content (#28365) Pin Linux image version to Ub...

Release v7.7.0 Release of PowerShell · PowerShell/PowerShell

Release v7.6.10 Release of PowerShell · PowerShell/PowerShell

7.6.10 General Cmdlet Updates and Fixes Use GetCurrentPackageFamilyNameNative API instead of path matching to detect MSIX installation (#28313) Add warning for SHA-1 File Catalog (#28311) Ensure a...

Release v7.6.10 Release of PowerShell · PowerShell/PowerShell