7.7.0-preview.1
Breaking Changes
- Add
ValidateNotNullOrEmptyattribute to the-PropertyofFormat-Table/List/Custom(#26552) - Fix to use accurate message for validating a string argument is not null and not an empty string (#26668)
- Correct handling of explicit
-[Operator]:$falseparameter values inWhere-Object(#26485) (Thanks @yotsuda!)
Engine Updates and Fixes
- Update
MaxVisitCountandMaxHashtableKeyCountifVisitorSafeValueContextindicatesSkipLimitCheckis true
(#27308) - Enable usage in AppContainers (#27305)
- Delay update notification for one week to ensure all packages become available (#27095)
- Fix up default value for parameters with the
inmodifier (#26785) (Thanks @jborean93!) - Fix
WSManInstanceCOM interface withResourceURI(#26692) (Thanks @jborean93!) - Refactor the module path construction code to make it more robust and easier to maintain (#26565)
- Fix checks for local user config file paths (#26269)
General Cmdlet Updates and Fixes
- Add verbose message to
Get-Servicewhen properties cannot be returned (#27109) (Thanks @reabr!) - Fix
Remove-Itemconfirmation message to use provider path instead (#27123) (Thanks @scuzqy!) - PSStyle: validate background index against
BackgroundColorMap(#27106) (Thanks @cuiweixie!) - Update PowerShell Profile DSC resource manifests to allow null for content (#26929)
- Add
SubjectAlternativeNameproperty to theSignatureobject returned fromGet-AuthenticodeSignature(#26252) - Mark
-NoTypeInformationas obsolete no-op and evaluate-IncludeTypeInformationon by value on Csv cmdlets (#26719) (Thanks @yotsuda!) - Support
TargetObjectposition inParserErrors(#26649) (Thanks @jborean93!) - Fix the CLR internal error and null ref exception when running
show-commandwith PowerShell API (#26669) - Fix
Test-Jsonfalse positive errors when usingoneOforanyOfin schema (#26618) (Thanks @yotsuda!) - Add
ToRegexmethod toWildcardPatternclass (#26515) (Thanks @yotsuda!) - Add
-ExcludePropertyparameter toFormat-*cmdlets (#26514) (Thanks @yotsuda!) - Fix NOTES section formatting in comment-based help (#26512) (Thanks @yotsuda!)
- Disable AMSI content logging in release (#26235) (Thanks @xtqqczze!)
- Add tab completion for
$PSBoundParameters.Keysswitch cases and access patterns (#26483) (Thanks @yotsuda!) - Fix formatting to properly handle the
ResetVT sequences that appear in the middle of a string (#26424) - Add
-Extensionparameter toJoin-Pathcmdlet (#26482) (Thanks @yotsuda!) - Make
Export-Csv-Appendand-NoHeadermutually exclusive (#26472) (Thanks @yotsuda!) - Respect
-Qualifier/-NoQualifier/-Leaf/-IsAbsolute:$falseinSplit-Path(#26474) (Thanks @yotsuda!) - Respect
-UseWindowsPowerShell:$falseinNew-PSSession(#26469) (Thanks @yotsuda!) - Respect
-Repeat/-MtuSize/-Traceroute:$falseinTest-Connection(#26479) (Thanks @yotsuda!) - Fix
Invoke-RestMethodto support read-only files in multipart form data (#26454) (Thanks @yotsuda!) - Respect
-ListAvailable:$falseinGet-TimeZone(#26463) (Thanks @yotsuda!) - Respect
-Shuffle:$falseinGet-SecureRandom(#26460) (Thanks @yotsuda!) - Respect
-Shuffle:$falseinGet-Random(#26457) (Thanks @yotsuda!) - DSC v3 resource for Powershell Profile (#26157)
- Make the experimental feature
PSFeedbackProviderstable (#26343) - Make some experimental features stable (#26348)
- Add
PSApplicationOutputEncodingvariable (#21219) (Thanks @jborean93!) - Dynamically evaluate width of
LastWriteTimefor formatting output on Unix (#24624) (Thanks @MathiasMagnus!) - Handle null reference exception in CsvCommands.cs:
ConvertPSObjectToCSV(#26144) (Thanks @mikkas456!) - Improve
ValidateLengtherror message consistency and refactor validation tests (#25806) (Thanks @jorgeasaurus!) - Correct handling of explicit
-Since:$falseparameter value inGet-Uptime(#26141) (Thanks @logiclrd!) - Add property and event for debug attach (#25788) (Thanks @jborean93!)
- Fix memory leak in
GetFileShares(#25896) (Thanks @xtqqczze!) - Correct handling of explicit
-Empty:$falseparameter value inNew-Guid(#26140) (Thanks @logiclrd!)
Code Cleanup
We thank the following contributors!
- Fix
IDisposableimplementation in sealed classes (#26215) (Thanks @xtqqczze!) - Enable CA1852: Seal internal types (#25890) (Thanks @xtqqczze!)
- Remove obsolete
CA2006rule suppression (#25939) (Thanks @xtqqczze!) - Use consistent indentation in the file
HelpersCommon.psm1(#26608) - Centralize
ExcludePropertyfilter application inViewGeneratorbase class (#26574) (Thanks @yotsuda!) - Refactor
IsComputerNameValidcharacter validation (#26274) (Thanks @xtqqczze!) - Remove obsolete test/docker/networktest directory (#26388)
- Avoid regex for exact word matching in
DscClassCache(#26306) (Thanks @xtqqczze!) - Enable analyzers: Use char overload (#26301) (Thanks @xtqqczze!)
- Enable CA1200: Avoid using cref tags with a prefix (#26298) (Thanks @xtqqczze!)
- Remove unused timeout variable from
RemoteHyperVTestsclass (#26297) (Thanks @xtqqczze!) - Enable CA2022: Avoid inexact read with
Stream.Read(#25814) (Thanks @xtqqczze!) - Fix a few simple typos in comments and string outputs (#25805) (Thanks @ThioJoe!)
- Remove unused Azure Devops windows CI workflows (#26245)
- Fix CA1837: Use
Environment.ProcessId(#26242) (Thanks @xtqqczze!) - Enable IDE0080: RemoveConfusingSuppressionForIsExpression (#26206) (Thanks @xtqqczze!)
- Remove redundant
CharSetfromStructLayoutattributes. Part 1 (#26216) (Thanks @xtqqczze!) - Fix IDE0083: UseNotPattern (#26213) (Thanks @xtqqczze!)
- Fix
IDE0049forstringinSystem.Management.Automation(#25921) (Thanks @xtqqczze!) - Fix
IDE0049forobjectinSystem.Management.Automation. Part 1 (#25923) (Thanks @xtqqczze!) - Replace stackallocs with collection expressions (#25803) (Thanks @xtqqczze!)
- Capitalize Windows in
PSNativeWindowsTildeExpansionexperimental feature description (#25266) (Thanks @rwp0!) - Fix
SA1028: Code should not contain trailing whitespace. Part 1. (#26203) (Thanks @xtqqczze!) - Fix IDE0083: UseNotPattern (#26209) (Thanks @xtqqczze!)
- Fix CA1852: Seal internal types. Part 1 (#26205) (Thanks @xtqqczze!)
- Enable IDE0019: InlineAsTypeCheck (#25920) (Thanks @xtqqczze!)
- Fix mismatched indentation in
.config/suppress.json(#26192) (Thanks @xtqqczze!) - Replace custom method with
File.ReadAllText()in ScriptAnalysis.cs (#26060) (Thanks @amritanand-py!) - Avoid possible multiple enumerations in
ImportModuleCommand.IsPs1xmlFileHelper_IsPresentInEntries(#26104) (Thanks @xtqqczze!) - Enable
SA1206: Declaration keywords should follow order (#24973) (Thanks @xtqqczze!) - Disable IDE0049: PreferBuiltInOrFrameworkType (#26094) (Thanks @xtqqczze!)
- Enable CA1853: Unnecessary call to
Dictionary.ContainsKey(key)(#26106) (Thanks @xtqqczze!) - Enable CA1860: Avoid using
Enumerable.Any()extension method (#26109) (Thanks @xtqqczze!) - Enable CA1858: Use
StartsWithinstead ofIndexOf(#26107) (Thanks @xtqqczze!) - Add
CodeQLsuppressions forNativeCommandProcessor(#26729)
Tools
- Add GitOps policy to auto-label backport candidates when CL-BuildPackaging is added (#26881)
- Add Pester CI Analysis Skill (#26806)
- Delete unused winget release script (#26683)
- Improve error message from
Start-NativeExecution(#26500) (Thanks @logiclrd!) - Add default CODEOWNERS entry for maintainers (#26660)
- Add Attack Surface Analyzer Script (#26379)
- Add merge conflict marker detection to linux-ci workflow and refactor existing actions to use reusable get-changed-files action (#26350)
- Add reusable get-changed-files action and refactor existing actions (#26355)
- Refactor analyze job to reusable workflow and enable on Windows CI (#26322)
- Create github copilot setup workflow (#26285)
- Update dependabot.yml to monitor release/* branches (#26251)
Tests
- Fix the
PSNativeCommandArgumentPassingtest (#27057) - Fix
Import-Module.Tests.ps1to handle Arm32 platform (#26862) - Add comprehensive PowerShell class tests for
ConvertTo-Json(#26769) (Thanks @yotsuda!) - Add comprehensive
PSCustomObjecttests forConvertTo-Json(#26743) (Thanks @yotsuda!) - Add GitHub Actions annotations for Pester test failures (#26789)
- Add comprehensive depth and multilevel composition tests for
ConvertTo-Json(#26744) (Thanks @yotsuda!) - Add comprehensive array and dictionary tests for
ConvertTo-Json(#26742) (Thanks @yotsuda!) - Add comprehensive scalar type tests for
ConvertTo-Json(#26736) (Thanks @yotsuda!) - Fix the fuzzy test (#26402)
- Add Fuzz Tests (#26384)
- Fix merge conflict checker for empty file lists and filter *.cs files (#26365)
- Fix linux_packaging job being skipped when only packaging files change (#26315)
- Use
[initialsessionstate]type accelerator (#25912) (Thanks @xtqqczze!) - Add markdown link verification for PRs (#26219)
- Check for
GetWindowPlacementsuccess (#26122) (Thanks @xtqqczze!)
Build and Packaging Improvements
We thank the following contributors!
- Update branch for release (#27291)
- Remove package verification from the notice pipeline (#27289)
- Remove MSI from publishing pipeline (#27213)
- Externalize
findMissingNoticestarget framework selection with ordered Windows fallback (#27269) - Fix the package pipeline by adding in PDP-Media directory (#27254)
- Bump actions/checkout from 4 to 6.0.2 (#27206)
- Build, package, and create VPack for the PowerShell-LTS store package within the same
msixbundle-vpackpipeline (#150) (#27209) - Pin ready-to-merge.yml reusable workflow to commit SHA (#27204)
- Change the display name of
PowerShell-LTSMSIX package to "PowerShell LTS" (#27203) - [StepSecurity] ci: Harden GitHub Actions (#27201)
- [StepSecurity] ci: Harden GitHub Actions (#27202)
- Redo windows image fix to use latest image (#27198)
- Separate Store Package Creation, Skip Polling for Store Publish, Clean up PDP-Media (#27024)
- Revert "Fetch latest ICU release version dynamically" (#27127)
- Update package references and move to .NET SDK 11.0-preview.2 (#27117)
- Add comment-based help documentation to
build.psm1functions (#27122) (Thanks @powercode!) - Bump github/codeql-action from 3.30.3 to 4.35.1 (#27120)
- Select New MSIX Package Name (#27096)
- Separate Official and NonOfficial templates for ADO pipelines (#26897)
- Update the
PhoneProductIdto be the official LTS id used by Store (#27077) - release-upload-buildinfo: replace version-comparison channel gating with metadata flags (#27074)
- Update build to create two msix's and msixbundles for LTS and Stable (#27056)
- Update
metadata.jsonfor the v7.6.0 release (#27054) - Move
_GetDependenciesMSBuild target from dynamic generation inbuild.psm1intoMicrosoft.PowerShell.SDK.csproj(#27052) - Fix PMC repo URL for RHEL10 (#27059)
- Create Linux LTS deb/rpm packages for LTS releases (#27049)
- Create LTS pkg and non-LTS pkg for macOS for LTS releases (#27039)
- Fix the container image for vPack, MSIX vPack and Package pipelines (#27015)
- Update
Microsoft.PowerShell.PSResourceGetversion to 1.2.0 (#27003) - Fix ConvertFrom-ClearlyDefinedCoordinates to handle API object coordinates (#26893)
- Bump actions/upload-artifact from 4 to 7 (#26914)
- Bump actions/dependency-review-action from 4.7.3 to 4.9.0 (#26938)
- Hardcode Official templates (#26928)
- Add PMC packages for debian13 and rhel10 (#26912)
- Split TPN manifest and Component Governance manifest (#26891)
- Add version in description and pass store task on failure (#26885)
- Correct the package name for .deb and .rpm packages (#26877)
- Fix a preview detection test for the packaging script (#26882)
- Exclude .exe packages from publishing to GitHub (#26859)
- Update metadata.json for v7.6.0-rc.1 (#26856)
- Fetch latest ICU release version dynamically (#26827) (Thanks @kasperk81!)
- Update
LangVersiontopreview(#26214) (Thanks @xtqqczze!) - Update to .NET 11 SDK and update dependencies (#26783)
- Update outdated package references (#26771)
- Create es-metadata (#26759)
- Add policy to restrict the
Approved-LowRisklabel (#26728) - Move PowerShell build to depend on .NET SDK 10.0.102 (#26697)
- Update metadata.json to update the Latest attribute with a better name (#26380)
- Update outdated package references (#26656)
- Bring release changes from the v7.6.0-preview.6 release branch (#26627)
- Update build to use .NET SDK 10.0.100 (#26448)
- Update the macos package name for preview releases to match the previous pattern (#26429)
- Fix condition syntax for StoreBroker package tasks in MSIX pipeline (#26427)
- Fix template path for rebuild branch check in package.yml (#26425)
- Update the WCF packages to the latest version that is compatible with v4.10.3 (#26406)
- Add rebuild branch support with conditional MSIX signing (#26415)
- Optimize/split windows package signing (#26403)
- Improve ADO package build and validation across platforms (#26398)
- Update outdated test package references (#26368)
- Delete this way of collecting feedback (#26364)
- Update the
Microsoft.PowerShell.Nativepackage version (#26347) - Add log grouping to build.psm1 for collapsible GitHub Actions logs (#26326)
- Bump actions/setup-dotnet from 4 to 5 (#26327)
- Update SDK to 10.0.100-rc.2.25502.107 (#26305)
- Replace
fpmwithdpkg-debfor DEB package generation (#26281) - Replace fpm with native macOS packaging tools (pkgbuild/productbuild) (#26268)
- Separate Store Automation Service Endpoints, Resolve AppID (#26210)
- Update concurrency groups to prevent merge runs and pull request runs from canceling each other (#26257)
- Update release tags to version 7.5.4 and 7.4.13 (#26258)
- Update outdated package references (#26148)
- Refactor: Centralize xUnit tests into reusable workflow and remove legacy verification (#26243)
- Convert Azure DevOps Linux Packaging pipeline to GitHub Actions workflow (#26225)
- Update vPack name (#26090)
- Update
metadata.jsonfor v7.6.0-preview.5 release (#26158) - Bump ossf/scorecard-action from 2.4.2 to 2.4.3 (#26128)
Documentation and Help Content
- Check in
7.6.mdafter v7.6.0 release (#27063) - Update changelog for release v7.5.5 (#27014)
- Add 7.4.14 changelog (#26998)
- Update
SECURITY.mdto remove email reporting option (#26653) - Update changelog for the release v7.6.0-preview.6 (#26597)
- Explain the parameter
-UseNuGetOrgin build documentation (#26507) (Thanks @logiclrd!) - Update backport prompt (#26392)
- Add a backport prompt for copilot (#26383)
- Update
linux.mddocumentation to reflect current CI build configuration (#26255) - Add GitHub Copilot instruction files for PowerShell CI build system (#26253)
- Add documentation for publishing Pester test results in GitHub Actions (#26254)
- Remove Gitter from README (#26200) (Thanks @xtqqczze!)
- Remove nightly build status section from README.md (#26227) (Thanks @xtqqczze!)
- Update changelog for v7.5.4 and v7.4.13 (#26202)
SHA256 Hashes of the release artifacts
- hashes.sha256
- 0987269768B0C45F74A0826BA0F032F37C5D50100697C34F3C808D05EF3EF3BF
- powershell-7.7.0-preview.1-linux-arm32.tar.gz
- 0128664E1666EB19A6081AB59991E280AD77568C64233F35E49F68A540CCD3EE
- powershell-7.7.0-preview.1-linux-arm64.tar.gz
- B9015DA801882D4477C8DC83E636B0988EEAA8A7B196385F3B1CD5E6C266BD53
- powershell-7.7.0-preview.1-linux-musl-x64.tar.gz
- 44290D4770BE06914BE6BED9D23AE52E41BE20F7DD31177F2DD68689907A04DA
- powershell-7.7.0-preview.1-linux-x64-fxdependent.tar.gz
- 95BFD4E3DFD8D7CC2F6FCBA525DFB0A623DFDF3A77C121D2ADADFC7A4F944BAC
- powershell-7.7.0-preview.1-linux-x64-musl-noopt-fxdependent.tar.gz
- 8C17C9CD2E1ACADB78CB4628FFA88E5D6FA9FB51D5281F468DFE7F4B7131B600
- powershell-7.7.0-preview.1-linux-x64.tar.gz
- DFF99AC38F66A8A8A755AA573300A7B2B11EFBCDBCB140742000B68752C19FDA
- powershell-7.7.0-preview.1-osx-arm64.pkg
- 2E94687BD31FCFA161426A1BC175923AA7D9536B47700AA8B4C4D2852D40D891
- powershell-7.7.0-preview.1-osx-arm64.tar.gz
- 8E9CD6656BB659247E8F103151029715DAFF74A261AA36EC3BCAE1522ABA007D
- powershell-7.7.0-preview.1-osx-x64.pkg
- 79DD0D523D909E9756C2F81E901F6E96BE7ABCDEAE8FE851AC5D809BF34E95A9
- powershell-7.7.0-preview.1-osx-x64.tar.gz
- BC33AE644EF717C623D18E4D8B9B039283CFCA24404908D8D38AFB2F30483F06
- PowerShell-7.7.0-preview.1-win-arm64.zip
- 82BD0C2FA6A6ACDFB070BD3585CE48F0F71423399CBDD0EFC162700B1822CD57
- PowerShell-7.7.0-preview.1-win-fxdependent.zip
- 27DD038B3F594100A9516DDAE167B9074DA3DA9C8ED7023033A771E01D57C703
- PowerShell-7.7.0-preview.1-win-fxdependentWinDesktop.zip
- 6E12C5EFD6886A31116048145590EF3E4AED0A117214ED40DF5666375546E26D
- PowerShell-7.7.0-preview.1-win-x64.zip
- 175BB851F5368C18BD9CE4C845D61F5D3E1F1CD8EB31810C36C2248AD9D232A9
- PowerShell-7.7.0-preview.1-win-x86.zip
- BE4D3903422C6A44588C7CE304421E394F819ABD664D27086B8F6209DE1F645D
- powershell-preview-7.7.0_preview.1-1.cm.aarch64.rpm
- 3D149721B614D18BBFEAC465C6CE9A686E4EBD41814E1BAC34E4B06404E054DE
- powershell-preview-7.7.0_preview.1-1.cm.x86_64.rpm
- 8419AE417CB7EE48392C04B26A7B61637A9EB26F7E264CC1A72F8B400B510CF9
- powershell-preview-7.7.0_preview.1-1.rh.x86_64.rpm
- 04188E117C381CCF966B8FCD12B80F8010E2A13C0A6815880EEE36EE8827CD79
- powershell-preview_7.7.0-preview.1-1.deb_amd64.deb
- 476655FC7A0917965A9C66A2B0F772BC9790D4D6C263E849863EEE22C0726A29
- PowerShellPreview-7.7.0-preview.1.msixbundle
- FB9A2A584030B48A1FD5A8BFB3C95E9C8B8FF8AAE3E21305BFE16A33D805E81C