diff --git a/reference/docs-conceptual/whats-new/What-s-New-in-PowerShell-76.md b/reference/docs-conceptual/whats-new/What-s-New-in-PowerShell-76.md index ddc84c6d9a19..1877370aef7b 100644 --- a/reference/docs-conceptual/whats-new/What-s-New-in-PowerShell-76.md +++ b/reference/docs-conceptual/whats-new/What-s-New-in-PowerShell-76.md @@ -1,25 +1,36 @@ --- title: What's New in PowerShell 7.6 description: New features and changes released in PowerShell 7.6 -ms.date: 02/18/2025 +ms.date: 03/26/2025 --- # What's New in PowerShell 7.6 -PowerShell 7.6-preview.3 includes the following features, updates, and breaking changes. PowerShell +PowerShell 7.6-preview.4 includes the following features, updates, and breaking changes. PowerShell 7.6 is built on .NET 9.0.101 GA release. For a complete list of changes, see the [CHANGELOG][04] in the GitHub repository. ## Updated modules -PowerShell 7.6-preview.3 includes the following updated modules: +PowerShell 7.6-preview.4 includes the following updated modules: - **Microsoft.PowerShell.PSResourceGet** v1.1.0 - **PSReadLine** v2.3.6 +- **Microsoft.PowerShell.ThreadJob** v2.2.0 +- **ThreadJob** v2.1.0 + +The **ThreadJob** was renamed to **Microsoft.PowerShell.ThreadJob** module. 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. ## Breaking Changes +- Fix `WildcardPattern.Escape` to escape lone backticks correctly ([#25211][25211]) (Thanks + @ArmaanMcleod!) +- Convert `-ChildPath` parameter to `string[]` for `Join-Path` cmdlet ([#24677][24677]) (Thanks + @ArmaanMcleod!) - Remove trailing space from event source name ([#24192][24192]) (Thanks @MartinGC94!) ## Tab completion improvements @@ -42,6 +53,34 @@ PowerShell 7.6-preview.3 includes the following updated modules: ([#24907][24907]) (Thanks @ArmaanMcleod!) - Add quote handling in `Verb`, `StrictModeVersion`, `Scope` and `PropertyType` Argument Completers with single helper method ([#24839][24839]) (Thanks @ArmaanMcleod!) +- Fix share completion with provider and spaces (#[19440][19440]) (Thanks @MartinGC94!) +- Improve variable type inference ([#19830][19830]) (Thanks @MartinGC94!) +- Add tooltips for hashtable key completions ([#17864][17864]) (Thanks @MartinGC94!) +- Fix type inference of parameters in classic functions ([#25172][25172]) (Thanks @MartinGC94!) +- Improve assignment type inference ([#21143][21143]) (Thanks @MartinGC94!) +- Exclude **OutVariable** assignments within the same `CommandAst` when inferring variables + ([#25224][25224]) (Thanks @MartinGC94!) +- Fix parameter completion when script requirements fail ([#17687][17687]) (Thanks @MartinGC94!) +- Improve the completion for attribute arguments ([#25129][25129]) (Thanks @MartinGC94!) +- Fix completion that relies on pseudobinding in script blocks ([#25122][25122]) (Thanks + @MartinGC94!) +- Don't complete duplicate command names ([#21113][21113]) (Thanks @MartinGC94!) +- Add completion for variables assigned by command redirection ([#25104][25104]) (Thanks + @MartinGC94!) +- Fix `TypeName.GetReflectionType()` to work when the `TypeName` instance represents a generic type + definition within a `GenericTypeName` ([#24985][24985]) +- Update variable/property assignment completion so it can fallback to type inference + ([#21134][21134]) (Thanks @MartinGC94!) +- Handle type inference for redirected commands ([#21131][21131]) (Thanks @MartinGC94!) +- Use `Get-Help` approach to find `about_*.help.txt` files with correct locale for completions + ([#24194][24194]) (Thanks @MartinGC94!) +- Fix completion of variables assigned inside Do loops ([#25076][25076]) (Thanks @MartinGC94!) +- Fix completion of provider paths when a path returns itself instead of its children + ([#24755][24755]) (Thanks @MartinGC94!) +- Enable completion of scoped variables without specifying scope ([#20340][20340]) (Thanks + @MartinGC94!) +- Fix issue with incomplete results when completing paths with wildcards in non-filesystem providers + ([#24757][24757]) (Thanks @MartinGC94!) ## Cmdlet improvements @@ -68,6 +107,22 @@ PowerShell 7.6-preview.3 includes the following updated modules: @ArmaanMcleod!) - Stringify **ErrorRecord** with empty exception message to empty string ([#24949][24949]) (Thanks @MatejKafka!) +- Add `PipelineStopToken` to `Cmdlet` which will be signaled when the pipeline is stopping + ([#24620][24620]) (Thanks @jborean93!) +- Fallback to AppLocker after `WldpCanExecuteFile` ([#24912][24912]) +- Move .NET method invocation logging to after the needed type conversion is done for method + arguments ([#25022][25022]) +- Fix infinite loop in variable type inference ([#25206][25206]) (Thanks @MartinGC94!) +- Remove the old fuzzy suggestion and fix the local script file name suggestion ([#25177][25177]) +- Make `SystemPolicy` public APIs visible but non-op on Unix platforms so that they can be included + in `PowerShellStandard.Library` ([#25051][25051]) +- Set standard handles explicitly when starting a process with `-NoNewWindow` ([#25061][25061]) +- Fix tooltip for variable expansion and include desc ([#25112][25112]) (Thanks @jborean93!) +- Allow empty prefix string in 'Import-Module -Prefix' to override default prefix in manifest + ([#20409][20409]) (Thanks @MartinGC94!) +- Use script filepath when completing relative paths for using statements ([#20017][20017]) (Thanks + @MartinGC94!) +- Allow DSC parsing through OS architecture translation layers ([#24852][24852]) (Thanks @bdeb1337!) ## Experimental features @@ -84,24 +139,56 @@ The following experimental features are included in PowerShell 7.6-preview.3: [03]: ../learn/experimental-features.md#psserializejsonlongenumasnumber [04]: https://github.com/PowerShell/PowerShell/blob/master/CHANGELOG/preview.md +[17687]: https://github.com/PowerShell/PowerShell/pull/17687 [17785]: https://github.com/PowerShell/PowerShell/pull/17785 +[17864]: https://github.com/PowerShell/PowerShell/pull/17864 [18019]: https://github.com/PowerShell/PowerShell/pull/18019 [18955]: https://github.com/PowerShell/PowerShell/pull/18955 +[19440]: https://github.com/PowerShell/PowerShell/pull/19440 +[19830]: https://github.com/PowerShell/PowerShell/pull/19830 +[20017]: https://github.com/PowerShell/PowerShell/pull/20017 [20330]: https://github.com/PowerShell/PowerShell/pull/20330 +[20340]: https://github.com/PowerShell/PowerShell/pull/20340 +[20409]: https://github.com/PowerShell/PowerShell/pull/20409 +[21113]: https://github.com/PowerShell/PowerShell/pull/21113 [21115]: https://github.com/PowerShell/PowerShell/pull/21115 [21117]: https://github.com/PowerShell/PowerShell/pull/21117 +[21131]: https://github.com/PowerShell/PowerShell/pull/21131 +[21134]: https://github.com/PowerShell/PowerShell/pull/21134 [21137]: https://github.com/PowerShell/PowerShell/pull/21137 +[21143]: https://github.com/PowerShell/PowerShell/pull/21143 [24192]: https://github.com/PowerShell/PowerShell/pull/24192 +[24194]: https://github.com/PowerShell/PowerShell/pull/24194 +[24620]: https://github.com/PowerShell/PowerShell/pull/24620 [24669]: https://github.com/PowerShell/PowerShell/pull/24669 +[24677]: https://github.com/PowerShell/PowerShell/pull/24677 [24711]: https://github.com/PowerShell/PowerShell/pull/24711 [24714]: https://github.com/PowerShell/PowerShell/pull/24714 [24747]: https://github.com/PowerShell/PowerShell/pull/24747 +[24755]: https://github.com/PowerShell/PowerShell/pull/24755 +[24757]: https://github.com/PowerShell/PowerShell/pull/24757 [24839]: https://github.com/PowerShell/PowerShell/pull/24839 +[24852]: https://github.com/PowerShell/PowerShell/pull/24852 [24879]: https://github.com/PowerShell/PowerShell/pull/24879 [24880]: https://github.com/PowerShell/PowerShell/pull/24880 [24907]: https://github.com/PowerShell/PowerShell/pull/24907 +[24912]: https://github.com/PowerShell/PowerShell/pull/24912 [24936]: https://github.com/PowerShell/PowerShell/pull/24936 [24949]: https://github.com/PowerShell/PowerShell/pull/24949 [24963]: https://github.com/PowerShell/PowerShell/pull/24963 [24971]: https://github.com/PowerShell/PowerShell/pull/24971 [24977]: https://github.com/PowerShell/PowerShell/pull/24977 +[24985]: https://github.com/PowerShell/PowerShell/pull/24985 +[25022]: https://github.com/PowerShell/PowerShell/pull/25022 +[25051]: https://github.com/PowerShell/PowerShell/pull/25051 +[25061]: https://github.com/PowerShell/PowerShell/pull/25061 +[25076]: https://github.com/PowerShell/PowerShell/pull/25076 +[25104]: https://github.com/PowerShell/PowerShell/pull/25104 +[25112]: https://github.com/PowerShell/PowerShell/pull/25112 +[25122]: https://github.com/PowerShell/PowerShell/pull/25122 +[25129]: https://github.com/PowerShell/PowerShell/pull/25129 +[25172]: https://github.com/PowerShell/PowerShell/pull/25172 +[25177]: https://github.com/PowerShell/PowerShell/pull/25177 +[25206]: https://github.com/PowerShell/PowerShell/pull/25206 +[25211]: https://github.com/PowerShell/PowerShell/pull/25211 +[25224]: https://github.com/PowerShell/PowerShell/pull/25224