Tags: adityapatwardhan/PowerShell
Tags
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 - 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.
Fix to not duplicate the System32 module path when starting pwsh from… … pwsh (PowerShell#7414)
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 - 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 - 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 - 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 - 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 - 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 - 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)