Keep xUnit focused on pure three-scope merge and union behavior. Move the real LocalMachine write, removal, and ACL checks into the existing elevated execution-policy Pester suite, where the test runs only with MSIX package identity.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: ab738c1b-4d18-491b-a40f-0515b586857b
Remove the trivial path-composition overload and unit tests. Expose package identity through InternalTestHooks and add an elevated MSIX-gated Pester test that verifies the real LocalMachine ProgramData write and inherited ACL boundaries.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: ab738c1b-4d18-491b-a40f-0515b586857b
Keep PSHOME as immutable product defaults while resolving the writable PFN-isolated ProgramData path in Utils. Redirect AllUsers writes, preserve policy and preference merge semantics, and secure the manually provisioned hierarchy without changing non-MSIX or experimental-feature behavior.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: ab738c1b-4d18-491b-a40f-0515b586857b
Keep Enable-ExperimentalFeature and Disable-ExperimentalFeature aligned with master while retaining the MSIX configuration changes.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: ab738c1b-4d18-491b-a40f-0515b586857b
Keep immutable product defaults in PSHOME while resolving writable machine configuration from ProgramData, isolated by package family for MSIX. Apply secure Windows ACLs, preserve policy and preference merge semantics, and remove Get-PowerShellConfiguration.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: ab738c1b-4d18-491b-a40f-0515b586857b
1. Create the `LocProject.json` file for PowerShell localization.
2. Remove the unused `.resx` resource files and source files.
3. Update the `ResourceValidation` tests.
This fixes test isolation issues where six test files were leaking $PSDefaultParameterValues["It:Skip"] settings to subsequent tests, causing widespread test skipping on Linux. The fixes address two distinct patterns: using .Remove() which doesn't restore the original state (4 files), and imbalanced Push-DefaultParameterValueStack/Pop-DefaultParameterValueStack calls (2 files).
Adds the $PSApplicationOutputEncoding variable that can be used to control the encoding PowerShell uses when reading the raw bytes to a string of an external application.
Always use the v5.1 `$using:` logic when dealing with any connection type that is not based on the `WSManConnectionInfo`. This allows the caller to use the more advanced `$using` features like variables with special names, having `$using` vars inside sub scopes, and more. `WSMan` based connections might still communicate with older versions but as the oldest supported version is v3 on Server 2012. We don't need to keep the default as v2 (which has been deprecated) to support some of the newer features.