mirror of https://github.com/aya-rs/aya
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
8.1 KiB
8.1 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
v0.1.2 (2025-11-17)
Breaking Changes
- Map helper functions now take
*mut c_void, matching the kernel’s prototypes. Any out-of-tree helpers should update their signatures accordingly.
New Features
- Added a
bpf_strncmphelper binding. - Raw tracepoints now expose their arguments so programs no longer need to guess register layouts.
- , Added mips/loongarch register helpers so those targets can implement
FromPtRegs. -
XdpContextexposes the interface index, simplifying multi-interface programs. - Added
Array::set()to update array contents from eBPF code. - Introduced Flow Dissector program support on the eBPF side.
- Added
RingBufBytesso probes can emit raw byte slices efficiently. - , Added BTF array definitions plus
Queue/Stack::peek()helpers for safer data-structure inspection.
Bug Fixes
- Fixed riscv64 builds by updating the generated bindings.
- Cleaned up ring-buffer code to avoid reliance on
ascasts, preventing UB on strict architectures. - Guarded the libc
mem*shims behindcfg(target_arch = "bpf"), ensuring CPU builds stay well-defined.
Maintenance
- , Added configuration flags for
generic_const_exprsand the loongarch target, plus the usual lint/documentation refresh.
v0.1.1 (2024-10-09)
New Features
-
Implement memmove The compiler will emit this function for certain operations, but aya currently does not provide an implementation. This leads to ebpf loading failures as the kernel can't find the symbol when loading the program.
The implementation is based on https://github.com/rust-lang/compiler-builtins/blob/master/src/mem/mod.rs#L29-L40 and https://github.com/rust-lang/compiler-builtins/blob/master/src/mem/impls.rs#L128-L135 Only the simplest case has been implemented, none of the word optimizations, since memcpy also doesn't seem to have them.
Bug Fixes
- Remove PerfEventArray::with_max_entries This API doesn't make sense as the max_entries needs to be set to the number of online CPUs by the loader.
Other
- Add set_reply accessor to SockOpsContext
- add archs powerpc64 and s390x to aya bpfman, a project using aya, has a requirement to support powerpc64 and s390x architectures. Adding these two architectures to aya.
- moved ret from ProbeContext into new RetProbeContext Created retprobe.rs to hold RetProbeContext and moved the ret from ProbeContext in probe.rs into RetProbeContext. Now, only kprobe (which uses ProbeContext) can access args, and kretprobe (which uses RetProbeContext) can access ret.
Commit Statistics
- 11 commits contributed to the release.
- 185 days passed between releases.
- 5 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Merge pull request #1020 from l2dy/sockops-ctx (
635ed3b) - Add set_reply accessor to SockOpsContext (
95e1763) - Merge pull request #974 from Billy99/billy99-arch-ppc64-s390x (
ab5e688) - Add archs powerpc64 and s390x to aya (
b513af1) - Appease nightly clippy (
bce3c4f) - Remove PerfEventArray::with_max_entries (
ef0d125) - Implement memmove (
7ad3926) - Allowlist expected cfgs (
e4f9ed8) - Deny warnings (
b603c66) - Moved ret from ProbeContext into new RetProbeContext (
2d38b23) - Appease clippy (
57cd351)
- Merge pull request #1020 from l2dy/sockops-ctx (
v0.1.0 (2024-04-06)
Chore
- Rename BpfContext -> EbpfContext
- Rename bpf -> ebpf
- Rename bpf -> ebpf
Chore
- add version keys to Cargo.toml(s)
Chore
- add changelogs
Commit Statistics
- 10 commits contributed to the release.
- 5 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Release aya-ebpf v0.1.0 (
c3ae6f9) - Release aya-ebpf-macros v0.1.0, aya-ebpf v0.1.0 (
eb3947b) - Release aya-ebpf-bindings v0.1.0, aya-ebpf-macros v0.1.0, aya-ebpf v0.1.0 (
a34c5e4) - Add version keys to Cargo.toml(s) (
a4ae8ad) - Release aya-ebpf-bindings v0.1.0, aya-ebpf-macros v0.1.0, aya-ebpf v0.1.0 (
b8964d3) - Add changelogs (
c7fe60d) - Merge pull request #528 from dave-tucker/rename-all-the-things (
63d8d4d) - Rename BpfContext -> EbpfContext (
d7af6ac) - Rename bpf -> ebpf (
ea80737) - Rename bpf -> ebpf (
41c6156)
- Release aya-ebpf v0.1.0 (