Skip to content

0.3.0 - 2026-07-06

Choose a tag to compare

@github-actions github-actions released this 06 Jul 18:45
6a9ad46

Release Notes

Added

  • Word and line cursor motions in the domain input: Option/Alt+←/→ (or
    Ctrl+←/→, or Alt+B/F) moves the cursor by one dot-separated label;
    Cmd+←/→ (or Home/End, or Ctrl+A/E) jumps to the start/end of the input.
    Cmd is reported via the kitty keyboard protocol, enabled when the
    terminal supports it. (#17)
  • Argument parsing via clap: --help and --version now work, invalid
    arguments get proper error messages, and an optional record-type
    positional (dnsglobe example.com TXT) sets the starting record type in
    TUI mode too — previously it was only honored with --once. The long
    --help also documents $DNSGLOBE_CONFIG and the config-file syntax.
  • Anycast site geolocation: large anycast resolvers (Quad9, Cloudflare,
    Google, OpenDNS, CleanBrowsing, Neustar UltraDNS) are asked which POP is
    answering via identification queries (id.server CH TXT and
    operator-specific probes). The discovered site shows in the Loc column
    (e.g. →YUL) and the resolver's map dot moves to the POP actually serving
    you. (#13)
  • Cache-expiry countdowns: a live Exp column next to the static TTL shows
    when each resolver's cache entry must be refetched; the propagation gauge
    shows the fleet-wide bound ("old answers expire in ≤ X"). Watch mode skips
    re-polling resolvers that agree with the majority until their TTL runs out.
    (#12)
  • TTL advisory: once a round settles with full agreement and the zone's TTL
    is ≥ 1 hour, a footer hint suggests lowering the TTL before a planned
    record change. (#12)
  • Stale-cache verdicts in watch mode: ! PAST TTL flags a resolver serving
    an answer past its own reported TTL, ↻ UPSTREAM flags one that refetched
    and still got old data back (e.g. a lagging secondary authoritative
    server). Both surface in the status column and on the map.
    (#12)
  • TOML config file for custom resolvers: add to (or replace) the built-in
    list via ~/.config/dnsglobe/config.toml (XDG-aware, DNSGLOBE_CONFIG
    override). Entries take a name and IPv4/IPv6 address, plus optional
    location and lat/lon for the world map; invalid config is rejected at
    startup with the offending entry named.
    (#11)
  • CI workflow running cargo fmt, clippy, and tests on PRs and main.
    (#11)
  • README: Arch Linux AUR package information.
    (#8)

Changed

  • Releases are now cut by merging a version-bump PR: the release workflow is
    dispatched automatically and publishes to crates.io (new) as well as
    Homebrew, so cargo install dnsglobe stays current with each release.
    (#19)

Install dnsglobe 0.3.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/514-labs/dnsglobe/releases/download/v0.3.0/dnsglobe-installer.sh | sh

Install prebuilt binaries via Homebrew

brew install 514-labs/tap/dnsglobe

Download dnsglobe 0.3.0

File Platform Checksum
dnsglobe-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
dnsglobe-x86_64-apple-darwin.tar.xz Intel macOS checksum
dnsglobe-x86_64-pc-windows-msvc.zip x64 Windows checksum
dnsglobe-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
dnsglobe-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum