From 02e11c383f264bbdae59136f84901aee052cf9aa Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Mon, 8 Nov 2021 15:03:23 -0800 Subject: [PATCH] Update change log for 7.2.0 (#16401) * Merged PR 17994: Update change log for 7.2.0 Update change log for 7.2.0 # Conflicts: # .spelling * add blank change log for 7.3 Co-authored-by: Aditya Patwardhan --- .spelling | 10 +- CHANGELOG/7.2.md | 1122 ++++++++++++++++++++++++++++++++++++++++++ CHANGELOG/preview.md | 1082 ---------------------------------------- 3 files changed, 1131 insertions(+), 1083 deletions(-) create mode 100644 CHANGELOG/7.2.md diff --git a/.spelling b/.spelling index 65fef8f019..41206060a8 100644 --- a/.spelling +++ b/.spelling @@ -1269,7 +1269,7 @@ package.json jcotton42 RPMs PSDesiredStateConfiguration - - CHANGELOG/preview.md + - CHANGELOG/7.2.md Gimly jborean93 mkswd @@ -1391,6 +1391,14 @@ tar.gz psoptions.json manifest.spdx.json vPack +kondratyev-nv +v7.2.0 +cgmanifest.json +pwsh.exe +6.0.100-rtm.21527.11 +6.0.100-rc.2.21505.57 +ThirdPartyNotices.txt +rtm.21527.11 - CHANGELOG/7.0.md codesign release-BuildJson diff --git a/CHANGELOG/7.2.md b/CHANGELOG/7.2.md new file mode 100644 index 0000000000..0a57084784 --- /dev/null +++ b/CHANGELOG/7.2.md @@ -0,0 +1,1122 @@ +# 7.2 Changelog + +## [7.2.0] - 2021-11-08 + +### General Cmdlet Updates and Fixes + +- Handle exception when trying to resolve a possible link path (#16310) + +### Tests + +- Fix global tool and SDK tests in release pipeline (#16342) + +### Build and Packaging Improvements + +
+ + + +

We thank the following contributors!

+

@kondratyev-nv

+ +
+ +
    +
  • Add an approval for releasing build-info json (#16351)
  • +
  • Release build info json when it is preview (#16335)
  • +
  • Update metadata.json for v7.2.0 release
  • +
  • Update to the latest notices file and update cgmanifest.json (#16339)(#16325)
  • +
  • Fix issues in release build by updating usage of powershell.exe with pwsh.exe (#16332)
  • +
  • Update feed and analyzer dependency (#16327)
  • +
  • Update to .NET 6 GA build 6.0.100-rtm.21527.11 (#16309)
  • +
  • Add a major-minor build info JSON file (#16301)
  • +
  • Fix Windows build ZIP packaging (#16299) (Thanks @kondratyev-nv!)
  • +
  • Clean up crossgen related build scripts also generate native symbols for R2R images (#16297)
  • +
  • Fix issues reported by code signing verification tool (#16291)
  • +
+ +
+ +[7.2.0]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-rc.1...v7.2.0 + +## [7.2.0-rc.1] - 2021-10-21 + +### General Cmdlet Updates and Fixes + +- Disallow COM calls for AppLocker system lockdown (#16268) +- Configure `Microsoft.ApplicationInsights` to not send cloud role name (#16246) +- Disallow `Add-Type` in NoLanguage mode on a locked down machine (#16245) +- Make property names for color VT100 sequences consistent with documentation (#16212) +- Make moving a directory into itself with `Move-Item` an error (#16198) +- Change `FileSystemInfo.Target` from a `CodeProperty` to an `AliasProperty` that points to `FileSystemInfo.LinkTarget` (#16165) + +### Tests + +- Removed deprecated docker-based tests for PowerShell release packages (#16224) + +### Build and Packaging Improvements + +
+ + +

Bump .NET SDK to 6.0.100-rc.2

+
+ +
    +
  • Update .NET 6 to version 6.0.100-rc.2.21505.57 (#16249)
  • +
  • Fix RPM packaging (Internal 17704)
  • +
  • Update ThirdPartyNotices.txt (#16283)
  • +
  • Update pipeline yaml file to use ubuntu-latest image (#16279)
  • +
  • Add script to generate cgmanifest.json (#16278)
  • +
  • Update version of Microsoft.PowerShell.Native and Microsoft.PowerShell.MarkdownRender packages (#16277)
  • +
  • Add cgmanifest.json for generating correct third party notice file (#16266)
  • +
  • Only upload stable buildinfo for stable releases (#16251)
  • +
  • Don't upload .dep or .tar.gz for RPM because there are none (#16230)
  • +
  • Ensure RPM license is recognized (#16189)
  • +
  • Add condition to only generate release files in local dev build only (#16259)
  • +
  • Ensure psoptions.json and manifest.spdx.json files always exist in packages (#16258)
  • +
  • Fix CI script and split out ARM runs (#16252)
  • +
  • Update vPack task version to 12 (#16250)
  • +
  • Sign third party executables (#16229)
  • +
  • Add Software Bill of Materials to the main packages (#16202)
  • +
  • Upgrade set-value package for markdown test (#16196)
  • +
  • Fix Microsoft update spelling issue (#16178)
  • +
  • Move vPack build to 1ES Pool (#16169)
  • +
+ +
+ +[7.2.0-rc.1]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.10...v7.2.0-rc.1 + +## [7.2.0-preview.10] - 2021-09-28 + +### Engine Updates and Fixes + +- Remove duplicate remote server mediator code (#16027) + +### General Cmdlet Updates and Fixes + +- Use `PlainText` when writing to a host that doesn't support VT (#16092) +- Remove support for `AppExecLinks` to retrieve target (#16044) +- Move `GetOuputString()` and `GetFormatStyleString()` to `PSHostUserInterface` as public API (#16075) +- Add `isOutputRedirected` parameter to `GetFormatStyleString()` method (#14397) +- Fix `ConvertTo-SecureString` with key regression due to .NET breaking change (#16068) +- Fix regression in `Move-Item` to only fallback to `CopyAndDelete` in specific cases (#16029) +- Set `$?` correctly for command expression with redirection (#16046) +- Use `CurrentCulture` when handling conversions to `DateTime` in `Add-History` (#16005) (Thanks @vexx32!) +- Fix `NullReferenceException` in `Format-Wide` (#15990) (Thanks @DarylGraves!) + +### Code Cleanup + +
+ + + +

We thank the following contributors!

+

@xtqqczze!

+ +
+ +
    +
  • Improve CommandInvocationIntrinsics API documentation and style (#14369)
  • +
  • Use bool?.GetValueOrDefault() in FormatWideCommand (#15988) (Thanks @xtqqczze!)
  • +
+ +
+ +### Tools + +- Fix typo in build.psm1 (#16038) (Thanks @eltociear!) +- Add `.stylecop` to `filetypexml` and format it (#16025) +- Enable sending Teams notification when workflow fails (#15982) + +### Tests + +- Enable two previously disabled `Get-Process` tests (#15845) (Thanks @iSazonov!) + +### Build and Packaging Improvements + +
+ + +Details + + +
    +
  • Add SHA256 hashes to release (#16147)
  • +
  • Update Microsoft.CodeAnalysis.CSharp version (#16138)
  • +
  • Change path for Component Governance for build to the path we actually use to build (#16137)
  • +
  • Bump Microsoft.CodeAnalysis.NetAnalyzers (#16070) (#16045) (#16036) (#16021) (#15985)
  • +
  • Update .NET to 6.0.100-rc.1.21458.32 (#16066)
  • +
  • Update minimum required OS version for macOS (#16088)
  • +
  • Ensure locale is set correctly on Ubuntu 20.04 in CI (#16067) (#16073)
  • +
  • Update .NET SDK version from 6.0.100-preview.6.21355.2 to 6.0.100-rc.1.21455.2 (#16041) (#16028) (#15648)
  • +
  • Fix the GitHub Action for updating .NET daily builds (#16042)
  • +
  • Move from PkgES hosted agents to 1ES hosted agents (#16023)
  • +
  • Update Ubuntu images to use Ubuntu 20.04 (#15906)
  • +
  • Fix the macOS build by updating the pool image name (#16010)
  • +
  • Use Alpine 3.12 for building PowerShell for Alpine Linux (#16008)
  • +
  • Ignore error from Find-Package (#15999)
  • +
  • Find packages separately for each source in UpdateDotnetRuntime.ps1 script (#15998)
  • +
  • Update metadata to start using .NET 6 RC1 builds (#15981)
  • +
+ +
+ +[7.2.0-preview.10]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.9...v7.2.0-preview.10 + +## [7.2.0-preview.9] - 2021-08-23 + +### Breaking Changes + +- Change the default value of `$PSStyle.OutputRendering` to `OutputRendering.Host` and remove `OutputRendering.Automatic` (#15882) +- Fix `CA1052` for public API to make classes static when they only have static methods (#15775) (Thanks @xtqqczze!) +- Update `pwsh.exe -File` to only accept `.ps1` script files on Windows (#15859) + +### Engine Updates and Fixes + +- Update .NET adapter to handle interface static members properly (#15908) +- Catch and handle unauthorized access exception when removing AppLocker test files (#15881) + +### General Cmdlet Updates and Fixes + +- Add `-PassThru` parameter to `Set-Clipboard` (#13713) (Thanks @ThomasNieto!) +- Add `-Encoding` parameter for `Tee-Object` (#12135) (Thanks @Peter-Schneider!) +- Update `ConvertTo-Csv` and `Export-Csv` to handle `IDictionary` objects (#11029) (Thanks @vexx32!) +- Update the parameters `-Exception` and `-ErrorRecord` for `Write-Error` to be position 0 (#13813) (Thanks @ThomasNieto!) +- Don't use `ArgumentList` when creating COM object with `New-Object` as it's not applicable to the COM parameter set (#15915) +- Fix `$PSStyle` list output to correctly show `TableHeader` (#15928) +- Remove the `PSImplicitRemotingBatching` experimental feature (#15863) +- Fix issue with `Get-Process -Module` failing to stop when it's piped to `Select-Object` (#15682) (Thanks @ArmaanMcleod!) +- Make the experimental features `PSUnixFileStat`, `PSCultureInvariantReplaceOperator`, `PSNotApplyErrorActionToStderr`, `PSAnsiRendering`, `PSAnsiProgressFeatureName` stable (#15864) +- Enhance `Remove-Item` to work with OneDrive (#15571) (Thanks @iSazonov!) +- Make global tool entrypoint class static (#15880) +- Update `ServerRemoteHost` version to be same as `PSVersion` (#15809) +- Make the initialization of `HttpKnownHeaderNames` thread safe (#15519) (Thanks @iSazonov!) +- `ConvertTo-Csv`: Quote fields with quotes and newlines when using `-UseQuotes AsNeeded` (#15765) (Thanks @lselden!) +- Forwarding progress stream changes from `Foreach-Object -Parallel` runspaces (#14271) (Thanks @powercode!) +- Add validation to `$PSStyle` to reject printable text when setting a property that only expects ANSI escape sequence (#15825) + +### Code Cleanup + +
+ + + +

We thank the following contributors!

+

@xtqqczze

+ +
+ +
    +
  • Avoid unneeded array allocation in module code (#14329) (Thanks @xtqqczze!)
  • +
  • Enable and fix analysis rules CA1052, CA1067, and IDE0049 (#15840) (Thanks @xtqqczze!)
  • +
  • Avoid unnecessary allocation in formatting code (#15832) (Thanks @xtqqczze!)
  • +
  • Specify the analyzed API surface for all code quality rules (#15778) (Thanks @xtqqczze!)
  • +
+ +
+ +### Tools + +- Enable `/rebase` to automatically rebase a PR (#15808) +- Update `.editorconfig` to not replace tabs with spaces in `.tsv` files (#15815) (Thanks @SethFalco!) +- Update PowerShell team members in the change log generation script (#15817) + +### Tests + +- Add more tests to validate the current command error handling behaviors (#15919) +- Make `Measure-Object` property test independent of the file system (#15879) +- Add more information when a `syslog` parsing error occurs (#15857) +- Harden logic when looking for `syslog` entries to be sure that we select based on the process id (#15841) + +### Build and Packaging Improvements + +
+ + + +

We thank the following contributors!

+

@xtqqczze

+ +
+ +
    +
  • Disable implicit namespace imports for test projects (#15895)
  • +
  • Update language version to 10 and fix related issues (#15886)
  • +
  • Update CodeQL workflow to use Ubuntu 18.04 (#15868)
  • +
  • Bump the version of various packages (#15944, #15934, #15935, #15891, #15812, #15822) (Thanks @xtqqczze!)
  • +
+ +
+ +### Documentation and Help Content + +- Update `README` and `metadata files` for release `v7.2.0-preview.8` (#15819) +- Update change logs for 7.0.7 and 7.1.4 (#15921) +- Fix spelling in XML docs (#15939) (Thanks @slowy07!) +- Update PowerShell Committee members (#15837) + +[7.2.0-preview.9]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.8...v7.2.0-preview.9 + +## [7.2.0-preview.8] - 2021-07-22 + +### Engine Updates and Fixes + +- Add a Windows mode to `$PSNativeCommandArgumentPassing` that allows some commands to use legacy argument passing (#15408) +- Use `nameof` to get parameter names when creating `ArgumentNullException` (#15604) (Thanks @gukoff!) +- Test if a command is 'Out-Default' more thoroughly for transcribing scenarios (#15653) +- Add `Microsoft.PowerShell.Crescendo` to telemetry allow list (#15372) + +### General Cmdlet Updates and Fixes + +- Use `$PSStyle.Formatting.FormatAccent` for `Format-List` and `$PSStyle.Formatting.TableHeader` for `Format-Table` output (#14406) +- Highlight using error color the exception `Message` and underline in `PositionMessage` for `Get-Error` (#15786) +- Implement a completion for View parameter of format cmdlets (#14513) (Thanks @iSazonov!) +- Add support to colorize `FileInfo` file names (#14403) +- Don't serialize to JSON ETS properties for `DateTime` and `string` types (#15665) +- Fix `HyperVSocketEndPoint.ServiceId` setter (#15704) (Thanks @xtqqczze!) +- Add `DetailedView` to `$ErrorView` (#15609) + +### Code Cleanup + +
+ + + +

We thank the following contributors!

+

@iSazonov, @xtqqczze

+ +
+ +
    +
  • Remove consolehost.proto file (#15741) (Thanks @iSazonov!)
  • +
  • Implement IDisposable for ConvertToJsonCommand (#15787) (Thanks @xtqqczze!)
  • +
  • Fix IDisposable implementation for CommandPathSearch (#15793) (Thanks @xtqqczze!)
  • +
  • Delete IDE dispose analyzer rules (#15798) (Thanks @xtqqczze!)
  • +
  • Seal private classes (#15725) (Thanks @xtqqczze!)
  • +
  • Enable IDE0029: UseCoalesceExpression (#15770) (Thanks @xtqqczze!)
  • +
  • Enable IDE0070: UseSystemHashCode (#15715) (Thanks @xtqqczze!)
  • +
  • Enable IDE0030: UseCoalesceExpressionForNullable (#14289) (Thanks @xtqqczze!)
  • +
  • Fix CA1846 and CA1845 for using AsSpan instead of Substring (#15738)
  • +
  • Use List<T>.RemoveAll to avoid creating temporary list (#15686) (Thanks @xtqqczze!)
  • +
  • Enable IDE0044: MakeFieldReadonly (#13880) (Thanks @xtqqczze!)
  • +
  • Disable IDE0130 (#15728) (Thanks @xtqqczze!)
  • +
  • Make classes sealed (#15675) (Thanks @xtqqczze!)
  • +
  • Enable CA1043: Use integral or string argument for indexers (#14467) (Thanks @xtqqczze!)
  • +
  • Enable CA1812 (#15674) (Thanks @xtqqczze!)
  • +
  • Replace Single with First when we know the element count is 1 (#15676) (Thanks @xtqqczze!)
  • +
  • Skip analyzers for Microsoft.Management.UI.Internal (#15677) (Thanks @xtqqczze!)
  • +
  • Fix CA2243: Attribute string literals should parse correctly (#15622) (Thanks @xtqqczze!)
  • +
  • Enable CA1401 (#15621) (Thanks @xtqqczze!)
  • +
  • Fix CA1309: Use ordinal StringComparison in Certificate Provider (#14352) (Thanks @xtqqczze!)
  • +
  • Fix CA1839: Use Environment.ProcessPath (#15650) (Thanks @xtqqczze!)
  • +
  • Add new analyzer rules (#15620) (Thanks @xtqqczze!)
  • +
+ +
+ +### Tools + +- Add `SkipRoslynAnalyzers` parameter to `Start-PSBuild` (#15640) (Thanks @xtqqczze!) +- Create issue template for issues updating PowerShell through Windows update. (#15700) +- Add `DocumentationAnalyzers` to build (#14336) (Thanks @xtqqczze!) +- Convert GitHub issue templates to modern forms (#15645) + +### Tests + +- Add more tests for `ConvertFrom-Json` (#15706) (Thanks @strawgate!) +- Update `glob-parent` and `hosted-git-info` test dependencies (#15643) + +### Build and Packaging Improvements + +
+ + +Update .NET to version v6.0.0-preview.6 + + +
    +
  • Add new package name for osx-arm64 (#15813)
  • +
  • Prefer version when available for dotnet-install (#15810)
  • +
  • Make warning about MU being required dynamic (#15776)
  • +
  • Add Start-PSBootstrap before running tests (#15804)
  • +
  • Update to .NET 6 Preview 6 and use crossgen2 (#15763)
  • +
  • Enable ARM64 packaging for macOS (#15768)
  • +
  • Make Microsoft Update opt-out/in check boxes work (#15784)
  • +
  • Add Microsoft Update opt out to MSI install (#15727)
  • +
  • Bump NJsonSchema from 10.4.4 to 10.4.5 (#15769)
  • +
  • Fix computation of SHA512 checksum (#15736)
  • +
  • Update the script to use quality parameter for dotnet-install (#15731)
  • +
  • Generate SHA512 checksum file for all packages (#15678)
  • +
  • Enable signing daily release build with lifetime certificate (#15642)
  • +
  • Update metadata and README for 7.2.0-preview.7 (#15593)
  • +
+ +
+ +### Documentation and Help Content + +- Fix broken RFC links (#15807) +- Add to bug report template getting details from `Get-Error` (#15737) +- Update issue templates to link to new docs (#15711) +- Add @jborean93 to Remoting Working Group (#15683) + +[7.2.0-preview.8]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.7...v7.2.0-preview.8 + +## [7.2.0-preview.7] - 2021-06-17 + +### Breaking Changes + +- Remove PSDesiredStateConfiguration v2.0.5 module and published it to the PowerShell Gallery (#15536) + +### Engine Updates and Fixes + +- Fix splatting being treated as positional parameter in completions (#14623) (Thanks @MartinGC94!) +- Prevent PowerShell from crashing when a telemetry mutex can't be created (#15574) (Thanks @gukoff!) +- Ignore all exceptions when disposing an instance of a subsystem implementation (#15511) +- Wait for SSH exit when closing remote connection (#14635) (Thanks @dinhngtu!) + +### Performance + +- Retrieve `ProductVersion` using informational version attribute in `AmsiUtils.Init()` (#15527) (Thanks @Fs00!) + +### General Cmdlet Updates and Fixes + +- Fix retrieving dynamic parameters from provider even if globbed path returns no results (#15525) +- Revert "Enhance Remove-Item to work with OneDrive (#15260)" due to long path issue (#15546) + +### Code Cleanup + +
+ + + +

We thank the following contributors!

+

@octos4murai, @iSazonov, @Fs00

+ +
+ +
    +
  • Correct parameter name passed to exception in PSCommand constructor (#15580) (Thanks @octos4murai!)
  • +
  • Enable nullable: System.Management.Automation.ICommandRuntime (#15566) (Thanks @iSazonov!)
  • +
  • Clean up code regarding AppDomain.CreateDomain and AppDomain.Unload (#15554)
  • +
  • Replace ProcessModule.FileName with Environment.ProcessPath and remove PSUtils.GetMainModule (#15012) (Thanks @Fs00!)
  • +
+ +
+ +### Tests + +- Fix `Start-Benchmarking` to put `TargetPSVersion` and `TargetFramework` in separate parameter sets (#15508) +- Add `win-x86` test package to the build (#15517) + +### Build and Packaging Improvements + +
+ + + +

We thank the following contributors!

+

@schuelermine

+ +
+ +
    +
  • Update README.md and metadata.json for version 7.2.0-preview.6 (#15464)
  • +
  • Make sure GA revision increases from RC and Preview releases (#15558)
  • +
  • Remove SupportsShouldProcess from Start-PSBootstrap in build.psm1 (#15491) (Thanks @schuelermine!)
  • +
  • Update DotnetMetadataRuntime.json next channel to take daily build from .NET preview 5 (#15518)
  • +
  • Fix deps.json update in the release pipeline (#15486)
  • +
+ +
+ +### Documentation and Help Content + +- Add new members to Engine and Cmdlet Working Groups document (#15560) +- Update the `mdspell` command to exclude the folder that should be ignored (#15576) +- Replace 'User Voice' with 'Feedback Hub' in `README.md` (#15557) +- Update Virtual User Group chat links (#15505) (Thanks @Jaykul!) +- Fix typo in `FileSystemProvider.cs` (#15445) (Thanks @eltociear!) +- Add `PipelineStoppedException` notes to PowerShell API (#15324) +- Updated governance on Working Groups (WGs) (#14603) +- Correct and improve XML documentation comments on `PSCommand` (#15568) (Thanks @octos4murai!) + +[7.2.0-preview.7]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.6...v7.2.0-preview.7 + +## [7.2.0-preview.6] - 2021-05-27 + +### Experimental Features + +- [Breaking Change] Update prediction interface to provide additional feedback to a predictor plugin (#15421) + +### Performance + +- Avoid collecting logs in buffer if a pipeline execution event is not going to be logged (#15350) +- Avoid allocation in `LanguagePrimitives.UpdateTypeConvertFromTypeTable` (#15168) (Thanks @xtqqczze!) +- Replace `Directory.GetDirectories` with `Directory.EnumerateDirectories` to avoid array allocations (#15167) (Thanks @xtqqczze!) +- Use `List.ConvertAll` instead of `LINQ` (#15140) (Thanks @xtqqczze!) + +### General Cmdlet Updates and Fixes + +- Use `AllocConsole` before initializing CLR to ensure codepage is correct for WinRM remoting (PowerShell/PowerShell-Native#70) (Thanks @jborean93!) +- Add completions for `#requires` statements (#14596) (Thanks @MartinGC94!) +- Add completions for comment-based help keywords (#15337) (Thanks @MartinGC94!) +- Move cross platform DSC code to a PowerShell engine subsystem (#15127) +- Fix `Minimal` progress view to handle activity that is longer than console width (#15264) +- Handle exception if ConsoleHost tries to set cursor out of bounds because screen buffer changed (#15380) +- Fix `NullReferenceException` in DSC `ClearCache()` (#15373) +- Update `ControlSequenceLength` to handle colon as a virtual terminal parameter separator (#14942) +- Update the summary comment for `StopTranscriptCmdlet.cs` (#15349) (Thanks @dbaileyut!) +- Remove the unusable alias `d` for the `-Directory` parameter from `Get-ChildItem` (#15171) (Thanks @kvprasoon!) +- Fix tab completion for un-localized `about` topics (#15265) (Thanks @MartinGC94!) +- Remove the unneeded SSH stdio handle workaround (#15308) +- Add `LoadAssemblyFromNativeMemory` API to load assemblies from memory in a native PowerShell host (#14652) (Thanks @awakecoding!) +- Re-implement `Remove-Item` OneDrive support (#15260) (Thanks @iSazonov!) +- Kill native processes in pipeline when pipeline is disposed on Unix (#15287) +- Default to MTA on Windows platforms where STA is not supported (#15106) + +### Code Cleanup + +
+ + + +

We thank the following contributors!

+

@xtqqczze, @powercode, @bcwood

+ +
+ +
    +
  • Enable nullable in some classes (#14185, #14177, #14159, #14191, #14162, #14150, #14156, #14161, #14155, #14163, #14181, #14157, #14151) (Thanks @powercode!)
  • +
  • Annotate ThrowTerminatingError with DoesNotReturn attribute (#15352) (Thanks @powercode!)
  • +
  • Use GetValueOrDefault() for nullable PSLanguageMode (#13849) (Thanks @bcwood!)
  • +
  • Enable SA1008: Opening parenthesis should be spaced correctly (#14242) (Thanks @xtqqczze!)
  • +
+ +
+ +### Tools + +- Add `winget` release script (#15050) + +### Tests + +- Enable cross-runtime benchmarking to compare different .NET runtimes (#15387) (Thanks @adamsitnik!) +- Add the performance benchmark project for PowerShell performance testing (#15242) + +### Build and Packaging Improvements + +
+ + +Update .NET to version v6.0.0-preview.4 + + +
    +
  • Suppress prompting when uploading the msixbundle package to blob (#15227)
  • +
  • Update to .NET preview 4 SDK (#15452)
  • +
  • Update AppxManifest.xml with newer OS version to allow PowerShell installed from Windows Store to make system-level changes (#15375)
  • +
  • Ensure the build works when PSDesiredStateConfiguration module is pulled in from PSGallery (#15355)
  • +
  • Make sure daily release tag does not change when retrying failures (#15286)
  • +
  • Improve messages and behavior when there's a problem in finding zip files (#15284)
  • +
+ +
+ +### Documentation and Help Content + +- Add documentation comments section to coding guidelines (#14316) (Thanks @xtqqczze!) + +[7.2.0-preview.6]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.5...v7.2.0-preview.6 + +## [7.2.0-preview.5] - 2021-04-14 + +### Breaking Changes + +- Make PowerShell Linux deb and RPM packages universal (#15109) +- Enforce AppLocker Deny configuration before Execution Policy Bypass configuration (#15035) +- Disallow mixed dash and slash in command line parameter prefix (#15142) (Thanks @davidBar-On!) + +### Experimental Features + +- `PSNativeCommandArgumentPassing`: Use `ArgumentList` for native executable invocation (breaking change) (#14692) + +### Engine Updates and Fixes + +- Add `IArgumentCompleterFactory` for parameterized `ArgumentCompleters` (#12605) (Thanks @powercode!) + +### General Cmdlet Updates and Fixes + +- Fix SSH remoting connection never finishing with misconfigured endpoint (#15175) +- Respect `TERM` and `NO_COLOR` environment variables for `$PSStyle` rendering (#14969) +- Use `ProgressView.Classic` when Virtual Terminal is not supported (#15048) +- Fix `Get-Counter` issue with `-Computer` parameter (#15166) (Thanks @krishnayalavarthi!) +- Fix redundant iteration while splitting lines (#14851) (Thanks @hez2010!) +- Enhance `Remove-Item -Recurse` to work with OneDrive (#14902) (Thanks @iSazonov!) +- Change minimum depth to 0 for `ConvertTo-Json` (#14830) (Thanks @kvprasoon!) +- Allow `Set-Clipboard` to accept empty string (#14579) +- Turn on and off `DECCKM` to modify keyboard mode for Unix native commands to work correctly (#14943) +- Fall back to `CopyAndDelete()` when `MoveTo()` fails due to an `IOException` (#15077) + +### Code Cleanup + +
+ + + +

We thank the following contributors!

+

@xtqqczze, @iSazonov, @ZhiZe-ZG

+ +
+ +
    +
  • Update .NET to 6.0.0-preview.3 (#15221)
  • +
  • Add space before comma to hosting test to fix error reported by SA1001 (#15224)
  • +
  • Add SecureStringHelper.FromPlainTextString helper method for efficient secure string creation (#14124) (Thanks @xtqqczze!)
  • +
  • Use static lambda keyword (#15154) (Thanks @iSazonov!)
  • +
  • Remove unnecessary Array -> List -> Array conversion in ProcessBaseCommand.AllProcesses (#15052) (Thanks @xtqqczze!)
  • +
  • Standardize grammar comments in Parser.cs (#15114) (Thanks @ZhiZe-ZG!)
  • +
  • Enable SA1001: Commas should be spaced correctly (#14171) (Thanks @xtqqczze!)
  • +
  • Refactor MultipleServiceCommandBase.AllServices (#15053) (Thanks @xtqqczze!)
  • +
+ +
+ +### Tools + +- Use Unix line endings for shell scripts (#15180) (Thanks @xtqqczze!) + +### Tests + +- Add the missing tag in Host Utilities tests (#14983) +- Update `copy-props` version in `package.json` (#15124) + +### Build and Packaging Improvements + +
+ + + +

We thank the following contributors!

+

@JustinGrote

+ +
+ +
    +
  • Fix yarn-lock for copy-props (#15225)
  • +
  • Make package validation regex accept universal Linux packages (#15226)
  • +
  • Bump NJsonSchema from 10.4.0 to 10.4.1 (#15190)
  • +
  • Make MSI and EXE signing always copy to fix daily build (#15191)
  • +
  • Sign internals of EXE package so that it works correctly when signed (#15132)
  • +
  • Bump Microsoft.NET.Test.Sdk from 16.9.1 to 16.9.4 (#15141)
  • +
  • Update daily release tag format to work with new Microsoft Update work (#15164)
  • +
  • Feature: Add Ubuntu 20.04 Support to install-powershell.sh (#15095) (Thanks @JustinGrote!)
  • +
  • Treat rebuild branches like release branches (#15099)
  • +
  • Update WiX to 3.11.2 (#15097)
  • +
  • Bump NJsonSchema from 10.3.11 to 10.4.0 (#15092)
  • +
  • Allow patching of preview releases (#15074)
  • +
  • Bump Newtonsoft.Json from 12.0.3 to 13.0.1 (#15084, #15085)
  • +
  • Update the minSize build package filter to be explicit (#15055)
  • +
  • Bump NJsonSchema from 10.3.10 to 10.3.11 (#14965)
  • +
+ +
+ +### Documentation and Help Content + +- Merge `7.2.0-preview.4` changes to master (#15056) +- Update `README` and `metadata.json` (#15046) +- Fix broken links for `dotnet` CLI (#14937) + +[7.2.0-preview.5]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.4...v7.2.0-preview.5 + +## [7.2.0-preview.4] - 2021-03-16 + +### Breaking Changes + +- Fix `Get-Date -UFormat` `%G` and `%g` behavior (#14555) (Thanks @brianary!) + +### Engine Updates and Fixes + +- Update engine script signature validation to match `Get-AuthenticodeSignature` logic (#14849) +- Avoid array allocations from `GetDirectories` and `GetFiles` (#14327) (Thanks @xtqqczze!) + +### General Cmdlet Updates and Fixes + +- Add `UseOSCIndicator` setting to enable progress indicator in terminal (#14927) +- Re-enable VT mode on Windows after running command in `ConsoleHost` (#14413) +- Fix `Move-Item` for `FileSystemProvider` to use copy-delete instead of move for DFS paths (#14913) +- Fix `PromptForCredential()` to add `targetName` as domain (#14504) +- Update `Concise` `ErrorView` to not show line information for errors from script module functions (#14912) +- Remove the 32,767 character limit on the environment block for `Start-Process` (#14111) (Thanks @hbuckle!) +- Don't write possible secrets to verbose stream for web cmdlets (#14788) + +### Tools + +- Update `dependabot` configuration to V2 format (#14882) +- Add tooling issue slots in PR template (#14697) + +### Tests + +- Move misplaced test file to tests directory (#14908) (Thanks @MarianoAlipi!) +- Refactor MSI CI (#14753) + +### Build and Packaging Improvements + +
+ + +Update .NET to version 6.0.100-preview.2.21155.3 + + +
    +
  • Update .NET to version 6.0.100-preview.2.21155.3 (#15007)
  • +
  • Bump Microsoft.PowerShell.Native to 7.2.0-preview.1 (#15030)
  • +
  • Create MSIX Bundle package in release pipeline (#14982)
  • +
  • Build self-contained minimal size package for Guest Config team (#14976)
  • +
  • Bump XunitXml.TestLogger from 3.0.62 to 3.0.66 (#14993) (Thanks @dependabot[bot]!)
  • +
  • Enable building PowerShell for Apple M1 runtime (#14923)
  • +
  • Fix the variable name in the condition for miscellaneous analysis CI (#14975)
  • +
  • Fix the variable usage in CI yaml (#14974)
  • +
  • Disable running markdown link verification in release build CI (#14971)
  • +
  • Bump Microsoft.CodeAnalysis.CSharp from 3.9.0-3.final to 3.9.0 (#14934) (Thanks @dependabot[bot]!)
  • +
  • Declare which variable group is used for checking the blob in the release build (#14970)
  • +
  • Update metadata and script to enable consuming .NET daily builds (#14940)
  • +
  • Bump NJsonSchema from 10.3.9 to 10.3.10 (#14933) (Thanks @dependabot[bot]!)
  • +
  • Use template that disables component governance for CI (#14938)
  • +
  • Add suppress for nuget multi-feed warning (#14893)
  • +
  • Bump NJsonSchema from 10.3.8 to 10.3.9 (#14926) (Thanks @dependabot[bot]!)
  • +
  • Add exe wrapper to release (#14881)
  • +
  • Bump Microsoft.ApplicationInsights from 2.16.0 to 2.17.0 (#14847)
  • +
  • Bump Microsoft.NET.Test.Sdk from 16.8.3 to 16.9.1 (#14895) (Thanks @dependabot[bot]!)
  • +
  • Bump NJsonSchema from 10.3.7 to 10.3.8 (#14896) (Thanks @dependabot[bot]!)
  • +
  • Disable codesign validation where the file type is not supported (#14885)
  • +
  • Fixing broken Experimental Feature list in powershell.config.json (#14858)
  • +
  • Bump NJsonSchema from 10.3.6 to 10.3.7 (#14855)
  • +
  • Add exe wrapper for Microsoft Update scenarios (#14737)
  • +
  • Install wget on CentOS 7 docker image (#14857)
  • +
  • Fix install-dotnet download (#14856)
  • +
  • Fix Bootstrap step in Windows daily test runs (#14820)
  • +
  • Bump NJsonSchema from 10.3.5 to 10.3.6 (#14818)
  • +
  • Bump NJsonSchema from 10.3.4 to 10.3.5 (#14807)
  • +
+ +
+ +### Documentation and Help Content + +- Update `README.md` and `metadata.json` for upcoming releases (#14755) +- Merge 7.1.3 and 7.0.6 Change log to master (#15009) +- Update `README` and `metadata.json` for releases (#14997) +- Update ChangeLog for `v7.1.2` release (#14783) +- Update ChangeLog for `v7.0.5` release (#14782) (Internal 14479) + +[7.2.0-preview.4]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.3...v7.2.0-preview.4 + +## [7.2.0-preview.3] - 2021-02-11 + +### Breaking Changes + +- Fix `Get-Date -UFormat %u` behavior to comply with ISO 8601 (#14549) (Thanks @brianary!) + +### Engine Updates and Fixes + +- Together with `PSDesiredStateConfiguration` `v3` module allows `Get-DscResource`, `Invoke-DscResource` and DSC configuration compilation on all platforms, supported by PowerShell (using class-based DSC resources). + +### Performance + +- Avoid array allocations from `Directory.GetDirectories` and `Directory.GetFiles`. (#14326) (Thanks @xtqqczze!) +- Avoid `string.ToLowerInvariant()` from `GetEnvironmentVariableAsBool()` to avoid loading libicu at startup (#14323) (Thanks @iSazonov!) +- Get PowerShell version in `PSVersionInfo` using assembly attribute instead of `FileVersionInfo` (#14332) (Thanks @Fs00!) + +### General Cmdlet Updates and Fixes + +- Suppress `Write-Progress` in `ConsoleHost` if output is redirected and fix tests (#14716) +- Experimental feature `PSAnsiProgress`: Add minimal progress bar using ANSI rendering (#14414) +- Fix web cmdlets to properly construct URI from body when using `-NoProxy` (#14673) +- Update the `ICommandPredictor` to provide more feedback and also make feedback easier to be correlated (#14649) +- Reset color after writing `Verbose`, `Debug`, and `Warning` messages (#14698) +- Fix using variable for nested `ForEach-Object -Parallel` calls (#14548) +- When formatting, if collection is modified, don't fail the entire pipeline (#14438) +- Improve completion of parameters for attributes (#14525) (Thanks @MartinGC94!) +- Write proper error messages for `Get-Command ' '` (#13564) (Thanks @jakekerr!) +- Fix typo in the resource string `ProxyURINotSupplied` (#14526) (Thanks @romero126!) +- Add support to `$PSStyle` for strikethrough and hyperlinks (#14461) +- Fix `$PSStyle` blink codes (#14447) (Thanks @iSazonov!) + +### Code Cleanup + +
+ + + +

We thank the following contributors!

+

@xtqqczze, @powercode

+ +
+ +
    +
  • Fix coding style issues: RCS1215, IDE0090, SA1504, SA1119, RCS1139, IDE0032 (#14356, #14341, #14241, #14204, #14442, #14443) (Thanks @xtqqczze!)
  • +
  • Enable coding style checks: CA2249, CA1052, IDE0076, IDE0077, SA1205, SA1003, SA1314, SA1216, SA1217, SA1213 (#14395, #14483, #14494, #14495, #14441, #14476, #14470, #14471, #14472) (Thanks @xtqqczze!)
  • +
  • Enable nullable in PowerShell codebase (#14160, #14172, #14088, #14154, #14166, #14184, #14178) (Thanks @powercode!)
  • +
  • Use string.Split(char) instead of string.Split(string) (#14465) (Thanks @xtqqczze!)
  • +
  • Use string.Contains(char) overload (#14368) (Thanks @xtqqczze!)
  • +
  • Refactor complex if statements (#14398) (Thanks @xtqqczze!)
  • +
+ +
+ +### Tools + +- Update script to use .NET 6 build resources (#14705) +- Fix the daily GitHub action (#14711) (Thanks @imba-tjd!) +- GitHub Actions: fix deprecated `::set-env` (#14629) (Thanks @imba-tjd!) +- Update markdown test tools (#14325) (Thanks @RDIL!) +- Upgrade `StyleCopAnalyzers` to `v1.2.0-beta.312` (#14354) (Thanks @xtqqczze!) + +### Tests + +- Remove packaging from daily Windows build (#14749) +- Update link to the Manning book (#14750) +- A separate Windows packaging CI (#14670) +- Update `ini` component version in test `package.json` (#14454) +- Disable `libmi` dependent tests for macOS. (#14446) + +### Build and Packaging Improvements + +
+ +
    +
  • Fix the NuGet feed name and URL for .NET 6
  • +
  • Fix third party signing for files in sub-folders (#14751)
  • +
  • Make build script variable an ArrayList to enable Add() method (#14748)
  • +
  • Remove old .NET SDKs to make dotnet restore work with the latest SDK in CI pipeline (#14746)
  • +
  • Remove outdated Linux dependencies (#14688)
  • +
  • Bump .NET SDK version to 6.0.0-preview.1 (#14719)
  • +
  • Bump NJsonSchema to 10.3.4 (#14714)
  • +
  • Update daily GitHub action to allow manual trigger (#14718)
  • +
  • Bump XunitXml.TestLogger to 3.0.62 (#14702)
  • +
  • Make universal deb package based on the deb package specification (#14681)
  • +
  • Add manual release automation steps and improve changelog script (#14445)
  • +
  • Fix release build to upload global tool packages to artifacts (#14620)
  • +
  • Port changes from the PowerShell v7.0.4 release (#14637)
  • +
  • Port changes from the PowerShell v7.1.1 release (#14621)
  • +
  • Updated README and metadata.json (#14401, #14606, #14612)
  • +
  • Do not push nupkg artifacts to MyGet (#14613)
  • +
  • Use one feed in each nuget.config in official builds (#14363)
  • +
  • Fix path signed RPMs are uploaded from in release build (#14424)
  • +
+ +
+ +### Documentation and Help Content + +- Update distribution support request template to point to .NET 5.0 support document (#14578) +- Remove security GitHub issue template (#14453) +- Add intent for using the Discussions feature in repo (#14399) +- Fix Universal Dashboard to refer to PowerShell Universal (#14437) +- Update document link because of HTTP 301 redirect (#14431) (Thanks @xtqqczze!) + +[7.2.0-preview.3]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.2...v7.2.0-preview.3 + +## [7.2.0-preview.2] - 2020-12-15 + +### Breaking Changes + +- Improve detection of mutable value types (#12495) (Thanks @vexx32!) +- Ensure `-PipelineVariable` is set for all output from script cmdlets (#12766) (Thanks @vexx32!) + +### Experimental Features + +- `PSAnsiRendering`: Enable ANSI formatting via `$PSStyle` and support suppressing ANSI output (#13758) + +### Performance + +- Optimize `IEnumerable` variant of replace operator (#14221) (Thanks @iSazonov!) +- Refactor multiply operation for better performance in two `Microsoft.PowerShell.Commands.Utility` methods (#14148) (Thanks @xtqqczze!) +- Use `Environment.TickCount64` instead of `Datetime.Now` as the random seed for AppLocker test file content (#14283) (Thanks @iSazonov!) +- Avoid unnecessary array allocations when searching in GAC (#14291) (Thanks @xtqqczze!) +- Use `OrdinalIgnoreCase` in `CommandLineParser` (#14303) (Thanks @iSazonov!) +- Use `StringComparison.Ordinal` instead of `StringComparison.CurrentCulture` (#14298) (Thanks @iSazonov!) +- Avoid creating instances of the generated delegate helper class in `-replace` implementation (#14128) + +### General Cmdlet Updates and Fixes + +- Write better error message if config file is broken (#13496) (Thanks @iSazonov!) +- Make AppLocker Enforce mode take precedence over UMCI Audit mode (#14353) +- Add `-SkipLimitCheck` switch to `Import-PowerShellDataFile` (#13672) +- Restrict `New-Object` in NoLanguage mode under lock down (#14140) (Thanks @krishnayalavarthi!) +- The `-Stream` parameter now works with directories (#13941) (Thanks @kyanha!) +- Avoid an exception if file system does not support reparse points (#13634) (Thanks @iSazonov!) +- Enable `CA1012`: Abstract types should not have public constructors (#13940) (Thanks @xtqqczze!) +- Enable `SA1212`: Property accessors should follow order (#14051) (Thanks @xtqqczze!) + +### Code Cleanup + +
+ + + +

We thank the following contributors!

+

@xtqqczze, @matthewjdegarmo, @powercode, @Gimly

+ +
+ +
    +
  • Enable SA1007: Operator keyword should be followed by space (#14130) (Thanks @xtqqczze!)
  • +
  • Expand where alias to Where-Object in Reset-PWSHSystemPath.ps1 (#14113) (Thanks @matthewjdegarmo!)
  • +
  • Fix whitespace issues (#14092) (Thanks @xtqqczze!)
  • +
  • Add StyleCop.Analyzers package (#13963) (Thanks @xtqqczze!)
  • +
  • Enable IDE0041: UseIsNullCheck (#14041) (Thanks @xtqqczze!)
  • +
  • Enable IDE0082: ConvertTypeOfToNameOf (#14042) (Thanks @xtqqczze!)
  • +
  • Remove unnecessary usings part 4 (#14023) (Thanks @xtqqczze!)
  • +
  • Fix PriorityAttribute name (#14094) (Thanks @xtqqczze!)
  • +
  • Enable nullable: System.Management.Automation.Interpreter.IBoxableInstruction (#14165) (Thanks @powercode!)
  • +
  • Enable nullable: System.Management.Automation.Provider.IDynamicPropertyProvider (#14167) (Thanks @powercode!)
  • +
  • Enable nullable: System.Management.Automation.Language.IScriptExtent (#14179) (Thanks @powercode!)
  • +
  • Enable nullable: System.Management.Automation.Language.ICustomAstVisitor2 (#14192) (Thanks @powercode!)
  • +
  • Enable nullable: System.Management.Automation.LanguagePrimitives.IConversionData (#14187) (Thanks @powercode!)
  • +
  • Enable nullable: System.Automation.Remoting.Client.IWSManNativeApiFacade (#14186) (Thanks @powercode!)
  • +
  • Enable nullable: System.Management.Automation.Language.ISupportsAssignment (#14180) (Thanks @powercode!)
  • +
  • Enable nullable: System.Management.Automation.ICommandRuntime2 (#14183) (Thanks @powercode!)
  • +
  • Enable nullable: System.Management.Automation.IOutputProcessingState (#14175) (Thanks @powercode!)
  • +
  • Enable nullable: System.Management.Automation.IJobDebugger (#14174) (Thanks @powercode!)
  • +
  • Enable nullable: System.Management.Automation.Interpreter.IInstructionProvider (#14173) (Thanks @powercode!)
  • +
  • Enable nullable: System.Management.Automation.IHasSessionStateEntryVisibility (#14169) (Thanks @powercode!)
  • +
  • Enable nullable: System.Management.Automation.Tracing.IEtwEventCorrelator (#14168) (Thanks @powercode!)
  • +
  • Fix syntax error in Windows packaging script (#14377)
  • +
  • Remove redundant local assignment in AclCommands (#14358) (Thanks @xtqqczze!)
  • +
  • Enable nullable: System.Management.Automation.Language.IAstPostVisitHandler (#14164) (Thanks @powercode!)
  • +
  • Enable nullable: System.Management.Automation.IModuleAssemblyInitializer (#14158) (Thanks @powercode!)
  • +
  • Use Microsoft.PowerShell.MarkdownRender package from nuget.org (#14090)
  • +
  • Replace GetFiles in TestModuleManifestCommand (#14317) (Thanks @xtqqczze!)
  • +
  • Enable nullable: System.Management.Automation.Provider.IContentWriter (#14152) (Thanks @powercode!)
  • +
  • Simplify getting Encoding in TranscriptionOption.FlushContentToDisk (#13910) (Thanks @Gimly!)
  • +
  • Mark applicable structs as readonly and use in-modifier (#13919) (Thanks @xtqqczze!)
  • +
  • Enable nullable: System.Management.Automation.IArgumentCompleter (#14182) (Thanks @powercode!)
  • +
  • Enable CA1822: Mark private members as static (#13897) (Thanks @xtqqczze!)
  • +
  • Fix IDE0090: Simplify new expression part 6 (#14338) (Thanks @xtqqczze!)
  • +
  • Avoid array allocations from GetDirectories/GetFiles. (#14328) (Thanks @xtqqczze!)
  • +
  • Avoid array allocations from GetDirectories/GetFiles. (#14330) (Thanks @xtqqczze!)
  • +
  • Fix RCS1188: Remove redundant auto-property initialization part 2 (#14262) (Thanks @xtqqczze!)
  • +
  • Enable nullable: System.Management.Automation.Host.IHostSupportsInteractiveSession (#14170) (Thanks @powercode!)
  • +
  • Enable nullable: System.Management.Automation.Provider.IPropertyCmdletProvider (#14176) (Thanks @powercode!)
  • +
  • Fix IDE0090: Simplify new expression part 5 (#14301) (Thanks @xtqqczze!)
  • +
  • Enable IDE0075: SimplifyConditionalExpression (#14078) (Thanks @xtqqczze!)
  • +
  • Remove unnecessary usings part 9 (#14288) (Thanks @xtqqczze!)
  • +
  • Fix StyleCop and MarkdownLint CI failures (#14297) (Thanks @xtqqczze!)
  • +
  • Enable SA1000: Keywords should be spaced correctly (#13973) (Thanks @xtqqczze!)
  • +
  • Fix RCS1188: Remove redundant auto-property initialization part 1 (#14261) (Thanks @xtqqczze!)
  • +
  • Mark private members as static part 10 (#14235) (Thanks @xtqqczze!)
  • +
  • Mark private members as static part 9 (#14234) (Thanks @xtqqczze!)
  • +
  • Fix SA1642 for Microsoft.Management.Infrastructure.CimCmdlets (#14239) (Thanks @xtqqczze!)
  • +
  • Use AsSpan/AsMemory slice constructor (#14265) (Thanks @xtqqczze!)
  • +
  • Fix IDE0090: Simplify new expression part 4.6 (#14260) (Thanks @xtqqczze!)
  • +
  • Fix IDE0090: Simplify new expression part 4.5 (#14259) (Thanks @xtqqczze!)
  • +
  • Fix IDE0090: Simplify new expression part 4.3 (#14257) (Thanks @xtqqczze!)
  • +
  • Fix IDE0090: Simplify new expression part 4.2 (#14256) (Thanks @xtqqczze!)
  • +
  • Fix IDE0090: Simplify new expression part 2 (#14200) (Thanks @xtqqczze!)
  • +
  • Enable SA1643: Destructor summary documentation should begin with standard text (#14236) (Thanks @xtqqczze!)
  • +
  • Fix IDE0090: Simplify new expression part 4.4 (#14258) (Thanks @xtqqczze!)
  • +
  • Use xml documentation child blocks correctly (#14249) (Thanks @xtqqczze!)
  • +
  • Fix IDE0090: Simplify new expression part 4.1 (#14255) (Thanks @xtqqczze!)
  • +
  • Use consistent spacing in xml documentation tags (#14231) (Thanks @xtqqczze!)
  • +
  • Enable IDE0074: Use coalesce compound assignment (#13396) (Thanks @xtqqczze!)
  • +
  • Remove unnecessary finalizers (#14248) (Thanks @xtqqczze!)
  • +
  • Mark local variable as const (#13217) (Thanks @xtqqczze!)
  • +
  • Fix IDE0032: UseAutoProperty part 2 (#14244) (Thanks @xtqqczze!)
  • +
  • Fix IDE0032: UseAutoProperty part 1 (#14243) (Thanks @xtqqczze!)
  • +
  • Mark private members as static part 8 (#14233) (Thanks @xtqqczze!)
  • +
  • Fix CA1822: Mark members as static part 6 (#14229) (Thanks @xtqqczze!)
  • +
  • Fix CA1822: Mark members as static part 5 (#14228) (Thanks @xtqqczze!)
  • +
  • Fix CA1822: Mark members as static part 4 (#14227) (Thanks @xtqqczze!)
  • +
  • Fix CA1822: Mark members as static part 3 (#14226) (Thanks @xtqqczze!)
  • +
  • Fix CA1822: Mark members as static part 2 (#14225) (Thanks @xtqqczze!)
  • +
  • Fix CA1822: Mark members as static part 1 (#14224) (Thanks @xtqqczze!)
  • +
  • Use see keyword in documentation (#14220) (Thanks @xtqqczze!)
  • +
  • Enable CA2211: Non-constant fields should not be visible (#14073) (Thanks @xtqqczze!)
  • +
  • Enable CA1816: Dispose methods should call SuppressFinalize (#14074) (Thanks @xtqqczze!)
  • +
  • Remove incorrectly implemented finalizer (#14246) (Thanks @xtqqczze!)
  • +
  • Fix CA1822: Mark members as static part 7 (#14230) (Thanks @xtqqczze!)
  • +
  • Fix SA1122: Use string.Empty for empty strings (#14218) (Thanks @xtqqczze!)
  • +
  • Fix various xml documentation issues (#14223) (Thanks @xtqqczze!)
  • +
  • Remove unnecessary usings part 8 (#14072) (Thanks @xtqqczze!)
  • +
  • Enable SA1006: Preprocessor keywords should not be preceded by space (#14052) (Thanks @xtqqczze!)
  • +
  • Fix SA1642 for Microsoft.PowerShell.Commands.Utility (#14142) (Thanks @xtqqczze!)
  • +
  • Enable CA2216: Disposable types should declare finalizer (#14089) (Thanks @xtqqczze!)
  • +
  • Wrap and name LoadBinaryModule arguments (#14193) (Thanks @xtqqczze!)
  • +
  • Wrap and name GetListOfFilesFromData arguments (#14194) (Thanks @xtqqczze!)
  • +
  • Enable SA1002: Semicolons should be spaced correctly (#14197) (Thanks @xtqqczze!)
  • +
  • Fix IDE0090: Simplify new expression part 3 (#14201) (Thanks @xtqqczze!)
  • +
  • Enable SA1106: Code should not contain empty statements (#13964) (Thanks @xtqqczze!)
  • +
  • Code performance fixes follow-up (#14207) (Thanks @xtqqczze!)
  • +
  • Remove uninformative comments (#14199) (Thanks @xtqqczze!)
  • +
  • Fix IDE0090: Simplify new expression part 1 (#14027) (Thanks @xtqqczze!)
  • +
  • Enable SA1517: Code should not contain blank lines at start of file (#14131) (Thanks @xtqqczze!)
  • +
  • Enable SA1131: Use readable conditions (#14132) (Thanks @xtqqczze!)
  • +
  • Enable SA1507: Code should not contain multiple blank lines in a row (#14136) (Thanks @xtqqczze!)
  • +
  • Enable SA1516 Elements should be separated by blank line (#14137) (Thanks @xtqqczze!)
  • +
  • Enable IDE0031: Null check can be simplified (#13548) (Thanks @xtqqczze!)
  • +
  • Enable CA1065: Do not raise exceptions in unexpected locations (#14117) (Thanks @xtqqczze!)
  • +
  • Enable CA1000: Do not declare static members on generic types (#14097) (Thanks @xtqqczze!)
  • +
+ +
+ +### Tools + +- Fixing formatting in `Reset-PWSHSystemPath.ps1` (#13689) (Thanks @dgoldman-msft!) + +### Tests + +- Reinstate `Test-Connection` tests (#13324) +- Update markdown test packages with security fixes (#14145) + +### Build and Packaging Improvements + +
+ +
    +
  • Fix a typo in the Get-ChangeLog function (#14129)
  • +
  • Update README and metadata.json for 7.2.0-preview.1 release (#14104)
  • +
  • Bump NJsonSchema from 10.2.2 to 10.3.1 (#14040)
  • +
  • Move windows package signing to use ESRP (#14060)
  • +
  • Use one feed in each nuget.config in official builds (#14363)
  • +
  • Fix path signed RPMs are uploaded from in release build (#14424)
  • +
  • Add Microsoft.PowerShell.MarkdownRender to the package reference list (#14386)
  • +
  • Fix issue with unsigned build (#14367)
  • +
  • Move macOS and nuget to ESRP signing (#14324)
  • +
  • Fix nuget packaging to scrub NullableAttribute (#14344)
  • +
  • Bump Microsoft.NET.Test.Sdk from 16.8.0 to 16.8.3 (#14310)
  • +
  • Bump Markdig.Signed from 0.22.0 to 0.22.1 (#14305)
  • +
  • Bump Microsoft.ApplicationInsights from 2.15.0 to 2.16.0 (#14031)
  • +
  • Move Linux to ESRP signing (#14210)
  • +
+ +
+ +### Documentation and Help Content + +- Fix example `nuget.config` (#14349) +- Fix a broken link in Code Guidelines doc (#14314) (Thanks @iSazonov!) + +[7.2.0-preview.2]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.1...v7.2.0-preview.2 + +## [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 (#13732) (Thanks @Gimly!) + +### General Cmdlet Updates and Fixes + +- Update `pwsh -?` output to match docs (#13748) +- Fix `NullReferenceException` in `Test-Json` (#12942) (Thanks @iSazonov!) +- Make `Dispose` in `TranscriptionOption` idempotent (#13839) (Thanks @krishnayalavarthi!) +- Add additional Microsoft PowerShell modules to the tracked modules list (#12183) +- Relax further `SSL` verification checks for `WSMan` on non-Windows hosts with verification available (#13786) (Thanks @jborean93!) +- Add the `OutputTypeAttribute` to `Get-ExperimentalFeature` (#13738) (Thanks @ThomasNieto!) +- Fix blocking wait when starting file associated with a Windows application (#13750) +- Emit warning if `ConvertTo-Json` exceeds `-Depth` value (#13692) + +### Code Cleanup + +
+ + + +

We thank the following contributors!

+

@xtqqczze, @mkswd, @ThomasNieto, @PatLeong, @paul-cheung, @georgettica

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

We thank the following contributors!

+

@mkswd, @xtqqczze

+ +
+ +
    +
  • Bump Microsoft.NET.Test.Sdk to 16.8.0 (#14020)
  • +
  • Bump Microsoft.CodeAnalysis.CSharp to 3.8.0 (#14075)
  • +
  • Remove workarounds for .NET 5 RTM builds (#14038)
  • +
  • Migrate 3rd party signing to ESRP (#14010)
  • +
  • Fixes to release pipeline for GA release (#14034)
  • +
  • Don't do a shallow checkout (#13992)
  • +
  • Add validation and dependencies for Ubuntu 20.04 distribution to packaging script (#13993)
  • +
  • Add .NET install workaround for RTM (#13991)
  • +
  • Move to ESRP signing for Windows files (#13988)
  • +
  • Update PSReadLine version to 2.1.0 (#13975)
  • +
  • Bump .NET to version 5.0.100-rtm.20526.5 (#13920)
  • +
  • Update script to use .NET RTM feeds (#13927)
  • +
  • Add checkout step to release build templates (#13840)
  • +
  • Turn on /features:strict for all projects (#13383) (Thanks @xtqqczze!)
  • +
  • Bump NJsonSchema to 10.2.2 (#13722, #13751)
  • +
  • Add flag to make Linux script publish to production repo (#13714)
  • +
  • Bump Markdig.Signed to 0.22.0 (#13741)
  • +
  • Use new release script for Linux packages (#13705)
  • +
+ +
+ +### Documentation and Help Content + +- Fix links to LTS versions for Windows (#14070) +- Fix `crontab` formatting in example doc (#13712) (Thanks @dgoldman-msft!) + +[7.2.0-preview.1]: https://github.com/PowerShell/PowerShell/compare/v7.1.0...v7.2.0-preview.1 diff --git a/CHANGELOG/preview.md b/CHANGELOG/preview.md index 9086cdd566..035db72138 100644 --- a/CHANGELOG/preview.md +++ b/CHANGELOG/preview.md @@ -1,1083 +1 @@ # Current preview release - -## [7.2.0-rc.1] - 2021-10-21 - -### General Cmdlet Updates and Fixes - -- Disallow COM calls for AppLocker system lockdown (#16268) -- Configure `Microsoft.ApplicationInsights` to not send cloud role name (#16246) -- Disallow `Add-Type` in NoLanguage mode on a locked down machine (#16245) -- Make property names for color VT100 sequences consistent with documentation (#16212) -- Make moving a directory into itself with `Move-Item` an error (#16198) -- Change `FileSystemInfo.Target` from a `CodeProperty` to an `AliasProperty` that points to `FileSystemInfo.LinkTarget` (#16165) - -### Tests - -- Removed deprecated docker-based tests for PowerShell release packages (#16224) - -### Build and Packaging Improvements - -
- - -

Bump .NET SDK to 6.0.100-rc.2

-
- -
    -
  • Update .NET 6 to version 6.0.100-rc.2.21505.57 (#16249)
  • -
  • Fix RPM packaging (Internal 17704)
  • -
  • Update ThirdPartyNotices.txt (#16283)
  • -
  • Update pipeline yaml file to use ubuntu-latest image (#16279)
  • -
  • Add script to generate cgmanifest.json (#16278)
  • -
  • Update version of Microsoft.PowerShell.Native and Microsoft.PowerShell.MarkdownRender packages (#16277)
  • -
  • Add cgmanifest.json for generating correct third party notice file (#16266)
  • -
  • Only upload stable buildinfo for stable releases (#16251)
  • -
  • Don't upload .dep or .tar.gz for RPM because there are none (#16230)
  • -
  • Ensure RPM license is recognized (#16189)
  • -
  • Add condition to only generate release files in local dev build only (#16259)
  • -
  • Ensure psoptions.json and manifest.spdx.json files always exist in packages (#16258)
  • -
  • Fix CI script and split out ARM runs (#16252)
  • -
  • Update vPack task version to 12 (#16250)
  • -
  • Sign third party executables (#16229)
  • -
  • Add Software Bill of Materials to the main packages (#16202)
  • -
  • Upgrade set-value package for markdown test (#16196)
  • -
  • Fix Microsoft update spelling issue (#16178)
  • -
  • Move vPack build to 1ES Pool (#16169)
  • -
- -
- -[7.2.0-rc.1]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.10...v7.2.0-rc.1 - -## [7.2.0-preview.10] - 2021-09-28 - -### Engine Updates and Fixes - -- Remove duplicate remote server mediator code (#16027) - -### General Cmdlet Updates and Fixes - -- Use `PlainText` when writing to a host that doesn't support VT (#16092) -- Remove support for `AppExecLinks` to retrieve target (#16044) -- Move `GetOuputString()` and `GetFormatStyleString()` to `PSHostUserInterface` as public API (#16075) -- Add `isOutputRedirected` parameter to `GetFormatStyleString()` method (#14397) -- Fix `ConvertTo-SecureString` with key regression due to .NET breaking change (#16068) -- Fix regression in `Move-Item` to only fallback to `CopyAndDelete` in specific cases (#16029) -- Set `$?` correctly for command expression with redirection (#16046) -- Use `CurrentCulture` when handling conversions to `DateTime` in `Add-History` (#16005) (Thanks @vexx32!) -- Fix `NullReferenceException` in `Format-Wide` (#15990) (Thanks @DarylGraves!) - -### Code Cleanup - -
- - - -

We thank the following contributors!

-

@xtqqczze!

- -
- -
    -
  • Improve CommandInvocationIntrinsics API documentation and style (#14369)
  • -
  • Use bool?.GetValueOrDefault() in FormatWideCommand (#15988) (Thanks @xtqqczze!)
  • -
- -
- -### Tools - -- Fix typo in build.psm1 (#16038) (Thanks @eltociear!) -- Add `.stylecop` to `filetypexml` and format it (#16025) -- Enable sending Teams notification when workflow fails (#15982) - -### Tests - -- Enable two previously disabled `Get-Process` tests (#15845) (Thanks @iSazonov!) - -### Build and Packaging Improvements - -
- - -Details - - -
    -
  • Add SHA256 hashes to release (#16147)
  • -
  • Update Microsoft.CodeAnalysis.CSharp version (#16138)
  • -
  • Change path for Component Governance for build to the path we actually use to build (#16137)
  • -
  • Bump Microsoft.CodeAnalysis.NetAnalyzers (#16070) (#16045) (#16036) (#16021) (#15985)
  • -
  • Update .NET to 6.0.100-rc.1.21458.32 (#16066)
  • -
  • Update minimum required OS version for macOS (#16088)
  • -
  • Ensure locale is set correctly on Ubuntu 20.04 in CI (#16067) (#16073)
  • -
  • Update .NET SDK version from 6.0.100-preview.6.21355.2 to 6.0.100-rc.1.21455.2 (#16041) (#16028) (#15648)
  • -
  • Fix the GitHub Action for updating .NET daily builds (#16042)
  • -
  • Move from PkgES hosted agents to 1ES hosted agents (#16023)
  • -
  • Update Ubuntu images to use Ubuntu 20.04 (#15906)
  • -
  • Fix the macOS build by updating the pool image name (#16010)
  • -
  • Use Alpine 3.12 for building PowerShell for Alpine Linux (#16008)
  • -
  • Ignore error from Find-Package (#15999)
  • -
  • Find packages separately for each source in UpdateDotnetRuntime.ps1 script (#15998)
  • -
  • Update metadata to start using .NET 6 RC1 builds (#15981)
  • -
- -
- -[7.2.0-preview.10]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.9...v7.2.0-preview.10 - -## [7.2.0-preview.9] - 2021-08-23 - -### Breaking Changes - -- Change the default value of `$PSStyle.OutputRendering` to `OutputRendering.Host` and remove `OutputRendering.Automatic` (#15882) -- Fix `CA1052` for public API to make classes static when they only have static methods (#15775) (Thanks @xtqqczze!) -- Update `pwsh.exe -File` to only accept `.ps1` script files on Windows (#15859) - -### Engine Updates and Fixes - -- Update .NET adapter to handle interface static members properly (#15908) -- Catch and handle unauthorized access exception when removing AppLocker test files (#15881) - -### General Cmdlet Updates and Fixes - -- Add `-PassThru` parameter to `Set-Clipboard` (#13713) (Thanks @ThomasNieto!) -- Add `-Encoding` parameter for `Tee-Object` (#12135) (Thanks @Peter-Schneider!) -- Update `ConvertTo-Csv` and `Export-Csv` to handle `IDictionary` objects (#11029) (Thanks @vexx32!) -- Update the parameters `-Exception` and `-ErrorRecord` for `Write-Error` to be position 0 (#13813) (Thanks @ThomasNieto!) -- Don't use `ArgumentList` when creating COM object with `New-Object` as it's not applicable to the COM parameter set (#15915) -- Fix `$PSStyle` list output to correctly show `TableHeader` (#15928) -- Remove the `PSImplicitRemotingBatching` experimental feature (#15863) -- Fix issue with `Get-Process -Module` failing to stop when it's piped to `Select-Object` (#15682) (Thanks @ArmaanMcleod!) -- Make the experimental features `PSUnixFileStat`, `PSCultureInvariantReplaceOperator`, `PSNotApplyErrorActionToStderr`, `PSAnsiRendering`, `PSAnsiProgressFeatureName` stable (#15864) -- Enhance `Remove-Item` to work with OneDrive (#15571) (Thanks @iSazonov!) -- Make global tool entrypoint class static (#15880) -- Update `ServerRemoteHost` version to be same as `PSVersion` (#15809) -- Make the initialization of `HttpKnownHeaderNames` thread safe (#15519) (Thanks @iSazonov!) -- `ConvertTo-Csv`: Quote fields with quotes and newlines when using `-UseQuotes AsNeeded` (#15765) (Thanks @lselden!) -- Forwarding progress stream changes from `Foreach-Object -Parallel` runspaces (#14271) (Thanks @powercode!) -- Add validation to `$PSStyle` to reject printable text when setting a property that only expects ANSI escape sequence (#15825) - -### Code Cleanup - -
- - - -

We thank the following contributors!

-

@xtqqczze

- -
- -
    -
  • Avoid unneeded array allocation in module code (#14329) (Thanks @xtqqczze!)
  • -
  • Enable and fix analysis rules CA1052, CA1067, and IDE0049 (#15840) (Thanks @xtqqczze!)
  • -
  • Avoid unnecessary allocation in formatting code (#15832) (Thanks @xtqqczze!)
  • -
  • Specify the analyzed API surface for all code quality rules (#15778) (Thanks @xtqqczze!)
  • -
- -
- -### Tools - -- Enable `/rebase` to automatically rebase a PR (#15808) -- Update `.editorconfig` to not replace tabs with spaces in `.tsv` files (#15815) (Thanks @SethFalco!) -- Update PowerShell team members in the change log generation script (#15817) - -### Tests - -- Add more tests to validate the current command error handling behaviors (#15919) -- Make `Measure-Object` property test independent of the file system (#15879) -- Add more information when a `syslog` parsing error occurs (#15857) -- Harden logic when looking for `syslog` entries to be sure that we select based on the process id (#15841) - -### Build and Packaging Improvements - -
- - - -

We thank the following contributors!

-

@xtqqczze

- -
- -
    -
  • Disable implicit namespace imports for test projects (#15895)
  • -
  • Update language version to 10 and fix related issues (#15886)
  • -
  • Update CodeQL workflow to use Ubuntu 18.04 (#15868)
  • -
  • Bump the version of various packages (#15944, #15934, #15935, #15891, #15812, #15822) (Thanks @xtqqczze!)
  • -
- -
- -### Documentation and Help Content - -- Update `README` and `metadata files` for release `v7.2.0-preview.8` (#15819) -- Update change logs for 7.0.7 and 7.1.4 (#15921) -- Fix spelling in XML docs (#15939) (Thanks @slowy07!) -- Update PowerShell Committee members (#15837) - -[7.2.0-preview.9]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.8...v7.2.0-preview.9 - -## [7.2.0-preview.8] - 2021-07-22 - -### Engine Updates and Fixes - -- Add a Windows mode to `$PSNativeCommandArgumentPassing` that allows some commands to use legacy argument passing (#15408) -- Use `nameof` to get parameter names when creating `ArgumentNullException` (#15604) (Thanks @gukoff!) -- Test if a command is 'Out-Default' more thoroughly for transcribing scenarios (#15653) -- Add `Microsoft.PowerShell.Crescendo` to telemetry allow list (#15372) - -### General Cmdlet Updates and Fixes - -- Use `$PSStyle.Formatting.FormatAccent` for `Format-List` and `$PSStyle.Formatting.TableHeader` for `Format-Table` output (#14406) -- Highlight using error color the exception `Message` and underline in `PositionMessage` for `Get-Error` (#15786) -- Implement a completion for View parameter of format cmdlets (#14513) (Thanks @iSazonov!) -- Add support to colorize `FileInfo` file names (#14403) -- Don't serialize to JSON ETS properties for `DateTime` and `string` types (#15665) -- Fix `HyperVSocketEndPoint.ServiceId` setter (#15704) (Thanks @xtqqczze!) -- Add `DetailedView` to `$ErrorView` (#15609) - -### Code Cleanup - -
- - - -

We thank the following contributors!

-

@iSazonov, @xtqqczze

- -
- -
    -
  • Remove consolehost.proto file (#15741) (Thanks @iSazonov!)
  • -
  • Implement IDisposable for ConvertToJsonCommand (#15787) (Thanks @xtqqczze!)
  • -
  • Fix IDisposable implementation for CommandPathSearch (#15793) (Thanks @xtqqczze!)
  • -
  • Delete IDE dispose analyzer rules (#15798) (Thanks @xtqqczze!)
  • -
  • Seal private classes (#15725) (Thanks @xtqqczze!)
  • -
  • Enable IDE0029: UseCoalesceExpression (#15770) (Thanks @xtqqczze!)
  • -
  • Enable IDE0070: UseSystemHashCode (#15715) (Thanks @xtqqczze!)
  • -
  • Enable IDE0030: UseCoalesceExpressionForNullable (#14289) (Thanks @xtqqczze!)
  • -
  • Fix CA1846 and CA1845 for using AsSpan instead of Substring (#15738)
  • -
  • Use List<T>.RemoveAll to avoid creating temporary list (#15686) (Thanks @xtqqczze!)
  • -
  • Enable IDE0044: MakeFieldReadonly (#13880) (Thanks @xtqqczze!)
  • -
  • Disable IDE0130 (#15728) (Thanks @xtqqczze!)
  • -
  • Make classes sealed (#15675) (Thanks @xtqqczze!)
  • -
  • Enable CA1043: Use integral or string argument for indexers (#14467) (Thanks @xtqqczze!)
  • -
  • Enable CA1812 (#15674) (Thanks @xtqqczze!)
  • -
  • Replace Single with First when we know the element count is 1 (#15676) (Thanks @xtqqczze!)
  • -
  • Skip analyzers for Microsoft.Management.UI.Internal (#15677) (Thanks @xtqqczze!)
  • -
  • Fix CA2243: Attribute string literals should parse correctly (#15622) (Thanks @xtqqczze!)
  • -
  • Enable CA1401 (#15621) (Thanks @xtqqczze!)
  • -
  • Fix CA1309: Use ordinal StringComparison in Certificate Provider (#14352) (Thanks @xtqqczze!)
  • -
  • Fix CA1839: Use Environment.ProcessPath (#15650) (Thanks @xtqqczze!)
  • -
  • Add new analyzer rules (#15620) (Thanks @xtqqczze!)
  • -
- -
- -### Tools - -- Add `SkipRoslynAnalyzers` parameter to `Start-PSBuild` (#15640) (Thanks @xtqqczze!) -- Create issue template for issues updating PowerShell through Windows update. (#15700) -- Add `DocumentationAnalyzers` to build (#14336) (Thanks @xtqqczze!) -- Convert GitHub issue templates to modern forms (#15645) - -### Tests - -- Add more tests for `ConvertFrom-Json` (#15706) (Thanks @strawgate!) -- Update `glob-parent` and `hosted-git-info` test dependencies (#15643) - -### Build and Packaging Improvements - -
- - -Update .NET to version v6.0.0-preview.6 - - -
    -
  • Add new package name for osx-arm64 (#15813)
  • -
  • Prefer version when available for dotnet-install (#15810)
  • -
  • Make warning about MU being required dynamic (#15776)
  • -
  • Add Start-PSBootstrap before running tests (#15804)
  • -
  • Update to .NET 6 Preview 6 and use crossgen2 (#15763)
  • -
  • Enable ARM64 packaging for macOS (#15768)
  • -
  • Make Microsoft Update opt-out/in check boxes work (#15784)
  • -
  • Add Microsoft Update opt out to MSI install (#15727)
  • -
  • Bump NJsonSchema from 10.4.4 to 10.4.5 (#15769)
  • -
  • Fix computation of SHA512 checksum (#15736)
  • -
  • Update the script to use quality parameter for dotnet-install (#15731)
  • -
  • Generate SHA512 checksum file for all packages (#15678)
  • -
  • Enable signing daily release build with lifetime certificate (#15642)
  • -
  • Update metadata and README for 7.2.0-preview.7 (#15593)
  • -
- -
- -### Documentation and Help Content - -- Fix broken RFC links (#15807) -- Add to bug report template getting details from `Get-Error` (#15737) -- Update issue templates to link to new docs (#15711) -- Add @jborean93 to Remoting Working Group (#15683) - -[7.2.0-preview.8]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.7...v7.2.0-preview.8 - -## [7.2.0-preview.7] - 2021-06-17 - -### Breaking Changes - -- Remove PSDesiredStateConfiguration v2.0.5 module and published it to the PowerShell Gallery (#15536) - -### Engine Updates and Fixes - -- Fix splatting being treated as positional parameter in completions (#14623) (Thanks @MartinGC94!) -- Prevent PowerShell from crashing when a telemetry mutex can't be created (#15574) (Thanks @gukoff!) -- Ignore all exceptions when disposing an instance of a subsystem implementation (#15511) -- Wait for SSH exit when closing remote connection (#14635) (Thanks @dinhngtu!) - -### Performance - -- Retrieve `ProductVersion` using informational version attribute in `AmsiUtils.Init()` (#15527) (Thanks @Fs00!) - -### General Cmdlet Updates and Fixes - -- Fix retrieving dynamic parameters from provider even if globbed path returns no results (#15525) -- Revert "Enhance Remove-Item to work with OneDrive (#15260)" due to long path issue (#15546) - -### Code Cleanup - -
- - - -

We thank the following contributors!

-

@octos4murai, @iSazonov, @Fs00

- -
- -
    -
  • Correct parameter name passed to exception in PSCommand constructor (#15580) (Thanks @octos4murai!)
  • -
  • Enable nullable: System.Management.Automation.ICommandRuntime (#15566) (Thanks @iSazonov!)
  • -
  • Clean up code regarding AppDomain.CreateDomain and AppDomain.Unload (#15554)
  • -
  • Replace ProcessModule.FileName with Environment.ProcessPath and remove PSUtils.GetMainModule (#15012) (Thanks @Fs00!)
  • -
- -
- -### Tests - -- Fix `Start-Benchmarking` to put `TargetPSVersion` and `TargetFramework` in separate parameter sets (#15508) -- Add `win-x86` test package to the build (#15517) - -### Build and Packaging Improvements - -
- - - -

We thank the following contributors!

-

@schuelermine

- -
- -
    -
  • Update README.md and metadata.json for version 7.2.0-preview.6 (#15464)
  • -
  • Make sure GA revision increases from RC and Preview releases (#15558)
  • -
  • Remove SupportsShouldProcess from Start-PSBootstrap in build.psm1 (#15491) (Thanks @schuelermine!)
  • -
  • Update DotnetMetadataRuntime.json next channel to take daily build from .NET preview 5 (#15518)
  • -
  • Fix deps.json update in the release pipeline (#15486)
  • -
- -
- -### Documentation and Help Content - -- Add new members to Engine and Cmdlet Working Groups document (#15560) -- Update the `mdspell` command to exclude the folder that should be ignored (#15576) -- Replace 'User Voice' with 'Feedback Hub' in `README.md` (#15557) -- Update Virtual User Group chat links (#15505) (Thanks @Jaykul!) -- Fix typo in `FileSystemProvider.cs` (#15445) (Thanks @eltociear!) -- Add `PipelineStoppedException` notes to PowerShell API (#15324) -- Updated governance on Working Groups (WGs) (#14603) -- Correct and improve XML documentation comments on `PSCommand` (#15568) (Thanks @octos4murai!) - -[7.2.0-preview.7]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.6...v7.2.0-preview.7 - -## [7.2.0-preview.6] - 2021-05-27 - -### Experimental Features - -- [Breaking Change] Update prediction interface to provide additional feedback to a predictor plugin (#15421) - -### Performance - -- Avoid collecting logs in buffer if a pipeline execution event is not going to be logged (#15350) -- Avoid allocation in `LanguagePrimitives.UpdateTypeConvertFromTypeTable` (#15168) (Thanks @xtqqczze!) -- Replace `Directory.GetDirectories` with `Directory.EnumerateDirectories` to avoid array allocations (#15167) (Thanks @xtqqczze!) -- Use `List.ConvertAll` instead of `LINQ` (#15140) (Thanks @xtqqczze!) - -### General Cmdlet Updates and Fixes - -- Use `AllocConsole` before initializing CLR to ensure codepage is correct for WinRM remoting (PowerShell/PowerShell-Native#70) (Thanks @jborean93!) -- Add completions for `#requires` statements (#14596) (Thanks @MartinGC94!) -- Add completions for comment-based help keywords (#15337) (Thanks @MartinGC94!) -- Move cross platform DSC code to a PowerShell engine subsystem (#15127) -- Fix `Minimal` progress view to handle activity that is longer than console width (#15264) -- Handle exception if ConsoleHost tries to set cursor out of bounds because screen buffer changed (#15380) -- Fix `NullReferenceException` in DSC `ClearCache()` (#15373) -- Update `ControlSequenceLength` to handle colon as a virtual terminal parameter separator (#14942) -- Update the summary comment for `StopTranscriptCmdlet.cs` (#15349) (Thanks @dbaileyut!) -- Remove the unusable alias `d` for the `-Directory` parameter from `Get-ChildItem` (#15171) (Thanks @kvprasoon!) -- Fix tab completion for un-localized `about` topics (#15265) (Thanks @MartinGC94!) -- Remove the unneeded SSH stdio handle workaround (#15308) -- Add `LoadAssemblyFromNativeMemory` API to load assemblies from memory in a native PowerShell host (#14652) (Thanks @awakecoding!) -- Re-implement `Remove-Item` OneDrive support (#15260) (Thanks @iSazonov!) -- Kill native processes in pipeline when pipeline is disposed on Unix (#15287) -- Default to MTA on Windows platforms where STA is not supported (#15106) - -### Code Cleanup - -
- - - -

We thank the following contributors!

-

@xtqqczze, @powercode, @bcwood

- -
- -
    -
  • Enable nullable in some classes (#14185, #14177, #14159, #14191, #14162, #14150, #14156, #14161, #14155, #14163, #14181, #14157, #14151) (Thanks @powercode!)
  • -
  • Annotate ThrowTerminatingError with DoesNotReturn attribute (#15352) (Thanks @powercode!)
  • -
  • Use GetValueOrDefault() for nullable PSLanguageMode (#13849) (Thanks @bcwood!)
  • -
  • Enable SA1008: Opening parenthesis should be spaced correctly (#14242) (Thanks @xtqqczze!)
  • -
- -
- -### Tools - -- Add `winget` release script (#15050) - -### Tests - -- Enable cross-runtime benchmarking to compare different .NET runtimes (#15387) (Thanks @adamsitnik!) -- Add the performance benchmark project for PowerShell performance testing (#15242) - -### Build and Packaging Improvements - -
- - -Update .NET to version v6.0.0-preview.4 - - -
    -
  • Suppress prompting when uploading the msixbundle package to blob (#15227)
  • -
  • Update to .NET preview 4 SDK (#15452)
  • -
  • Update AppxManifest.xml with newer OS version to allow PowerShell installed from Windows Store to make system-level changes (#15375)
  • -
  • Ensure the build works when PSDesiredStateConfiguration module is pulled in from PSGallery (#15355)
  • -
  • Make sure daily release tag does not change when retrying failures (#15286)
  • -
  • Improve messages and behavior when there's a problem in finding zip files (#15284)
  • -
- -
- -### Documentation and Help Content - -- Add documentation comments section to coding guidelines (#14316) (Thanks @xtqqczze!) - -[7.2.0-preview.6]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.5...v7.2.0-preview.6 - -## [7.2.0-preview.5] - 2021-04-14 - -### Breaking Changes - -- Make PowerShell Linux deb and RPM packages universal (#15109) -- Enforce AppLocker Deny configuration before Execution Policy Bypass configuration (#15035) -- Disallow mixed dash and slash in command line parameter prefix (#15142) (Thanks @davidBar-On!) - -### Experimental Features - -- `PSNativeCommandArgumentPassing`: Use `ArgumentList` for native executable invocation (breaking change) (#14692) - -### Engine Updates and Fixes - -- Add `IArgumentCompleterFactory` for parameterized `ArgumentCompleters` (#12605) (Thanks @powercode!) - -### General Cmdlet Updates and Fixes - -- Fix SSH remoting connection never finishing with misconfigured endpoint (#15175) -- Respect `TERM` and `NO_COLOR` environment variables for `$PSStyle` rendering (#14969) -- Use `ProgressView.Classic` when Virtual Terminal is not supported (#15048) -- Fix `Get-Counter` issue with `-Computer` parameter (#15166) (Thanks @krishnayalavarthi!) -- Fix redundant iteration while splitting lines (#14851) (Thanks @hez2010!) -- Enhance `Remove-Item -Recurse` to work with OneDrive (#14902) (Thanks @iSazonov!) -- Change minimum depth to 0 for `ConvertTo-Json` (#14830) (Thanks @kvprasoon!) -- Allow `Set-Clipboard` to accept empty string (#14579) -- Turn on and off `DECCKM` to modify keyboard mode for Unix native commands to work correctly (#14943) -- Fall back to `CopyAndDelete()` when `MoveTo()` fails due to an `IOException` (#15077) - -### Code Cleanup - -
- - - -

We thank the following contributors!

-

@xtqqczze, @iSazonov, @ZhiZe-ZG

- -
- -
    -
  • Update .NET to 6.0.0-preview.3 (#15221)
  • -
  • Add space before comma to hosting test to fix error reported by SA1001 (#15224)
  • -
  • Add SecureStringHelper.FromPlainTextString helper method for efficient secure string creation (#14124) (Thanks @xtqqczze!)
  • -
  • Use static lambda keyword (#15154) (Thanks @iSazonov!)
  • -
  • Remove unnecessary Array -> List -> Array conversion in ProcessBaseCommand.AllProcesses (#15052) (Thanks @xtqqczze!)
  • -
  • Standardize grammar comments in Parser.cs (#15114) (Thanks @ZhiZe-ZG!)
  • -
  • Enable SA1001: Commas should be spaced correctly (#14171) (Thanks @xtqqczze!)
  • -
  • Refactor MultipleServiceCommandBase.AllServices (#15053) (Thanks @xtqqczze!)
  • -
- -
- -### Tools - -- Use Unix line endings for shell scripts (#15180) (Thanks @xtqqczze!) - -### Tests - -- Add the missing tag in Host Utilities tests (#14983) -- Update `copy-props` version in `package.json` (#15124) - -### Build and Packaging Improvements - -
- - - -

We thank the following contributors!

-

@JustinGrote

- -
- -
    -
  • Fix yarn-lock for copy-props (#15225)
  • -
  • Make package validation regex accept universal Linux packages (#15226)
  • -
  • Bump NJsonSchema from 10.4.0 to 10.4.1 (#15190)
  • -
  • Make MSI and EXE signing always copy to fix daily build (#15191)
  • -
  • Sign internals of EXE package so that it works correctly when signed (#15132)
  • -
  • Bump Microsoft.NET.Test.Sdk from 16.9.1 to 16.9.4 (#15141)
  • -
  • Update daily release tag format to work with new Microsoft Update work (#15164)
  • -
  • Feature: Add Ubuntu 20.04 Support to install-powershell.sh (#15095) (Thanks @JustinGrote!)
  • -
  • Treat rebuild branches like release branches (#15099)
  • -
  • Update WiX to 3.11.2 (#15097)
  • -
  • Bump NJsonSchema from 10.3.11 to 10.4.0 (#15092)
  • -
  • Allow patching of preview releases (#15074)
  • -
  • Bump Newtonsoft.Json from 12.0.3 to 13.0.1 (#15084, #15085)
  • -
  • Update the minSize build package filter to be explicit (#15055)
  • -
  • Bump NJsonSchema from 10.3.10 to 10.3.11 (#14965)
  • -
- -
- -### Documentation and Help Content - -- Merge `7.2.0-preview.4` changes to master (#15056) -- Update `README` and `metadata.json` (#15046) -- Fix broken links for `dotnet` CLI (#14937) - -[7.2.0-preview.5]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.4...v7.2.0-preview.5 - -## [7.2.0-preview.4] - 2021-03-16 - -### Breaking Changes - -- Fix `Get-Date -UFormat` `%G` and `%g` behavior (#14555) (Thanks @brianary!) - -### Engine Updates and Fixes - -- Update engine script signature validation to match `Get-AuthenticodeSignature` logic (#14849) -- Avoid array allocations from `GetDirectories` and `GetFiles` (#14327) (Thanks @xtqqczze!) - -### General Cmdlet Updates and Fixes - -- Add `UseOSCIndicator` setting to enable progress indicator in terminal (#14927) -- Re-enable VT mode on Windows after running command in `ConsoleHost` (#14413) -- Fix `Move-Item` for `FileSystemProvider` to use copy-delete instead of move for DFS paths (#14913) -- Fix `PromptForCredential()` to add `targetName` as domain (#14504) -- Update `Concise` `ErrorView` to not show line information for errors from script module functions (#14912) -- Remove the 32,767 character limit on the environment block for `Start-Process` (#14111) (Thanks @hbuckle!) -- Don't write possible secrets to verbose stream for web cmdlets (#14788) - -### Tools - -- Update `dependabot` configuration to V2 format (#14882) -- Add tooling issue slots in PR template (#14697) - -### Tests - -- Move misplaced test file to tests directory (#14908) (Thanks @MarianoAlipi!) -- Refactor MSI CI (#14753) - -### Build and Packaging Improvements - -
- - -Update .NET to version 6.0.100-preview.2.21155.3 - - -
    -
  • Update .NET to version 6.0.100-preview.2.21155.3 (#15007)
  • -
  • Bump Microsoft.PowerShell.Native to 7.2.0-preview.1 (#15030)
  • -
  • Create MSIX Bundle package in release pipeline (#14982)
  • -
  • Build self-contained minimal size package for Guest Config team (#14976)
  • -
  • Bump XunitXml.TestLogger from 3.0.62 to 3.0.66 (#14993) (Thanks @dependabot[bot]!)
  • -
  • Enable building PowerShell for Apple M1 runtime (#14923)
  • -
  • Fix the variable name in the condition for miscellaneous analysis CI (#14975)
  • -
  • Fix the variable usage in CI yaml (#14974)
  • -
  • Disable running markdown link verification in release build CI (#14971)
  • -
  • Bump Microsoft.CodeAnalysis.CSharp from 3.9.0-3.final to 3.9.0 (#14934) (Thanks @dependabot[bot]!)
  • -
  • Declare which variable group is used for checking the blob in the release build (#14970)
  • -
  • Update metadata and script to enable consuming .NET daily builds (#14940)
  • -
  • Bump NJsonSchema from 10.3.9 to 10.3.10 (#14933) (Thanks @dependabot[bot]!)
  • -
  • Use template that disables component governance for CI (#14938)
  • -
  • Add suppress for nuget multi-feed warning (#14893)
  • -
  • Bump NJsonSchema from 10.3.8 to 10.3.9 (#14926) (Thanks @dependabot[bot]!)
  • -
  • Add exe wrapper to release (#14881)
  • -
  • Bump Microsoft.ApplicationInsights from 2.16.0 to 2.17.0 (#14847)
  • -
  • Bump Microsoft.NET.Test.Sdk from 16.8.3 to 16.9.1 (#14895) (Thanks @dependabot[bot]!)
  • -
  • Bump NJsonSchema from 10.3.7 to 10.3.8 (#14896) (Thanks @dependabot[bot]!)
  • -
  • Disable codesign validation where the file type is not supported (#14885)
  • -
  • Fixing broken Experimental Feature list in powershell.config.json (#14858)
  • -
  • Bump NJsonSchema from 10.3.6 to 10.3.7 (#14855)
  • -
  • Add exe wrapper for Microsoft Update scenarios (#14737)
  • -
  • Install wget on CentOS 7 docker image (#14857)
  • -
  • Fix install-dotnet download (#14856)
  • -
  • Fix Bootstrap step in Windows daily test runs (#14820)
  • -
  • Bump NJsonSchema from 10.3.5 to 10.3.6 (#14818)
  • -
  • Bump NJsonSchema from 10.3.4 to 10.3.5 (#14807)
  • -
- -
- -### Documentation and Help Content - -- Update `README.md` and `metadata.json` for upcoming releases (#14755) -- Merge 7.1.3 and 7.0.6 Change log to master (#15009) -- Update `README` and `metadata.json` for releases (#14997) -- Update ChangeLog for `v7.1.2` release (#14783) -- Update ChangeLog for `v7.0.5` release (#14782) (Internal 14479) - -[7.2.0-preview.4]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.3...v7.2.0-preview.4 - -## [7.2.0-preview.3] - 2021-02-11 - -### Breaking Changes - -- Fix `Get-Date -UFormat %u` behavior to comply with ISO 8601 (#14549) (Thanks @brianary!) - -### Engine Updates and Fixes - -- Together with `PSDesiredStateConfiguration` `v3` module allows `Get-DscResource`, `Invoke-DscResource` and DSC configuration compilation on all platforms, supported by PowerShell (using class-based DSC resources). - -### Performance - -- Avoid array allocations from `Directory.GetDirectories` and `Directory.GetFiles`. (#14326) (Thanks @xtqqczze!) -- Avoid `string.ToLowerInvariant()` from `GetEnvironmentVariableAsBool()` to avoid loading libicu at startup (#14323) (Thanks @iSazonov!) -- Get PowerShell version in `PSVersionInfo` using assembly attribute instead of `FileVersionInfo` (#14332) (Thanks @Fs00!) - -### General Cmdlet Updates and Fixes - -- Suppress `Write-Progress` in `ConsoleHost` if output is redirected and fix tests (#14716) -- Experimental feature `PSAnsiProgress`: Add minimal progress bar using ANSI rendering (#14414) -- Fix web cmdlets to properly construct URI from body when using `-NoProxy` (#14673) -- Update the `ICommandPredictor` to provide more feedback and also make feedback easier to be correlated (#14649) -- Reset color after writing `Verbose`, `Debug`, and `Warning` messages (#14698) -- Fix using variable for nested `ForEach-Object -Parallel` calls (#14548) -- When formatting, if collection is modified, don't fail the entire pipeline (#14438) -- Improve completion of parameters for attributes (#14525) (Thanks @MartinGC94!) -- Write proper error messages for `Get-Command ' '` (#13564) (Thanks @jakekerr!) -- Fix typo in the resource string `ProxyURINotSupplied` (#14526) (Thanks @romero126!) -- Add support to `$PSStyle` for strikethrough and hyperlinks (#14461) -- Fix `$PSStyle` blink codes (#14447) (Thanks @iSazonov!) - -### Code Cleanup - -
- - - -

We thank the following contributors!

-

@xtqqczze, @powercode

- -
- -
    -
  • Fix coding style issues: RCS1215, IDE0090, SA1504, SA1119, RCS1139, IDE0032 (#14356, #14341, #14241, #14204, #14442, #14443) (Thanks @xtqqczze!)
  • -
  • Enable coding style checks: CA2249, CA1052, IDE0076, IDE0077, SA1205, SA1003, SA1314, SA1216, SA1217, SA1213 (#14395, #14483, #14494, #14495, #14441, #14476, #14470, #14471, #14472) (Thanks @xtqqczze!)
  • -
  • Enable nullable in PowerShell codebase (#14160, #14172, #14088, #14154, #14166, #14184, #14178) (Thanks @powercode!)
  • -
  • Use string.Split(char) instead of string.Split(string) (#14465) (Thanks @xtqqczze!)
  • -
  • Use string.Contains(char) overload (#14368) (Thanks @xtqqczze!)
  • -
  • Refactor complex if statements (#14398) (Thanks @xtqqczze!)
  • -
- -
- -### Tools - -- Update script to use .NET 6 build resources (#14705) -- Fix the daily GitHub action (#14711) (Thanks @imba-tjd!) -- GitHub Actions: fix deprecated `::set-env` (#14629) (Thanks @imba-tjd!) -- Update markdown test tools (#14325) (Thanks @RDIL!) -- Upgrade `StyleCopAnalyzers` to `v1.2.0-beta.312` (#14354) (Thanks @xtqqczze!) - -### Tests - -- Remove packaging from daily Windows build (#14749) -- Update link to the Manning book (#14750) -- A separate Windows packaging CI (#14670) -- Update `ini` component version in test `package.json` (#14454) -- Disable `libmi` dependent tests for macOS. (#14446) - -### Build and Packaging Improvements - -
- -
    -
  • Fix the NuGet feed name and URL for .NET 6
  • -
  • Fix third party signing for files in sub-folders (#14751)
  • -
  • Make build script variable an ArrayList to enable Add() method (#14748)
  • -
  • Remove old .NET SDKs to make dotnet restore work with the latest SDK in CI pipeline (#14746)
  • -
  • Remove outdated Linux dependencies (#14688)
  • -
  • Bump .NET SDK version to 6.0.0-preview.1 (#14719)
  • -
  • Bump NJsonSchema to 10.3.4 (#14714)
  • -
  • Update daily GitHub action to allow manual trigger (#14718)
  • -
  • Bump XunitXml.TestLogger to 3.0.62 (#14702)
  • -
  • Make universal deb package based on the deb package specification (#14681)
  • -
  • Add manual release automation steps and improve changelog script (#14445)
  • -
  • Fix release build to upload global tool packages to artifacts (#14620)
  • -
  • Port changes from the PowerShell v7.0.4 release (#14637)
  • -
  • Port changes from the PowerShell v7.1.1 release (#14621)
  • -
  • Updated README and metadata.json (#14401, #14606, #14612)
  • -
  • Do not push nupkg artifacts to MyGet (#14613)
  • -
  • Use one feed in each nuget.config in official builds (#14363)
  • -
  • Fix path signed RPMs are uploaded from in release build (#14424)
  • -
- -
- -### Documentation and Help Content - -- Update distribution support request template to point to .NET 5.0 support document (#14578) -- Remove security GitHub issue template (#14453) -- Add intent for using the Discussions feature in repo (#14399) -- Fix Universal Dashboard to refer to PowerShell Universal (#14437) -- Update document link because of HTTP 301 redirect (#14431) (Thanks @xtqqczze!) - -[7.2.0-preview.3]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.2...v7.2.0-preview.3 - -## [7.2.0-preview.2] - 2020-12-15 - -### Breaking Changes - -- Improve detection of mutable value types (#12495) (Thanks @vexx32!) -- Ensure `-PipelineVariable` is set for all output from script cmdlets (#12766) (Thanks @vexx32!) - -### Experimental Features - -- `PSAnsiRendering`: Enable ANSI formatting via `$PSStyle` and support suppressing ANSI output (#13758) - -### Performance - -- Optimize `IEnumerable` variant of replace operator (#14221) (Thanks @iSazonov!) -- Refactor multiply operation for better performance in two `Microsoft.PowerShell.Commands.Utility` methods (#14148) (Thanks @xtqqczze!) -- Use `Environment.TickCount64` instead of `Datetime.Now` as the random seed for AppLocker test file content (#14283) (Thanks @iSazonov!) -- Avoid unnecessary array allocations when searching in GAC (#14291) (Thanks @xtqqczze!) -- Use `OrdinalIgnoreCase` in `CommandLineParser` (#14303) (Thanks @iSazonov!) -- Use `StringComparison.Ordinal` instead of `StringComparison.CurrentCulture` (#14298) (Thanks @iSazonov!) -- Avoid creating instances of the generated delegate helper class in `-replace` implementation (#14128) - -### General Cmdlet Updates and Fixes - -- Write better error message if config file is broken (#13496) (Thanks @iSazonov!) -- Make AppLocker Enforce mode take precedence over UMCI Audit mode (#14353) -- Add `-SkipLimitCheck` switch to `Import-PowerShellDataFile` (#13672) -- Restrict `New-Object` in NoLanguage mode under lock down (#14140) (Thanks @krishnayalavarthi!) -- The `-Stream` parameter now works with directories (#13941) (Thanks @kyanha!) -- Avoid an exception if file system does not support reparse points (#13634) (Thanks @iSazonov!) -- Enable `CA1012`: Abstract types should not have public constructors (#13940) (Thanks @xtqqczze!) -- Enable `SA1212`: Property accessors should follow order (#14051) (Thanks @xtqqczze!) - -### Code Cleanup - -
- - - -

We thank the following contributors!

-

@xtqqczze, @matthewjdegarmo, @powercode, @Gimly

- -
- -
    -
  • Enable SA1007: Operator keyword should be followed by space (#14130) (Thanks @xtqqczze!)
  • -
  • Expand where alias to Where-Object in Reset-PWSHSystemPath.ps1 (#14113) (Thanks @matthewjdegarmo!)
  • -
  • Fix whitespace issues (#14092) (Thanks @xtqqczze!)
  • -
  • Add StyleCop.Analyzers package (#13963) (Thanks @xtqqczze!)
  • -
  • Enable IDE0041: UseIsNullCheck (#14041) (Thanks @xtqqczze!)
  • -
  • Enable IDE0082: ConvertTypeOfToNameOf (#14042) (Thanks @xtqqczze!)
  • -
  • Remove unnecessary usings part 4 (#14023) (Thanks @xtqqczze!)
  • -
  • Fix PriorityAttribute name (#14094) (Thanks @xtqqczze!)
  • -
  • Enable nullable: System.Management.Automation.Interpreter.IBoxableInstruction (#14165) (Thanks @powercode!)
  • -
  • Enable nullable: System.Management.Automation.Provider.IDynamicPropertyProvider (#14167) (Thanks @powercode!)
  • -
  • Enable nullable: System.Management.Automation.Language.IScriptExtent (#14179) (Thanks @powercode!)
  • -
  • Enable nullable: System.Management.Automation.Language.ICustomAstVisitor2 (#14192) (Thanks @powercode!)
  • -
  • Enable nullable: System.Management.Automation.LanguagePrimitives.IConversionData (#14187) (Thanks @powercode!)
  • -
  • Enable nullable: System.Automation.Remoting.Client.IWSManNativeApiFacade (#14186) (Thanks @powercode!)
  • -
  • Enable nullable: System.Management.Automation.Language.ISupportsAssignment (#14180) (Thanks @powercode!)
  • -
  • Enable nullable: System.Management.Automation.ICommandRuntime2 (#14183) (Thanks @powercode!)
  • -
  • Enable nullable: System.Management.Automation.IOutputProcessingState (#14175) (Thanks @powercode!)
  • -
  • Enable nullable: System.Management.Automation.IJobDebugger (#14174) (Thanks @powercode!)
  • -
  • Enable nullable: System.Management.Automation.Interpreter.IInstructionProvider (#14173) (Thanks @powercode!)
  • -
  • Enable nullable: System.Management.Automation.IHasSessionStateEntryVisibility (#14169) (Thanks @powercode!)
  • -
  • Enable nullable: System.Management.Automation.Tracing.IEtwEventCorrelator (#14168) (Thanks @powercode!)
  • -
  • Fix syntax error in Windows packaging script (#14377)
  • -
  • Remove redundant local assignment in AclCommands (#14358) (Thanks @xtqqczze!)
  • -
  • Enable nullable: System.Management.Automation.Language.IAstPostVisitHandler (#14164) (Thanks @powercode!)
  • -
  • Enable nullable: System.Management.Automation.IModuleAssemblyInitializer (#14158) (Thanks @powercode!)
  • -
  • Use Microsoft.PowerShell.MarkdownRender package from nuget.org (#14090)
  • -
  • Replace GetFiles in TestModuleManifestCommand (#14317) (Thanks @xtqqczze!)
  • -
  • Enable nullable: System.Management.Automation.Provider.IContentWriter (#14152) (Thanks @powercode!)
  • -
  • Simplify getting Encoding in TranscriptionOption.FlushContentToDisk (#13910) (Thanks @Gimly!)
  • -
  • Mark applicable structs as readonly and use in-modifier (#13919) (Thanks @xtqqczze!)
  • -
  • Enable nullable: System.Management.Automation.IArgumentCompleter (#14182) (Thanks @powercode!)
  • -
  • Enable CA1822: Mark private members as static (#13897) (Thanks @xtqqczze!)
  • -
  • Fix IDE0090: Simplify new expression part 6 (#14338) (Thanks @xtqqczze!)
  • -
  • Avoid array allocations from GetDirectories/GetFiles. (#14328) (Thanks @xtqqczze!)
  • -
  • Avoid array allocations from GetDirectories/GetFiles. (#14330) (Thanks @xtqqczze!)
  • -
  • Fix RCS1188: Remove redundant auto-property initialization part 2 (#14262) (Thanks @xtqqczze!)
  • -
  • Enable nullable: System.Management.Automation.Host.IHostSupportsInteractiveSession (#14170) (Thanks @powercode!)
  • -
  • Enable nullable: System.Management.Automation.Provider.IPropertyCmdletProvider (#14176) (Thanks @powercode!)
  • -
  • Fix IDE0090: Simplify new expression part 5 (#14301) (Thanks @xtqqczze!)
  • -
  • Enable IDE0075: SimplifyConditionalExpression (#14078) (Thanks @xtqqczze!)
  • -
  • Remove unnecessary usings part 9 (#14288) (Thanks @xtqqczze!)
  • -
  • Fix StyleCop and MarkdownLint CI failures (#14297) (Thanks @xtqqczze!)
  • -
  • Enable SA1000: Keywords should be spaced correctly (#13973) (Thanks @xtqqczze!)
  • -
  • Fix RCS1188: Remove redundant auto-property initialization part 1 (#14261) (Thanks @xtqqczze!)
  • -
  • Mark private members as static part 10 (#14235) (Thanks @xtqqczze!)
  • -
  • Mark private members as static part 9 (#14234) (Thanks @xtqqczze!)
  • -
  • Fix SA1642 for Microsoft.Management.Infrastructure.CimCmdlets (#14239) (Thanks @xtqqczze!)
  • -
  • Use AsSpan/AsMemory slice constructor (#14265) (Thanks @xtqqczze!)
  • -
  • Fix IDE0090: Simplify new expression part 4.6 (#14260) (Thanks @xtqqczze!)
  • -
  • Fix IDE0090: Simplify new expression part 4.5 (#14259) (Thanks @xtqqczze!)
  • -
  • Fix IDE0090: Simplify new expression part 4.3 (#14257) (Thanks @xtqqczze!)
  • -
  • Fix IDE0090: Simplify new expression part 4.2 (#14256) (Thanks @xtqqczze!)
  • -
  • Fix IDE0090: Simplify new expression part 2 (#14200) (Thanks @xtqqczze!)
  • -
  • Enable SA1643: Destructor summary documentation should begin with standard text (#14236) (Thanks @xtqqczze!)
  • -
  • Fix IDE0090: Simplify new expression part 4.4 (#14258) (Thanks @xtqqczze!)
  • -
  • Use xml documentation child blocks correctly (#14249) (Thanks @xtqqczze!)
  • -
  • Fix IDE0090: Simplify new expression part 4.1 (#14255) (Thanks @xtqqczze!)
  • -
  • Use consistent spacing in xml documentation tags (#14231) (Thanks @xtqqczze!)
  • -
  • Enable IDE0074: Use coalesce compound assignment (#13396) (Thanks @xtqqczze!)
  • -
  • Remove unnecessary finalizers (#14248) (Thanks @xtqqczze!)
  • -
  • Mark local variable as const (#13217) (Thanks @xtqqczze!)
  • -
  • Fix IDE0032: UseAutoProperty part 2 (#14244) (Thanks @xtqqczze!)
  • -
  • Fix IDE0032: UseAutoProperty part 1 (#14243) (Thanks @xtqqczze!)
  • -
  • Mark private members as static part 8 (#14233) (Thanks @xtqqczze!)
  • -
  • Fix CA1822: Mark members as static part 6 (#14229) (Thanks @xtqqczze!)
  • -
  • Fix CA1822: Mark members as static part 5 (#14228) (Thanks @xtqqczze!)
  • -
  • Fix CA1822: Mark members as static part 4 (#14227) (Thanks @xtqqczze!)
  • -
  • Fix CA1822: Mark members as static part 3 (#14226) (Thanks @xtqqczze!)
  • -
  • Fix CA1822: Mark members as static part 2 (#14225) (Thanks @xtqqczze!)
  • -
  • Fix CA1822: Mark members as static part 1 (#14224) (Thanks @xtqqczze!)
  • -
  • Use see keyword in documentation (#14220) (Thanks @xtqqczze!)
  • -
  • Enable CA2211: Non-constant fields should not be visible (#14073) (Thanks @xtqqczze!)
  • -
  • Enable CA1816: Dispose methods should call SuppressFinalize (#14074) (Thanks @xtqqczze!)
  • -
  • Remove incorrectly implemented finalizer (#14246) (Thanks @xtqqczze!)
  • -
  • Fix CA1822: Mark members as static part 7 (#14230) (Thanks @xtqqczze!)
  • -
  • Fix SA1122: Use string.Empty for empty strings (#14218) (Thanks @xtqqczze!)
  • -
  • Fix various xml documentation issues (#14223) (Thanks @xtqqczze!)
  • -
  • Remove unnecessary usings part 8 (#14072) (Thanks @xtqqczze!)
  • -
  • Enable SA1006: Preprocessor keywords should not be preceded by space (#14052) (Thanks @xtqqczze!)
  • -
  • Fix SA1642 for Microsoft.PowerShell.Commands.Utility (#14142) (Thanks @xtqqczze!)
  • -
  • Enable CA2216: Disposable types should declare finalizer (#14089) (Thanks @xtqqczze!)
  • -
  • Wrap and name LoadBinaryModule arguments (#14193) (Thanks @xtqqczze!)
  • -
  • Wrap and name GetListOfFilesFromData arguments (#14194) (Thanks @xtqqczze!)
  • -
  • Enable SA1002: Semicolons should be spaced correctly (#14197) (Thanks @xtqqczze!)
  • -
  • Fix IDE0090: Simplify new expression part 3 (#14201) (Thanks @xtqqczze!)
  • -
  • Enable SA1106: Code should not contain empty statements (#13964) (Thanks @xtqqczze!)
  • -
  • Code performance fixes follow-up (#14207) (Thanks @xtqqczze!)
  • -
  • Remove uninformative comments (#14199) (Thanks @xtqqczze!)
  • -
  • Fix IDE0090: Simplify new expression part 1 (#14027) (Thanks @xtqqczze!)
  • -
  • Enable SA1517: Code should not contain blank lines at start of file (#14131) (Thanks @xtqqczze!)
  • -
  • Enable SA1131: Use readable conditions (#14132) (Thanks @xtqqczze!)
  • -
  • Enable SA1507: Code should not contain multiple blank lines in a row (#14136) (Thanks @xtqqczze!)
  • -
  • Enable SA1516 Elements should be separated by blank line (#14137) (Thanks @xtqqczze!)
  • -
  • Enable IDE0031: Null check can be simplified (#13548) (Thanks @xtqqczze!)
  • -
  • Enable CA1065: Do not raise exceptions in unexpected locations (#14117) (Thanks @xtqqczze!)
  • -
  • Enable CA1000: Do not declare static members on generic types (#14097) (Thanks @xtqqczze!)
  • -
- -
- -### Tools - -- Fixing formatting in `Reset-PWSHSystemPath.ps1` (#13689) (Thanks @dgoldman-msft!) - -### Tests - -- Reinstate `Test-Connection` tests (#13324) -- Update markdown test packages with security fixes (#14145) - -### Build and Packaging Improvements - -
- -
    -
  • Fix a typo in the Get-ChangeLog function (#14129)
  • -
  • Update README and metadata.json for 7.2.0-preview.1 release (#14104)
  • -
  • Bump NJsonSchema from 10.2.2 to 10.3.1 (#14040)
  • -
  • Move windows package signing to use ESRP (#14060)
  • -
  • Use one feed in each nuget.config in official builds (#14363)
  • -
  • Fix path signed RPMs are uploaded from in release build (#14424)
  • -
  • Add Microsoft.PowerShell.MarkdownRender to the package reference list (#14386)
  • -
  • Fix issue with unsigned build (#14367)
  • -
  • Move macOS and nuget to ESRP signing (#14324)
  • -
  • Fix nuget packaging to scrub NullableAttribute (#14344)
  • -
  • Bump Microsoft.NET.Test.Sdk from 16.8.0 to 16.8.3 (#14310)
  • -
  • Bump Markdig.Signed from 0.22.0 to 0.22.1 (#14305)
  • -
  • Bump Microsoft.ApplicationInsights from 2.15.0 to 2.16.0 (#14031)
  • -
  • Move Linux to ESRP signing (#14210)
  • -
- -
- -### Documentation and Help Content - -- Fix example `nuget.config` (#14349) -- Fix a broken link in Code Guidelines doc (#14314) (Thanks @iSazonov!) - -[7.2.0-preview.2]: https://github.com/PowerShell/PowerShell/compare/v7.2.0-preview.1...v7.2.0-preview.2 - -## [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 (#13732) (Thanks @Gimly!) - -### General Cmdlet Updates and Fixes - -- Update `pwsh -?` output to match docs (#13748) -- Fix `NullReferenceException` in `Test-Json` (#12942) (Thanks @iSazonov!) -- Make `Dispose` in `TranscriptionOption` idempotent (#13839) (Thanks @krishnayalavarthi!) -- Add additional Microsoft PowerShell modules to the tracked modules list (#12183) -- Relax further `SSL` verification checks for `WSMan` on non-Windows hosts with verification available (#13786) (Thanks @jborean93!) -- Add the `OutputTypeAttribute` to `Get-ExperimentalFeature` (#13738) (Thanks @ThomasNieto!) -- Fix blocking wait when starting file associated with a Windows application (#13750) -- Emit warning if `ConvertTo-Json` exceeds `-Depth` value (#13692) - -### Code Cleanup - -
- - - -

We thank the following contributors!

-

@xtqqczze, @mkswd, @ThomasNieto, @PatLeong, @paul-cheung, @georgettica

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

We thank the following contributors!

-

@mkswd, @xtqqczze

- -
- -
    -
  • Bump Microsoft.NET.Test.Sdk to 16.8.0 (#14020)
  • -
  • Bump Microsoft.CodeAnalysis.CSharp to 3.8.0 (#14075)
  • -
  • Remove workarounds for .NET 5 RTM builds (#14038)
  • -
  • Migrate 3rd party signing to ESRP (#14010)
  • -
  • Fixes to release pipeline for GA release (#14034)
  • -
  • Don't do a shallow checkout (#13992)
  • -
  • Add validation and dependencies for Ubuntu 20.04 distribution to packaging script (#13993)
  • -
  • Add .NET install workaround for RTM (#13991)
  • -
  • Move to ESRP signing for Windows files (#13988)
  • -
  • Update PSReadLine version to 2.1.0 (#13975)
  • -
  • Bump .NET to version 5.0.100-rtm.20526.5 (#13920)
  • -
  • Update script to use .NET RTM feeds (#13927)
  • -
  • Add checkout step to release build templates (#13840)
  • -
  • Turn on /features:strict for all projects (#13383) (Thanks @xtqqczze!)
  • -
  • Bump NJsonSchema to 10.2.2 (#13722, #13751)
  • -
  • Add flag to make Linux script publish to production repo (#13714)
  • -
  • Bump Markdig.Signed to 0.22.0 (#13741)
  • -
  • Use new release script for Linux packages (#13705)
  • -
- -
- -### Documentation and Help Content - -- Fix links to LTS versions for Windows (#14070) -- Fix `crontab` formatting in example doc (#13712) (Thanks @dgoldman-msft!) - -[7.2.0-preview.1]: https://github.com/PowerShell/PowerShell/compare/v7.1.0...v7.2.0-preview.1