Skip to content

Latest commit

 

History

History
142 lines (106 loc) · 3.87 KB

CHANGELOG.md

File metadata and controls

142 lines (106 loc) · 3.87 KB

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