📝 Release Description
🚀 Release v5.2: Menu Fixes, Pipeline Repairs, & Stability Enhancements
This release focuses heavily on squashing runtime bugs, improving CI/CD reliability, and refining code quality to ensure a smoother, crash-free deployment experience.
🐛 Bug Fixes
- Interactive Menu Repaired: Rewrote
QuickStart.cmdto use the correct PowerShell parameters (-SkipBloatwareRemoval,-SkipAppInstall,-SkipSystemConfig,-UpdateApps) instead of the non-existent-ConfigFile. All 4 menu choices now execute flawlessly. - Menu Crash Resolved: Added the missing
:startlabel toQuickStart.cmd. Invalid inputs will now loop back to the menu correctly instead of crashingcmd.exe. - Winget Parsing Patch: Fixed a silent failure where
winget --versionoutputting multiple lines caused the array replacement and[Version]cast to fail. AddedWhere-ObjectandSelect-Object -Last 1to ensure the minimum version check parses robustly. - CI Pipeline Restored: Updated the test assertion in
tests/DeployWorkstation.Tests.ps1to correctly check forQuickStart.cmd, resolving a permanent CI failure. - GitHub Actions Upgraded: Bumped the deprecated
upload-artifact@v3to@v4in.github/workflows/test-powershell.yml.
🧹 Code Quality & Under-the-Hood
- Fail-Safe Execution Policy: Moved
Set-ExecutionPolicyto the top ofDeployWorkstation.ps1(line 26). Previously, if this threw an error mid-file, it could leave the machine in a partially configured state. - Optimized Reporting: Removed a redundant
Get-CimInstance Win32_OperatingSystemcall inExport-HtmlReport. It now correctly reuses the cached$script:OsInfovariable to speed up report generation. - Variable Cleanup: Removed
$script:IsWin11, which was computed but never referenced in the codebase.
🔖 Versioning Consistency
- Unified Branding: Bumped all internal version strings (window title, banner, localization, HTML report, and
.cmdlauncher) fromv5.1tov5.2to match the repository versioning.
Full Changelog: v5.11...v5.2