Skip to content

v2.2.0 — Fix 10 issues + randomized splash colors

Choose a tag to compare

@nanoDBA nanoDBA released this 25 Apr 22:12
· 337 commits to master since this release

Summary

Resolves all 10 remaining open issues (7 bugs + 3 enhancements) plus the new ASCII art color randomization. 4 agents ran in parallel across non-overlapping code regions.

Bugs Fixed

Issue Description
#2 pip JSON parsing — single outdated package returned as PSObject, not array. Wrapped in @().
#3 Crash recovery — unknown phase names silently treated as crashes. Now warns and ignores.
#4 $LASTEXITCODE stale value — webhook logged success on silent failure. Uses -ErrorAction Stop now.
#5 Module job validation — job failures not detected. State checked before Remove-Job.
#6 AWS tooling injection — UninstallString passed unsanitized to cmd.exe /c. Now calls msiexec.exe directly with extracted product code; non-MSI skipped with warning.
#16 ExcludePatterns escaping — single quotes in patterns broke scheduled task args. Doubled for escaping.
#19 Orphan pwsh.exe — Stop-Job didn't kill child process. Now kills via ProcessId on timeout.

Enhancements

Issue Description
#17 WebhookUrl validation — [ValidateScript] rejects non-http/https strings at bind time.
#18 SMTP authentication — new [pscredential]$SmtpCredential parameter. Splatted into Send-MailMessage when provided.
#20 Webhook retry — 3-attempt exponential backoff (2s, 4s delays). Fail-forward preserved.
#21 ASCII art colors — 6 curated neon palettes (cyan, green, magenta, yellow, blue, red). Random pick per boot.

Files Changed

  • Invoke-BootUpdateCycle.ps1 — 88 lines changed across 8 functions
  • Deploy-BootUpdateCycle.ps1 — ExcludePatterns escaping fix
  • Repair-AwsTooling.ps1 — MSI uninstall rewrite (no more cmd.exe shell)

🤖 Generated with Claude Code