question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Make some 7.3 Experimental Feature Stable

See original GitHub issue

Summary of the new feature / enhancement

The current ExperimentalFeatures in 7.3:

Name                                Enabled Source                              Description
----                                ------- ------                              -----------
PSAMSIMethodInvocationLogging          True PSEngine                            Provides AMSI notification of .NET method invocations.
PSAnsiRenderingFileInfo                True PSEngine                            Enable coloring for FileInfo objects
PSCleanBlock                           True PSEngine                            Add support of a 'Clean' block to functions and script cmdlets for easy resou…
PSCommandNotFoundSuggestion            True PSEngine                            Recommend potential commands based on fuzzy search on a CommandNotFoundExcept…
PSExec                                 True PSEngine                            Add 'exec' built-in command on Linux and macOS
PSLoadAssemblyFromNativeCode           True PSEngine                            Expose an API to allow assembly loading from native code
PSNativeCommandArgumentPassing         True PSEngine                            Use ArgumentList when invoking a native command
PSNativeCommandErrorActionPreferen…    True PSEngine                            Native commands with non-zero exit codes issue errors according to $ErrorActi…
PSRemotingSSHTransportErrorHandling    True PSEngine                            Removes the SSH remoting transport stdErr stream message handling as terminat…
PSStrictModeAssignment                 True PSEngine                            Add support of setting Strict-Mode with Invoke-Command
PSSubsystemPluginModel                 True PSEngine                            A plugin model for registering and un-registering PowerShell subsystems

Proposed technical implementation details (optional)

Current discussion within the PS-Committee is not complete, but so far we’ve decided:

Make stable:

PSAMSIMethodInvocationLogging - confirm with AMSI team that the API is done and public PSAnsiRenderingFileInfo - make stable to get more user feedback. Since the decoration is user configurable, users can turn it off completely or adjust. The main criteria here is to enable this capability and less about the default colors which are user configurable. We appreciate the feedback (although would have liked it to come earlier) and agreed that since formatting changes are not breaking changes, we should proceed with the current defaults and we can continue discussing with the community potential changes for the defaults in 7.4 previews. PSCleanBlock - an opt-in feature that’s been available for awhile and commit to fixing bugs should they come up PSExec - provide consistency with expectations on non-Windows platforms PSNativeCommandArgumentPassing - we’ve received good feedback on this which greatly improves the experience on non-Windows and Windows specific issues have been addressed, we agreed to take this for 7.3 and continue to address issues into 7.4 as needed PSRemotingSSHTransportErrorHandling - this addresses a major issue with SSH remoting where native command use stderr as information and not an error which previously would kill the connection, so we want to take this fix

Keep Experimental:

PSCommandNotFoundSuggestion - pending on rewrite of Suggestion framework to make it work correctly PSLoadAssemblyFromNativeCode - keep as experimental to see if there are more users that want/need this type of feature PSNativeCommandErrorActionPreference - keep as experimental as we don’t have any data if users have used this feature given that it’s opt-in by default, consider making it opt-out in 7.4 PSSubsystemPluginModel - re-discussed within the Committee and agreed to keep this experimental, but support Az.Predictor dependency

Remove as feature:

PSStrictModeAssignment - Remove as feature since it’s not enabled for remoting and is not very useful when limited to local usage

We will review the other ones at next meeting.

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:17 (11 by maintainers)

github_iconTop GitHub Comments

1reaction
SteveL-MSFTcommented, Aug 25, 2022

@dkaszews color options for MatchInfo would have to be an entirely new feature. Feel free to open a new issue to discuss the idea and would be helpful to have proposal on how it would be exposed to users as well as use cases showing its utility.

1reaction
dkaszewscommented, Aug 25, 2022

Ad colors: I’m quite satisfied with the defaults, as they closely match bash. And while we should absolutely not treat “we should be like bash” as the ultimate goal, opening two windows side by side and seeing both directory listings look similar was satisfying. Plus, it allows us to leverage existing user expectations from a well established color design.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Using Experimental Features in PowerShell
Lists the currently available experimental features and how to use them.
Read more >
What's New in PowerShell 7.3
PowerShell 7.3 is the next stable release, built on .NET 7.0. PowerShell 7.3 includes the following features, updates, and breaking changes.
Read more >
What's new in PowerShell 7.3
PowerShell 7.3 is the next stable release, built on .NET 7.0. PowerShell 7.3 includes the following features, updates, and breaking changes.
Read more >
Gradle 7.3 Release Notes
This will allow you to try out new features before they become stable. You can always ask for this behavior by running gradle...
Read more >
Releases · PowerShell/PowerShell
Engine Updates and Fixes. Fix native executables not redirecting to file (#19842); Add a new experimental feature to control native argument ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found