Redbpf Versions Save

Rust library for building and running BPF/eBPF modules

v1.2.0

3 years ago

1.2.0 is a significant release, with many improvements regarding build stability, and some new features!

Probably the most important feature is support for LLVM11 through libllvm, which allows us to target and track Rust LLVM versions in a more flexible way, and actually support the latest stable compilers. There's also support for using RedBPF-based programs in TC, and BPF Stack Traces.

Contributors: @alessandrod @aquarhead @digikata @neallred @quininer @rsdy

Many thanks to everyone who contributed to this release!

v1.1.2

3 years ago

This release includes a bug fix for a bad interaction between Red Hat kernel macros and cargo-bpf's accessor generation logic. The fix ensures that there's always at most one accessor generated based on macros. In addition, RedBPF now uses the latest bindgen version across all crates.

This release includes new packages for cargo-bpf, bpf-sys, and redbpf.

v1.1.1

3 years ago

This release contains a single patch that includes an improved way of detecting kernel version during build, making it also work on Debian.

Only bpf-sys and cargo-bpf 1.1.1 have been published, other crates are unaffected.

v1.1.0

3 years ago

This release updates the build scripts so RedBPF projects now compile on kernels 5.7 and newer.

In addition, a new kernel_version cfg variable is available for probe code that allows conditional compilation for different versions. Currently, kernel_version will take up the major and minor versions of Linux (e.g "5.4", "5.7") or "5.7" for kernels newer than "5.7". This allows customizing probe code based on features supported by the kernel and gracefully degrade capabilities.

This release includes new versions of cargo-bpf, bpf-sys, redbpf, redbpf-macros, and redbpf-probes.

Re-tagging this release to include the version bump in redbpf-probes and redbpf-macros.

v1.0.0

4 years ago

This has been a long time coming, and as of 1.0.0 onwards we commit to following semver rules in releases. This will make the lives of everyone easier, and finally allows us to build applications on stable APIs.

New release notes after 1.0 will also list the API changes, and generally be more diligent about the features that have arrived.

Compared to the latest 0.9 release, in 1.0 we cleaned up a few APIs, and brought uprobe support to RedBPF.

There's also an official website that hosts the documentation: https://ingraind.org

v0.9.13

4 years ago

This release focused on improving the documentation around the project, and add better examples using RedBPF without ingraind.

Another big addition is the redbpf_tools collection of example programs that use RedBPF. See iotop and knock.

Additionally, all docs are now under https://ingraind.org/api.

Additional changes:

  • Improve reliability of loop unrolling
  • Expose a high-level, typesafe Map/HashMap API
  • Add use redbpf_probes::xdp::prelude::* as a best practice to start probes. Also works for kprobe, and socket_filter to make imports easier
  • rename redpbf_probes::xdp::Result to redbpf_probes::xdp::XdpResult
  • rename redbpf::LoadError to redbpf::Error

v0.9.10

4 years ago

This release changed quite a few APIs and fixed unsoundness issues.

  • Add support for socket filters
  • Improved binding management
  • Add support for panic!() macro
  • Rework XDP accessors so we don't require a copy
  • Fix ARM64 builds
  • Fix unsoundness issues

v0.9.9

4 years ago

v0.9.8

4 years ago

v0.9.7

4 years ago

This release changes the license to allow companies to adapt RedBPF more easily.

Other changes improve API improvements across the board, and added support for better Kprobe handling.