v1.9.20 — fix IPv6 address formatting
Latent bug surfaced by the v1.9.19 CI run on Go 1.25 vet: fmt.Sprintf("%s:%d", host, port) does not produce a valid net.Dial address when host is an unbracketed IPv6 literal. Replaced two call sites in scanner.go and enumerators.go (clawdbotWSProbe) with net.JoinHostPort(host, strconv.Itoa(port)).
Before this fix, IPv6 scanning silently failed at the dial step. After: works end-to-end.
Inherited from v1.0. Local Go 1.22 vet did not flag it; CI Go 1.25 did. The CI workflow added in v1.9.19 caught its own first regression in the same release cycle.
No new tests (mechanical fix). go vet ./... and go test ./... clean.
Install:
curl -LO https://github.com/Nicholas-Kloster/aimap/releases/download/v1.9.20/aimap-linux-amd64
chmod +x aimap-linux-amd64
sudo mv aimap-linux-amd64 /usr/local/bin/aimap