Skip to content

Latest commit

 

History

History
187 lines (141 loc) · 5.23 KB

File metadata and controls

187 lines (141 loc) · 5.23 KB

0.26.1

  • Added SkeletonBuilder::reference_obj for enabling generate skeleton to reference an object file instead of embedding it

0.26.0

  • Fixed Rust type generation for trailing bitfields in composite C types
  • Fixed handling of XxxSkelBuilder::obj_builder customizations when using open() constructor
  • Allowlisted libbpf-sys 1.6.3

0.26.0-beta.1

  • Allowlisted libbpf-sys 1.6.1

0.26.0-beta.0

  • Moved BPF object content in generated skeletons into .bpf.objs section allowing easy extraction from the final binary
  • Bumped minimum Rust version to 1.82

0.25.0

  • Adjusted all <xxx>_data BPF map skeleton members to be Options
  • Adjusted numbering of generated Rust structs for anonymous C types to be less fragile in the presence of type additions
  • Removed SkeletonBuilder::skip_clang_version_check and SkeletonBuilder::debug
  • Removed --skip-clang-version-checks option of libbpf build sub-command
  • Replaced --debug option of libbpf sub-command with -v / --verbose
    • Removed --quiet option of libbpf make sub-command
  • Replaced CompilationOutput type with tracing based solution using newly added util::CargoWarningFormatter
  • Fixed handling of multiple types of same name in BTF by enumerating them in the generated skeleton
  • Bumped minimum Rust version to 1.78

0.25.0-beta.1

  • Fixed skeleton generation when enum64 types are present

0.25.0-beta.0

  • Represent C enums with custom types and const fields
    • Adjusted Rust correspondents in generated skeletons to no longer be wrapped in MaybeUninit
  • Adjusted SkeletonBuilder::build* methods to return CompilationOutput on success

0.24.7

  • Fixed handling of empty unions in BPF types

0.24.6

  • Fixed incorrect Cargo environment variable query when used in build script context

0.24.4

  • Adjusted skeleton generation code to work around libbpf forward compatibility issue when an old system libbpf is being used instead of the vendored copy

0.24.3

  • Silenced possible clippy reported warnings in generated skeleton when BPF object file does not contain any maps

0.24.2

  • Fixed panic on "open" of skeleton with kconfig map

0.24.1

  • Fixed missing BPF object cleanup after skeleton destruction

0.24.0

  • Reworked generated skeletons to contain publicly accessible maps and program members, no longer requiring method calls
  • Adjusted skeleton creation logic to generate Rust types for all types available in BPF
  • Renamed module for generated Rust types from <project>_types to just types
  • Renamed generated struct_ops type to StructOps and moved it out of types module
  • Fixed Rust code generation logic to properly create Default impl for arrays of pointers

0.23.3

  • Fixed generation of Default impl in presence of large padding arrays

0.23.1

  • Added "import injection" escape hatch to generated skeletons

0.23.0

  • 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" types 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

0.22.0

  • Adjusted skeleton creation logic to generate shared and exclusive datasec accessor functions
  • Removed Error enum in favor of anyhow::Error
  • Bumped minimum Rust version to 1.65

0.21.2

  • Added Default impl for generated struct types containing pointers
  • Fixed handling of function prototype type declaration inference in BTF and skeleton generation
  • Improved error reporting in build script usage
  • Bumped minimum Rust version to 1.64

0.21.1

  • Adjusted named padding members in generated types to have pub visibility

0.21.0

  • Adjusted skeleton generation code to ensure implementation of libbpf-rs's SkelBuilder, OpenSkel, and Skel traits
  • Improved error reporting on BPF C file compilation failure

0.20.1

  • 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

0.20.0

  • 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

0.19.1

  • Initial documented release