CHANGELOG/6.1.md
Enter-PSHostProcess cmdlet when system in lock down mode (Internal 8968)System.Net.Http.WinHttpHandler from 4.5.3 to 4.5.4 (#9790)Newtonsoft.Json (#9662)6.1 (Internal 8402)MSI WIX generation (#9013) (Internal 8385)Microsoft.PowerShell.Archive version (Internal 8380)dotnet 2.1.11 releaseAccessToken variable to jobs that perform signing (#9351)PDBs from fxdependent package (#8006)csproj files have its own folder (#8750)netcoreapp2.1 and use actual .csproj files (#8729)finalResults folder (#8806)yml for Windows Release builds (#8374)SignType in signing.xml (#8223)binskim to coordinated build and increase timeout (#8834)Restore-PSModuleToBuild (Internal 6442)tar.gz package in release builds (Internal 6027)ScriptBlock logging (Internal 5607)ZipFile and ExtractToDirectory APIs to extract zip file (Internal 5608)ScriptBlock logging (Internal 5605)ZipFile and ExtractToDirectory APIs to extract zip file (Internal 4802)SignType in signing.xml (Internal 5721)csproj (Internal 5713)PowerShellPackageVsts.ps1 (#8189)AzDevOps Artifacts (#8188)2.1.5 with SDK 2.1.403 (#7936) (Thanks @iSazonov!)AzDevOps NuGet feeds for macOS build (Internal 5716)nuget.config file (#8170)wxs file to match published packages (Internal 5660)AzDevOps Pipelines Windows (#8003)Get-AdlStoreChildItem from az module in tab completion tests (#8167)System.Tuple and System.ValueTuple (#7633) (Thanks @SeeminglyScience!)ByRef-like types gracefully in PowerShell (#7533)-settingfile flag on pwsh work for ScriptBlock logging on windows (#7631)SSHClientSessionTransportManager stream writer and reader fields are cleared after disposing (#7746)LocationChangedAction handler to support the Windows Compatibility module (#7552)Set-Service -Status Stopped to stop services with dependencies (#5525) (Thanks @zhenggu!)Duration property to HistoryInfo (#5208) (Thanks @powercode!)ConvertFrom-Markdown when the markdown content is empty (#7463)WSMan provider by using Refresh() to update the status rather than instantiating ServiceController (#7680)Suspend-Job and Resume-Job cmdlets from compilation on Unix platforms (#7650)Modules.resx (#7662) (Thanks @sethvs!)FileSystemProvider (#7655) (Thanks @iSazonov!)Send-MailMessage cmdlet (#7723) (Thanks @ThreeFive-O!)Set-Location test (#7615) (Thanks @iSazonov!)ScriptBlock logging test for Linux and macOS (#7599) (#7586)ModuleSpecification.Tests.ps1 (#7663) (Thanks @sethvs!)libssl and libcrypto to Debian 9 build to make remoting work (#7609)StartupInfo type used in Jumplist creation for faster P/Invoke (#7580) (Thanks @powercode!)PowerShellGet module to 1.6.7 (#7564)PSReadLine module to 2.0.0-beta3 (#7711)mdspell to en-US (#7671)Uninstall shortcut during an uninstall when more than one version is installed (#7701) (Thanks @bergmeister!)README.md (#7619) (Thanks @iSazonov!)README.md (#7691) (Thanks @bergmeister!)CONTRIBUTING.md about updating files.wxs (#7695) (Thanks @iSazonov!)System32 module path when starting pwsh from pwsh (#7414)switch/if/for/while/do-while/do-until statements (#7305)LanguagePrimitives.TryCompare to provide faster comparisons (#7438) (Thanks @powercode!)LanguagePrimitives.TryConvertTo (#7418) (Thanks @powercode!)PowerShellVersion to 3.0 for built-in modules to make Windows PowerShell work when starting from PowerShell Core (#7365)PSMemberInfoInternalCollection<T> (#7435) (Thanks @iSazonov!)CompatiblePSEditions check for modules from the legacy System32 module path (#7183)SettingFile argument is parsed before we load the settings (#7449)DefaultConsoleWidth when DotNet says WindowWidth is 0 (#7465)Get-Variable cmdlet error message (#7384) (Thanks @sethvs!)Move-Item -Path with wildcard character (#7397) (Thanks @kwkam!)Newtonsoft.Json metadata properties in ConvertFrom-Json (#7308) (Thanks @louistio!)Get-Help and help in order to get first -Full and
then -Functionality when using Get-Help -Fu followed by pressing tab and help -Fu followed by pressing tab (#7370) (Thanks @sethvs!)Show-Markdown (#7354)-SkipIndex parameter to Select-Object (#7483) (Thanks @powercode!)Import-CSV up to 10 times (#7413) (Thanks @powercode!)Enable-PSRemoting so configuration name is unique for Preview releases (#7202)Add-Type when -AssemblyName with wildcard is not found (#7444)Group-Object (#7410) (Thanks @powercode!)ConvertTo-Json (#7487) (Thanks @devblackops!)Get-ChildItem to produce Mode property even if cannot determine if hard link (#7355)WSManReceiveDataResult.Unmarshal (#7364)csproj with updated codeformatter (#7263) (Thanks @iSazonov!)codeformatter (#7346) (Thanks @iSazonov!)Utils.FileExists()/DirectoryExists()/ItemExists() with DotNet methods (#7129) (Thanks @iSazonov!)Utils.IsComObject to use Marshal.IsComObject since CAS is no longer supported in DotNet Core (#7344)-BeExactly and -HaveCount instead of -Be in BugFix.Tests.ps1 (#7386) (Thanks @sethvs!)-BeExactly and -HaveCount instead of -Be in TabCompletion.Tests.ps1 (#7380) (Thanks @sethvs!)-HaveCount instead of -Be in Where-Object.Tests.ps1 (#7379) (Thanks @sethvs!)MUSL NuGet package optional (#7316)pwsh-preview to work on Windows (#7345)powershell-core NuGet source for hosting tests0 from module version when restoring modules (#7538)WCF and NJsonSchema NuGet packages to latest released patch version (#7411) (Thanks @bergmeister!)1.1.2 (#7522)PowerShell.sln and make it runnable from within VisualStudio (#7254) (Thanks @bergmeister!)PowerShellGet versionNuGet.org (#7525)Start-DevPowerShell: add -Configuration and handle -ArgumentList more properly (#7300) (Thanks @jazzdelightsme!)Microsoft.PowerShell.MarkdownRender to signing.xml (#7472)rcedit (#7503) (Thanks @kwkam!)issue-management.md (#7393) (Thanks @alexandair!)GitHub in best-practice.md (#7392) (Thanks @alexandair!)docs/maintainers/README.md (#7390) (Thanks @alexandair!)PowerShell-Docker (#7351) (Thanks @JoshuaCooper!)Snapcraft to spelling dictionary (#7318)README.md and metadata.json for release v6.0.4 (#7497)Former Repository Maintainers section in maintainers/README.md (#7475)HelpUri for Get-ExperimentalFeature (#7466)VisualBasic support from Add-Type (#7284)pwsh then fallback to powershell (#7241)Enable-PSRemoting so configuration name is unique for Preview releases (#7202)CompatiblePSEditions check for modules from the legacy System32 module path (#7183)Get-ChildItem c: (#7033) (Thanks @sethvs!)Set-Location to enable cd - scenario (issue #2188) (#5051) (Thanks @bergmeister!)-replace operator after adding ScriptBlock support (#7135)Get-Process on macOS (#7176)Group-Object -AsHashTable to use the base object of PSObject as the key for the Hashtable (#7123)CompatiblePSEditions to PowerShell Core built-in modules (#7083)Start-Process -ArgumentList to accept @() or $null (#6597)ProcessStartInfo to key/pair array used in creating SSH process (#7070)SaferPolicy API is not available on Windows 10 IoT or NanoServer (#7075)Write-Information command. (#6917) (Thanks @hubuk!)break and continue are used in a switch statement in a finally block (#7273)SetLocation() treat wildcarded path as literal if it exists (#7101)Select-Object/ForEach-Object/Where-Object see dynamic properties (#6898) (Thanks @jazzdelightsme!)SemanticVersion from knowntypes list in serialization code to enable interop between Windows PowerShell and PowerShell Core (#7016)File.Delete() method to remove symbolic links and alternate streams (#7017) (Thanks @iSazonov!)UseShellExecute on all platforms (#7198)[object] should return null for an empty result (#7138)Send-MailMessage: Update all parameters to support ValueFromPipelineByPropertyName. (#6911) (Thanks @sethvs!)ThreadJob module package and tests (#7169)Measure-Object handle scriptblock properties. (#6934)Invoke-RestMethod and Invoke-WebRequest. (#5760)Select-Object command (#7171) (Thanks @powercode!)-AllStats Switch parameter for Measure-Object cmdlet (#7220) (Thanks @kvprasoon!)null on the right-hand-side of a comparison expression (#6949) (Thanks @iSazonov!)MapSecurityZoneWithUrlmon method and related code (#7103)RemotingCommandUtils (#7029)string.Empty (#6950) (Thanks @iSazonov!)AliasesToExport to follow the best practice (#7108)Get-Module -ListAvailable (#7145)Send-MailMessage.Tests.ps1 (#7195) (Thanks @sethvs!)PSDrive (#7173)ThreadJob tests reliability and speed (#7270)install-powershell.sh filter pre-releases (when available), params documentation (#6849) (Thanks @DarwinJS!)Powershell_av_colors and
make daily build use Powershell_avatar instead (#7086) (Thanks @bergmeister!)PowerShell.sln file (#7137)PowerShell.sln that was corrupted by accident (#7288)PowerShell.sln to be utf-8 (#7289)internals.md with the latest build changes (#7058)PowerShell.Core.Instrumentation.dll (#7226)vcvarsall.bat is absent (#7218) (Thanks @PetSerAl!)releaseTag in tools/metadata.json (#7214)Start-PSPester to make it more user friendly (#7210) (Thanks @bergmeister!)Start-PSBuild -Clean not prompt due to locked files when Visual Studio is open by excluding sqlite3 folder and use -x instead of -X option on git clean (#7235) (Thanks @bergmeister!)DOCSMIGRATION.md (#7094) (Thanks @alexandair!)CHANGELOG.md (#7064)New-TemporaryFile online help URI (#6608)en-us culture (#7013) (Thanks @bergmeister!)ArgumentCompleterAttribute class (#7227) (Thanks @Meir017!)Register-EngineEvent test (#7222) (Thanks @alexjordan6!)DotNetAdapter, GetMember and GetMembers (#7087)CommandTypes.Workflow and WorkflowInfo (#6708)Add-Type cmdlet (#6141) (Thanks @iSazonov!)
PSMethod to Delegate conversion (#6851)System.Windows.Forms from loading to prevent a crash (#6822)Format-Table where rows were being trimmed unnecessarily if there's only one row of headers (#6772)SetDate function in libpsl-native to avoid corrupting memory during P/Invoke (#6881)If-Statement value in a HashExpression (#7002)#requires in an interactive session (#6469)ExportCsvHelper (#6816) (Thanks @sethvs!)Multipart form-data field names (#6782) (Thanks @markekraus!)Set-Location DriveName: to restore current working directory in the drive (#6774) (Thanks @mcbobke!)-lp for -LiteralPath parameters #6732 (#6770) (Thanks @kvprasoon!)more function and move the $env:PAGER capability into the help function (#6059) (Thanks @iSazonov!)Set-ExecutionPolicy (#6803) (Thanks @wesholton84!)#if SILVERLIGHT (#6907) (Thanks @iSazonov!)NonWindowsGetDomainName() (#6948) (Thanks @iSazonov!)ShouldBeErrorId to Should -Throw -ErrorId in PowerShell tests (#6682)Select-Object.Tests.ps1 which previously failed intermittently on Unix platforms. (#6747)Isfile to correct response for "/" (#6754) (Thanks @Patochun!)Export-Csv.Tests.ps1 (#6795) (Thanks @sethvs!)-Quiet parameter of Invoke-Pester to -Show None in OpenCover.psm1 (#6798) (Thanks @sethvs!)Dbg.Assert with if () throw in CSVCommands.cs (#6910) (Thanks @sethvs!)GetTempFileName (#6943) (Thanks @iSazonov!)build.psm1 to not add tool path to $PATH twice (#6834)build.psm1 to save and restore PSOptions between different sessions. (#6884)Get-ChangeLog to make it more accurate (#6764)install-*.sh (#6771) (Thanks @bjh7242!)dotnet-cli initialization and stop caching the dotnet folder for Travis CI (#7007)System.Management.Automation.dll to fix the crash in Unix debug build (#6939)PSReadLine 2.0.0-beta2 from PSGallery (#6998)PSRP Linux NuGet package version to 1.4.2-* (#6711)Reset-PWSHSystemPath.ps1 (#6892) (Thanks @DarwinJS!)Settings.StyleCop file (#6930, #6986) (Thanks @iSazonov!)libcurl and libunwind in packaging to match the .NET Core behavior (#6964) (Thanks @qmfrederik!)docs.microsoft.com (#6981) (Thanks @bergmeister!)README.md (#6762)pwsh produced from dotnet build (#6549)FullCLR-only symbol-info related code from EventManager.cs (#6563)PSMethod-to-Delegate conversion (#6570)PsUtils.GetManModule() to avoid infinite loop when there was no main module (#6358)[Environment]::OSVersion to return current OS rather than compatible version (#6457)SaveError method in Parser to use nameof for error ids (#6498)Format-Wide -AutoSize | Out-String is called (#6491) (Thanks @stknohg!)LanguagePrimitive.GetEnumerable treat DataTable as Enumerable (#6511)RegexOption for -split by using if branches (#6605) (Thanks @iSazonov!)sshd subsystem to use via -Subsystem (#6603)Unregister-Event to remove an event subscriber when removing PSEdit function (#6449)PSISERemoteSessionOpenFile a support event (#6582)-WorkingDirectory parameter to pwsh (#6612)UMCI application white listing support (#6133)TableWriter (#6648) (Thanks @iSazonov!)-Resume Feature to WebCmdlets (#6447) (Thanks @markekraus!)user@host:port syntax for SSH transport (#6558)Test-Connection cmdlet (#5328) (Thanks @iSazonov!)Get-Date -UFormat (#6542) (Thanks @iSazonov!)Update-Help to save help content in user scope by default (#6352)Enable-PSRemoting to create PowerShell.6 endpoint and version specific endpoint (#6519, #6630)Disconnect-PSSession is only supported with WSMan (#6689)Export-FormatData print pretty XML output (#6691) (Thanks @iSazonov!)-AsArray parameter to ConvertoTo-Json command (#6438)Test-Json cmdlet (NJsonSchema) (#5229) (Thanks @iSazonov!)Invoke-WebRequest (#6700) (Thanks @gabrielsroka!)UFormat options in Get-Date (#6627) (Thanks @iSazonov!)-Not to Where-Object (#6464) (Thanks @SimonWahlin!)GetTypeInfo() calls (#6613, #6636, #6633, #6635, #6634)DefaultCommands.Tests.ps1 from CRLF to LF (#6553)Copy.Item.Tests.ps1 (#6596) (Thanks @sethvs!)Start-WebListener to WebCmdlets tests (#6604) (Thanks @markekraus!)Format-Table -Wrap (#6670) (Thanks @iSazonov!)Format-Table tests (#6657) (Thanks @iSazonov!)Get-Date -UFormat (#6614) (Thanks @iSazonov!).csproj files (#6559) (Thanks @iSazonov!)installpsh-<distrofamily>.sh installers to handle "preview" in version number (#6573) (Thanks @DarwinJS!)PowerShell.sln to work in VisualStudio (#6546)Restore-PSPackage (#6544)-WorkingDirectory parameter to handle context menu when path contains single quotes (#6660) (Thanks @bergmeister!)-CI not depend on -PSModuleRestore in Start-PSBuild (#6450)install-powershell.sh (#6617)MSP package (#6445)curl -o (#6510) (Thanks @M-D-M!)New-TemporaryFile and make it not rely on the presence of the TEMP environment variable (#6182) (Thanks @bergmeister!)AddTypeCommandBase class from Add-Type (#5407) (Thanks @iSazonov!)Language in Add-Type (#5829) (Thanks @iSazonov!)ValidateSet with generator in a module (#5702)SAL annotation and fix warnings (#5617)ForEach and Where methods to PSCustomobject (#5756) (Thanks @iSazonov!)Count and Length properties to PSCustomobject (#5745) (Thanks @iSazonov!).resx file from PowerShell ETW manifest. (#5892)PSv2 only code from Types_Ps1Xml.cs and HostUtilities.cs (#5907) (Thanks @iSazonov!)pwsh -EncodedArguments on debug builds. (#5836)RegisterManifest.ps1 (#5859) (Thanks @tandasat!)-settingsfile to pwsh to support loading a custom powershell config file. (#5920)pwsh -WindowStyle on unsupported platforms. (#5975) (Thanks @thezim!)PSMethod to Delegate (#5287) (Thanks @powercode!)-replace operator (#6029) (Thanks @IISResetMe!)NullRefException when using -PipelineVariable with DynamicParam block (#6433)NullReference checks to two code paths related to PseudoParameterBinder (#5738) (Thanks @kwkam!)PropertyOnlyAdapter to allow calling base methods (#6394)Certs and Signatures by adding EnhancedKeyUsageList and StatusMessage (#6123)NullRefException in Enter-PSHostProcess (#5995)BasicHtmlWebResponseObject and ContentHelper in Web Cmdlets (#5720) (Thanks @markekraus!)New-ModuleManifest on all platforms should be UTF-8 NoBOM (#5923)Set-Location use path with wildcard characters as literal if it exists (#5839)Microsoft.PowerShell.Commands.SetDateCommand.SystemTime to struct. (#6006) (Thanks @stknohg!)multipart/form-data support to Web Cmdlets through -Form parameter (#5972) (Thanks @markekraus!)Authorization header present (#6325) (Thanks @markekraus!)Get-ChildItem -LiteralPath accept Include or Exclude filter (#5462)ConvertTo-Json when Ctrl+c is hit (#6392)Resolve-Path -Relative return useful path when $PWD and -Path is on different drive (#5740) (Thanks @kwkam!)%c, %l, %k, %s and %j formats in Get-Date -UFormat (#4805) (Thanks @iSazonov!)Measure-Object (#6238) (Thanks @CloudyDino!)Get-ChildItem <PATH>/* -file include <Path> as search directory (#5431)PSSession Name when using SSHTransport and add Transport property (#5954)Path alias to -FilePath parameters and others for several commands (#5817) (Thanks @KevinMarquette!)-Password to Get-PfxCertificate (#6113) (Thanks @maybe-hello-world!)Format-Table (#5568)-SkipHeaderValidation Support to ContentType on Web Cmdlets (#6018) (Thanks @markekraus!)write-* commands default message parameter (#5816) (Thanks @KevinMarquette!)UTF-8 the default encoding for application/json (#6109) (Thanks @markekraus!)$env:PAGER to work correctly if arguments are used (#6144)one-true-brace-style formatting (#5716) (Thanks @markekraus!)IValidateSetValuesGenerator in a module (#5830) (Thanks @iSazonov!)linuxkit for macOS (#5843)HttpListener tests with WebListener (#5806, #5840, #5872) (Thanks @markekraus!)HttpListener from running in Web Cmdlets tests (#5921) (Thanks @markekraus!)PSVersion in PSSessionConfiguration tests (#5554) (Thanks @iSazonov!)Copy-Item over remote sessions (#6231)Get-Process about the -Module and -FileVersion parameters (#6272)OsLocalDateTime property of Get-ComputerInfo. (#6253)Get-FileHash tests to use raw bytes (#6430)runas.exe from tests as we have tags to control this behavior (#6432)Get-Content tests to use -TestCases. (#6082)RequireAdminOnWindows tag in Set-Date tests (#6034) (Thanks @stknohg!)-TimeOutSec from non timeout related tests (#6055) (Thanks @markekraus!)Start-WebListener (#6013) (Thanks @markekraus!)ExecutionPolicy cmdlets on Unix (#6021)127.0.0.1 instead of Localhost (#6069) (Thanks @markekraus!)Start-PSPester to include or exclude RequireSudoOnUnix tag smartly on Unix (#6241)RequireSudoOnUnix tag for Get-Help tests. (#6223)*-Item Cmdlets in function provider (#6172)x86 and x64. (#5824) (Thanks @bergmeister!)x86 and x64 are both installed by appending (x86) for x86 installation. (#5826) (Thanks @bergmeister!)imgbot (#5808) (Thanks @bergmeister!)Launch PowerShell checkbox to be toggled using the space bar. (#5792) (Thanks @bergmeister!)AppVeyor Build if MSI does not build (#5755) (Thanks @bergmeister!)WiX files after compilation to be able to have a clean re-build (#5757) (Thanks @bergmeister!)install-powershell.ps1 for running during window setup (#5727)Travis-CI cache (#6003)SLES (#5918) (Thanks @tomconte!)WiX toolset link to be generic to WiX 3.x but mention that latest version of 3.11 has to be taken (#5926) (Thanks @bergmeister!)Install-PowerShell.ps1 to force TLS1.2. (#6310) (Thanks @DarqueWarrior!)-Restore when build win-arm and win-arm64 (#6353)AppVeyor build (#6337)dotnet restore in Start-PSBuild (#6345)log and logerror to Write-Log [$message] [-error] (#6333)installpsh-debian.sh (#6314) (Thanks @Pawamoy!)TLS1.2 workaround for code coverage script (#6299)CentOS and Fedora Docker images (#6264) (Thanks @strawgate!)AppVeyor specific cmdlet from Start-NativeExecution (#6263)NuGet package cache by using dotnet restore (#6111)TRAVIS_PULL_REQUEST_SHA to accurately get the commit message (#6024)TLS1.2 on Windows during Start-PSBootstrap (#6235) (Thanks @CallmeJoeBob!)TLS1.2 in Start-PSBootStrap without breaking HTTPS (#6236) (Thanks @markekraus!)PSRemoting and register Windows Event Logging Manifest to MSI installer (#5999) (Thanks @bergmeister!)BREAKINGCHANGES.md to include WebCmdlets breaking changes (#5852) (Thanks @markekraus!)BREAKINGCHANGES.md (#5913) (Thanks @brianbunke!)macos.md to use brew cask upgrade for upgrading powershell (#5875) (Thanks @timothywlewis!)RequireSudoOnUnix tag. (#6274)Alpine Linux support (#6367) (Thanks @kasper3!)internals.md (#6084) (Thanks @ppadmavilasom!)Pull Request Process dead link (#6066) (Thanks @IISResetMe!)Raspbian installation instructions to create symlink for pwsh (#6122)pwsh (#6179) (Thanks @bergmeister!)install-powershell.ps1 to reflect that it works cross-platform (#5465) (Thanks @bergmeister!)2.0.6 dotnet core runtime and packages (#6403)
CVE-2018-0875: Hash Collision can cause Denial of ServiceAppImage (#6380)VSTS (#6107)DSC Configuration compilation (#6225)Start-PSBootStrap during release builds (#6159)CI (#6191)windowsservercore Docker image for release builds (#6226)ADD instead of Invoke-WebRequest in nanoserver Docker file (#6255)Invoke-AppveyorFinish (#6344)New-MsiPackage into packaging.psm1
and various fixes to enable patching
(#5871, #6221, #6254, #6303, #6356, #6208, #6334, #6379, #6094, #6192)HKLM instead of HKCU registry keys since the current installation scope is per-machine. (#5915) (Thanks @bergmeister!)2.0.5 dotnet core runtime and packages. (#5903, #5961) (Thanks @iSazonov!)v6.0.0 as v6.0.1 due to issues upgrading from pre-release versionsGitCommitId in $PSVersionTable to not require a pre-release tag (#5893)