7.6.0-preview.4
Breaking Changes
- Fix
WildcardPattern.Escape
to escape lone backticks correctly (#25211) (Thanks @ArmaanMcleod!) - Convert
-ChildPath
parameter tostring[]
forJoin-Path
cmdlet (#24677) (Thanks @ArmaanMcleod!)
PowerShell 7.6-preview.4 includes the following updated modules:
- Microsoft.PowerShell.ThreadJob v2.2.0
- ThreadJob v2.1.0
The ThreadJob module was renamed to Microsoft.PowerShell.ThreadJob. There is no difference
in the functionality of the module. To ensure backward compatibility for scripts that use the old
name, the ThreadJob v2.1.0 module is a proxy module that points to the
Microsoft.PowerShell.ThreadJob v2.2.0.
Engine Updates and Fixes
- Add
PipelineStopToken
toCmdlet
which will be signaled when the pipeline is stopping (#24620) (Thanks @jborean93!) - Fallback to AppLocker after
WldpCanExecuteFile
(#24912) - Move .NET method invocation logging to after the needed type conversion is done for method arguments (#25022)
- Fix share completion with provider and spaces (#19440) (Thanks @MartinGC94!)
General Cmdlet Updates and Fixes
- Exclude
-OutVariable
assignments within the sameCommandAst
when inferring variables (#25224) (Thanks @MartinGC94!) - Fix infinite loop in variable type inference (#25206) (Thanks @MartinGC94!)
- Update
Microsoft.PowerShell.PSResourceGet
version inPSGalleryModules.csproj
(#25135) - Add tooltips for hashtable key completions (#17864) (Thanks @MartinGC94!)
- Fix type inference of parameters in classic functions (#25172) (Thanks @MartinGC94!)
- Improve assignment type inference (#21143) (Thanks @MartinGC94!)
- Fix
TypeName.GetReflectionType()
to work when theTypeName
instance represents a generic type definition within aGenericTypeName
(#24985) - Remove the old fuzzy suggestion and fix the local script filename suggestion (#25177)
- Improve variable type inference (#19830) (Thanks @MartinGC94!)
- Fix parameter completion when script requirements fail (#17687) (Thanks @MartinGC94!)
- Improve the completion for attribute arguments (#25129) (Thanks @MartinGC94!)
- Fix completion that relies on pseudobinding in script blocks (#25122) (Thanks @MartinGC94!)
- Don't complete duplicate command names (#21113) (Thanks @MartinGC94!)
- Make
SystemPolicy
public APIs visible but non-op on Unix platforms so that they can be included inPowerShellStandard.Library
(#25051) - Set standard handles explicitly when starting a process with
-NoNewWindow
(#25061) - Fix tooltip for variable expansion and include desc (#25112) (Thanks @jborean93!)
- Add type inference for functions without OutputType attribute and anonymous functions (#21127) (Thanks @MartinGC94!)
- Add completion for variables assigned by command redirection (#25104) (Thanks @MartinGC94!)
- Handle type inference for redirected commands (#21131) (Thanks @MartinGC94!)
- Allow empty prefix string in
Import-Module -Prefix
to override default prefix in manifest (#20409) (Thanks @MartinGC94!) - Update variable/property assignment completion so it can fallback to type inference (#21134) (Thanks @MartinGC94!)
- Use
Get-Help
approach to findabout_*.help.txt
files with correct locale for completions (#24194) (Thanks @MartinGC94!) - Use script filepath when completing relative paths for using statements (#20017) (Thanks @MartinGC94!)
- Fix completion of variables assigned inside Do loops (#25076) (Thanks @MartinGC94!)
- Fix completion of provider paths when a path returns itself instead of its children (#24755) (Thanks @MartinGC94!)
- Enable completion of scoped variables without specifying scope (#20340) (Thanks @MartinGC94!)
- Fix issue with incomplete results when completing paths with wildcards in non-filesystem providers (#24757) (Thanks @MartinGC94!)
- Allow DSC parsing through OS architecture translation layers (#24852) (Thanks @bdeb1337!)
Code Cleanup
We thank the following contributors!
- Refactor and add comments to
CompletionRequiresQuotes
to clarify implementation (#25223) (Thanks @ArmaanMcleod!) - Add
QuoteCompletionText
method to CompletionHelpers class (#25180) (Thanks @ArmaanMcleod!) - Remove CompletionHelpers
escape
parameter fromCompletionRequiresQuotes
(#25178) (Thanks @ArmaanMcleod!) - Refactor CompletionHelpers
HandleDoubleAndSingleQuote
to have less nesting logic (#25179) (Thanks @ArmaanMcleod!) - Make the use of Oxford commas consistent (#25139)(#25140)(Thanks @pressRtowin!)
- Move common completion methods to CompletionHelpers class (#25138) (Thanks @ArmaanMcleod!)
- Return
Array.Empty
instead of collection[]
(#25137) (Thanks @ArmaanMcleod!)
Tools
- Check GH token availability for Get-Changelog (#25133)
Tests
- Add XUnit test for
HandleDoubleAndSingleQuote
in CompletionHelpers class (#25181) (Thanks @ArmaanMcleod!)
Build and Packaging Improvements
- Switch to ubuntu-lastest for CI (#25247)
- Update outdated package references (#25026)(#25232)
- Bump
Microsoft.PowerShell.ThreadJob
andThreadJob
modules (#25232) - Bump github/codeql-action from 3.27.9 to 3.28.13 (#25218)(#25231)
- Update .NET SDK to
10.0.100-preview.2
(#25154)(#25225) - Remove obsolete template from Windows Packaging CI (#25226)
- Bump actions/upload-artifact from 4.5.0 to 4.6.2 (#25220)
- Bump agrc/reminder-action from 1.0.15 to 1.0.16 (#25222)
- Bump actions/checkout from 2 to 4 (#25221)
- Add
NoWarn NU1605
to System.ServiceModel.* (#25219) - Bump actions/github-script from 6 to 7 (#25217)
- Bump ossf/scorecard-action from 2.4.0 to 2.4.1 (#25216)
- Bump super-linter/super-linter from 7.2.1 to 7.3.0 (#25215)
- Bump agrc/create-reminder-action from 1.1.16 to 1.1.17 (#25214)
- Remove dependabot updates that don't work (#25213)
- Update GitHub Actions to work in private GitHub repo (#25197)
- Cleanup old release pipelines (#25201)
- Update package pipeline windows image version (#25191)
- Skip additional packages when generating component manifest (#25102)
- Only build Linux for packaging changes (#25103)
- Remove Az module installs and AzureRM uninstalls in pipeline (#25118)
- Add GitHub Actions workflow to verify PR labels (#25145)
- Add back-port workflow using dotnet/arcade (#25106)
- Make Component Manifest Updater use neutral target in addition to RID target (#25094)
- Make sure the vPack pipeline does not produce an empty package (#24988)
Documentation and Help Content
SHA256 Hashes of the release artifacts
- hashes.sha256
- 0862EF2D140E21B81BE3D6CC138F6489745AC3C9B148D7204F88F0F24EE12E41
- powershell-7.6.0-preview.4-linux-arm32.tar.gz
- 3DFB4B1F9D4C6443448D3059492EE0E9CBED9F72A0B41958A88C47E9B86176A3
- powershell-7.6.0-preview.4-linux-arm64.tar.gz
- 2AE2254C75789B15AA032B06235CE240776BE55C7C3D0D72380583CF0D1816DD
- powershell-7.6.0-preview.4-linux-musl-x64.tar.gz
- 3B50F46AFECD8CF09C59166B5D69D6A0141D491E28CAFA6595E448FD7D51074C
- powershell-7.6.0-preview.4-linux-x64-fxdependent.tar.gz
- 4CFE5B189EDA4866B3D07E610A473C360D7B38E002C9F542E26CF0428E177AE0
- powershell-7.6.0-preview.4-linux-x64-musl-noopt-fxdependent.tar.gz
- 294ED80FD65A93966A041EED0580FC301BD2A856F9672D9D6936E9CEF8D6E917
- powershell-7.6.0-preview.4-linux-x64.tar.gz
- B1503865878CDEA0D884FDED06B3C59096E7C777457110990D2029793CE3B58B
- powershell-7.6.0-preview.4-osx-arm64.pkg
- 78065C18A070BFB0D16AA97C47E1A72060457E48D72AFA031389FC12A465E0D5
- powershell-7.6.0-preview.4-osx-arm64.tar.gz
- 72F0AD36BF6D29BFAE7E0E2862899BE04C2C6095EBE7BD4DFF2BF27B83A518D7
- powershell-7.6.0-preview.4-osx-x64.pkg
- 8C93097B6A9B1B27DB2F2A999FABF12DF9DAF9B226BC786E67B5819A213DA633
- powershell-7.6.0-preview.4-osx-x64.tar.gz
- 45D52B26032E543EC23230CF88B2CF5A55C32164714035DFE48DBAB2F4077532
- PowerShell-7.6.0-preview.4-win-arm64.exe
- 477794DA9994C5FF1460B4E341A3BDAE28C0BA683DEC75F1BEBC825EABE116F6
- PowerShell-7.6.0-preview.4-win-arm64.msi
- 4C2338CBAD59B525F79E9BF3E0042BF4EE03679096A1DDBD5D8CB8C7F857BDDB
- PowerShell-7.6.0-preview.4-win-arm64.zip
- 57C875B583801E3CA6208C8772471A7D913AA4C727E868A0B1A24BA16C43DFAF
- PowerShell-7.6.0-preview.4-win-fxdependent.zip
- 6BB5F609238C1C6B99745068653A3CBB4DF4A656DDC64A2775E7B3707DE5FE25
- PowerShell-7.6.0-preview.4-win-fxdependentWinDesktop.zip
- DCF9AFB48304E2E2D22F3FABA78800A86AB630FB0C8ED7CDA1869779B9255611
- PowerShell-7.6.0-preview.4-win-x64.exe
- 2F03028E87246732D8BB5E5F887992312C17815E90E93D1FB7FBB9055CB89DC1
- PowerShell-7.6.0-preview.4-win-x64.msi
- 844957E3954504D76926274FC606B849764FF5CD9712EBAA9BE639DB9CCD201E
- PowerShell-7.6.0-preview.4-win-x64.zip
- 385012237C108ECDFCD35DBDBB989194F56D8381F864EA69E4ECC8BD7215C6B4
- PowerShell-7.6.0-preview.4-win-x86.exe
- 852F91A5BA8570D8133F1282911D5F0B131FD7A4969A06AE5A100652077EA759
- PowerShell-7.6.0-preview.4-win-x86.msi
- 096C15CF2ECBC2303CC570BE88C601AEA84FBB394073B98014A28FEA8BEF8F4E
- PowerShell-7.6.0-preview.4-win-x86.zip
- FE9798670058404B3B2AD1E4B611DFC74BC3A12C7C4C9F2BFB4D46903C0ADA4F
- powershell-preview_7.6.0-preview.4-1.deb_amd64.deb
- DFD35446E7D31BF29C661EF1B0DBF4B37345D04BB45CF3527CB5C64BA452E832
- powershell-preview-7.6.0_preview.4-1.cm.aarch64.rpm
- 009D322CD6F0518ABD97472539A5904B1BCB0657291921674BEB05452BB8610A
- powershell-preview-7.6.0_preview.4-1.cm.x86_64.rpm
- 639BA823CF8413D22B4DF08CA5F4C8A613F0DBE30B21068F027DF89903FA767B
- powershell-preview-7.6.0_preview.4-1.rh.x86_64.rpm
- D8131422B3B1525C683F0B742B83A8472DF1504FD6AAA4A3B002C618A7D85F62