via v0.2.1
Two bug fixes, both caught by the automated test suite that shipped with v0.2.0. One came from the weekly fuzz job, the other from the race detector on macOS CI.
Fixed
-Startup crash on malformed config. A config value like theme=00:00:00 crashed via at startup. The TOML library parsed it as a time-of-day literal and panicked trying to assign it to a string field. Upgraded go-toml to v2.4.3, which returns a normal parse error, and added a recovery guard in config loading so a weird config file produces a readable error instead of a crash. The crashing input now lives in the fuzz corpus as a permanent regression test.
-Duplicate ASN lookups under concurrency. A narrow timing window in the lookup dedup could send two Team Cymru queries for the same IP when many hops resolved at once. Submit now double-checks the cache after claiming its pending slot. Verified with 200 runs under the Go race detector.
Neither bug touched trace results. The first was a startup crash on hand-edited configs, the second a harmless duplicate DNS query.
Changelog
- 99a602e v0.2.1 — Two race/panic fixes surfaced by the test suite: - config.Load no longer panics on malformed TOML (e.g. bare time literals) - ASN Submit dedup closes a sync.Map ordering race that could fire duplicate lookups