Tags: Frankz/PowerShell
Tags
* 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)
v6.0.0 release of PowerShell Core Here are the major changes: * Breaking changes - Remove `sc` alias which conflicts with `sc.exe` (PowerShell#5827) - Separate group policy settings and enable policy controlled logging in PowerShell Core (PowerShell#5791) * Engine updates and fixes - Handle `DLLImport` failure of `libpsrpclient` in PowerShell Remoting on Unix platforms (PowerShell#5622) * Test - Replace `lee.io` Tests with `WebListener` (PowerShell#5709) (Thanks @markekraus!) - Update the docker based release package tests due to the removal of `Pester` module and other issues (PowerShell#5692) - Replace Remaining `HttpBin.org` Tests with `WebListener` (PowerShell#5665) (Thanks @markekraus!) * Build and Packaging Improvements - Update x86 and x64 `MSI` packages to not overwrite each other (PowerShell#5812) (Thanks @bergmeister!) - Update `Restore-PSPester` to include the fix for nested describe errors (PowerShell#5771) - Automate the generation of release change log draft (PowerShell#5712) * Documentation and Help Content - Updated help Uri to point to latest help content for `Microsoft.PowerShell.Core` module (PowerShell#5820) - Update the installation doc for `Raspberry-Pi` about supported devices (PowerShell#5773) - Fix a typo and a Markdown linting error in the Pull Request Template (PowerShell#5807) (Thanks @markekraus!) - Update submodule documentation for pester removal (PowerShell#5786) (Thanks @bergmeister!) - Change `Github` to `GitHub` in `CONTRIBUTING.md` (PowerShell#5697) (Thanks @stuntguy3000!) - Fix incorrect release date on the changelog (PowerShell#5698) (Thanks @SwarfegaGit!) - Add instructions to deploy `win-arm` build on Windows IoT (PowerShell#5682)
v6.0.0-rc.2 release of PowerShell Core Here are the major changes: * Breaking changes - Skip null-element check for collections with a value-type element type (PowerShell#5432) - Make `AllSigned` execution policy require modules under `$PSHome` to be signed (PowerShell#5511) * Engine updates and fixes - Update PowerShell to use `2.0.4` dotnet core runtime. (PowerShell#5677) - Remove references to the old executable `powershell` or `powershell.exe` (PowerShell#5408) * General cmdlet updates and fixes - Remove unnecessary check for `Paths.count > 0`, in the `*-FileCatalog` CmdLets (PowerShell#5596) - Use explicit `libpsl-native` binary name for `dllimport`. (PowerShell#5580) * Build and Packaging Improvements - Fix `Get-EnvironmentInformation` to properly check for CoreCLR (PowerShell#5592) (Thanks @markekraus!) - Make Travis CI use `libcurl+openssl+gssapi` (PowerShell#5629) (Thanks @markekraus!) - Disambiguate icon for daily builds on Windows (PowerShell#5467) (Thanks @bergmeister!) - Fix `Import-CliXml` tests which still use `powershell` instead of `pwsh` and make sure it fails if it regresses (PowerShell#5521) (Thanks @markekraus!) - Update port number used for WebCmdlets tests which broke due to a change in AppVeyor (PowerShell#5520) (Thanks @markekraus!) - Clean up use of `Runspaceconfiguration` from comments and xUnit test code (PowerShell#5569) (Thanks @Bhaal22!) - Replace `HttpListener` Response Tests with WebListener (PowerShell#5540, PowerShell#5605) (Thanks @markekraus!) - Fix the path to `powershell_xxx.inc` in Start-Build (PowerShell#5538) (Thanks @iSazonov!) - Remove Pester as a module include with the PowerShell Packages. You should be able to add it by running `Install-Module Pester`. (PowerShell#5623, PowerShell#5631) - Refactor `New-UnixPackaging` into functions to make the large function more readable. (PowerShell#5625) - Make the experience better when `Start-PSPester` doesn't find Pester (PowerShell#5673) - Update packaging and release build scripts to produce zip packages for `win-arm` and `win-arm64` (PowerShell#5664) - Enable `Install-Debian` to work with VSTS Hosted Linux Preview (PowerShell#5659) - Add `linux-arm` tarball package to release build (PowerShell#5652, PowerShell#5660) - Enable building for `win-arm` and `win-arm64` (PowerShell#5524) - Make macOS package require 10.12 or newer (PowerShell#5649, PowerShell#5654) - Update signing subjects to something meaningful (PowerShell#5650) - Make `New-UnixPackage` more readable (PowerShell#5625) - Update `PowerShellGet` tests to validate the new install location of `AllUsers` scope. (PowerShell#5633) - Increase reliability of flaky test that fails intermittently in CI (PowerShell#5641) - Exclude markdown files from `Pester` folder from the Markdown meta test (PowerShell#5636) - Run tests for Windows installer only on Windows (PowerShell#5619) - Suppress the expected errors from `Select-Xml` tests (PowerShell#5591) - Add retry logic to prerequisite URL and output URL on failure so you can more easily troubleshoot (PowerShell#5601, PowerShell#5570) - Make sure submodule are initialized when running Mac release build (PowerShell#5496) - Remove duplicate files in Windows packages in a folder called `signed` (PowerShell#5527) - Add PowerShell VSCode style settings (PowerShell#5529) (Thanks @bergmeister) - Add Travis CI matrix for improved job tagging (PowerShell#5547) - Remove community docker files from official docker image validation (PowerShell#5508) * Documentation and Help Content - XML documentation fix for `CompletionResult` (PowerShell#5550) (Thanks @bergmeister!) - Change synopsis of `install-powershell.ps1` to reflect that it works cross-platform (PowerShell#5465) (Thanks @bergmeister!) - Add more helpful message for `AmbiguousParameterSet` exception (PowerShell#5537) (Thanks @kvprasoon!) - Update the contribution guideline to note that updating the changelog is required. (PowerShell#5586) - Updated doc to build arm/arm64 versions of `psrp.windows` and `PowerShell.Core.Instrumentation.dll` libraries (PowerShell#5668) - Update Contribution guidelines with work in progress guidance (PowerShell#5655) - Update code coverage tests to get GitCommitId using the ProductVersion from Assembly (PowerShell#5651) - Remove requirement to updating changelog update in PR (PowerShell#5644, PowerShell#5586) - Minor refactoring of the release build scripts (PowerShell#5632) - Update PowerShell executable name in `using-vscode.md` (PowerShell#5593) - Fix xUnit test for PS (PowerShell#4780) - Update install link and instructions for R-Pi (PowerShell#5495) * Compliance Work Compliance work is required for Microsoft to continue to sign and release packages from the project as official Microsoft packages. - Remove `PerformWSManPluginReportCompletion`, which was not used, from `pwrshplugin.dll` (PowerShell#5498) (Thanks @bergmeister!) - Remove exclusion for hang and add context exception for remaining instances (PowerShell#5595) - Replace `strlen` with `strnlen` in native code (PowerShell#5510)
** v6.0.0-rc - 2017-11-16 *** Breaking changes - Fix `-Verbose` to not override `$ErrorActionPreference`. (PowerShell#5113) - Fix `Get-Item -LiteralPath a*b` to return error if `a*b` doesn't actually exist. (PowerShell#5197) - Remove `AllScope` from most default aliases to reduce overhead on creating new scopes. (PowerShell#5268) - Change `$OutputEncoding` default to be `UTF8` without `BOM` rather than `ASCII`. (PowerShell#5369) - Add error on legacy credential over non-HTTPS for Web Cmdlets. (PowerShell#5402) (Thanks @markekraus!) - Fix single value JSON `null` in `Invoke-RestMethod`. (PowerShell#5338) (Thanks @markekraus!) - Add `PSTypeName` Support for `Import-Csv` and `ConvertFrom-Csv`. (PowerShell#5389) (Thanks @markekraus!) *** Engine updates and fixes - Add char range overload to the `..` operator, so `'a'..'z'` returns characters from 'a' to 'z'. (PowerShell#5026) (Thanks @IISResetMe!) - Remove `CommandFactory` because it serves no real purpose. (PowerShell#5266) - Change to not insert line breaks at console window width to output (except for tables). (PowerShell#5193) - Use `Ast` for context in parameter binding and fix to glob the native command argument only when it's not quoted. (PowerShell#5188) - Fix dynamic class assembly name. (PowerShell#5292) - Update powershell to use `2.0.4-servicing` dotnet core runtime. (PowerShell#5295) - Fix `ExecutionContext.LoadAssembly` to load with name when file cannot be found. (PowerShell#5161) - Speed up the check for suspicious content in script texts. (PowerShell#5302) - Use native `os_log` APIs on macOS for PowerShell Core logging. (PowerShell#5310) - Redirect `ETW` logging to `Syslog` on Linux. (PowerShell#5144) - Improve how we pass the array literal to native commands. (PowerShell#5301) - Make `SemanticVersion` compatible with `SemVer 2.0`. (PowerShell#5037) (Thanks @iSazonov!) - Revert refactoring changes that broke remoting to Windows PowerShell 5.1. (PowerShell#5321) - Port some fixes in `Job` for an issue that causes PowerShell to not respond. (PowerShell#5258) - Multiple improvements by `CodeRush` static analysis. (PowerShell#5132) (Thanks @Himura2la!) - Fix the Runspace cleanup issue that causes PowerShell to not respond on exit. (PowerShell#5356) - Update PowerShell to depend on new version of `psrp` and `libmi` nuget packages on Unix platforms. (PowerShell#5469) *** General cmdlet updates and fixes - Add `-AsHashtable` to `ConvertFrom-Json` to return a `Hashtable` instead. (PowerShell#5043) (Thanks @bergmeister!) - Fix `Import-module` to not report a loaded module was not found. (PowerShell#5238) - Fix performance issues in `Add-Type`. (PowerShell#5243) (Thanks @iSazonov!) - Fix `PSUserAgent` generation for Web Cmdlets on Windows 7. (PowerShell#5256) (Thanks @markekraus!) - Remove `DCOM` support from `*-Computer` cmdlets. (PowerShell#5277) - Add multiple link header support to Web Cmdlets. (PowerShell#5265) (Thanks @markekraus!) - Use wider columns for process id and user. (PowerShell#5303) - Add `Remove-Alias` Command. (PowerShell#5143) (Thanks @PowershellNinja!) - Update `installpsh-suse.sh` to work with the `tar.gz` package. (PowerShell#5309) - Add `Jobject` serialization support to `ConvertTo-Json`. (PowerShell#5141) - Display full help with 'help' function. (PowerShell#5195) (Thanks @rkeithhill!) - Fix `help` function to not pipe to `more` if objects are returned instead of help text. (PowerShell#5395) - Fix `Unblock-File` to not write an error if the file is already unblocked. (PowerShell#5362) (Thanks @iSazonov!) - Clean up FullCLR code from Web Cmdlets. (PowerShell#5376) (Thanks @markekraus!) - Exclude cmdlets that are not supported on Unix platforms. (PowerShell#5083) - Make `Import-Csv` support `CR`, `LF` and `CRLF` as line delimiters. (PowerShell#5363) (Thanks @iSazonov!) - Fix spelling in Web Cmdlet errors. (PowerShell#5427) (Thanks @markekraus!) - Add `SslProtocol` support to Web Cmdlets. (PowerShell#5329) (Thanks @markekraus!) *** Build and Packaging Improvements - Use `RCEdit` to embed icon and version information into `pwsh.exe`. (PowerShell#5178) - Update Docker file for Nano Server 1709 release. (PowerShell#5252) - Change VSCode build task to use `pwsh`. (PowerShell#5255) - Refactor building and packaging scripts for signing in release build workflow. (PowerShell#5300) - Always build with `-CrossGen` in CI to verify a fix in `CrossGen` tool. (PowerShell#5315) - Separate `Install-PowerShellRemoting.ps1` from `psrp.windows` nuget package. (PowerShell#5330) - Include symbols folder an embedded zip when packaging symbols. (PowerShell#5333) - Add Uniform Type Identifier conforming with Apple standards using a reverse DNS style prefix. (PowerShell#5323) - Update `Wix` toolset download link to newer version 3.11 (PowerShell#5339) (Thanks @bergmeister!) - Re-enable macOS launcher after fixing an issue that blocked macOS package generation. (PowerShell#5291) (Thanks @thezim!) - Set expected binaries and variable name for folder for symbols build. (PowerShell#5357) - Rename and update PowerShell `ETW` manifest to remove the Windows PowerShell dependency. (PowerShell#5360) - Add ability to produce `tar.gz` package for Raspbian. (PowerShell#5387) - Update `Find-Dotnet` to find dotnet with the compatible SDK. (PowerShell#5341) (Thanks @rkeithhill!) - Add signing manifest and script to update it with production values. (PowerShell#5397) - Add `install-powershell.ps1` to install PowerShell Core on windows. (PowerShell#5383) - Make `-Name` a dynamic parameter in `Start-PSPackage`. (PowerShell#5415) - Support `[package]` tag in PR CI and fix nightly build on macOS. (PowerShell#5410) - Enhance `install-powershell.ps1` to work on Linux and macOS. (PowerShell#5411) - Move the `RCEdit` step to the build phase rather than the packaging phase. (PowerShell#5404) - Allow packaging from a zip package to allow for signing. (PowerShell#5418) - Add automation to validate PowerShell Core packages using Docker containers. (PowerShell#5401) - Fix the `brew update` issue in bootstrap script. (PowerShell#5400) - Enable `install-powershell.ps1` to update the current running PowerShell Core. (PowerShell#5429) - Add standard set of VSCode workspace setting files. (PowerShell#5457) (Thanks @rkeithhill!) - Add support for installing PowerShell Core on Amazon Linux via `install-powershell.sh`. (PowerShell#5461) (Thanks @DarwinJS!) - Get `PowerShellGet` and `PackageManagement` from the PowerShell Gallery. (PowerShell#5452) - Fix `Start-PSBuild` on `WSL` if repository was already built on Windows. (PowerShell#5346) (Thanks @bergmeister!) - Fix build in VSCode and use an improved version of `tasks.json` from @rkeithhill. (PowerShell#5453) - Add scripts for signing packages in the release build workflow. (PowerShell#5463) *** Documentation and Help Content - Fix the codebase to use the consistent copyright string. (PowerShell#5210) - Add documentation about how to create `libpsl` and `psrp.windows` nuget packages. (PowerShell#5278) - Add help strings in PowerShell banner. (PowerShell#5275) (Thanks @iSazonov!) - Change all links in `README.md` to absolute as they are being used in other places outside of GitHub. (PowerShell#5354) - Update instructions to build on VSCode based on `pwsh`. (PowerShell#5368) - Update `FAQ.md` about how to use PowerShell Core nuget packages. (PowerShell#5366) - Correct the Fedora documentation (PowerShell#5384) (Thanks @offthewoll!) - Add instructions about how to create the `PowerShell.Core.Instrumentation` nuget package. (PowerShell#5396) - Updated PowerShell to use the latest help package. (PowerShell#5454) *** Compliance Work [Compliance](https://github.com/PowerShell/PowerShell/blob/master/docs/maintainers/issue-management.md#miscellaneous-labels) work is required for Microsoft to continue to sign and release packages from the project as official Microsoft packages. - Replace the word `hang` with something more appropriate and add rules about other terms. (PowerShell#5213, PowerShell#5297, PowerShell#5358) - Use simplified names for compliance folders (PowerShell#5388) - Add compliance label description (PowerShell#5355) - Set `requestedExecutionLevel` to `asInvoker` for `pwsh.exe` on Windows. (PowerShell#5285) - Add `HighEntropyVA` to building pwsh. (PowerShell#5455)
* Breaking changes - Fix `ValueFromRemainingArguments` to have consistent behavior between script and C# cmdlets. (PowerShell#2038) (Thanks @dlwyatt) - Remove parameters `-importsystemmodules` and `-psconsoleFile` from `powershell.exe`. (PowerShell#4995) - Removed code to show a GUI prompt for credentials as PowerShell Core prompts in console. (PowerShell#4995) - Remove `-ComputerName` from `Get/Set/Remove-Service`. (PowerShell#5094) - Rename the executable name from `powershell` to `pwsh`. (PowerShell#5101) - Remove `RunspaceConfiguration` support. (PowerShell#4942) - Remove `-ComputerName` support since .NET Core `Process.GetProcesses(computer)` returns local processes. (PowerShell#4960) - Make `-NoTypeInformation` the default on `Export-Csv` and `ConvertTo-Csv`. (PowerShell#5164) (Thanks @markekraus) - Unify cmdlets with parameter `-Encoding` to be of type `System.Text.Encoding`. (PowerShell#5080) * Engine updates and fixes - Fix PowerShell to update the `PATH` environment variable only if `PATH` exists. (PowerShell#5021) - Enable support of folders and files with colon in name on Unix. (PowerShell#4959) - Fix detection of whether `-LiteralPath` was used to suppress wildcard expansion for navigation cmdlets. (PowerShell#5038) - Enable using filesystem from a UNC location. (PowerShell#4998) - Escape trailing backslash when dealing with native command arguments. (PowerShell#4965) - Change location of `ModuleAnalysisCache` so it isn't shared with Windows PowerShell. (PowerShell#5133) - Put command discovery before scripts for Unix. (PowerShell#5116) * General cmdlet updates and fixes - Correct comma position in `SecureStringCommands.resx`. (PowerShell#5033) (Thanks @markekraus) - User Agent of Web Cmdlets now reports the OS platform (PowerShell#4937) (Thanks @LDSpits) - Add the positional parameter attribute to `-InputObject` for `Set-Service`. (PowerShell#5017) (Thanks @travisty-) - Add `ValidateNotNullOrEmpty` attribute to `-UFormat` for `Get-Date`. (PowerShell#5055) (Thanks @DDWR) - Add `-NoNewLine` switch for `Out-String`. (PowerShell#5056) (Thanks @raghav710) - Improve progress messages written by Web Cmdlets. (PowerShell#5078) (Thanks @markekraus) - Add verb descriptions and alias prefixes for `Get-Verb`. (PowerShell#4746) (Thanks @Tadas) - Fix `Get-Content -Raw` to not miss the last line feed character. (PowerShell#5076) - Add authentication parameters to Web Cmdlets. (PowerShell#5052) (Thanks @markekraus) - Add `-Authentication` that provides three options: Basic, OAuth, and Bearer. - Add `-Token` to get the bearer token for OAuth and Bearer options. - Add `-AllowUnencryptedAuthentication` to bypass authentication that is provided for any transport scheme other than HTTPS. - Fix `MatchInfoContext` clone implementation (PowerShell#5121) (Thanks @dee-see) - Exclude `PSHostProcess` cmdlets from Unix platforms. (PowerShell#5105) - Fix `Add-Member` to fetch resource string correctly. (PowerShell#5114) - Enable `Import-Module` to be case insensitive. (PowerShell#5097) - Add exports for `syslog` APIs in `libpsl-native`. (PowerShell#5149) - Fix `Get-ChildItem` to not ignore `-Depth` parameter when using with `-Include` or `-Exclude`. (PowerShell#4985) (Thanks @Windos) - Added properties `UserName`, `Description`, `DelayedAutoStart`, `BinaryPathName` and `StartupType` to the `ServiceController` objects returned by `Get-Service`. (PowerShell#4907) (Thanks @joandrsn) * Build and Packaging Improvements - Treat `.rtf` files as binary so EOL don't get changed. (PowerShell#5020) - Improve the output of `tools/installpsh-osx.sh` and update Travis-CI to use Ruby 2.3.3. (PowerShell#5065) - Improve `Start-PSBootstrap` to locate dotnet SDK before installing it. (PowerShell#5059) (Thanks @PetSerAl) - Fix the prerequisite check of the MSI package. (PowerShell#5070) - Support creating `tar.gz` package for Linux and macOS. (PowerShell#5085) - Add release builds that produce symbols for compliance scans. (PowerShell#5086) - Update existing Docker files for the Linux package changes. (PowerShell#5102) - Add compiler switches and replace dangerous function with safer ones. (PowerShell#5089) - Add macOS launcher. (PowerShell#5138) (Thanks @thezim) - Replace `httpbin.org/response-headers` Tests with WebListener. (PowerShell#5058) (Thanks @markekraus) - Update `appimage.sh` to reflect the new name `pwsh`. (PowerShell#5172) - Update the man help file used in packaging. (PowerShell#5173) - Update to use `pwsh` in macOS launcher. (PowerShell#5174) (Thanks @thezim) - Add code to send web hook for Travis-CI daily build. (PowerShell#5183) - Add `global.json` to pick correct SDK version. (PowerShell#5118) (Thanks @rkeithhill) - Update packaging to only package PowerShell binaries when packaging symbols. (PowerShell#5145) - Update Docker files and related due to the name change. (PowerShell#5156) * Code Cleanup - Clean up Json cmdlets. (PowerShell#5001) (Thanks @iSazonov) - Remove code guarded by `RELATIONSHIP_SUPPORTED` and `SUPPORTS_IMULTIVALUEPROPERTYCMDLETPROVIDER`, which has never been used. (PowerShell#5066) - Remove PSMI code that has never been used. (PowerShell#5075) - Remove unreachable code for `Stop-Job`. (PowerShell#5091) (Thanks @travisty-) - Removed font and codepage handling code that is only applicable to Windows PowerShell. (PowerShell#4995) * Test - Fix a race condition between `WebListener` and Web Cmdlets tests. (PowerShell#5035) (Thanks @markekraus) - Add warning to `Start-PSPester` if Pester module is not found (PowerShell#5069) (Thanks @DDWR) - Add tests for DSC configuration compilation on Windows. (PowerShell#5011) - Test fixes and code coverage automation fixes. (PowerShell#5046) * Documentation and Help Content - Update Pi demo instructions about installing libunwind8. (PowerShell#4974) - Add links on best practice guidelines in coding guideline. (PowerShell#4983) (Thanks @iSazonov) - Reformat command line help for `powershell -help` (PowerShell#4989) (Thanks @iSazonov) - Change logo in readme to current black icon. (PowerShell#5030) - Fix RPM package name in `README.md`. (PowerShell#5044) - Update `docs/building/linux.md` to reflect the current status of powershell build. (PowerShell#5068) (Thanks @dee-see) - Add black version of `.icns` file for macOS. (PowerShell#5073) (Thanks @thezim) - Update Arch Linux installation instructions. (PowerShell#5048) (Thanks @kylesferrazza) - Add submodule reminder to `testing-guidelines.md`. (PowerShell#5061) (Thanks @DDWR) - Update instructions in `docs/building/internals.md` for building from source. (PowerShell#5072) (Thanks @kylesferrazza) - Add UserVoice link to Issue Template. (PowerShell#5100) (Thanks @markekraus) - Add `Get-WebListenerUrl` Based Examples to WebListener `README.md`. (PowerShell#4981) (Thanks @markekraus) - Add document about how to create cmdlet with dotnet CLI. (PowerShell#5117) (Thanks @rkeithhill) - Update the help text for PowerShell executable with the new name `pwsh`. (PowerShell#5182) - Add new forward links for PowerShell 6.0.0 help content. (PowerShell#4978) - Fix VSCode `launch.json` to point to `pwsh`. (PowerShell#5189) - Add example of how to create .NET Core cmdlet with Visual Studio. (PowerShell#5096)
v6.0.0-beta.8 release of PowerShellCore Here are the major changes: * Breaking changes - Changed `New-Service` to return error when given unsupported `-StartupType` and fixed `Set-Service` icon failing test. (PowerShell#4802) - Allow `*` to be used in registry path for `Remove-Item`. (PowerShell#4866) - Remove unsupported `-ShowWindow` switch from `Get-Help`. (PowerShell#4903) - Fix incorrect position of a parameter which resulted in the args passed as input instead of as args for `InvokeScript()`. (PowerShell#4963) * Engine updates and fixes - Make calls to `void CodeMethod` work. (PowerShell#4850) (Thanks @powercode) - Get `PSVersion` and `GitCommitId` from the `ProductVersion` attribute of assembly (PowerShell#4863) (Thanks @iSazonov) - Fix `powershell -version` and built-in help for `powershell.exe` to align with other native tools. (PowerShell#4958 & PowerShell#4931) (Thanks @iSazonov) - Load assemblies with `Assembly.LoadFrom` before `Assembly.Load` when the file path is given. (PowerShell#4196) - Add a generic file watcher function in `HelpersCommon.psm1`. (PowerShell#4775) - Update old links and fix broken links in `docs/host-powershell/README.md`. (PowerShell#4877) - Fix when importing remote modules using version filters (and added tests). (PowerShell#4900) - Enable transcription of native commands on non-Windows platforms. (PowerShell#4871) - Add a new line to `CommandNotFoundException` error string. (PowerShell#4934 & PowerShell#4991) - Fix bug where PowerShell would exit with an error within an SSH remoting connection on Linux. (PowerShell#4993) - Fix issues with expression redirected to file. (PowerShell#4847) * General cmdlet updates and fixes - Added `Remove-Service` to Management module. (PowerShell#4858) (Thanks @joandrsn) - Added functionality to set credentials on `Set-Service` command. (PowerShell#4844) (Thanks @joandrsn) - Fix `Select-String` to exclude directories (as opposed to individual files) discovered from `-Path`. (PowerShell#4829) (Thanks @iSazonov) - `Get-Date` now supports more argument completion scenarios by adding `ArgumentCompletionsAttribute`. (PowerShell#4835) (Thanks @iSazonov) - Exclude `-ComObject` parameter of `New-Object` on unsupported (currently non-Windows) platforms. (PowerShell#4922) (Thanks @iSazonov) - Updated default `ModuleVersion` in `New-ModuleManifest` to `0.0.1` to align with SemVer. (PowerShell#4842) (Thanks @LDSpits) - Add Multipart support to web cmdlets. (PowerShell#4782) (Thanks @markekraus) - Add `-ResponseHeadersVariable` to `Invoke-RestMethod` to enable the capture of response headers. (PowerShell#4888) (Thanks @markekraus) - Initialize web cmdlets headers dictionary only once. (PowerShell#4853) (Thanks @markekraus) - Change web cmdlets `UserAgent` from `WindowsPowerShell` to `PowerShell`. (PowerShell#4914) (Thanks @markekraus) * DSC Language - Update version of `PSDesiredStateConfiguration` in project files to fix complication of MOF files with the `Configuration` keyword. (PowerShell#4979)
v6.0.0-beta.7 release of PowerShellCore Here are the major changes: * Breaking change - Fix `Get-Content -Delimiter` to not include the delimiter in the array elements returned (PowerShell#3706) (Thanks @mklement0) - Rename `$IsOSX` to `$IsMacOS` (PowerShell#4757) * Engine updates and fixes - Use stricter rules when unwrapping a PSObject that wraps a COM object (PowerShell#4614) - Remove appended Windows PowerShell `PSModulePath` on Windows. (PowerShell#4656) - Ensure `GetNetworkCredential()` returns null if PSCredential has null or empty user name (PowerShell#4697) - Push locals of automatic variables to 'DottedScopes' when dotting script cmdlets (PowerShell#4709) - Fix `using module` when module has non-terminating errors handled with `SilentlyContinue` (PowerShell#4711) (Thanks @iSazonov) - Enable use of 'Singleline,Multiline' option in split operator (PowerShell#4721) (Thanks @iSazonov) - Fix error message in `ValidateSetAttribute.ValidateElement()` (PowerShell#4722) (Thanks @iSazonov) * General cmdlet updates and fixes - Add Meta, Charset, and Transitional parameters to `ConvertTo-HTML` (PowerShell#4184) (Thanks @ergo3114) - Prevent `Test-ModuleManifest` from loading unnecessary modules (PowerShell#4541) - Remove AlternateStream code and `-Stream` from provider cmdlets on non-Windows (PowerShell#4567) - Add explicit ContentType detection to `Invoke-RestMethod` (PowerShell#4692) - Fix an error on `Enter-PSSession` exit (PowerShell#4693) - Add `-WhatIf` switch to `Start-Process` cmdlet (PowerShell#4735) (Thanks @sarithsutha) - Remove double spaces in .cs, .ps1, and .resx files (PowerShell#4741 & PowerShell#4743) (Thanks @korygill) - Replace 'Windows PowerShell' with 'PowerShell' in resx files (PowerShell#4758) (Thanks @iSazonov) * Build and Packaging Improvements - Refactor MSBuild project files to get PowerShell version from git tag (PowerShell#4182) (Thanks @iSazonov) - Create a single package for each Windows supported architecture (x86 and amd64) (PowerShell#4540) - Set the default windows RID to win7-<arch> (PowerShell#4701) - Enable cross-compiling for Raspberry-PI arm32 (PowerShell#4742) - Fix macOS brew reinstall command (PowerShell#4627) (Thanks @TheNewStellW) - Improvements to the Travis-CI script (PowerShell#4689, PowerShell#4731, PowerShell#4807) - Update OpenSUSE docker image to 42.2 (PowerShell#4737) - Confirm `Start-PSPackage` produces a package (PowerShell#4795) * Test - Add test WebListener module and tests for Web Cmdlet Certificate Authentication (PowerShell#4622) (Thanks @markekraus) - Move WebCmdlets HTTPS tests to WebListener (PowerShell#4733) (Thanks @markekraus) - Replace httpbin.org/get tests With WebListener (PowerShell#4738) (Thanks @markekraus) * Documentation - Clarify the Pull Request process, roles, and responsibilities (PowerShell#4710) - Update coding guidelines to make it more concrete and useful in a review process (PowerShell#4754)
v6.0.0-beta.6 release of PowerShellCore Here are the major changes: * Breaking change - Make invalid argument error messages for `-File` and `-Command` consistent and make exit codes consistent with Unix standards (PowerShell#4573) * Engine updates and fixes - Make resource loading to work with PowerShell SxS installation (PowerShell#4139) - Add missing assemblies to TPA list to make Pwrshplughin.dll work (PowerShell#4502) - Make sure running `powershell` starts instance of the current version of PowerShell. (PowerShell#4481) - Make sure we only use Unicode output by default on Nano and IoT systems (PowerShell#4074) - Enable `powershell -WindowStyle` to work on Windows. (PowerShell#4573) - Enable enumeration of COM collections. (PowerShell#4553) * General cmdlet updates and fixes - Fix Web CmdLets `-SkipHeaderValidation` to work with non-standard User-Agent headers. (PowerShell#4479 & PowerShell#4512) (Thanks @markekraus) - Add Certificate authentication support for Web CmdLets. (PowerShell#4646) (Thanks @markekraus) - Add support for content headers to Web CmdLets. (PowerShell#4494 & PowerShell#4640) (Thanks @markekraus) - Add support for converting enums to string (PowerShell#4318) (Thanks @KirkMunro) - Ignore casing when binding PSReadline KeyHandler functions (PowerShell#4300) (Thanks @oising) - Fix `Unblock-File` for the case of a read-only file. (PowerShell#4395) (Thanks @iSazonov) - Use supported API to set Central Access Policy ID (CAPID) in SACL. (PowerShell#4496) - Make `Start-Trace` support paths that require escaping in the underlying APIs (PowerShell#3863) - Removing `#if CORECLR` enabled, `Enable-PSRemoting` and `Disable-PSRemoting` (PowerShell#2671) - Enable WSManCredSSP cmdlets and add tests. (PowerShell#4336) - Use .NET Core's implementation for ShellExecute. (PowerShell#4523) - Fix SSH Remoting handling of KeyFileParameter when the path must be quoted. (PowerShell#4529) - Make Web CmdLets use HTML meta charset attribute value, if present (PowerShell#4338) - Move to .NET Core 2.0 final (PowerShell#4603) * Build/test and code cleanup - Add Amazon Linux Docker image and enable related tests. (PowerShell#4393) (Thanks @DarwinJS) - Make MSI verify pre-requisites are installed. (PowerShell#4602) (Thank @bergmeister) - Fixed formatting issues in build files. (PowerShell#4630) (Thanks @iSazonov) - Make sure `install-powershell.sh` installs latest powershell on macOS, even if an old version is cached in brew. (PowerShell#4509) (Thanks @richardszalay for reporting.) - Fixes install scripts issue for macOS. (PowerShell#4631) (Thanks @DarwinJS) - Many stability improvements to our nightly code coverage automation. (PowerShell#4313 & PowerShell#4550) - Remove hash validation from nanoserver-insider Docker file, due to frequent changes. (PowerShell#4498) - Update to make Travis-CI daily build badge more reliable. (PowerShell#4522) - Remove unused build files, build code, and product code. (PowerShell#4532, PowerShell#4580, PowerShell#4590, PowerShell#4589, PowerShell#4588, PowerShell#4587, PowerShell#4586, PowerShell#4583, PowerShell#4582, PowerShell#4581) - Add additional acceptance tests for PowerShellGet. (PowerShell#4531) - Only publish a NuGet of the full PowerShell core package on daily builds and not merge. (PowerShell#4517) - Update nanoserver-insider Docker file due to breaking changes in the base image. (PowerShell#4555) - Cleanup engine tests (PowerShell#4551) - Fix intermittent failures in filesystem tests (PowerShell#4566) - Add tests for - `New-WinEvent`. (PowerShell#4384) - tab completion. (PowerShell#4560) - various types. (PowerShell#4503) - CDXML CmdLets. (PowerShell#4537) - Only allow packaging of powershell, if it was built from a repo at the root of the file system named powershell. (PowerShell#4569 & PowerShell#4600) - Update `Format-Hex` test cases to use -TestCase instead of foreach loops. (PowerShell#3800) - Added functionality to get code coverage for a single file locally. (PowerShell#4556) * Documentation - Added Ilya (@iSazonov) as a Maintainer. (PowerShell#4365) - Grammar fix to the Pull Request Guide. (PowerShell#4322) - Add homebrew for macOS to install documentation. (PowerShell#3838) - Added a CodeOwner file. (PowerShell#4565 & PowerShell#4597) * Cleanup `#if CORECLR` code PowerShell 6.0 will be exclusively built on top of CoreCLR, so we are removing a large amount of code that's built only for FullCLR.
PreviousNext