diff --git a/.pipelines/templates/package-create-msix.yml b/.pipelines/templates/package-create-msix.yml index 255915ab02c..e461bb6efd9 100644 --- a/.pipelines/templates/package-create-msix.yml +++ b/.pipelines/templates/package-create-msix.yml @@ -85,17 +85,44 @@ jobs: $null = Copy-Item -Path $msixFile.FullName -Destination $sourceDir -Force -Verbose } - $file = Get-ChildItem $sourceDir | Select-Object -First 1 - $prefix = ($file.BaseName -split "-win")[0] - $pkgName = "$prefix.msixbundle" - Write-Verbose -Verbose "Creating $pkgName" - $makeappx = '$(MakeAppxPath)' $outputDir = "$sourceDir\output" New-Item $outputDir -Type Directory -Force > $null - & $makeappx bundle /d $sourceDir /p "$outputDir\$pkgName" - Get-ChildItem -Path $sourceDir -Recurse + # Separate LTS and Stable/Preview MSIX files by filename convention + $ltsMsix = @(Get-ChildItem $sourceDir -Filter '*.msix' | Where-Object { $_.BaseName -match '-LTS-' }) + $stableMsix = @(Get-ChildItem $sourceDir -Filter '*.msix' | Where-Object { $_.BaseName -notmatch '-LTS-' }) + + Write-Verbose -Verbose "Stable/Preview MSIX files: $($stableMsix.Name -join ', ')" + Write-Verbose -Verbose "LTS MSIX files: $($ltsMsix.Name -join ', ')" + + # Create Stable/Preview bundle + if ($stableMsix.Count -gt 0) { + $stableDir = "$sourceDir\stable" + New-Item $stableDir -Type Directory -Force > $null + $stableMsix | Copy-Item -Destination $stableDir -Force + $file = $stableMsix | Select-Object -First 1 + $prefix = ($file.BaseName -split "-win")[0] + $stableBundleName = "$prefix.msixbundle" + Write-Verbose -Verbose "Creating Stable/Preview bundle: $stableBundleName" + & $makeappx bundle /d $stableDir /p "$outputDir\$stableBundleName" + } + + # Create LTS bundle + if ($ltsMsix.Count -gt 0) { + $ltsDir = "$sourceDir\lts" + New-Item $ltsDir -Type Directory -Force > $null + $ltsMsix | Copy-Item -Destination $ltsDir -Force + $file = $ltsMsix | Select-Object -First 1 + $prefix = ($file.BaseName -split "-win")[0] + $ltsBundleName = "$prefix.msixbundle" + Write-Verbose -Verbose "Creating LTS bundle: $ltsBundleName" + & $makeappx bundle /d $ltsDir /p "$outputDir\$ltsBundleName" + } + + Write-Verbose -Verbose "Created bundles:" + Get-ChildItem -Path $outputDir -Recurse + $vstsCommandString = "vso[task.setvariable variable=BundleDir]$outputDir" Write-Host "sending " + $vstsCommandString Write-Host "##$vstsCommandString" @@ -112,16 +139,18 @@ jobs: search_root: '$(BundleDir)' - pwsh: | - $signedBundle = Get-ChildItem -Path $(BundleDir) -Filter "*.msixbundle" -File - Write-Verbose -Verbose "Signed bundle: $signedBundle" + $signedBundles = @(Get-ChildItem -Path $(BundleDir) -Filter "*.msixbundle" -File) + Write-Verbose -Verbose "Signed bundles: $($signedBundles.Name -join ', ')" if (-not (Test-Path $(ob_outputDirectory))) { New-Item -ItemType Directory -Path $(ob_outputDirectory) -Force } - Copy-Item -Path $signedBundle.FullName -Destination "$(ob_outputDirectory)" -Verbose + foreach ($bundle in $signedBundles) { + Copy-Item -Path $bundle.FullName -Destination "$(ob_outputDirectory)" -Verbose + } - Write-Verbose -Verbose "Uploaded Bundle:" + Write-Verbose -Verbose "Uploaded Bundles:" Get-ChildItem -Path $(ob_outputDirectory) | Write-Verbose -Verbose displayName: Upload msixbundle to Artifacts @@ -225,6 +254,29 @@ jobs: Write-Host "##vso[task.setvariable variable=ServiceConnection]$($config.ServiceEndpoint)" Write-Host "##vso[task.setvariable variable=SBConfigPath]$($sbConfigPath)" + # Select the correct bundle based on channel + $bundleFiles = @(Get-ChildItem -Path '$(BundleDir)' -Filter '*.msixbundle') + Write-Verbose -Verbose "Available bundles: $($bundleFiles.Name -join ', ')" + + if ($IsLTS) { + $bundleFile = $bundleFiles | Where-Object { $_.Name -match '-LTS-' } + } else { + # Catches Stable or Preview + $bundleFile = $bundleFiles | Where-Object { $_.Name -notmatch '-LTS-' } + } + + if (-not $bundleFile) { + Write-Error "No matching bundle found for channel '$currentChannel'. Available bundles: $($bundleFiles.Name -join ', ')" + exit 1 + } + + # Copy the selected bundle to a dedicated directory for store packaging + $storeBundleDir = '$(Pipeline.Workspace)\releasePipeline\msix\store-bundle' + New-Item $storeBundleDir -Type Directory -Force > $null + Copy-Item -Path $bundleFile.FullName -Destination $storeBundleDir -Force -Verbose + Write-Host "##vso[task.setvariable variable=StoreBundleDir]$storeBundleDir" + Write-Verbose -Verbose "Selected bundle for store packaging: $($bundleFile.Name)" + # These variables are used in the next tasks to determine which ServiceEndpoint to use $ltsValue = $IsLTS.ToString().ToLower() $stableValue = $IsStable.ToString().ToLower() @@ -256,7 +308,7 @@ jobs: inputs: serviceEndpoint: 'StoreAppPublish-Preview' sbConfigPath: '$(SBConfigPath)' - sourceFolder: '$(BundleDir)' + sourceFolder: '$(StoreBundleDir)' contents: '*.msixBundle' outSBName: 'PowerShellStorePackage' pdpPath: '$(System.DefaultWorkingDirectory)/PowerShell/.pipelines/store/PDP/PDP' @@ -268,7 +320,7 @@ jobs: inputs: serviceEndpoint: 'StoreAppPublish-Stable' sbConfigPath: '$(SBConfigPath)' - sourceFolder: '$(BundleDir)' + sourceFolder: '$(StoreBundleDir)' contents: '*.msixBundle' outSBName: 'PowerShellStorePackage' pdpPath: '$(System.DefaultWorkingDirectory)/PowerShell/.pipelines/store/PDP/PDP' diff --git a/.pipelines/templates/packaging/windows/package.yml b/.pipelines/templates/packaging/windows/package.yml index 1f03d65ab21..92926e6aa59 100644 --- a/.pipelines/templates/packaging/windows/package.yml +++ b/.pipelines/templates/packaging/windows/package.yml @@ -136,12 +136,14 @@ jobs: # Don't build LTS packages for rebuild branches $LTS = $metadata.LTSRelease.Package -and -not $isRebuildBranch + $Stable = [bool]$metadata.StableRelease.Package if ($isRebuildBranch) { Write-Verbose -Message "Rebuild branch detected, skipping LTS package build" -Verbose } Write-Verbose -Verbose "LTS: $LTS" + Write-Verbose -Verbose "Stable: $Stable" if ($LTS) { Write-Verbose -Message "LTS Release: $LTS" @@ -175,6 +177,12 @@ jobs: Start-PSPackage -Type $packageTypes -SkipReleaseChecks -WindowsRuntime $WindowsRuntime -ReleaseTag $(ReleaseTagVar) -PackageBinPath $signedFilesPath -LTS:$LTS + # When both LTS and Stable are requested, also build the Stable MSIX + if ($packageTypes -contains 'msix' -and $LTS -and $Stable) { + Write-Verbose -Verbose "Both LTS and Stable packages requested. Building additional Stable MSIX." + Start-PSPackage -Type msix -SkipReleaseChecks -WindowsRuntime $WindowsRuntime -ReleaseTag $(ReleaseTagVar) -PackageBinPath $signedFilesPath + } + displayName: 'Build Packages (Unsigned)' env: __DOTNET_RUNTIME_FEED_KEY: $(RUNTIME_SOURCEFEED_KEY) diff --git a/CHANGELOG/7.6.md b/CHANGELOG/7.6.md new file mode 100644 index 00000000000..47a8d33182f --- /dev/null +++ b/CHANGELOG/7.6.md @@ -0,0 +1,807 @@ +# 7.6 Changelog + +## [7.6.0] + +### General Cmdlet Updates and Fixes + +- Update PowerShell Profile DSC resource manifests to allow `null` for content (#26973) + +### Tests + +- Add GitHub Actions annotations for Pester test failures (#26969) +- Fix `Import-Module.Tests.ps1` to handle Arm32 platform (#26888) + +### Build and Packaging Improvements + +
+ + + +

Update to .NET SDK 10.0.201

+ +
+ + + +
+ +[7.6.0]: https://github.com/PowerShell/PowerShell/compare/v7.6.0-rc.1...v7.6.0 + +## [7.6.0-rc.1] - 2026-02-19 + +### Tests + +- Fix `$PSDefaultParameterValues` leak causing tests to skip unexpectedly (#26705) + +### Build and Packaging Improvements + +
+ + + +

Expand to see details.

+ +
+ + + +
+ +[7.6.0-rc.1]: https://github.com/PowerShell/PowerShell/compare/v7.6.0-preview.6...v7.6.0-rc.1 + +## [7.6.0-preview.6] - 2025-12-11 + +### Engine Updates and Fixes + +- Properly Expand Aliases to their actual ResolvedCommand (#26571) (Thanks @kilasuit!) + +### General Cmdlet Updates and Fixes + +- Update `Microsoft.PowerShell.PSResourceGet` to `v1.2.0-preview5` (#26590) +- Make the experimental feature `PSFeedbackProvider` stable (#26502) +- Fix a regression in the API `CompletionCompleters.CompleteFilename()` that causes null reference exception (#26487) +- Add Delimiter parameter to `Get-Clipboard` (#26572) (Thanks @MartinGC94!) +- Close pipe client handles after creating the child ssh process (#26564) +- Make some experimental features stable (#26490) +- DSC v3 resource for PowerShell Profile (#26447) + +### Tools + +- Add merge conflict marker detection to linux-ci workflow and refactor existing actions to use reusable get-changed-files action (#26530) +- Add reusable get-changed-files action and refactor existing actions (#26529) +- Refactor analyze job to reusable workflow and enable on Windows CI (#26494) + +### Tests + +- Fix merge conflict checker for empty file lists and filter *.cs files (#26556) +- Add markdown link verification for PRs (#26445) + +### Build and Packaging Improvements + +
+ + + +

Expand to see details.

+ +
+ + + +
+ +[7.6.0-preview.6]: https://github.com/PowerShell/PowerShell/compare/v7.6.0-preview.5...v7.6.0-preview.6 + +## [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 + +
+ + + +

We thank the following contributors!

+

@xtqqczze, @mawosoft, @ArmaanMcleod

+ +
+ + + +
+ +### 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 + +
+ + + +

We thank the following contributors!

+

@alerickson, @senerh, @RichardSlater, @xtqqczze

+ +
+ + + +
+ +### 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 + +- Fix `WildcardPattern.Escape` to escape lone backticks correctly (#25211) (Thanks @ArmaanMcleod!) +- Convert `-ChildPath` parameter to `string[]` for `Join-Path` cmdlet (#24677) (Thanks @ArmaanMcleod!) + +PowerShell 7.6-preview.4 includes the following updated modules: + +- **Microsoft.PowerShell.ThreadJob** v2.2.0 +- **ThreadJob** v2.1.0 +The **ThreadJob** module was renamed to **Microsoft.PowerShell.ThreadJob**. There is no difference +in the functionality of the module. To ensure backward compatibility for scripts that use the old +name, the **ThreadJob** v2.1.0 module is a proxy module that points to the +**Microsoft.PowerShell.ThreadJob** v2.2.0. + +### Engine Updates and Fixes + +- Add `PipelineStopToken` to `Cmdlet` which will be signaled when the pipeline is stopping (#24620) (Thanks @jborean93!) +- Fallback to AppLocker after `WldpCanExecuteFile` (#24912) +- Move .NET method invocation logging to after the needed type conversion is done for method arguments (#25022) +- Fix share completion with provider and spaces (#19440) (Thanks @MartinGC94!) + +### General Cmdlet Updates and Fixes + +- Exclude `-OutVariable` assignments within the same `CommandAst` when inferring variables (#25224) (Thanks @MartinGC94!) +- Fix infinite loop in variable type inference (#25206) (Thanks @MartinGC94!) +- Update `Microsoft.PowerShell.PSResourceGet` version in `PSGalleryModules.csproj` (#25135) +- Add tooltips for hashtable key completions (#17864) (Thanks @MartinGC94!) +- Fix type inference of parameters in classic functions (#25172) (Thanks @MartinGC94!) +- Improve assignment type inference (#21143) (Thanks @MartinGC94!) +- Fix `TypeName.GetReflectionType()` to work when the `TypeName` instance represents a generic type definition within a `GenericTypeName` (#24985) +- Remove the old fuzzy suggestion and fix the local script filename suggestion (#25177) +- Improve variable type inference (#19830) (Thanks @MartinGC94!) +- Fix parameter completion when script requirements fail (#17687) (Thanks @MartinGC94!) +- Improve the completion for attribute arguments (#25129) (Thanks @MartinGC94!) +- Fix completion that relies on pseudobinding in script blocks (#25122) (Thanks @MartinGC94!) +- Don't complete duplicate command names (#21113) (Thanks @MartinGC94!) +- Make `SystemPolicy` public APIs visible but non-op on Unix platforms so that they can be included in `PowerShellStandard.Library` (#25051) +- Set standard handles explicitly when starting a process with `-NoNewWindow` (#25061) +- Fix tooltip for variable expansion and include desc (#25112) (Thanks @jborean93!) +- Add type inference for functions without OutputType attribute and anonymous functions (#21127) (Thanks @MartinGC94!) +- Add completion for variables assigned by command redirection (#25104) (Thanks @MartinGC94!) +- Handle type inference for redirected commands (#21131) (Thanks @MartinGC94!) +- Allow empty prefix string in `Import-Module -Prefix` to override default prefix in manifest (#20409) (Thanks @MartinGC94!) +- Update variable/property assignment completion so it can fallback to type inference (#21134) (Thanks @MartinGC94!) +- Use `Get-Help` approach to find `about_*.help.txt` files with correct locale for completions (#24194) (Thanks @MartinGC94!) +- Use script filepath when completing relative paths for using statements (#20017) (Thanks @MartinGC94!) +- Fix completion of variables assigned inside Do loops (#25076) (Thanks @MartinGC94!) +- Fix completion of provider paths when a path returns itself instead of its children (#24755) (Thanks @MartinGC94!) +- Enable completion of scoped variables without specifying scope (#20340) (Thanks @MartinGC94!) +- Fix issue with incomplete results when completing paths with wildcards in non-filesystem providers (#24757) (Thanks @MartinGC94!) +- Allow DSC parsing through OS architecture translation layers (#24852) (Thanks @bdeb1337!) + +### Code Cleanup + +
+ + + +

We thank the following contributors!

+

@ArmaanMcleod, @pressRtowin

+ +
+ + + +
+ +### Tools + +- Check GH token availability for Get-Changelog (#25133) + +### Tests + +- Add XUnit test for `HandleDoubleAndSingleQuote` in CompletionHelpers class (#25181) (Thanks @ArmaanMcleod!) + +### Build and Packaging Improvements + +
+ + + +
+ +### Documentation and Help Content + +- Add 7.4.9 changelog (#25169) +- Create changelog for 7.4.8 (#25089) + +[7.6.0-preview.4]: https://github.com/PowerShell/PowerShell/compare/v7.6.0-preview.3...v7.6.0-preview.4 + +## [7.6.0-preview.3] + +### Breaking Changes + +- Remove trailing space from event source name (#24192) (Thanks @MartinGC94!) + +### General Cmdlet Updates and Fixes + +- Add completion single/double quote support for `-Noun` parameter for `Get-Command` (#24977) (Thanks @ArmaanMcleod!) +- Stringify `ErrorRecord` with empty exception message to empty string (#24949) (Thanks @MatejKafka!) +- Add completion single/double quote support for `-PSEdition` parameter for `Get-Module` (#24971) (Thanks @ArmaanMcleod!) +- Error when `New-Item -Force` is passed an invalid directory name (#24936) (Thanks @kborowinski!) +- Allow `Start-Transcript`to use `$Transcript` which is a `PSObject` wrapped string to specify the transcript path (#24963) (Thanks @kborowinski!) +- Add quote handling in `Verb`, `StrictModeVersion`, `Scope` & `PropertyType` Argument Completers with single helper method (#24839) (Thanks @ArmaanMcleod!) +- Improve `Start-Process -Wait` polling efficiency (#24711) (Thanks @jborean93!) +- Convert `InvalidCommandNameCharacters` in `AnalysisCache` to `SearchValues` for more efficient char searching (#24880) (Thanks @ArmaanMcleod!) +- Convert `s_charactersRequiringQuotes` in Completion Completers to `SearchValues` for more efficient char searching (#24879) (Thanks @ArmaanMcleod!) + +### Code Cleanup + +
+ + + +

We thank the following contributors!

+

@xtqqczze, @fMichaleczek, @ArmaanMcleod

+ +
+ +
    +
  • Fix RunspacePool, RunspacePoolInternal and RemoteRunspacePoolInternal IDisposable implementation (#24720) (Thanks @xtqqczze!)
  • +
  • Remove redundant Attribute suffix (#24940) (Thanks @xtqqczze!)
  • +
  • Fix formatting of the XML comment for SteppablePipeline.Clean() (#24941)
  • +
  • Use Environment.ProcessId in SpecialVariables.PID (#24926) (Thanks @fMichaleczek!)
  • +
  • Replace char[] array in CompletionRequiresQuotes with cached SearchValues (#24907) (Thanks @ArmaanMcleod!)
  • +
  • Update IndexOfAny calls with invalid path/filename to SearchValues<char> for more efficient char searching (#24896) (Thanks @ArmaanMcleod!)
  • +
  • Seal internal types in PlatformInvokes (#24826) (Thanks @xtqqczze!)
  • +
+ +
+ +### Tools + +- Update CODEOWNERS (#24989) + +### Build and Packaging Improvements + +
+ + + +

We thank the following contributors!

+

@xtqqczze, @KyZy7

+ +
+ +
    +
  • Update branch for release - Transitive - false - none (#24995)
  • +
  • Add setup dotnet action to the build composite action (#24996)
  • +
  • Give the pipeline runs meaningful names (#24987)
  • +
  • Fix V-Pack download package name (#24866)
  • +
  • Set LangVersion compiler option to 13.0 in Test.Common.props (#24621) (Thanks @xtqqczze!)
  • +
  • Fix release branch filters (#24933)
  • +
  • Fix GitHub Action filter overmatching (#24929)
  • +
  • Add UseDotnet task for installing dotnet (#24905)
  • +
  • Convert powershell/PowerShell-CI-macos to GitHub Actions (#24914)
  • +
  • Convert powershell/PowerShell-CI-linux to GitHub Actions (#24913)
  • +
  • Convert powershell/PowerShell-Windows-CI to GitHub Actions (#24899)
  • +
  • Fix MSIX stage in release pipeline (#24900)
  • +
  • Update .NET SDK (#24906)
  • +
  • Update metadata.json (#24862)
  • +
  • PMC parse state correctly from update command's response (#24850)
  • +
  • Add EV2 support for publishing PowerShell packages to PMC (#24841)
  • +
  • Remove AzDO credscan as it is now in GitHub (#24842)
  • +
  • Add *.props and sort path filters for windows CI (#24822)
  • +
  • Use work load identity service connection to download makeappx tool from storage account (#24817)
  • +
  • Update path filters for Windows CI (#24809)
  • +
  • Update outdated package references (#24758)
  • +
  • Update metadata.json (#24787) (Thanks @KyZy7!)
  • +
  • Add tool package download in publish nuget stage (#24790)
  • +
  • Fix Changelog content grab during GitHub Release (#24788)
  • +
  • Update metadata.json (#24764)
  • +
  • Update Microsoft.PowerShell.PSResourceGet to 1.1.0 (#24767)
  • +
  • Add a parameter that skips verify packages step (#24763)
  • +
+ +
+ +### Documentation and Help Content + +- Add 7.4.7 Changelog (#24844) +- Create changelog for v7.5.0 (#24808) +- Update Changelog for v7.6.0-preview.2 (#24775) + +[7.6.0-preview.3]: https://github.com/PowerShell/PowerShell/compare/v7.6.0-preview.2...v7.6.0-preview.3 + +## [7.6.0-preview.2] - 2025-01-14 + +### General Cmdlet Updates and Fixes + +- Add the `AIShell` module to telemetry collection list (#24747) +- Add helper in `EnumSingleTypeConverter` to get enum names as array (#17785) (Thanks @fflaten!) +- Return correct FileName property for `Get-Item` when listing alternate data streams (#18019) (Thanks @kilasuit!) +- Add `-ExcludeModule` parameter to `Get-Command` (#18955) (Thanks @MartinGC94!) +- Update Named and Statement block type inference to not consider AssignmentStatements and Increment/decrement operators as part of their output (#21137) (Thanks @MartinGC94!) +- Update `DnsNameList` for `X509Certificate2` to use `X509SubjectAlternativeNameExtension.EnumerateDnsNames` Method (#24714) (Thanks @ArmaanMcleod!) +- Add completion of modules by their shortname (#20330) (Thanks @MartinGC94!) +- Fix `Get-ItemProperty` to report non-terminating error for cast exception (#21115) (Thanks @ArmaanMcleod!) +- Add `-PropertyType` argument completer for `New-ItemProperty` (#21117) (Thanks @ArmaanMcleod!) +- Fix a bug in how `Write-Host` handles `XmlNode` object (#24669) (Thanks @brendandburns!) + +### Code Cleanup + +
+ + + +

We thank the following contributors!

+

@xtqqczze

+ +
+ +
    +
  • Seal ClientRemoteSessionDSHandlerImpl (#21218) (Thanks @xtqqczze!)
  • +
  • Seal internal type ClientRemoteSessionDSHandlerImpl (#24705) (Thanks @xtqqczze!)
  • +
  • Seal classes in RemotingProtocol2 (#21164) (Thanks @xtqqczze!)
  • +
+ +
+ +### Tools + +- Added Justin Chung as PowerShell team memeber on releaseTools.psm1 (#24672) + +### Tests + +- Skip CIM ETS member test on older Windows platforms (#24681) + +### Build and Packaging Improvements + +
+ + + +

Updated SDK to 9.0.101

+ +
+ +
    +
  • Update branch for release - Transitive - false - none (#24754)
  • +
  • Update Microsoft.PowerShell.PSResourceGet to 1.1.0 (#24767)
  • +
  • Add a parameter that skips verify packages step (#24763)
  • +
  • Make the AssemblyVersion not change for servicing releases (#24667)
  • +
  • Fixed release pipeline errors and switched to KS3 (#24751)
  • +
  • Update outdated package references (#24580)
  • +
  • Bump actions/upload-artifact from 4.4.3 to 4.5.0 (#24689)
  • +
  • Update .NET feed with new domain as azureedge is retiring (#24703)
  • +
  • Bump super-linter/super-linter from 7.2.0 to 7.2.1 (#24678)
  • +
  • Bump github/codeql-action from 3.27.7 to 3.27.9 (#24674)
  • +
  • Bump actions/dependency-review-action from 4.4.0 to 4.5.0 (#24607)
  • +
+ +
+ +### Documentation and Help Content + +- Update cmdlets WG members (#24275) (Thanks @kilasuit!) + +[7.6.0-preview.2]: https://github.com/PowerShell/PowerShell/compare/v7.6.0-preview.1...v7.6.0-preview.2 + +## [7.6.0-preview.1] - 2024-12-16 + +### Breaking Changes + +- Treat large Enum values as numbers in `ConvertTo-Json` (#20999) (Thanks @jborean93!) + +### General Cmdlet Updates and Fixes + +- Add proper error for running `Get-PSSession -ComputerName` on Unix (#21009) (Thanks @jborean93!) +- Resolve symbolic link target relative to the symbolic link instead of the working directory (#15235) (#20943) (Thanks @MatejKafka!) +- Fix up buffer management getting network roots (#24600) (Thanks @jborean93!) +- Support `PSObject` wrapped values in `ArgumentToEncodingTransformationAttribute` (#24555) (Thanks @jborean93!) +- Update PSReadLine to 2.3.6 (#24380) +- Add telemetry to track the use of features (#24247) +- Handle global tool specially when prepending `PSHome` to `PATH` (#24228) +- Fix how processor architecture is validated in `Import-Module` (#24265) +- Make features `PSCommandNotFoundSuggestion`, `PSCommandWithArgs`, and `PSModuleAutoLoadSkipOfflineFiles` stable (#24246) +- Write type data to the pipeline instead of collecting it (#24236) (Thanks @MartinGC94!) +- Add support to `Get-Error` to handle BoundParameters (#20640) +- Fix `Get-FormatData` to not cast a type incorrectly (#21157) +- Delay progress bar in `Copy-Item` and `Remove-Item` cmdlets (#24013) (Thanks @TheSpyGod!) +- Add `-Force` parameter to `Resolve-Path` and `Convert-Path` cmdlets to support wildcard hidden files (#20981) (Thanks @ArmaanMcleod!) +- Use host exe to determine `$PSHOME` location when `SMA.dll` location is not found (#24072) +- Fix `Test-ModuleManifest` so it can use a UNC path (#24115) + +### Code Cleanup + +
+ + + +

We thank the following contributors!

+

@eltociear, @JayBazuzi

+ +
+ +
    +
  • Fix typos in ShowModuleControl.xaml.cs (#24248) (Thanks @eltociear!)
  • +
  • Fix a typo in the build doc (#24172) (Thanks @JayBazuzi!)
  • +
+ +
+ +### Tools + +- Fix devcontainer extensions key (#24359) (Thanks @ThomasNieto!) +- Support new backport branch format (#24378) +- Update markdownLink.yml to not run on release branches (#24323) +- Remove old code that downloads msix for win-arm64 (#24175) + +### Tests + +- Fix cleanup in PSResourceGet test (#24339) + +### Build and Packaging Improvements + +
+ + + +

We thank the following contributors!

+

@MartinGC94, @jborean93, @xtqqczze, @alerickson, @iSazonov, @rzippo

+ +
+ +
    +
  • Deploy Box update (#24632)
  • +
  • Remove Regex use (#24235) (Thanks @MartinGC94!)
  • +
  • Improve cim ETS member inference completion (#24235) (Thanks @MartinGC94!)
  • +
  • Emit ProgressRecord in CLIXML minishell output (#21373) (Thanks @jborean93!)
  • +
  • Assign the value returned by the MaybeAdd method
  • (#24652) +
  • Add support for interface static abstract props (#21061) (Thanks @jborean93!)
  • +
  • Change call to optional add in the binder expression (#24451) (Thanks @jborean93!)
  • +
  • Turn off AMSI member invocation on nix release builds (#24451) (Thanks @jborean93!)
  • +
  • Bump github/codeql-action from 3.27.0 to 3.27.6 (#24639)
  • +
  • Update src/Microsoft.PowerShell.ConsoleHost/host/msh/ConsoleHost.cs (#24239) (Thanks @jborean93!)
  • +
  • Apply suggestions from code review (#24239) (Thanks @jborean93!)
  • +
  • Add remote runspace check for PushRunspace (#24239) (Thanks @jborean93!)
  • +
  • Set LangVersion compiler option to 13.0 (#24619) (Thanks @xtqqczze!)
  • +
  • Set LangVersion compiler option to 13.0 (#24617) (Thanks @xtqqczze!)
  • +
  • Update metadata.json for PowerShell 7.5 RC1 release (#24589)
  • +
  • Update nuget publish to use Deploy Box (#24596)
  • +
  • Added Deploy Box Product Pathway to GitHub Release and NuGet Release Pipelines (#24583)
  • +
  • Update machine pool for copy blob and upload buildinfo stage (#24587)
  • +
  • Bump .NET 9 and dependencies (#24573)
  • +
  • Bump actions/dependency-review-action from 4.3.4 to 4.4.0 (#24503)
  • +
  • Bump actions/checkout from 4.2.1 to 4.2.2 (#24488)
  • +
  • Bump agrc/reminder-action from 1.0.14 to 1.0.15 (#24384)
  • +
  • Bump actions/upload-artifact from 4.4.0 to 4.4.3 (#24410)
  • +
  • Update branch for release (#24534)
  • +
  • Revert "Update package references (#24414)" (#24532)
  • +
  • Add a way to use only NuGet feed sources (#24528)
  • +
  • Update PSResourceGet to v1.1.0-RC2 (#24512) (Thanks @alerickson!)
  • +
  • Bump .NET to 9.0.100-rc.2.24474.11 (#24509)
  • +
  • Fix seed max value for Container Linux CI (#24510)
  • +
  • Update metadata.json for 7.2.24 and 7.4.6 releases (#24484)
  • +
  • Download package from package build for generating vpack (#24481)
  • +
  • Keep the roff file when gzipping it. (#24450)
  • +
  • Delete the msix blob if it's already there (#24353)
  • +
  • Add PMC mapping for debian 12 (bookworm) (#24413)
  • +
  • Checkin generated manpage (#24423)
  • +
  • Add CodeQL scanning to APIScan build (#24303)
  • +
  • Update package references (#24414)
  • +
  • Update vpack pipeline (#24281)
  • +
  • Bring changes from v7.5.0-preview.5 Release Branch to Master (#24369)
  • +
  • Bump agrc/create-reminder-action from 1.1.15 to 1.1.16 (#24375)
  • +
  • Add BaseUrl to buildinfo json file (#24376)
  • +
  • Update metadata.json (#24352)
  • +
  • Copy to static site instead of making blob public (#24269)
  • +
  • Update Microsoft.PowerShell.PSResourceGet to 1.1.0-preview2 (#24300) (Thanks @alerickson!)
  • +
  • add updated libicu dependency for debian packages (#24301)
  • +
  • add mapping to azurelinux repo (#24290)
  • +
  • Remove the MD5 branch in the strong name signing token calculation (#24288)
  • +
  • Bump .NET 9 to 9.0.100-rc.1.24452.12 (#24273)
  • +
  • Ensure the official build files CodeQL issues (#24278)
  • +
  • Update experimental-feature json files (#24271)
  • +
  • Make some release tests run in a hosted pools (#24270)
  • +
  • Do not build the exe for Global tool shim project (#24263)
  • +
  • Update and add new NuGet package sources for different environments. (#24264)
  • +
  • Bump skitionek/notify-microsoft-teams (#24261)
  • +
  • Create new pipeline for compliance (#24252)
  • +
  • Capture environment better (#24148)
  • +
  • Add specific path for issues in tsaconfig (#24244)
  • +
  • Use Managed Identity for APIScan authentication (#24243)
  • +
  • Add windows signing for pwsh.exe (#24219)
  • +
  • Bump super-linter/super-linter from 7.0.0 to 7.1.0 (#24223)
  • +
  • Update the URLs used in nuget.config files (#24203)
  • +
  • Check Create and Submit in vPack build by default (#24181)
  • +
  • Replace PSVersion source generator with incremental one (#23815) (Thanks @iSazonov!)
  • +
  • Save man files in /usr/share/man instead of /usr/local/share/man (#23855) (Thanks @rzippo!)
  • +
  • Bump super-linter/super-linter from 6.8.0 to 7.0.0 (#24169)
  • +
+ +
+ +### Documentation and Help Content + +- Updated Third Party Notices (#24666) +- Update `HelpInfoUri` for 7.5 (#24610) +- Update changelog for v7.4.6 release (#24496) +- Update to the latest NOTICES file (#24259) +- Update the changelog `preview.md` (#24213) +- Update changelog readme with 7.4 (#24182) (Thanks @ThomasNieto!) +- Fix Markdown linting error (#24204) +- Updated changelog for v7.2.23 (#24196) (Internal 32131) +- Update changelog and `metadata.json` for v7.4.5 release (#24183) +- Bring 7.2 changelogs back to master (#24158) + +[7.6.0-preview.1]: https://github.com/PowerShell/PowerShell/compare/v7.5.0-rc.1...v7.6.0-preview.1 diff --git a/CHANGELOG/preview.md b/CHANGELOG/preview.md index 851640f8cc5..8e97635bada 100644 --- a/CHANGELOG/preview.md +++ b/CHANGELOG/preview.md @@ -1,761 +1,2 @@ # Preview Changelog -## [7.6.0-rc.1] - 2026-02-19 - -### Tests - -- Fix `$PSDefaultParameterValues` leak causing tests to skip unexpectedly (#26705) - -### Build and Packaging Improvements - -
- - - -

Expand to see details.

- -
- -
    -
  • Update branch for release (#26779)
  • -
  • Update Microsoft.PowerShell.PSResourceGet version to 1.2.0-rc3 (#26767)
  • -
  • Update Microsoft.PowerShell.Native package version (#26748)
  • -
  • Move PowerShell build to depend on .NET SDK 10.0.102 (#26717)
  • -
  • Fix buildinfo.json uploading for preview, LTS, and stable releases (#26715)
  • -
  • Fix macOS preview package identifier detection to use version string (#26709)
  • -
  • Update metadata.json to update the Latest attribute with a better name (#26708)
  • -
  • Remove unused runCodesignValidationInjection variable from pipeline templates (#26707)
  • -
  • Update Get-ChangeLog to handle backport PRs correctly (#26706)
  • -
  • Bring release changes from the v7.6.0-preview.6 release (#26626)
  • -
  • Fix the DSC test by skipping AfterAll cleanup if the initial setup in BeforeAll failed (#26622)
  • -
- -
- -[7.6.0-rc.1]: https://github.com/PowerShell/PowerShell/compare/v7.6.0-preview.6...v7.6.0-rc.1 - -## [7.6.0-preview.6] - 2025-12-11 - -### Engine Updates and Fixes - -- Properly Expand Aliases to their actual ResolvedCommand (#26571) (Thanks @kilasuit!) - -### General Cmdlet Updates and Fixes - -- Update `Microsoft.PowerShell.PSResourceGet` to `v1.2.0-preview5` (#26590) -- Make the experimental feature `PSFeedbackProvider` stable (#26502) -- Fix a regression in the API `CompletionCompleters.CompleteFilename()` that causes null reference exception (#26487) -- Add Delimiter parameter to `Get-Clipboard` (#26572) (Thanks @MartinGC94!) -- Close pipe client handles after creating the child ssh process (#26564) -- Make some experimental features stable (#26490) -- DSC v3 resource for PowerShell Profile (#26447) - -### Tools - -- Add merge conflict marker detection to linux-ci workflow and refactor existing actions to use reusable get-changed-files action (#26530) -- Add reusable get-changed-files action and refactor existing actions (#26529) -- Refactor analyze job to reusable workflow and enable on Windows CI (#26494) - -### Tests - -- Fix merge conflict checker for empty file lists and filter *.cs files (#26556) -- Add markdown link verification for PRs (#26445) - -### Build and Packaging Improvements - -
- - - -

Expand to see details.

- -
- -
    -
  • Fix template path for rebuild branch check in package.yml (#26560)
  • -
  • Update the macos package name for preview releases to match the previous pattern (#26576)
  • -
  • Add rebuild branch support with conditional MSIX signing (#26573)
  • -
  • Update the WCF packages to the latest version that is compatible with v4.10.3 (#26503)
  • -
  • Improve ADO package build and validation across platforms (#26532)
  • -
  • Mirror .NET/runtime ICU version range in PowerShell (#26563) (Thanks @kasperk81!)
  • -
  • Update the macos package name for preview releases to match the previous pattern (#26562)
  • -
  • Fix condition syntax for StoreBroker package tasks in MSIX pipeline (#26561)
  • -
  • Move package validation to package pipeline (#26558)
  • -
  • Optimize/split windows package signing (#26557)
  • -
  • Remove usage of fpm for DEB package generation (#26504)
  • -
  • Add log grouping to build.psm1 for collapsible GitHub Actions logs (#26524)
  • -
  • Replace fpm with native macOS packaging tools (pkgbuild/productbuild) (#26501)
  • -
  • Replace fpm with native rpmbuild for RPM package generation (#26441)
  • -
  • Fix GitHub API rate limit errors in test actions (#26492)
  • -
  • Convert Azure DevOps Linux Packaging pipeline to GitHub Actions workflow (#26493)
  • -
  • Refactor: Centralize xUnit tests into reusable workflow and remove legacy verification (#26488)
  • -
  • Fix build to only enable ready-to-run for the Release configuration (#26481)
  • -
  • Integrate Windows packaging into windows-ci workflow using reusable workflow (#26468)
  • -
  • Update outdated package references (#26471)
  • -
  • GitHub Workflow cleanup (#26439)
  • -
  • Update PSResourceGet package version to preview4 (#26438)
  • -
  • Update PSReadLine to v2.4.5 (#26446)
  • -
  • Add network isolation policy parameter to vPack pipeline (#26444)
  • -
  • Fix a couple more lint errors
  • -
  • Fix lint errors in preview.md
  • -
  • Make MSIX publish stage dependent on SetReleaseTagandContainerName stage
  • -
- -
- -[7.6.0-preview.6]: https://github.com/PowerShell/PowerShell/compare/v7.6.0-preview.5...v7.6.0-preview.6 - -## [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 - -
- - - -

We thank the following contributors!

-

@xtqqczze, @mawosoft, @ArmaanMcleod

- -
- -
    -
  • Enable CA2021: Do not call Enumerable.Cast or Enumerable.OfType with incompatible types (#25813) (Thanks @xtqqczze!)
  • -
  • Remove some unused ConsoleControl structs (#26063) (Thanks @xtqqczze!)
  • -
  • Remove unused FileStreamBackReader.NativeMethods type (#26062) (Thanks @xtqqczze!)
  • -
  • Ensure data-serialization files end with one newline (#26039) (Thanks @xtqqczze!)
  • -
  • Remove unnecessary CS0618 suppressions from Variant APIs (#26006) (Thanks @xtqqczze!)
  • -
  • Ensure .cs files end with exactly one newline (#25968) (Thanks @xtqqczze!)
  • -
  • Remove obsolete CA2105 rule suppression (#25938) (Thanks @xtqqczze!)
  • -
  • Remove obsolete CA1703 rule suppression (#25955) (Thanks @xtqqczze!)
  • -
  • Remove obsolete CA2240 rule suppression (#25957) (Thanks @xtqqczze!)
  • -
  • Remove obsolete CA1701 rule suppression (#25948) (Thanks @xtqqczze!)
  • -
  • Remove obsolete CA2233 rule suppression (#25951) (Thanks @xtqqczze!)
  • -
  • Remove obsolete CA1026 rule suppression (#25934) (Thanks @xtqqczze!)
  • -
  • Remove obsolete CA1059 rule suppression (#25940) (Thanks @xtqqczze!)
  • -
  • Remove obsolete CA2118 rule suppression (#25924) (Thanks @xtqqczze!)
  • -
  • Remove redundant System.Runtime.Versioning attributes (#25926) (Thanks @xtqqczze!)
  • -
  • Seal internal types in Microsoft.PowerShell.Commands.Utility (#25892) (Thanks @xtqqczze!)
  • -
  • Seal internal types in Microsoft.PowerShell.Commands.Management (#25849) (Thanks @xtqqczze!)
  • -
  • Make the interface IDeepCloneable internal to minimize confusion (#25552)
  • -
  • Remove OnDeserialized and Serializable attributes from Microsoft.Management.UI.Internal project (#25548)
  • -
  • Refactor Tooltip/ListItemText mapping to use CompletionDisplayInfoMapper delegate (#25395) (Thanks @ArmaanMcleod!)
  • -
- -
- -### 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 - -
- - - -

We thank the following contributors!

-

@alerickson, @senerh, @RichardSlater, @xtqqczze

- -
- -
    -
  • Update package references for the master branch (#26124)
  • -
  • Remove ThreadJob module and update PSReadLine to 2.4.4-beta4 (#26120)
  • -
  • Automate Store Publishing (#25725)
  • -
  • Add global config change detection to action (#26082)
  • -
  • Update outdated package references (#26069)
  • -
  • Ensure that the workflows are triggered on .globalconfig and other files at the root of the repo (#26034)
  • -
  • Update Microsoft.PowerShell.PSResourceGet to 1.2.0-preview3 (#26056) (Thanks @alerickson!)
  • -
  • Update metadata for Stable to v7.5.3 and LTS to v7.4.12 (#26054) (Thanks @senerh!)
  • -
  • Bump github/codeql-action from 3.30.2 to 3.30.3 (#26036)
  • -
  • Update version for the package Microsoft.PowerShell.Native (#26041)
  • -
  • Fix the APIScan pipeline (#26016)
  • -
  • Move PowerShell build to use .NET SDK 10.0.100-rc.1 (#26027)
  • -
  • fix(apt-package): add libicu76 dependency to support Debian 13 (#25866) (Thanks @RichardSlater!)
  • -
  • Bump github/codeql-action from 3.30.1 to 3.30.2 (#26029)
  • -
  • Update Ev2 Shell Extension Image to AzureLinux 3 for PMC Release (#26025)
  • -
  • Bump github/codeql-action from 3.30.0 to 3.30.1 (#26008)
  • -
  • Bump actions/github-script from 7 to 8 (#25983)
  • -
  • Fix variable reference for release environment in pipeline (#26012)
  • -
  • Add LinuxHost Network configuration to PowerShell Packages pipeline (#26000)
  • -
  • Make logical template name consistent between pipelines (#25990)
  • -
  • Update container images to use mcr.microsoft.com for Linux and Azure GǪ (#25981)
  • -
  • Bump github/codeql-action from 3.29.11 to 3.30.0 (#25966)
  • -
  • Bump actions/setup-dotnet from 4 to 5 (#25978)
  • -
  • Add build to vPack Pipeline (#25915)
  • -
  • Replace DOTNET_SKIP_FIRST_TIME_EXPERIENCE with DOTNET_NOLOGO (#25946) (Thanks @xtqqczze!)
  • -
  • Bump actions/dependency-review-action from 4.7.2 to 4.7.3 (#25930)
  • -
  • Bump github/codeql-action from 3.29.10 to 3.29.11 (#25889)
  • -
  • Remove AsyncSDL from Pipelines Toggle Official/NonOfficial Runs (#25885)
  • -
  • Specify .NET Search by Build Type (#25837)
  • -
  • Update PowerShell to use .NET SDK v10-preview.7 (#25876)
  • -
  • Bump actions/dependency-review-action from 4.7.1 to 4.7.2 (#25882)
  • -
  • Bump github/codeql-action from 3.29.9 to 3.29.10 (#25881)
  • -
  • Change the macos runner image to macos 15 large (#25867)
  • -
  • Bump actions/checkout from 4 to 5 (#25853)
  • -
  • Bump github/codeql-action from 3.29.7 to 3.29.9 (#25857)
  • -
  • Update to .NET 10 Preview 6 (#25828)
  • -
  • Bump agrc/create-reminder-action from 1.1.20 to 1.1.22 (#25808)
  • -
  • Bump agrc/reminder-action from 1.0.17 to 1.0.18 (#25807)
  • -
  • Bump github/codeql-action from 3.28.19 to 3.29.5 (#25797)
  • -
  • Bump super-linter/super-linter from 7.4.0 to 8.0.0 (#25770)
  • -
  • Update metadata for v7.5.2 and v7.4.11 releases (#25687)
  • -
  • Correct Capitalization Referencing Templates (#25669)
  • -
  • Change linux packaging tests to ubuntu latest (#25634)
  • -
  • Bump github/codeql-action from 3.28.18 to 3.28.19 (#25636)
  • -
  • Move to .NET 10 preview 4 and update package references (#25602)
  • -
  • Revert "Add windows signing for pwsh.exe" (#25586)
  • -
  • Bump ossf/scorecard-action from 2.4.1 to 2.4.2 (#25628)
  • -
  • Publish .msixbundle package as a VPack (#25612)
  • -
  • Bump agrc/reminder-action from 1.0.16 to 1.0.17 (#25573)
  • -
  • Bump agrc/create-reminder-action from 1.1.18 to 1.1.20 (#25572)
  • -
  • Bump github/codeql-action from 3.28.17 to 3.28.18 (#25580)
  • -
  • Bump super-linter/super-linter from 7.3.0 to 7.4.0 (#25563)
  • -
  • Bump actions/dependency-review-action from 4.7.0 to 4.7.1 (#25562)
  • -
  • Update metadata.json with 7.4.10 (#25554)
  • -
  • Bump github/codeql-action from 3.28.16 to 3.28.17 (#25508)
  • -
  • Bump actions/dependency-review-action from 4.6.0 to 4.7.0 (#25529)
  • -
  • Move MSIXBundle to Packages and Release to GitHub (#25512)
  • -
  • Update outdated package references (#25506)
  • -
  • Bump github/codeql-action from 3.28.15 to 3.28.16 (#25429)
  • -
  • Fix Conditional Parameter to Skip NuGet Publish (#25468)
  • -
  • Update metadata.json (#25438)
  • -
  • Fix MSIX artifact upload, vPack template, changelog hashes, git tag command (#25437)
  • -
  • Use new variables template for vPack (#25434)
  • -
  • Bump agrc/create-reminder-action from 1.1.17 to 1.1.18 (#25416)
  • -
  • Add PSScriptAnalyzer (#25423)
  • -
  • Update outdated package references (#25392)
  • -
  • Use GitHubReleaseTask instead of custom script (#25398)
  • -
  • Update APIScan to use new symbols server (#25388)
  • -
  • Retry ClearlyDefined operations (#25385)
  • -
  • Update to .NET 10.0.100-preview.3 (#25358)
  • -
  • Enhance path filters action to set outputs for all changes when not a PR (#25367)
  • -
  • Combine GitHub and Nuget Release Stage (#25318)
  • -
  • Add Windows Store Signing to MSIX bundle (#25296)
  • -
  • Bump skitionek/notify-microsoft-teams from 190d4d92146df11f854709774a4dae6eaf5e2aa3 to e7a2493ac87dad8aa7a62f079f295e54ff511d88 (#25366)
  • -
  • Add CodeQL suppressions for PowerShell intended behavior (#25359)
  • -
  • Migrate MacOS Signing to OneBranch (#25295)
  • -
  • Bump github/codeql-action from 3.28.13 to 3.28.15 (#25290)
  • -
  • Update test result processing to use NUnitXml format and enhance logging for better clarity (#25288)
  • -
  • Fix R2R for fxdependent packaging (#26131)
  • -
  • Remove UseDotnet task and use the dotnet-install script (#26093)
  • -
- -
- -### 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 - -- Fix `WildcardPattern.Escape` to escape lone backticks correctly (#25211) (Thanks @ArmaanMcleod!) -- Convert `-ChildPath` parameter to `string[]` for `Join-Path` cmdlet (#24677) (Thanks @ArmaanMcleod!) - -PowerShell 7.6-preview.4 includes the following updated modules: - -- **Microsoft.PowerShell.ThreadJob** v2.2.0 -- **ThreadJob** v2.1.0 -The **ThreadJob** module was renamed to **Microsoft.PowerShell.ThreadJob**. There is no difference -in the functionality of the module. To ensure backward compatibility for scripts that use the old -name, the **ThreadJob** v2.1.0 module is a proxy module that points to the -**Microsoft.PowerShell.ThreadJob** v2.2.0. - -### Engine Updates and Fixes - -- Add `PipelineStopToken` to `Cmdlet` which will be signaled when the pipeline is stopping (#24620) (Thanks @jborean93!) -- Fallback to AppLocker after `WldpCanExecuteFile` (#24912) -- Move .NET method invocation logging to after the needed type conversion is done for method arguments (#25022) -- Fix share completion with provider and spaces (#19440) (Thanks @MartinGC94!) - -### General Cmdlet Updates and Fixes - -- Exclude `-OutVariable` assignments within the same `CommandAst` when inferring variables (#25224) (Thanks @MartinGC94!) -- Fix infinite loop in variable type inference (#25206) (Thanks @MartinGC94!) -- Update `Microsoft.PowerShell.PSResourceGet` version in `PSGalleryModules.csproj` (#25135) -- Add tooltips for hashtable key completions (#17864) (Thanks @MartinGC94!) -- Fix type inference of parameters in classic functions (#25172) (Thanks @MartinGC94!) -- Improve assignment type inference (#21143) (Thanks @MartinGC94!) -- Fix `TypeName.GetReflectionType()` to work when the `TypeName` instance represents a generic type definition within a `GenericTypeName` (#24985) -- Remove the old fuzzy suggestion and fix the local script filename suggestion (#25177) -- Improve variable type inference (#19830) (Thanks @MartinGC94!) -- Fix parameter completion when script requirements fail (#17687) (Thanks @MartinGC94!) -- Improve the completion for attribute arguments (#25129) (Thanks @MartinGC94!) -- Fix completion that relies on pseudobinding in script blocks (#25122) (Thanks @MartinGC94!) -- Don't complete duplicate command names (#21113) (Thanks @MartinGC94!) -- Make `SystemPolicy` public APIs visible but non-op on Unix platforms so that they can be included in `PowerShellStandard.Library` (#25051) -- Set standard handles explicitly when starting a process with `-NoNewWindow` (#25061) -- Fix tooltip for variable expansion and include desc (#25112) (Thanks @jborean93!) -- Add type inference for functions without OutputType attribute and anonymous functions (#21127) (Thanks @MartinGC94!) -- Add completion for variables assigned by command redirection (#25104) (Thanks @MartinGC94!) -- Handle type inference for redirected commands (#21131) (Thanks @MartinGC94!) -- Allow empty prefix string in `Import-Module -Prefix` to override default prefix in manifest (#20409) (Thanks @MartinGC94!) -- Update variable/property assignment completion so it can fallback to type inference (#21134) (Thanks @MartinGC94!) -- Use `Get-Help` approach to find `about_*.help.txt` files with correct locale for completions (#24194) (Thanks @MartinGC94!) -- Use script filepath when completing relative paths for using statements (#20017) (Thanks @MartinGC94!) -- Fix completion of variables assigned inside Do loops (#25076) (Thanks @MartinGC94!) -- Fix completion of provider paths when a path returns itself instead of its children (#24755) (Thanks @MartinGC94!) -- Enable completion of scoped variables without specifying scope (#20340) (Thanks @MartinGC94!) -- Fix issue with incomplete results when completing paths with wildcards in non-filesystem providers (#24757) (Thanks @MartinGC94!) -- Allow DSC parsing through OS architecture translation layers (#24852) (Thanks @bdeb1337!) - -### Code Cleanup - -
- - - -

We thank the following contributors!

-

@ArmaanMcleod, @pressRtowin

- -
- -
    -
  • Refactor and add comments to CompletionRequiresQuotes to clarify implementation (#25223) (Thanks @ArmaanMcleod!)
  • -
  • Add QuoteCompletionText method to CompletionHelpers class (#25180) (Thanks @ArmaanMcleod!)
  • -
  • Remove CompletionHelpers escape parameter from CompletionRequiresQuotes (#25178) (Thanks @ArmaanMcleod!)
  • -
  • Refactor CompletionHelpers HandleDoubleAndSingleQuote to have less nesting logic (#25179) (Thanks @ArmaanMcleod!)
  • -
  • Make the use of Oxford commas consistent (#25139)(#25140)(Thanks @pressRtowin!)
  • -
  • Move common completion methods to CompletionHelpers class (#25138) (Thanks @ArmaanMcleod!)
  • -
  • Return Array.Empty instead of collection [] (#25137) (Thanks @ArmaanMcleod!)
  • -
- -
- -### Tools - -- Check GH token availability for Get-Changelog (#25133) - -### Tests - -- Add XUnit test for `HandleDoubleAndSingleQuote` in CompletionHelpers class (#25181) (Thanks @ArmaanMcleod!) - -### Build and Packaging Improvements - -
- -
    -
  • Switch to ubuntu-lastest for CI (#25247)
  • -
  • Update outdated package references (#25026)(#25232)
  • -
  • Bump Microsoft.PowerShell.ThreadJob and ThreadJob modules (#25232)
  • -
  • Bump github/codeql-action from 3.27.9 to 3.28.13 (#25218)(#25231)
  • -
  • Update .NET SDK to 10.0.100-preview.2 (#25154)(#25225)
  • -
  • Remove obsolete template from Windows Packaging CI (#25226)
  • -
  • Bump actions/upload-artifact from 4.5.0 to 4.6.2 (#25220)
  • -
  • Bump agrc/reminder-action from 1.0.15 to 1.0.16 (#25222)
  • -
  • Bump actions/checkout from 2 to 4 (#25221)
  • -
  • Add NoWarn NU1605 to System.ServiceModel.* (#25219)
  • -
  • Bump actions/github-script from 6 to 7 (#25217)
  • -
  • Bump ossf/scorecard-action from 2.4.0 to 2.4.1 (#25216)
  • -
  • Bump super-linter/super-linter from 7.2.1 to 7.3.0 (#25215)
  • -
  • Bump agrc/create-reminder-action from 1.1.16 to 1.1.17 (#25214)
  • -
  • Remove dependabot updates that don't work (#25213)
  • -
  • Update GitHub Actions to work in private GitHub repo (#25197)
  • -
  • Cleanup old release pipelines (#25201)
  • -
  • Update package pipeline windows image version (#25191)
  • -
  • Skip additional packages when generating component manifest (#25102)
  • -
  • Only build Linux for packaging changes (#25103)
  • -
  • Remove Az module installs and AzureRM uninstalls in pipeline (#25118)
  • -
  • Add GitHub Actions workflow to verify PR labels (#25145)
  • -
  • Add back-port workflow using dotnet/arcade (#25106)
  • -
  • Make Component Manifest Updater use neutral target in addition to RID target (#25094)
  • -
  • Make sure the vPack pipeline does not produce an empty package (#24988)
  • -
- -
- -### Documentation and Help Content - -- Add 7.4.9 changelog (#25169) -- Create changelog for 7.4.8 (#25089) - -[7.6.0-preview.4]: https://github.com/PowerShell/PowerShell/compare/v7.6.0-preview.3...v7.6.0-preview.4 - -## [7.6.0-preview.3] - -### Breaking Changes - -- Remove trailing space from event source name (#24192) (Thanks @MartinGC94!) - -### General Cmdlet Updates and Fixes - -- Add completion single/double quote support for `-Noun` parameter for `Get-Command` (#24977) (Thanks @ArmaanMcleod!) -- Stringify `ErrorRecord` with empty exception message to empty string (#24949) (Thanks @MatejKafka!) -- Add completion single/double quote support for `-PSEdition` parameter for `Get-Module` (#24971) (Thanks @ArmaanMcleod!) -- Error when `New-Item -Force` is passed an invalid directory name (#24936) (Thanks @kborowinski!) -- Allow `Start-Transcript`to use `$Transcript` which is a `PSObject` wrapped string to specify the transcript path (#24963) (Thanks @kborowinski!) -- Add quote handling in `Verb`, `StrictModeVersion`, `Scope` & `PropertyType` Argument Completers with single helper method (#24839) (Thanks @ArmaanMcleod!) -- Improve `Start-Process -Wait` polling efficiency (#24711) (Thanks @jborean93!) -- Convert `InvalidCommandNameCharacters` in `AnalysisCache` to `SearchValues` for more efficient char searching (#24880) (Thanks @ArmaanMcleod!) -- Convert `s_charactersRequiringQuotes` in Completion Completers to `SearchValues` for more efficient char searching (#24879) (Thanks @ArmaanMcleod!) - -### Code Cleanup - -
- - - -

We thank the following contributors!

-

@xtqqczze, @fMichaleczek, @ArmaanMcleod

- -
- -
    -
  • Fix RunspacePool, RunspacePoolInternal and RemoteRunspacePoolInternal IDisposable implementation (#24720) (Thanks @xtqqczze!)
  • -
  • Remove redundant Attribute suffix (#24940) (Thanks @xtqqczze!)
  • -
  • Fix formatting of the XML comment for SteppablePipeline.Clean() (#24941)
  • -
  • Use Environment.ProcessId in SpecialVariables.PID (#24926) (Thanks @fMichaleczek!)
  • -
  • Replace char[] array in CompletionRequiresQuotes with cached SearchValues (#24907) (Thanks @ArmaanMcleod!)
  • -
  • Update IndexOfAny calls with invalid path/filename to SearchValues<char> for more efficient char searching (#24896) (Thanks @ArmaanMcleod!)
  • -
  • Seal internal types in PlatformInvokes (#24826) (Thanks @xtqqczze!)
  • -
- -
- -### Tools - -- Update CODEOWNERS (#24989) - -### Build and Packaging Improvements - -
- - - -

We thank the following contributors!

-

@xtqqczze, @KyZy7

- -
- -
    -
  • Update branch for release - Transitive - false - none (#24995)
  • -
  • Add setup dotnet action to the build composite action (#24996)
  • -
  • Give the pipeline runs meaningful names (#24987)
  • -
  • Fix V-Pack download package name (#24866)
  • -
  • Set LangVersion compiler option to 13.0 in Test.Common.props (#24621) (Thanks @xtqqczze!)
  • -
  • Fix release branch filters (#24933)
  • -
  • Fix GitHub Action filter overmatching (#24929)
  • -
  • Add UseDotnet task for installing dotnet (#24905)
  • -
  • Convert powershell/PowerShell-CI-macos to GitHub Actions (#24914)
  • -
  • Convert powershell/PowerShell-CI-linux to GitHub Actions (#24913)
  • -
  • Convert powershell/PowerShell-Windows-CI to GitHub Actions (#24899)
  • -
  • Fix MSIX stage in release pipeline (#24900)
  • -
  • Update .NET SDK (#24906)
  • -
  • Update metadata.json (#24862)
  • -
  • PMC parse state correctly from update command's response (#24850)
  • -
  • Add EV2 support for publishing PowerShell packages to PMC (#24841)
  • -
  • Remove AzDO credscan as it is now in GitHub (#24842)
  • -
  • Add *.props and sort path filters for windows CI (#24822)
  • -
  • Use work load identity service connection to download makeappx tool from storage account (#24817)
  • -
  • Update path filters for Windows CI (#24809)
  • -
  • Update outdated package references (#24758)
  • -
  • Update metadata.json (#24787) (Thanks @KyZy7!)
  • -
  • Add tool package download in publish nuget stage (#24790)
  • -
  • Fix Changelog content grab during GitHub Release (#24788)
  • -
  • Update metadata.json (#24764)
  • -
  • Update Microsoft.PowerShell.PSResourceGet to 1.1.0 (#24767)
  • -
  • Add a parameter that skips verify packages step (#24763)
  • -
- -
- -### Documentation and Help Content - -- Add 7.4.7 Changelog (#24844) -- Create changelog for v7.5.0 (#24808) -- Update Changelog for v7.6.0-preview.2 (#24775) - -[7.6.0-preview.3]: https://github.com/PowerShell/PowerShell/compare/v7.6.0-preview.2...v7.6.0-preview.3 - -## [7.6.0-preview.2] - 2025-01-14 - -### General Cmdlet Updates and Fixes - -- Add the `AIShell` module to telemetry collection list (#24747) -- Add helper in `EnumSingleTypeConverter` to get enum names as array (#17785) (Thanks @fflaten!) -- Return correct FileName property for `Get-Item` when listing alternate data streams (#18019) (Thanks @kilasuit!) -- Add `-ExcludeModule` parameter to `Get-Command` (#18955) (Thanks @MartinGC94!) -- Update Named and Statement block type inference to not consider AssignmentStatements and Increment/decrement operators as part of their output (#21137) (Thanks @MartinGC94!) -- Update `DnsNameList` for `X509Certificate2` to use `X509SubjectAlternativeNameExtension.EnumerateDnsNames` Method (#24714) (Thanks @ArmaanMcleod!) -- Add completion of modules by their shortname (#20330) (Thanks @MartinGC94!) -- Fix `Get-ItemProperty` to report non-terminating error for cast exception (#21115) (Thanks @ArmaanMcleod!) -- Add `-PropertyType` argument completer for `New-ItemProperty` (#21117) (Thanks @ArmaanMcleod!) -- Fix a bug in how `Write-Host` handles `XmlNode` object (#24669) (Thanks @brendandburns!) - -### Code Cleanup - -
- - - -

We thank the following contributors!

-

@xtqqczze

- -
- -
    -
  • Seal ClientRemoteSessionDSHandlerImpl (#21218) (Thanks @xtqqczze!)
  • -
  • Seal internal type ClientRemoteSessionDSHandlerImpl (#24705) (Thanks @xtqqczze!)
  • -
  • Seal classes in RemotingProtocol2 (#21164) (Thanks @xtqqczze!)
  • -
- -
- -### Tools - -- Added Justin Chung as PowerShell team memeber on releaseTools.psm1 (#24672) - -### Tests - -- Skip CIM ETS member test on older Windows platforms (#24681) - -### Build and Packaging Improvements - -
- - - -

Updated SDK to 9.0.101

- -
- -
    -
  • Update branch for release - Transitive - false - none (#24754)
  • -
  • Update Microsoft.PowerShell.PSResourceGet to 1.1.0 (#24767)
  • -
  • Add a parameter that skips verify packages step (#24763)
  • -
  • Make the AssemblyVersion not change for servicing releases (#24667)
  • -
  • Fixed release pipeline errors and switched to KS3 (#24751)
  • -
  • Update outdated package references (#24580)
  • -
  • Bump actions/upload-artifact from 4.4.3 to 4.5.0 (#24689)
  • -
  • Update .NET feed with new domain as azureedge is retiring (#24703)
  • -
  • Bump super-linter/super-linter from 7.2.0 to 7.2.1 (#24678)
  • -
  • Bump github/codeql-action from 3.27.7 to 3.27.9 (#24674)
  • -
  • Bump actions/dependency-review-action from 4.4.0 to 4.5.0 (#24607)
  • -
- -
- -### Documentation and Help Content - -- Update cmdlets WG members (#24275) (Thanks @kilasuit!) - -[7.6.0-preview.2]: https://github.com/PowerShell/PowerShell/compare/v7.6.0-preview.1...v7.6.0-preview.2 - -## [7.6.0-preview.1] - 2024-12-16 - -### Breaking Changes - -- Treat large Enum values as numbers in `ConvertTo-Json` (#20999) (Thanks @jborean93!) - -### General Cmdlet Updates and Fixes - -- Add proper error for running `Get-PSSession -ComputerName` on Unix (#21009) (Thanks @jborean93!) -- Resolve symbolic link target relative to the symbolic link instead of the working directory (#15235) (#20943) (Thanks @MatejKafka!) -- Fix up buffer management getting network roots (#24600) (Thanks @jborean93!) -- Support `PSObject` wrapped values in `ArgumentToEncodingTransformationAttribute` (#24555) (Thanks @jborean93!) -- Update PSReadLine to 2.3.6 (#24380) -- Add telemetry to track the use of features (#24247) -- Handle global tool specially when prepending `PSHome` to `PATH` (#24228) -- Fix how processor architecture is validated in `Import-Module` (#24265) -- Make features `PSCommandNotFoundSuggestion`, `PSCommandWithArgs`, and `PSModuleAutoLoadSkipOfflineFiles` stable (#24246) -- Write type data to the pipeline instead of collecting it (#24236) (Thanks @MartinGC94!) -- Add support to `Get-Error` to handle BoundParameters (#20640) -- Fix `Get-FormatData` to not cast a type incorrectly (#21157) -- Delay progress bar in `Copy-Item` and `Remove-Item` cmdlets (#24013) (Thanks @TheSpyGod!) -- Add `-Force` parameter to `Resolve-Path` and `Convert-Path` cmdlets to support wildcard hidden files (#20981) (Thanks @ArmaanMcleod!) -- Use host exe to determine `$PSHOME` location when `SMA.dll` location is not found (#24072) -- Fix `Test-ModuleManifest` so it can use a UNC path (#24115) - -### Code Cleanup - -
- - - -

We thank the following contributors!

-

@eltociear, @JayBazuzi

- -
- -
    -
  • Fix typos in ShowModuleControl.xaml.cs (#24248) (Thanks @eltociear!)
  • -
  • Fix a typo in the build doc (#24172) (Thanks @JayBazuzi!)
  • -
- -
- -### Tools - -- Fix devcontainer extensions key (#24359) (Thanks @ThomasNieto!) -- Support new backport branch format (#24378) -- Update markdownLink.yml to not run on release branches (#24323) -- Remove old code that downloads msix for win-arm64 (#24175) - -### Tests - -- Fix cleanup in PSResourceGet test (#24339) - -### Build and Packaging Improvements - -
- - - -

We thank the following contributors!

-

@MartinGC94, @jborean93, @xtqqczze, @alerickson, @iSazonov, @rzippo

- -
- -
    -
  • Deploy Box update (#24632)
  • -
  • Remove Regex use (#24235) (Thanks @MartinGC94!)
  • -
  • Improve cim ETS member inference completion (#24235) (Thanks @MartinGC94!)
  • -
  • Emit ProgressRecord in CLIXML minishell output (#21373) (Thanks @jborean93!)
  • -
  • Assign the value returned by the MaybeAdd method
  • (#24652) -
  • Add support for interface static abstract props (#21061) (Thanks @jborean93!)
  • -
  • Change call to optional add in the binder expression (#24451) (Thanks @jborean93!)
  • -
  • Turn off AMSI member invocation on nix release builds (#24451) (Thanks @jborean93!)
  • -
  • Bump github/codeql-action from 3.27.0 to 3.27.6 (#24639)
  • -
  • Update src/Microsoft.PowerShell.ConsoleHost/host/msh/ConsoleHost.cs (#24239) (Thanks @jborean93!)
  • -
  • Apply suggestions from code review (#24239) (Thanks @jborean93!)
  • -
  • Add remote runspace check for PushRunspace (#24239) (Thanks @jborean93!)
  • -
  • Set LangVersion compiler option to 13.0 (#24619) (Thanks @xtqqczze!)
  • -
  • Set LangVersion compiler option to 13.0 (#24617) (Thanks @xtqqczze!)
  • -
  • Update metadata.json for PowerShell 7.5 RC1 release (#24589)
  • -
  • Update nuget publish to use Deploy Box (#24596)
  • -
  • Added Deploy Box Product Pathway to GitHub Release and NuGet Release Pipelines (#24583)
  • -
  • Update machine pool for copy blob and upload buildinfo stage (#24587)
  • -
  • Bump .NET 9 and dependencies (#24573)
  • -
  • Bump actions/dependency-review-action from 4.3.4 to 4.4.0 (#24503)
  • -
  • Bump actions/checkout from 4.2.1 to 4.2.2 (#24488)
  • -
  • Bump agrc/reminder-action from 1.0.14 to 1.0.15 (#24384)
  • -
  • Bump actions/upload-artifact from 4.4.0 to 4.4.3 (#24410)
  • -
  • Update branch for release (#24534)
  • -
  • Revert "Update package references (#24414)" (#24532)
  • -
  • Add a way to use only NuGet feed sources (#24528)
  • -
  • Update PSResourceGet to v1.1.0-RC2 (#24512) (Thanks @alerickson!)
  • -
  • Bump .NET to 9.0.100-rc.2.24474.11 (#24509)
  • -
  • Fix seed max value for Container Linux CI (#24510)
  • -
  • Update metadata.json for 7.2.24 and 7.4.6 releases (#24484)
  • -
  • Download package from package build for generating vpack (#24481)
  • -
  • Keep the roff file when gzipping it. (#24450)
  • -
  • Delete the msix blob if it's already there (#24353)
  • -
  • Add PMC mapping for debian 12 (bookworm) (#24413)
  • -
  • Checkin generated manpage (#24423)
  • -
  • Add CodeQL scanning to APIScan build (#24303)
  • -
  • Update package references (#24414)
  • -
  • Update vpack pipeline (#24281)
  • -
  • Bring changes from v7.5.0-preview.5 Release Branch to Master (#24369)
  • -
  • Bump agrc/create-reminder-action from 1.1.15 to 1.1.16 (#24375)
  • -
  • Add BaseUrl to buildinfo json file (#24376)
  • -
  • Update metadata.json (#24352)
  • -
  • Copy to static site instead of making blob public (#24269)
  • -
  • Update Microsoft.PowerShell.PSResourceGet to 1.1.0-preview2 (#24300) (Thanks @alerickson!)
  • -
  • add updated libicu dependency for debian packages (#24301)
  • -
  • add mapping to azurelinux repo (#24290)
  • -
  • Remove the MD5 branch in the strong name signing token calculation (#24288)
  • -
  • Bump .NET 9 to 9.0.100-rc.1.24452.12 (#24273)
  • -
  • Ensure the official build files CodeQL issues (#24278)
  • -
  • Update experimental-feature json files (#24271)
  • -
  • Make some release tests run in a hosted pools (#24270)
  • -
  • Do not build the exe for Global tool shim project (#24263)
  • -
  • Update and add new NuGet package sources for different environments. (#24264)
  • -
  • Bump skitionek/notify-microsoft-teams (#24261)
  • -
  • Create new pipeline for compliance (#24252)
  • -
  • Capture environment better (#24148)
  • -
  • Add specific path for issues in tsaconfig (#24244)
  • -
  • Use Managed Identity for APIScan authentication (#24243)
  • -
  • Add windows signing for pwsh.exe (#24219)
  • -
  • Bump super-linter/super-linter from 7.0.0 to 7.1.0 (#24223)
  • -
  • Update the URLs used in nuget.config files (#24203)
  • -
  • Check Create and Submit in vPack build by default (#24181)
  • -
  • Replace PSVersion source generator with incremental one (#23815) (Thanks @iSazonov!)
  • -
  • Save man files in /usr/share/man instead of /usr/local/share/man (#23855) (Thanks @rzippo!)
  • -
  • Bump super-linter/super-linter from 6.8.0 to 7.0.0 (#24169)
  • -
- -
- -### Documentation and Help Content - -- Updated Third Party Notices (#24666) -- Update `HelpInfoUri` for 7.5 (#24610) -- Update changelog for v7.4.6 release (#24496) -- Update to the latest NOTICES file (#24259) -- Update the changelog `preview.md` (#24213) -- Update changelog readme with 7.4 (#24182) (Thanks @ThomasNieto!) -- Fix Markdown linting error (#24204) -- Updated changelog for v7.2.23 (#24196) (Internal 32131) -- Update changelog and `metadata.json` for v7.4.5 release (#24183) -- Bring 7.2 changelogs back to master (#24158) - -[7.6.0-preview.1]: https://github.com/PowerShell/PowerShell/compare/v7.5.0-rc.1...v7.6.0-preview.1 diff --git a/tools/packaging/packaging.psm1 b/tools/packaging/packaging.psm1 index 53d895bc49b..baab911f60d 100644 --- a/tools/packaging/packaging.psm1 +++ b/tools/packaging/packaging.psm1 @@ -4274,18 +4274,8 @@ function New-MSIXPackage $makepri = Get-Item (Join-Path $makeappx.Directory "makepri.exe") -ErrorAction Stop + $displayName = $ProductName $ProductSemanticVersion = Get-PackageSemanticVersion -Version $ProductVersion - $productSemanticVersionWithName = $ProductName + '-' + $ProductSemanticVersion - $packageName = $productSemanticVersionWithName - if ($Private) { - $ProductNameSuffix = 'Private' - } - - if ($ProductNameSuffix) { - $packageName += "-$ProductNameSuffix" - } - - $displayName = $productName if ($Private) { $ProductName = 'PowerShell-Private' @@ -4301,6 +4291,13 @@ function New-MSIXPackage Write-Verbose -Verbose "ProductName: $productName" Write-Verbose -Verbose "DisplayName: $displayName" + $packageName = $ProductName + '-' + $ProductSemanticVersion + + # Appends Architecture to the package name + if ($ProductNameSuffix) { + $packageName += "-$ProductNameSuffix" + } + $ProductVersion = Get-WindowsVersion -PackageName $packageName # Any app that is submitted to the Store must have a PhoneIdentity in its appxmanifest.