Skip to content

Releases: libbpf/libbpf-rs

v0.20.1

12 Apr 18:07
Compare
Choose a tag to compare

What's Changed

libbpf-rs

  • Added bindings for BTF via newly introduced btf module
  • Added Map constructors from pinned paths and from map id
  • Added Map::as_libbpf_bpf_map_ptr and Object::as_libbpf_bpf_object_ptr accessors
  • Added MapInfo type as a convenience wrapper around bpf_map_info
    • Added Map::info to Map to make it easier to derive MapInfo from a Map instance
  • Added set_log_level, log_level, and autoload methods to OpenProgram
  • Removed deprecated Link::get_fd method
  • Bumped minimum Rust version to 1.63

libbpf-cargo

  • Switched over to using libbpf-rs's BTF support internally for skeleton generation
  • Fixed potential build failures on systems defaulting to stack protector usage by passing -fno-stack-protector to clang

New Contributors

Full Changelog: v0.20.0...v0.20.1

v0.20.0

15 Mar 20:59
Compare
Choose a tag to compare

What's Changed

libbpf-rs

  • Added support for USDT probes
  • Added BPF linker support with new Linker type
  • Added Program::attach_uprobe_with_opts for attaching Uprobes with additional options
  • Added tproxy example
  • Added option to RingBuffer::poll to block indefinitely
  • Added support for querying BPF program type using OpenProgram::prog_type
  • Added support for retrieving a BPF program's instructions using OpenProgram::insns & Program::insns
  • Added MapType::is_supported, ProgramType::is_supported, and ProgramType::is_helper_supported methods
  • Added PerfBuffer::as_libbpf_perf_buffer_ptr to access underlying libbpf-sys object
  • Adjusted various Map methods to work on shared receivers
  • Fixed Link::open constructor to be a static method
  • Fixed unsoundness in skeleton logic caused by aliased Box contents
  • Implemented Send for PerfBuffer and RingBuffer
  • Made more types implement Clone and Debug
  • Run leak sanitizer in CI
  • Updated various dependencies

libbpf-cargo

  • Fixed mismatch in size of generated types with respect to corresponding C types
  • Fixed generated skeleton potentially being unstable (changing each time)
  • Implemented Sync for generated skeletons
  • Made formatting using rustfmt optional
  • Updated various dependencies

New Contributors

Full Changelog: v0.19.1...v0.20.0