Skip to content

Tags: PowerShell/PowerShell

Tags

v7.4.0-preview.4

Toggle commit message
* [7.4.0-preview.4] - 2023-06-29
      *** Breaking Changes

- `Test-Json`: Use `JsonSchema.Net` (`System.Text.Json`) instead of `NJsonSchema` (`Newtonsoft.Json`) (#18141) (Thanks @gregsdennis!)
- `Test-Connection`: Increase output detail when performing a TCP test (#11452) (Thanks @jackdcasey!)

*** Engine Updates and Fixes

- Fix native executables not redirecting to file (#19842)
- Add a new experimental feature to control native argument passing style on Windows (#18706)
- Fix `TabExpansion2` variable leak when completing variables (#18763) (Thanks @MartinGC94!)
- Enable completion of variables across ScriptBlock scopes (#19819) (Thanks @MartinGC94!)
- Fix completion of the `foreach` statement variable (#19814) (Thanks @MartinGC94!)
- Fix variable type inference precedence (#18691) (Thanks @MartinGC94!)
- Fix member completion for PowerShell Enum class (#19740) (Thanks @MartinGC94!)
- Fix parsing for array literals in index expressions in method calls (#19224) (Thanks @MartinGC94!)
- Fix incorrect string to type conversion (#19560) (Thanks @MartinGC94!)
- Fix slow execution when many breakpoints are used (#14953) (Thanks @nohwnd!)
- Add a public API for getting locations of `PSModulePath` elements (#19422)
- Add WDAC Audit logging (#19641)
- Improve path completion (#19489) (Thanks @MartinGC94!)
- Fix an indexing out of bound error in `CompleteInput` for empty script input (#19501) (Thanks @MartinGC94!)
- Improve variable completion performance (#19595) (Thanks @MartinGC94!)
- Allow partial culture matching in `Update-Help` (#18037) (Thanks @dkaszews!)
- Fix the check when reading input in `NativeCommandProcessor` (#19614)
- Add support of respecting `$PSStyle.OutputRendering` on the remote host (#19601)
- Support byte stream piping between native commands and file redirection (#17857)

*** General Cmdlet Updates and Fixes

- Disallow negative values for `Get-Content` cmdlet parameters `-Head` and `-Tail`  (#19715) (Thanks @CarloToso!)
- Make `Update-Help` throw proper error when current culture is not associated with a language (#19765) (Thanks @josea!)
- Do not require activity when creating a completed progress record (#18474) (Thanks @MartinGC94!)
- WebCmdlets: Add alias for `-TimeoutSec` to `-ConnectionTimeoutSeconds` and add `-OperationTimeoutSeconds` (#19558) (Thanks @stevenebutler!)
- Avoid checking screen scraping on non-Windows platforms before launching native app (#19812)
- Add reference to PSResourceGet (#19597)
- Add `FileNameStar` to `MultipartFileContent` in WebCmdlets (#19467) (Thanks @CarloToso!)
- Add `ParameterSetName` for the `-Detailed` parameter of `Test-Connection` (#19727)
- Remove the property disabling optimization (#19701)
- Filter completion for enum parameter against `ValidateRange` attributes (#17750) (Thanks @fflaten!)
- Small cleanup `Invoke-RestMethod` (#19490) (Thanks @CarloToso!)
- Fix wildcard globbing in root of device paths (#19442) (Thanks @MartinGC94!)
- Add specific error message that creating Junctions requires absolute path (#19409)
- Fix array type parsing in generic types (#19205) (Thanks @MartinGC94!)
- Improve the verbose message of WebCmdlets to show correct HTTP version (#19616) (Thanks @CarloToso!)
- Fix HTTP status from 409 to 429 for WebCmdlets to get retry interval from Retry-After header. (#19622) (Thanks @mkht!)
- Remove minor versions from `PSCompatibleVersions` (#18635) (Thanks @xtqqczze!)
- Update `JsonSchema.Net` version to 4.1.0 (#19610) (Thanks @gregsdennis!)
- Allow combining of `-Skip` and `-SkipLast` parameters in `Select-Object` cmdlet. (#18849) (Thanks @ArmaanMcleod!)
- Fix constructing `PSModulePath` if a sub-path has trailing separator (#13147)
- Add `Get-SecureRandom` cmdlet (#19587)
- Fix `New-Item` to re-create `Junction` when `-Force` is specified (#18311) (Thanks @GigaScratch!)
- Improve Hashtable key completion for type constrained variable assignments, nested Hashtables and more (#17660) (Thanks @MartinGC94!)
- `Set-Clipboard -AsOSC52` for remote usage (#18222) (Thanks @dkaszews!)
- Refactor `MUIFileSearcher.AddFiles` in the help related code (#18825) (Thanks @xtqqczze!)
- Set `SetLastError` to `true` for symbolic and hard link native APIs (#19566)
- Fix `Get-AuthenticodeSignature -Content` to not roundtrip the bytes to a Unicode string and then back to bytes (#18774) (Thanks @jborean93!)
- WebCmdlets: Rename `-TimeoutSec` to `-ConnectionTimeoutSeconds` (with alias) and add `-OperationTimeoutSeconds` (#19558) (Thanks @stevenebutler!)

*** Code Cleanup

<details>

<summary>

<p>We thank the following contributors!</p>
<p>@eltociear, @ArmaanMcleod, @turbedi, @CarloToso, @Molkree, @xtqqczze</p>

</summary>

<ul>
<li>Fix typo in <code>NativeCommandProcessor.cs</code> (#19846) (Thanks @eltociear!)</li>
<li>Rename file from <code>PingPathCommand.cs</code> to <code>TestPathCommand.cs</code> (#19782) (Thanks @ArmaanMcleod!)</li>
<li>Make use of the new <code>Random.Shared</code> property (#18417) (Thanks @turbedi!)</li>
<li>six files (#19695) (Thanks @CarloToso!)</li>
<li>Apply IDE0019: <code>InlineAsTypeCheck</code> in Microsoft.PowerShell.Commands (#19688)(#19690)(#19687)(#19689) (Thanks @Molkree!)</li>
<li>Remove <code>PSv2CompletionCompleter</code> as part of the PowerShell v2 code cleanup (#18337) (Thanks @xtqqczze!)</li>
<li>Enable more nullable annotations in WebCmdlets (#19359) (Thanks @CarloToso!)</li>
</ul>

</details>

*** Tools

- Add Git mailmap for Andy Jordan (#19469)
- Add backport function to release tools (#19568)

*** Tests

- Improve reliability of the `Ctrl+c` tests for WebCmdlets (#19532) (Thanks @stevenebutler!)
- Fix logic for `Import-CliXml` test (#19805)
- Add some debugging to the transcript test for `SilentlyContinue` (#19770)
- Re-enable `Get-ComputerInfo` pending tests (#19746)
- Update syslog parser to handle modern formats. (#19737)
- Pass `-UserScope` as required by `RunUpdateHelpTests` (#13400) (Thanks @yecril71pl!)
- Change how `isPreview` is determined for default cmdlets tests (#19650)
- Skip file signature tests on 2012R2 where PKI cmdlet do not work (#19643)
- Change logic for testing missing or extra cmdlets. (#19635)
- Fix incorrect test cases in `ExecutionPolicy.Tests.ps1` (#19485) (Thanks @xtqqczze!)
- Fixing structure typo in test setup (#17458) (Thanks @powercode!)
- Fix test failures on Windows for time zone and remoting (#19466)
- Harden test for All approved Cmdlets present (#19530)

*** Build and Packaging Improvements

<details>

<summary>
<p>Updated to .NET 8 Preview 4
<p>We thank the following contributors!</p>
<p>@krishnayalavarthi</p>

</summary>

<ul>
<li>Update to the latest NOTICES file (#19537)(#19820)(#19784)(#19720)(#19644)(#19620)(#19605)(#19546)</li>
<li>Bump Microsoft.NET.Test.Sdk from 17.5.0 to 17.6.3 (#19867)(#19762)(#19733)(#19668)(#19613)</li>
<li>Update the cgmanifest (#19847)(#19800)(#19792)(#19776)(#19763)(#19697)(#19631)</li>
<li>Bump StyleCop.Analyzers from 1.2.0-beta.406 to 1.2.0-beta.507 (#19837)</li>
<li>Bump Microsoft.CodeAnalysis.CSharp from 4.6.0-1.final to 4.7.0-2.final (#19838)(#19667)</li>
<li>Update to .NET 8 Preview 4 (#19696)</li>
<li>Update experimental-feature json files (#19828)</li>
<li>Bump JsonSchema.Net from 4.1.1 to 4.1.5 (#19790)(#19768)(#19788)</li>
<li>Update group to assign PRs in <code>fabricbot.json</code> (#19759)</li>
<li>Add retry on failure for all upload tasks in Azure Pipelines (#19761)</li>
<li>Bump Microsoft.PowerShell.MarkdownRender from 7.2.0 to 7.2.1 (#19751)(#19752)</li>
<li>Delete symbols on Linux as well (#19735)</li>
<li>Update <code>windows.json</code> packaging BOM (#19728)</li>
<li>Disable SBOM signing for CI and add extra files for packaging tests (#19729)</li>
<li>Update experimental-feature json files (#19698(#19588))</li>
<li>Add ProductCode in registry for MSI install (#19590)</li>
<li>Runas format changed (#15434) (Thanks @krishnayalavarthi!)</li>
<li>For Preview releases, add <code>pwsh-preview.exe</code> alias to MSIX package (#19602)</li>
<li>Add prompt to fix conflict during backport (#19583)</li>
<li>Add comment in wix detailing use of <code>UseMU</code> (#19371)</li>
<li>Verify that packages have license data (#19543)</li>
<li>Add an explicit manual stage for changelog update (#19551)</li>
<li>Update the team member list in <code>releaseTools.psm1</code> (#19544)</li>
</ul>

</details>

*** Documentation and Help Content

- Update `metadata.json` and `README.md` for upcoming releases (#19863)(#19542)
- Update message to use the actual parameter name (#19851)
- Update `CONTRIBUTING.md` to include Code of Conduct enforcement (#19810)
- Update `working-group-definitions.md` (#19809)(#19561)
- Update `working-group.md` to add section about reporting working group members (#19758)
- Correct capitalization in readme (#19666) (Thanks @Aishat452!)
- Updated the public dashboard link (#19634)
- Fix a typo in `serialization.cs` (#19598) (Thanks @eltociear!)

[7.4.0-preview.4]: v7.4.0-preview.3...v7.4.0-preview.4

v7.3.5

Toggle commit message
** [7.3.5] - 2023-06-27
      *** Build and Packaging Improvements

<details>

<summary>

<p>Bump to use .NET 7.0.305</p>

</summary>

<ul>
<li>Update the ThirdPartyNotice (Internal 26372)</li>
<li>Add PoolNames variable group to compliance pipeline (#19408)</li>
<li>Update cgmanifest.json</li>
<li>Update to .NET 7.0.304 (#19807)</li>
<li>Disable SBOM signing for CI and add extra files for packaging tests (#19729)</li>
<li>Increase timeout to make subsystem tests more reliable (#18380)</li>
<li>Increase the timeout when waiting for the event log (#19264)</li>
<li>Implement <code>IDisposable</code> in <code>NamedPipeClient</code> (#18341) (Thanks @xtqqczze!)</li>
<li>Always regenerate files wxs fragment (#19196)</li>
<li>Bump <code>Microsoft.PowerShell.MarkdownRender</code> (#19751)</li>
<li>Delete symbols on Linux as well (#19735)</li>
<li>Add prompt to fix conflict during backport (#19583)</li>
<li>Add backport function to release tools (#19568)</li>
<li>Add an explicit manual stage for changelog update (#19551)</li>
<li>Update the team member list in <code>releaseTools.psm1</code> (#19544)</li>
<li>Verify that packages have license data (#19543)</li>
<li>Fix the regex used for package name check in <code>vPack</code> build (#19511)</li>
<li>Make the vPack PAT library more obvious (#19505)</li>
<li>Update the metadata.json to mark 7.3 releases as latest for stable channel (#19565)</li>
</ul>

</details>

[7.3.5]: v7.3.4...v7.3.5

v7.2.12

Toggle commit message
** [7.2.12] - 2023-06-27
      *** Build and Packaging Improvements

<details>

<summary>

<p>Bump .NET version to 6.0.411</p>

</summary>

<ul>
<li>Disable SBOM signing for CI and add extra files for packaging tests (#19729)</li>
<li>Update ThirdPartyNotices (Internal 26349)</li>
<li>Update the cgmanifest</li>
<li>Add PoolNames variable group to compliance pipeline (#19408)</li>
<li>Add tool to trigger license information gathering for NuGet modules (#18827)</li>
<li>Update to .NET 6.0.410 (#19798)</li>
<li>Always regenerate files wxs fragment (#19803)</li>
<li>Add prompt to fix conflict during backport (#19583)</li>
<li>Add backport function to release tools (#19568)</li>
<li>Do not remove <code>penimc_cor3.dll</code> from build (#18438)</li>
<li>Remove unnecessary native dependencies from the package (#18213)</li>
<li>Delete symbols on Linux as well (#19735)</li>
<li>Bump <code>Microsoft.PowerShell.MarkdownRender</code> (#19751)</li>
<li>Backport compliance changes  (#19719)</li>
<li>Delete charset regex test (#19585)</li>
<li>Fix issue with merge of 19068 (#19586)</li>
<li>Update the team member list in <code>releaseTools.psm1</code> (#19574)</li>
<li>Verify that packages have license data (#19543) (#19575)</li>
<li>Update experimental-feature.json (#19581)</li>
<li>Fix the regex used for package name check in <code>vPack</code> build (#19573)</li>
<li>Make the vPack PAT library more obvious (#19572)</li>
<li>Add an explicit manual stage for changelog update (#19551) (#19567)</li>
</ul>

</details>

[7.2.12]: v7.2.11...v7.2.12

v7.4.0-preview.3

Toggle commit message
[7.4.0-preview.3] - 2023-04-20
      * Breaking Changes

- Remove code related to `#requires -pssnapin` (#19320)

* Engine Updates and Fixes

- Change the arrow used in feedback suggestion to a more common Unicode character (#19534)
- Support trigger registration in feedback provider (#19525)
- Update the `ICommandPredictor` interface to reduce boilerplate code from predictor implementation (#19414)
- Fix a crash in the type inference code (#19400) (Thanks @MartinGC94!)

* Performance

- Speed up `Resolve-Path` relative path resolution (#19171) (Thanks @MartinGC94!)

* General Cmdlet Updates and Fixes

- Infer external application output as strings (#19193) (Thanks @MartinGC94!)
- Fix a race condition in `Add-Type` (#19471)
- Detect insecure `https-to-http` redirect only if both URIs are absolute (#19468) (Thanks @CarloToso!)
- Support `Ctrl+c` when connection hangs while reading data in WebCmdlets (#19330) (Thanks @stevenebutler!)
- Enable type conversion of `AutomationNull` to `$null` for assignment (#19415)
- Add the parameter `-Environment` to `Start-Process` (#19374)
- Add the parameter `-RelativeBasePath` to `Resolve-Path` (#19358) (Thanks @MartinGC94!)
- Exclude redundant parameter aliases from completion results (#19382) (Thanks @MartinGC94!)
- Allow using a folder path in WebCmdlets' `-OutFile` parameter (#19007) (Thanks @CarloToso!)

* Code Cleanup

<details>

<summary>

<p>We thank the following contributors!</p>
<p>@eltociear, @CarloToso</p>

</summary>

<ul>
<li>Fix typo in <code>typeDataXmlLoader.cs</code> (#19319) (Thanks @eltociear!)</li>
<li>Fix typo in <code>Compiler.cs</code> (#19491) (Thanks @eltociear!)</li>
<li>Inline the <code>GetResponseObject</code> method (#19380) (Thanks @CarloToso!)</li>
<li>Simplify <code>ContentHelper</code> methods (#19367) (Thanks @CarloToso!)</li>
<li>Initialize regex lazily in <code>BasicHtmlWebResponseObject</code> (#19361) (Thanks @CarloToso!)</li>
<li>Fix codefactor issue in if-statement (part 5) (#19286) (Thanks @CarloToso!)</li>
<li>Add nullable annotations in <code>WebRequestSession.cs</code> (#19291) (Thanks @CarloToso!)</li>
</ul>

</details>

* Tests

- Harden the default command test (#19416)
- Skip VT100 tests on Windows Server 2012R2 as console does not support it (#19413)
- Improve package management acceptance tests by not going to the gallery (#19412)

* Build and Packaging Improvements

<details>

<summary>

<p>We thank the following contributors!</p>
<p>@dkattan</p>

</summary>

<ul>
<li>Fixing MSI checkbox (#19325)</li>
<li>Update the experimental feature JSON files (#19297)</li>
<li>Update the cgmanifest (#19459, #19465)</li>
<li>Update .NET SDK version to <code>8.0.100-preview.3.23178.7</code> (#19381)</li>
<li>Force updating the transitive dependency on <code>Microsoft.CSharp</code> (#19514)</li>
<li>Update <code>DotnetRuntimeMetadata.json</code> to consume the .NET 8.0.0-preview.3 release (#19529)</li>
<li>Move PSGallery sync to a pool (#19523)</li>
<li>Fix the regex used for package name check in vPack build (#19511)</li>
<li>Make the vPack PAT library more obvious (#19505)</li>
<li>Change <code>Microsoft.CodeAnalysis.CSharp</code> back to 4.5.0 (#19464) (Thanks @dkattan!)</li>
<li>Update to the latest NOTICES file (#19332)</li>
<li>Add <code>PoolNames</code> variable group to compliance pipeline (#19408)</li>
<li>Fix stage dependencies and typo in release build (#19353)</li>
<li>Fix issues in release build and release pipeline (#19338)</li>
</ul>

</details>

[7.4.0-preview.3]: v7.4.0-preview.2...v7.4.0-preview.3

v7.3.4

Toggle commit message
[7.3.4] - 2023-04-12
      * Engine Updates and Fixes

- Add instrumentation to `AmsiUtil` and make the `init` variable readonly (#18727)
- Fix support for `NanoServer` due to the lack of AMSI (#18882)
- Adding missing guard for telemetry optout to avoid `NullReferenceException` when importing modules (#18949) (Thanks @powercode!)
- Fix `VtSubstring` helper method to correctly check chars copied (#19240)
- Fix `ConciseView` to handle custom `ParserError` error records (#19239)

* Build and Packaging Improvements

<details>

<summary>
<p>Bump to use .NET 7.0.5</p>
</summary>

<ul>
<li>Update ThirdPartyNotices.txt</li>
<li>Update cgmanifest.json</li>
<li>Fix the template that creates nuget package</li>
<li>Update the wix file</li>
<li>Update to .NET SDK 7.0.203</li>
<li>Skip VT100 tests on Windows Server 2012R2 as console does not support it (#19413)</li>
<li>Improve package management acceptance tests by not going to the gallery (#19412)</li>
<li>Fix stage dependencies and typo in release build (#19353)</li>
<li>Fix issues in release build and release pipeline (#19338)</li>
<li>Restructure the package build to simplify signing and packaging stages (#19321)</li>
<li>Test fixes for stabilizing tests (#19068)</li>
<li>Add stage for symbols job in Release build (#18937)</li>
<li>Use reference assemblies generated by dotnet (#19302)</li>
<li>Add URL for all distributions (#19159)</li>
</ul>

</details>

[7.3.4]: v7.3.3...v7.3.4

v7.2.11

Toggle commit message
[7.2.11] - 2023-04-12
      * Build and Packaging Improvements

<details>

<summary>
<p>Bump .NET version to 6.0.16</p>
</summary>

<ul>
<li>Update ThirdPartyNotices.txt</li>
<li>Update cgmanifest.json</li>
<li>Fix the template that creates nuget package</li>
<li>Update the wix file</li>
<li>Update .NET SDK to 6.0.408</li>
<li>Fix the build script and signing template</li>
<li>Fix stage dependencies and typo in release build (#19353)</li>
<li>Fix issues in release build and release pipeline (#19338)</li>
<li>Restructure the package build to simplify signing and packaging stages (#19321)</li>
<li>Skip VT100 tests on Windows Server 2012R2 as console does not support it (#19413)</li>
<li>Improve package management acceptance tests by not going to the gallery (#19412)</li>
<li>Test fixes for stabilizing tests (#19068)</li>
<li>Add stage for symbols job in Release build (#18937)</li>
<li>Use reference assemblies generated by dotnet (#19302)</li>
<li>Add URL for all distributions (#19159)</li>
<li>Update release pipeline to use Approvals and automate some manual tasks (#17837)</li>
</ul>

</details>

[7.2.11]: v7.2.10...v7.2.11

v7.4.0-preview.2

Toggle commit message
* [7.4.0-preview.2] - 2023-03-14
      *** Breaking Changes
- Update some PowerShell APIs to throw `ArgumentException` instead of `ArgumentNullException` when the argument is an empty string (#19215) (Thanks @xtqqczze!)

- Add the parameter `-ProgressAction` to the common parameters (#18887)

*** Engine Updates and Fixes
- Fix `PlainText` output to correctly remove the `Reset` VT sequence without number (#19283)

- Fix `ConciseView` to handle custom `ParserError` error records (#19239)
- Fix `VtSubstring` helper method to correctly check characters copied (#19240)
- Update the `FeedbackProvider` interface to return structured data (#19133)
- Make the exception error in PowerShell able to associate with the right history entry (#19095)
- Fix for JEA session leaking functions (#19024)
- Add WDAC events and system lockdown notification (#18893)
- Fix support for nanoserver due to lack of AMSI (#18882)

*** Performance
- Use interpolated strings (#19002)(#19003)(#18977)(#18980)(#18996)(#18979)(#18997)(#18978)(#18983)(#18992)(#18993)(#18985)(#18988) (Thanks @CarloToso!)

*** General Cmdlet Updates and Fixes
- Fix completion for `PSCustomObject` variable properties (#18682) (Thanks @MartinGC94!)
- Improve type inference for `Get-Random` (#18972) (Thanks @MartinGC94!)
- Make `-Encoding` parameter able to take `ANSI` encoding in PowerShell (#19298) (Thanks @CarloToso!)
- Telemetry improvements for tracking experimental feature opt out (#18762)
- Support HTTP persistent connections in Web Cmdlets (#19249) (Thanks @stevenebutler!)
- Fix using xml `-Body` in webcmdlets without an encoding (#19281) (Thanks @CarloToso!)
- Add the `Statement` property to `$MyInvocation` (#19027) (Thanks @IISResetMe!)

- Fix `Start-Process` `-Wait` with `-Credential` (#19096) (Thanks @jborean93!)
- Adjust `PUT` method behavior to `POST` one for default content type in WebCmdlets (#19152) (Thanks @CarloToso!)
- Improve verbose message in web cmdlets when content length is unknown (#19252) (Thanks @CarloToso!)
- Preserve `WebSession.MaximumRedirection` from changes (#19190) (Thanks @CarloToso!)
- Take into account `ContentType` from Headers in WebCmdlets (#19227) (Thanks @CarloToso!)
- Use C# 11 UTF-8 string literals (#19243) (Thanks @turbedi!)
- Add property assignment completion for enums (#19178) (Thanks @MartinGC94!)
- Fix class member completion for classes with base types (#19179) (Thanks @MartinGC94!)
- Add `-Path` and `-LiteralPath` parameters to `Test-Json` cmdlet (#19042) (Thanks @ArmaanMcleod!)
- Allow to preserve the original HTTP method by adding `-PreserveHttpMethodOnRedirect` to Web cmdlets (#18894) (Thanks @CarloToso!)
- Webcmdlets display an error on https to http redirect (#18595) (Thanks @CarloToso!)
- Build the relative URI for links from the response in `Invoke-WebRequest` (#19092) (Thanks @CarloToso!)
- Fix redirection for `-CustomMethod` `POST` in WebCmdlets (#19111) (Thanks @CarloToso!)
- Dispose previous response in Webcmdlets (#19117) (Thanks @CarloToso!)
- Improve `Invoke-WebRequest` xml and json errors format (#18837) (Thanks @CarloToso!)
- Fix error formatting to remove the unneeded leading newline for concise view (#19080)
- Add `-NoHeader` parameter to `ConvertTo-Csv` and `Export-Csv` cmdlets (#19108) (Thanks @ArmaanMcleod!)
- Fix `Start-Process -Credential -Wait` to work on Windows (#19082)
- Add `ValidateNotNullOrEmpty` to `OutFile` and `InFile` parameters of WebCmdlets (#19044) (Thanks @CarloToso!)
- Correct spelling of "custom" in event (#19059) (Thanks @spaette!)

- Ignore expected error for file systems not supporting alternate streams (#19065)
- Adding missing guard for telemetry opt out to avoid `NullReferenceException` when importing modules (#18949) (Thanks @powercode!)
- Fix progress calculation divide by zero in Copy-Item (#19038)
- Add progress to `Copy-Item` (#18735)
- WebCmdlets parse XML declaration to get encoding value, if present. (#18748) (Thanks @CarloToso!)
- `HttpKnownHeaderNames` update headers list  (#18947) (Thanks @CarloToso!)
- Fix bug with managing redirection and `KeepAuthorization` in Web cmdlets (#18902) (Thanks @CarloToso!)
- Fix `Get-Error` to work with strict mode (#18895)
- Add `AllowInsecureRedirect` switch to Web cmdlets (#18546) (Thanks @CarloToso!)
- `Invoke-RestMethod` `-FollowRelLink` fix links containing commas (#18829) (Thanks @CarloToso!)
- Prioritize the default parameter set when completing positional arguments (#18755) (Thanks @MartinGC94!)

- Add `-CommandWithArgs` parameter to pwsh (#18726)
- Enable creating composite subsystem implementation in modules (#18888)
- Fix `Format-Table -RepeatHeader` for property derived tables (#18870)
- Add `StatusCode` to `HttpResponseException` (#18842) (Thanks @CarloToso!)
- Fix type inference for all scope variables (#18758) (Thanks @MartinGC94!)
- Add completion for Using keywords (#16514) (Thanks @MartinGC94!)

*** Code Cleanup
<details>
<summary>
<p>We thank the following contributors!</p>
<p>@CarloToso, @iSazonov, @xtqqczze, @turbedi, @syntax-tm, @eltociear, @ArmaanMcleod</p>
</summary>
<ul>
<li>Small cleanup in the WebCmdlet code (#19299) (Thanks @CarloToso!)</li>
<li>Remove unused GUID detection code from console host (#18871) (Thanks @iSazonov!)</li>
<li>Fix <code>CodeFactor</code> issues in the code base - part 4 (#19270) (Thanks @CarloToso!)</li>
<li>Fix codefactor if part 3 (#19269) (Thanks @CarloToso!)</li>
<li>Fix codefactor if part 2 (#19267) (Thanks @CarloToso!)</li>
<li>Fix codefactor if part 1 (#19266) (Thanks @CarloToso!)</li>
<li>Remove comment and simplify condition in WebCmdlets (#19251) (Thanks @CarloToso!)</li>
<li>Small style changes (#19241) (Thanks @CarloToso!)</li>
<li>Use <code>ArgumentException.ThrowIfNullOrEmpty</code> as appropriate [part 1] (#19215) (Thanks @xtqqczze!)</li>
<li>Use <code>using</code> variable to reduce the nested level (#19229) (Thanks @CarloToso!)</li>
<li>Use <code>ArgumentException.ThrowIfNullOrEmpty()</code> in more places (#19213) (Thanks @CarloToso!)</li>
<li>Replace <code>BitConverter.ToString</code> with <code>Convert.ToHexString</code> where appropriate (#19216) (Thanks @turbedi!)</li>
<li>Replace <code>Requires.NotNullOrEmpty(string)</code> with <code>ArgumentException.ThrowIfNullOrEmpty</code> (#19197) (Thanks @xtqqczze!)</li>
<li>Use <code>ArgumentOutOfRangeException.ThrowIfNegativeOrZero</code> when applicable (#19201) (Thanks @xtqqczze!)</li>
<li>Use <code>CallerArgumentExpression</code> on <code>Requires.NotNull</code> (#19200) (Thanks @xtqqczze!)</li>
<li>Revert a few change to not use 'ArgumentNullException.ThrowIfNull' (#19151)</li>
<li>Corrected some minor spelling mistakes (#19176) (Thanks @syntax-tm!)</li>
<li>Fix a typo in <code>InitialSessionState.cs</code> (#19177) (Thanks @eltociear!)</li>
<li>Fix a typo in <code>pwsh</code> help content (#19153)</li>
<li>Revert comment changes in <code>WebRequestPSCmdlet.Common.cs</code> (#19136) (Thanks @CarloToso!)</li>
<li>Small cleanup webcmdlets (#19128) (Thanks @CarloToso!)</li>
<li>Merge partials in <code>WebRequestPSCmdlet.Common.cs</code> (#19126) (Thanks @CarloToso!)</li>
<li>Cleanup WebCmdlets comments (#19124) (Thanks @CarloToso!)</li>
<li>Added minor readability and refactoring fixes to <code>Process.cs</code> (#19123) (Thanks @ArmaanMcleod!)</li>
<li>Small changes in Webcmdlets (#19109) (Thanks @CarloToso!)</li>
<li>Rework <code>SetRequestContent</code> in WebCmdlets (#18964) (Thanks @CarloToso!)</li>
<li>Small cleanup WebCmdlets (#19030) (Thanks @CarloToso!)</li>
<li>Update additional interpolated string changes (#19029)</li>
<li>Revert some of the interpolated string changes (#19018)</li>
<li>Cleanup <code>StreamHelper.cs</code>, <code>WebRequestPSCmdlet.Common.cs</code> and <code>InvokeRestMethodCommand.Common.cs</code> (#18950) (Thanks @CarloToso!)</li>
<li>Small cleanup common code of webcmdlets (#18946) (Thanks @CarloToso!)</li>
<li>Simplification of <code>GetHttpMethod</code> and <code>HttpMethod</code> in WebCmdlets (#18846) (Thanks @CarloToso!)</li>
<li>Fix typo in <code>ModuleCmdletBase.cs</code> (#18933) (Thanks @eltociear!)</li>
<li>Fix regression in <code>RemoveNulls</code> (#18881) (Thanks @iSazonov!)</li>
<li>Replace all <code>NotNull</code> with <code>ArgumentNullException.ThrowIfNull</code> (#18820) (Thanks @CarloToso!)</li>
<li>Cleanup <code>InvokeRestMethodCommand.Common.cs</code> (#18861) (Thanks @CarloToso!)</li>
</ul>
</details>

*** Tools
- Add a Mariner install script (#19294)

- Add tool to trigger license information gathering for NuGet modules (#18827)

*** Tests
- Update and enable the test for the type of `$input` (#18968) (Thanks @MartinGC94!)
- Increase the timeout for creating the `WebListener` (#19268)
- Increase the timeout when waiting for the event log (#19264)
- Add Windows ARM64 CI (#19040)
- Change test so output does not include newline (#19026)
- Allow system lock down test debug hook to work with new WLDP API (#18962)
- Add tests for `Allowinsecureredirect` parameter in Web cmdlets (#18939) (Thanks @CarloToso!)
- Enable `get-help` pattern tests on Unix (#18855) (Thanks @xtqqczze!)
- Create test to check if WebCmdlets decompress brotli-encoded data (#18905) (Thanks @CarloToso!)

*** Build and Packaging Improvements
<details>
<summary>
<p>We thank the following contributors!</p>
<p>@pwshBot, @bergmeister, @xtqqczze</p>
</summary>
<ul>
<li>Restructure the package build to simplify signing and packaging stages (#19321)</li>
<li>Bump <code>Microsoft.CodeAnalysis.CSharp</code> from <code>4.4.0</code> to <code>4.6.0-2.23152.6</code> (#19306)(#19233)</li>
<li>Test fixes for stabilizing tests (#19068)</li>
<li>Bump <code>Newtonsoft.Json</code> from <code>13.0.2</code> to <code>13.0.3</code> (#19290)(#19289)</li>
<li>Fix mariner sudo detection (#19304)</li>
<li>Add stage for symbols job in Release build (#18937)</li>
<li>Bump .NET to Preview 2 version (#19305)</li>
<li>Move workflows that create PRs to private repo (#19276)</li>
<li>Use reference assemblies generated by dotnet (#19302)</li>
<li>Update the cgmanifest (#18814)(#19165)(#19296)</li>
<li>Always regenerate files WXS fragment (#19196)</li>
<li>MSI installer: Add checkbox and MSI property DISABLE_TELEMETRY to optionally disable telemetry. (#10725) (Thanks @bergmeister!)</li>
<li>Add <code>-Force</code> to <code>Move-Item</code> to fix the GitHub workflow (#19262)</li>
<li>Update and remove outdated docs to fix the URL link checks (#19261)</li>
<li>Bump <code>Markdig.Signed</code> from <code>0.30.4</code> to <code>0.31.0</code> (#19232)</li>
<li>Add pattern to replace for reference API generation (#19214)</li>
<li>Split test artifact build into windows and non-windows (#19199)</li>
<li>Set <code>LangVersion</code> compiler option to <code>11.0</code> (#18877) (Thanks @xtqqczze!)</li>
<li>Update to .NET 8 preview 1 build (#19194)</li>
<li>Simplify Windows Packaging CI Trigger YAML (#19160)</li>
<li>Bump <code>Microsoft.NET.Test.Sdk</code> from <code>17.4.0</code> to <code>17.5.0</code> (#18823)(#19191)</li>
<li>Add URL for all distributions (#19159)</li>
<li>Bump <code>Microsoft.Extensions.ObjectPool</code> from <code>7.0.1</code> to <code>7.0.3</code> (#18925)(#19155)</li>
<li>Add verification of R2R at packaging (#19129)</li>
<li>Allow cross compiling windows (#19119)</li>
<li>Update CodeQL build agent (#19113)</li>
<li>Bump <code>XunitXml.TestLogger</code> from <code>3.0.70</code> to <code>3.0.78</code> (#19066)</li>
<li>Bump <code>Microsoft.CodeAnalysis.Analyzers</code> from <code>3.3.3</code> to <code>3.3.4</code> (#18975)</li>
<li>Bump <code>BenchmarkDotNet</code> to <code>0.13.3</code> (#18878) (Thanks @xtqqczze!)</li>
<li>Bump <code>Microsoft.PowerShell.Native</code> from <code>7.4.0-preview.1</code> to <code>7.4.0-preview.2</code> (#18910)</li>
<li>Add checks for Windows 8.1 and Server 2012 in the MSI installer (#18904)</li>
<li>Update build to include <code>WinForms</code> / <code>WPF</code> in all Windows builds (#18859)</li>
</ul>
</details>

*** Documentation and Help Content
- Update to the latest NOTICES file (#19169)(#19309)(#19086)(#19077)
- Update supported distros in Readme (#18667) (Thanks @techguy16!)
- Remove the 'Code Coverage Status' badge (#19265)
- Pull in change logs for `v7.2.10` and `v7.3.3` releases (#19219)
- Update tools `metadata` and `README` (#18831)(#19204)(#19014)
- Update a broken link in the `README.md` (#19187)
- Fix typos in comments (#19064) (Thanks @spaette!)
- Add `7.2` and `7.3` change logs (#19025)
- typos (#19058) (Thanks @spaette!)
- Fix typo in `dotnet-tools/README.md` (#19021) (Thanks @spaette!)
- Fix up all comments to be in the proper order with proper spacing (#18619)
- Change log for `v7.4.0-preview.1` release (#18835)

[7.4.0-preview.2]: v7.4.0-preview.1...v7.4.0-preview.2

v7.3.3

Toggle commit message
* [7.3.3] - 2023-02-23
      * Build and Packaging Improvements
<details>
<summary>
<p>Bump to use .NET 7.0.3</p>
</summary>
<ul>
<li>Update third party notices for v7.3.3 (Internal 24353)</li>
<li>Add tool to trigger license information gathering for NuGet modules (#18827)</li>
<li>Update global.json to 7.0.200 for v7.3.3 (Internal 24334)</li>
<li>Update cgmanifest for v7.3.3 (Internal 24338)</li>
</ul>
</details>
[7.3.3]: v7.3.2...v7.3.3

v7.2.10

Toggle commit message
* [7.2.10] - 2023-02-23
      * Build and Packaging Improvements

<details>

<summary>

<p>Bump .NET version to 6.0.14</p>

</summary>

<ul>
<li>Fixed package names verification to support multi-digit versions (#17220)</li>
<li>Add pipeline secrets (from #17837) (Internal 24413)</li>
<li>Update to azCopy 10 (#18509)</li>
<li>Update third party notices for v7.2.10 (Internal 24346)</li>
<li>Update cgmanifest for v7.2.10 (Internal 24333)</li>
<li>Pull latest patches for 7.2.10 dependencies (Internal 24325)</li>
<li>Update SDK to 6.0.406 for v7.2.10 (Internal 24324)</li>
<li>Add test for framework dependent package in release pipeline (#18506) (#19114)</li>
<li>Mark 7.2.x releases as latest LTS but not latest stable (#19069)</li>
</ul>

</details>

[7.2.10]: v7.2.9...v7.2.10

v7.3.2

Toggle commit message
** [7.3.2] - 2023-01-24
      *** Engine Updates and Fixes

- Fix `SuspiciousContentChecker.Match` to detect a pre-defined string when the text starts with it (#18916)
- Fix for JEA session leaking functions (Internal 23820)

*** General Cmdlet Updates and Fixes

- Fix `Start-Job` to check the existence of working directory using the PowerShell way (#18917)
- Fix `Switch-Process` error to include the command that is not found (#18650)

*** Tests

- Allow system lock down test debug hook to work with new `WLDP` API (fixes system lock down tests) (#18962)

*** Build and Packaging Improvements

<details>

<summary>

<p>Bump to use .NET 7.0.2</p>

</summary>

<ul>
<li>Update dependencies for .NET release (Internal 23818)</li>
<li>Remove unnecessary reference to <code>System.Runtime.CompilerServices.Unsafe</code> (#18918)</li>
<li>Add bootstrap after SBOM task to re-install .NET (#18891)</li>
</ul>

</details>

[7.3.2]: v7.3.1...v7.3.2