# Preview Changelog ## [7.7.0-preview.1] ### Breaking Changes - Add `ValidateNotNullOrEmpty` attribute to the `-Property` of `Format-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]:$false` parameter values in `Where-Object` (#26485) (Thanks @yotsuda!) ### Engine Updates and Fixes - Update `MaxVisitCount` and `MaxHashtableKeyCount` if `VisitorSafeValueContext` indicates `SkipLimitCheck` is 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 `in` modifier (#26785) (Thanks @jborean93!) - Fix `WSManInstance` COM interface with `ResourceURI` (#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-Service` when properties cannot be returned (#27109) (Thanks @reabr!) - Fix `Remove-Item` confirmation 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 `SubjectAlternativeName` property to the `Signature` object returned from `Get-AuthenticodeSignature` (#26252) - Mark `-NoTypeInformation` as obsolete no-op and evaluate `-IncludeTypeInformation` on by value on Csv cmdlets (#26719) (Thanks @yotsuda!) - Support `TargetObject` position in `ParserErrors` (#26649) (Thanks @jborean93!) - Fix the CLR internal error and null ref exception when running `show-command` with PowerShell API (#26669) - Fix `Test-Json` false positive errors when using `oneOf` or `anyOf` in schema (#26618) (Thanks @yotsuda!) - Add `ToRegex` method to `WildcardPattern` class (#26515) (Thanks @yotsuda!) - Add `-ExcludeProperty` parameter to `Format-*` 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.Keys` switch cases and access patterns (#26483) (Thanks @yotsuda!) - Fix formatting to properly handle the `Reset` VT sequences that appear in the middle of a string (#26424) - Add `-Extension` parameter to `Join-Path` cmdlet (#26482) (Thanks @yotsuda!) - Make `Export-Csv` `-Append` and `-NoHeader` mutually exclusive (#26472) (Thanks @yotsuda!) - Respect `-Qualifier/-NoQualifier/-Leaf/-IsAbsolute:$false` in `Split-Path` (#26474) (Thanks @yotsuda!) - Respect `-UseWindowsPowerShell:$false` in `New-PSSession` (#26469) (Thanks @yotsuda!) - Respect `-Repeat/-MtuSize/-Traceroute:$false` in `Test-Connection` (#26479) (Thanks @yotsuda!) - Fix `Invoke-RestMethod` to support read-only files in multipart form data (#26454) (Thanks @yotsuda!) - Respect `-ListAvailable:$false` in `Get-TimeZone` (#26463) (Thanks @yotsuda!) - Respect `-Shuffle:$false` in `Get-SecureRandom` (#26460) (Thanks @yotsuda!) - Respect `-Shuffle:$false` in `Get-Random` (#26457) (Thanks @yotsuda!) - DSC v3 resource for Powershell Profile (#26157) - Make the experimental feature `PSFeedbackProvider` stable (#26343) - Make some experimental features stable (#26348) - Add `PSApplicationOutputEncoding` variable (#21219) (Thanks @jborean93!) - Dynamically evaluate width of `LastWriteTime` for formatting output on Unix (#24624) (Thanks @MathiasMagnus!) - Handle null reference exception in CsvCommands.cs: `ConvertPSObjectToCSV` (#26144) (Thanks @mikkas456!) - Improve `ValidateLength` error message consistency and refactor validation tests (#25806) (Thanks @jorgeasaurus!) - Correct handling of explicit `-Since:$false` parameter value in `Get-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:$false` parameter value in `New-Guid` (#26140) (Thanks @logiclrd!) ### Code Cleanup

We thank the following contributors!

@xtqqczze, @yotsuda, @ThioJoe, @rwp0, @amritanand-py

### 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 `PSNativeCommandArgumentPassing` test (#27057) - Fix `Import-Module.Tests.ps1` to handle Arm32 platform (#26862) - Add comprehensive PowerShell class tests for `ConvertTo-Json` (#26769) (Thanks @yotsuda!) - Add comprehensive `PSCustomObject` tests for `ConvertTo-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 `GetWindowPlacement` success (#26122) (Thanks @xtqqczze!) ### Build and Packaging Improvements

We thank the following contributors!

@powercode, @kasperk81, @xtqqczze

### Documentation and Help Content - Check in `7.6.md` after v7.6.0 release (#27063) - Update changelog for release v7.5.5 (#27014) - Add 7.4.14 changelog (#26998) - Update `SECURITY.md` to remove email reporting option (#26653) - Update changelog for the release v7.6.0-preview.6 (#26597) - Explain the parameter `-UseNuGetOrg` in build documentation (#26507) (Thanks @logiclrd!) - Update backport prompt (#26392) - Add a backport prompt for copilot (#26383) - Update `linux.md` documentation 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) [7.7.0-preview.1]: https://github.com/PowerShell/PowerShell/compare/v7.6.0-rc.1...v7.7.0-preview.1