Skip to content

v7.4.0-preview.2 Release of PowerShell

Pre-release
Pre-release
Compare
Choose a tag to compare
@daxian-dbw daxian-dbw released this 14 Mar 22:21
· 663 commits to master since this release

7.4.0-preview.2 - 2023-03-14

Breaking Changes

  • Update some PowerShell APIs to throw ArgumentException instead of ArgumentNullException when the argument is an empty string (#19215) (Thanks @xtqqczze!)
  • Add the parameter -ProgressAction to the common parameters (#18887)

Engine Updates and Fixes

  • Fix PlainText output to correctly remove the Reset VT sequence without number (#19283)
  • Fix ConciseView to handle custom ParserError error records (#19239)
  • Fix VtSubstring helper method to correctly check characters copied (#19240)
  • Update the FeedbackProvider interface to return structured data (#19133)
  • Make the exception error in PowerShell able to associate with the right history entry (#19095)
  • Fix for JEA session leaking functions (#19024)
  • Add WDAC events and system lockdown notification (#18893)
  • Fix support for nanoserver due to lack of AMSI (#18882)

Performance

General Cmdlet Updates and Fixes

  • Fix completion for PSCustomObject variable properties (#18682) (Thanks @MartinGC94!)
  • Improve type inference for Get-Random (#18972) (Thanks @MartinGC94!)
  • Make -Encoding parameter able to take ANSI encoding in PowerShell (#19298) (Thanks @CarloToso!)
  • Telemetry improvements for tracking experimental feature opt out (#18762)
  • Support HTTP persistent connections in Web Cmdlets (#19249) (Thanks @stevenebutler!)
  • Fix using xml -Body in webcmdlets without an encoding (#19281) (Thanks @CarloToso!)
  • Add the Statement property to $MyInvocation (#19027) (Thanks @IISResetMe!)
  • Fix Start-Process -Wait with -Credential (#19096) (Thanks @jborean93!)
  • Adjust PUT method behavior to POST one for default content type in WebCmdlets (#19152) (Thanks @CarloToso!)
  • Improve verbose message in web cmdlets when content length is unknown (#19252) (Thanks @CarloToso!)
  • Preserve WebSession.MaximumRedirection from changes (#19190) (Thanks @CarloToso!)
  • Take into account ContentType from Headers in WebCmdlets (#19227) (Thanks @CarloToso!)
  • Use C# 11 UTF-8 string literals (#19243) (Thanks @turbedi!)
  • Add property assignment completion for enums (#19178) (Thanks @MartinGC94!)
  • Fix class member completion for classes with base types (#19179) (Thanks @MartinGC94!)
  • Add -Path and -LiteralPath parameters to Test-Json cmdlet (#19042) (Thanks @ArmaanMcleod!)
  • Allow to preserve the original HTTP method by adding -PreserveHttpMethodOnRedirect to Web cmdlets (#18894) (Thanks @CarloToso!)
  • Webcmdlets display an error on https to http redirect (#18595) (Thanks @CarloToso!)
  • Build the relative URI for links from the response in Invoke-WebRequest (#19092) (Thanks @CarloToso!)
  • Fix redirection for -CustomMethod POST in WebCmdlets (#19111) (Thanks @CarloToso!)
  • Dispose previous response in Webcmdlets (#19117) (Thanks @CarloToso!)
  • Improve Invoke-WebRequest xml and json errors format (#18837) (Thanks @CarloToso!)
  • Fix error formatting to remove the unneeded leading newline for concise view (#19080)
  • Add -NoHeader parameter to ConvertTo-Csv and Export-Csv cmdlets (#19108) (Thanks @ArmaanMcleod!)
  • Fix Start-Process -Credential -Wait to work on Windows (#19082)
  • Add ValidateNotNullOrEmpty to OutFile and InFile parameters of WebCmdlets (#19044) (Thanks @CarloToso!)
  • Correct spelling of "custom" in event (#19059) (Thanks @spaette!)
  • Ignore expected error for file systems not supporting alternate streams (#19065)
  • Adding missing guard for telemetry opt out to avoid NullReferenceException when importing modules (#18949) (Thanks @powercode!)
  • Fix progress calculation divide by zero in Copy-Item (#19038)
  • Add progress to Copy-Item (#18735)
  • WebCmdlets parse XML declaration to get encoding value, if present. (#18748) (Thanks @CarloToso!)
  • HttpKnownHeaderNames update headers list (#18947) (Thanks @CarloToso!)
  • Fix bug with managing redirection and KeepAuthorization in Web cmdlets (#18902) (Thanks @CarloToso!)
  • Fix Get-Error to work with strict mode (#18895)
  • Add AllowInsecureRedirect switch to Web cmdlets (#18546) (Thanks @CarloToso!)
  • Invoke-RestMethod -FollowRelLink fix links containing commas (#18829) (Thanks @CarloToso!)
  • Prioritize the default parameter set when completing positional arguments (#18755) (Thanks @MartinGC94!)
  • Add -CommandWithArgs parameter to pwsh (#18726)
  • Enable creating composite subsystem implementation in modules (#18888)
  • Fix Format-Table -RepeatHeader for property derived tables (#18870)
  • Add StatusCode to HttpResponseException (#18842) (Thanks @CarloToso!)
  • Fix type inference for all scope variables (#18758) (Thanks @MartinGC94!)
  • Add completion for Using keywords (#16514) (Thanks @MartinGC94!)

Code Cleanup

We thank the following contributors!

@CarloToso, @iSazonov, @xtqqczze, @turbedi, @syntax-tm, @eltociear, @ArmaanMcleod

Tools

  • Add a Mariner install script (#19294)
  • Add tool to trigger license information gathering for NuGet modules (#18827)

Tests

  • Update and enable the test for the type of $input (#18968) (Thanks @MartinGC94!)
  • Increase the timeout for creating the WebListener (#19268)
  • Increase the timeout when waiting for the event log (#19264)
  • Add Windows ARM64 CI (#19040)
  • Change test so output does not include newline (#19026)
  • Allow system lock down test debug hook to work with new WLDP API (#18962)
  • Add tests for Allowinsecureredirect parameter in Web cmdlets (#18939) (Thanks @CarloToso!)
  • Enable get-help pattern tests on Unix (#18855) (Thanks @xtqqczze!)
  • Create test to check if WebCmdlets decompress brotli-encoded data (#18905) (Thanks @CarloToso!)

Build and Packaging Improvements

We thank the following contributors!

@pwshBot, @bergmeister, @xtqqczze

  • Restructure the package build to simplify signing and packaging stages (#19321)
  • Bump Microsoft.CodeAnalysis.CSharp from 4.4.0 to 4.6.0-2.23152.6 (#19306)(#19233)
  • Test fixes for stabilizing tests (#19068)
  • Bump Newtonsoft.Json from 13.0.2 to 13.0.3 (#19290)(#19289)
  • Fix mariner sudo detection (#19304)
  • Add stage for symbols job in Release build (#18937)
  • Bump .NET to Preview 2 version (#19305)
  • Move workflows that create PRs to private repo (#19276)
  • Use reference assemblies generated by dotnet (#19302)
  • Update the cgmanifest (#18814)(#19165)(#19296)
  • Always regenerate files WXS fragment (#19196)
  • MSI installer: Add checkbox and MSI property DISABLE_TELEMETRY to optionally disable telemetry. (#10725) (Thanks @bergmeister!)
  • Add -Force to Move-Item to fix the GitHub workflow (#19262)
  • Update and remove outdated docs to fix the URL link checks (#19261)
  • Bump Markdig.Signed from 0.30.4 to 0.31.0 (#19232)
  • Add pattern to replace for reference API generation (#19214)
  • Split test artifact build into windows and non-windows (#19199)
  • Set LangVersion compiler option to 11.0 (#18877) (Thanks @xtqqczze!)
  • Update to .NET 8 preview 1 build (#19194)
  • Simplify Windows Packaging CI Trigger YAML (#19160)
  • Bump Microsoft.NET.Test.Sdk from 17.4.0 to 17.5.0 (#18823)(#19191)
  • Add URL for all distributions (#19159)
  • Bump Microsoft.Extensions.ObjectPool from 7.0.1 to 7.0.3 (#18925)(#19155)
  • Add verification of R2R at packaging (#19129)
  • Allow cross compiling windows (#19119)
  • Update CodeQL build agent (#19113)
  • Bump XunitXml.TestLogger from 3.0.70 to 3.0.78 (#19066)
  • Bump Microsoft.CodeAnalysis.Analyzers from 3.3.3 to 3.3.4 (#18975)
  • Bump BenchmarkDotNet to 0.13.3 (#18878) (Thanks @xtqqczze!)
  • Bump Microsoft.PowerShell.Native from 7.4.0-preview.1 to 7.4.0-preview.2 (#18910)
  • Add checks for Windows 8.1 and Server 2012 in the MSI installer (#18904)
  • Update build to include WinForms / WPF in all Windows builds (#18859)

Documentation and Help Content

SHA256 Hashes of the release artifacts

  • hashes.sha256
    • 9775A9521CF1326CFCE4E136CC75BE9951958CA9F86AC47ACE466B2B38E3E568
  • powershell-7.4.0-preview.2-linux-alpine-x64.tar.gz
    • 462F3A18AFF672637548185B238B5781E177970BC69434A57C8595232708D66C
  • powershell-7.4.0-preview.2-linux-arm32.tar.gz
    • 918DC889419D1ADDCDB0045CD2AA64B5A665A11A946E274A382E08BC5943733F
  • powershell-7.4.0-preview.2-linux-arm64.tar.gz
    • 86F605884CEF0D583B86CD4DAA17C5B497A713C1D683D1C12A7F91C6FA9C7ECA
  • powershell-7.4.0-preview.2-linux-x64-fxdependent.tar.gz
    • 5E4140776B63E53849FFB78D2AD43E049F1C7CD79C5D0BBFEDB7A87315E9546A
  • powershell-7.4.0-preview.2-linux-x64.tar.gz
    • 5E0B6684D4705AB4E07B6FCC1ED56D9FF36CEDAEBCC481DC000EA6B9E8537D91
  • powershell-7.4.0-preview.2-osx-arm64.pkg
    • D2667F2582B264599DB58A6A7A7CABC0CEED25BD316C1478300661845108976B
  • powershell-7.4.0-preview.2-osx-arm64.tar.gz
    • 4ACE9766C8B21DF06209483D475C31A24775B30CD211340CFD622BFB8979C3DF
  • powershell-7.4.0-preview.2-osx-x64.pkg
    • 5F08132B3C123F3DC123BDC4BFC1169B3E7D11F1AB7C4C980A44FBEEEB96AC54
  • powershell-7.4.0-preview.2-osx-x64.tar.gz
    • 4EF9276D3C0E1E4E4EE58F3D7D93CC76CFCAFF5E3A1031CB3E6539CA81D856A9
  • PowerShell-7.4.0-preview.2-win.msixbundle
    • 6B3B431DFDDD708297507CF08885A59CEE327DAEF9CC7064823B2D582FBED720
  • PowerShell-7.4.0-preview.2-win-arm32.zip
    • E60ED363DE64790C6BAAF22B84DA7ED721F3049A3D0FEFF0CB01E30417D26A52
  • PowerShell-7.4.0-preview.2-win-arm64.zip
    • B9F36DB9DF276E3083D75FF1873A0BA8AEBB9CC2D42B95673E81D43DDA71FF63
  • PowerShell-7.4.0-preview.2-win-fxdependent.zip
    • 78DBFC8D05F1052FB07D7CFD2D1EB8874421DAFD55FED974E12979E887DAF3A7
  • PowerShell-7.4.0-preview.2-win-fxdependentWinDesktop.zip
    • 2E5CF3220D05689FDC35615217DB9D267348203268D69A5C0AC1BA397C8CD1C2
  • PowerShell-7.4.0-preview.2-win-x64.msi
    • 781AE74C9A9403409D577C1CCD699631A406DCB104B9023991731BCE60F128C3
  • PowerShell-7.4.0-preview.2-win-x64.zip
    • 6851E5EC0E21C2F2D0119DB6019AD1A11171C1AFCCB9AFF0CE4B8785D7B5401F
  • PowerShell-7.4.0-preview.2-win-x86.msi
    • CF2DA74890738FA9845FC201FC1E657EF4C4121D2FEDBE78B9DA09B041FEF69E
  • PowerShell-7.4.0-preview.2-win-x86.zip
    • A1CC2DA97DC1DE947D159D59C7E9545CCBD21C8351D9C92D303F3E3B07E2936A
  • powershell-preview_7.4.0-preview.2-1.deb_amd64.deb
    • 573B9336334B5E4DF31DF0FC62CE82F186770A569D501FC643E15EE68262740B
  • powershell-preview-7.4.0_preview.2-1.cm.x86_64.rpm
    • B8E8F2F6371F353003AC23E87BD3480104EB6876D703B64B03E451554931238E
  • powershell-preview-7.4.0_preview.2-1.rh.x86_64.rpm
    • 9487ED562DF342C39ADCCBB022062917E486B814E9DA27499F8CDB9923728D5C