* Breaking Changes
- On Windows, `Start-Process` creates a process environment with
all the environment variables from current session,
using `-UseNewEnvironment` creates a new default process environment (#10830) (Thanks @iSazonov!)
- Do not wrap return result to `PSObject` when converting ScriptBlock to delegate (#10619)
* Engine Updates and Fixes
- Allow case insensitive paths for determining `PSModulePath` (#12192)
- Add PowerShell version 7.0 to compatible version list (#12184)
- Discover assemblies loaded by `Assembly.Load(byte[])` and `Assembly.LoadFile` (#12203)
* General Cmdlet Updates and Fixes
- Fix `WinCompat` module loading to treat PowerShell 7 modules with higher priority (#12269)
- Implement `ForEach-Object -Parallel` runspace reuse (#12122)
- Fix `Get-Service` to not modify collection while enumerating it (#11851) (Thanks @NextTurn!)
- Clean up the IPC named pipe on PowerShell exit (#12187)
- Fix `<img />` detection regex in web cmdlets (#12099) (Thanks @vexx32!)
- Allow shorter signed hex literals with appropriate type suffixes (#11844) (Thanks @vexx32!)
- Update `UseNewEnvironment` parameter behavior of `Start-Process` cmdlet on Windows (#10830) (Thanks @iSazonov!)
- Add `-Shuffle` switch to `Get-Random` command (#11093) (Thanks @eugenesmlv!)
- Make `GetWindowsPowerShellModulePath` compatible with multiple PS installations (#12280)
- Fix `Start-Job` to work on systems that don't have Windows PowerShell registered as default shell (#12296)
- Specifying an alias and `-Syntax` to `Get-Command` returns the aliased commands syntax (#10784) (Thanks @ChrisLGardner!)
- Make CSV cmdlets work when using `-AsNeeded` and there is an incomplete row (#12281) (Thanks @iSazonov!)
- In local invocations, do not require `-PowerShellVersion 5.1` for `Get-FormatData` in order to see all format data. (#11270) (Thanks @mklement0!)
- Added Support For Big Endian `UTF-32` (#11947) (Thanks @NoMoreFood!)
- Fix possible race that leaks PowerShell object dispose in `ForEach-Object -Parallel` (#12227)
- Add `-FromUnixTime` to `Get-Date` to allow Unix time input (#12179) (Thanks @jackdcasey!)
- Change default progress foreground and background colors to provide improved contrast (#11455) (Thanks @rkeithhill!)
- Fix `foreach -parallel` when current drive is not available (#12197)
- Do not wrap return result to `PSObject` when converting `ScriptBlock` to `delegate` (#10619)
- Don't write DNS resolution errors on `Test-Connection -Quiet` (#12204) (Thanks @vexx32!)
- Use dedicated threads to read the redirected output and error streams from the child process for out-of-proc jobs (#11713)
* Code Cleanup
<details>
<summary>
<p>We thank the following contributors!</p>
<p>@ShaydeNofziger, @RDIL</p>
</summary>
<ul>
<li>Fix erroneous comment in <code>tokenizer.cs</code> (#12206) (Thanks @ShaydeNofziger!)</li>
<li>Fix terms checker issues (#12189)</li>
<li>Update copyright notice to latest guidance (#12190)</li>
<li>CodeFactor cleanup (#12251) (Thanks @RDIL!)</li>
</ul>
</details>
* Tools
- Update .NET dependency update script to include test `csproj` files (#12372)
- Scripts to update to .NET prerelease version (#12284)
* Tests
- Pin major Pester version to 4 to prevent breaking changes caused by upcoming release of v5 (#12262) (Thanks @bergmeister!)
* Build and Packaging Improvements
<details>
<summary>
<p>We thank the following contributors!</p>
<p>@rkitover, @bergmeister</p>
</summary>
<ul>
<li>Add the <code>nuget.config</code> from root to the temporary build folder (#12394)</li>
<li>Bump System.IO.Packaging (#12365)</li>
<li>Bump Markdig.Signed from 0.18.3 to 0.20.0 (#12379)</li>
<li>Bump to .NET 5 Preview 3 pre-release (#12353)</li>
<li>Bump PowerShellGet from 2.2.3 to 2.2.4 (#12342)</li>
<li>Linux: Initial support for Gentoo installations. (#11429) (Thanks @rkitover!)</li>
<li>Upgrade to .NET 5 Preview 2 (#12250) (Thanks @bergmeister!)</li>
<li>Fix the <code>Sync PSGalleryModules to Artifacts</code> build (#12277)</li>
<li>Bump PSReadLine from 2.0.0 to 2.0.1 (#12243)</li>
<li>Bump <code>NJsonSchema</code> from <code>10.1.11</code> to <code>10.1.12</code> (#12230)</li>
<li>Update change log generation script to support collapsible sections (#12214)</li>
</ul>
</details>
* Documentation and Help Content
- Add documentation for `WebResponseObject` and `BasicHtmlWebResponseObject` properties (#11876) (Thanks @kevinoid!)
- Add Windows 10 IoT Core reference in `Adopters.md` (#12266) (Thanks @parameshbabu!)
- Update `README.md` and `metadata.json` for `7.1.0-preview.1` (#12211)