NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #3742 most downloaded on crates.io
A packet capture API around pcap/wpcap
Last release 1 months ago
15 Aug 2026
Ships fairly regularly
a new release about every 4 months
Some releases are documented
notes for 19 of 46 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
46 releases · first in 2015
Binding for pcap_dispatch added. It can be accessed via the dispatch call on Activated captures and processes a batch of packets per call, making pack
pcap_dispatch added. It can be accessed via the dispatch call on Activated
captures and processes a batch of packets per call, making packet loss less likely in high
traffic situations.Binding for pcap_breakloop added. It can be accessed via the breakloop_handle call on Activated captures.
1.64.pcap_breakloop added. It can be accessed via the breakloop_handle call on Activated captures.One column per quarter.
Added packet_header_size() for applications that need to know the size of internal type pcap_pkthdr (for instance to calculate exact send queue sizes)
packet_header_size() for applications that need to know the size of internal type
pcap_pkthdr (for instance to calculate exact send queue sizes).Added an implementation of AsFd on Capture on non-Windows.
AsFd on Capture<Active> on non-Windows.Add want_pktap on Capture for Mac OS.
want_pktap on Capture<Inactive> for Mac OS.### Changed - Rust Edition is now 2021. - MSRV is now 1.63.0.
2021.1.63.0.Binding for pcap_loop added. It can be accessed via the for_each call on Activated captures.
pcap_loop added. It can be accessed via the for_each call on Activated captures.capture-stream support added for Windows.
capture-stream support added for Windows.lending-iter UNSTABLE feature that introduces lending iterator using GATs.
lending-iter UNSTABLE feature that introduces lending iterator using GATs.### Changed - Public API declared stable.
SendQueue::queue_sg() can add scattered packets, as a slice of std::IoSlices, to SendQueues.
SendQueue::queue_sg() can add scattered packets, as a slice of
std::io::IoSlices, to SendQueues.sendqueue::Sync to sendqueue::SendSync to avoid collision with
Sync in std's prelude.pkg-config if available and LIBPCAP_LIBDIR
hasn't been explicitly set.### Changed - MSRV is now 1.46.0.
1.46.0.doc will now include all features.
PacketStream::capture_mut to still be able to inject packets when using PacketStream.Capture::iter() that return an iterator that use a codec like Capture::stream().Packet<Dead>::dead_with_precision to enable creating a pcap with nanosecond precision.flags field to Device.BpfProgram no longer have Clone implementation see #2611.41.0.PacketStream has been moved from mod stream to the root of the crate.PacketCodec has been moved from mod stream to the root of the crate.PacketCodec::decode() no longer returns a Result.PacketCodec::Type has been renamed to PacketCodec::Item.Device::lookup now returns Result<Option<Device>, Error> rather than Result<Device, Error>. Ok(None) means that the lookup succeeded, but no suitable devices were available. This is consistent with libpcap.Capture and Savefile no longer implement the Sync trait. The underlying libpcap library does not promise thread-safe access for the same capture object from multiple threads.winapi to windows-sys for Windows builds. windows-sys requires rustc 1.46.0.Capture::next have been rename next_packet to avoid any confusion with Iterator::next.stream is no longer public.docs-rs feature.full feature.stream::SelectableFd and stream::PacketStream::new as they were only meant to be used internally.capture-stream requires rustc version 1.49.0 due to dependency on tokio.
capture-stream requires rustc version 1.49.0 due to dependency on tokio.### Added - Support for device addresses.
Updated dependency tokio from version 0.2 to 1.0.
savefile.flush support.tokio from version 0.2 to 1.0.capture-stream requires rustc version 1.45.0 due to dependency on tokio.### Changed - Fix docs.rs build.
Updated dependency from deprecated tokio-core to tokio 0.2.
Derive(Clone) to Device struct (#100).libpcap version detection.tokio-core to tokio 0.2.futures from version 0.1 to 0.3.tokio renamed to capture-stream because Cargo does not allow features and dependencies to have the same name.PCAP_LIBDIR renamed to LIBPCAP_LIBDIR to distinguish the pcap crate from the libpcap library.RawFd are now unsafe.new to from_handle to underline this.pcap-savefile-append, pcap-fopen-offline-precision (replaced by build-time libpcap version detection).No Changelog entries for <= 0.7.0.
No Changelog entries for <= 0.7.0.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →