8000 Decide on which experimental features will remain in experimental in 7.2 · Issue #15862 · PowerShell/PowerShell · GitHub
[go: up one dir, main page]

Skip to content
Decide on which experimental features will remain in experimental in 7.2 #15862
@joeyaiello

Description

@joeyaiello

Summary of the new feature / enhancement

In preparation for 7.2 RCs, @PowerShell/powershell-committee has reviewed our existing experimental features and decided that the following should be upgraded to stable, left as experimental, or removed altogether:

Supported / Non-Experimental

  • PSNotApplyErrorActionToStderr: We agree that stderr is used in many cases where there is no error behavior and therefore shouldn't trigger ErrorAction cases like Stop. Given that we've seen no issues with this experimental feature since it was checked into 7.1 previews, we're moving it to stable.
  • PSUnixFileStat: This has had sufficient time for users in preview builds to use the default behavior of showing Linux file stats (since early 7.1 previews), and no major issues have been reported.
  • PSAnsiProgress: This new minimal style of progress bar hasn't created any issues, and we see no reason not to make it stable. Furthermore, you can back to the old progress bar with $PSStyle.Progress.View = 'classic', or turn off progress altogether.
  • PSAnsiRendering: There were a few issues around the $PSStyle implementation that have been fixed. This points to some amount of usage from customers. Additionally, we've implemented features like PSAnsiProgress on top of this, and the interface has been stable and useful.
  • PSCultureInvariantReplaceOperator: As outlined in -replace operator stringifies its LHS operand culture-sensitively #10948, this issue should make the -replace string operator indifferent to the culture in an environment, such that it works the same as the -split operator. We haven't seen this cause any impact in the wild from the result of this Bucket 3 breaking change.
  • Microsoft.PowerShell.Utility.PSManageBreakpointsInRunspace: The -BreakAll switch added to Debug-Runspace is opt-in, and has been working well within the Azure Functions tooling for Visual Studio Code.
  • Microsoft.PowerShell.Utility.PSImportPSDataFileSkipLimitCheck: The -SkipLimitCheck switch added to Import-PowerShellDataFile is opt-in, and we haven't seen any issues with it in the wild.

Experimental (for now)

  • PSAnsiRenderingFileInfo: This came in very late, and we'd like to give it some more bake time for folks to give feedback. For example, we should continue to discuss the colors themselves, which file extensions should be colorized, how we might be able to support LS_COLOR, whether we need theme support, as well as how 3rd parties might be able to extend existing formatters (more context in Support Partial Formatting #15746). To that end, we're leaving it as experimental.
  • PSCommandNotFoundSuggestion: The suggestion framework still has significant issues (e.g. writes only to the console host rather than an output stream). This is still something we'd like to leverage in the future for suggesting modules for download from PowerShellGet.
  • PSNativePSPathResolution: Today, this resolution of PSPaths in native commands is overly aggressive because single- and double-quotes are not differentiated in the native command binder. This means you can't indicate a PSPath as literal. Until we solve this issue (which is non-trivial), we're leaving this as experimental.
  • PSLoadAssemblyFromNativeCode: As we discussed in Loading and hosting existing PowerShell installation dynamically inside native application #14641, we are leaving this as experimental until we decide whether or not we want to implement a full native hosting API for wrapping PowerShell from native code.
  • PSSubsystemPluginModel: Subsystems are still a WIP as we work through the right way to decouple certain functionality from the core PowerShell engine.

Needs to be removed

  • PSImplicitRemotingBatching: This has not fulfilled the original goal of optimizing implicit remoting calls, and has not seen significant usage from folks in the wild. To that end, we plan to revert and remove this code before 7.2 GAs.

Deferred

  • PSDesiredStateConfiguration.InvokeDscResource: Given that this is part of the PSDesiredStateConfiguration module, we are deferring to the module owner to make a final decision on whether this should remain experimental.

Proposed technical implementation details (optional)

No response

Metadata

Metadata

Labels

Area-Maintainers-Buildspecific to affecting the buildCommittee-ReviewedPS-Committee has reviewed this and made a decisionIssue-Enhancementthe issue is more of a feature request than a bugResolution-FixedThe issue is fixed.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0