PowerShell Preview v7.7.0-rc.1 Release

Today, Microsoft released Release Candidate 1 of PowerShell Preview v7.7. In this small blog post, I will show you the updates and how to install it.

What is PowerShell Preview?

It includes all the new features that will be available to everyone in the next GA (General Availability) version. The current versions are shown below:

And yes, November 10th is the End-of-support date for PowerShell v7.5 😉 (And also v7.4, but that was already replaced by v7.6)

What’s in Release Candidate 1?

General Cmdlet Updates and Fixes

  • Fix Clear-Host for remote Windows session from a non-Windows platform (#28116) (Thanks Jordan Borean (@jborean93)!)
  • Remove the Update Notification feature from PowerShell (#28242)
  • Protect property assignment on non-core objects to NoteProperty members in Constrained Language Mode (#28206)
  • Bind Hyper-V socket server V2 to the selected partition VM ID (#28204)
  • Protect ForEach() property assignment on non-core types in Constrained Language Mode (#28207)
  • Require -FetchExternalReference to resolve external Test-Json schema references (#28205)
  • Apply implicit-remoting command protections to resolved aliases (#28208)
  • Validate updatable-help CAB extraction and limit module names to 128 characters (#28203)
  • Honor -Recurse when Get-ChildItem uses -Name (#28078)
  • Fix Resolve-Path -Relative output for dot-prefixed names (#28087)
  • Treat StringCollection as a list collection with the String element type (#28141)
  • Fix duplicate results from Get-Command fuzzy matching (#28042)
  • Avoid extra SMB queries when formatting file names (#28038)
  • Use GetCurrentPackageFamilyNameNative API instead of path matching to detect MSIX installation (#28029)
  • Replace the deprecated X509Certificate2 constructor with X509CertificateLoader.LoadCertificate (#27965)
  • Protect the fallback temporary home directory by enforcing and checking its file mode on Unix platforms (#27985)

Code Cleanup

We thank the following contributors!

xtqqczze

  • Remove the redundant #if UNIX check from the Unix only code (#28120)
  • Update HelpersRemoting.psm1‎ to handle an exception better (#27903) (Thanks xtqqczze!)

Tests

  • Fix the PATH test for MSIX installed PowerShell (#28068)

Build and Packaging Improvements

Update to .NET SDK 11.0.100-rc.3.26522.148

Update Microsoft.PowerShell.PSResourceGet to 1.3.0-rc1

We thank the following contributors!

Andree Renneus (@trackd), 吴旭云 (@yuunnn)

  • Stop enforcing invariant culture in build pipelines (#28260)
  • Update metadata.json for PowerShell releases (#28259)
  • Localized file check-in by OneLocBuild Task: Build definition ID 13420: Build ID 2776911 (#28254)
  • Localized file check-in by OneLocBuild Task: Build definition ID 13420: Build ID 2776908 (#28253)
  • Localized file check-in by OneLocBuild Task: Build definition ID 13420: Build ID 2774633 (#28250)
  • Update metadata.json for v7.6.8 release (#28248)
  • Localized file check-in by OneLocBuild Task: Build definition ID 13420: Build ID 2773072 (#28247)
  • Localized file check-in by OneLocBuild Task: Build definition ID 13420: Build ID 2771893 (#28244)
  • Update Microsoft.PowerShell.PSResourceGet to version 1.3.0-rc1 (#28243)
  • Remove unused ‘pull-requests: read’ permission from the labels workflow (#28241) (Thanks 吴旭云 (@yuunnn)!)
  • Localized file check-in by OneLocBuild Task: Build definition ID 13420: Build ID 2770454 (#28227)
  • Move Store version metadata to the English description (#28211)
  • Fix the package version in TestService.csproj‎ to unblock CI (#28209)
  • Update stable and LTS release tags to v7.6.7 (#28193)
  • Move to the latest Microsoft.PowerShell.Native package and add test (#28173)
  • Update Microsoft.PowerShell.Native package version (#28168)
  • Add native Azure Linux 4 RPM packaging (#28107)
  • Bump CodeQL init and analyze actions to 4.38.2 (#28123)
  • Bump CodeQL init and analyze actions to 4.38.1 (#28121)
  • Localized file check-in by OneLocBuild Task: Build definition ID 13420: Build ID 2741383 (#28093)
  • Update preview and next release tags in metadata.json (#28089) (Thanks Andree Renneus (@trackd)!)
  • Localized file check-in by OneLocBuild Task: Build definition ID 13420: Build ID 2734773 (#28060)
  • Publish Azure Linux 4 packages to preview PMC (#28074)
  • Bump actions/upload-artifact from 7.0.1 to 7.0.2 (#28189)
  • Bump github/codeql-action/upload-sarif from 4.36.0 to 4.38.3 (#28188)
  • Bump ossf/scorecard-action from 2.4.3 to 2.5.0 (#28202)
  • Bump actions/checkout from 6.0.2 to 7.0.1 (#28053)
  • Bump PowerShell/compliance/.github/workflows/ready-to-merge.yml from 1.0.0 to 1.0.1 (#27338)
  • Bump github/codeql-action/init from 4.38.2 to 4.38.3 (#28210)
  • Bump actions/setup-dotnet from 5.3.0 to 6.0.0 (#28056)

How to install

You can install the Preview release alongside your GA or LTS release.

Mac

You can install it on your Mac using:

brew install --cask powershell@preview

After installation, you can use pwsh-preview to start:

Installers

You can download the installer from the Assets list here: https://github.com/PowerShell/PowerShell/releases/tag/v7.7.0-rc.1#:~:text=2%20other%20contributors-,Assets,-26. There are installers for Linux (ARM32/ARM64/x64), OSX, Windows ARM64, Windows X64/x86 in rpm, deb, msix, pkg, tar.gz formats.

WinGet

You can install the new Preview version using the WinGet command line by running:

winget install --id Microsoft.PowerShell.Preview --source winget

After installation, you can select it from your Windows Terminal Dropdown or by running pwsh-preview from the command line.

Note: It wasn’t available yet from the WinGet repository at the time of writing; v7.7.0-preview 5 was installed when running the winget command line as above.

Wrapping up

And that’s it, almost time for the final release (At least, according to the support schedule 😉 ). Have a lovely weekend!

2 thoughts on “PowerShell Preview v7.7.0-rc.1 Release”

  1. The FetchExternalReference flag on Test-Json cmdlet is something to look very careful on, for those using it.

    In my system, some of my schemas use:
    “$schema”: “https://json-schema.org/draft-07/schema#”

    in their definitions, which means are considered external, and will error with the newer PS version if you do not pass -FetchExternalReference flag.

    Be sure to also adjust any pester tests / mockup functions

Leave a Reply

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