Merge the v7.6.0-preview.5 release branch back to master

The v7.6.0-preview.5 release is done. Merge the release branch back to master using a merge commit.
This commit is contained in:
Dongbo Wang
2025-10-10 16:00:35 -07:00
committed by GitHub
10 changed files with 307 additions and 50 deletions
+5 -3
View File
@@ -156,7 +156,7 @@ extends:
parameters:
jobName: "LinuxSDK"
displayName: "Linux SDK Validation"
imageName: PSMMSUbuntu20.04-Secure
imageName: PSMMSUbuntu22.04-Secure
poolName: $(ubuntuPool)
- stage: gbltool
@@ -365,10 +365,12 @@ extends:
This is typically done by the community 1-2 days after the release.
- stage: PublishMsix
dependsOn: PushGitTagAndMakeDraftPublic
dependsOn:
- setReleaseTagAndChangelog
- PushGitTagAndMakeDraftPublic
displayName: Publish MSIX to store
variables:
ob_release_environment: Production
ob_release_environment: ${{ variables.releaseEnvironment }}
jobs:
- template: /.pipelines/templates/release-MSIX-Publish.yml@self
parameters:
+4 -2
View File
@@ -4,7 +4,9 @@
"packageParameters": {
"PDPRootPath": "",
"Release": "",
"PDPInclude": [],
"PDPInclude": [
"PDP.xml"
],
"PDPExclude": [],
"LanguageExclude": [
"default",
@@ -21,7 +23,7 @@
},
"appSubmission": {
"productId": "",
"targetPublishMode": "NotSet",
"targetPublishMode": "Immediate",
"targetPublishDate": null,
"visibility": "NotSet",
"pricing": {
+1 -1
View File
@@ -1,7 +1,7 @@
steps:
- pwsh: |
# Determine LTS, Preview, or Stable
$metadata = Get-Content "$repoRoot/tools/metadata.json" -Raw | ConvertFrom-Json
$metadata = Get-Content "$(Build.SourcesDirectory)/PowerShell/tools/metadata.json" -Raw | ConvertFrom-Json
$LTS = $metadata.LTSRelease.Latest
$Stable = $metadata.StableRelease.Latest
$isPreview = '$(OutputReleaseTag.releaseTag)' -match '-'
+25 -6
View File
@@ -8,6 +8,10 @@ jobs:
- group: msixTools
- group: 'Azure Blob variable group'
- group: 'Store Publish Variables'
- name: ob_sdl_credscan_suppressionsFile
value: $(Build.SourcesDirectory)\PowerShell\.config\suppress.json
- name: ob_sdl_tsa_configFile
value: $(Build.SourcesDirectory)\PowerShell\.config\tsaoptions.json
- name: ob_outputDirectory
value: '$(Build.ArtifactStagingDirectory)/ONEBRANCH_ARTIFACT'
@@ -137,16 +141,19 @@ jobs:
'LTS' = @{
AppStoreName = 'PowerShell-LTS'
ProductId = '$(productId-LTS)'
AppId = '$(AppID-LTS)'
ServiceEndpoint = "StoreAppPublish-Stable"
}
'Stable' = @{
AppStoreName = 'PowerShell'
ProductId = '$(productId-Stable)'
AppId = '$(AppID-Stable)'
ServiceEndpoint = "StoreAppPublish-Stable"
}
'Preview' = @{
AppStoreName = 'PowerShell (Preview)'
ProductId = '$(productId-Preview)'
AppId = '$(AppID-Preview)'
ServiceEndpoint = "StoreAppPublish-Preview"
}
}
@@ -171,16 +178,21 @@ jobs:
[xml]$pdpXml = Get-Content $pdpPath -Raw
$appStoreNameElement = $pdpXml.SelectSingleNode("//AppStoreName[@_locID]")
# Create namespace manager for XML with default namespace
$nsManager = New-Object System.Xml.XmlNamespaceManager($pdpXml.NameTable)
$nsManager.AddNamespace("pd", "http://schemas.microsoft.com/appx/2012/ProductDescription")
$appStoreNameElement = $pdpXml.SelectSingleNode("//pd:AppStoreName", $nsManager)
if ($appStoreNameElement) {
$appStoreNameElement.InnerText = $config.AppStoreName
Write-Verbose -Verbose "Updated AppStoreName to: $($config.AppStoreName)"
$appStoreNameElement.SetAttribute("_locID", $config.AppStoreName)
Write-Verbose -Verbose "Updated AppStoreName _locID to: $($config.AppStoreName)"
} else {
Write-Warning "AppStoreName element not found in PDP file"
}
$pdpXml.Save($pdpPath)
Write-Verbose -Verbose "PDP file updated successfully"
Get-Content -Path $pdpPath | Write-Verbose -Verbose
} else {
Write-Error "PDP file not found: $pdpPath"
exit 1
@@ -198,20 +210,21 @@ jobs:
$sbConfigJson | ConvertTo-Json -Depth 100 | Set-Content $sbConfigPath -Encoding UTF8
Write-Verbose -Verbose "SBConfig file updated successfully"
Get-Content -Path $sbConfigPath | Write-Verbose -Verbose
} else {
Write-Error "SBConfig file not found: $sbConfigPath"
exit 1
}
Write-Host "##vso[task.setvariable variable=ServiceConnection]$($config.ServiceEndpoint)"
Write-Host "##vso[task.setvariable variable=SBConfigPath]$($config.SBConfigPath)"
Write-Host "##vso[task.setvariable variable=SBConfigPath]$($sbConfigPath)"
name: UpdateConfigs
displayName: Update PDPs and SBConfig.json
- task: MS-RDX-MRO.windows-store-publish-dev.package-task.store-package@3
- task: MS-RDX-MRO.windows-store-publish.package-task.store-package@3
displayName: 'Create StoreBroker Package'
inputs:
serviceEndpoint: '$(ServiceConnection)'
serviceEndpoint: 'StoreAppPublish-Private'
sbConfigPath: '$(SBConfigPath)'
sourceFolder: '$(BundleDir)'
contents: '*.msixBundle'
@@ -219,6 +232,12 @@ jobs:
pdpPath: '$(System.DefaultWorkingDirectory)/PowerShell/.pipelines/store/PDP/PDP'
pdpMediaPath: '$(System.DefaultWorkingDirectory)/PowerShell/.pipelines/store/PDP/PDP-Media'
- pwsh: |
Get-Item -Path "$(System.DefaultWorkingDirectory)/SBLog.txt" -ErrorAction SilentlyContinue |
Copy-Item -Destination "$(ob_outputDirectory)" -Verbose
displayName: Upload Store Failure Log
condition: failed()
- pwsh: |
$submissionPackageDir = "$(System.DefaultWorkingDirectory)/SBOutDir"
$jsonFile = "$submissionPackageDir/PowerShellStorePackage.json"
+50 -34
View File
@@ -15,12 +15,15 @@ jobs:
artifactName: drop_msixbundle_CreateMSIXBundle
variables:
- group: 'Store Publish Variables'
- name: LTS
value: $[ stageDependencies.setReleaseTagAndChangelog.setTagAndChangelog.outputs['ChannelSelection.IsLTS'] ]
- name: STABLE
value: $[ stageDependencies.setReleaseTagAndChangelog.setTagAndChangelog.outputs['ChannelSelection.IsStable'] ]
- name: PREVIEW
value: $[ stageDependencies.setReleaseTagAndChangelog.setTagAndChangelog.outputs['ChannelSelection.IsPreview'] ]
- template: ./variable/release-shared.yml@self
parameters:
RELEASETAG: $[ stageDependencies.setReleaseTagAndChangelog.setTagAndChangelog.outputs['OutputReleaseTag.releaseTag'] ]
LTS: $[ stageDependencies.setReleaseTagAndChangelog.setTagAndChangelog.outputs['ChannelSelection.IsLTS'] ]
STABLE: $[ stageDependencies.setReleaseTagAndChangelog.setTagAndChangelog.outputs['ChannelSelection.IsStable'] ]
PREVIEW: $[ stageDependencies.setReleaseTagAndChangelog.setTagAndChangelog.outputs['ChannelSelection.IsPreview'] ]
steps:
- task: PowerShell@2
inputs:
@@ -40,14 +43,14 @@ jobs:
}
$middleURL = ''
$tagString = "$(ReleaseTag)"
if ($tagString -match '-') {
if ($tagString -match '-preview') {
$middleURL = "preview"
}
elseif ($tagString -match '(\d+\.\d+)') {
$middleURL = $matches[1]
}
$endURL = $tagString -replace '[v\.]',''
$endURL = $tagString -replace '^v|\.', ''
$message = "Changelog: https://github.com/PowerShell/PowerShell/blob/master/CHANGELOG/$middleURL.md#$endURL"
Write-Verbose -Verbose "Release Notes for the Store:"
Write-Verbose -Verbose "$message"
@@ -63,25 +66,14 @@ jobs:
inputs:
targetType: inline
script: |
Write-Verbose -Verbose "Channel Selection - LTS: $(LTS), Stable: $(Stable), Preview: $(Preview)"
# Convert ADO variables to PowerShell boolean variables
$IsLTS = '$(LTS)' -eq 'true'
$IsStable = '$(STABLE)' -eq 'true'
$IsPreview = '$(PREVIEW)' -eq 'true'
# Define app configurations for each channel using secret variables
$channelConfigs = @{
'LTS' = @{
AppId = '$(AppID-LTS)'
ServiceEndpoint = 'StoreAppPublish-Stable'
}
'Stable' = @{
AppId = '$(AppID-Stable)'
ServiceEndpoint = 'StoreAppPublish-Stable'
}
'Preview' = @{
AppId = '$(AppID-Preview)'
ServiceEndpoint = 'StoreAppPublish-Preview'
}
}
Write-Verbose -Verbose "Channel Selection - LTS: $(LTS), Stable: $(STABLE), Preview: $(PREVIEW)"
# Determine the current channel
# Determine the current channel for logging purposes
$currentChannel = if ($IsLTS) { 'LTS' }
elseif ($IsStable) { 'Stable' }
elseif ($IsPreview) { 'Preview' }
@@ -90,26 +82,50 @@ jobs:
exit 1
}
$config = $channelConfigs[$currentChannel]
Write-Verbose -Verbose "Selected channel: $currentChannel"
Write-Verbose -Verbose "App ID: $($config.AppId)"
Write-Verbose -Verbose "Service Endpoint: $($config.ServiceEndpoint)"
# Set pipeline variables for use in the store-publish task
Write-Host "##vso[task.setvariable variable=SelectedAppId]$($config.AppId)"
Write-Host "##vso[task.setvariable variable=SelectedServiceEndpoint]$($config.ServiceEndpoint)"
Write-Host "##vso[task.setvariable variable=SelectedChannel]$currentChannel"
displayName: 'Set StoreBroker Configurations'
Write-Verbose -Verbose "Conditional tasks will handle the publishing based on channel variables"
displayName: 'Validate Channel Selection'
- task: MS-RDX-MRO.windows-store-publish.publish-task.store-publish@3
displayName: 'Publish LTS StoreBroker Package'
condition: ne('${{ parameters.skipMSIXPublish }}', 'true')
condition: and(ne('${{ parameters.skipMSIXPublish }}', 'true'), eq(variables['LTS'], 'true'))
inputs:
serviceEndpoint: '$(SelectedServiceEndpoint)'
appId: '$(SelectedAppId)'
serviceEndpoint: 'StoreAppPublish-Private'
appId: '$(AppID-LTS)'
inputMethod: JsonAndZip
jsonPath: '$(Pipeline.Workspace)\SBOutDir\PowerShellStorePackage.json'
zipPath: '$(Pipeline.Workspace)\SBOutDir\PowerShellStorePackage.zip'
numberOfPackagesToKeep: 2
jsonZipUpdateMetadata: true
targetPublishMode: 'Immediate'
- task: MS-RDX-MRO.windows-store-publish.publish-task.store-publish@3
displayName: 'Publish Stable StoreBroker Package'
condition: and(ne('${{ parameters.skipMSIXPublish }}', 'true'), eq(variables['STABLE'], 'true'))
inputs:
serviceEndpoint: 'StoreAppPublish-Private'
appId: '$(AppID-Stable)'
inputMethod: JsonAndZip
jsonPath: '$(Pipeline.Workspace)\SBOutDir\PowerShellStorePackage.json'
zipPath: '$(Pipeline.Workspace)\SBOutDir\PowerShellStorePackage.zip'
numberOfPackagesToKeep: 2
jsonZipUpdateMetadata: true
targetPublishMode: 'Immediate'
- task: MS-RDX-MRO.windows-store-publish.publish-task.store-publish@3
displayName: 'Publish Preview StoreBroker Package'
condition: and(ne('${{ parameters.skipMSIXPublish }}', 'true'), eq(variables['PREVIEW'], 'true'))
inputs:
serviceEndpoint: 'StoreAppPublish-Private'
appId: '$(AppID-Preview)'
inputMethod: JsonAndZip
jsonPath: '$(Pipeline.Workspace)\SBOutDir\PowerShellStorePackage.json'
zipPath: '$(Pipeline.Workspace)\SBOutDir\PowerShellStorePackage.zip'
numberOfPackagesToKeep: 2
jsonZipUpdateMetadata: true
targetPublishMode: 'Immediate'
- pwsh: |
Get-Content -Path "$(System.DefaultWorkingDirectory)/SBLog.txt" -ErrorAction SilentlyContinue
displayName: Upload Store Failure Log
condition: failed()
+2 -2
View File
@@ -121,13 +121,13 @@ jobs:
$middleURL = ''
$tagString = "$(ReleaseTag)"
Write-Verbose -Verbose "Use the following command to push the tag:"
if ($tagString -match '-') {
if ($tagString -match '-preview') {
$middleURL = "preview"
}
elseif ($tagString -match '(\d+\.\d+)') {
$middleURL = $matches[1]
}
$endURL = $tagString -replace '[v\.]',''
$endURL = $tagString -replace '^v|\.', ''
$message = "https://github.com/PowerShell/PowerShell/blob/master/CHANGELOG/$middleURL.md#$endURL"
Write-Verbose -Verbose "git tag -a $(ReleaseTag) $env:BUILD_SOURCEVERSION -m $message"
displayName: Git Push Tag Command
@@ -43,6 +43,9 @@ jobs:
- pwsh: |
$repoRoot = "$(Build.SourcesDirectory)/PowerShell"
Import-Module "$repoRoot/build.psm1" -Force -Verbose
Start-PSBootstrap -Scenario Dotnet
$toolPath = New-Item -ItemType Directory "$(System.DefaultWorkingDirectory)/toolPath" | Select-Object -ExpandProperty FullName
Write-Verbose -Verbose "dotnet tool list -g"
@@ -75,6 +78,9 @@ jobs:
- pwsh: |
$repoRoot = "$(Build.SourcesDirectory)/PowerShell"
Import-Module "$repoRoot/build.psm1" -Force -Verbose
Start-PSBootstrap -Scenario Dotnet
$exeName = if ($IsWindows) { "pwsh.exe" } else { "pwsh" }
$toolPath = "$(System.DefaultWorkingDirectory)/toolPath/${{ parameters.globalToolExeName }}"
@@ -51,6 +51,9 @@ jobs:
- pwsh: |
$repoRoot = "$(Build.SourcesDirectory)"
Import-Module "$repoRoot/build.psm1" -Force -Verbose
Start-PSBootstrap -Scenario Dotnet
$env:DOTNET_NOLOGO=1
$localLocation = "$(Pipeline.Workspace)/PSPackagesOfficial/drop_nupkg_build_nupkg"
@@ -272,7 +272,7 @@ jobs:
'Microsoft.PowerShell.PSResourceGet'
'Microsoft.PowerShell.Archive'
'PSReadLine'
'ThreadJob'
'Microsoft.PowerShell.ThreadJob'
)
$sourceModulePath = Join-Path '$(GlobalToolArtifactPath)' 'publish' 'PowerShell.Windows.x64' 'release' 'Modules'
+210 -1
View File
@@ -1,5 +1,214 @@
# Preview Changelog
## [7.6.0-preview.5] - 2025-09-30
### Engine Updates and Fixes
- Allow opt-out of the named-pipe listener using the environment variable `POWERSHELL_DIAGNOSTICS_OPTOUT` (#26086)
- Ensure that socket timeouts are set only during the token validation (#26066)
- Fix race condition in `RemoteHyperVSocket` (#26057)
- Fix `stderr` output of console host to respect `NO_COLOR` (#24391)
- Update PSRP protocol to deprecate session key exchange between newer client and server (#25774)
- Fix the `ssh` PATH check in `SSHConnectionInfo` when the default Runspace is not available (#25780) (Thanks @jborean93!)
- Adding hex format for native command exit codes (#21067) (Thanks @sba923!)
- Fix infinite loop crash in variable type inference (#25696) (Thanks @MartinGC94!)
- Add `PSForEach` and `PSWhere` as aliases for the PowerShell intrinsic methods `Where` and `Foreach` (#25511) (Thanks @powercode!)
### General Cmdlet Updates and Fixes
- Remove `IsScreenReaderActive()` check from `ConsoleHost` (#26118)
- Fix `ConvertFrom-Json` to ignore comments inside array literals (#14553) (#26050) (Thanks @MatejKafka!)
- Fix `-Debug` to not trigger the `ShouldProcess` prompt (#26081)
- Add the parameter `Register-ArgumentCompleter -NativeFallback` to support registering a cover-all completer for native commands (#25230)
- Change the default feedback provider timeout from 300ms to 1000ms (#25910)
- Update PATH environment variable for package manager executable on Windows (#25847)
- Fix `Write-Host` to respect `OutputRendering = PlainText` (#21188)
- Improve the `$using` expression support in `Invoke-Command` (#24025) (Thanks @jborean93!)
- Use parameter `HelpMessage` for tool tip in parameter completion (#25108) (Thanks @jborean93!)
- Revert "Never load a module targeting the PSReadLine module's `SessionState`" (#25792)
- Fix debug tracing error with magic extents (#25726) (Thanks @jborean93!)
- Add `MethodInvocation` trace for overload tracing (#21320) (Thanks @jborean93!)
- Improve verbose and debug logging level messaging in web cmdlets (#25510) (Thanks @JustinGrote!)
- Fix quoting in completion if the path includes a double quote character (#25631) (Thanks @MartinGC94!)
- Fix the common parameter `-ProgressAction` for advanced functions (#24591) (Thanks @cmkb3!)
- Use absolute path in `FileSystemProvider.CreateDirectory` (#24615) (Thanks @Tadas!)
- Make inherited protected internal instance members accessible in PowerShell class scope (#25245) (Thanks @mawosoft!)
- Treat `-Target` as literal in `New-Item` (#25186) (Thanks @GameMicrowave!)
- Remove duplicate modules from completion results (#25538) (Thanks @MartinGC94!)
- Add completion for variables assigned in `ArrayLiteralAst` and `ParenExpressionAst` (#25303) (Thanks @MartinGC94!)
- Add support for thousands separators in `[bigint]` casting (#25396) (Thanks @AbishekPonmudi!)
- Add internal methods to check Preferences (#25514) (Thanks @iSazonov!)
- Improve debug logging of Web cmdlet request and response (#25479) (Thanks @JustinGrote!)
- Revert "Allow empty prefix string in 'Import-Module -Prefix' to override default prefix in manifest (#20409)" (#25462) (Thanks @MartinGC94!)
- Fix the `NullReferenceException` when writing progress records to console from multiple threads (#25440) (Thanks @kborowinski!)
- Update `Get-Service` to ignore common errors when retrieving non-critical properties for a service (#24245) (Thanks @jborean93!)
- Add single/double quote support for `Join-String` Argument Completer (#25283) (Thanks @ArmaanMcleod!)
- Fix tab completion for env/function variables (#25346) (Thanks @jborean93!)
- Fix `Out-GridView` by replacing use of obsolete `BinaryFormatter` with custom implementation (#25497) (Thanks @mawosoft!)
- Remove the use of Windows PowerShell ETW provider ID from codebase and update the `PSDiagnostics` module to work for PowerShell 7 (#25590)
### Code Cleanup
<details>
<summary>
<p>We thank the following contributors!</p>
<p>@xtqqczze, @mawosoft, @ArmaanMcleod</p>
</summary>
<ul>
<li>Enable CA2021: Do not call Enumerable.Cast<T> or Enumerable.OfType<T> with incompatible types (#25813) (Thanks @xtqqczze!)</li>
<li>Remove some unused <code>ConsoleControl</code> structs (#26063) (Thanks @xtqqczze!)</li>
<li>Remove unused <code>FileStreamBackReader.NativeMethods</code> type (#26062) (Thanks @xtqqczze!)</li>
<li>Ensure data-serialization files end with one newline (#26039) (Thanks @xtqqczze!)</li>
<li>Remove unnecessary <code>CS0618</code> suppressions from Variant APIs (#26006) (Thanks @xtqqczze!)</li>
<li>Ensure <code>.cs</code> files end with exactly one newline (#25968) (Thanks @xtqqczze!)</li>
<li>Remove obsolete <code>CA2105</code> rule suppression (#25938) (Thanks @xtqqczze!)</li>
<li>Remove obsolete <code>CA1703</code> rule suppression (#25955) (Thanks @xtqqczze!)</li>
<li>Remove obsolete <code>CA2240</code> rule suppression (#25957) (Thanks @xtqqczze!)</li>
<li>Remove obsolete <code>CA1701</code> rule suppression (#25948) (Thanks @xtqqczze!)</li>
<li>Remove obsolete <code>CA2233</code> rule suppression (#25951) (Thanks @xtqqczze!)</li>
<li>Remove obsolete <code>CA1026</code> rule suppression (#25934) (Thanks @xtqqczze!)</li>
<li>Remove obsolete <code>CA1059</code> rule suppression (#25940) (Thanks @xtqqczze!)</li>
<li>Remove obsolete <code>CA2118</code> rule suppression (#25924) (Thanks @xtqqczze!)</li>
<li>Remove redundant <code>System.Runtime.Versioning</code> attributes (#25926) (Thanks @xtqqczze!)</li>
<li>Seal internal types in <code>Microsoft.PowerShell.Commands.Utility</code> (#25892) (Thanks @xtqqczze!)</li>
<li>Seal internal types in <code>Microsoft.PowerShell.Commands.Management</code> (#25849) (Thanks @xtqqczze!)</li>
<li>Make the interface <code>IDeepCloneable</code> internal to minimize confusion (#25552)</li>
<li>Remove <code>OnDeserialized</code> and <code>Serializable</code> attributes from <code>Microsoft.Management.UI.Internal</code> project (#25548)</li>
<li>Refactor Tooltip/ListItemText mapping to use <code>CompletionDisplayInfoMapper</code> delegate (#25395) (Thanks @ArmaanMcleod!)</li>
</ul>
</details>
### Tools
- Add Codeql Suppressions (#25943, #26132)
- Update CODEOWNERS to add Justin as a maintainer (#25386)
- Do not run labels workflow in the internal repository (#25279)
### Tests
- Mark the 3 consistently failing tests as pending to unblock PRs (#26091)
- Make some tests less noisy on failure (#26035) (Thanks @xtqqczze!)
- Suppress false positive `PSScriptAnalyzer` warnings in tests and build scripts (#25864)
- Fix updatable help test for new content (#25819)
- Add more tests for `PSForEach` and `PSWhere` methods (#25519)
- Fix the isolated module test that was disabled previously (#25420)
### Build and Packaging Improvements
<details>
<summary>
<p>We thank the following contributors!</p>
<p>@alerickson, @senerh, @RichardSlater, @xtqqczze</p>
</summary>
<ul>
<li>Update package references for the master branch (#26124)</li>
<li>Remove <code>ThreadJob</code> module and update <code>PSReadLine</code> to 2.4.4-beta4 (#26120)</li>
<li>Automate Store Publishing (#25725)</li>
<li>Add global config change detection to action (#26082)</li>
<li>Update outdated package references (#26069)</li>
<li>Ensure that the workflows are triggered on <code>.globalconfig</code> and other files at the root of the repo (#26034)</li>
<li>Update <code>Microsoft.PowerShell.PSResourceGet</code> to 1.2.0-preview3 (#26056) (Thanks @alerickson!)</li>
<li>Update metadata for Stable to v7.5.3 and LTS to v7.4.12 (#26054) (Thanks @senerh!)</li>
<li>Bump github/codeql-action from 3.30.2 to 3.30.3 (#26036)</li>
<li>Update version for the package <code>Microsoft.PowerShell.Native</code> (#26041)</li>
<li>Fix the APIScan pipeline (#26016)</li>
<li>Move PowerShell build to use .NET SDK 10.0.100-rc.1 (#26027)</li>
<li>fix(apt-package): add libicu76 dependency to support Debian 13 (#25866) (Thanks @RichardSlater!)</li>
<li>Bump github/codeql-action from 3.30.1 to 3.30.2 (#26029)</li>
<li>Update Ev2 Shell Extension Image to AzureLinux 3 for PMC Release (#26025)</li>
<li>Bump github/codeql-action from 3.30.0 to 3.30.1 (#26008)</li>
<li>Bump actions/github-script from 7 to 8 (#25983)</li>
<li>Fix variable reference for release environment in pipeline (#26012)</li>
<li>Add LinuxHost Network configuration to PowerShell Packages pipeline (#26000)</li>
<li>Make logical template name consistent between pipelines (#25990)</li>
<li>Update container images to use mcr.microsoft.com for Linux and Azure GǪ (#25981)</li>
<li>Bump github/codeql-action from 3.29.11 to 3.30.0 (#25966)</li>
<li>Bump actions/setup-dotnet from 4 to 5 (#25978)</li>
<li>Add build to vPack Pipeline (#25915)</li>
<li>Replace <code>DOTNET_SKIP_FIRST_TIME_EXPERIENCE</code> with <code>DOTNET_NOLOGO</code> (#25946) (Thanks @xtqqczze!)</li>
<li>Bump actions/dependency-review-action from 4.7.2 to 4.7.3 (#25930)</li>
<li>Bump github/codeql-action from 3.29.10 to 3.29.11 (#25889)</li>
<li>Remove AsyncSDL from Pipelines Toggle Official/NonOfficial Runs (#25885)</li>
<li>Specify .NET Search by Build Type (#25837)</li>
<li>Update PowerShell to use .NET SDK v10-preview.7 (#25876)</li>
<li>Bump actions/dependency-review-action from 4.7.1 to 4.7.2 (#25882)</li>
<li>Bump github/codeql-action from 3.29.9 to 3.29.10 (#25881)</li>
<li>Change the macos runner image to macos 15 large (#25867)</li>
<li>Bump actions/checkout from 4 to 5 (#25853)</li>
<li>Bump github/codeql-action from 3.29.7 to 3.29.9 (#25857)</li>
<li>Update to .NET 10 Preview 6 (#25828)</li>
<li>Bump agrc/create-reminder-action from 1.1.20 to 1.1.22 (#25808)</li>
<li>Bump agrc/reminder-action from 1.0.17 to 1.0.18 (#25807)</li>
<li>Bump github/codeql-action from 3.28.19 to 3.29.5 (#25797)</li>
<li>Bump super-linter/super-linter from 7.4.0 to 8.0.0 (#25770)</li>
<li>Update metadata for v7.5.2 and v7.4.11 releases (#25687)</li>
<li>Correct Capitalization Referencing Templates (#25669)</li>
<li>Change linux packaging tests to ubuntu latest (#25634)</li>
<li>Bump github/codeql-action from 3.28.18 to 3.28.19 (#25636)</li>
<li>Move to .NET 10 preview 4 and update package references (#25602)</li>
<li>Revert &quot;Add windows signing for pwsh.exe&quot; (#25586)</li>
<li>Bump ossf/scorecard-action from 2.4.1 to 2.4.2 (#25628)</li>
<li>Publish <code>.msixbundle</code> package as a VPack (#25612)</li>
<li>Bump agrc/reminder-action from 1.0.16 to 1.0.17 (#25573)</li>
<li>Bump agrc/create-reminder-action from 1.1.18 to 1.1.20 (#25572)</li>
<li>Bump github/codeql-action from 3.28.17 to 3.28.18 (#25580)</li>
<li>Bump super-linter/super-linter from 7.3.0 to 7.4.0 (#25563)</li>
<li>Bump actions/dependency-review-action from 4.7.0 to 4.7.1 (#25562)</li>
<li>Update metadata.json with 7.4.10 (#25554)</li>
<li>Bump github/codeql-action from 3.28.16 to 3.28.17 (#25508)</li>
<li>Bump actions/dependency-review-action from 4.6.0 to 4.7.0 (#25529)</li>
<li>Move MSIXBundle to Packages and Release to GitHub (#25512)</li>
<li>Update outdated package references (#25506)</li>
<li>Bump github/codeql-action from 3.28.15 to 3.28.16 (#25429)</li>
<li>Fix Conditional Parameter to Skip NuGet Publish (#25468)</li>
<li>Update metadata.json (#25438)</li>
<li>Fix MSIX artifact upload, vPack template, changelog hashes, git tag command (#25437)</li>
<li>Use new variables template for vPack (#25434)</li>
<li>Bump <code>agrc/create-reminder-action</code> from 1.1.17 to 1.1.18 (#25416)</li>
<li>Add PSScriptAnalyzer (#25423)</li>
<li>Update outdated package references (#25392)</li>
<li>Use GitHubReleaseTask instead of custom script (#25398)</li>
<li>Update APIScan to use new symbols server (#25388)</li>
<li>Retry ClearlyDefined operations (#25385)</li>
<li>Update to .NET 10.0.100-preview.3 (#25358)</li>
<li>Enhance path filters action to set outputs for all changes when not a PR (#25367)</li>
<li>Combine GitHub and Nuget Release Stage (#25318)</li>
<li>Add Windows Store Signing to MSIX bundle (#25296)</li>
<li>Bump skitionek/notify-microsoft-teams from 190d4d92146df11f854709774a4dae6eaf5e2aa3 to e7a2493ac87dad8aa7a62f079f295e54ff511d88 (#25366)</li>
<li>Add CodeQL suppressions for PowerShell intended behavior (#25359)</li>
<li>Migrate MacOS Signing to OneBranch (#25295)</li>
<li>Bump github/codeql-action from 3.28.13 to 3.28.15 (#25290)</li>
<li>Update test result processing to use NUnitXml format and enhance logging for better clarity (#25288)</li>
<li>Fix R2R for fxdependent packaging (#26131)</li>
<li>Remove <code>UseDotnet</code> task and use the <code>dotnet-install</code> script (#26093)</li>
</ul>
</details>
### Documentation and Help Content
- Fix a typo in the 7.4 changelog (#26038) (Thanks @VbhvGupta!)
- Add 7.4.12 changelog (#26011)
- Add v7.5.3 changelog (#25994)
- Fix typo in changelog for script filename suggestion (#25962)
- Update changelog for v7.5.2 (#25668)
- Update changelog for v7.4.11 (#25667)
- Update build documentation with instruction of dev terminal (#25587)
- Update links and contribution guide in documentation (#25532) (Thanks @JustinGrote!)
- Add 7.4.10 changelog (#25520)
- Add 7.5.1 changelog (#25382)
[7.6.0-preview.5]: https://github.com/PowerShell/PowerShell/compare/v7.6.0-preview.4...v7.6.0-preview.5
## [7.6.0-preview.4]
### Breaking Changes
@@ -258,7 +467,7 @@ name, the **ThreadJob** v2.1.0 module is a proxy module that points to the
### Tools
- Added Justin Chung as Powershell team memeber on releaseTools.psm1 (#24672)
- Added Justin Chung as PowerShell team memeber on releaseTools.psm1 (#24672)
### Tests