皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

PowerShell 7.4.0-preview.1发布

PowerShell  7.4.0-preview.1发布

NOTE

  • Snap packages are not available for this release.
  • Nano server docker images are not available for this release.

Engine Updates and Fixes

  • Add Instrumentation to AmsiUtil and make the init variable readonly (#18727)
  • Fix typo in OutOfProcTransportManager.cs (#18766) (Thanks @eltociear!)
  • Allow non-default encodings to be used in user’s script/code (#18605)
  • Add Dim and DimOff to $PSStyle (#18653)
  • Change exec from alias to function to handle arbitrary arguments (#18567)
  • The command prefix should also be in the error color for NormalView (#18555)
  • Skip cloud files marked as “not on disk” during command discovery (#18152)
  • Replace UTF8Encoding(false) with Encoding.Default (#18356) (Thanks @xtqqczze!)
  • Fix Switch-Process to set termios appropriate for child process (#18467)
  • On Unix, only explicitly terminate the native process if not in background (#18215)
  • Treat [NullString]::Value as the string type when resolving methods (#18080)
  • Improve pseudo binding for dynamic parameters (#18030) (Thanks @MartinGC94!)
  • Make experimental feature PSAnsiRenderingFileInfo stable (#18042)
  • Update to use version 2.21.0 of Application Insights. (#17903)
  • Do not preserve temporary results when no need to do so (#17856)

Performance

  • Remove some static constants from Utils.Separators (#18154) (Thanks @iSazonov!)
  • Avoid using regex when unnecessary in ScriptWriter (#18348)
  • Use source generator for PSVersionInfo to improve startup time (#15603) (Thanks @iSazonov!)
  • Skip evaluating suggestions at startup (#18232)
  • Avoid using Regex when not necessary (#18210)

General Cmdlet Updates and Fixes

  • Update to use ComputeCore.dll for PowerShell Direct (#18194)
  • Replace ArgumentNullException(nameof()) with ArgumentNullException.ThrowIfNull() (#18792)(#18784) (Thanks @CarloToso!)
  • Remove TabExpansion from remote session configuration (#18795) (Internal 23331)
  • WebCmdlets get Retry-After from headers if status code is 429 (#18717) (Thanks @CarloToso!)
  • Implement SupportsShouldProcess in Stop-Transcript (#18731) (Thanks @JohnLBevan!)
  • Fix New-Item -ItemType Hardlink to resolve target to absolute path and not allow link to itself (#18634)
  • Add output types to Format commands (#18746) (Thanks @MartinGC94!)
  • Fix the process CommandLine on Linux (#18710) (Thanks @jborean93!)
  • Fix SuspiciousContentChecker.Match to detect a pre-defined string when the text starts with it (#18693)
  • Switch $PSNativeCommandUseErrorActionPreference to $true when feature is enabled (#18695)
  • Fix Start-Job to check the existence of working directory using the PowerShell way (#18675)
  • Webcmdlets add 308 to redirect codes and small cleanup (#18536) (Thanks @CarloToso!)
  • Ensure HelpInfo.Category is consistently a string (#18254)
  • Remove gcloud from the legacy list because it’s resolved to a .ps1 script (#18575)
  • Add gcloud and sqlcmd to list to use legacy argument passing (#18559)
  • Fix native access violation (#18545) (#18547) (Thanks @chrullrich!)
  • Fix issue when completing the first command in a script with an empty array expression (#18355) (Thanks @MartinGC94!)
  • Improve type inference of hashtable keys (#17907) (Thanks @MartinGC94!)
  • Fix Switch-Process to copy the current env to the new process (#18452)
  • Fix Switch-Process error to include the command that is not found (#18443)
  • Update Out-Printer to remove all decorating ANSI escape sequences from PowerShell formatting (#18425)
  • Web cmdlets set default charset encoding to UTF8 (#18219) (Thanks @CarloToso!)
  • Fix incorrect cmdlet name in the script used by Restart-Computer (#18374) (Thanks @urizen-source!)
  • Add the function cd~ (#18308) (Thanks @GigaScratch!)
  • Fix type inference error for empty return statements (#18351) (Thanks @MartinGC94!)
  • Fix the exception reporting in ConvertFrom-StringData (#18336) (Thanks @GigaScratch!)
  • Implement IDisposable in NamedPipeClient (#18341) (Thanks @xtqqczze!)
  • Replace command-error suggestion with new implementation based on subsystem plugin (#18252)
  • Remove the ProcessorArchitecture portion from the full name as it’s obsolete (#18320)
  • Make the fuzzy searching flexible by passing in the fuzzy matcher (#18270)
  • Add -FuzzyMinimumDistance parameter to Get-Command (#18261)
  • Improve startup time by triggering initialization of additional types on background thread (#18195)
  • Fix decompression in web cmdlets (#17955) (Thanks @iSazonov!)
  • Add CustomTableHeaderLabel formatting to differentiate table header labels that are not property names (#17346)
  • Remove the extra new line form List formatting (#18185)
  • Minor update to the FileInfo table formatting on Unix to make it more concise (#18183)
  • Fix Parent property on processes with complex name (#17545) (Thanks @jborean93!)
  • Make PowerShell class not affiliate with Runspace when declaring the NoRunspaceAffinity attribute (#18138)
  • Complete the progress bar rendering in Invoke-WebRequest when downloading is complete or cancelled (#18130)
  • Display download progress in human readable format for Invoke-WebRequest (#14611) (Thanks @bergmeister!)
  • Update WriteConsole to not use stackalloc for buffer with too large size (#18084)
  • Filter out compiler generated types for Add-Type -PassThru (#18095)
  • Fixing CA2014 warnings and removing the warning suppression (#17982) (Thanks @creative-cloud!)
  • Make experimental feature PSNativeCommandArgumentPassing stable (#18044)
  • Make experimental feature PSAMSIMethodInvocationLogging stable (#18041)
  • Handle PSObject argument specially in method invocation logging (#18060)
  • Fix typos in EventResource.resx (#18063) (Thanks @eltociear!)
  • Make experimental feature PSRemotingSSHTransportErrorHandling stable (#18046)
  • Make experimental feature PSExec stable (#18045)
  • Make experimental feature PSCleanBlock stable (#18043)
  • Fix error formatting to use color defined in $PSStyle.Formatting (#17987)
  • Remove unneeded use of chmod 777 (#17974)
  • Support mapping foreground/background ConsoleColor values to VT escape sequences (#17938)
  • Make pwsh server modes implicitly not show banner (#17921)
  • Add output type attributes for Get-WinEvent (#17948) (Thanks @MartinGC94!)
  • Remove 1 second minimum delay in Invoke-WebRequest for small files, and prevent file-download-error suppression. (#17896) (Thanks @AAATechGuy!)
  • Add completion for values in comparisons when comparing Enums (#17654) (Thanks @MartinGC94!)
  • Fix positional argument completion (#17796) (Thanks @MartinGC94!)
  • Fix member completion in attribute argument (#17902) (Thanks @MartinGC94!)
  • Throw when too many parameter sets are defined (#17881) (Thanks @fflaten!)
  • Limit searching of charset attribute in meta tag for HTML to first 1024 characters in webcmdlets (#17813)
  • Fix Update-Help failing silently with implicit non-US culture. (#17780) (Thanks @dkaszews!)
  • Add the ValidateNotNullOrWhiteSpace attribute (#17191) (Thanks @wmentha!)
  • Improve enumeration of inferred types in pipeline (#17799) (Thanks @MartinGC94!)

Code Cleanup

We thank the following contributors!

@MartinGC94@CarloToso@iSazonov@xtqqczze@turbedi@trossr32@eltociear@AtariDreams@jborean93

Tools

  • Add a function to get the PR Back-port report (#18299)
  • Add a workaround in automatic rebase workflow to continue on error (#18176)
  • Update list of PowerShell team members in release tools (#17909)
  • Don’t block if we fail to create the comment (#17869)

Tests

  • Add testexe.exe -echocmdline to output raw command line received by the process on Windows (#18591)
  • Mark charset test as pending (#18511)
  • Skip output rendering tests on Windows Server 2012 R2 (#18382)
  • Increase timeout to make subsystem tests more reliable (#18380)
  • Add missing -Tag ‘CI’ to describe blocks. (#18316)
  • Use short path instead of multiple quotes in Get-Item test relying on node (#18250)
  • Replace the CIM class used for -Amended parameter test (#17884) (Thanks @sethvs!)
  • Stop ongoing progress-bar in Write-Progress test (#17880) (Thanks @fflaten!)

Build and Packaging Improvements

We thank the following contributors!

Documentation and Help Content

  • Update readme and metadata for releases (#18780)(#18493)(#18393)(#18332)(#18128)(#17870)
  • Remove ‘please’ and ‘Core’ from README.md per MS style guide (#18578) (Thanks @Rick-Anderson!)
  • Change unsupported XML documentation tag (#18608)
  • Change public API mention of monad to PowerShell (#18491)
  • Update security reporting policy to recommend security portal for more streamlined reporting (#18437)
  • Change log for v7.3.0 (#18505) (Internal 23161)
  • Replace msh in public API comment based documentation with PowerShell equivalent (#18483)
  • Add missing XML doc elements for methods in RunspaceFactory (#18450)
  • Change log for v7.3.0-rc.1 (#18400)
  • Update change logs for v7.2.7 and v7.0.13 (#18342)
  • Update the change log for v7.3.0-preview.8 (#18136)
  • Add the ConfigurationFile option to the PowerShell help content (#18093)
  • Update help content about the PowerShell flag -NonInteractive (#17952)

SHA256 Hashes of the release artifacts

  • hashes.sha256
    • 2CC623DBD53546CBDF74C7667E127581DC0F4837570B7DF80C60BB612935D697
  • powershell-7.4.0-preview.1-linux-alpine-x64.tar.gz
    • 8BA796F6C6A6404ACA433371BCF0D96ADFE1992919A9A659E6180E8A10ED6B2C
  • powershell-7.4.0-preview.1-linux-arm32.tar.gz
    • 2E85535FC396139ABAF6D5C9037E01725AD3A34EDCBA6CBCC7F22241C050BECE
  • powershell-7.4.0-preview.1-linux-arm64.tar.gz
    • C947FF34AD633831B0AE2A30641E63797855D21A4E12CBCEE941AB65F9515973
  • powershell-7.4.0-preview.1-linux-x64.tar.gz
    • CEFE3952D2993E42F9EEE3E1A0AD5CF106FDBE0A821939F7695267218979D07B
  • powershell-7.4.0-preview.1-linux-x64-fxdependent.tar.gz
    • E2A6F444345B137BECD8669E7B970B11C2B520D2EE44E44860351F3CD748432E
  • powershell-7.4.0-preview.1-osx-arm64.pkg
    • 2CA714783D3AA39AE35DEFBAB48015BA921AD9D18A6841F72AB3BCFCA6606A9C
  • powershell-7.4.0-preview.1-osx-arm64.tar.gz
    • 6F68543868203D2C777BA3643B82CF95401E7BDE6CEF11CEEAAB8CFA430FB21A
  • powershell-7.4.0-preview.1-osx-x64.pkg
    • C1DF3CF5DB8FB2E1B69BE21170F1C373354F4BB88DF22D2021796D8DE0C58FE3
  • powershell-7.4.0-preview.1-osx-x64.tar.gz
    • 212084E9080DC7F9A2E3E21DFC1BAC792496D26AAF019990904D0AC18F48B354
  • PowerShell-7.4.0-preview.1-win.msixbundle
    • 5C8AF95E6E35129CF53513B35F10A0C453C1D5633C3AE5F1BEFFE4C9A1B14EFE
  • PowerShell-7.4.0-preview.1-win-arm32.zip
    • 9428CA176F0578F7EE2C291518E5107386A11D9785BB2131984702DD360FEECC
  • PowerShell-7.4.0-preview.1-win-arm64.zip
    • 02057D95D3FE4F728E00079916F1AAD208E40614CA520DBF64D84EFFBCD58207
  • PowerShell-7.4.0-preview.1-win-fxdependent.zip
    • A6B23D2BE0F33C6E1D5AAF64106F8DED81704E3B28D5E229AF831DC1E8F201B4
  • PowerShell-7.4.0-preview.1-win-fxdependentWinDesktop.zip
    • 6FFC4D4B7DA253212769AAA3EDF857B34D2386A10A9BDCEF017799DCA5504D49
  • PowerShell-7.4.0-preview.1-win-x64.msi
    • C525E9D5804489183BAFCC90FC195949727593FAA780CC30D1BC01CFEFE09D0D
  • PowerShell-7.4.0-preview.1-win-x64.zip
    • B0F6627D1A05D8833963487139EB667657429F78EAFCC90191CCD2D5347C8AF3
  • PowerShell-7.4.0-preview.1-win-x86.msi
    • 51EFBD58C6D7142A38D49D319EFA504DACE48B5681E98067CAFFBBF4151B84EE
  • PowerShell-7.4.0-preview.1-win-x86.zip
    • E7B8CB498993878327665337BD3B2102B059247CABA32FB7D07374CCDE953B43
  • powershell-preview_7.4.0-preview.1-1.deb_amd64.deb
    • 2518230120BDE23D124E8A8D30D560B14572A588AF57E441C4C24EA52CA79E2F
  • powershell-preview-7.4.0_preview.1-1.cm.x86_64.rpm
    • EF907D32124F25A40F01D57A8489C727BC13F65B3CBED8437121702D85B9401F
  • powershell-preview-7.4.0_preview.1-1.rh.x86_64.rpm
    • FDAE0EE7A1280E33C9178ED60E751B5532E1E14F4E6D081FB1108BC97CAAC916