v7.0.0-preview.1 - 05/30/2019 * Breaking Changes - Disable the debugger when in system lock-down mode (#9645) - Fix `Get-Module -FullyQualifiedName` option to work with paths (#9101) (Thanks @pougetat!) - Fix `-NoEnumerate` behavior in `Write-Output` (#9069) (Thanks @vexx32!) - Make command searcher treat wildcard as literal if target exists for execution (#9202) * Engine Updates and Fixes - Port PowerShell to .NET Core 3.0 (#9597) - Make sure we always return an object in command searcher (#9623) - Support line continuance with pipe at the start of a line (#8938) (Thanks @KirkMunro!) - Add support for `ValidateRangeKind` to `ParameterMetadata.GetProxyAttributeData` (#9059) (Thanks @indented-automation!) - Allow passing just a dash as an argument to a file via pwsh (#9479) - Fix tab completion for functions (#9383) - Reduce string allocation in console output code (#6882) (Thanks @iSazonov!) - Fixing test run crash by not passing script block to the callback (#9298) - Add Binary Parsing Support & Refactor `TryGetNumberValue` & `ScanNumberHelper` (#7993) (Thanks @vexx32!) - Add PowerShell remoting enable/disable cmdlet warning messages (#9203) - Add `xsd` for `cdxml` (#9177) - Improve formatting performance by having better primitives on `PSObject` (#8785) (Thanks @powercode!) - Improve type inference of array literals and foreach statement variables (#8100) (Thanks @SeeminglyScience!) - Fix for `FormatTable` remote deserialization regression (#9116) - Get `MethodInfo` from .NET public type with explicit parameter types (#9029) (Thanks @iSazonov!) - Add retry logic to the operation that updates `powershell.config.json` (#8779) (Thanks @iSazonov!) - Update the task-based `async` APIs added to PowerShell to return a Task object directly (#9079) - Add 5 `InvokeAsync` overloads and `StopAsync` to the `PowerShell` type (#8056) (Thanks @KirkMunro!) - Remove unused cached types (#9015) * General Cmdlet Updates and Fixes - Fix use of unicode ellipsis in `XML` for truncating error messages (#9589) - Improve error message in FileSystemProvider when removing a folder containing hidden or read only files (#9551) (Thanks @iSazonov!) - Enable recursion into `OneDrive` by not treating placeholders as symlinks (#9509) - Change `MatchType` for `EnumerationOptions` to be `Win32` making this consistent with Windows PowerShell (#9529) - Add Support for null Usernames in Web Cmdlet Basic Auth (#9536) (Thanks @markekraus!) - Fix null reference when `Microsoft.PowerShell.Utility` is loaded as a `snapin` in hosting scenarios (#9404) - Update width of `DateTime` to accommodate change in Japan `DateTime` format with new era starting 5/1/19 (#9503) - Fix `Get-Runspace` runspace object format Type column (#9438) - Return correct casing of filesystem path during normalization (#9250) - Move warning message to `EndProcessing` so it only shows up once (#9385) - Fix the platform check in `CimDSCParser.cs` (#9338) - New `New-PSBreakpoint` cmdlet & new `-Breakpoint` parameter for `Debug-Runspace` (#8923) - Fix help paging issues on macOS/Linux and with custom pager that takes arguments (#9033) (Thanks @rkeithhill!) - Add `QuoteFields` parameter to `ConvertTo-Csv` and `Export-Csv` (#9132) (Thanks @iSazonov!) - Fix progress for Get-ComputerInfo (#9236) (Thanks @powercode!) - Add `ItemSeparator` and `AltItemSeparator` properties in `ProviderInfo` (#8587) (Thanks @renehernandez!) - Add timestamp to `pshost` trace listener (#9230) - Implement `Get-Random -Count` without specifying an `InputObject` list (#9111) (Thanks @pougetat!) - Enable `SecureString` cmdlets for non-Windows (#9199) - Add Obsolete message to `Send-MailMessage` (#9178) - Fix `Restart-Computer` to work on `localhost` when WinRM is not present (#9160) - Make `Start-Job` throw terminating exception when `-RunAs32` is specified in 64-bit pwsh (#9143) - Make `Start-Job` throw terminating error when PowerShell is being hosted (#9128) - Made `-Subject` parameter of `Send-MailMessage` command no longer mandatory. (#8961) (Thanks @ece-jacob-scott!) - Make `New-ModuleManifest` consistent with `Update-ModuleManifest` (#9104) (Thanks @pougetat!) - Add support for empty `NoteProperty` in `Group-Object` (#9109) (Thanks @iSazonov!) - Remove `Hardlink` from `Mode` property in default file system format (#8789) (Thanks @powercode!) - Fixing issue with help progress with `Get-Help` not calling `Completed` (#8788) (Thanks @powercode!) - Allow `Test-ModuleManifest` to work when `RootModule` has no file extension (#8687) (Thanks @pougetat!) - Add `UseQuotes` parameter to `Export-Csv` and `ConvertTo-Csv` cmdlets (#8951) (Thanks @iSazonov!) - Update version for `PowerShell.Native` and hosting tests (#8983) - Refactor shuffle in `Get-Random` to save a full iteration of the objects. (#8969) (Thanks @st0le!) - Suggest `-Id pid` for `Get-Process pid` (#8959) (Thanks @MohiTheFish!) * Code Cleanup - `Attributes.cs` - Style / Formatting Fixes (#9625) (Thanks @vexx32!) - Remove Workflow from `PSSessionType` (#9618) (Thanks @iSazonov!) - Update use of 'PowerShell Core' to just 'PowerShell' (#9513) - Use `IPGlobalProperties` on all platforms for getting host name (#9530) (Thanks @iSazonov!) - Remove `IsSymLink()` P/Invoke on Unix (#9534) (Thanks @iSazonov!) - Cleanup unused P/Invokes on Unix (#9531) (Thanks @iSazonov!) - Update use of `Windows PowerShell` to just `PowerShell` (#9508) - Cleanup: sort `usings` (#9490) (Thanks @iSazonov!) - Cleanup `Export-Command` from `AssemblyInfo` (#9455) (Thanks @iSazonov!) - Run CodeFormatter for `System.Management.Automation` (#9402) (Thanks @iSazonov!) - Run CodeFormatter with `BraceNewLine`,`UsingLocation`,`FormatDocument`,`NewLineAbove` rules (#9393) (Thanks @iSazonov!) - Run CodeFormatter for `WSMan.Management` (#9400) (Thanks @iSazonov!) - Run CodeFormatter for `WSMan.Runtime` (#9401) (Thanks @iSazonov!) - Run CodeFormatter for `Security` module (#9399) (Thanks @iSazonov!) - Run CodeFormatter for `MarkdownRender` (#9398) (Thanks @iSazonov!) - Run CodeFormatter for `Eventing` (#9394) (Thanks @iSazonov!) - Use `Environment.NewLine` for new lines in `ConsoleHost` code (#9392) (Thanks @iSazonov!) - Run CodeFormatter for Diagnostics module (#9378) (Thanks @iSazonov!) - Run CodeFormatter for `Microsoft.PowerShell.Commands.Management` (#9377) (Thanks @iSazonov!) - Run CodeFormatter for Utility module (#9376) (Thanks @iSazonov!) - Style: Match file name casings of C# source files for Utility commands (#9329) (Thanks @ThreeFive-O!) - Update repo for Ubuntu 14.04 EOL (#9324) - Cleanup: sort `usings` (#9283) (Thanks @iSazonov!) - Fix StyleCop Hungarian Notation (#9281) (Thanks @iSazonov!) - Style: Update StyleCop rules (#8500) - Enhance the P/Invoke code for `LookupAccountSid` in `Process.cs` (#9197) (Thanks @iSazonov!) - Fix coding style for `NewModuleManifestCommand` (#9134) (Thanks @pougetat!) - Remove unused method `CredUIPromptForCredential` from `HostUtilities.cs` (#9220) (Thanks @iSazonov!) - Remove non-existent paths from `.csproj` files (#9214) (Thanks @ThreeFive-O!) - Typo in new parameter set (#9205) - Minor `FileSystemProvider` cleanup (#9182) (Thanks @RDIL!) - Cleanup style issues in `CoreAdapter` and `MshObject` (#9190) (Thanks @iSazonov!) - Minor cleanups in `Process.cs` (#9195) (Thanks @iSazonov!) - Refactor `ReadConsole` P/Invoke in `ConsoleHost` (#9165) (Thanks @iSazonov!) - Clean up `Get-Random` cmdlet (#9133) (Thanks @pougetat!) - Fix to not pass `StringBuilder` by reference (`out` or `ref`) in P/Invoke (#9066) (Thanks @iSazonov!) - Update AppVeyor comments in `Implicit.Remoting.Tests.ps1` (#9020) (Thanks @RDIL!) - Remove AppImage from tools (#9100) (Thanks @Geweldig!) - Using supported syntax for restoring warnings - Visual Studio 2019 complains about enable. (#9107) (Thanks @powercode!) - Use `Type.EmptyTypes` and `Array.Empty<T>()` to replace our custom code of the same functionality (#9042) (Thanks @iSazonov!) - Rename private methods in `MshCommandRuntime.cs` (#9074) (Thanks @vexx32!) - Cleanup & update `ErrorRecord` class code style (#9021) (Thanks @vexx32!) - Remove unused cached types from `CachedReflectionInfo` (#9019) (Thanks @iSazonov!) - Fix CodeFactor brace style issues in `FileSystemProvider` (#8992) (Thanks @RDIL!) - Use `List.AddRange` to optimize `-Split` (#9001) (Thanks @iSazonov!) - Remove Arch Linux Dockerfile (#8990) (Thanks @RDIL!) - Cleanup `dllimport` (#8847) (Thanks @iSazonov!) * Tools - Convert custom attribute `ValidatePathNotInSettings` to function (#9406) - Create `DependaBot` `config.yml` (#9368) - Add more users to failures detection and fix alias for static analysis (#9292) - Make `install-powershell.ps1` work on Windows Server 2012 R2 (#9271) - Enable `PoshChan` for getting and automatic retrieval of test failures for a PR (#9232) - Fix capitalization cases for `PoshChan` (#9188) (Thanks @RDIL!) - Update to new format for `PoshChan` settings and allow all users access to reminders (#9198) - Fix settings to use dashes instead of underscore (#9167) - Fix `AzDevOps` context names and add all PowerShell team members (#9164) - Add settings for `PoshChan` (#9162) - Adding `CmdletsToExport` and `AliasesToExport` to test module manifests. (#9108) (Thanks @powercode!) - Delete Docker manifest creation script (#9076) (Thanks @RDIL!) - Make install scripts more consistent over different operating systems (#9071) (Thanks @Geweldig!) - Comment cleanup in `releaseTools.psm1` (#9064) (Thanks @RDIL!) - Fix duplicate recommendation of Azure DevOps extension for Visual Studio Code (#9032) (Thanks @ThreeFive-O!) - Code coverage artifacts (#8993) * Tests - Update version tests to use `NextReleaseVersion` from `metadata.json` (#9646) - Convert Windows CI to stages (#9607) - Multiple test fixes and improved logging for fragile tests (#9569) - Add unit and feature tests for `Send-MailMessage` (#9213) (Thanks @ThreeFive-O!) - Update to Pester `4.8.0` (#9510) - Ensure `Wait-UntilTrue` returns `$true` in Pester tests (#9458) (Thanks @xtqqczze!) - Adding tests for `Remove-Module` (#9276) (Thanks @pougetat!) - Allow CI to run on branches with this name pattern: `feature*` (#9415) - Mark tests in macOS CI which use `AppleScript` as pending/inconclusive (#9352) - Reduce time for stack overflow test (#9302) - Added more tests for `Import-Alias` by file regarding parsing difficult aliases strings (#9247) (Thanks @SytzeAndr!) - Move from `npm` to `Yarn` for markdown tests (#9312) (Thanks @RDIL!) - Only search for functions in Constrained Language help tests (#9301) - Fix skipping of tests in `RemoteSession.Basic.Tests.ps1` (#9304) - Make sure non-Windows CI fails when a test fails (#9303) - Update tests to account for when `$PSHOME` is read only (#9279) - Add tests for command globbing (#9180) - Fix tab completion test to handle multiple matches (#8891) - Refactor macOS CI so that tests run in parallel (#9056) - Fix `Enter-PSHostProcess` tests flakiness (#9007) - Add source for `Install-Package` to install `netDumbster` (#9081) - Style fixes for `Select-Xml` tests (#9037) (Thanks @ThreeFive-O!) - Enable cross-platform `Send-MailMessage` tests for CI (#8859) (Thanks @ThreeFive-O!) - Added `RequireSudoOnUnix` tags to `PowerShellGet` tests and remove pending parameter (#8954) (Thanks @RDIL!) - Style fixes for `ConvertTo-Xml` tests (#9036) (Thanks @ThreeFive-O!) - Align name schemes for test files (#9034) (Thanks @ThreeFive-O!) - Pending `NamedPipeConnectionInfo` test (#9003) (Thanks @iSazonov!) - Add test for `-WhatIf` for `New-FileCatalog` (#8966) (Thanks @mjanko5!) * Build and Packaging Improvements - Fix the PowerShell version number in MSI packages (Internal 8547) - Add cleanup before building test package (Internal 8529) - Update version for SDK tests and `Microsoft.PowerShell.Native` package (Internal 8512) - Update the target framework for reference assemblies to `netcoreapp3.0` (Internal 8510) - Fix syncing modules from PowerShell gallery by normalizing version numbers (Internal 8504) - Add `tsaVersion` property as `TsaV1` for compliance build phase (#9176) - Add ability to cross compile (#9374) - Add `AcessToken` variable to jobs that perform signing (#9351) - Add CI for `install-powershell.sh` and Amazon Linux (#9314) - Add component detection to all jobs (#8964) - Add Preview assets for `MSIX` (#9375) - Add secret scanning to CI (#9249) - Build test packages for `windows`, `linux-x64`, `linux-arm`, `linux-arm64` and `macOS` (#9476) - Bump `gulp` from `4.0.0` to `4.0.2` (#9441, #9544) - Bump `Markdig.Signed` from `0.15.7` to `0.17.0` (#8981, #9579) - Bump `Microsoft.CodeAnalysis.CSharp` from `2.10.0` to `3.1.0` (#9277, 9653) - Bump `Microsoft.PowerShell.Native` from `6.2.0-rc.1` to `6.2.0` (#9200) - Bump `Microsoft.Windows.Compatibility` from `2.0.1` to `2.1.1` (#9605) - Bump `Newtonsoft.Json` from `12.0.1` to `12.0.2` (#9431, #9434) - Bump `NJsonSchema` from `9.13.19` to `9.14.1` (#9044, #9136, #9166, #9172, #9184, #9196, #9265, #9349, #9388, #9421, #9429, #9478, #9523, #9616) - Bump `PackageManagement` from `1.3.1` to `1.4` (#9567, #9650) - Bump `PowerShellGet` from `2.0.4` to `2.1.4` in /src/Modules (#9110, #9145, #9600, #9691) - Bump `PSReadLine` from `2.0.0-beta3` to `2.0.0-beta4` (#9554) - Bump `SelfSignedCertificate` (#9055) - Bump `System.Data.SqlClient` from `4.6.0` to `4.6.1` (#9601) - Bump `System.Net.Http.WinHttpHandler` from `4.5.2` to `4.5.3` (#9333) - Bump `Microsoft.PowerShell.Archive` from `1.2.2.0` to `1.2.3.0` (#9593) - Check to be sure that the test result file has actual results before uploading (#9253) - Clean up static analysis config (#9113) (Thanks @RDIL!) - Create `codecoverage` and test packages for non-Windows (#9373) - Create test package for macOS on release builds (#9344) - Disable Homebrew analytics in macOS Azure DevOps builds (#9130) (Thanks @RDIL!) - Enable building of `MSIX` package (#9289) - Enable building on Kali Linux (#9471) - Fix artifact Download issue in release build (#9095) - Fix build order in `windows-daily` build (#9275) - Fix dependencies of NuGet build to wait on `DEB` uploads to finish (#9118) - Fix `MSI` Upgrade failure for preview builds (#9013) - Fix publishing daily `nupkg` to MyGet (#9269) - Fix the failed test and update `Publish-TestResults` to make Azure DevOps fail the task when any tests failed (#9457) - Fix variable name in `windows-daily.yml` (#9274) - Fixed Dockerfile syntax highlighting (#8991) (Thanks @RDIL!) - Make `CodeCoverage` configuration build portable symbol files (#9346) - Make Linux CI parallel (#9209) - Move artifacts to artifact staging directory before uploading (#9273) - Performance improvements for release build (#9179) - Preserve user shortcuts pinned to TaskBar during MSI upgrade (#9305) (Thanks @bergmeister!) - Publish global tool packages to `pwshtool` blob and bug fixes (#9163) - Publish test package on release builds (#9063) - Publish windows daily build to MyGet (#9288) - Remove appveyor references from packaging tools (#9117) (Thanks @RDIL!) - Remove code from `CI.psm1` to optionally run Feature tests (#9212) (Thanks @RDIL!) - Remove duplicate `PoliCheck` task and pin to specific version (#9297) - Run `Start-PSBootStrap` in Code Coverage build to install .NET SDK (#9690) - Switch from `BMP` to `PNG` for graphical `MSI` installer assets (#9606) - Translate Skipped the test results into something Azure DevOps does NOT understand (#9124) - Update Markdown test dependencies (#9075) (Thanks @RDIL!) - Update UML to represent SDK and Global tool builds (#8997) - Use IL assemblies for NuGet packages to reduce size (#9171) * Documentation and Help Content - Add checkbox to PR checklist for experimental feature use (#9619) (Thanks @KirkMunro!) - Updating committee membership (#9577) (Thanks @HemantMahawar!) - Update `CODEOWNERS` file to reduce noise (#9547) - add download link to `raspbian64` to readme (#9520) - Update `Support_Question.md` (#9218) (Thanks @vexx32!) - Fix version of `PowerShellGet` in changelog (#9335) - Update release process template to clarify that most tasks are coordinated by the release pipeline (#9238) - Fix several problems in `WritingPesterTests` guideline (#9078) (Thanks @ThreeFive-O!) - Update `ChangeLog` for `6.2.0` (#9245) - Update docs for `v6.2.0` (#9229) - Update `feature-request` issue template to move instructions into comments. (#9187) (Thanks @mklement0!) - Update link to Contributing guide to new `PowerShell-Doc` repo (#9090) (Thanks @iSazonov!) - Correct punctuation in `README.md` (#9045) (Thanks @yashrajbharti!) - Update Docker `README.md` (#9010) (Thanks @RDIL!) - Update release process issue template (#9051) (Thanks @RDIL!) - Documentation Cleanup (#8851) (Thanks @RDIL!) - Update docs for `6.2.0-rc.1` release (#9022) - Update release template (#8996)