Releases: PowerShell/PowerShell
v6.0.0-rc release of PowerShell Core
Breaking changes
- Fix
-Verbose
to not override$ErrorActionPreference
. (#5113) - Fix
Get-Item -LiteralPath a*b
to return error ifa*b
doesn't actually exist. (#5197) - Remove
AllScope
from most default aliases to reduce overhead on creating new scopes. (#5268) - Change
$OutputEncoding
default to beUTF8
withoutBOM
rather thanASCII
. (#5369) - Add error on legacy credential over non-HTTPS for Web Cmdlets. (#5402) (Thanks @markekraus!)
- Fix single value JSON
null
inInvoke-RestMethod
. (#5338) (Thanks @markekraus!) - Add
PSTypeName
Support forImport-Csv
andConvertFrom-Csv
. (#5389) (Thanks @markekraus!)
Engine updates and fixes
- Add char range overload to the
..
operator, so'a'..'z'
returns characters from 'a' to 'z'. (#5026) (Thanks @IISResetMe!) - Remove
CommandFactory
because it serves no real purpose. (#5266) - Change to not insert line breaks at console window width to output (except for tables). (#5193)
- Use
Ast
for context in parameter binding and fix to glob the native command argument only when it's not quoted. (#5188) - Fix dynamic class assembly name. (#5292)
- Update powershell to use
2.0.4-servicing
dotnet core runtime. (#5295) - Fix
ExecutionContext.LoadAssembly
to load with name when file cannot be found. (#5161) - Speed up the check for suspicious content in script texts. (#5302)
- Use native
os_log
APIs on macOS for PowerShell Core logging. (#5310) - Redirect
ETW
logging toSyslog
on Linux. (#5144) - Improve how we pass the array literal to native commands. (#5301)
- Make
SemanticVersion
compatible withSemVer 2.0
. (#5037) (Thanks @iSazonov!) - Revert refactoring changes that broke remoting to Windows PowerShell 5.1. (#5321)
- Port some fixes in
Job
for an issue that causes PowerShell to not respond. (#5258) - Multiple improvements by
CodeRush
static analysis. (#5132) (Thanks @Himura2la!) - Fix the Runspace cleanup issue that causes PowerShell to not respond on exit. (#5356)
- Update PowerShell to depend on new version of
psrp
andlibmi
nuget packages on Unix platforms. (#5469)
General cmdlet updates and fixes
- Add
-AsHashtable
toConvertFrom-Json
to return aHashtable
instead. (#5043) (Thanks @bergmeister!) - Fix
Import-module
to not report a loaded module was not found. (#5238) - Fix performance issues in
Add-Type
. (#5243) (Thanks @iSazonov!) - Fix
PSUserAgent
generation for Web Cmdlets on Windows 7. (#5256) (Thanks @markekraus!) - Remove
DCOM
support from*-Computer
cmdlets. (#5277) - Add multiple link header support to Web Cmdlets. (#5265) (Thanks @markekraus!)
- Use wider columns for process id and user. (#5303)
- Add
Remove-Alias
Command. (#5143) (Thanks @PowershellNinja!) - Update
installpsh-suse.sh
to work with thetar.gz
package. (#5309) - Add
Jobject
serialization support toConvertTo-Json
. (#5141) - Display full help with 'help' function. (#5195) (Thanks @rkeithhill!)
- Fix
help
function to not pipe tomore
if objects are returned instead of help text. (#5395) - Fix
Unblock-File
to not write an error if the file is already unblocked. (#5362) (Thanks @iSazonov!) - Clean up FullCLR code from Web Cmdlets. (#5376) (Thanks @markekraus!)
- Exclude cmdlets that are not supported on Unix platforms. (#5083)
- Make
Import-Csv
supportCR
,LF
andCRLF
as line delimiters. (#5363) (Thanks @iSazonov!) - Fix spelling in Web Cmdlet errors. (#5427) (Thanks @markekraus!)
- Add
SslProtocol
support to Web Cmdlets. (#5329) (Thanks @markekraus!)
Build and Packaging Improvements
- Use
RCEdit
to embed icon and version information intopwsh.exe
. (#5178) - Update Docker file for Nano Server 1709 release. (#5252)
- Change VSCode build task to use
pwsh
. (#5255) - Refactor building and packaging scripts for signing in release build workflow. (#5300)
- Always build with
-CrossGen
in CI to verify a fix inCrossGen
tool. (#5315) - Separate
Install-PowerShellRemoting.ps1
frompsrp.windows
nuget package. (#5330) - Include symbols folder an embedded zip when packaging symbols. (#5333)
- Add Uniform Type Identifier conforming with Apple standards using a reverse DNS style prefix. (#5323)
- Update
Wix
toolset download link to newer version 3.11 (#5339) (Thanks @bergmeister!) - Re-enable macOS launcher after fixing an issue that blocked macOS package generation. (#5291) (Thanks @thezim!)
- Set expected binaries and variable name for folder for symbols build. (#5357)
- Rename and update PowerShell
ETW
manifest to remove the Windows PowerShell dependency. (#5360) - Add ability to produce
tar.gz
package for Raspbian. (#5387) - Update
Find-Dotnet
to find dotnet with the compatible SDK. (#5341) (Thanks @rkeithhill!) - Add signing manifest and script to update it with production values. (#5397)
- Add
install-powershell.ps1
to install PowerShell Core on windows. (#5383) - Make
-Name
a dynamic parameter inStart-PSPackage
. (#5415) - Support
[package]
tag in PR CI and fix nightly build on macOS. (#5410) - Enhance
install-powershell.ps1
to work on Linux and macOS. (#5411) - Move the
RCEdit
step to the build phase rather than the packaging phase. (#5404) - Allow packaging from a zip package to allow for signing. (#5418)
- Add automation to validate PowerShell Core packages using Docker containers. (#5401)
- Fix the
brew update
issue in bootstrap script. (#5400) - Enable
install-powershell.ps1
to update the current running PowerShell Core. (#5429) - Add standard set of VSCode workspace setting files. (#5457) (Thanks @rkeithhill!)
- Add support for installing PowerShell Core on Amazon Linux via
install-powershell.sh
. (#5461) (Thanks @DarwinJS!) - Get
PowerShellGet
andPackageManagement
from the PowerShell Gallery. (#5452) - Fix
Start-PSBuild
onWSL
if repository was already built on Windows. (#5346) (Thanks @bergmeister!) - Fix build in VSCode and use an improved version of
tasks.json
from @rkeithhill. (#5453) - Add scripts for signing packages in the release build workflow. (#5463)
Documentation and Help Content
- Fix the codebase to use the consistent copyright string. (#5210)
- Add documentation about how to create
libpsl
andpsrp.windows
nuget packages. (#5278) - Add help strings in PowerShell banner. (#5275) (Thanks @iSazonov!)
- Change all links in
README.md
to absolute as they are being used in other places outside of GitHub. (#5354) - Update instructions to build on VSCode based on
pwsh
. (#5368) - Update
FAQ.md
about how to use PowerShell Core nuget packages. (#5366) - Correct the Fedora documentation (#5384) (Thanks @offthewoll!)
- Add instructions about how to create the
PowerShell.Core.Instrumentation
nuget package. (#5396) - Updated PowerShell to use the latest help package. (#5454)
Compliance Work
Compliance
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. (#5213, #5297, #5358) - Use simplified names for compliance folders (#5388)
- Add compliance label description (#5355)
- Set
requestedExecutionLevel
toasInvoker
forpwsh.exe
on Windows. (#5285) - Add
HighEntropyVA
to building pwsh. (#5455)
SHA256 Hashes of the release artifacts:
- powershell_6.0.0-rc-1.debian.8_amd64.deb
- 57B8F7ECCF6BF1CB1ED547952E389D6793D5E9FFD6884DF3E0F099566119FCB8
- powershell_6.0.0-rc-1.debian.9_amd64.deb
- 03AE7A5A9821C48FD31C7F2D07ED814B306F4943CF4CF58CA1B367FA2F7B5A70
- powershell_6.0.0-rc-1.ubuntu.14.04_amd64.deb
- 85F5B36163655CE509A21A0B8E70878F190DADB95730FA7FC76BC8A213A57271
- powershell_6.0.0-rc-1.ubuntu.16.04_amd64.deb
- 16027D471EAF0F5F3B6B6090A93B9B0689D7650826803F94BD851B47C8170B67
- powershell_6.0.0-rc-1.ubuntu.17.04_amd64.deb
- F4654B3997216DA9AE1C10E4C451414970D7053377D820E234E4A42D710979D7
- powershell-6.0.0_rc-1.rhel.7.x86_64.rpm
- 3BB8117EAA88F8406FFE5F9CC92908F6C1EED37E1541B97CF006D72B817B8193
- powershell-6.0.0-rc-linux-arm32.tar.gz
- 312A575F80B4E8CF0E7419A2460BF135A33143153D08821BA4600D97F32B5621
- powershell-6.0.0-rc-linux-x64.tar.gz
- 7F47F81494D880031D60357E1105EBD29732821BA278C87C15E6A3E103C6C4E1
- powershell-6.0.0-rc-osx-x64.tar.gz
- 2C5183776D3FD03C69950D5E86831F9513757E7D7D9A20EA82AD5C6980E9544C
- powershell-6.0.0-rc-osx.10.12-x64.pkg
- 187DC2772E06319A8E71C71197A8A8287CB12515C4A9E6A9546DEC717720609C
- PowerShell-6.0.0-rc-win-x64.msi
- 92B6FBB0784F7C0AD778BABB6A678A27CDDD6D49E585B6CC9770AC603C6A04F4
- PowerShell-6.0.0-rc-win-x64.zip
- 076BB3A71044CE68352E010F55C4319F6FFFD5B47E3CD0173F14A3FEE77B4CEE
- PowerShell-6.0.0-rc-win-x86.msi
- DAF927B5F51583E044FF70092DFB3B07310CCC8051BC7E48D105C4479B879F68
- PowerShell-6.0.0-rc-win-x86.zip
- B8028B07CD30D88CF374BC6655A3E08D89B99EAE8DBCE63100214B75044578CA
- powershell-6.0.0-rc-x86_64.AppImage
- 9F5E0D399FEACF81BF22FFBF29B557B3F7897DD7D2BB17923DA856B694FEED78
v6.0.0-beta.9 release of PowerShell Core
v6.0.0-beta.9 - 2017-10-24
Note: Starting from this release, the PowerShell Core executable is renamed to be
pwsh
(see the issue #4214 for the discussion details). We also start to provide PowerShell Core binary archive packages for Linux and macOS for advanced deployment.
Breaking changes
- Fix
ValueFromRemainingArguments
to have consistent behavior between script and C# cmdlets. (#2038) (Thanks @dlwyatt) - Remove parameters
-importsystemmodules
and-psconsoleFile
frompowershell.exe
. (#4995) - Removed code to show a GUI prompt for credentials as PowerShell Core prompts in console. (#4995)
- Remove
-ComputerName
fromGet/Set/Remove-Service
. (#5094) - Rename the executable name from
powershell
topwsh
. (#5101) - Remove
RunspaceConfiguration
support. (#4942) - Remove
-ComputerName
support since .NET CoreProcess.GetProcesses(computer)
returns local processes. (#4960) - Make
-NoTypeInformation
the default onExport-Csv
andConvertTo-Csv
. (#5164) (Thanks @markekraus) - Unify cmdlets with parameter
-Encoding
to be of typeSystem.Text.Encoding
. (#5080)
Engine updates and fixes
- Fix PowerShell to update the
PATH
environment variable only ifPATH
exists. (#5021) - Enable support of folders and files with colon in name on Unix. (#4959)
- Fix detection of whether
-LiteralPath
was used to suppress wildcard expansion for navigation cmdlets. (#5038) - Enable using filesystem from a UNC location. (#4998)
- Escape trailing backslash when dealing with native command arguments. (#4965)
- Change location of
ModuleAnalysisCache
so it isn't shared with Windows PowerShell. (#5133) - Put command discovery before scripts for Unix. (#5116)
General cmdlet updates and fixes
- Correct comma position in
SecureStringCommands.resx
. (#5033) (Thanks @markekraus) - User Agent of Web Cmdlets now reports the OS platform (#4937) (Thanks @LDSpits)
- Add the positional parameter attribute to
-InputObject
forSet-Service
. (#5017) (Thanks @travisty-) - Add
ValidateNotNullOrEmpty
attribute to-UFormat
forGet-Date
. (#5055) (Thanks @DDWR) - Add
-NoNewLine
switch forOut-String
. (#5056) (Thanks @raghav710) - Improve progress messages written by Web Cmdlets. (#5078) (Thanks @markekraus)
- Add verb descriptions and alias prefixes for
Get-Verb
. (#4746) (Thanks @Tadas) - Fix
Get-Content -Raw
to not miss the last line feed character. (#5076) - Add authentication parameters to Web Cmdlets. (#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.
- Add
- Fix
MatchInfoContext
clone implementation (#5121) (Thanks @dee-see) - Exclude
PSHostProcess
cmdlets from Unix platforms. (#5105) - Fix
Add-Member
to fetch resource string correctly. (#5114) - Enable
Import-Module
to be case insensitive. (#5097) - Add exports for
syslog
APIs inlibpsl-native
. (#5149) - Fix
Get-ChildItem
to not ignore-Depth
parameter when using with-Include
or-Exclude
. (#4985) (Thanks @Windos) - Added properties
UserName
,Description
,DelayedAutoStart
,BinaryPathName
andStartupType
to theServiceController
objects returned byGet-Service
. (#4907) (Thanks @joandrsn)
Build and Packaging Improvements
- Treat
.rtf
files as binary so EOL don't get changed. (#5020) - Improve the output of
tools/installpsh-osx.sh
and update Travis-CI to use Ruby 2.3.3. (#5065) - Improve
Start-PSBootstrap
to locate dotnet SDK before installing it. (#5059) (Thanks @PetSerAl) - Fix the prerequisite check of the MSI package. (#5070)
- Support creating
tar.gz
package for Linux and macOS. (#5085) - Add release builds that produce symbols for compliance scans. (#5086)
- Update existing Docker files for the Linux package changes. (#5102)
- Add compiler switches and replace dangerous function with safer ones. (#5089)
- Add macOS launcher. (#5138) (Thanks @thezim)
- Replace
httpbin.org/response-headers
Tests with WebListener. (#5058) (Thanks @markekraus) - Update
appimage.sh
to reflect the new namepwsh
. (#5172) - Update the man help file used in packaging. (#5173)
- Update to use
pwsh
in macOS launcher. (#5174) (Thanks @thezim) - Add code to send web hook for Travis-CI daily build. (#5183)
- Add
global.json
to pick correct SDK version. (#5118) (Thanks @rkeithhill) - Update packaging to only package PowerShell binaries when packaging symbols. (#5145)
- Update Docker files and related due to the name change. (#5156)
Code Cleanup
- Clean up Json cmdlets. (#5001) (Thanks @iSazonov)
- Remove code guarded by
RELATIONSHIP_SUPPORTED
andSUPPORTS_IMULTIVALUEPROPERTYCMDLETPROVIDER
, which has never been used. (#5066) - Remove PSMI code that has never been used. (#5075)
- Remove unreachable code for
Stop-Job
. (#5091) (Thanks @travisty-) - Removed font and codepage handling code that is only applicable to Windows PowerShell. (#4995)
Test
- Fix a race condition between
WebListener
and Web Cmdlets tests. (#5035) (Thanks @markekraus) - Add warning to
Start-PSPester
if Pester module is not found (#5069) (Thanks @DDWR) - Add tests for DSC configuration compilation on Windows. (#5011)
- Test fixes and code coverage automation fixes. (#5046)
Documentation and Help Content
- Update Pi demo instructions about installing libunwind8. (#4974)
- Add links on best practice guidelines in coding guideline. (#4983) (Thanks @iSazonov)
- Reformat command line help for
powershell -help
(#4989) (Thanks @iSazonov) - Change logo in readme to current black icon. (#5030)
- Fix RPM package name in
README.md
. (#5044) - Update
docs/building/linux.md
to reflect the current status of powershell build. (#5068) (Thanks @dee-see) - Add black version of
.icns
file for macOS. (#5073) (Thanks @thezim) - Update Arch Linux installation instructions. (#5048) (Thanks @kylesferrazza)
- Add submodule reminder to
testing-guidelines.md
. (#5061) (Thanks @DDWR) - Update instructions in
docs/building/internals.md
for building from source. (#5072) (Thanks @kylesferrazza) - Add UserVoice link to Issue Template. (#5100) (Thanks @markekraus)
- Add
Get-WebListenerUrl
Based Examples to WebListenerREADME.md
. (#4981) (Thanks @markekraus) - Add document about how to create cmdlet with dotnet CLI. (#5117) (Thanks @rkeithhill)
- Update the help text for PowerShell executable with the new name
pwsh
. (#5182) - Add new forward links for PowerShell 6.0.0 help content. (#4978)
- Fix VSCode
launch.json
to point topwsh
. (#5189) - Add example of how to create .NET Core cmdlet with Visual Studio. (#5096)
SHA256 Hashes of the release artifacts
- powershell-6.0.0-beta.9-linux-x64.tar.gz
- 4B49C9C5AA40002234954A38B91661D817CBAEDBF80DD0BB3DCC5920ADA323C2
- PowerShell-6.0.0-beta.9-win-x64.msi
- D8A194C8944C4680F27406AC5B341971C546C04279A47C927FAB10D6F5CBFF2A
- PowerShell-6.0.0-beta.9-win-x64.zip
- B04AEE06A825FED28DA0642C6F8F4AE4F176BAFF5486CC9427EBBECC4DE35849
- PowerShell-6.0.0-beta.9-win-x86.msi
- 9457D98ABF6821D0DDA5BB27CE1B3C0083AB7344B45E6F2345E0BDA7B2BE5DD6
- PowerShell-6.0.0-beta.9-win-x86.zip
- 213541C57510A1F45F274D8DA78899F3F075CA4EDA2BECCEBF40449A8DEBE666
- powershell-6.0.0-beta.9-x86_64.AppImage
- 227E0199F4693209E7BBEB6ED5877A5A8C27B74C04570E6CA2627F97D67210D5
- powershell-6.0.0_beta.9-1.rhel.7.x86_64.rpm
- 3F85F238019EC8362AF0046C2D1F1E157ACECACD595488374CCE6F211C2BB7FE
- powershell_6.0.0-beta.9-1.debian.8_amd64.deb
- 9ABBAB5A1C85D74B94D1D13BEE462714CFA6618ACB62608AC72C7ED43E5C99DF
- powershell_6.0.0-beta.9-1.debian.9_amd64.deb
- D533A2A604D215374A48BB1A55738F0D9649463DE38D315CE32D4EB361932C02
- powershell_6.0.0-beta.9-1.ubuntu.14.04_amd64.deb
- CF5D35C786FF197B36C56FAC3B06672191E4EDBAEA67694543FC402345F640F3
- powershell_6.0.0-beta.9-1.ubuntu.16.04_amd64.deb
- 5A1B7D199C1966909C1EF6F4C5003526CD59B9C7D2EFB31D52FB17637ACEBF15
- powershell_6.0.0-beta.9-1.ubuntu.17.04_amd64.deb
- 7FCD0E8FAB1A1717461C39597265D9372B084652693E463852D814151EA9C006
- powershell-6.0.0-beta.9-osx.10.12-x64.pkg
- C28B78D50426A2B6D4752D97B1C4655F5E43689AABC4110DDC3EB6ABCCD3E915
- powershell-6.0.0-beta.9-osx-x64.tar.gz
- 95A6612A07DAAE7D765DCF7A005947E3EBADA084C5E601F35B15E6435BD99344
v6.0.0-beta.8 release of PowerShell Core
v6.0.0-beta.8 - 2017-10-05
Note: Starting from this release, we officially support
Ubuntu.17.04
,Debian 8 (jessie)
andDebian 9 (stretch)
. Separate DEB packages are published for those distros. We also start to provide a single RPM package for the supported Red Hat family of distros.
Breaking changes
- Changed
New-Service
to return error when given unsupported-StartupType
and fixedSet-Service
icon failing test. (#4802) - Allow
*
to be used in registry path forRemove-Item
. (#4866) - Remove unsupported
-ShowWindow
switch fromGet-Help
. (#4903) - Fix incorrect position of a parameter which resulted in the args passed as input instead of as args for
InvokeScript()
. (#4963)
Engine updates and fixes
- Make calls to
void CodeMethod
work. (#4850) (Thanks @powercode) - Get
PSVersion
andGitCommitId
from theProductVersion
attribute of assembly (#4863) (Thanks @iSazonov) - Fix
powershell -version
and built-in help forpowershell.exe
to align with other native tools. (#4958 & #4931) (Thanks @iSazonov) - Load assemblies with
Assembly.LoadFrom
beforeAssembly.Load
when the file path is given. (#4196) - Add a generic file watcher function in
HelpersCommon.psm1
. (#4775) - Update old links and fix broken links in
docs/host-powershell/README.md
. (#4877) - Fix when importing remote modules using version filters (and added tests). (#4900)
- Enable transcription of native commands on non-Windows platforms. (#4871)
- Add a new line to
CommandNotFoundException
error string. (#4934 & #4991) - Fix bug where PowerShell would exit with an error within an SSH remoting connection on Linux. (#4993)
- Fix issues with expression redirected to file. (#4847)
General cmdlet updates and fixes
- Added
Remove-Service
to Management module. (#4858) (Thanks @joandrsn) - Added functionality to set credentials on
Set-Service
command. (#4844) (Thanks @joandrsn) - Fix
Select-String
to exclude directories (as opposed to individual files) discovered from-Path
. (#4829) (Thanks @iSazonov) Get-Date
now supports more argument completion scenarios by addingArgumentCompletionsAttribute
. (#4835) (Thanks @iSazonov)- Exclude
-ComObject
parameter ofNew-Object
on unsupported (currently non-Windows) platforms. (#4922) (Thanks @iSazonov) - Updated default
ModuleVersion
inNew-ModuleManifest
to0.0.1
to align with SemVer. (#4842) (Thanks @LDSpits) - Add Multipart support to web cmdlets. (#4782) (Thanks @markekraus)
- Add
-ResponseHeadersVariable
toInvoke-RestMethod
to enable the capture of response headers. (#4888) (Thanks @markekraus) - Initialize web cmdlets headers dictionary only once. (#4853) (Thanks @markekraus)
- Change web cmdlets
UserAgent
fromWindowsPowerShell
toPowerShell
. (#4914) (Thanks @markekraus)
Build and Packaging Improvements
- Make the build output the WiX compilation log if it failed. (#4831) (Thanks @bergmeister)
- Use a simple file based check in the MSI for the VC++ 2015 redistributables. (#4745) (Thanks @bergmeister)
- New icon for PowerShell Core. (#4848)
- Build Powershell Core using the generic RID
linux-x64
. (#4841) - Create generic Linux-x64 packages that are portable to all supported RPM Linux distros (and more similar for Debian based distros). (#4902 & #4994)
- Suppress the output of building test tools in
Compress-TestContent
. (#4957) - Remove unnecessary error messages from output. (#4954)
- Update Travis CI script so that PRs can fail due to Pester tests. (#4830)
- Move release build definition into PowerShell. (#4884)
- Fix credential scan issues. (#4927 & #4935)
- Enable security flags in native compiler. (#4933)
- Add VS 2017 solution file for
powershell-win-core
. (#4748)
Code Cleanup
- Remove remainder of
Utility.Activities
(Workflow code). (#4880) - Remove
Microsoft.PowerShell.CoreCLR.AssemblyLoadContext.dll
. (#4868) - Enable auto EOL on Git repo side, fix some character encoding issues. (#4912)
- Updated EOL for all files to be LF in the repository. (#4943 & #4956)
- Removed leading whitespace. (#4991)
DSC Language
- Update version of
PSDesiredStateConfiguration
in project files to fix complication of MOF files with theConfiguration
keyword. (#4979)
Test
- Replace httpbin.org tests with
WebListener
. (Thanks @markekraus) - Port tests for constrained language mode. (#4816)
- Enable
Select-String
test from a network path. (#4921) (Thanks @iSazonov) - Reformat
Measure-Object
test. (#4972) (Thanks @iSazonov) - Mitigate intermittent failures in access denied tests. (#4788)
- Fix tests that incorrectly use
ShouldBeErrorId
. (#4793) - Fix a test issue that causes tests to be skipped in Travis CI run (#4891)
- Skip web cmdlet certificate authentication tests on CentOS and Mac. (#4822)
- Validate product resource strings against resx files. (#4811 & #4861)
- Add source files for coverage run. (#4925)
- Add the UTC offset correctly in tests for CDXML cmdlets. (#4867)
- Be sure to change
PSDefaultParameterValue
in the global scope. (#4977 & #4892) - Reduce output of Pester for CI. (#4855)
- Add tests for
Get-Content
(#4723) (Thanks @sarithsutha)- Remoting and Jobs (#4928)
Get-Help
(#4895)Get-Command -ShowCommandInfo
(#4906)Get-Content -Tail
(#4790)Get-Module
over remoting (#4787)Start/Stop/Suspend/Resume/Restart-Service
cmdlets (#4774)- WSMan Config provider tests (#4756)
- CDXML CIM
DateTime
test (#4796)
Documentation and Graphics
- Sort
.spelling
(Thanks @markekraus) - Improve the guideline for performance consideration. (#4824)
- Add setup steps for MacOS to use PSRP over SSH. (#4872)
- Instructions to demo PowerShell Core on Raspbian. (#4882)
- Added instructions to get permission to use PowerShell image assets. (#4938)
- Added demo for using Windows PowerShell modules. (#4886)
SHA256 Hashes of the release artifacts:
- powershell_6.0.0-beta.8-1.ubuntu.17.04_amd64.deb
- F3ED5456E71BBF202A64855EA5C96B383AC3CBDD67DC5F3D772B375241B2EED8
- powershell_6.0.0-beta.8-1.ubuntu.16.04_amd64.deb
- EF0CF26BC40664FCEA79DC6B710E01363F26156D1EC84B6348FED80C9E9FC37D
- powershell_6.0.0-beta.8-1.ubuntu.14.04_amd64.deb
- 571451C2E6B72A6E49AAABCDAC23A983C15402F488693D2B63F450B666EBDD13
- powershell_6.0.0-beta.8-1.debian.9_amd64.deb
- 823F4EAEC59E981B9C9C67FA186CCDA2CB5D4D0EE6C143A0CAA2BA731672EC29
- powershell_6.0.0-beta.8-1.debian.8_amd64.deb
- 97850D5A3C6BCC07F2ECA2CF75C96C47389DBE7D018B003D048C090D80C054AD
- powershell-6.0.0_beta.8-1.rhel.7.x86_64.rpm
- C15E59D52FEB122299FF7B0C1C1987401F306ACD28076A4E6D9AE7D30C441632
- PowerShell-6.0.0-beta.8-x86_64.AppImage
- F5AC46B8B27476474A0626BB20979B5598173BB67464CB1B5B04E3FBCB505F5C
- PowerShell-6.0.0-beta.8-win-x64.zip
- F21C9A79BC35D326F1CF52AEDDCCBA0DBFCC603AF921BAAF48F32512BE5F4888
- PowerShell-6.0.0-beta.8-win-x86.zip
- 63EB4186BB5360B076EAC0211D017BDAE76476930B20C3B7A09B3A370F95D8AC
- PowerShell-6.0.0-beta.8-win-x64.msi
- 5134A98417D5BBEF41D315603A2DABD685FEC3828F582CB2072E454E390A08FD
- PowerShell-6.0.0-beta.8-win-x86.msi
- DE41D8F5C0BBAD45D2F092AD415D187089B26F53159ADAC955A6FEB7CA24D94D
- powershell-6.0.0-beta.8-osx.10.12-x64.pkg
- 29E33F0A19C089A9A00E1987783803B6120B1379B370FAB33B8F74C56956A10A
v6.0.0-beta.7 release of PowerShellCore
v6.0.0-beta.7 - 2017-09-13
Note: Starting from this release, we provide a single package for each Windows supported architecture (x64 and x86). In this release, we stop supporting openSUSE Leap 42.1 as it has reached the end of SUSE support. We will publish a package for openSUSE 42.2 in future releases.
Breaking change
- Fix
Get-Content -Delimiter
to not include the delimiter in the array elements returned (#3706) (Thanks @mklement0) - Rename
$IsOSX
to$IsMacOS
(#4757)
Engine updates and fixes
- Use stricter rules when unwrapping a PSObject that wraps a COM object (#4614)
- Remove appended Windows PowerShell
PSModulePath
on Windows. (#4656) - Ensure
GetNetworkCredential()
returns null if PSCredential has null or empty user name (#4697) - Push locals of automatic variables to 'DottedScopes' when dotting script cmdlets (#4709)
- Fix
using module
when module has non-terminating errors handled withSilentlyContinue
(#4711) (Thanks @iSazonov) - Enable use of 'Singleline,Multiline' option in split operator (#4721) (Thanks @iSazonov)
- Fix error message in
ValidateSetAttribute.ValidateElement()
(#4722) (Thanks @iSazonov)
General cmdlet updates and fixes
- Add Meta, Charset, and Transitional parameters to
ConvertTo-HTML
(#4184) (Thanks @ergo3114) - Prevent
Test-ModuleManifest
from loading unnecessary modules (#4541) - Remove AlternateStream code and
-Stream
from provider cmdlets on non-Windows (#4567) - Add explicit ContentType detection to
Invoke-RestMethod
(#4692) - Fix an error on
Enter-PSSession
exit (#4693) - Add
-WhatIf
switch toStart-Process
cmdlet (#4735) (Thanks @sarithsutha) - Remove double spaces in .cs, .ps1, and .resx files (#4741 & #4743) (Thanks @korygill)
- Replace 'Windows PowerShell' with 'PowerShell' in resx files (#4758) (Thanks @iSazonov)
Build and Packaging Improvements
- Refactor MSBuild project files to get PowerShell version from git tag (#4182) (Thanks @iSazonov)
- Create a single package for each Windows supported architecture (x86 and amd64) (#4540)
- Set the default windows RID to win7- (#4701)
- Enable cross-compiling for Raspberry-PI arm32 (#4742)
- Fix macOS brew reinstall command (#4627) (Thanks @TheNewStellW)
- Improvements to the Travis-CI script (#4689, #4731, #4807)
- Update OpenSUSE docker image to 42.2 (#4737)
- Confirm
Start-PSPackage
produces a package (#4795)
Code Cleanup
- Remove part of the Workflow code (#4777)
- Clean up CORECLR preprocessor directives in TraceSource (#4684)
Test
- Add test WebListener module and tests for Web Cmdlet Certificate Authentication (#4622) (Thanks @markekraus)
- Move WebCmdlets HTTPS tests to WebListener (#4733) (Thanks @markekraus)
- Replace httpbin.org/get tests With WebListener (#4738) (Thanks @markekraus)
- Use
-PassThru
on Pester tests to reliably catch failures (#4644) - Display the same number of tests regardless of platform (#4728)
- Improve comparison of code coverage values for a file (#4764)
- Silence PSSessionConfiguration test warning messages in the log (#4794)
- Add tests for
- Disable tests
Documentation
- Update WritingPesterTests.md to recommend ShouldBeErrorId (#4637)
- Clarify the Pull Request process, roles, and responsibilities (#4710)
- Add absolute URLs in the issue template and pull request template (#4718) (Thanks @chucklu)
- Add new approved Build and Deploy verbs (#4725)
- Update using-vscode.md to use the new exe path (#4736)
- Update coding guidelines to make it more concrete and useful in a review process (#4754)
SHA256 Hashes of the release artifacts:
- powershell-6.0.0-beta.7-osx.10.12-x64.pkg
- 6AAEC8CCF6B910D389036CB68C9CB5BB462F231A37B5D3624F52D8899AD5DBAB
- powershell_6.0.0-beta.7-1ubuntu1.14.04.1_amd64.deb
- 6B828AFEACB3D29464381AE9C521B43E4A829D2AFCF5EDAF0CA54D0E19003104
- powershell_6.0.0-beta.7-1ubuntu1.16.04.1_amd64.deb
- F8438FEE9F21C53B77FAE69F29F91BF5CDC063C1412DD07A061D596F2E0FE7D3
- powershell-6.0.0_beta.7-1.el7.x86_64.rpm
- D4B2E975F1D1CB90C1667FE7AA1A9B35471DA80280E0B90358EA1578D1B5216D
- PowerShell-6.0.0-beta.7-x86_64.AppImage
- 0D0C030170F791EB2A8A7C4958CDF34F0584BD2D354925239321331E5E8BC1AC
- PowerShell-6.0.0-beta.7-win-x64.msi
- B9105EF2F52EE30DB7082039BC3AED84743E2BAE883B9220F7AD6B2C76BA662F
- PowerShell-6.0.0-beta.7-win-x64.zip
- 443590A25252B18D54DEF9CC702B6B46BB3DBCFCCAC951B4CA08880564FB3582
- PowerShell-6.0.0-beta.7-win-x86.msi
- 46237804A38F08C3F1E290C710DA6CAF22876B07C15D2C9BEF72E9DE47CFD667
- PowerShell-6.0.0-beta.7-win-x86.zip
- B03C948C385EF7DDF34D286D9B4ED02D6446FFA2CD03F2DA1BA100E8F69B9B1E
v6.0.0-beta.6 release of PowerShellCore
v6.0.0-beta.6 - 2017-08-24
Breaking change
- Make invalid argument error messages for
-File
and-Command
consistent and make exit codes consistent with Unix standards (#4573)
Engine updates and fixes
- Make resource loading to work with PowerShell SxS installation (#4139)
- Add missing assemblies to TPA list to make Pwrshplughin.dll work (#4502)
- Make sure running
powershell
starts an instance of the current version of PowerShell. (#4481) - Make sure we only use Unicode output by default on Nano and IoT systems (#4074)
- Enable
powershell -WindowStyle
to work on Windows. (#4573) - Enable enumeration of COM collections. (#4553)
General cmdlet updates and fixes
- Fix Web CmdLets
-SkipHeaderValidation
to work with non-standard User-Agent headers. (#4479 & #4512) (Thanks @markekraus) - Add Certificate authentication support for Web CmdLets. (#4646) (Thanks @markekraus)
- Add support for content headers to Web CmdLets. (#4494 & #4640) (Thanks @markekraus)
- Add support for converting enums to string (#4318) (Thanks @KirkMunro)
- Ignore casing when binding PSReadline KeyHandler functions (#4300) (Thanks @oising)
- Fix
Unblock-File
for the case of a read-only file. (#4395) (Thanks @iSazonov) - Use supported API to set Central Access Policy ID (CAPID) in SACL. (#4496)
- Make
Start-Trace
support paths that require escaping in the underlying APIs (#3863) - Removing
#if CORECLR
enabled,Enable-PSRemoting
andDisable-PSRemoting
(#2671) - Enable WSManCredSSP cmdlets and add tests. (#4336)
- Use .NET Core's implementation for ShellExecute. (#4523)
- Fix SSH Remoting handling of KeyFileParameter when the path must be quoted. (#4529)
- Make Web CmdLets use HTML meta charset attribute value, if present (#4338)
- Move to .NET Core 2.0 final (#4603)
Build/test and code cleanup
- Add Amazon Linux Docker image and enable related tests. (#4393) (Thanks @DarwinJS)
- Make MSI verify pre-requisites are installed. (#4602) (Thank @bergmeister)
- Fixed formatting issues in build files. (#4630) (Thanks @iSazonov)
- Make sure
install-powershell.sh
installs latest powershell on macOS, even if an old version is cached in brew. (#4509) (Thanks @richardszalay for reporting.) - Fixes install scripts issue for macOS. (#4631) (Thanks @DarwinJS)
- Many stability improvements to our nightly code coverage automation. (#4313 & #4550)
- Remove hash validation from nanoserver-insider Docker file, due to frequent changes. (#4498)
- Update to make Travis-CI daily build badge more reliable. (#4522)
- Remove unused build files, build code, and product code. (#4532, #4580, #4590, #4589, #4588, #4587, #4586, #4583, #4582, #4581)
- Add additional acceptance tests for PowerShellGet. (#4531)
- Only publish a NuGet of the full PowerShell core package on daily builds and not merge. (#4517)
- Update nanoserver-insider Docker file due to breaking changes in the base image. (#4555)
- Cleanup engine tests (#4551)
- Fix intermittent failures in filesystem tests (#4566)
- Add tests for
- Only allow packaging of powershell, if it was built from a repo at the root of the file system named powershell. (#4569 & #4600)
- Update
Format-Hex
test cases to use -TestCase instead of foreach loops. (#3800) - Added functionality to get code coverage for a single file locally. (#4556)
Documentation
- Added Ilya (@iSazonov) as a Maintainer. (#4365)
- Grammar fix to the Pull Request Guide. (#4322)
- Add homebrew for macOS to install documentation. (#3838)
- Added a CodeOwner file. (#4565 & #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.
To read more about this, check out this blog post.
SHA256 Hashes of the release artifacts:
- powershell-6.0.0-beta.6-osx.10.12-x64.pkg
- E69C22F2224707223F32607D08F73C0BEADC3650069C49FC11C8071D08843309
- powershell_6.0.0-beta.6-1ubuntu1.14.04.1_amd64.deb
- 637EBD046F3091C25EB940E1260C50099126E175205ECE26659A6DE72537EFB2
- powershell_6.0.0-beta.6-1ubuntu1.16.04.1_amd64.deb
- C3F3D9E55826EE45B417E830B0AC18BFCCC9240711E778CEAC22F4F72690D633
- powershell-6.0.0_beta.6-1.el7.x86_64.rpm
- E4FE592C77D9719537DBC14DB2BB92B2BA5B5468FCE1EFC7401100247FB146B3
- powershell-6.0.0_beta.6-1.suse.42.1.x86_64.rpm
- 9009BAB1754E58DA09737DEF4870C7ECFDC542CE368C31237A333D9957C8D5D1
- PowerShell-6.0.0-beta.6-x86_64.AppImage
- B29A0377BB7D09C53675C54FC82497FC4C8555FF4143964A8996FAEFF2DCB172
- PowerShell-6.0.0-beta.6-win10-win2016-x64.msi
- 2F0F6F030F254590C63CD47CC3C4CD1952D002639D2F27F37E616CD2A5DDE84C
- PowerShell-6.0.0-beta.6-win10-win2016-x64.zip
- 61C7A7C74BC76BD0ADADD8B4A93C69C6D50DBCF043D3F584E1B94979E82F61A8
- PowerShell-6.0.0-beta.6-win7-win2008r2-x64.msi
- D79E770D12EB0EA64BCEB30496AD81421165092BE3388230EB763660F7A726C7
- PowerShell-6.0.0-beta.6-win7-win2008r2-x64.zip
- 85CD519FC0A4B93D5CE66DC98E1812A6F3E8FC1C329E70F4DF62BF5635F85E14
- PowerShell-6.0.0-beta.6-win7-x86.msi
- 685F21A1C8C4F0348BBF6159C52AAC67CDE789FBEAF2F0D448551BA36A6287EC
- PowerShell-6.0.0-beta.6-win7-x86.zip
- 47479D5E78EE66CBFA07C52676E2846A10CEFB7C107129AD17E51FBF17C94CBA
- PowerShell-6.0.0-beta.6-win81-win2012r2-x64.msi
- 2FCC755B89F8EEF697BBB536623FF6A4A1A2A169DD0C8F251AF916CA6C9392B7
- PowerShell-6.0.0-beta.6-win81-win2012r2-x64.zip
- 30520A45A8CBD81CBFA068359BA8B7A36AA9A8122376C855F7850843089E9FDB
v6.0.0-beta.5 release of PowerShellCore
v6.0.0-beta.5 - 2017-08-02
Breaking changes
- Remove the
*-Counter
cmdlets inMicrosoft.PowerShell.Diagnostics
due to the use of unsupported APIs until a better solution is found. (#4303) - Remove the
Microsoft.PowerShell.LocalAccounts
due to the use of unsupported APIs until a better solution is found. (#4302)
Engine updates and fixes
- Fix the issue where PowerShell Core wasn't working on Windows 7 or Windows Server 2008 R2/2012 (non-R2). (#4463)
ValidateSetAttribute
enhancement: support set values to be dynamically generated from a customValidateSetValueGenerator
. (#3784) (Thanks to @iSazonov!)- Disable breaking into debugger on Ctrl+Break when running non-interactively. (#4283) (Thanks to @mwrock!)
- Give error instead of crashing if WSMan client library is not available. (#4387)
- Allow passing
$true
/$false
as a parameter to scripts usingpowershell.exe -File
. (#4178) - Enable
DataRow
/DataRowView
adapters in PowerShell Core to fix an issue withDataTable
usage. (#4258) - Fix an issue where PowerShell class static methods were being shared across
Runspace
s/SessionState
s. (#4209) - Fix array expression to not return null or throw error. (#4296)
- Fixes a CIM deserialization bug where corrupted CIM classes were instantiating non-CIM types. (#4234)
- Improve error message when
HelpMessage
property ofParameterAttribute
is set to empty string. (#4334) - Make
ShellExecuteEx
run in a STA thread. (#4362)
General cmdlet updates and fixes
- Add
-SkipHeaderValidation
switch toInvoke-WebRequest
andInvoke-RestMethod
to support adding headers without validating the header value. (#4085) - Add support for
Invoke-Item -Path <folder>
. (#4262) - Fix
ConvertTo-Html
output when using a single column header. (#4276) - Fix output of
Length
forFileInfo
when usingFormat-List
. (#4437) - Fix an issue in implicit remoting where restricted sessions couldn't use
Get-FormatData –PowerShellVersion
. (#4222) - Fix an issue where
Register-PSSessionConfiguration
fails ifSessionConfig
folder doesn't exist. (#4271)
Installer updates
- Create script to install latest PowerShell from Microsoft package repositories (or Homebrew) on non-Windows platforms. (#3608) (Thanks to @DarwinJS!)
- Enable MSI upgrades rather than a side-by-side install. (#4259)
- Add a checkbox to open PowerShell after the Windows MSI installer has finished. (#4203) (Thanks to @bergmeister!)
- Add Amazon Linux compatibility to
install-powershell.sh
. (#4360) (Thanks to @DarwinJS!) - Add ability to package PowerShell Core as a NuGet package. (#4363)
Build/test and code cleanup
- Add build check for MFC for Visual C++ during Windows builds.
This fixes a long-standing (and very frustrating!) issue with missing build dependencies! (#4185) (Thanks to @KirkMunro!) - Move building Windows PSRP binary out of
Start-PSBuild
.
NowStart-PSBuild
doesn't build PSRP binary on windows. Instead, we consume the PSRP binary from a NuGet package. (#4335) - Add tests for built-in type accelerators. (#4230) (Thanks to @dchristian3188!)
- Increase code coverage of
Get-ChildItem
on file system. (#4342) (Thanks to @jeffbi!) - Increase test coverage for
Rename-Item
andMove-Item
. (#4329) (Thanks to @jeffbi!) - Add test coverage for Registry provider. (#4354) (Thanks to @jeffbi!)
- Fix warnings and errors thrown by PSScriptAnalyzer. (#4261) (Thanks to @bergmeister!)
- Fix regressions that cause implicit remoting tests to fail. (#4326)
- Disable legacy UTC and SQM Windows telemetry by enclosing the code in '#if LEGACYTELEMETRY'. (#4190)
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.
To read more about this, check out this blog post.
SHA256 Hashes of the release artifacts:
- powershell-6.0.0-beta.5-osx.10.12-x64.pkg
- 4A0C2B7E81A9530F9D913E35F287112AD0E12083DAF196A769EFCF89CA150BFB
- powershell_6.0.0-beta.5-1ubuntu1.14.04.1_amd64.deb
- AC59175DEE902634E9837C16CE33821C27404087DEF50734DD8585E2AFD3BD99
- powershell_6.0.0-beta.5-1ubuntu1.16.04.1_amd64.deb
- 0C871C8FA9F00E667378FDA7B92CEADF594EE7A39617FB012B42E0327D739335
- powershell-6.0.0_beta.5-1.el7.x86_64.rpm
- 12C1523BD0149E9BC95F67497EEA05954F490C9F3694E2E2197602A1A9395DF9
- powershell-6.0.0_beta.5-1.suse.42.1.x86_64.rpm
- EFF7B660E8180FD9234B602F25DBC9BB21DE74F36C73FA56A3D5E6AA8AAF339C
- PowerShell-6.0.0-beta.5-x86_64.AppImage
- 2A8294424FAA9B22DEEE423232EFA18B914EF492816883AD85AA5D5F175405E6
- PowerShell-6.0.0-beta.5-win10-win2016-x64.msi
- DEBCCEA48D82C39509FAF61E8E2A18630898110814A860F6FFF806430F58B118
- PowerShell-6.0.0-beta.5-win10-win2016-x64.zip
- 504893AC8F421263452C6D88F5615D56202545253D82CBEB1B2A92D35CADB8A6
- PowerShell-6.0.0-beta.5-win81-win2012r2-x64.msi
- 8988917E8AC7FDA51FD8C40816000266E78A19E8373A1C97FD9197EDF8C58600
- PowerShell-6.0.0-beta.5-win81-win2012r2-x64.zip
- F939E7AD5EC7E7EC9D16AF3C6262E2F733C20BCD85A17C95C4FAA2067E46F9E0
- PowerShell-6.0.0-beta.5-win7-win2008r2-x64.msi
- 3951ED36BEC38810658BC4BB69FF6710D8685CAD9E3F0553DF7D9412C3BA0BC8
- PowerShell-6.0.0-beta.5-win7-win2008r2-x64.zip
- 2F635669A8101CBCF2E3D4C045F6CE90EE4A5E2C31CBD50EC03C742F5C5E057A
- PowerShell-6.0.0-beta.5-win7-x86.msi
- 0A1FB9CFFBC8E9BC169F47DFA2F581837368290031BFEBC704D880A480F8AB17
- PowerShell-6.0.0-beta.5-win7-x86.zip
- 1DA45464B93A01C0C77932652D1D698819D088F0FB6377C032C43A625A7FCB4B
v6.0.0-beta.4 release of PowerShellCore
Note: Windows 7 support is currently broken, and we plan to release a working package in the future
v6.0.0-beta.4 - 2017-07-12
- Add Windows PowerShell
PSModulePath
by default on Windows. (#4132) - Move PowerShell to
2.0.0-preview3-25426-01
and using the .NET CLI version2.0.0-preview2-006502
. (#4144)
Engine updates and fixes
- Performance improvement in PSReadline by minimizing writing ANSI escape sequences. (#4110)
- Implement Unicode escape parsing so that users can use Unicode characters as arguments, strings or variable names. (#3958) (Thanks to @rkeithhill!)
- Script names or full paths can have commas. (#4136) (Thanks to @TimCurwick!)
- Added
semver
as a type accelerator forSystem.Management.Automation.SemanticVersion
. (#4142) (Thanks to @oising!) - Close
eventLogSession
andEventLogReader
to unlock an ETL log. (#4034) (Thanks to @iSazonov!)
General cmdlet updates and fixes
Move-Item
cmdlet honors-Include
,-Exclude
, and-Filter
parameters. (#3878)- Add a parameter to
Get-ChildItem
called-FollowSymlink
that traverses symlinks on demand, with checks for link loops. (#4020) - Change
New-ModuleManifest
encoding to UTF8NoBOM on non-Windows platforms. (#3940) Get-AuthenticodeSignature
cmdlets can now get file signature timestamp. (#4061)- Add tab completion for
Export-Counter
-FileFormat
parameter. (#3856) - Fixed
Import-Module
on non-Windows platforms so that users can import modules withNestedModules
andRootModules
. (#4010) - Close
FileStream
opened byGet-FileHash
. (#4175) (Thanks to @rkeithhill!)
Remoting
- Fixed hang when the SSH client abruptly terminates. (#4123)
Documentation
SHA256 Hashes of the release artifacts:
- powershell_6.0.0-beta.4-1ubuntu1.14.04.1_amd64.deb
- 0165571B738CBF36361BCDC4DB51D7B1C41C746AA28109A8D24580943E4CDA39
- powershell_6.0.0-beta.4-1ubuntu1.16.04.1_amd64.deb
- 9B05969D54908A4A048951E9279FF061AFE104477705154CAF20B33D1680F649
- powershell-6.0.0_beta.4-1.el7.x86_64.rpm
- 93F075346D216B350D7F58FA5972524DB47766D453298C7A986D9B6F43D0BF9D
- powershell-6.0.0_beta.4-1.suse.42.1.x86_64.rpm
- 674584AD06358A99BDB7AC6535702C138078EAA6B41D8105D6E445E61DFC7734
- powershell-6.0.0-beta.4-osx.10.12-x64.pkg
- 6644A4E7258FD3733CEFBFAA40B21D2077CE953D487BF09BFD0E648D7580E647
- PowerShell-6.0.0-beta.4-win10-win2016-x64.msi
- 0F8A4FDEA63EE2CA81879A4F50FCB765ECA12941C02C7FBC10EC69552A4850CC
- PowerShell-6.0.0-beta.4-win10-win2016-x64.zip
- DAB8CC377D1BADD91688AEC9277D7696CC8DB2C25CECBCC934BD91AA7C724901
- PowerShell-6.0.0-beta.4-win81-win2012r2-x64.msi
- 18E7240666B386157D9094BA7FB4150DC34964EE592B3333B0D66CF3073C55A9
- PowerShell-6.0.0-beta.4-win81-win2012r2-x64.zip
- 45FA97BD87F10187313781D5BA3847B591B03A8E6EF77279C87DB66737BA2EEC
- PowerShell-6.0.0-beta.4-x86_64.AppImage
- 09E6F6B9FF52429A1F6833DC3EC0439D43D48460FD957403C3BFB1BA587AF036
v6.0.0-beta.3 release of PowerShellCore
Note: Windows 7 support is currently broken, and we plan to release a working package in the future.
Breaking changes
- Remove the
BuildVersion
property from$PSVersionTable
. This property was strongly tied to the Windows build version. Instead, we recommend that you useGitCommitId
to retrieve the exact build version of PowerShell Core. (#3877) (Thanks to @iSazonov!) - Change positional parameter for
powershell.exe
from-Command
to-File
. This fixes the usage of#!
(aka as a shebang) in PowerShell scripts that are being executed from non-PowerShell shells on non-Windows platforms.
This also means that you can now do things likepowershell foo.ps1
orpowershell fooScript
without specifying-File
. However, this change now requires that you explicitly specify-c
or-Command
when trying to do things likepowershell.exe Get-Command
. (#4019) - Remove
ClrVersion
property from$PSVersionTable
. This property is largely irrelevant for .NET Core, and was only preserved in .NET Core for specific legacy purposes that are inapplicable to PowerShell. (#4027)
Engine updates and fixes
- Add support to probe and load assemblies from GAC on Windows platform. This means that you can now load Windows PowerShell modules with assembly dependencies which reside in the GAC. If you're interested in running your traditional Windows PowerShell scripts and cmdlets using the power of .NET Standard 2.0, try adding your Windows PowerShell module directories to your PowerShell Core
$PSModulePath
. (E.g.$env:PSModulePath += ';C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules'
) Even if the module isn't owned by the PowerShell Team, please tell us what works and what doesn't by leaving a comment in issue #4062! (#3981) - Enhance type inference in tab completion based on runtime variable values. (#2744) (Thanks to @powercode!) This enables tab completion in situations like:
$p = Get-Process
$p | Foreach-Object Prio<tab>
- Add
GitCommitId
to PowerShell Core banner. Now you don't have to run$PSVersionTable
as soon as you start PowerShell to get the version! (#3916) (Thanks to @iSazonov!) - Fix a bug in tab completion to make
native.exe --<tab>
call into native completer. (#3633) (Thanks to @powercode!) - Fix PowerShell Core to allow the use of long paths that are more than 260 characters. (#3960)
- Fix ConsoleHost to honor
NoEcho
on Unix platforms. (#3801) - Fix transcription to not stop when a Runspace is closed during the transcription. (#3896)
General cmdlet updates and fixes
- Enable
Send-MailMessage
in PowerShell Core. (#3869) - Fix
Get-Help
to support case insensitive pattern matching on Unix platforms. (#3852) - Fix tab completion on
Get-Help
forabout_*
topics. (#4014) - Fix PSReadline to work in Windows Server Core container image. (#3937)
- Fix
Import-Module
to honourScriptsToProcess
when-Version
is specified. (#3897) - Strip authorization header on redirects with web cmdlets. (#3885)
Start-Sleep
: add the aliasms
to the parameter-Milliseconds
. (#4039) (Thanks to @Tadas!)
Developer experience
- Make hosting PowerShell Core in your own .NET applications much easier by refactoring PowerShell Core to use the default CoreCLR loader. (#3903)
- Update
Add-Type
to supportCSharpVersion7
. (#3933) (Thanks to @iSazonov)
SHA256 Hashes of the release artifacts:
- PowerShell-6.0.0-beta.3-win10-win2016-x64.msi
- 4189C0F42D7CF469C1D23003A8F488DFBC1AEC542A93275DC1381C45BEE0F410
- PowerShell-6.0.0-beta.3-win10-win2016-x64.zip
- FF45FE7D184B50297CA706EFAEA4E37C59807D33577521A715C147BCD5098B01
- PowerShell-6.0.0-beta.3-win81-win2012r2-x64.msi
- A95C3B11429CB6DFDB629B3E6011F3A721FFBA0944DE9E639F7D910217142EBC
- PowerShell-6.0.0-beta.3-win81-win2012r2-x64.zip
- 8C9A940F7D45FDC448A2FE0ACE88964212D7ADCB00E57627F5F01D5720509D92
- powershell-6.0.0_beta.3-1.el7.x86_64.rpm
- 1EF0AABC8AAF8E3A1F7D832690AC813E3D8E8C23AB2F4F88FD1CC4BDC89BA044
- powershell-6.0.0_beta.3-1.suse.42.1.x86_64.rpm
- 9A06FEB2EC9195249FFBB508F7DC0FE69A039819BB559CA77078F6630E509B04
- powershell_6.0.0-beta.3-1ubuntu1.14.04.1_amd64.deb
- E55DCC6FFDDE518F52501484AD496C2F239D39B8D8BD9BDCE01CA4C8768D61BC
- powershell_6.0.0-beta.3-1ubuntu1.16.04.1_amd64.deb
- 20850CAF8C154A47CC479AAB97761C609DF52A70ADBDBD6D97A2EEF5CA14F642
- powershell-6.0.0-beta.3-osx.10.12-x64.pkg
- 512690287EB0445F6211C3D535021B68772B98687063B593B1B9D4F58D3ED85C
- PowerShell-6.0.0-beta.3-x86_64.AppImage
- 8C03E310193B7BE6B4E18CDA7A8D3556C8D7913C33A1D561902C8E5820C50670
v6.0.0-beta.2 release of PowerShellCore
Note: Windows 7 support is currently broken, and we plan to release a working package in the future.
Support backgrounding of pipelines with ampersand (&
) (#3360)
- Putting
&
at the end of a pipeline will cause the pipeline to be run as a PowerShell job. - When a pipeline is backgrounded, a job object is returned.
- Once the pipeline is running as a job, all of the standard
*-Job
cmdlets can be used to manage the job. - Variables (ignoring process-specific variables) used in the pipeline are automatically copied to the job so
Copy-Item $foo $bar &
just works. - The job is also run in the current directory instead of the user's home directory.
- For more information about PowerShell jobs, see about_Jobs.
Engine updates and fixes
- Crossgen more of the .NET Core assemblies to improve PowerShell Core startup time. (#3787)
- Enable comparison between a
SemanticVersion
instance and aVersion
instance that is constructed only withMajor
andMinor
version values.
This will fix some cases where PowerShell Core was failing to import older Windows PowerShell modules. (#3793) (Thanks to @mklement0!)
General cmdlet updates and fixes
- Support Link header pagination in web cmdlets (#3828)
- For
Invoke-WebRequest
, when the response includes a Link header we create a RelationLink property as a Dictionary representing the URLs andrel
attributes and ensure the URLs are absolute to make it easier for the developer to use. - For
Invoke-RestMethod
, when the response includes a Link header we expose a-FollowRelLink
switch to automatically follownext
rel
links until they no longer exist or once we hit the optional-MaximumFollowRelLink
parameter value.
- For
- Update
Get-ChildItem
to be more in line with the way that the *nixls -R
and the WindowsDIR /S
native commands handle symbolic links to directories during a recursive search.
Now,Get-ChildItem
returns the symbolic links it encountered during the search, but it won't search the directories those links target. (#3780) - Fix
Get-ChildItem
to continue enumeration after throwing an error in the middle of a set of items.
This fixes some issues where inaccessible directories or files would halt execution ofGet-ChildItem
. (#3806) - Fix
ConvertFrom-Json
to deserialize an array of strings from the pipeline that together construct a complete JSON string.
This fixes some cases where newlines would break JSON parsing. (#3823) - Enable
Get-TimeZone
for macOS/Linux. (#3735) - Change to not expose unsupported aliases and cmdlets on macOS/Linux. (#3595) (Thanks to @iSazonov!)
- Fix
Invoke-Item
to accept a file path that includes spaces on macOS/Linux. (#3850) - Fix an issue where PSReadline was not rendering multi-line prompts correctly on macOS/Linux. (#3867)
- Fix an issue where PSReadline was not working on Nano Server. (#3815)
SHA256 Hashes of the release artifacts:
- powershell-6.0.0-beta.2-osx.10.12-x64.pkg
- 9A55A6D82BD7DACDE9E0D160D6F105DFE84993A7504E67D2CCDC5478AB2FCA9F
- PowerShell-6.0.0-beta.2-win10-win2016-x64.msi
- 24FDE25531AD019F8164E61D641EBACEA7D459C3DFA6D804CCDCB0221DCE7E60
- PowerShell-6.0.0-beta.2-win10-win2016-x64.zip
- 11432920C8C279ED9E903EE9149F68626AB7A4CAEEFD5AC89FD749D4F62060EB
- PowerShell-6.0.0-beta.2-win81-win2012r2-x64.msi
- 9DD9647A207D28BAF707E07088F8AE3B05B61EB611535FED29D6326D77C38B01
- PowerShell-6.0.0-beta.2-win81-win2012r2-x64.zip
- BF5F9F6CAA939E36FD3007B1EC78E10722FA79B271C4A7BF8C0E1C3926E6040A
- powershell_6.0.0-beta.2-1ubuntu1.14.04.1_amd64.deb
- 1EDC2E20DF51E9BD5778B8DA7E466BE7C52003F3350E7835EEF7DEDB0773BF7F
- powershell_6.0.0-beta.2-1ubuntu1.16.04.1_amd64.deb
- 5B2D94327B88A7D02DC5932DA89E63ACD9D7031A705647A9DBB96FFBF770BF0F
- powershell-6.0.0_beta.2-1.el7.x86_64.rpm
- 713CD60DF62B1619C1D5EFE5D17EA3D6024FE597C85A6894F48C8E578724C4D8
- powershell-6.0.0_beta.2-1.suse.42.1.x86_64.rpm
- 32B0CE7B91F253589E1AB5F2F936CAC4D111A1383AD0F492F13148936724790D
- PowerShell-6.0.0-beta.2-x86_64.AppImage
- 6E245728D76191E8BEAB6BA4B9FEFE1925274603753784D285643CA73A8C84B4
v6.0.0-beta.1 release of PowerShellCore
Note: Windows 7 support is currently broken, and we plan to release a working package in the future.
Move to .NET Core 2.0 (.NET Standard 2.0 support)
PowerShell Core has moved to using .NET Core 2.0 so that we can leverage all the benefits of .NET Standard 2.0 (#3556). To learn more about .NET Standard 2.0, there's some great starter content on Youtube, on the .NET blog, and on GitHub. We'll also have more content soon in our repository documentation (which will eventually make its way to official documentation). In a nutshell, .NET Standard 2.0 allows us to have universal, portable modules between Windows PowerShell (which uses the full .NET Framework) and PowerShell Core (which uses .NET Core).
Many modules and cmdlets that didn't work in the past may now work on .NET Core, so import your favorite modules and tell us what does and doesn't work in our GitHub Issues!
Telemetry
- For the first beta of PowerShell Core 6.0, telemetry has been to the console host to report two values (#3620):
- the OS platform (
$PSVersionTable.OS
) - the exact version of PowerShell (
$PSVersionTable.GitCommitId
)
- the OS platform (
If you want to opt-out of this telemetry, simply delete $PSHome\DELETE_ME_TO_DISABLE_CONSOLEHOST_TELEMETRY
. Even before the first run of Powershell, deleting this file will bypass all telemetry. In the future, we plan on also enabling a configuration value for whatever is approved as part of RFC0015. We also plan on exposing this telemetry data (as well as whatever insights we leverage from the telemetry) in our community dashboard.
If you have any questions or comments about our telemetry, please file an issue.
Engine updates and fixes
- Add support for native command globbing on Unix platforms. (#3643)
- This means you can now use wildcards with native binaries/commands (e.g.
ls *.txt
).
- This means you can now use wildcards with native binaries/commands (e.g.
- Fix PowerShell Core to find help content from
$PSHome
instead of the Windows PowerShell base directory. (#3528)- This should fix issues where about_* topics couldn't be found on Unix platforms.
- Add the
OS
entry to$PSVersionTable
. (#3654) - Arrange the display of
$PSVersionTable
entries in the following way: (#3562) (Thanks to @iSazonov!)PSVersion
PSEdition
- alphabetical order for rest entries based on the keys
- Make PowerShell Core more resilient when being used with an account that doesn't have some key environment variables. (#3437)
- Update PowerShell Core to accept the
-i
switch to indicate an interactive shell. (#3558)- This will help when using PowerShell as a default shell on Unix platforms.
- Relax the PowerShell
SemanticVersion
constructors to not require 'minor' and 'patch' portions of a semantic version name. (#3696) - Improve performance to security checks when group policies are in effect for ExecutionPolicy. (#2588) (Thanks to @powercode)
- Fix code in PowerShell to use
IntPtr(-1)
forINVALID_HANDLE_VALUE
instead ofIntPtr.Zero
. (#3544) (Thanks to @0xfeeddeadbeef)
General cmdlet updates and fixes
- Change the default encoding and OEM encoding used in PowerShell Core to be compatible with Windows PowerShell. (#3467) (Thanks to @iSazonov!)
- Fix a bug in
Import-Module
to avoid incorrect cyclic dependency detection. (#3594) - Fix
New-ModuleManifest
to correctly check if a URI string is well formed. (#3631)
Filesystem-specific updates and fixes
- Use operating system calls to determine whether two paths refer to the same file in file system operations. (#3441)
- This will fix issues where case-sensitive file paths were being treated as case-insensitive on Unix platforms.
- Fix
New-Item
to allow creating symbolic links to file/directory targets and even a non-existent target. (#3509) - Change the behavior of
Remove-Item
on a symbolic link to only removing the link itself. (#3637) - Use better error message when
New-Item
fails to create a symbolic link because the specified link path points to an existing item. (#3703) - Change
Get-ChildItem
to list the content of a link to a directory on Unix platforms. (#3697) - Fix
Rename-Item
to allow Unix globbing patterns in paths. (#3661)
Interactive fixes
- Add Hashtable tab completion for
-Property
ofSelect-Object
. (#3625) (Thanks to @powercode) - Fix tab completion with
@{<tab>
to avoid crash in PSReadline. (#3626) (Thanks to @powercode) - Use
<id> - <name>
asToolTip
andListItemText
when tab completing process ID. (#3664) (Thanks to @powercode)
Remoting fixes
- Update PowerShell SSH remoting to handle multi-line error messages from OpenSSH client. (#3612)
- Add
-Port
parameter toNew-PSSession
to create PowerShell SSH remote sessions on non-standard (non-22) ports. (#3499) (Thanks to @lee303)
API Updates
- Add the public property
ValidRootDrives
toValidateDriveAttribute
to make it easy to discover the attribute state viaParameterMetadata
orPSVariable
objects. (#3510) (Thanks to @indented-automation!) - Improve error messages for
ValidateCountAttribute
. (#3656) (Thanks to @iSazonov) - Update
ValidatePatternAttribute
,ValidateSetAttribute
andValidateScriptAttribute
to allow users to more easily specify customized error messages. (#2728) (Thanks to @powercode)
Windows 7 Packages
Windows 7 packages were not produced for this release due to a downlevel API set issue (#3747) that we are working to resolve. Until it is fixed, users who wish to run PowerShell Core on Windows 7 systems can use the Alpha.18 release.
SHA256 Hashes of the release artifacts:
- powershell-6.0.0-beta.1-osx.10.12-x64.pkg
- 8ED67321503A22E9C4442C588FC014AA61698E12AD389B7A8C38C98FAB9206D1
- PowerShell-6.0.0-beta.1-win10-win2016-x64.msi
- 615FC02200E18E6811A867A03DB23D52962230F147F79750DC88FF7E7EEC45FE
- PowerShell-6.0.0-beta.1-win10-win2016-x64.zip
- 0686F46ECE75009401A2ED3B70B645888118276054BB2F8493200C69F52F8A95
- PowerShell-6.0.0-beta.1-win81-win2012r2-x64.msi
- EC002C2918C2B9895F37DBB5EB80B151B29FB593DCC997B5FAE2F4CEFC0CC466
- PowerShell-6.0.0-beta.1-win81-win2012r2-x64.zip
- FF2D79265DFF2B41E8CEEA1A93C009FAD4646394368D75AD46BE494E350D4BB2
- PowerShell-6.0.0-beta.1-x86_64.AppImage
- 6DC2D4C076E59EBBC54CFF239F78F70F4D5B5B33B9F4BA0E404A0961143B64C5
- powershell-6.0.0_beta.1-1.el7.centos.x86_64.rpm
- 752279BE1A52FD4412D2E63CFB51A474A0B11AE94C1DA9F916499377B1B12FB3
- powershell-6.0.0_beta.1-1.suse.42.1.x86_64.rpm
- 8FE3251D712482BD9742737AC751A0A6F85E8F7DB399ECDD5F4E326D3C89DECB
- powershell_6.0.0-beta.1-1ubuntu1.14.04.1_amd64.deb
- B74A3A287E4265BB4E3F1CCD5E004D280980E8D09C54ADC35EB29BB182D32ADD
- powershell_6.0.0-beta.1-1ubuntu1.16.04.1_amd64.deb
- CECC756C7525ADEA770044EF16878C8F0545B4BE30E58D1248F244B4B7DAA2DA