NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #4278 most downloaded on crates.io
Cargo plugin to build bpf programs
Last release 12 days ago
25 Sep 2026
Release timing varies
gaps range from 2 weeks to 6 months
Some releases are documented
notes for 24 of 60 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
64 releases · first in 2020
One column per quarter.
Added <arena-map>_data skeleton members for accessing __arena global variables
MapType::Arena variant<arena-map>_data skeleton members for accessing __arena global variablesFull Changelog: v0.27.1...v0.27.2
<arena-map>_data skeleton members for accessing __arena
global variablesAdded documentation aliases for underlying libbpf C functionality to various types/functions
libbpf C functionality to various types/functions.o extension for object filesFull Changelog: v0.27.0...v0.27.1
Added KprobeMultiLinkInfo & UprobeMultiLinkInfo fields that required a second info call
KprobeMultiLinkInfo & UprobeMultiLinkInfo fields that required a second info callkey_size, value_size and more getters to OpenMap{,Mut}IterLinkInfo fields for LinkTypeInfo::IterErrorKind::TooBig variant, surfaced when the underlying operation fails with E2BIG (e.g., a map reaching max_entries)MapHandle::from_pinned_path_with_file_flags for opening maps with custom file flagsquery info types to be OsString instead of CStringquery::*Info types non-exhaustiveFull Changelog: v0.26.2...v0.27.0
Added ProgramMut::assoc_struct_ops for associating non- struct_ops programs with struct_ops maps
ProgramMut::assoc_struct_ops for associating non-struct_ops programs with struct_ops mapsIterOpts::None variant for attach_iter_with_opts()libbpf-sys dependency to 1.7.0missing-docs lint suppression on generated skeletonFull Changelog: v0.26.1...v0.26.2
missing-docs lint suppression on generated skeletonlibbpf-sys dependency to 1.7.0Added MapCore::query_fdinfo for querying map fdinfo
MapCore::query_fdinfo for querying map fdinfoProgramType::Netfilter variantProgram::attach_uprobe_multi_with_opts to work with empty func_patternSkeletonBuilder::reference_obj for enabling generate skeleton to reference an object file instead of embedding itFull Changelog: v0.26.0...v0.26.1
Added Link::info method for retrieving LinkInfo
Link::info method for retrieving LinkInfoLinkTypeInfo::PerfEvent variant to contain newly added PerfEventLinkInfo objectLinker::add_buf method for adding in-memory ELF files to the set of objects to linkProgram::attach_iter_with_opts for attaching to iterators with additional optionsProgram::attach_uprobe_multi & Program::attach_uprobe_multi_opts to enable attachments of multi uprobes at onceProgram::{stdout,stderr} for accessing BPF stdout and stderr streamsOpenProgram::autoload getterOpenMap::autocreate and Map::autocreate gettersMapCore::lookup_into for looking up values into preallocated buffersverified_insns attribute to query::ProgramInfo typequery::ProgramInfo non-exhaustiveObjectBuilder::btf_custom_path setterXxxSkelBuilder::obj_builder customizations when using open() constructorlibbpf-sys 1.6.3Full Changelog: v0.26.0-beta.1...v0.26.0
What's Changed libbpf-cargo Allowlisted libbpf-sys 1.6.1 Full Changelog : v0.26.0-beta.0...v0.26.0-beta.1
libbpf-sys 1.6.1Full Changelog: v0.26.0-beta.0...v0.26.0-beta.1
Removed previously deprecated Program::get_id_by_fd method
target_obj_id and target_btf_id fields to TracingLinkInfo to expose BTF information directly from kernel queriesProgram::get_id_by_fd method1.82.bpf.objs section allowing easy extraction from the final binary1.82Full Changelog: v0.25.0...v0.26.0-beta.0
Added kprobe multi support for attaching programs, with and without providing additional options
Program::attach_perf_event_with_opts for attaching to perf events with additional optionsTracepointCategory enum for specifying tracepoint categoriesmax_entries getter to various map typesOpenProgramMut::set_autoattachProgramAttachType and query::LinkTypeInfo variantsUprobeOpts::func_name to be an OptionSync for Linklibbpf-sys dependency to 1.5.0ProgramInput::repeat field to run a test multiple timesProgramOutput::duration field which represent the average duration per repetitionRingBuffer::consume_raw_n method to consume up to N items<xxx>_data BPF map skeleton members to be OptionsSkeletonBuilder::skip_clang_version_check and SkeletonBuilder::debug--skip-clang-version-checks option of libbpf build sub-command--debug option of libbpf sub-command with -v / --verbose
--quiet option of libbpf make sub-commandCompilationOutput type with tracing based solution using newly added util::CargoWarningFormatter1.78Full Changelog: v0.25.0-beta.1...v0.25.0
Adjusted btf::EnumMember to store value as i64
btf::types::EnumMember to store value as i64btf::types::Enum64Member to store value as i128enum64 types are presentFull Changelog: v0.25.0-beta.0...v0.25.0-beta.1
Added Map::lookup_batch and Map::lookup_and_delete_batch method
Map::lookup_batch and Map::lookup_and_delete_batch methodMaybeUninitSkeletonBuilder::build* methods to return CompilationOutput on successFull Changelog: v0.24.8...v0.25.0-beta.0
Added Program::attach_netfilter_with_opts for attaching to netfilter hooks
Program::attach_netfilter_with_opts for attaching to netfilter hooksFull Changelog: v0.24.8...v0.24.8
Fixed handling of empty unions in BPF types
Fixed incorrect Cargo environment variable query when used in build script context
Nothing published for this version
Adjusted skeleton generation code to work around libbpf forward compatibility issue when an old system libbpf is being used instead of the vendored co
libbpf forward
compatibility issue when an old system libbpf is being used instead
of the vendored copySilenced possible clippy reported warnings in generated skeleton when BPF object file does not contain any maps
clippy reported warnings in generated skeleton
when BPF object file does not contain any mapsFixed panic on "open" of skeleton with kconfig map
kconfig mapFixed missing BPF object cleanup after skeleton destruction
Reworked generated skeletons to contain publicly accessible maps and program members, no longer requiring method calls
<project>_types to just typesstruct_ops type to StructOps and moved it out of types
moduleDefault impl for arrays
of pointersFixed generation of Default impl in presence of large padding arrays
Default impl in presence of large padding arraysNothing published for this version
Added "import injection" escape hatch to generated skeletons
Removed novendor feature in favor of having disableable default feature
novendor feature in favor of having disableable default
featurestruct_ops shadow objects for generated skeletonsSkeletonBuilder::clang_args to accept an iterator of
arguments instead of a string--clang-args argument to make and build sub-commands<project>_types module as opposed to
having multiple modules for various sections (.bss, .rodata, etc.)MaybeUninitlibbpf-sys dependency to 1.4.01.71Nothing published for this version
Adjusted skeleton creation logic to generate shared and exclusive datasec accessor functions
Error enum in favor of anyhow::Error1.65Added Default impl for generated struct types containing pointers
Default impl for generated struct types containing pointers1.64Adjusted named padding members in generated types to have pub visibility
pub visibilityAdjusted skeleton generation code to ensure implementation of libbpf-rs's SkelBuilder, OpenSkel, and Skel traits
libbpf-rs's
SkelBuilder, OpenSkel, and Skel traitsSwitched over to using libbpf-rs's BTF support internally for skeleton generation
libbpf-rs's BTF support internally for skeleton
generation-fno-stack-protector to clangFixed mismatch in size of generated types with respect to corresponding C types
Sync for generated skeletonsrustfmt optionalNothing 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
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 →