-
Notifications
You must be signed in to change notification settings - Fork 8.1k
Make some experimental features stable #26348
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR promotes four experimental features to mainstream by removing their experimental feature gates. These features were previously behind experimental flags and are now enabled by default.
Key Changes:
- Removed experimental feature gates for
PSRedirectToVariable,PSNativeWindowsTildeExpansion, andPSSubsystemPluginModel - Removed experimental feature metadata and checks from the engine
- Updated tests to remove conditional skipping based on experimental feature states
- Fixed indentation inconsistencies in test files
Reviewed Changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| test/tools/TestMetadata.json | Removed experimental feature entries that are now mainstream |
| test/powershell/Modules/Microsoft.PowerShell.Utility/Set-Variable.Tests.ps1 | Removed experimental feature checks and test skipping logic for PSRedirectToVariable |
| test/powershell/Language/Scripting/NativeExecution/NativeWindowsTildeExpansion.Tests.ps1 | Removed experimental feature assertion and fixed indentation |
| test/powershell/Language/Parser/RedirectionOperator.Tests.ps1 | Removed experimental feature check for PSRedirectToVariable |
| src/System.Management.Automation/engine/runtime/Operations/MiscOps.cs | Removed experimental feature guards for PSRedirectToVariable, making variable redirection always available |
| src/System.Management.Automation/engine/Subsystem/Commands/GetPSSubsystemCommand.cs | Removed experimental attribute from Get-PSSubsystem cmdlet |
| src/System.Management.Automation/engine/NativeCommandParameterBinder.cs | Removed experimental feature check for PSNativeWindowsTildeExpansion |
| src/System.Management.Automation/engine/InitialSessionState.cs | Made Get-PSSubsystem cmdlet available by default instead of conditionally |
| src/System.Management.Automation/engine/ExperimentalFeature/ExperimentalFeature.cs | Removed experimental feature definitions for promoted features |
| src/Microsoft.PowerShell.Commands.Utility/commands/utility/Var.cs | Removed experimental attribute from Append parameter |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
📣 Hey @@daxian-dbw, how did we do? We would love to hear your feedback with the link below! 🗣️ 🔗 https://aka.ms/PSRepoFeedback |
The following experimental features are made stable: - PSNativeWindowsTildeExpansion - PSRedirectToVariable - PSSubsystemPluginModel
The following experimental features are made stable: - PSNativeWindowsTildeExpansion - PSRedirectToVariable - PSSubsystemPluginModel
PR Summary
Make the following experimental features stable per the PMs and maintainers' decision:
Also clean up the related tests. There are some whitespace-only changes to tests, so it's easier to review by ignoring the whitespace changes: https://github.com/PowerShell/PowerShell/pull/26348/files?w=1