Skip to content

Tags: adityapatwardhan/PowerShell

Tags

v6.1.0-rc.1

Toggle v6.1.0-rc.1's commit message
v6.1.0-rc.1 - 2018-08-22

* Engine Updates and Fixes

- Fix to not duplicate the `System32` module path when starting `pwsh` from `pwsh` (PowerShell#7414)
- Fix sequence point update for `switch/if/for/while/do-while/do-until` statements (PowerShell#7305)
- Set the cursor to the place where a user hits tab key (PowerShell#7299)
- Adding `LanguagePrimitives.TryCompare` to provide faster comparisons (PowerShell#7438) (Thanks @powercode!)
- Improving performance of `LanguagePrimitives.TryConvertTo` (PowerShell#7418) (Thanks @powercode!)
- Set `PowerShellVersion` to `3.0` for built-in modules to make Windows PowerShell work when starting from PowerShell Core (PowerShell#7365)
- Avoid extra unnecessary allocations in `PSMemberInfoInternalCollection<T>` (PowerShell#7435) (Thanks @iSazonov!)
- Enforce the `CompatiblePSEditions` check for modules from the legacy `System32` module path (PowerShell#7183)
- Make sure that `SettingFile` argument is parsed before we load the settings (PowerShell#7449)
- Default to `DefaultConsoleWidth` when DotNet says `WindowWidth` is 0 (PowerShell#7465)

* General Cmdlet Updates and Fixes

- Fix parameter name in the `Get-Variable` cmdlet error message (PowerShell#7384) (Thanks @sethvs!)
- Fix `Move-Item -Path` with wildcard character (PowerShell#7397) (Thanks @kwkam!)
- Ignore `Newtonsoft.Json` metadata properties in `ConvertFrom-Json` (PowerShell#7308) (Thanks @louistio!)
- Fix several issues in Markdown cmdlets (PowerShell#7329)
- Add support for parsing Link Header with variable whitespace (PowerShell#7322)
- Change parameter order in `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 (PowerShell#7370) (Thanks @sethvs!)
- Add support for passing files and Markdown directly to `Show-Markdown` (PowerShell#7354)
- Add `-SkipIndex` parameter to `Select-Object` (PowerShell#7483) (Thanks @powercode!)
- Improve performance of `Import-CSV` up to 10 times (PowerShell#7413) (Thanks @powercode!)
- Update `Enable-PSRemoting` so configuration name is unique for Preview releases (PowerShell#7202)
- Improve performance on JSON to PSObject conversion (PowerShell#7482) (Thanks @powercode!)
- Fix error message for `Add-Type` when `-AssemblyName` with wildcard is not found (PowerShell#7444)
- Make native globbing on Unix return an absolute path when it is given an absolute path (PowerShell#7106)
- Improve the performance of `Group-Object` (PowerShell#7410) (Thanks @powercode!)
- Remove one unneeded verbose output from `ConvertTo-Json` (PowerShell#7487) (Thanks @devblackops!)
- Enable `Get-ChildItem` to produce `Mode` property even if cannot determine if hard link (PowerShell#7355)

* Code Cleanup

- Remove empty XML comment lines (PowerShell#7401) (Thanks @iSazonov!)
- Cleanup Docker files (PowerShell#7328)
- Correct the comment for `WSManReceiveDataResult.Unmarshal` (PowerShell#7364)
- Format Utility `csproj` with updated `codeformatter` (PowerShell#7263) (Thanks @iSazonov!)
- Bulk update format for files in Management folder with `codeformatter` (PowerShell#7346) (Thanks @iSazonov!)
- Cleanup: replace `Utils.FileExists()/DirectoryExists()/ItemExists()` with DotNet methods (PowerShell#7129) (Thanks @iSazonov!)
- Update `Utils.IsComObject` to use `Marshal.IsComObject` since CAS is no longer supported in DotNet Core (PowerShell#7344)
- Fix some style issues in engine code (PowerShell#7246) (Thanks @iSazonov!)

* Test

- Use `-BeExactly` and `-HaveCount` instead of `-Be` in `BugFix.Tests.ps1` (PowerShell#7386) (Thanks @sethvs!)
- Use `-BeExactly` and `-HaveCount` instead of `-Be` in `TabCompletion.Tests.ps1` (PowerShell#7380) (Thanks @sethvs!)
- Update CI scripts to support running tests for experimental features (PowerShell#7419)
- Use `-HaveCount` instead of `-Be` in `Where-Object.Tests.ps1` (PowerShell#7379) (Thanks @sethvs!)
- Fix ThreadJob tests so that they will run more reliably (PowerShell#7360)
- Make logging tests for macOS pending (PowerShell#7433)

* Build and Packaging Improvements

- Update Build script owners (PowerShell#7321)
- Make `MUSL` NuGet package optional (PowerShell#7316)
- Enable `pwsh-preview` to work on Windows (PowerShell#7345)
- Fix SDK dependencies
- Add back the `powershell-core` NuGet source for hosting tests
- Fix typo in environment checker (PowerShell#7547 & PowerShell#7549)
- Only remove the revision if it is `0` from module version when restoring modules (PowerShell#7538)
- Update `WCF` and `NJsonSchema` NuGet packages to latest released patch version (PowerShell#7411) (Thanks @bergmeister!)
- Add Linux and macOS VSTS CI (PowerShell#7490, PowerShell#7527, PowerShell#7535, PowerShell#7515 & PowerShell#7516)
- Updated ThreadJob to version `1.1.2` (PowerShell#7522)
- Add xUnit project to `PowerShell.sln` and make it runnable from within VisualStudio (PowerShell#7254) (Thanks @bergmeister!)
- Update NuGet packaging code for the new markdown assembly (PowerShell#7431)
- Update version of modules shipped with PowerShell (PowerShell#7531)
- Retry restore on failure (PowerShell#7544 & PowerShell#7550)
- Update `PowerShellGet` version
- Update NuGet package metadata (PowerShell#7517)
- Update reference to use packages from `NuGet.org` (PowerShell#7525)
- `Start-DevPowerShell`: add `-Configuration` and handle `-ArgumentList` more properly (PowerShell#7300) (Thanks @jazzdelightsme!)
- Add preview icon to macOS launcher (PowerShell#7448) (Thanks @thezim!)
- Add `Microsoft.PowerShell.MarkdownRender` to `signing.xml` (PowerShell#7472)
- Fix building on RedHat Enterprise Linux (PowerShell#7489)
- Build: Also search PATH for `rcedit`  (PowerShell#7503) (Thanks @kwkam!)
- Save modules to un-versioned folder to enable servicing (PowerShell#7518 & PowerShell#7523)
- Fix macOS launcher app to allow release and preview versions (PowerShell#7306) (Thanks @thezim!)

* Documentation and Help Content

- Fix docs comments in utility folder (PowerShell#7192) (Thanks @iSazonov!)
- Fix a typo in `issue-management.md` (PowerShell#7393) (Thanks @alexandair!)
- Fix casing of `GitHub` in `best-practice.md` (PowerShell#7392) (Thanks @alexandair!)
- Fix typos in `docs/maintainers/README.md` (PowerShell#7390) (Thanks @alexandair!)
- Add maintainer's best practice document and update maintainer list (PowerShell#7311)
- Update Docker link to `PowerShell-Docker` (PowerShell#7351) (Thanks @JoshuaCooper!)
- Add `Snapcraft` to spelling dictionary (PowerShell#7318)
- Update `README.md` and `metadata.json` for release `v6.0.4` (PowerShell#7497)
- Add `Former Repository Maintainers` section in `maintainers/README.md` (PowerShell#7475)
- Update the `HelpUri` for `Get-ExperimentalFeature` (PowerShell#7466)

v6.0.4

Toggle v6.0.4's commit message
v6.0.4 - 2018-08-10

Build and Packaging Improvements

- Aggregate native components into a single NuGet package Microsoft.PowerShell.Native.
- Update the version of NuGet packages referenced by PowerShell.
- Fix release build for macOS.

Test

- Fix xUnit tests.
- Add new tests for hosting PowerShell SDK NuGet packages.

list

Toggle list's commit message
Fix to not duplicate the System32 module path when starting pwsh from…

… pwsh (PowerShell#7414)

v6.1.0-preview.4

Toggle v6.1.0-preview.4's commit message
v6.1.0-preview.4 - 2018-07-19

* Breaking Changes

- Remove the `VisualBasic` support from Add-Type (PowerShell#7284)
- Update PowerShell Direct to try `pwsh` then fallback to `powershell` (PowerShell#7241)
- Make pwsh able to start in a directory with wildcards in the name (PowerShell#7240)
- Update `Enable-PSRemoting` so configuration name is unique for Preview releases (PowerShell#7202)
- Enforce the `CompatiblePSEditions` check for modules from the legacy `System32` module path (PowerShell#7183)

* Engine Updates and Fixes

- Add support to experimental features (PowerShell#7242)
- Fix error when using `Get-ChildItem c:` (PowerShell#7033) (Thanks @sethvs!)
- Add location history for `Set-Location` to enable `cd -` scenario (issue PowerShell#2188) (PowerShell#5051) (Thanks @bergmeister!)
- Fix padding for right aligned column in table formatting (PowerShell#7136)
- Fix a performance regression to the `-replace` operator after adding `ScriptBlock` support (PowerShell#7135)
- Fix tab expansion for `Get-Process` on macOS (PowerShell#7176)
- When using PSRP, if we receive text instead of XML, output it as error to help troubleshoot (PowerShell#7168)
- Fix trimming of whitespace when table is wrapped (PowerShell#7184)
- Modified the `Group-Object -AsHashTable` to use the base object of `PSObject` as the key for the `Hashtable` (PowerShell#7123)
- Add back ADSI and WMI type accelerators (PowerShell#7085)
- Add `CompatiblePSEditions` to PowerShell Core built-in modules (PowerShell#7083)
- Make `Start-Process -ArgumentList` to accept `@()` or `$null` (PowerShell#6597)
- Avoid calling native APIs to check for existence of FileSystem items (PowerShell#6929) (Thanks @iSazonov!)
- Add copy environment variables from `ProcessStartInfo` to key/pair array used in creating SSH process (PowerShell#7070)
- Add markdown rendering feature assemblies to the trusted assembly list (PowerShell#7280)
- Don't fail if `SaferPolicy` API is not available on Windows 10 IoT or NanoServer (PowerShell#7075)
- Fix conditions for transcription of `Write-Information` command. (PowerShell#6917) (Thanks @hubuk!)
- Fix a parsing error when `break` and `continue` are used in a switch statement in a finally block (PowerShell#7273)
- Fix prompt string to be platform agnostic and keep its trailing spaces (PowerShell#7255)
- Make progress panel display correctly on UNIX when the user is typing. (PowerShell#6972)
- Revert change to have `SetLocation()` treat wildcarded path as literal if it exists (PowerShell#7101)
- Make `Select-Object`/`ForEach-Object`/`Where-Object` see dynamic properties (PowerShell#6898) (Thanks @jazzdelightsme!)
- Fix class searcher to ignore hidden properties (PowerShell#7188)
- Update remote prompt when using SSH to show username if different (PowerShell#7191)
- Remove `SemanticVersion` from `knowntypes` list in serialization code to enable interop between Windows PowerShell and PowerShell Core (PowerShell#7016)
- Add more information to job process failure error (PowerShell#7251)
- Use .Net Core `File.Delete()` method to remove symbolic links and alternate streams (PowerShell#7017) (Thanks @iSazonov!)
- Enable `UseShellExecute` on all platforms (PowerShell#7198)
- Methods with return type `[object]` should return `null` for an empty result (PowerShell#7138)

* General Cmdlet Updates and Fixes

- Add Markdown rendering cmdlets (PowerShell#6926)
- `Send-MailMessage`: Update all parameters to support `ValueFromPipelineByPropertyName`. (PowerShell#6911) (Thanks @sethvs!)
- Allow Basic Auth over HTTPS (PowerShell#6890)
- Add `ThreadJob` module package and tests (PowerShell#7169)
- Fix Windows Event Log channel isolation semantics (PowerShell#6956) (Thanks @Robo210!)
- Make `Measure-Object` handle `scriptblock` properties. (PowerShell#6934)
- Added functionality to retry in `Invoke-RestMethod` and `Invoke-WebRequest`. (PowerShell#5760)
- Add type inference for `Select-Object` command (PowerShell#7171) (Thanks @powercode!)
- Add `-AllStats` Switch parameter for `Measure-Object` cmdlet (PowerShell#7220) (Thanks @kvprasoon!)

* Code Cleanup

- Remove unneeded code that forces ARM platforms to run PowerShell in CL mode (PowerShell#7046)
- Bulk update code base to put `null` on the right-hand-side of a comparison expression (PowerShell#6949) (Thanks @iSazonov!)
- Remove `MapSecurityZoneWithUrlmon` method and related code (PowerShell#7103)
- Cleanup: remove the unneeded type `RemotingCommandUtils` (PowerShell#7029)
- Remove unneeded Windows-Full modules (PowerShell#7030)
- CodeFactor code style cleanup: replace literal empty strings with `string.Empty` (PowerShell#6950) (Thanks @iSazonov!)
- Remove dummy comments in Utility module files (PowerShell#7224) (Thanks @iSazonov!)
- Use empty array for Functions/Cmdlets/`AliasesToExport` to follow the best practice (PowerShell#7108)
- Refactor module code related to `Get-Module -ListAvailable` (PowerShell#7145)
- Refactor module specification logic (PowerShell#7126)

* Test

- Add tests for module specifications (PowerShell#7140)
- Update test string for better clarity in `Send-MailMessage.Tests.ps1` (PowerShell#7195) (Thanks @sethvs!)
- Add test to verify filesystem provider isn't used when accessing root path in `PSDrive` (PowerShell#7173)
- Fix to address `ThreadJob` tests reliability and speed (PowerShell#7270)
- Add additional checks for test that passes inconsistently (PowerShell#7051)

* Build and Packaging Improvements

- `install-powershell.sh` filter pre-releases (when available), `params` documentation (PowerShell#6849) (Thanks @DarwinJS!)
- Fedora 28 was released, Fedora 26 and 25 went end of life. (PowerShell#7079) (Thanks @adelton!)
- Disambiguate icon on Windows for preview builds/installers to use `Powershell_av_colors` and
  make daily build use `Powershell_avatar` instead (PowerShell#7086) (Thanks @bergmeister!)
- Update to build for Alpine (PowerShell#7139)
- Update build and packaging modules for Alpine (PowerShell#7149)
- Add ability to install previews side-by-side with production releases (PowerShell#7194) (Thanks @DarwinJS!)
- Enable NuGet Package Registration for compliance (PowerShell#7053)
- Fix the preview macOS package link (PowerShell#7061)
- Remove PSReadLine from then `PowerShell.sln` file (PowerShell#7137)
- Fix the file `PowerShell.sln` that was corrupted by accident (PowerShell#7288)
- Fix the encoding of `PowerShell.sln` to be `utf-8` (PowerShell#7289)
- Make sure all references to the Package ID for previews packages is powershell-preview (PowerShell#7066)
- Update `internals.md` with the latest build changes (PowerShell#7058)
- When installing using MSI, set the working directory of the shortcut to the user home directory (PowerShell#7072)
- Move to dotnet core 2.1.1 (PowerShell#7161) (Thanks @iSazonov!)
- Update to latest package references, runtime framework, and SDK (PowerShell#7272)
- AppVeyor build matrix: more efficient build job split to reduce total time by another 5 minutes (PowerShell#7021) (Thanks @bergmeister!)
- Build: Fix the source location of `PowerShell.Core.Instrumentation.dll` (PowerShell#7226)
- Add Andrew to the default reviewers of the build related files (PowerShell#7019)
- Build: Fix a check to avoid null argument in case `vcvarsall.bat` is absent (PowerShell#7218) (Thanks @PetSerAl!)
- Update `releaseTag` in `tools/metadata.json` (PowerShell#7214)
- Update `Start-PSPester` to make it more user friendly (PowerShell#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` (PowerShell#7235) (Thanks @bergmeister!)

* Documentation and Help Content

- Fix typos in `DOCSMIGRATION.md` (PowerShell#7094) (Thanks @alexandair!)
- Add instructions to update Homebrew formula for the preview version PowerShell (PowerShell#7067) (Thanks @vors!)
- Merge Third Party Notices and License updates (PowerShell#7203)
- Update third party notices (PowerShell#7042)
- Fix Markdown and spelling errors in `CHANGELOG.md` (PowerShell#7064)
- Fix `New-TemporaryFile` online help URI (PowerShell#6608)
- Fix links to PowerShell install docs (PowerShell#7001) (Thanks @jokajak!)
- Update links that contain `en-us` culture (PowerShell#7013) (Thanks @bergmeister!)
- Update docs for `ArgumentCompleterAttribute` class (PowerShell#7227) (Thanks @Meir017!)
- Fix the name of a `Register-EngineEvent` test (PowerShell#7222) (Thanks @alexjordan6!)
- Update README files for native code for migration (PowerShell#7248)
- Comment about dynamic members for the `DotNetAdapter`, `GetMember` and `GetMembers` (PowerShell#7087)
- Update the PowerShell executable location in building guide docs (PowerShell#7205) (Thanks @louistio!)

v6.0.3

Toggle v6.0.3's commit message
v6.0.3 - 2018-07-19

* Build and Packaging Improvements

- Remove `PackageManagement` installed by `PowerShellGet` and pin `PackageManagement` to `1.1.7.0` to maintain the ability to patch
- Pin `PowerShellGet` to `1.6.0` to maintain the ability to patch MSI installs
- Update NuGet package references to the latest and get fix for CVE-2018-8356
- Enable NuGet Package Registration for compliance (PowerShell#7053)
    - Restore when building test projects
- Update to DotNet Runtime Framework `2.0.8`
- Specify the runtime when running 'dotnet restore' in 'Start-PSBuild' (PowerShell#6345)
- Update version of `fpm` to resolve issues installing
- MSI: Update path with proper value (PowerShell#6441)
- MSI: Remove the version from the product name (PowerShell#6415)
- Migrate the macOS official binary build to VSTS mac hosted preview (PowerShell#6363)

* Test

- Get newer xUnit Skippable Fact Package

v6.1.0-preview.3

Toggle v6.1.0-preview.3's commit message
v6.1.0-preview.3 - 2018-06-07

* Breaking Changes

- Clean up uses of `CommandTypes.Workflow` and `WorkflowInfo` (PowerShell#6708)
- Disallow Basic Auth over HTTP in PowerShell Remoting on Unix (PowerShell#6787)
- Change packaging to differentiate only between major versions and previews (PowerShell#6968)
- Enhance and refactor `Add-Type` cmdlet (PowerShell#6141) (Thanks @iSazonov!)
  - A few error strings were removed and thus the corresponding fully-qualified error ids are not in use anymore.

* Engine Updates and Fixes

- Fix crash when terminal is reset (PowerShell#6777)
- Fix a module-loading regression that caused an infinite loop (PowerShell#6843)
- Further improve `PSMethod` to `Delegate` conversion (PowerShell#6851)
- Blacklist `System.Windows.Forms` from loading to prevent a crash (PowerShell#6822)
- Fix `Format-Table` where rows were being trimmed unnecessarily if there's only one row of headers (PowerShell#6772)
- Fix `SetDate` function in `libpsl-native` to avoid corrupting memory during `P/Invoke` (PowerShell#6881)
- Fix tab completions for hash table (PowerShell#6839) (Thanks @iSazonov!)
- Fix parser to continue parsing key-value pairs after an `If-Statement` value in a `HashExpression` (PowerShell#7002)
- Add error handling for `#requires` in an interactive session (PowerShell#6469)

* General Cmdlet Updates and Fixes

- Improve parameter validation in `ExportCsvHelper` (PowerShell#6816) (Thanks @sethvs!)
- Quote `Multipart` form-data field names (PowerShell#6782) (Thanks @markekraus!)
- Fix Web Cmdlets for .NET Core 2.1 (PowerShell#6806) (Thanks @markekraus!)
- Fix `Set-Location DriveName:` to restore current working directory in the drive (PowerShell#6774) (Thanks @mcbobke!)
- Add the alias `-lp` for `-LiteralPath` parameters PowerShell#6732 (PowerShell#6770) (Thanks @kvprasoon!)
- Remove `more` function and move the `$env:PAGER` capability into the `help` function (PowerShell#6059) (Thanks @iSazonov!)
- Add line break to the error message for `Set-ExecutionPolicy` (PowerShell#6803) (Thanks @wesholton84!)

* Code Cleanup

- Clean up `#if SILVERLIGHT` (PowerShell#6907) (Thanks @iSazonov!)
- Clean up the unused method `NonWindowsGetDomainName()` (PowerShell#6948) (Thanks @iSazonov!)
- Clean up FileSystem provider (PowerShell#6909) (Thanks @iSazonov!)

* Test

- Add tests for PowerShell hosting API to verify MyGet packages (PowerShell#6737)
- Remove Web Cmdlets tests using proxy environment variables (PowerShell#6808) (Thanks @iSazonov!)
- Enable Web Cmdlets tests for greater platform support (PowerShell#6836) (Thanks @markekraus!)
- Convert `ShouldBeErrorId` to `Should -Throw -ErrorId` in PowerShell tests (PowerShell#6682)
- Fix CIM cmdlets tests (PowerShell#6755) (Thanks @sethvs!)
- Add tests for PowerShell classes inheriting from abstract .NET classes (PowerShell#6752)
- Fix `Select-Object.Tests.ps1` which previously failed intermittently on Unix platforms. (PowerShell#6747)
- Update docker package tests to fix error on OpenSUSE 42 (PowerShell#6783)
- Fix test and infrastructure that block code coverage runs (PowerShell#6790)
- Update Tests `Isfile` to correct response for `/` (PowerShell#6754) (Thanks @Patochun!)
- Improve code coverage in `Export-Csv.Tests.ps1` (PowerShell#6795) (Thanks @sethvs!)
- Change `-Quiet` parameter of `Invoke-Pester` to `-Show None` in `OpenCover.psm1` (PowerShell#6798) (Thanks @sethvs!)
- Replace `Dbg.Assert` with `if () throw` in `CSVCommands.cs` (PowerShell#6910) (Thanks @sethvs!)
- Fix xUnit test `GetTempFileName` (PowerShell#6943) (Thanks @iSazonov!)

* Build and Packaging Improvements

- Add Windows Compatibility Pack 2.0.0 to PowerShell Core and adopt the official .NET Core 2.1 (PowerShell#6958)
- Add Jumplist 'Run as Administrator' to Taskbar on Windows (PowerShell#6913, PowerShell#6985) (Thanks @bergmeister!)
- Use AppVeyor matrix for faster Pull Request builds (PowerShell#6945) (Thanks @bergmeister!)
- Fix `build.psm1` to not add tool path to $PATH twice (PowerShell#6834)
- Add script to create a container manifest (PowerShell#6735)
- Fix docker manifest creation script to work with more complex tags and with repeated use (PowerShell#6852)
- Add functions to merge Pester and xUnit logs (PowerShell#6854)
- Enable generating full symbols for the Windows debug build (PowerShell#6853)
- Add functions into `build.psm1` to save and restore `PSOptions` between different sessions. (PowerShell#6884)
- Update signing XML based on new signing guidelines (PowerShell#6893)
- Update the release docker files to allow specifying the version of to-be-installed PowerShell and the version of image to use (PowerShell#6835)
- Updates docker files for Fedora 27 and Kali Linux (PowerShell#6819)
- Change packaging to support Ubuntu 17.10 and 18.04 (PowerShell#6769)
- Update `Get-ChangeLog` to make it more accurate (PowerShell#6764)
- Fix comparison to see if sudo test is needed in `install-*.sh` (PowerShell#6771) (Thanks @bjh7242!)
- Packaging: Add registry keys to support library folder background for explorer context menu (PowerShell#6784) (Thanks @bergmeister!)
- Skip `dotnet-cli` initialization and stop caching the `dotnet` folder for Travis CI (PowerShell#7007)
- Skip compiling the non-supported cmdlets on Unix in `System.Management.Automation.dll` to fix the crash in Unix debug build (PowerShell#6939)
- Use `PSReadLine` 2.0.0-beta2 from PSGallery (PowerShell#6998)
- Update `PSRP` Linux NuGet package version to 1.4.2-* (PowerShell#6711)
- Add path cleanup utility `Reset-PWSHSystemPath.ps1` (PowerShell#6892) (Thanks @DarwinJS!)
- Add logic to create signing XML for NuGet packages (PowerShell#6921)
- Add and config the `Settings.StyleCop` file (PowerShell#6930, PowerShell#6986) (Thanks @iSazonov!)
- Fix the double curly bracket typo in a docker file (PowerShell#6960) (Thanks @adelton!)
- Remove dependencies on `libcurl` and `libunwind` in packaging to match the .NET Core behavior (PowerShell#6964) (Thanks @qmfrederik!)
- Make the docker build fail when the curl operation fails. (PowerShell#6961) (Thanks @adelton!)

* Documentation and Help Content

- Update installation doc about Raspbian (PowerShell#6859)
- Add code coverage report generation instructions (PowerShell#6515)
- Migrate docs from PowerShell repository to Docs repository (PowerShell#6899)
- Fix broken links due to migrating GitHub docs on Installation, Known Issues and Breaking Changes to `docs.microsoft.com` (PowerShell#6981) (Thanks @bergmeister!)
- Update documentation on how to write tests verifying errors conditions (PowerShell#6687)
- Fix preview download links in `README.md` (PowerShell#6762)

v6.1.0-preview.2

Toggle v6.1.0-preview.2's commit message
v6.1.0-preview.2 - 2018-04-27

* Breaking Changes

- Remove support for file to opt-out of telemetry, only support environment variable (PowerShell#6601)
- Simplify the installation paths the MSI uses (PowerShell#6442)

* Engine Updates and Fixes

- Fix running `pwsh` produced from `dotnet build` (PowerShell#6549)
- Remove the `FullCLR-only` symbol-info related code from `EventManager.cs` (PowerShell#6563)
- Improve `PSMethod-to-Delegate` conversion (PowerShell#6570)
- Fix `PsUtils.GetManModule()` to avoid infinite loop when there was no main module (PowerShell#6358)
- Fix error in windows environment provider when the environment variable has duplicates that differ only by case (PowerShell#6489) (Thanks @mklement0!)
- Make sure that the width of the header is at least the size of the label (or property name) (PowerShell#6487)
- Enable `[Environment]::OSVersion` to return current OS rather than compatible version (PowerShell#6457)
- Change the `SaveError` method in Parser to use `nameof` for error ids (PowerShell#6498)
- Fix error when `Format-Wide -AutoSize | Out-String` is called (PowerShell#6491) (Thanks @stknohg!)
- Make `LanguagePrimitive.GetEnumerable` treat `DataTable` as Enumerable (PowerShell#6511)
- Fix formatting of tables where headers span multiple rows (PowerShell#6504)
- Improve performance of parsing `RegexOption` for `-split` by using `if` branches (PowerShell#6605) (Thanks @iSazonov!)
- Enable specifying `sshd` subsystem to use via `-Subsystem` (PowerShell#6603)
- Add some optimizations in formatting subsystem (PowerShell#6678) (Thanks @iSazonov!)
- Throw better parsing error when statements should be put in named block (PowerShell#6434)
- Use `Unregister-Event` to remove an event subscriber when removing `PSEdit` function (PowerShell#6449)
- Make the `PSISERemoteSessionOpenFile` a support event (PowerShell#6582)
- Add `-WorkingDirectory` parameter to `pwsh` (PowerShell#6612)
- Support importing module paths that end in trailing directory separator (PowerShell#6602)
- Formatting: Use cache for dash padding strings for tables (PowerShell#6625) (Thanks @iSazonov!)
- Port Windows PowerShell AppLocker and DeviceGuard `UMCI` application white listing support (PowerShell#6133)
- Reduce allocations in `TableWriter` (PowerShell#6648) (Thanks @iSazonov!)

* General Cmdlet Updates and Fixes

- Add `-Resume` Feature to WebCmdlets (PowerShell#6447) (Thanks @markekraus!)
- Support `user@host:port` syntax for `SSH` transport (PowerShell#6558)
- Add ported `Test-Connection` cmdlet (PowerShell#5328) (Thanks @iSazonov!)
- Added line break to Access-Denied error message (PowerShell#6607)
- Some fixes in `Get-Date -UFormat` (PowerShell#6542) (Thanks @iSazonov!)
- Added check for existence of Location HTTP header before using it (PowerShell#6560) (Thanks @ffeldhaus!)
- Enable `Update-Help` to save help content in user scope by default (PowerShell#6352)
- Update `Enable-PSRemoting` to create PowerShell.6 endpoint and version specific endpoint (PowerShell#6519, PowerShell#6630)
- Update error message that `Disconnect-PSSession` is only supported with `WSMan` (PowerShell#6689)
- Make `Export-FormatData` print pretty XML output (PowerShell#6691) (Thanks @iSazonov!)
- Add `-AsArray` parameter to `ConvertoTo-Json` command (PowerShell#6438)
- Add `Test-Json` cmdlet (`NJsonSchema`) (PowerShell#5229) (Thanks @iSazonov!)
- Correct a typo in comment for `Invoke-WebRequest` (PowerShell#6700) (Thanks @gabrielsroka!)
- Re-order `UFormat` options in `Get-Date` (PowerShell#6627) (Thanks @iSazonov!)
- Add the parameter `-Not` to `Where-Object` (PowerShell#6464) (Thanks @SimonWahlin!)

* Code Cleanup

- Engine: Fix several code cleanup issues (PowerShell#6552, PowerShell#6609)
- Clean up workflow logic in the module loading component (PowerShell#6523)
- Engine: Clean up unneeded `GetTypeInfo()` calls (PowerShell#6613, PowerShell#6636, PowerShell#6633, PowerShell#6635, PowerShell#6634)

* Test

- Fix line ending in `DefaultCommands.Tests.ps1` from `CRLF` to `LF` (PowerShell#6553)
- Use new Pester parameter syntax in tests (PowerShell#6490, PowerShell#6574, PowerShell#6535, PowerShell#6536, PowerShell#6488, PowerShell#6366, PowerShell#6351, PowerShell#6349, PowerShell#6256, PowerShell#6250) (Thanks @KevinMarquette, @sethvs, @bergmeister!)
- Fix `Copy.Item.Tests.ps1` (PowerShell#6596) (Thanks @sethvs!)
- Fix typos or formatting in some test files (PowerShell#6595, PowerShell#6593, PowerShell#6594, PowerShell#6592, PowerShell#6591) (Thanks @sethvs!)
- Add missing `Start-WebListener` to WebCmdlets tests (PowerShell#6604) (Thanks @markekraus!)
- Update Dockerfile test to use Ubuntu 17.10 as the base image (PowerShell#6503)
- Add PowerShell logging tests for macOS and Linux (PowerShell#6025)
- Add tests for `Format-Table -Wrap` (PowerShell#6670) (Thanks @iSazonov!)
- Reformat `Format-Table` tests (PowerShell#6657) (Thanks @iSazonov!)
- Add new reliable tests for `Get-Date -UFormat` (PowerShell#6614) (Thanks @iSazonov!)

* Build and Packaging Improvements

- Use C# latest language in `.csproj` files (PowerShell#6559) (Thanks @iSazonov!)
- Update `installpsh-<distrofamily>.sh` installers to handle preview in version number (PowerShell#6573) (Thanks @DarwinJS!)
- Enable `PowerShell.sln` to work in VisualStudio (PowerShell#6546)
- Remove duplicate `Restore-PSPackage` (PowerShell#6544)
- Use `-WorkingDirectory` parameter to handle context menu when path contains single quotes (PowerShell#6660) (Thanks @bergmeister!)
- Make `-CI` not depend on `-PSModuleRestore` in `Start-PSBuild` (PowerShell#6450)
- Restore for official Linux arm builds (PowerShell#6455)
- Fix error about setting readonly variable in `install-powershell.sh` (PowerShell#6617)
- Make release macOS build work better (PowerShell#6619, PowerShell#6610)
- MSI: add function to generate a `MSP` package (PowerShell#6445)

* Documentation and Help Content

- Doc: Update Ubuntu source creation commands to use `curl -o` (PowerShell#6510) (Thanks @M-D-M!)
- Update stale bot message (PowerShell#6462) (Thanks @iSazonov!)
- Remove extraneous SSH and install docs from the 'demos' folder (PowerShell#6628)

v6.1.0-preview.1

Toggle v6.1.0-preview.1's commit message
* 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 (PowerShell#6182) (Thanks @bergmeister!)
- Remove the unnecessary `AddTypeCommandBase` class from `Add-Type` (PowerShell#5407) (Thanks @iSazonov!)
- Remove unsupported members from the enum `Language` in `Add-Type` (PowerShell#5829) (Thanks @iSazonov!)
- Fix range operator to work better with character ranges (PowerShell#5732) (Thanks @iSazonov!)

** Engine Updates and Fixes

- Fix `ValidateSet` with generator in a module (PowerShell#5702)
- Update `SAL` annotation and fix warnings (PowerShell#5617)
- Add `ForEach` and `Where` methods to `PSCustomobject` (PowerShell#5756) (Thanks @iSazonov!)
- Add `Count` and `Length` properties to `PSCustomobject` (PowerShell#5745) (Thanks @iSazonov!)
- Make minor fixes in compiler to properly handle void type expression (PowerShell#5764)
- Logging: Fix the escaped characters when generating `.resx` file from PowerShell `ETW` manifest. (PowerShell#5892)
- Remove `PSv2` only code from `Types_Ps1Xml.cs` and `HostUtilities.cs` (PowerShell#5907) (Thanks @iSazonov!)
- Enable passing arrays to `pwsh -EncodedArguments` on debug builds. (PowerShell#5836)
- Logging: Handle path that contains spaces in `RegisterManifest.ps1` (PowerShell#5859) (Thanks @tandasat!)
- Add `-settingsfile` to `pwsh` to support loading a custom powershell config file. (PowerShell#5920)
- Return better error for `pwsh -WindowStyle` on unsupported platforms. (PowerShell#5975) (Thanks @thezim!)
- Enable conversions from `PSMethod` to `Delegate` (PowerShell#5287) (Thanks @powercode!)
- Minor code clean-up changes in tab completion code (PowerShell#5737) (Thanks @kwkam!)
- Add lambda support to `-replace` operator (PowerShell#6029) (Thanks @IISResetMe!)
- Fix retrieval of environment variables on Windows in cases where variable names differ only by case. (PowerShell#6320)
- Fix the `NullRefException` when using `-PipelineVariable` with `DynamicParam` block (PowerShell#6433)
- Add `NullReference` checks to two code paths related to `PseudoParameterBinder` (PowerShell#5738) (Thanks @kwkam!)
- Fix `PropertyOnlyAdapter` to allow calling base methods (PowerShell#6394)
- Improve table view for `Certs` and `Signatures` by adding `EnhancedKeyUsageList` and `StatusMessage` (PowerShell#6123)
- Fix the filtering of analytic events on Unix platforms. (PowerShell#6086)
- Update copyright and license headers (PowerShell#6134)
- Set pipeline thread stack size to 10MB (PowerShell#6224) (Thanks @iSazonov!)

** General Cmdlet Updates and Fixes

- Fix the `NullRefException` in `Enter-PSHostProcess` (PowerShell#5995)
- Merge and Sort `BasicHtmlWebResponseObject` and `ContentHelper` in Web Cmdlets (PowerShell#5720) (Thanks @markekraus!)
- Encoding for `New-ModuleManifest` on all platforms should be `UTF-8 NoBOM` (PowerShell#5923)
- Make `Set-Location` use path with wildcard characters as literal if it exists (PowerShell#5839)
- Combine Web Cmdlets partial class files (PowerShell#5612) (Thanks @markekraus!)
- Change `Microsoft.PowerShell.Commands.SetDateCommand.SystemTime` to `struct`. (PowerShell#6006) (Thanks @stknohg!)
- Add Simplified `multipart/form-data` support to Web Cmdlets through `-Form` parameter (PowerShell#5972) (Thanks @markekraus!)
- Make a relative redirect URI absolute when `Authorization` header present (PowerShell#6325) (Thanks @markekraus!)
- Make relation-link handling in Web Cmdlets case-insensitive (PowerShell#6338)
- Make `Get-ChildItem -LiteralPath` accept `Include` or `Exclude` filter (PowerShell#5462)
- Stop `ConvertTo-Json` when `Ctrl+c` is hit (PowerShell#6392)
- Make `Resolve-Path -Relative` return useful path when `$PWD` and `-Path` is on different drive (PowerShell#5740) (Thanks @kwkam!)
- Correct the `%c`, `%l`, `%k`, `%s` and `%j` formats in `Get-Date -UFormat` (PowerShell#4805) (Thanks @iSazonov!)
- Add standard deviation implementation on `Measure-Object` (PowerShell#6238) (Thanks @CloudyDino!)
- Make `Get-ChildItem <PATH>/* -file` include `<Path>` as search directory (PowerShell#5431)
- Enable setting `PSSession` Name when using `SSHTransport` and add `Transport` property (PowerShell#5954)
- Add `Path` alias to `-FilePath` parameters and others for several commands (PowerShell#5817) (Thanks @KevinMarquette!)
- Add the parameter `-Password` to `Get-PfxCertificate` (PowerShell#6113) (Thanks @maybe-hello-world!)
- Don't add trailing spaces to last column when using `Format-Table` (PowerShell#5568)
- Fix table alignment and padding. (PowerShell#6230)
- Add `-SkipHeaderValidation` Support to `ContentType` on Web Cmdlets (PowerShell#6018) (Thanks @markekraus!)
- Add common aliases for all `write-*` commands default message parameter (PowerShell#5816) (Thanks @KevinMarquette!)
- Make `UTF-8` the default encoding for `application/json` (PowerShell#6109) (Thanks @markekraus!)
- Enable `$env:PAGER` to work correctly if arguments are used (PowerShell#6144)

** Test

- Convert Web Cmdlets test to `one-true-brace-style` formatting (PowerShell#5716) (Thanks @markekraus!)
- Add a test for `IValidateSetValuesGenerator` in a module (PowerShell#5830) (Thanks @iSazonov!)
- Fix function to test for docker OS due to change to use `linuxkit` for macOS (PowerShell#5843)
- Replace `HttpListener` tests with `WebListener` (PowerShell#5806, PowerShell#5840, PowerShell#5872) (Thanks @markekraus!)
- Stop `HttpListener` from running in Web Cmdlets tests (PowerShell#5921) (Thanks @markekraus!)
- Fix `PSVersion` in `PSSessionConfiguration` tests (PowerShell#5554) (Thanks @iSazonov!)
- Update test framework to support Pester v4 (PowerShell#6064)
- Update tests to use Pester v4 Syntax. (PowerShell#6294, PowerShell#6257, PowerShell#6306, PowerShell#6304, PowerShell#6298)
- Add negative tests for `Copy-Item` over remote sessions (PowerShell#6231)
- Markdown test: Use strict in JavaScript (PowerShell#6328)
- Add tests for `Get-Process` about the `-Module` and `-FileVersion` parameters (PowerShell#6272)
- Add test for the `OsLocalDateTime` property of `Get-ComputerInfo`. (PowerShell#6253)
- Change `Get-FileHash` tests to use raw bytes (PowerShell#6430)
- Remove `runas.exe` from tests as we have tags to control this behavior (PowerShell#6432)
- Refactor the `Get-Content` tests to use `-TestCases`. (PowerShell#6082)
- Use `RequireAdminOnWindows` tag in `Set-Date` tests (PowerShell#6034) (Thanks @stknohg!)
- Remove `-TimeOutSec` from non timeout related tests (PowerShell#6055) (Thanks @markekraus!)
- Add verbosity and more accurate timeout implementation for `Start-WebListener` (PowerShell#6013) (Thanks @markekraus!)
- Skip tests that use `ExecutionPolicy` cmdlets on Unix (PowerShell#6021)
- Change Web Cmdlet tests to use `127.0.0.1` instead of `Localhost` (PowerShell#6069) (Thanks @markekraus!)
- Fix `Start-PSPester` to include or exclude `RequireSudoOnUnix` tag smartly on Unix (PowerShell#6241)
- Fix the terse output on Windows for test runs without admin privilege (PowerShell#6252)
- Add `RequireSudoOnUnix` tag for `Get-Help` tests. (PowerShell#6223)
- Add tests for `*-Item` Cmdlets in function provider (PowerShell#6172)
- Support running tests in root privilege on Linux. (PowerShell#6145)

** Build and Packaging Improvements

- Add option to add explorer shell context menu in Windows installer (PowerShell#5774) (Thanks @bergmeister!)
- Make the explorer shell context menu registry entries platform specific to allow side by side of `x86` and `x64`. (PowerShell#5824) (Thanks @bergmeister!)
- Fix start menu folder clash of shortcut when `x86` and `x64` are both installed by appending ` (x86)` for `x86` installation. (PowerShell#5826) (Thanks @bergmeister!)
- Reduce image file sizes using lossless compression with `imgbot` (PowerShell#5808) (Thanks @bergmeister!)
- Windows installer: Allow `Launch PowerShell` checkbox to be toggled using the space bar. (PowerShell#5792) (Thanks @bergmeister!)
- Fix release packaging build (PowerShell#6459)
- Fail `AppVeyor` Build if `MSI` does not build (PowerShell#5755) (Thanks @bergmeister!)
- Cleanup temporarily created `WiX` files after compilation to be able to have a clean re-build (PowerShell#5757) (Thanks @bergmeister!)
- Fix `install-powershell.ps1` for running during window setup (PowerShell#5727)
- Start using `Travis-CI` cache (PowerShell#6003)
- Fix build, packaging and installation scripts for `SLES` (PowerShell#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 (PowerShell#5926) (Thanks @bergmeister!)
- Add service point manager call in `Install-PowerShell.ps1` to force `TLS1.2`. (PowerShell#6310) (Thanks @DarqueWarrior!)
- Add `-Restore` when build `win-arm` and `win-arm64` (PowerShell#6353)
- Make sure package verification failure fails the `AppVeyor` build (PowerShell#6337)
- Specify the runtime when running `dotnet restore` in `Start-PSBuild` (PowerShell#6345)
- Rename `log` and `logerror` to `Write-Log [$message] [-error]` (PowerShell#6333)
- Make Linux packages use correct version scheme for preview releases (PowerShell#6318)
- Add support for Debian in `installpsh-debian.sh` (PowerShell#6314) (Thanks @pawamoy!)
- MSI: Make preview builds to install Side by side with release builds (PowerShell#6301)
- Add `TLS1.2` workaround for code coverage script (PowerShell#6299)
- Cleanup after Powershell install for `CentOS` and `Fedora` Docker images (PowerShell#6264) (Thanks @strawgate!)
- MSI: Update the environment variable PATH with proper value (PowerShell#6441)
- MSI: Remove the version from the product name (PowerShell#6415)
- Support non-GitHub commits in the change log generation script (PowerShell#6389)
- Fix secret and JavaScript compliance issues (PowerShell#6408)
- Remove `AppVeyor` specific cmdlet from `Start-NativeExecution` (PowerShell#6263)
- Restore modules from the `NuGet` package cache by using `dotnet restore` (PowerShell#6111)
- CI Build: Use `TRAVIS_PULL_REQUEST_SHA` to accurately get the commit message (PowerShell#6024)
- Use `TLS1.2` on Windows during `Start-PSBootstrap` (PowerShell#6235) (Thanks @CallmeJoeBob!)
- Use `TLS1.2` in `Start-PSBootStrap` without breaking `HTTPS` (PowerShell#6236) (Thanks @markekraus!)
- Add options to enable `PSRemoting` and register Windows Event Logging Manifest to MSI installer (PowerShell#5999) (Thanks @bergmeister!)

** Documentation and Help Content

- Separate macOS from Linux install instructions. (PowerShell#5823) (Thanks @thezim!)
- Show usage (short) help if command line parameter is wrong (PowerShell#5780) (Thanks @iSazonov!)
- Add the breaking changes doc for 6.0.0 release. (PowerShell#5620) (Thanks @maertendMSFT!)
- Remove DockerFile for Fedora 25 and add DockerFile for Fedora 27 (PowerShell#5984) (Thanks @seemethere!)
- Add a missing step to prepare the build environment on Mac. (PowerShell#5901) (Thanks @zackJKnight!)
- Update `BREAKINGCHANGES.md` to include WebCmdlets breaking changes (PowerShell#5852) (Thanks @markekraus!)
- Fix typos in `BREAKINGCHANGES.md` (PowerShell#5913) (Thanks @brianbunke!)
- Update `macos.md` to use `brew cask upgrade` for upgrading powershell (PowerShell#5875) (Thanks @timothywlewis!)
- Add verification step to macOS install docs (PowerShell#5860) (Thanks @rpalo!)
- Fix links in macOS install docs (PowerShell#5861) (Thanks @kanjibates!)
- Update docs with test guidelines with the `RequireSudoOnUnix` tag. (PowerShell#6274)
- Add `Alpine` Linux support (PowerShell#6367) (Thanks @kasper3!)
- Update to Governance doc to reflect current working model (PowerShell#6323)
- Add guidance on adding copyright and license header to new source files (PowerShell#6140)
- Fix the command to build type catalog in `internals.md` (PowerShell#6084) (Thanks @ppadmavilasom!)
- Fix `Pull Request Process` dead link (PowerShell#6066) (Thanks @IISResetMe!)
- Update processes to allow for coordinated vulnerability disclosure (PowerShell#6042)
- Rework Windows Start menu folder name (PowerShell#5891) (Thanks @Stanzilla!)
- Update `Raspbian` installation instructions to create `symlink` for `pwsh` (PowerShell#6122)
- Fix various places that still refer to old versions of `pwsh` (PowerShell#6179) (Thanks @bergmeister!)
- Correct a Linux installation typo (PowerShell#6219) (Thanks @mababio!)
- Change synopsis of `install-powershell.ps1` to reflect that it works cross-platform (PowerShell#5465) (Thanks @bergmeister!)

v6.0.2

Toggle v6.0.2's commit message
** v6.0.2 - 2018-03-15

*** Engine updates and fixes

- Update PowerShell to use `2.0.6` dotnet core runtime and packages.

*** Build and Packaging Improvements

- Add Ubuntu build without AppImage (PowerShell#6380)
- Add scripts to set and or update the release tag in VSTS (PowerShell#6107)
- Fix DSC Configuration compilation (PowerShell#6225)
- Fix errors in `Start-PSBootStrap` during release builds (PowerShell#6159)
- Fix spelling failures in CI (PowerShell#6191)
- Use PowerShell `windowsservercore` Docker image for release builds (PowerShell#6226)
- Use `ADD` instead of `Invoke-WebRequest` in `nanoserver` Docker file (PowerShell#6255)
- When doing daily/test build in a non-release branch use the branch name as the preview name (PowerShell#6355)
- Add Environment Variable override of telemetry (PowerShell#6063) (Thanks @diddledan!)
- Build: Remove two unneeded lines from 'Invoke-AppveyorFinish' (PowerShell#6344)
- MSI: Refactor `New-MsiPackage` into `packaging.psm1`
  and various fixes to enable patching
  (PowerShell#5871, PowerShell#6221, PowerShell#6254, PowerShell#6303, PowerShell#6356, PowerShell#6208, PowerShell#6334, PowerShell#6379, PowerShell#6094, PowerShell#6192)
- MSI: Use HKLM instead of HKCU registry keys since the current installation scope is perMachine. (PowerShell#5915) (Thanks @bergmeister!)

v6.0.1

Toggle v6.0.1's commit message
** v6.0.1 - 2018-01-25

*** Engine updates and fixes

- Update PowerShell to use `2.0.5` dotnet core runtime and packages. (PowerShell#5903, PowerShell#5961) (Thanks @iSazonov!)

*** Build and Packaging Improvements

- Re-release of `v6.0.0` as `v6.0.1` due to issues upgrading from pre-release versions

*** Test

- Update regular expression to validate `GitCommitId` in `$PSVersionTable` to not require a pre-release tag (PowerShell#5893)