Experimental feature flags is new to PSCore6.1. We are starting to have some features implemented behind the experimental flag. Currently, you have to pass -ListAvailable to Get-ExperimentalFeature to all the features and not just the enabled ones. For users new to experimental features, this seems non-obvious and it appears that there are no experimental features which limits how much feedback we can get. I would suggest removing the need for -ListAvailable as the user can easily filter enabled vs disabled ones.
After the user sees the available features, it's not obvious how to update their PowerShell settingsfile to enable the feature. They need to add something like:
{
"ExperimentalFeatures": [
"PSUseAbbreviationExpansion",
"PSImplicitRemotingBatching"
]
}
To their config file. Seems like we need to add support for user config files instead of just system wide. A cmdlet to enable features (which message indicating the features are enabled after restart of PowerShell) as well as disabling features.
Name Value
---- -----
PSVersion 6.2.0-preview.1
PSEdition Core
GitCommitId 6.2.0-preview.1-43-g66a4ab10a9c33d0a1e7daef9a8cb6ba881e8de02
OS Darwin 18.0.0 Darwin Kernel Version 18.0.0: Wed Aug 22 20:13:40 PDT 2018; root:xnu-4903.201.2~1/RELEASE_X86_64
Platform Unix
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
-ListAvailable does seem like an odd choice to have for a command in this context to have, indeed. Agreed that discoverability of experimental features is important if we plan to have them be tested at all.
Do we have a Set-/Enable-/Disable-ExperimentalFeature command? If not, I think we should. 馃槃
Currently, we only have the Get, I'm proposing we add Enable and Disable and tweak Get. Also need to add support for default powershell.config.json at user scope since it's currently only supported at system scope.
Yep, that'll be very important for experimental feature adoption, I think... having to set things at system scope all the time would probably be a bit of a turn-off.
@vexx32 enabling experimental features at system scope seems like a bad practice :)
@vexx32 see the RFC I just published for this https://github.com/PowerShell/PowerShell-RFC/pull/148
@SteveL-MSFT Can this issue be closed now via #8318?
Most helpful comment
@vexx32 enabling experimental features at system scope seems like a bad practice :)