Skip to content

v1.5.1

Choose a tag to compare

@LambdaBytes LambdaBytes released this 30 Sep 16:19
· 8 commits to main since this release

Fixes

  • ICMPv6 on RAW sockets (the Linux fallback when ping_group_range denies
    DGRAM): replies are now matched against the probed address. With two or more
    IPv6 targets, a reply from one target was counted for the others — every
    probe shares the identifier and the sequence numbers advance together — so
    an unreachable target was reported as up.
  • Large payloads on RAW sockets: the receive buffer now grows with -s.
    Above ~1980 bytes the reply was truncated, failed the checksum check and
    every probe timed out.
  • Soundness (Linux): the recvmsg control buffer is aligned for cmsghdr.
  • Soundness (Windows): echo replies are read with unaligned loads, and the
    request options no longer carry implicit padding — the bytes 64-bit Windows
    reads as the options pointer are an explicit, zeroed field.
  • Windows IPv6: the reply buffer reserves room for the IO_STATUS_BLOCK that
    Icmp6SendEcho2 requires.
  • CI: a failed release creation now fails the publish job instead of being
    ignored.

Packaging

  • Arch PKGBUILD/PKGBUILD-git and a Fedora spec under packaging/; a
    dh-cargo Debian packaging draft.
  • .deb dependencies are computed automatically ($auto).
  • MSRV is Rust 1.88 (let-chains).
  • anyhow 1.0.104 (RUSTSEC-2026-0190).

Internal

  • Rustdoc and SAFETY: comments across src/; clippy clean on Linux, macOS
    and Windows targets.
  • E2E tests use a built-in watchdog instead of timeout(1), which macOS does
    not ship and Windows resolves to an unrelated tool.
  • SECURITY.md and GitHub CI/release workflows.