Releases: network-plane/ntpcl
Releases · network-plane/ntpcl
Release list
v0.4.23
Toolchain & dependencies
- Go bumped to 1.27.1
- github.com/beevik/ntp v1.4.3 → v1.5.0
- github.com/spf13/cobra v1.9.1 → v1.10.2
- github.com/fatih/color v1.18.0 → v1.19.0
- github.com/olekukonko/tablewriter v1.1.0 → v1.1.5
- github.com/mattn/go-isatty v0.0.20 → v0.0.24
- golang.org/x/sys v0.45.0 → v0.48.0
- golang.org/x/net v0.55.0 → v0.59.0 (indirect)
- github.com/spf13/pflag v1.0.6 → v1.0.10 (indirect)
Correctness & safety
- RFC 868 client sends UDP request first; TCP fallback added
- Network timeouts on HTTP, daytime, and time protocol
- HTTP dates parsed with multiple formats; non-2xx responses rejected
- Daytime parsing supports multiple layouts; --time-is-utc for zoneless banners
- NTP responses validated; kiss-of-death rejected
- Clock offset applied at set time, not at fetch time
- Non-NTP sources corrected for one-way delay (RTT/2)
- --dry-run, --max-delta, and --force safety guards added
- --system-tools fixed for Linux, macOS, and Windows
- Syscalls moved to golang.org/x/sys (32-bit safe)
- NTP queries use hostname directly (IPv6, ports, pool DNS preserved)
- High-accuracy mode uses sequential spaced samples with median RTT
- Persistent flags fix ntpcl --set ntp HOST
- windows-time help clarifies unsigned NTP
CLI & output
- JSON, unix, rfc3339, quiet, and --no-color output formats
- Richer NTP table (version, reference ID, leap indicator, etc.)
- Typed errors with distinct exit codes (2–5)
- Module path changed to github.com/earentir/ntpcl
- README updated for subcommand-based CLI
Build & release
- Makefile added: make → native ./ntpcl, make all → static builds/ binaries
- Release targets: builds/ntpcl (linux/amd64), builds/ntpcl.exe (windows/amd64), builds/ntpcl_darwin (darwin/arm64)
- builds/ gitignored; static builds only (CGO_ENABLED=0)
- Darwin and Windows cross-compile fixes for release builds