* v6.1.0-preview.1 - 2018-03-23 ** Breaking Changes - Throw terminating error in `New-TemporaryFile` and make it not rely on the presence of the `TEMP` environment variable (#6182) (Thanks @bergmeister!) - Remove the unnecessary `AddTypeCommandBase` class from `Add-Type` (#5407) (Thanks @iSazonov!) - Remove unsupported members from the enum `Language` in `Add-Type` (#5829) (Thanks @iSazonov!) - Fix range operator to work better with character ranges (#5732) (Thanks @iSazonov!) ** Engine Updates and Fixes - Fix `ValidateSet` with generator in a module (#5702) - Update `SAL` annotation and fix warnings (#5617) - Add `ForEach` and `Where` methods to `PSCustomobject` (#5756) (Thanks @iSazonov!) - Add `Count` and `Length` properties to `PSCustomobject` (#5745) (Thanks @iSazonov!) - Make minor fixes in compiler to properly handle void type expression (#5764) - Logging: Fix the escaped characters when generating `.resx` file from PowerShell `ETW` manifest. (#5892) - Remove `PSv2` only code from `Types_Ps1Xml.cs` and `HostUtilities.cs` (#5907) (Thanks @iSazonov!) - Enable passing arrays to `pwsh -EncodedArguments` on debug builds. (#5836) - Logging: Handle path that contains spaces in `RegisterManifest.ps1` (#5859) (Thanks @tandasat!) - Add `-settingsfile` to `pwsh` to support loading a custom powershell config file. (#5920) - Return better error for `pwsh -WindowStyle` on unsupported platforms. (#5975) (Thanks @thezim!) - Enable conversions from `PSMethod` to `Delegate` (#5287) (Thanks @powercode!) - Minor code clean-up changes in tab completion code (#5737) (Thanks @kwkam!) - Add lambda support to `-replace` operator (#6029) (Thanks @IISResetMe!) - Fix retrieval of environment variables on Windows in cases where variable names differ only by case. (#6320) - Fix the `NullRefException` when using `-PipelineVariable` with `DynamicParam` block (#6433) - Add `NullReference` checks to two code paths related to `PseudoParameterBinder` (#5738) (Thanks @kwkam!) - Fix `PropertyOnlyAdapter` to allow calling base methods (#6394) - Improve table view for `Certs` and `Signatures` by adding `EnhancedKeyUsageList` and `StatusMessage` (#6123) - Fix the filtering of analytic events on Unix platforms. (#6086) - Update copyright and license headers (#6134) - Set pipeline thread stack size to 10MB (#6224) (Thanks @iSazonov!) ** General Cmdlet Updates and Fixes - Fix the `NullRefException` in `Enter-PSHostProcess` (#5995) - Merge and Sort `BasicHtmlWebResponseObject` and `ContentHelper` in Web Cmdlets (#5720) (Thanks @markekraus!) - Encoding for `New-ModuleManifest` on all platforms should be `UTF-8 NoBOM` (#5923) - Make `Set-Location` use path with wildcard characters as literal if it exists (#5839) - Combine Web Cmdlets partial class files (#5612) (Thanks @markekraus!) - Change `Microsoft.PowerShell.Commands.SetDateCommand.SystemTime` to `struct`. (#6006) (Thanks @stknohg!) - Add Simplified `multipart/form-data` support to Web Cmdlets through `-Form` parameter (#5972) (Thanks @markekraus!) - Make a relative redirect URI absolute when `Authorization` header present (#6325) (Thanks @markekraus!) - Make relation-link handling in Web Cmdlets case-insensitive (#6338) - Make `Get-ChildItem -LiteralPath` accept `Include` or `Exclude` filter (#5462) - Stop `ConvertTo-Json` when `Ctrl+c` is hit (#6392) - Make `Resolve-Path -Relative` return useful path when `$PWD` and `-Path` is on different drive (#5740) (Thanks @kwkam!) - Correct the `%c`, `%l`, `%k`, `%s` and `%j` formats in `Get-Date -UFormat` (#4805) (Thanks @iSazonov!) - Add standard deviation implementation on `Measure-Object` (#6238) (Thanks @CloudyDino!) - Make `Get-ChildItem <PATH>/* -file` include `<Path>` as search directory (#5431) - Enable setting `PSSession` Name when using `SSHTransport` and add `Transport` property (#5954) - Add `Path` alias to `-FilePath` parameters and others for several commands (#5817) (Thanks @KevinMarquette!) - Add the parameter `-Password` to `Get-PfxCertificate` (#6113) (Thanks @maybe-hello-world!) - Don't add trailing spaces to last column when using `Format-Table` (#5568) - Fix table alignment and padding. (#6230) - Add `-SkipHeaderValidation` Support to `ContentType` on Web Cmdlets (#6018) (Thanks @markekraus!) - Add common aliases for all `write-*` commands default message parameter (#5816) (Thanks @KevinMarquette!) - Make `UTF-8` the default encoding for `application/json` (#6109) (Thanks @markekraus!) - Enable `$env:PAGER` to work correctly if arguments are used (#6144) ** Test - Convert Web Cmdlets test to `one-true-brace-style` formatting (#5716) (Thanks @markekraus!) - Add a test for `IValidateSetValuesGenerator` in a module (#5830) (Thanks @iSazonov!) - Fix function to test for docker OS due to change to use `linuxkit` for macOS (#5843) - Replace `HttpListener` tests with `WebListener` (#5806, #5840, #5872) (Thanks @markekraus!) - Stop `HttpListener` from running in Web Cmdlets tests (#5921) (Thanks @markekraus!) - Fix `PSVersion` in `PSSessionConfiguration` tests (#5554) (Thanks @iSazonov!) - Update test framework to support Pester v4 (#6064) - Update tests to use Pester v4 Syntax. (#6294, #6257, #6306, #6304, #6298) - Add negative tests for `Copy-Item` over remote sessions (#6231) - Markdown test: Use strict in JavaScript (#6328) - Add tests for `Get-Process` about the `-Module` and `-FileVersion` parameters (#6272) - Add test for the `OsLocalDateTime` property of `Get-ComputerInfo`. (#6253) - Change `Get-FileHash` tests to use raw bytes (#6430) - Remove `runas.exe` from tests as we have tags to control this behavior (#6432) - Refactor the `Get-Content` tests to use `-TestCases`. (#6082) - Use `RequireAdminOnWindows` tag in `Set-Date` tests (#6034) (Thanks @stknohg!) - Remove `-TimeOutSec` from non timeout related tests (#6055) (Thanks @markekraus!) - Add verbosity and more accurate timeout implementation for `Start-WebListener` (#6013) (Thanks @markekraus!) - Skip tests that use `ExecutionPolicy` cmdlets on Unix (#6021) - Change Web Cmdlet tests to use `127.0.0.1` instead of `Localhost` (#6069) (Thanks @markekraus!) - Fix `Start-PSPester` to include or exclude `RequireSudoOnUnix` tag smartly on Unix (#6241) - Fix the terse output on Windows for test runs without admin privilege (#6252) - Add `RequireSudoOnUnix` tag for `Get-Help` tests. (#6223) - Add tests for `*-Item` Cmdlets in function provider (#6172) - Support running tests in root privilege on Linux. (#6145) ** Build and Packaging Improvements - Add option to add explorer shell context menu in Windows installer (#5774) (Thanks @bergmeister!) - Make the explorer shell context menu registry entries platform specific to allow side by side of `x86` and `x64`. (#5824) (Thanks @bergmeister!) - Fix start menu folder clash of shortcut when `x86` and `x64` are both installed by appending ` (x86)` for `x86` installation. (#5826) (Thanks @bergmeister!) - Reduce image file sizes using lossless compression with `imgbot` (#5808) (Thanks @bergmeister!) - Windows installer: Allow `Launch PowerShell` checkbox to be toggled using the space bar. (#5792) (Thanks @bergmeister!) - Fix release packaging build (#6459) - Fail `AppVeyor` Build if `MSI` does not build (#5755) (Thanks @bergmeister!) - Cleanup temporarily created `WiX` files after compilation to be able to have a clean re-build (#5757) (Thanks @bergmeister!) - Fix `install-powershell.ps1` for running during window setup (#5727) - Start using `Travis-CI` cache (#6003) - Fix build, packaging and installation scripts for `SLES` (#5918) (Thanks @tomconte!) - Update recommended `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!) - Add service point manager call in `Install-PowerShell.ps1` to force `TLS1.2`. (#6310) (Thanks @DarqueWarrior!) - Add `-Restore` when build `win-arm` and `win-arm64` (#6353) - Make sure package verification failure fails the `AppVeyor` build (#6337) - Specify the runtime when running `dotnet restore` in `Start-PSBuild` (#6345) - Rename `log` and `logerror` to `Write-Log [$message] [-error]` (#6333) - Make Linux packages use correct version scheme for preview releases (#6318) - Add support for Debian in `installpsh-debian.sh` (#6314) (Thanks @Pawamoy!) - MSI: Make preview builds to install Side by side with release builds (#6301) - Add `TLS1.2` workaround for code coverage script (#6299) - Cleanup after Powershell install for `CentOS` and `Fedora` Docker images (#6264) (Thanks @strawgate!) - MSI: Update the environment variable PATH with proper value (#6441) - MSI: Remove the version from the product name (#6415) - Support non-GitHub commits in the change log generation script (#6389) - Fix secret and JavaScript compliance issues (#6408) - Remove `AppVeyor` specific cmdlet from `Start-NativeExecution` (#6263) - Restore modules from the `NuGet` package cache by using `dotnet restore` (#6111) - CI Build: Use `TRAVIS_PULL_REQUEST_SHA` to accurately get the commit message (#6024) - Use `TLS1.2` on Windows during `Start-PSBootstrap` (#6235) (Thanks @CallmeJoeBob!) - Use `TLS1.2` in `Start-PSBootStrap` without breaking `HTTPS` (#6236) (Thanks @markekraus!) - Add options to enable `PSRemoting` and register Windows Event Logging Manifest to MSI installer (#5999) (Thanks @bergmeister!) ** Documentation and Help Content - Separate macOS from Linux install instructions. (#5823) (Thanks @thezim!) - Show usage (short) help if command line parameter is wrong (#5780) (Thanks @iSazonov!) - Add the breaking changes doc for 6.0.0 release. (#5620) (Thanks @maertendMSFT!) - Remove DockerFile for Fedora 25 and add DockerFile for Fedora 27 (#5984) (Thanks @seemethere!) - Add a missing step to prepare the build environment on Mac. (#5901) (Thanks @zackJKnight!) - Update `BREAKINGCHANGES.md` to include WebCmdlets breaking changes (#5852) (Thanks @markekraus!) - Fix typos in `BREAKINGCHANGES.md` (#5913) (Thanks @brianbunke!) - Update `macos.md` to use `brew cask upgrade` for upgrading powershell (#5875) (Thanks @timothywlewis!) - Add verification step to macOS install docs (#5860) (Thanks @rpalo!) - Fix links in macOS install docs (#5861) (Thanks @kanjibates!) - Update docs with test guidelines with the `RequireSudoOnUnix` tag. (#6274) - Add `Alpine` Linux support (#6367) (Thanks @kasper3!) - Update to Governance doc to reflect current working model (#6323) - Add guidance on adding copyright and license header to new source files (#6140) - Fix the command to build type catalog in `internals.md` (#6084) (Thanks @ppadmavilasom!) - Fix `Pull Request Process` dead link (#6066) (Thanks @IISResetMe!) - Update processes to allow for coordinated vulnerability disclosure (#6042) - Rework Windows Start menu folder name (#5891) (Thanks @Stanzilla!) - Update `Raspbian` installation instructions to create `symlink` for `pwsh` (#6122) - Fix various places that still refer to old versions of `pwsh` (#6179) (Thanks @bergmeister!) - Correct a Linux installation typo (#6219) (Thanks @mababio!) - Change synopsis of `install-powershell.ps1` to reflect that it works cross-platform (#5465) (Thanks @bergmeister!)