Skip to content

v0.23.0

Compare
Choose a tag to compare
@github-actions github-actions released this 02 Apr 17:13
· 279 commits to refs/heads/master since this release

What's Changed

libbpf-rs

  • Overhauled crate feature set:
    • Removed novendor feature
    • Added vendored feature to use vendored copies of all needed libraries
  • Added Program::attach_ksyscall for attaching to ksyscall handlers
  • Added Program::test_run as a way for test-running programs
  • Added OpenMap::initial_value{,_mut} for retrieving a map's initial value
  • Added replace functionality to Xdp type
  • Added low-level consume_raw and poll_raw methods to RingBuffer type
  • Added recursion_misses attribute to query::ProgramInfo type
  • Added AsRawLibbpf impl for OpenProgram
  • Fixed incorrect inference of btf::types::MemberAttr::Bitfield variant
  • Fixed examples not building on non-x86 architectures
  • Fixed potentially missing padding byte initialization on some target architectures
  • Fixed compilation issues caused by mismatching function signatures in certain cross-compilation contexts
  • Updated libbpf-sys dependency to 1.4.0
  • Bumped minimum Rust version to 1.71

libbpf-cargo

  • Removed novendor feature in favor of having disableable default feature
  • Added support for struct_ops shadow objects for generated skeletons
  • Added support for handling custom data sections in generated skeletons
  • Adjusted SkeletonBuilder::clang_args to accept an iterator of arguments instead of a string
  • Added --clang-args argument to make and build sub-commands
  • Put all generated types into single <project>_types module as opposed to having multiple modules for various sections (.bss, .rodata, etc.)
  • Fixed potential naming issues by escaping reserved keywords used in identifiers
  • Fixed potential unsoundness issues in generated skeletons by wrapping "unsafe" type in MaybeUninit
  • Added pointer based ("raw") access to datasec type to generated skeletons
  • Added better handling for bitfields to code generation logic
  • Updated libbpf-sys dependency to 1.4.0
  • Bumped minimum Rust version to 1.71

New Contributors

Full Changelog: v0.22.1...v0.23.0