@@ -41,7 +41,11 @@ Enabling experimental features automatically requires creating or updating a `po
4141which is read at startup which affects all users or from ` $HOME\Documents\PowerShell\powershell.config.json ` on Windows
4242and from ` $HOME/.config/powershell/powershell.config.json ` on Linux and macOS per user.
4343
44- This is existing behavior and will not be changed as part of this RFC.
44+ Experimental features are currently not being read from the user config and this RFC will enable reading
45+ of the user config in addition to the system config.
46+ In the case where the user config exists, it will take precedence over the system config for experimental features
47+ in that the system config is not read for experimental features.
48+ System config is not policy so this should be acceptable and expected.
4549
4650### Enable and Disable cmdlets
4751
@@ -72,3 +76,25 @@ In addition to the warning message that a restart is required after changing exp
7276the ` Enabled ` property could be changed to an enum instead of a boolean: True, False, Pending.
7377However, since experimental features is expected to be used by more advanced users,
7478this seems unnecessary.
79+
80+ Alternatively, we can add a ` RestartRequired ` property to indicate an enabled feature is pending.
81+
82+ ### Features that were previously Experimental
83+
84+ In the case where an Experimental Feature no longer experimental (whether accepted or rejected),
85+ the config file may still have that feature listed.
86+ We can add a ` State ` property that has enum values: Available, NotAvailable.
87+ This ` State ` can also convey the ` RestartRequired ` state.
88+ If this becomes a problem in the future, we can have cmdlets to help clean-up non-valid settings in the
89+ configuration (which will be more than just experimental features).
90+ Since this is additive, this is currently outside the scope of this RFC.
91+
92+ ### PowerShell instance specific configuration
93+
94+ The system (AllUsers) configuration is in ` $PSHOME ` and specific to that instance of PowerShell.
95+ The user config is global to all instances of PowerShell which can create problems.
96+ For experimental features, this is not a big issue as experimental features listed to
97+ be enabled in the config file that don't exist are silently ignored.
98+ However, other configuration that one may want to apply to a preview release and not a
99+ stable release cannot be applied except for AllUsers currently.
100+ This should be addressed in a separate configuration RFC.
0 commit comments