Skip to content

Releases: ableinc/myip

v0.2.1

24 Apr 01:31

Choose a tag to compare

Read , lines 1 to 30


What's new in v0.2.1

New feature: --local

Show the local machine's IPv4 and IPv6 addresses without any network calls.

myip --local
myip --local --json
  • Enumerates all active, non-loopback network interfaces
  • Reports all non-link-local unicast IPv4 addresses and IPv6 addresses
  • Prints (none) for a family if no addresses are found
  • --json outputs { "ipv4": [...], "ipv6": [...] }
  • Cannot be combined with --detail, --weather, --unit, or --no-cache

v0.2.0

23 Apr 23:22

Choose a tag to compare

Read , lines 1 to 270

Read

Here are the release notes ready to paste into the GitHub release page:


What's New

This is the initial public release of myip — a fast, zero-dependency CLI tool for looking up your public IP address and local weather from the terminal.

Features

IP geolocation

  • Displays your public IP address by default (single line, no noise)
  • --detail shows a full geolocation table: IP address, IP version, city, region, country, continent, latitude, longitude, ASN, and Cloudflare colo
  • Powered by the Cloudflare Radar API — no API key required

Weather

  • --weather shows current conditions at your detected IP location: temperature, feels like, humidity, weather code, wind speed, wind gusts, wind direction, pressure (MSL), surface pressure, precipitation, rain, showers, snowfall, and day/night status
  • Powered by the Open-Meteo API — no API key required
  • --unit celsius or --unit fahrenheit to override the temperature unit
  • Fahrenheit is auto-detected for US, BS, BZ, KY, LR, PW, FM, and MH

Output formats

  • Default: clean, aligned key/value table with coloured labels
  • --json outputs pretty-printed JSON for --detail, --weather, or both combined

Local cache

  • IP geolocation results are cached at ~/.myip/cache for 30 minutes
  • Cache writes are atomic (write to .tmp then rename)
  • --no-cache bypasses reading from and writing to the cache

Other

  • --version prints the version and exits
  • --help prints usage, all flags, cache details, and examples
  • Version is embedded at build time via -ldflags "-X main.version=$(VERSION)"
  • Zero external dependencies — stdlib only

Build

make build              # builds ./myip at version 0.2.0
make build VERSION=x.y.z

Requirements

  • Go 1.23+

v1.0.1

03 Aug 21:39

Choose a tag to compare

Intelligent Caching System

  • Local caching of IP addresses in ~/.myip_cache.json
  • 1-hour cache validity - cached IPs are returned instantly if fetched within the last hour
  • Independent caching for IPv4 and IPv6 addresses
  • Cache bypass option with --no-cache flag for fresh lookups
  • Automatic cache updates when fetching new IP addresses

Performance & Reliability

  • 10-second timeout for HTTP requests to prevent hanging
  • IP address validation to ensure returned values are valid
  • Graceful error handling with meaningful error messages
  • Zero external dependencies - uses only Go standard library

Technical Details

  • Uses ipify.org API for IPv4/IPv6 lookups
  • Cache stored as JSON in user's home directory

v1.0.0

16 Mar 14:39

Choose a tag to compare

  • Smaller binary size (utilizing optimized build options)
  • Uses arguments instead of options, replace -v option with v4 or v6 in-line arguments

v0.0.1 - myip

06 Dec 23:56

Choose a tag to compare

The initial release.