v3.1.0
fullfetch version 3.1.0
New: PowerShell installer
- One-liner install for Windows: irm .../install.ps1 | iex
- Auto-adds to PATH, auto-migrates config
New: Config migration
- fullfetch -migrate — updates your config file with new fields from the latest release without overwriting your customizations
- Automatic migration runs after install via both install.sh and install.ps1
- Runtime resilience: new features work immediately with defaults, even without explicit migration
Bug Fixes
loadconfig.go
- nil pointer on file open failure — return early instead of falling through to
json.NewDecoder(nil) - deferred close with useless return type — removed
errorreturn from deferred func
functions.go
- showTitle nil deref — check
user.Current()andos.Hostname()errors before use - displayCpu index out of bounds — guard
cpuInfo[0]withlen(cpuInfo) > 0 - division by zero in memory, swap, disk, battery — guard
total > 0andFull > 0 - displayRamModel skips first module — changed
i > 0toi >= 0 ansiStripLencounts bytes not runes — added UTF-8 continuation byte detection- unbounded ANSI escape scan — added
maxScanbound of 32 - IPv6-only hosts get no IP — added IPv6 detection via
strings.Contains(addr, ":") - getDistro nil deref — check
info == nilbefore accessing fields - variable shadowing in IP loop — renamed
iploop var toaddr - deprecated wmic — replaced with
powershell Get-CimInstance - arc substring too broad — changed
"arc"to"intel arc"/"arc a" - displayArt dead code — removed entire function
main.go
%sin defaultv2 art — removed literal%splaceholders from all 20 lines- panic on -gen errors — replaced with
fmt.Println+os.Exit(1)
packages_windows.go
- countWinget ignores error — check
GetStringValueerr,continueon failure - countChoco/countScoop root-relative paths — guard empty env var before path construction
packages_stubs.go
- Removed packages_linux.go (implicit linux build constraint blocked macOS) — replaced with
!windowstagged stubs
.goreleaser.yaml
- mode: replace — added so re-runs overwrite existing assets
- 32-bit ARM builds — added
goarm: ["6", "7"]
CI (ci.yml / lint.yml / release.yml)
- Go version mismatch — updated all workflows to
go-version: '1.26.0' - 32-bit ARM in build matrix — added
linux/arm/v6andlinux/arm/v7
install.sh
- 32-bit ARM — added
armv6l→armv6,armv7l→armv7detection
Changelog
- f26c9e9 Fixed debian and rpm goreleaser packages builds errors
- a7a9bf0 Fixed goreleaser build issue
- 2b9513e Fixed workflow problems
- 5d1a5f4 Update 3.1.0
Released by GoReleaser.