Skip to content

v1.0.4

Choose a tag to compare

@Ahmed-Yaseen99 Ahmed-Yaseen99 released this 07 Sep 22:59
· 62 commits to main since this release

unslop-windows v1.0.4

Added

  • Pester 5 Unit & Mocking Test Suite (tests/unslop.Tests.ps1): Introduced 17 isolated unit and integration tests mocking native cmdlets (Set-ItemProperty, Remove-ItemProperty, Set-Service, Disable-ScheduledTask, Enable-ScheduledTask), parameter flags (-KeepXbox, -KeepOneDrive) and non-elevated exit contracts with 100% test pass rate.
  • Dedicated Dot-Source Test Guard (unslop.ps1): Added early top-level exit guard (if ($MyInvocation.InvocationName -eq '.') { return }) allowing the engine to export its helper functions into test harnesses without triggering elevation checks or executing debloat logic.
  • Dual PowerShell Runtime Matrix in CI (.github/workflows/lint.yml): Multi-runtime matrix testing across both pwsh (PowerShell 7 Core) and powershell (Windows PowerShell 5.1 Desktop) on windows-latest with automated Pester 5 module provisioning.
  • 7-Pillar Local Master Quality Gate (scripts/Test-MasterGate.ps1): Expanded the gate to 7 verification pillars by decoupling the batch launcher smoke test (cmd.exe /c ".\unslop.bat -DryRun") into dedicated Pillar 7, restoring sub-second (0.1s) execution speed to -Fast checks. Added -TestResultsPath for NUnit XML export.
  • Gated Production Releases (.github/workflows/release.yml): Release builds now strictly require the verify job to pass all 7 pillars (needs: verify) before packaging and publishing assets. Added tests/ directory to release archive distribution bundles.
  • CI Concurrency, Test Reporting & Step Summary Annotations: Added PR-aware concurrency: cancel-in-progress: true, zero-dependency Markdown step summaries ($env:GITHUB_STEP_SUMMARY), inline GitHub Actions workflow annotations (::error) and artifact archiving via actions/upload-artifact@v4.
  • Architectural Decision Records (docs/decisions.md): Added ADR-008 (Pester 5 Unit Suite), ADR-009 (Dual PS Runtime Matrix), ADR-010 (Gated Releases), ADR-011 (Dedicated Batch Smoke Test) and ADR-012 (CI Concurrency & Annotations).

Fixed

  • Helper Function Parameter Binding & Switch Scope Collisions (unslop.ps1): Fixed PowerShell parameter binding collisions where -Undo was interpreted as a partial prefix match for -undoValue by adding explicit [switch]$Undo = $IsUndo, [switch]$DryRun = $IsDryRun switches across all helper functions.

Quick Installation & Usage

  1. Download unslop-windows-v1.0.4.zip from Assets below.
  2. Extract the archive to any directory.
  3. Right-click unslop.bat and choose Run as administrator (or double-click and accept the UAC elevation prompt).
  4. Select an option from the interactive menu:
    • [1] Full Debloat: Remove OneDrive, telemetry and provisioned bloatware.
    • [2] Gamer Preset: Debloat, keep Xbox & Gaming Services (-KeepXbox).
    • [3] Productivity Preset: Debloat, keep OneDrive & Microsoft To-Do (-KeepOneDrive -KeepTodos).
    • [4] Interactive Toggles: Configure custom feature combinations with visual toggle states.
    • [5] Safe Dry-Run Audit: Inspect all changes safely with zero system modifications (-DryRun).
    • [6] Full Restore / Undo: Symmetrically revert all tweaks back to defaults (-Undo).
    • [7] Custom CLI Flags: Manually enter parameter switches (e.g. -KeepTodos -KeepXbox -NoRestart).
    • [0] Exit: Close the launcher.

Verification & Integrity

Verify archive integrity using the published SHA256SUMS.txt:

Get-FileHash .\unslop-windows-v1.0.4.zip -Algorithm SHA256