Skip to content

Tags: MartinGC94/PowerShell

Tags

v7.2.0-preview.2

Toggle v7.2.0-preview.2's commit message
* [7.2.0-preview.2] - 2020-12-15

* Breaking Changes

- Improve detection of mutable value types (PowerShell#12495) (Thanks @vexx32!)
- Ensure `-PipelineVariable` is set for all output from script cmdlets (PowerShell#12766) (Thanks @vexx32!)

* Experimental Features

- `PSAnsiRendering`: Enable ANSI formatting via `$PSStyle` and support suppressing ANSI output (PowerShell#13758)

* Performance

- Optimize `IEnumerable` variant of replace operator (PowerShell#14221) (Thanks @iSazonov!)
- Refactor multiply operation for better performance in two `Microsoft.PowerShell.Commands.Utility` methods (PowerShell#14148) (Thanks @xtqqczze!)
- Use `Environment.TickCount64` instead of `Datetime.Now` as the random seed for AppLocker test file content (PowerShell#14283) (Thanks @iSazonov!)
- Avoid unnecessary array allocations when searching in GAC (PowerShell#14291) (Thanks @xtqqczze!)
- Use `OrdinalIgnoreCase` in `CommandLineParser` (PowerShell#14303) (Thanks @iSazonov!)
- Use `StringComparison.Ordinal` instead of `StringComparison.CurrentCulture` (PowerShell#14298) (Thanks @iSazonov!)
- Avoid creating instances of the generated delegate helper class in `-replace` implementation (PowerShell#14128)

* General Cmdlet Updates and Fixes

- Write better error message if config file is broken (PowerShell#13496) (Thanks @iSazonov!)
- Make AppLocker Enforce mode take precedence over UMCI Audit mode (PowerShell#14353)
- Add `-SkipLimitCheck` switch to `Import-PowerShellDataFile` (PowerShell#13672)
- Restrict `New-Object` in NoLanguage mode under lock down (PowerShell#14140) (Thanks @krishnayalavarthi!)
- The `-Stream` parameter now works with directories (PowerShell#13941) (Thanks @kyanha!)
- Avoid an exception if file system does not support reparse points (PowerShell#13634) (Thanks @iSazonov!)
- Enable `CA1012`: Abstract types should not have public constructors (PowerShell#13940) (Thanks @xtqqczze!)
- Enable `SA1212`: Property accessors should follow order (PowerShell#14051) (Thanks @xtqqczze!)

* Code Cleanup

<details>

<summary>

<p>We thank the following contributors!</p>
<p>@xtqqczze, @matthewjdegarmo, @powercode, @Gimly</p>

</summary>

<ul>
<li>Enable <code>SA1007</code>: Operator keyword should be followed by space (PowerShell#14130) (Thanks @xtqqczze!)</li>
<li>Expand <code>where</code> alias to <code>Where-Object</code> in <code>Reset-PWSHSystemPath.ps1</code> (PowerShell#14113) (Thanks @matthewjdegarmo!)</li>
<li>Fix whitespace issues (PowerShell#14092) (Thanks @xtqqczze!)</li>
<li>Add <code>StyleCop.Analyzers</code> package (PowerShell#13963) (Thanks @xtqqczze!)</li>
<li>Enable <code>IDE0041</code>: <code>UseIsNullCheck</code> (PowerShell#14041) (Thanks @xtqqczze!)</li>
<li>Enable <code>IDE0082</code>: <code>ConvertTypeOfToNameOf</code> (PowerShell#14042) (Thanks @xtqqczze!)</li>
<li>Remove unnecessary usings part 4 (PowerShell#14023) (Thanks @xtqqczze!)</li>
<li>Fix <code>PriorityAttribute</code> name (PowerShell#14094) (Thanks @xtqqczze!)</li>
<li>Enable nullable: <code>System.Management.Automation.Interpreter.IBoxableInstruction</code> (PowerShell#14165) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Management.Automation.Provider.IDynamicPropertyProvider</code> (PowerShell#14167) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Management.Automation.Language.IScriptExtent</code> (PowerShell#14179) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Management.Automation.Language.ICustomAstVisitor2</code> (PowerShell#14192) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Management.Automation.LanguagePrimitives.IConversionData</code> (PowerShell#14187) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Automation.Remoting.Client.IWSManNativeApiFacade</code> (PowerShell#14186) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Management.Automation.Language.ISupportsAssignment</code> (PowerShell#14180) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Management.Automation.ICommandRuntime2</code> (PowerShell#14183) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Management.Automation.IOutputProcessingState</code> (PowerShell#14175) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Management.Automation.IJobDebugger</code> (PowerShell#14174) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Management.Automation.Interpreter.IInstructionProvider</code> (PowerShell#14173) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Management.Automation.IHasSessionStateEntryVisibility</code> (PowerShell#14169) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Management.Automation.Tracing.IEtwEventCorrelator</code> (PowerShell#14168) (Thanks @powercode!)</li>
<li>Fix syntax error in Windows packaging script (PowerShell#14377)</li>
<li>Remove redundant local assignment in <code>AclCommands</code> (PowerShell#14358) (Thanks @xtqqczze!)</li>
<li>Enable nullable: <code>System.Management.Automation.Language.IAstPostVisitHandler</code> (PowerShell#14164) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Management.Automation.IModuleAssemblyInitializer</code> (PowerShell#14158) (Thanks @powercode!)</li>
<li>Use <code>Microsoft.PowerShell.MarkdownRender</code> package from <code>nuget.org</code> (PowerShell#14090)</li>
<li>Replace <code>GetFiles</code> in <code>TestModuleManifestCommand</code> (PowerShell#14317) (Thanks @xtqqczze!)</li>
<li>Enable nullable: <code>System.Management.Automation.Provider.IContentWriter</code> (PowerShell#14152) (Thanks @powercode!)</li>
<li>Simplify getting Encoding in <code>TranscriptionOption.FlushContentToDisk</code> (PowerShell#13910) (Thanks @Gimly!)</li>
<li>Mark applicable structs as <code>readonly</code> and use <code>in</code>-modifier (PowerShell#13919) (Thanks @xtqqczze!)</li>
<li>Enable nullable: <code>System.Management.Automation.IArgumentCompleter</code> (PowerShell#14182) (Thanks @powercode!)</li>
<li>Enable <code>CA1822</code>: Mark <code>private</code> members as <code>static</code> (PowerShell#13897) (Thanks @xtqqczze!)</li>
<li>Fix <code>IDE0090</code>: Simplify <code>new</code> expression part 6 (PowerShell#14338) (Thanks @xtqqczze!)</li>
<li>Avoid array allocations from <code>GetDirectories</code>/<code>GetFiles</code>. (PowerShell#14328) (Thanks @xtqqczze!)</li>
<li>Avoid array allocations from <code>GetDirectories</code>/<code>GetFiles</code>. (PowerShell#14330) (Thanks @xtqqczze!)</li>
<li>Fix <code>RCS1188</code>: Remove redundant auto-property initialization part 2 (PowerShell#14262) (Thanks @xtqqczze!)</li>
<li>Enable nullable: <code>System.Management.Automation.Host.IHostSupportsInteractiveSession</code> (PowerShell#14170) (Thanks @powercode!)</li>
<li>Enable nullable: <code>System.Management.Automation.Provider.IPropertyCmdletProvider</code> (PowerShell#14176) (Thanks @powercode!)</li>
<li>Fix <code>IDE0090</code>: Simplify new expression part 5 (PowerShell#14301) (Thanks @xtqqczze!)</li>
<li>Enable <code>IDE0075</code>: <code>SimplifyConditionalExpression</code> (PowerShell#14078) (Thanks @xtqqczze!)</li>
<li>Remove unnecessary usings part 9 (PowerShell#14288) (Thanks @xtqqczze!)</li>
<li>Fix StyleCop and MarkdownLint CI failures (PowerShell#14297) (Thanks @xtqqczze!)</li>
<li>Enable <code>SA1000</code>: Keywords should be spaced correctly (PowerShell#13973) (Thanks @xtqqczze!)</li>
<li>Fix <code>RCS1188</code>: Remove redundant auto-property initialization part 1 (PowerShell#14261) (Thanks @xtqqczze!)</li>
<li>Mark <code>private</code> members as <code>static</code> part 10 (PowerShell#14235) (Thanks @xtqqczze!)</li>
<li>Mark <code>private</code> members as <code>static</code> part 9 (PowerShell#14234) (Thanks @xtqqczze!)</li>
<li>Fix <code>SA1642</code> for <code>Microsoft.Management.Infrastructure.CimCmdlets</code> (PowerShell#14239) (Thanks @xtqqczze!)</li>
<li>Use <code>AsSpan</code>/<code>AsMemory</code> slice constructor (PowerShell#14265) (Thanks @xtqqczze!)</li>
<li>Fix <code>IDE0090</code>: Simplify <code>new</code> expression part 4.6 (PowerShell#14260) (Thanks @xtqqczze!)</li>
<li>Fix <code>IDE0090</code>: Simplify <code>new</code> expression part 4.5 (PowerShell#14259) (Thanks @xtqqczze!)</li>
<li>Fix <code>IDE0090</code>: Simplify <code>new</code> expression part 4.3 (PowerShell#14257) (Thanks @xtqqczze!)</li>
<li>Fix <code>IDE0090</code>: Simplify <code>new</code> expression part 4.2 (PowerShell#14256) (Thanks @xtqqczze!)</li>
<li>Fix <code>IDE0090</code>: Simplify <code>new</code> expression part 2 (PowerShell#14200) (Thanks @xtqqczze!)</li>
<li>Enable <code>SA1643</code>: Destructor summary documentation should begin with standard text (PowerShell#14236) (Thanks @xtqqczze!)</li>
<li>Fix <code>IDE0090</code>: Simplify new expression part 4.4 (PowerShell#14258) (Thanks @xtqqczze!)</li>
<li>Use xml documentation child blocks correctly (PowerShell#14249) (Thanks @xtqqczze!)</li>
<li>Fix <code>IDE0090</code>: Simplify <code>new</code> expression part 4.1 (PowerShell#14255) (Thanks @xtqqczze!)</li>
<li>Use consistent spacing in xml documentation tags (PowerShell#14231) (Thanks @xtqqczze!)</li>
<li>Enable <code>IDE0074</code>: Use coalesce compound assignment (PowerShell#13396) (Thanks @xtqqczze!)</li>
<li>Remove unnecessary finalizers (PowerShell#14248) (Thanks @xtqqczze!)</li>
<li>Mark local variable as <code>const</code> (PowerShell#13217) (Thanks @xtqqczze!)</li>
<li>Fix <code>IDE0032</code>: <code>UseAutoProperty</code> part 2 (PowerShell#14244) (Thanks @xtqqczze!)</li>
<li>Fix <code>IDE0032</code>: <code>UseAutoProperty</code> part 1 (PowerShell#14243) (Thanks @xtqqczze!)</li>
<li>Mark <code>private</code> members as <code>static</code> part 8 (PowerShell#14233) (Thanks @xtqqczze!)</li>
<li>Fix <code>CA1822</code>: Mark members as <code>static</code> part 6 (PowerShell#14229) (Thanks @xtqqczze!)</li>
<li>Fix <code>CA1822</code>: Mark members as <code>static</code> part 5 (PowerShell#14228) (Thanks @xtqqczze!)</li>
<li>Fix <code>CA1822</code>: Mark members as <code>static</code> part 4 (PowerShell#14227) (Thanks @xtqqczze!)</li>
<li>Fix <code>CA1822</code>: Mark members as <code>static</code> part 3 (PowerShell#14226) (Thanks @xtqqczze!)</li>
<li>Fix <code>CA1822</code>: Mark members as <code>static</code> part 2 (PowerShell#14225) (Thanks @xtqqczze!)</li>
<li>Fix <code>CA1822</code>: Mark members as <code>static</code> part 1 (PowerShell#14224) (Thanks @xtqqczze!)</li>
<li>Use <code>see</code> keyword in documentation (PowerShell#14220) (Thanks @xtqqczze!)</li>
<li>Enable <code>CA2211</code>: Non-constant fields should not be visible (PowerShell#14073) (Thanks @xtqqczze!)</li>
<li>Enable <code>CA1816</code>: <code>Dispose</code> methods should call <code>SuppressFinalize</code> (PowerShell#14074) (Thanks @xtqqczze!)</li>
<li>Remove incorrectly implemented finalizer (PowerShell#14246) (Thanks @xtqqczze!)</li>
<li>Fix <code>CA1822</code>: Mark members as <code>static</code> part 7 (PowerShell#14230) (Thanks @xtqqczze!)</li>
<li>Fix <code>SA1122</code>: Use <code>string.Empty</code> for empty strings (PowerShell#14218) (Thanks @xtqqczze!)</li>
<li>Fix various xml documentation issues (PowerShell#14223) (Thanks @xtqqczze!)</li>
<li>Remove unnecessary <code>using</code>s part 8 (PowerShell#14072) (Thanks @xtqqczze!)</li>
<li>Enable <code>SA1006</code>: Preprocessor keywords should not be preceded by space (PowerShell#14052) (Thanks @xtqqczze!)</li>
<li>Fix <code>SA1642</code> for <code>Microsoft.PowerShell.Commands.Utility</code> (PowerShell#14142) (Thanks @xtqqczze!)</li>
<li>Enable <code>CA2216</code>: Disposable types should declare finalizer (PowerShell#14089) (Thanks @xtqqczze!)</li>
<li>Wrap and name <code>LoadBinaryModule</code> arguments (PowerShell#14193) (Thanks @xtqqczze!)</li>
<li>Wrap and name <code>GetListOfFilesFromData</code> arguments (PowerShell#14194) (Thanks @xtqqczze!)</li>
<li>Enable <code>SA1002</code>: Semicolons should be spaced correctly (PowerShell#14197) (Thanks @xtqqczze!)</li>
<li>Fix <code>IDE0090</code>: Simplify <code>new</code> expression part 3 (PowerShell#14201) (Thanks @xtqqczze!)</li>
<li>Enable <code>SA1106</code>: Code should not contain empty statements (PowerShell#13964) (Thanks @xtqqczze!)</li>
<li>Code performance fixes follow-up (PowerShell#14207) (Thanks @xtqqczze!)</li>
<li>Remove uninformative comments (PowerShell#14199) (Thanks @xtqqczze!)</li>
<li>Fix <code>IDE0090</code>: Simplify <code>new</code> expression part 1 (PowerShell#14027) (Thanks @xtqqczze!)</li>
<li>Enable <code>SA1517</code>: Code should not contain blank lines at start of file (PowerShell#14131) (Thanks @xtqqczze!)</li>
<li>Enable <code>SA1131</code>: Use readable conditions (PowerShell#14132) (Thanks @xtqqczze!)</li>
<li>Enable <code>SA1507</code>: Code should not contain multiple blank lines in a row (PowerShell#14136) (Thanks @xtqqczze!)</li>
<li>Enable <code>SA1516</code> Elements should be separated by blank line (PowerShell#14137) (Thanks @xtqqczze!)</li>
<li>Enable <code>IDE0031</code>: Null check can be simplified (PowerShell#13548) (Thanks @xtqqczze!)</li>
<li>Enable <code>CA1065</code>: Do not raise exceptions in unexpected locations (PowerShell#14117) (Thanks @xtqqczze!)</li>
<li>Enable <code>CA1000</code>: Do not declare <code>static</code> members on generic types (PowerShell#14097) (Thanks @xtqqczze!)</li>
</ul>

</details>

* Tools

- Fixing formatting in `Reset-PWSHSystemPath.ps1` (PowerShell#13689) (Thanks @dgoldman-msft!)

* Tests

- Reinstate `Test-Connection` tests (PowerShell#13324)
- Update markdown test packages with security fixes (PowerShell#14145)

* Build and Packaging Improvements

<details>

<ul>
<li>Fix a typo in the <code>Get-ChangeLog</code> function (PowerShell#14129)</li>
<li>Update <code>README</code> and <code>metadata.json</code> for <code>7.2.0-preview.1</code> release (PowerShell#14104)</li>
<li>Bump <code>NJsonSchema</code> from <code>10.2.2</code> to <code>10.3.1</code> (PowerShell#14040)</li>
<li>Move windows package signing to use ESRP (PowerShell#14060)</li>
<li>Use one feed in each <code>nuget.config</code> in official builds (PowerShell#14363)</li>
<li>Fix path signed RPMs are uploaded from in release build (PowerShell#14424)</li>
<li>Add <code>Microsoft.PowerShell.MarkdownRender</code> to the package reference list (PowerShell#14386)</li>
<li>Fix issue with unsigned build (PowerShell#14367)</li>
<li>Move macOS and nuget to ESRP signing (PowerShell#14324)</li>
<li>Fix nuget packaging to scrub <code>NullableAttribute</code> (PowerShell#14344)</li>
<li>Bump <code>Microsoft.NET.Test.Sdk</code> from 16.8.0 to 16.8.3 (PowerShell#14310)</li>
<li>Bump <code>Markdig.Signed</code> from 0.22.0 to 0.22.1 (PowerShell#14305)</li>
<li>Bump <code>Microsoft.ApplicationInsights</code> from 2.15.0 to 2.16.0 (PowerShell#14031)</li>
<li>Move Linux to ESRP signing (PowerShell#14210)</li>
</ul>

</details>

* Documentation and Help Content

- Fix example `nuget.config` (PowerShell#14349)
- Fix a broken link in Code Guidelines doc (PowerShell#14314) (Thanks @iSazonov!)

[7.2.0-preview.2]: PowerShell/PowerShell@v7.2.0-preview.1...v7.2.0-preview.2

v7.2.0-preview.1

Toggle v7.2.0-preview.1's commit message
[7.2.0-preview.1] - 2020-11-17

* Engine Updates and Fixes

- Change the default fallback encoding for `GetEncoding` in `Start-Transcript` to be `UTF8` without a BOM (PowerShell#13732) (Thanks @Gimly!)

* General Cmdlet Updates and Fixes

- Update `pwsh -?` output to match docs (PowerShell#13748)
- Fix `NullReferenceException` in `Test-Json` (PowerShell#12942) (Thanks @iSazonov!)
- Make `Dispose` in `TranscriptionOption` idempotent (PowerShell#13839) (Thanks @krishnayalavarthi!)
- Add additional Microsoft PowerShell modules to the tracked modules list (PowerShell#12183)
- Relax further `SSL` verification checks for `WSMan` on non-Windows hosts with verification available (PowerShell#13786) (Thanks @jborean93!)
- Add the `OutputTypeAttribute` to `Get-ExperimentalFeature` (PowerShell#13738) (Thanks @ThomasNieto!)
- Fix blocking wait when starting file associated with a Windows application (PowerShell#13750)
- Emit warning if `ConvertTo-Json` exceeds `-Depth` value (PowerShell#13692)

* Code Cleanup

<details>

<summary>

<p>We thank the following contributors!</p>
<p>@xtqqczze, @mkswd, @ThomasNieto, @PatLeong, @paul-cheung, @georgettica</p>

</summary>

<ul>
<li>Fix RCS1049: Simplify boolean comparison (PowerShell#13994) (Thanks @xtqqczze!)</li>
<li>Enable IDE0062: Make local function static (PowerShell#14044) (Thanks @xtqqczze!)</li>
<li>Enable CA2207: Initialize value type static fields inline (PowerShell#14068) (Thanks @xtqqczze!)</li>
<li>Enable CA1837: Use <code>ProcessId</code> and <code>CurrentManagedThreadId</code> from <code>System.Environment</code> (PowerShell#14063) (Thanks @xtqqczze and @PatLeong!)</li>
<li>Remove unnecessary using directives (PowerShell#14014, PowerShell#14017, PowerShell#14021, PowerShell#14050, PowerShell#14065, PowerShell#14066, PowerShell#13863, PowerShell#13860, PowerShell#13861, PowerShell#13814) (Thanks @xtqqczze and @ThomasNieto!)</li>
<li>Remove unnecessary usage of LINQ <code>Count</code> method (PowerShell#13545) (Thanks @xtqqczze!)</li>
<li>Fix SA1518: The code must not contain extra blank lines at the end of the file (PowerShell#13574) (Thanks @xtqqczze!)</li>
<li>Enable CA1829: Use the <code>Length</code> or <code>Count</code> property instead of <code>Count()</code> (PowerShell#13925) (Thanks @xtqqczze!)</li>
<li>Enable CA1827: Do not use <code>Count()</code> or <code>LongCount()</code> when <code>Any()</code> can be used (PowerShell#13923) (Thanks @xtqqczze!)</li>
<li>Enable or fix nullable usage in a few files (PowerShell#13793, PowerShell#13805, PowerShell#13808, PowerShell#14018, PowerShell#13804) (Thanks @mkswd and @georgettica!)</li>
<li>Enable IDE0040: Add accessibility modifiers (PowerShell#13962, PowerShell#13874) (Thanks @xtqqczze!)</li>
<li>Make applicable private Guid fields readonly (PowerShell#14000) (Thanks @xtqqczze!)</li>
<li>Fix CA1003: Use generic event handler instances (PowerShell#13937) (Thanks @xtqqczze!)</li>
<li>Simplify delegate creation (PowerShell#13578) (Thanks @xtqqczze!)</li>
<li>Fix RCS1033: Remove redundant boolean literal (PowerShell#13454) (Thanks @xtqqczze!)</li>
<li>Fix RCS1221: Use pattern matching instead of combination of <code>as</code> operator and null check (PowerShell#13333) (Thanks @xtqqczze!)</li>
<li>Use <code>is not</code> syntax (PowerShell#13338) (Thanks @xtqqczze!)</li>
<li>Replace magic number with constant in PDH (PowerShell#13536) (Thanks @xtqqczze!)</li>
<li>Fix accessor order (PowerShell#13538) (Thanks @xtqqczze!)</li>
<li>Enable IDE0054: Use compound assignment (PowerShell#13546) (Thanks @xtqqczze!)</li>
<li>Fix RCS1098: Constant values should be on right side of comparisons (PowerShell#13833) (Thanks @xtqqczze!)</li>
<li>Enable CA1068: <code>CancellationToken</code> parameters must come last (PowerShell#13867) (Thanks @xtqqczze!)</li>
<li>Enable CA10XX rules with suggestion severity (PowerShell#13870, PowerShell#13928, PowerShell#13924) (Thanks @xtqqczze!)</li>
<li>Enable IDE0064: Make Struct fields writable (PowerShell#13945) (Thanks @xtqqczze!)</li>
<li>Run <code>dotnet-format</code> to improve formatting of source code (PowerShell#13503) (Thanks @xtqqczze!)</li>
<li>Enable CA1825: Avoid zero-length array allocations (PowerShell#13961) (Thanks @xtqqczze!)</li>
<li>Add IDE analyzer rule IDs to comments (PowerShell#13960) (Thanks @xtqqczze!)</li>
<li>Enable CA1830: Prefer strongly-typed <code>Append</code> and <code>Insert</code> method overloads on <code>StringBuilder</code> (PowerShell#13926) (Thanks @xtqqczze!)</li>
<li>Enforce code style in build (PowerShell#13957) (Thanks @xtqqczze!)</li>
<li>Enable CA1836: Prefer <code>IsEmpty</code> over <code>Count</code> when available (PowerShell#13877) (Thanks @xtqqczze!)</li>
<li>Enable CA1834: Consider using <code>StringBuilder.Append(char)</code> when applicable (PowerShell#13878) (Thanks @xtqqczze!)</li>
<li>Fix IDE0044: Make field readonly (PowerShell#13884, PowerShell#13885, PowerShell#13888, PowerShell#13892, PowerShell#13889, PowerShell#13886, PowerShell#13890, PowerShell#13891, PowerShell#13887, PowerShell#13893, PowerShell#13969, PowerShell#13967, PowerShell#13968, PowerShell#13970, PowerShell#13971, PowerShell#13966, PowerShell#14012) (Thanks @xtqqczze!)</li>
<li>Enable IDE0048: Add required parentheses (PowerShell#13896) (Thanks @xtqqczze!)</li>
<li>Enable IDE1005: Invoke delegate with conditional access (PowerShell#13911) (Thanks @xtqqczze!)</li>
<li>Enable IDE0036: Enable the check on the order of modifiers (PowerShell#13958, PowerShell#13881) (Thanks @xtqqczze!)</li>
<li>Use span-based <code>String.Concat</code> instead of <code>String.Substring</code> (PowerShell#13500) (Thanks @xtqqczze!)</li>
<li>Enable CA1050: Declare types in namespace (PowerShell#13872) (Thanks @xtqqczze!)</li>
<li>Fix minor keyword typo in C# code comment (PowerShell#13811) (Thanks @paul-cheung!)</li>
</ul>

</details>

* Tools

- Enable `CodeQL` Security scanning (PowerShell#13894)
- Add global `AnalyzerConfig` with default configuration (PowerShell#13835) (Thanks @xtqqczze!)

* Build and Packaging Improvements

<details>

<summary>

<p>We thank the following contributors!</p>
<p>@mkswd, @xtqqczze</p>

</summary>

<ul>
<li>Bump <code>Microsoft.NET.Test.Sdk</code> to <code>16.8.0</code> (PowerShell#14020)</li>
<li>Bump <code>Microsoft.CodeAnalysis.CSharp</code> to <code>3.8.0</code> (PowerShell#14075)</li>
<li>Remove workarounds for .NET 5 RTM builds (PowerShell#14038)</li>
<li>Migrate 3rd party signing to ESRP (PowerShell#14010)</li>
<li>Fixes to release pipeline for GA release (PowerShell#14034)</li>
<li>Don't do a shallow checkout (PowerShell#13992)</li>
<li>Add validation and dependencies for Ubuntu 20.04 distribution to packaging script (PowerShell#13993)</li>
<li>Add .NET install workaround for RTM (PowerShell#13991)</li>
<li>Move to ESRP signing for Windows files (PowerShell#13988)</li>
<li>Update <code>PSReadLine</code> version to <code>2.1.0</code> (PowerShell#13975)</li>
<li>Bump .NET to version <code>5.0.100-rtm.20526.5</code> (PowerShell#13920)</li>
<li>Update script to use .NET RTM feeds (PowerShell#13927)</li>
<li>Add checkout step to release build templates (PowerShell#13840)</li>
<li>Turn on <code>/features:strict</code> for all projects (PowerShell#13383) (Thanks @xtqqczze!)</li>
<li>Bump <code>NJsonSchema</code> to <code>10.2.2</code> (PowerShell#13722, PowerShell#13751)</li>
<li>Add flag to make Linux script publish to production repo (PowerShell#13714)</li>
<li>Bump <code>Markdig.Signed</code> to <code>0.22.0</code> (PowerShell#13741)</li>
<li>Use new release script for Linux packages (PowerShell#13705)</li>
</ul>

</details>

* Documentation and Help Content

- Fix links to LTS versions for Windows (PowerShell#14070)
- Fix `crontab` formatting in example doc (PowerShell#13712) (Thanks @dgoldman-msft!)

[7.2.0-preview.1]: PowerShell/PowerShell@v7.1.0...v7.2.0-preview.1

v7.1.0

Toggle v7.1.0's commit message
[7.1.0] - 2020-11-11

* Engine Updates and Fixes

- Fix a logic bug in `MapSecurityZone` (PowerShell#13921) (Thanks @iSazonov!)

* General Cmdlet Updates and Fixes

- Update `pwsh -?` output to match docs (PowerShell#13748)

* Tests

- `markdownlint` security updates (PowerShell#13730)

* Build and Packaging Improvements

<details>

<ul>
<li>Fixes to release pipeline for GA release (Internal 13410)</li>
<li>Add validation and dependencies for <code>Ubuntu 20.04</code> distribution to packaging script (PowerShell#13993)</li>
<li>Change PkgES Lab to unblock build (Internal 13376)</li>
<li>Add .NET install workaround for RTM (PowerShell#13991)</li>
<li>Bump <code>Microsoft.PowerShell.Native</code> version from <code>7.1.0-rc.2</code> to <code>7.1.0</code> (PowerShell#13976)</li>
<li>Bump <code>PSReadLine</code> version to <code>2.1.0</code> (PowerShell#13975)</li>
<li>Bump .NET to version <code>5.0.100-rtm.20526.5</code> (PowerShell#13920)</li>
<li>Update script to use .NET RTM feeds (PowerShell#13927)</li>
</ul>

</details>

[7.1.0]: PowerShell/PowerShell@v7.1.0-rc.2...v7.1.0

v7.1.0-rc.2

Toggle v7.1.0-rc.2's commit message
*** Engine Updates and Fixes

- Rename `Get-Subsystem` to `Get-PSSubsystem` and fix two related minor issues (*13765)
- Add missing `PSToken` token table entries to fix the `PSParser` API (*13779)
- Add additional PowerShell modules to the tracked modules list (*12183)
- Fix blocking wait when starting file associated with a Windows application (*13750)
- Revert `PSNativePSPathResolution` to being an experimental feature (*13734)

*** General Cmdlet Updates and Fixes

- Emit warning if `ConvertTo-Json` exceeds `-Depth` value (*13692)

*** Build and Packaging Improvements

- Change Linux package script call to publish to the production repository in release builds (*13714)
- Update `PSReadLine` version to `2.1.0-rc1` (*13777)
- Move PowerShell build to dotnet `5.0-RC.2` (*13780)
- Bump `Microsoft.PowerShell.Native` to `7.1.0-rc.2` (*13794)

v7.1.0-rc.1

Toggle v7.1.0-rc.1's commit message
[7.1.0-rc.1] - 2020-09-29

* Engine Updates and Fixes

- Make fixes to `ComInterop` code as suggested by .NET team (PowerShell#13533)

* General Cmdlet Updates and Fixes

- Fix case where exception message contains just '`n' on Windows (PowerShell#13684)
- Recognize `CONOUT$` and `CONIN$` as reserved device names (PowerShell#13508) (Thanks @davidreis97!)
- Fix `ConciseView` for interactive advanced function when writing error (PowerShell#13623)

* Code Cleanup

<details>

<summary>

<p>We thank the following contributors!</p>
<p>@xtqqczze, @soccypowa</p>

</summary>

<ul>
<li>Simplify logical negation (PowerShell#13555) (Thanks @xtqqczze!)</li>
<li>Fixed the indentation of the help content for <code>-nologo</code> (PowerShell#13557) (Thanks @soccypowa!)</li>
</ul>

</details>

* Build and Packaging Improvements

<details>

<summary>

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

</summary>

<ul>
<li>Bump <code>NJsonSchema</code> from 10.1.24 to 10.1.26 (PowerShell#13586)</li>
<li>Bump <code>PowerShellGet</code> from 2.2.4 to 2.2.5 (PowerShell#13683)</li>
<li>Bump <code>Microsoft.ApplicationInsights</code> from 2.14.0 to 2.15.0 (PowerShell#13639)</li>
<li>Update PowerShell to build against dotnet 5.0-RC.1 (PowerShell#13643)</li>
<li>Write the <code>InstallLocation</code> to fixed registry key (PowerShell#13576) (Thanks @heaths!)</li>
</ul>

</details>

* Documentation and Help Content

- Update `README` and `metadata.json` for `7.1.0-preview.7` release (PowerShell#13565)

[7.1.0-rc.1]: PowerShell/PowerShell@v7.1.0-preview.7...v7.1.0-rc.1

v7.1.0-preview.7

Toggle v7.1.0-preview.7's commit message
[7.1.0-preview.7] - 2020-09-08

* Breaking Changes

- Fix `$?` to not be `$false` when native command writes to `stderr` (PowerShell#13395)

* Engine Updates and Fixes

- Initial work of the subsystem plugin model (for minimal powershell) (PowerShell#13186)
- Optimize `GetSystemLockdownPolicy` for non-lockdown scenarios (PowerShell#13438)

* General Cmdlet Updates and Fixes

- Revert 'Add the parameter `-Paged` to `Get-Help` to support paging (PowerShell#13374)' (PowerShell#13519)
- Add support for `TLS` 1.3 in Web cmdlets (PowerShell#13409) (Thanks @iSazonov!)
- Add null check for `args` in `CommandLineParser` (PowerShell#13451) (Thanks @iSazonov!)
- Process reparse points for Microsoft Store applications (PowerShell#13481) (Thanks @iSazonov!)
- Move `PSNullConditionalOperators` feature out of experimental (PowerShell#13529)
- Move `PSNativePSPathResolution` feature out of Experimental (PowerShell#13522)
- Use field if property does not exist for `ObRoot` when using PowerShell Direct to container (PowerShell#13375) (Thanks @hemisphera!)
- Suppress `UTF-7` obsolete warnings (PowerShell#13484)
- Avoid multiple enumerations of an `IEnumerable<Expression>` instance in `Compiler.cs` (PowerShell#13491)
- Change `Add-Type -OutputType` to not support `ConsoleApplication` and `WindowsApplication` (PowerShell#13440)
- Create warnings when `UTF-7` is specified as an encoding (PowerShell#13430)

* Code Cleanup

<details>

<summary>

<p>We thank the following contributors!</p>
<p>@xtqqczze, @tamasvajk</p>

</summary>

<ul>
<li>Add single blank line after copyright header (PowerShell#13486) (Thanks @xtqqczze!)</li>
<li>Use read-only auto-implemented properties (PowerShell#13507) (Thanks @xtqqczze!)</li>
<li>Use boolean instead of bitwise operators on bool values (PowerShell#13506) (Thanks @xtqqczze!)</li>
<li>Fix erroneous assert (PowerShell#13495) (Thanks @tamasvajk!)</li>
<li>Cleanup: remove duplicate words in comments (PowerShell#13539) (Thanks @xtqqczze!)</li>
<li>Reformat <code>StringUtil</code> (PowerShell#13509) (Thanks @xtqqczze!)</li>
<li>Use <code>uint</code> instead of <code>long</code> for <code>PDH</code> constants (PowerShell#13502) (Thanks @xtqqczze!)</li>
<li>Cleanup: Remove redundant empty lines (PowerShell#13404) (Thanks @xtqqczze!)</li>
<li>Add <code>StringUtil.Format</code> overload to avoid unnecessary allocations (PowerShell#13408) (Thanks @xtqqczze!)</li>
<li>Fix test hooks for <code>CommandLineParameterParser</code> (PowerShell#13459)</li>
<li>Remove redundant delegate creation (PowerShell#13441) (Thanks @xtqqczze!)</li>
</ul>

</details>

* Tools

- vscode: Add `editorconfig` to recommended extensions (PowerShell#13537) (Thanks @xtqqczze!)
- Remove the out-dated `ZapDisable` related code from `build.psm1` (PowerShell#13350) (Thanks @jackerr3!)

* Tests

- Disable `WMF` download link validation test (PowerShell#13479)

* Build and Packaging Improvements

<details>

<summary>

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

</summary>

<ul>
<li>Add <code>Microsoft.NET.Test.Sdk</code> dependency (Internal 12589)</li>
<li>Update .NET NuGet package version to <code>5.0.0-preview.8.20407.11</code> (Internal 12555)</li>
<li>Update to .NET 5 preview 8 (PowerShell#13530)</li>
<li>Change stage dependency for docker release stage in release pipeline (PowerShell#13512)</li>
<li>Bump <code>Microsoft.NET.Test.Sdk</code> from 16.7.0 to 16.7.1 (PowerShell#13492)</li>
<li>Create the folder before copying the global tools (PowerShell#13476)</li>
<li>A few fixes to the release pipeline (PowerShell#13473)</li>
<li>Bump <code>Markdig.Signed</code> from 0.20.0 to 0.21.1 (PowerShell#13463)</li>
<li>Add a pre-check for git to <code>build.psm1</code> (PowerShell#13227) (Thanks @yecril71pl!)</li>
</ul>

</details>

* Documentation and Help Content

- Update `README` links and `metadata.json` for `7.1.0-preview.6` (PowerShell#13437)

[7.1.0-preview.7]: PowerShell/PowerShell@v7.1.0-preview.6...v7.1.0-preview.7

v7.1.0-preview.6

Toggle v7.1.0-preview.6's commit message
[7.1.0-preview.6] - 2020-08-17

* Breaking Changes

- Rename `-FromUnixTime` to `-UnixTimeSeconds` on `Get-Date` to allow Unix time input (PowerShell#13084) (Thanks @aetos382!)
- Make `$ErrorActionPreference` not affect `stderr` output of native commands (PowerShell#13361)
- Allow explicitly specified named parameter to supersede the same one from hashtable splatting (PowerShell#13162)

* Engine Updates and Fixes

- Refactor command line parser to do early parsing (PowerShell#11482) (Thanks @iSazonov!)
- Add support for some .NET intrinsic type converters (PowerShell#12580) (Thanks @iSazonov!)
- Refresh and enable the `ComInterop` code in PowerShell (PowerShell#13304)

* Experimental Features

- Add `-Runspace` parameter to all `*-PSBreakpoint` cmdlets (PowerShell#10492) (Thanks @KirkMunro!)

* General Cmdlet Updates and Fixes

- Fix error message from new symbolic link missing target (PowerShell#13085) (Thanks @yecril71pl!)
- Make the parameter `args` non-nullable in the public `ConsoleHost` APIs (PowerShell#13429)
- Add missing dispose for `CancellationTokenSource` (PowerShell#13420) (Thanks @Youssef1313!)
- Add the parameter `-Paged` to `Get-Help` to support paging (PowerShell#13374)
- Fix `Get-Help` not properly displaying if parameter supports wildcards (PowerShell#13353) (Thanks @ThomasNieto!)
- Update `pwsh` help for `-InputFormat` parameter (PowerShell#13355) (Thanks @sethvs!)
- Declare MIT license for files copied from Roslyn (PowerShell#13305) (Thanks @xtqqczze!)
- Improve `BigInteger` casting behaviors (PowerShell#12629) (Thanks @vexx32!)
- Fix `Get-Acl -LiteralPath HKLM:Software\Classes\*` behavior (PowerShell#13107) (Thanks @Shriram0908!)
- Add `DefaultVisit` method to the visitor interface and class (PowerShell#13258)
- Fix conflicting shorthand switch `-s` (STA) for `pwsh` (PowerShell#13262) (Thanks @iSazonov!)
- Change `Read-Host -MaskInput` to use existing `SecureString` path, but return as plain text (PowerShell#13256)
- Remove `ComEnumerator` as COM objects using `IEnumerator` is now supported in .NET 5.0 (PowerShell#13259)
- Use temporary personal path at Runspace startup when the 'HOME' environment variable is not defined (PowerShell#13239)
- Fix `Invoke-Command` to detect recursive call of the same history entry (PowerShell#13197)
- Change `pwsh` executable `-inputformat` switch prefix `-in` to `-inp` to fix conflict with `-interactive` (PowerShell#13205) (Thanks @iSazonov!)
- Handle WSL filesystem path when analyze security zone of a file (PowerShell#13120)
- Make other switches mandatory in `Split-Path` (PowerShell#13150) (Thanks @kvprasoon!)
- New Fluent Design icon for PowerShell 7 (PowerShell#13100) (Thanks @Sarthakmalik!)
- Fix `Move-Item` to support cross-mount moves on Unix (PowerShell#13044)

* Code Cleanup

<details>

<summary>

<p>We thank the following contributors!</p>
<p>@xtqqczze, @yecril71pl, @ThomasNieto, @dgoldman-msft</p>

</summary>

<ul>
<li>Use null check with pattern-matching instead of <code>object.ReferenceEquals</code> (PowerShell#13065) (Thanks @xtqqczze!)</li>
<li>Fix comparison of value type object to null (PowerShell#13285) (Thanks @xtqqczze!)</li>
<li>Use <code>is</code> operator instead of <code>as</code> operator (PowerShell#13287) (Thanks @xtqqczze!)</li>
<li>Change <code>SwitchParameter</code> fields to properties (PowerShell#13291) (Thanks @xtqqczze!)</li>
<li>Change &quot;operable&quot; to &quot;executable&quot; (PowerShell#13281) (Thanks @yecril71pl!)</li>
<li>Remove <code>AssemblyInfo</code> property from list views (PowerShell#13331) (Thanks @ThomasNieto!)</li>
<li>Use <code>is not</code> syntax where appropriate and remove unnecessary parentheses (PowerShell#13323) (Thanks @xtqqczze!)</li>
<li>Remove unreachable code in CustomShellCommands.cs (PowerShell#13316) (Thanks @xtqqczze!)</li>
<li>Add copyright header to <code>.editorconfig</code> and update files (PowerShell#13306) (Thanks @xtqqczze!)</li>
<li>Fix typo in Out-File.cs and Out-Printer.cs (PowerShell#13298) (Thanks @dgoldman-msft!)</li>
<li>Fix <code>SA1026CodeMustNotContainSpaceAfterNewKeywordInImplicitlyTypedArrayAllocation</code> (PowerShell#13249) (Thanks @xtqqczze!)</li>
<li>Remove usage of do statement to create an infinite loop (PowerShell#13137) (Thanks @xtqqczze!)</li>
<li>Use <code>int</code> instead of <code>uint</code> in places where it's more appropriate (PowerShell#13141) (Thanks @xtqqczze!)</li>
<li>Use <code>int</code> instead of <code>long</code> to avoid <code>Interlocked.Read</code> (PowerShell#13069) (Thanks @xtqqczze!)</li>
</ul>

</details>

* Tools

- Fix `dotnet` install errors (PowerShell#13387)
- Increase the timeout of Windows daily build to 90 minutes (PowerShell#13354)
- Update the `dependabot` configuration to version 2 (PowerShell#13230) (Thanks @RDIL!)
- Fix `Test-XUnitTestResults` function (PowerShell#13270) (Thanks @iSazonov!)
- Update `.devcontainer` to use nightly docker SDK images (PowerShell#13128)

* Tests

- Mark `Test-Connection -TraceRoute` tests as pending (PowerShell#13310)

* Build and Packaging Improvements

<details>

<summary>

<p>We thank the following contributors!</p>
<p>@xtqqczze, @iSazonov, @77, @WorrenB</p>

</summary>

<ul>
<li>Update <code>README.md</code> and <code>metadata.json</code> for next release (PowerShell#13059)</li>
<li>Create release pipeline as a yaml pipeline (PowerShell#13394)</li>
<li>Update infrastructure to consume private builds from .NET (PowerShell#13427)</li>
<li>Fix breaks in packages daily build due to macOS signing changes (PowerShell#13421)</li>
<li>Sign individual files for macOS PKG (PowerShell#13392)</li>
<li>Disable code sign validation on jobs that do not sign (PowerShell#13389)</li>
<li>Bump <code>PSReadLine</code> from 2.0.2 to 2.0.4 (PowerShell#13240)</li>
<li>Update build documentation for Visual Studio 2019 dependency (PowerShell#13336) (Thanks @xtqqczze!)</li>
<li>Bump <code>Microsoft.CodeAnalysis.CSharp</code> from 3.6.0 to 3.7.0 (PowerShell#13360)</li>
<li>Bump <code>Microsoft.NET.Test.Sdk</code> from 16.6.1 to 16.7.0 (PowerShell#13364)</li>
<li>Bump <code>xunit.runner.visualstudio</code> from 2.4.2 to 2.4.3 (PowerShell#13343)</li>
<li>Use Authenticode certificate for MSIX signing (PowerShell#13330)</li>
<li>Add default help content to the assets folder (PowerShell#13257)</li>
<li>Update .NET SDK version from <code>5.0.100-preview.7.20366.2</code> to <code>5.0.100-preview.7.20366.15</code> (PowerShell#13200)</li>
<li>Set C# language version to preview/9.0 (PowerShell#13090) (Thanks @iSazonov!)</li>
<li>Use <code>pwsh</code> for build and test of package in CI build (PowerShell#13223)</li>
<li>Remove <code>rcedit</code> dependency, move daily ico dependency to props file (PowerShell#13123)</li>
<li>Bump NJsonSchema from 10.1.23 to 10.1.24 (PowerShell#13214)</li>
<li>Update .NET SDK version from <code>5.0.100-preview.7.20364.3</code> to <code>5.0.100-preview.7.20366.2</code> (PowerShell#13192)</li>
<li>Add support for installing arm64 MSIX package. (PowerShell#13043) (Thanks @77!)</li>
<li>Fix Azure file copy issues in release build (PowerShell#13182)</li>
<li>Update .NET SDK version from <code>5.0.100-preview.7.20358.6</code> to <code>5.0.100-preview.7.20364.3</code> (PowerShell#13155)</li>
<li>Fix Azure file copy break in Azure DevOps (PowerShell#13173)</li>
<li>Bump <code>Xunit.SkippableFact</code> from <code>1.4.8</code> to <code>1.4.13</code> (PowerShell#13143)</li>
<li>Add new chibi svg version of the avatar (PowerShell#13160) (Thanks @WorrenB!)</li>
<li>Refactor MSI code to make it easier to add a WiX exe installer (PowerShell#13139)</li>
<li>Disable ReadyToRun for debug build (PowerShell#13144) (Thanks @iSazonov!)</li>
<li>Add new chibi version of the avatar (PowerShell#13140)</li>
<li>Update .NET SDK version from <code>5.0.100-preview.7.20356.2</code> to <code>5.0.100-preview.7.20358.6</code> (PowerShell#13134) (Thanks @github-actions[bot]!)</li>
<li>Update .NET SDK version from <code>5.0.100-preview.6.20318.15</code> to <code>5.0.100-preview.7.20356.2</code> (PowerShell#13125) (Thanks @github-actions[bot]!)</li>
</ul>

</details>

* Documentation and Help Content

- Fix/clarify instructions for running Start-PSPester tests (PowerShell#13373)
- Improve inline documentation for `VerbInfo` (PowerShell#13265) (Thanks @yecril71pl!)
- Improve the wording of inline comments in the help system (PowerShell#13274) (Thanks @yecril71pl!)
- Correct grammar in `README.md` and other docs (PowerShell#13269) (Thanks @tasnimzotder!)
- Add GitHub Actions Python builds to `ADOPTERS.md` (PowerShell#13228) (Thanks @brcrista!)
- Update change logs for `6.2.x` and `7.0.x` (PowerShell#13194)
- Update `README.md` and `metadata.json` for the v7.0.3 release (PowerShell#13187)

[7.1.0-preview.6]: PowerShell/PowerShell@v7.1.0-preview.5...v7.1.0-preview.6

v7.0.3

Toggle v7.0.3's commit message
[7.0.3] - 2020-07-16

* Tests

- Remove dependency on DNS for `Test-Connection` tests on macOS (PowerShell#12943)

* Build and Packaging Improvements

<details>

<ul>
<li>Fix Azure file copy issues in release build by fixing the path to upload directory content (PowerShell#13182)</li>
<li>Update .NET Core to 3.1.6 (Internal 12005)</li>
<li>Fix Azure file copy break in AzDevOps by updating task version to latest (PowerShell#13173)</li>
</ul>

</details>

v6.2.7

Toggle v6.2.7's commit message
[6.2.7] - 2020-07-16

* Build and Packaging Improvements

<details>

<ul>
<li>Fix Azure file copy issues in release build by fixing the path to upload directory content (PowerShell#13182)</li>
<li>Update .NET Core to version 2.1.808 (Internal 12003)</li>
<li>Fix Azure file copy break in AzDevOps by updating task version to latest (PowerShell#13173)</li>
</ul>

</details>

v7.1.0-preview.5

Toggle v7.1.0-preview.5's commit message
[7.1.0-preview.5] - 2020-07-06

* Engine Updates and Fixes

- Ensure assemblies listed in the module manifest `FileList` field are not loaded (PowerShell#12968)

* Code Cleanup

<details>

<summary>

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

</summary>

<ul>
<li>Code performance fixes (PowerShell#12956) (Thanks @xtqqczze!)</li>
</ul>

</details>

* Tools

- Add missing `.editorconfig` settings present in `dotnet/runtime` (PowerShell#12871) (Thanks @xtqqczze!)

* Tests

- Add new test for `Format-Custom` to avoid data loss (PowerShell#11393) (Thanks @iSazonov!)

* Build and Packaging Improvements

<details>
<summary>

<p>Fixed upgrade code in MSI package.</p>

</summary>
<ul>
<li>Change log for v7.1.0-preview.5 (Internal 11880)</li>
<li>Fix Path for the Preview MSI (PowerShell#13070)</li>
<li>Correct stable and preview upgrade codes for <code>MSI</code> (PowerShell#13036)</li>
<li>Changelog for `v7.1.0-preview.4` (Internal 11841)</li>
<li>Fix NuGet package compliance issues (PowerShell#13045)</li>
<li>Bump <code>xunit.runner.visualstudio</code> from <code>2.4.1</code> to<code> 2.4.2</code> (PowerShell#12874)</li>
<li>Bump NJsonSchema from `10.1.21` to `10.1.23` (PowerShell#13032) (PowerShell#13022)</li>
</ul>

</details>

* Documentation and Help Content

- Fix links for MSI packages to point to `7.1.0-preview.3` (PowerShell#13056)
- Add update `packages.microsoft.com` step to distribution request template. (PowerShell#13008)
- Update `windows-core.md` (PowerShell#13053) (Thanks @xtqqczze!)
- Add `@rjmholt` to maintainers list (PowerShell#13033)
- Update docs for `v7.1.0-preview.4` release (PowerShell#13028)