- Fedora 28 was released, Fedora 26 and 25 went end of life. (#7079) (Thanks @adelton!)
- Disambiguate icon on Windows for preview builds/installers to use `Powershell_av_colors` and
make daily build use `Powershell_avatar` instead (#7086) (Thanks @bergmeister!)
- Update to build for Alpine (#7139)
- Update build and packaging modules for Alpine (#7149)
- Add ability to install previews side-by-side with production releases (#7194) (Thanks @DarwinJS!)
- Enable NuGet Package Registration for compliance (#7053)
- Fix the preview macOS package link (#7061)
- Remove PSReadLine from then `PowerShell.sln` file (#7137)
- Fix the file `PowerShell.sln` that was corrupted by accident (#7288)
- Fix the encoding of `PowerShell.sln` to be `utf-8` (#7289)
- Make sure all references to the Package ID for previews packages is powershell-preview (#7066)
- Update `internals.md` with the latest build changes (#7058)
- When installing using MSI, set the working directory of the shortcut to the user home directory (#7072)
- Move to dotnet core 2.1.1 (#7161) (Thanks @iSazonov!)
- Update to latest package references, runtime framework, and SDK (#7272)
- AppVeyor build matrix: more efficient build job split to reduce total time by another 5 minutes (#7021) (Thanks @bergmeister!)
- Build: Fix the source location of `PowerShell.Core.Instrumentation.dll` (#7226)
- Add Andrew to the default reviewers of the build related files (#7019)
- Build: Fix a check to avoid null argument in case `vcvarsall.bat` is absent (#7218) (Thanks @PetSerAl!)
- Update `releaseTag` in `tools/metadata.json` (#7214)
- Update `Start-PSPester` to make it more user friendly (#7210) (Thanks @bergmeister!)
- Make `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!)
### Documentation and Help Content
- Fix typos in `DOCSMIGRATION.md` (#7094) (Thanks @alexandair!)
- Add instructions to update Homebrew formula for the preview version PowerShell (#7067) (Thanks @vors!)
- Merge Third Party Notices and License updates (#7203)
- Update third party notices (#7042)
- Fix Markdown and spelling errors in `CHANGELOG.md` (#7064)
- Fix `New-TemporaryFile` online help URI (#6608)
- Fix links to PowerShell install docs (#7001) (Thanks @jokajak!)
- Update links that contain `en-us` culture (#7013) (Thanks @bergmeister!)
- Update docs for `ArgumentCompleterAttribute` class (#7227) (Thanks @Meir017!)
- Fix the name of a `Register-EngineEvent` test (#7222) (Thanks @alexjordan6!)
- Update README files for native code for migration (#7248)
- Comment about dynamic members for the `DotNetAdapter`, `GetMember` and `GetMembers` (#7087)
- Update the PowerShell executable location in building guide docs (#7205) (Thanks @louistio!)
- Migrate docs from PowerShell repository to Docs repository (#6899)
- Fix broken links due to migrating GitHub docs on Installation, Known Issues and Breaking Changes to `docs.microsoft.com` (#6981) (Thanks @bergmeister!)
- Update documentation on how to write tests verifying errors conditions (#6687)
- Fix preview download links in `README.md` (#6762)
- 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)
- 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!)
- Update PowerShell to use `2.0.6` dotnet core runtime and packages (#6403)
- This change addresses this vulnerability: [Microsoft Security Advisory `CVE-2018-0875`: Hash Collision can cause Denial of Service](https://github.com/PowerShell/Announcements/issues/4)
### Build and Packaging Improvements
- Add Ubuntu build without `AppImage` (#6380)
- Add scripts to set and or update the release tag in `VSTS` (#6107)
- Fix `DSC` Configuration compilation (#6225)
- Fix errors in `Start-PSBootStrap` during release builds (#6159)
- Fix spelling failures in `CI` (#6191)
- Use PowerShell `windowsservercore` Docker image for release builds (#6226)
- Use `ADD` instead of `Invoke-WebRequest` in `nanoserver` Docker file (#6255)
- When doing daily/test build in a non-release branch use the branch name as the preview name (#6355)
- Add Environment Variable override of telemetry (#6063) (Thanks @diddledan!)
- Build: Remove two unneeded lines from `Invoke-AppveyorFinish` (#6344)
- MSI: Refactor `New-MsiPackage` into `packaging.psm1`