PowerShell v7.0.0-preview.1 Release Notes
Release Date: 2019-05-30 // almost 5 years ago-
v7.0.0-preview.1 - 05/30/2019
💥 Breaking Changes
- 🔒 Disable the debugger when in system lock-down mode (#9645)
- 🛠 Fix
Get-Module -FullyQualifiedName
option to work with paths (#9101) (Thanks @pougetat!) - 🛠 Fix
-NoEnumerate
behavior inWrite-Output
(#9069) (Thanks @vexx32!) - 👉 Make command searcher treat wildcard as literal if target exists for execution (#9202)
⚡️ Engine Updates and Fixes
- Port PowerShell to .NET Core 3.0 (#9597)
- 👉 Make sure we always return an object in command searcher (#9623)
- 👌 Support line continuance with pipe at the start of a line (#8938) (Thanks @KirkMunro!)
- ➕ Add support for
ValidateRangeKind
toParameterMetadata.GetProxyAttributeData
(#9059) (Thanks @indented-automation!) - 👍 Allow passing just a dash as an argument to a file via pwsh (#9479)
- 🛠 Fix tab completion for functions (#9383)
- ⬇️ Reduce string allocation in console output code (#6882) (Thanks @iSazonov!)
- 🛠 Fixing test run crash by not passing script block to the callback (#9298)
- ➕ Add Binary Parsing Support & Refactor
TryGetNumberValue
&ScanNumberHelper
(#7993) (Thanks @vexx32!) - ➕ Add PowerShell remoting enable/disable cmdlet warning messages (#9203)
- ➕ Add
xsd
forcdxml
(#9177) - 👌 Improve formatting performance by having better primitives on
PSObject
(#8785) (Thanks @powercode!) - 👌 Improve type inference of array literals and foreach statement variables (#8100) (Thanks @SeeminglyScience!)
- 🛠 Fix for
FormatTable
remote deserialization regression (#9116) - Get
MethodInfo
from .NET public type with explicit parameter types (#9029) (Thanks @iSazonov!) - ➕ Add retry logic to the operation that updates
powershell.config.json
(#8779) (Thanks @iSazonov!) - ⚡️ Update the task-based
async
APIs added to PowerShell to return a Task object directly (#9079) - ➕ Add 5
InvokeAsync
overloads andStopAsync
to thePowerShell
type (#8056) (Thanks @KirkMunro!) - ✂ Remove unused cached types (#9015)
⚡️ General Cmdlet Updates and Fixes
- 🛠 Fix use of unicode ellipsis in
XML
for truncating error messages (#9589) - 👌 Improve error message in FileSystemProvider when removing a folder containing hidden or read only files (#9551) (Thanks @iSazonov!)
- Enable recursion into
OneDrive
by not treating placeholders as symlinks (#9509) - 🔄 Change
MatchType
forEnumerationOptions
to beWin32
making this consistent with Windows PowerShell (#9529) - ➕ Add Support for null Usernames in Web Cmdlet Basic Auth (#9536) (Thanks @markekraus!)
- 🛠 Fix null reference when
Microsoft.PowerShell.Utility
is loaded as asnapin
in hosting scenarios (#9404) - ⚡️ Update width of
DateTime
to accommodate change in JapanDateTime
format with new era starting 5/1/19 (#9503) - 🛠 Fix
Get-Runspace
runspace object format Type column (#9438) - Return correct casing of filesystem path during normalization (#9250)
- 🚚 Move warning message to
EndProcessing
so it only shows up once (#9385) - 🛠 Fix the platform check in
CimDSCParser.cs
(#9338) - 🆕 New
New-PSBreakpoint
cmdlet & new-Breakpoint
parameter forDebug-Runspace
(#8923) - 🛠 Fix help paging issues on macOS/Linux and with custom pager that takes arguments (#9033) (Thanks @rkeithhill!)
- ➕ Add
QuoteFields
parameter toConvertTo-Csv
andExport-Csv
(#9132) (Thanks @iSazonov!) - 🛠 Fix progress for Get-ComputerInfo (#9236) (Thanks @powercode!)
- ➕ Add
ItemSeparator
andAltItemSeparator
properties inProviderInfo
(#8587) (Thanks @renehernandez!) - ➕ Add timestamp to
pshost
trace listener (#9230) - Implement
Get-Random -Count
without specifying anInputObject
list (#9111) (Thanks @pougetat!) - 🏁 Enable
SecureString
cmdlets for non-Windows (#9199) - ➕ Add Obsolete message to
Send-MailMessage
(#9178) - 🛠 Fix
Restart-Computer
to work onlocalhost
when WinRM is not present (#9160) - 👷 Make
Start-Job
throw terminating exception when-RunAs32
is specified in 64-bit pwsh (#9143) - 👷 Make
Start-Job
throw terminating error when PowerShell is being hosted (#9128) - Made
-Subject
parameter ofSend-MailMessage
command no longer mandatory. (#8961) (Thanks @ece-jacob-scott!) - ⚡️ Make
New-ModuleManifest
consistent withUpdate-ModuleManifest
(#9104) (Thanks @pougetat!) - ➕ Add support for empty
NoteProperty
inGroup-Object
(#9109) (Thanks @iSazonov!) - ✂ Remove
Hardlink
fromMode
property in default file system format (#8789) (Thanks @powercode!) - 🛠 Fixing issue with help progress with
Get-Help
not callingCompleted
(#8788) (Thanks @powercode!) - 👍 Allow
Test-ModuleManifest
to work whenRootModule
has no file extension (#8687) (Thanks @pougetat!) - ➕ Add
UseQuotes
parameter toExport-Csv
andConvertTo-Csv
cmdlets (#8951) (Thanks @iSazonov!) - ⚡️ Update version for
PowerShell.Native
and hosting tests (#8983) - 🔨 Refactor shuffle in
Get-Random
to save a full iteration of the objects. (#8969) (Thanks @st0le!) - Suggest
-Id pid
forGet-Process pid
(#8959) (Thanks @MohiTheFish!)
Code Cleanup
- 💅
Attributes.cs
- Style / Formatting Fixes (#9625) (Thanks @vexx32!) - ✂ Remove Workflow from
PSSessionType
(#9618) (Thanks @iSazonov!) - ⚡️ Update use of "PowerShell Core" to just "PowerShell" (#9513)
- 👉 Use
IPGlobalProperties
on all platforms for getting host name (#9530) (Thanks @iSazonov!) - ✂ Remove
IsSymLink()
P/Invoke on Unix (#9534) (Thanks @iSazonov!) - Cleanup unused P/Invokes on Unix (#9531) (Thanks @iSazonov!)
- ⚡️ Update use of
Windows PowerShell
to justPowerShell
(#9508) - Cleanup: sort
usings
(#9490) (Thanks @iSazonov!) - Cleanup
Export-Command
fromAssemblyInfo
(#9455) (Thanks @iSazonov!) - ⚙ Run CodeFormatter for
System.Management.Automation
(#9402) (Thanks @iSazonov!) - ⚙ Run CodeFormatter with
BraceNewLine
,UsingLocation
,FormatDocument
,NewLineAbove
rules (#9393) (Thanks @iSazonov!) - ⚙ Run CodeFormatter for
WSMan.Management
(#9400) (Thanks @iSazonov!) - ⚙ Run CodeFormatter for
WSMan.Runtime
(#9401) (Thanks @iSazonov!) - 🔒 Run CodeFormatter for
Security
module (#9399) (Thanks @iSazonov!) - ⚙ Run CodeFormatter for
MarkdownRender
(#9398) (Thanks @iSazonov!) - ⚙ Run CodeFormatter for
Eventing
(#9394) (Thanks @iSazonov!) - 👉 Use
Environment.NewLine
for new lines inConsoleHost
code (#9392) (Thanks @iSazonov!) - ⚙ Run CodeFormatter for Diagnostics module (#9378) (Thanks @iSazonov!)
- ⚙ Run CodeFormatter for
Microsoft.PowerShell.Commands.Management
(#9377) (Thanks @iSazonov!) - ⚙ Run CodeFormatter for Utility module (#9376) (Thanks @iSazonov!)
- 💅 Style: Match file name casings of C# source files for Utility commands (#9329) (Thanks @ThreeFive-O!)
- ⚡️ Update repo for Ubuntu 14.04 EOL (#9324)
- Cleanup: sort
usings
(#9283) (Thanks @iSazonov!) - 🛠 Fix StyleCop Hungarian Notation (#9281) (Thanks @iSazonov!)
- 💅 Style: Update StyleCop rules (#8500)
- ✨ Enhance the P/Invoke code for
LookupAccountSid
inProcess.cs
(#9197) (Thanks @iSazonov!) - 🛠 Fix coding style for
NewModuleManifestCommand
(#9134) (Thanks @pougetat!) - ✂ Remove unused method
CredUIPromptForCredential
fromHostUtilities.cs
(#9220) (Thanks @iSazonov!) - ✂ Remove non-existent paths from
.csproj
files (#9214) (Thanks @ThreeFive-O!) - Typo in new parameter set (#9205)
- Minor
FileSystemProvider
cleanup (#9182) (Thanks @RDIL!) - 💅 Cleanup style issues in
CoreAdapter
andMshObject
(#9190) (Thanks @iSazonov!) - Minor cleanups in
Process.cs
(#9195) (Thanks @iSazonov!) - 🔨 Refactor
ReadConsole
P/Invoke inConsoleHost
(#9165) (Thanks @iSazonov!) - Clean up
Get-Random
cmdlet (#9133) (Thanks @pougetat!) - 🛠 Fix to not pass
StringBuilder
by reference (out
orref
) in P/Invoke (#9066) (Thanks @iSazonov!) - ⚡️ Update AppVeyor comments in
Implicit.Remoting.Tests.ps1
(#9020) (Thanks @RDIL!) - ✂ Remove AppImage from tools (#9100) (Thanks @Geweldig!)
- ⚠ Using supported syntax for restoring warnings - Visual Studio 2019 complains about enable. (#9107) (Thanks @powercode!)
- 👉 Use
Type.EmptyTypes
andArray.Empty<T>()
to replace our custom code of the same functionality (#9042) (Thanks @iSazonov!) - 📇 Rename private methods in
MshCommandRuntime.cs
(#9074) (Thanks @vexx32!) - 💅 Cleanup & update
ErrorRecord
class code style (#9021) (Thanks @vexx32!) - ✂ Remove unused cached types from
CachedReflectionInfo
(#9019) (Thanks @iSazonov!) - 🛠 Fix CodeFactor brace style issues in
FileSystemProvider
(#8992) (Thanks @RDIL!) - ⚡️ Use
List.AddRange
to optimize-Split
(#9001) (Thanks @iSazonov!) - ✂ Remove Arch Linux Dockerfile (#8990) (Thanks @RDIL!)
- Cleanup
dllimport
(#8847) (Thanks @iSazonov!)
Tools
- Convert custom attribute
ValidatePathNotInSettings
to function (#9406) - Create
DependaBot
config.yml
(#9368) - ➕ Add more users to failures detection and fix alias for static analysis (#9292)
- 🏁 Make
install-powershell.ps1
work on Windows Server 2012 R2 (#9271) - ✅ Enable
PoshChan
for getting and automatic retrieval of test failures for a PR (#9232) - 🛠 Fix capitalization cases for
PoshChan
(#9188) (Thanks @RDIL!) - ⚡️ Update to new format for
PoshChan
settings and allow all users access to reminders (#9198) - 🛠 Fix settings to use dashes instead of underscore (#9167)
- 🛠 Fix
AzDevOps
context names and add all PowerShell team members (#9164) - ➕ Add settings for
PoshChan
(#9162) - ➕ Adding
CmdletsToExport
andAliasesToExport
to test module manifests. (#9108) (Thanks @powercode!) - ✂ Delete Docker manifest creation script (#9076) (Thanks @RDIL!)
- 👉 Make install scripts more consistent over different operating systems (#9071) (Thanks @Geweldig!)
- 🚀 Comment cleanup in
releaseTools.psm1
(#9064) (Thanks @RDIL!) - 🛠 Fix duplicate recommendation of Azure DevOps extension for Visual Studio Code (#9032) (Thanks @ThreeFive-O!)
- Code coverage artifacts (#8993)
✅ Tests
- 🚀 Update version tests to use
NextReleaseVersion
frommetadata.json
(#9646) - 🏁 Convert Windows CI to stages (#9607)
- ✅ Multiple test fixes and improved logging for fragile tests (#9569)
- ➕ Add unit and feature tests for
Send-MailMessage
(#9213) (Thanks @ThreeFive-O!) - ⚡️ Update to Pester
4.8.0
(#9510) - ✅ Ensure
Wait-UntilTrue
returns$true
in Pester tests (#9458) (Thanks @xtqqczze!) - ➕ Adding tests for
Remove-Module
(#9276) (Thanks @pougetat!) - 👍 Allow CI to run on branches with this name pattern:
feature*
(#9415) - 🍎 Mark tests in macOS CI which use
AppleScript
as pending/inconclusive (#9352) - ⬇️ Reduce time for stack overflow test (#9302)
- ➕ Added more tests for
Import-Alias
by file regarding parsing difficult aliases strings (#9247) (Thanks @SytzeAndr!) - 🚚 Move from
npm
toYarn
for markdown tests (#9312) (Thanks @RDIL!) - ✅ Only search for functions in Constrained Language help tests (#9301)
- 🛠 Fix skipping of tests in
RemoteSession.Basic.Tests.ps1
(#9304) - 🏁 Make sure non-Windows CI fails when a test fails (#9303)
- ⚡️ Update tests to account for when
$PSHOME
is read only (#9279) - ➕ Add tests for command globbing (#9180)
- 🛠 Fix tab completion test to handle multiple matches (#8891)
- 🔨 Refactor macOS CI so that tests run in parallel (#9056)
- 🛠 Fix
Enter-PSHostProcess
tests flakiness (#9007) - ➕ Add source for
Install-Package
to installnetDumbster
(#9081) - 💅 Style fixes for
Select-Xml
tests (#9037) (Thanks @ThreeFive-O!) - 👷 Enable cross-platform
Send-MailMessage
tests for CI (#8859) (Thanks @ThreeFive-O!) - ➕ Added
RequireSudoOnUnix
tags toPowerShellGet
tests and remove pending parameter (#8954) (Thanks @RDIL!) - 💅 Style fixes for
ConvertTo-Xml
tests (#9036) (Thanks @ThreeFive-O!) - ✅ Align name schemes for test files (#9034) (Thanks @ThreeFive-O!)
- ✅ Pending
NamedPipeConnectionInfo
test (#9003) (Thanks @iSazonov!) - ➕ Add test for
-WhatIf
forNew-FileCatalog
(#8966) (Thanks @mjanko5!)
🏗 Build and Packaging Improvements
- 🛠 Fix the PowerShell version number in MSI packages (Internal 8547)
- ➕ Add cleanup before building test package (Internal 8529)
- ⚡️ Update version for SDK tests and
Microsoft.PowerShell.Native
package (Internal 8512) - ⚡️ Update the target framework for reference assemblies to
netcoreapp3.0
(Internal 8510) - 🛠 Fix syncing modules from PowerShell gallery by normalizing version numbers (Internal 8504)
- ➕ Add
tsaVersion
property asTsaV1
for compliance build phase (#9176) - ➕ Add ability to cross compile (#9374)
- ➕ Add
AcessToken
variable to jobs that perform signing (#9351) - ➕ Add CI for
install-powershell.sh
and Amazon Linux (#9314) - ➕ Add component detection to all jobs (#8964)
- ➕ Add Preview assets for
MSIX
(#9375) - ➕ Add secret scanning to CI (#9249)
- 🍎 Build test packages for
windows
,linux-x64
,linux-arm
,linux-arm64
andmacOS
(#9476) - ⬆️ Bump
gulp
from4.0.0
to4.0.2
(#9441, #9544) - ⬆️ Bump
Markdig.Signed
from0.15.7
to0.17.0
(#8981, #9579) - ⬆️ Bump
Microsoft.CodeAnalysis.CSharp
from2.10.0
to3.1.0
(#9277, 9653) - ⬆️ Bump
Microsoft.PowerShell.Native
from6.2.0-rc.1
to6.2.0
(#9200) - ⬆️ Bump
Microsoft.Windows.Compatibility
from2.0.1
to2.1.1
(#9605) - ⬆️ Bump
Newtonsoft.Json
from12.0.1
to12.0.2
(#9431, #9434) - ⬆️ Bump
NJsonSchema
from9.13.19
to9.14.1
(#9044, #9136, #9166, #9172, #9184, #9196, #9265, #9349, #9388, #9421, #9429, #9478, #9523, #9616) - ⬆️ Bump
PackageManagement
from1.3.1
to1.4
(#9567, #9650) - ⬆️ Bump
PowerShellGet
from2.0.4
to2.1.4
in /src/Modules (#9110, #9145, #9600, #9691) - ⬆️ Bump
PSReadLine
from2.0.0-beta3
to2.0.0-beta4
(#9554) - ⬆️ Bump
SelfSignedCertificate
(#9055) - ⬆️ Bump
System.Data.SqlClient
from4.6.0
to4.6.1
(#9601) - ⬆️ Bump
System.Net.Http.WinHttpHandler
from4.5.2
to4.5.3
(#9333) - ⬆️ Bump
Microsoft.PowerShell.Archive
from1.2.2.0
to1.2.3.0
(#9593) - ✅ Check to be sure that the test result file has actual results before uploading (#9253)
- Clean up static analysis config (#9113) (Thanks @RDIL!)
- 🏁 Create
codecoverage
and test packages for non-Windows (#9373) - 🚀 Create test package for macOS on release builds (#9344)
- 🍎 Disable Homebrew analytics in macOS Azure DevOps builds (#9130) (Thanks @RDIL!)
- 🏗 Enable building of
MSIX
package (#9289) - 🐧 Enable building on Kali Linux (#9471)
- 🛠 Fix artifact Download issue in release build (#9095)
- 🛠 Fix build order in
windows-daily
build (#9275) - 🛠 Fix dependencies of NuGet build to wait on
DEB
uploads to finish (#9118) - 🛠 Fix
MSI
Upgrade failure for preview builds (#9013) - 🛠 Fix publishing daily
nupkg
to MyGet (#9269) - 🛠 Fix the failed test and update
Publish-TestResults
to make Azure DevOps fail the task when any tests failed (#9457) - 🛠 Fix variable name in
windows-daily.yml
(#9274) - 🛠 Fixed Dockerfile syntax highlighting (#8991) (Thanks @RDIL!)
- 🏗 Make
CodeCoverage
configuration build portable symbol files (#9346) - 🐧 Make Linux CI parallel (#9209)
- 🚚 Move artifacts to artifact staging directory before uploading (#9273)
- 🚀 Performance improvements for release build (#9179)
- ⬆️ Preserve user shortcuts pinned to TaskBar during MSI upgrade (#9305) (Thanks @bergmeister!)
- 📦 Publish global tool packages to
pwshtool
blob and bug fixes (#9163) - 🚀 Publish test package on release builds (#9063)
- 🏁 Publish windows daily build to MyGet (#9288)
- ✂ Remove appveyor references from packaging tools (#9117) (Thanks @RDIL!)
- ✂ Remove code from
CI.psm1
to optionally run Feature tests (#9212) (Thanks @RDIL!) - ✂ Remove duplicate
PoliCheck
task and pin to specific version (#9297) - 🏗 Run
Start-PSBootStrap
in Code Coverage build to install .NET SDK (#9690) - 🍱 Switch from
BMP
toPNG
for graphicalMSI
installer assets (#9606) - ✅ Translate Skipped the test results into something Azure DevOps does NOT understand (#9124)
- ⚡️ Update Markdown test dependencies (#9075) (Thanks @RDIL!)
- ⚡️ Update UML to represent SDK and Global tool builds (#8997)
- 📦 Use IL assemblies for NuGet packages to reduce size (#9171)
📚 Documentation and Help Content
- ➕ Add checkbox to PR checklist for experimental feature use (#9619) (Thanks @KirkMunro!)
- ⚡️ Updating committee membership (#9577) (Thanks @HemantMahawar!)
- ⚡️ Update
CODEOWNERS
file to reduce noise (#9547) - ➕ add download link to
raspbian64
to readme (#9520) - ⚡️ Update
Support_Question.md
(#9218) (Thanks @vexx32!) - 🛠 Fix version of
PowerShellGet
in changelog (#9335) - 🚀 Update release process template to clarify that most tasks are coordinated by the release pipeline (#9238)
- 🛠 Fix several problems in
WritingPesterTests
guideline (#9078) (Thanks @ThreeFive-O!) - ⚡️ Update
ChangeLog
for6.2.0
(#9245) - ⚡️ Update docs for
v6.2.0
(#9229) - ⚡️ Update
feature-request
issue template to move instructions into comments. (#9187) (Thanks @mklement0!) - ⚡️ Update link to Contributing guide to new
PowerShell-Doc
repo (#9090) (Thanks @iSazonov!) - Correct punctuation in
README.md
(#9045) (Thanks @yashrajbharti!) - ⚡️ Update Docker
README.md
(#9010) (Thanks @RDIL!) - 🚀 Update release process issue template (#9051) (Thanks @RDIL!)
- 📚 Documentation Cleanup (#8851) (Thanks @RDIL!)
- 🚀 Update docs for
6.2.0-rc.1
release (#9022) - 🚀 Update release template (#8996)
🚀 SHA256 Hashes of the release artifacts
- 🐧 powershell-7.0.0-preview.1-linux-alpine-x64.tar.gz
- 83B1FC5B4D1EEF1EF3A0AC9EE0CF3D78981C558BD356D81D81BF10D4FAE4BF7D
- 🐧 powershell-7.0.0-preview.1-linux-arm32.tar.gz
- 16512976CFB277748AD7B8424C3CD095F2F1649C983D12AED517762D664B94DE
- 🐧 powershell-7.0.0-preview.1-linux-arm64.tar.gz
- 13A6BBB129AE31B1841719A01C848FD44FC79DCAE1F468474406E00BD0EB7525
- 🐧 powershell-7.0.0-preview.1-linux-x64.tar.gz
- BE470E89647E82428F6FDEC65BBBE6DBCD85464D5386C3E6911D27D9BD5407AF
- 🐧 powershell-7.0.0-preview.1-linux-x64-fxdependent.tar.gz
- 6EFF76839A890D3357D15D951DB374B50FEF7AB9A2C313B9500D17CB504CB4CF
- powershell-7.0.0-preview.1-osx-x64.pkg
- 00F0E255D22AE7E05D498D1CA8596D2EB5C7E4567620F12E934B1E4D4DF15599
- powershell-7.0.0-preview.1-osx-x64.tar.gz
- 480D64537C95DBF162B429AE06AC91A3CD254910DDA3F6C953AAAD27CB77109C
- PowerShell-7.0.0-preview.1-win-arm32.zip
- A46CB51F445FAC4067C71AE42389153ED7656E772818EB97C7CD8321E3F8A6F4
- PowerShell-7.0.0-preview.1-win-arm64.zip
- B07EF60A4B2764DA1EAE27B5A536A59F5012A3BFB75E9AEE79E136828F6920D1
- PowerShell-7.0.0-preview.1-win-fxdependent.zip
- 4D1BB0012AF8C710505541297FC14E1DC8A8FCABBFA9F27BE3F580E375DFAF5A
- PowerShell-7.0.0-preview.1-win-x64.msi
- D4B6D58B0BFA791E3D613BEC89062579E58951EA07EEDAA54038F317EBBBAD0A
- PowerShell-7.0.0-preview.1-win-x64.zip
- D3A8926C19B264A1A6CC8F983B04A2C1E70F78EEA8054E00D45ABD216F7907C7
- PowerShell-7.0.0-preview.1-win-x86.msi
- 5543E6DF6126AC6DDA24F6B3B3F7343ACE7492329548F5CE2D6277A57D2301D1
- PowerShell-7.0.0-preview.1-win-x86.zip
- CD85B682FE39B30F74DDE9AE0FEF8E6AE33EE68006E14098DCEB53347FDA7B8D
- powershell-preview_7.0.0-preview.1-1.debian.9_amd64.deb
- 28EC27B3A490BDF7D536B545730A40357E607907426E42FE37E176B08230DBFE
- powershell-preview_7.0.0-preview.1-1.ubuntu.16.04_amd64.deb
- 3232132BB713577A6ABF794A5F5829C7C79BF23C7B24C2F1179E8970DEBB5230
- powershell-preview_7.0.0-preview.1-1.ubuntu.18.04_amd64.deb
- E6D43889D42127682F9248B30C8FF0D394D4C8C3B9758A19FCF04F713E9EF5B4
- powershell-preview-7.0.0_preview.1-1.rhel.7.x86_64.rpm
- 79290804A512340EB09975FC171EBB98167627CF43B265E1456CF6B1E8BEA48D