Skip to content

Commit da1dfab

Browse files
committed
v1.21.8 — Fix download progress bar format crash
ETA calculation in Write-ProgressBar used {0:D2} format specifier with a floating-point value from [math]::Ceiling(), which only accepts integral types. Cast to [int] to fix FormatException during file downloads.
1 parent 74c661f commit da1dfab

6 files changed

Lines changed: 11 additions & 6 deletions

File tree

Changelog.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Changelog
22

3+
## v1.21.8
4+
5+
- **Bug Fix:** Download progress bar crash — ETA calculation used a format specifier incompatible with floating-point values, causing "Format specifier was invalid" error during file downloads (04-Navigation).
6+
- 64 modules, 2291 tests
7+
38
## v1.21.7
49

510
- **UX:** Agent installer "NOT CONFIGURED" screen cleaned up — removed debug output, now shows a concise error message if the company defaults JSON file has syntax errors (57-AgentInstaller).

Header.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@
3030
7h3 4b1d3r
3131
3232
.VERSION
33-
1.21.7
33+
1.21.8
3434
3535
.LAST UPDATED
36-
03/09/2026
36+
03/10/2026
3737
3838
.CHANGELOG v1.21.1
3939
ROBUSTNESS, UX, CACHE CONSISTENCY:

Modules/00-Initialization.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ if (-not $PSCommandPath -and $script:ScriptPath) {
139139
if (-not $script:ModuleRoot -and $script:ScriptPath) {
140140
$script:ModuleRoot = [System.IO.Path]::GetDirectoryName($script:ScriptPath)
141141
}
142-
$script:ScriptVersion = "1.21.7"
142+
$script:ScriptVersion = "1.21.8"
143143
$script:ScriptStartTime = Get-Date
144144

145145
# OS version detection (for feature compatibility)

Modules/04-Navigation.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -442,7 +442,7 @@ function Write-ProgressBar {
442442
$etaStr = ""
443443
if ($SpeedBytesPerSec -gt 0 -and $CurrentBytes -lt $TotalBytes) {
444444
$remaining = $TotalBytes - $CurrentBytes
445-
$etaSec = [math]::Ceiling($remaining / $SpeedBytesPerSec)
445+
$etaSec = [int][math]::Ceiling($remaining / $SpeedBytesPerSec)
446446
$etaMin = [math]::Floor($etaSec / 60)
447447
$etaSecRem = $etaSec % 60
448448
$etaStr = " ETA ${etaMin}m $("{0:D2}" -f $etaSecRem)s"

RackStack.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
Environment-specific settings are configured via defaults.json.
1414
1515
.VERSION
16-
1.21.7
16+
1.21.8
1717
1818
.NOTES
1919
- Requires Windows Server 2012 R2 or later (or Windows 10/11 for testing)

Tests/Run-Tests.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<#
22
.SYNOPSIS
3-
Automated Test Runner for RackStack v1.21.7
3+
Automated Test Runner for RackStack v1.21.8
44
55
.DESCRIPTION
66
Comprehensive non-interactive test suite covering:

0 commit comments

Comments
 (0)