Release crates

- aya v0.13.2
- aya-build v0.1.3
- aya-ebpf v0.1.2
- aya-ebpf-bindings v0.1.2
- aya-ebpf-cty v0.2.3
- aya-ebpf-macros v0.1.2
- aya-log v0.2.2
- aya-log-common v0.1.16
- aya-log-ebpf v0.1.2
- aya-log-ebpf-macros v0.1.1
- aya-log-parser v0.1.14
- aya-obj v0.2.2

Signed-off-by: Tamir Duberstein <tamird@gmail.com>
pull/1398/head aya-build-v0.1.3
Tamir Duberstein 2 days ago
parent acb1ddd2ec
commit d238b2ea6f
No known key found for this signature in database

@ -28,10 +28,12 @@ it.
git checkout -b my-release-branch git checkout -b my-release-branch
cargo smart-release \ cargo smart-release \
aya \ aya \
aya-build \
aya-ebpf \ aya-ebpf \
aya-log-ebpf \
aya-log \ aya-log \
aya-log-ebpf \
--execute \ --execute \
--no-changelog-github-release \
--signoff --signoff
``` ```

@ -1,7 +1,7 @@
[package] [package]
description = "Build-time support for aya projects" description = "Build-time support for aya projects"
name = "aya-build" name = "aya-build"
version = "0.1.2" version = "0.1.3"
authors.workspace = true authors.workspace = true
edition.workspace = true edition.workspace = true

@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## v0.1.2 (2025-11-17)
### New Features
- <csr-id-77b1c6194c8f9bb69ffc6a60c3b8189b73e00e8f/> Added Flow Dissector macro support so attaching those programs no longer requires manual boilerplate.
- <csr-id-5a43bedc0180ba41854e6c23f0476c2cbeb1e2bd/> Switched error reporting to `proc-macro2-diagnostics`, providing richer compiler output when macro expansion fails.
### Maintenance
- <csr-id-dae394e199878283475a8cc5d1ca0ab82db305db/> Dropped the stale dev-dependency on `aya-ebpf` and kept the crate in sync with the workspace lint/edition configuration.
## v0.1.1 (2024-10-09) ## v0.1.1 (2024-10-09)
### Chore ### Chore

@ -1,7 +1,7 @@
[package] [package]
description = "Proc macros used by aya-ebpf" description = "Proc macros used by aya-ebpf"
name = "aya-ebpf-macros" name = "aya-ebpf-macros"
version = "0.1.1" version = "0.1.2"
authors.workspace = true authors.workspace = true
edition.workspace = true edition.workspace = true

@ -5,6 +5,23 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## v0.1.16 (2025-11-17)
### Breaking Changes
- <csr-id-9be2d723ce5d7bf5f85d69d54aa5fd7f60d48edc/> Updated the shared types for the new ring-buffer transport used by `aya-log`, aligning the user- and eBPF-side structures.
- <csr-id-214fe3c3673b182606c14d5e43f7f4ac512e47a7/> Sealed the `Argument` trait so downstream crates can no longer implement log argument types.
### New Features
- <csr-id-a98b638fa95fd8edb8c015ee03154d2f03ecffc8/> Added support for logging raw pointer values, mirroring the new host-side formatting capabilities.
### Maintenance
- <csr-id-0429ed2fa299636428b65573456cffe0aac2beca/>, <csr-id-5f5305c2a8ca0a739219093599dd57182d440ac1/> General lint, edition, and formatting cleanups to keep the crate in line with the workspace standards.
## 0.1.15 (2024-10-09) ## 0.1.15 (2024-10-09)
<csr-id-a75fc2f7691dad21822c2eff35281abd3c4b5d23/> <csr-id-a75fc2f7691dad21822c2eff35281abd3c4b5d23/>

@ -3,7 +3,7 @@ description = "A logging library for eBPF programs."
documentation = "https://docs.rs/aya-log" documentation = "https://docs.rs/aya-log"
keywords = ["bpf", "ebpf", "log", "logging"] keywords = ["bpf", "ebpf", "log", "logging"]
name = "aya-log-common" name = "aya-log-common"
version = "0.1.15" version = "0.1.16"
authors.workspace = true authors.workspace = true
edition.workspace = true edition.workspace = true

@ -5,6 +5,25 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## v0.1.1 (2025-11-17)
### Breaking Changes
- <csr-id-9be2d723ce5d7bf5f85d69d54aa5fd7f60d48edc/> Macros now emit ring-buffer based logging code to match the host transport, which requires kernel 5.8 or newer.
### New Features
- <csr-id-b36cbc3eb8413d4fba4f2d820fec8176751457ac/> Added a load-time log level mask so unnecessary log calls can be compiled out entirely.
- <csr-id-aa47acc57a9d5f947e8df8cabbb2678f14e198bb/> Macros may now be used in expression position, simplifying complex logging statements.
- <csr-id-353b83383dccc430619f3c6d95e17edd6ca8a96c/> The generated code performs zero-copy writes into the ring buffer where possible, reducing instruction count inside probes.
- <csr-id-a98b638fa95fd8edb8c015ee03154d2f03ecffc8/> Added raw-pointer formatting support so eBPF logs can mirror host-side diagnostics.
### Maintenance
- <csr-id-600927d6bb802fbaaddea8b54708c386b15fd88e/>, <csr-id-8fb19264638c7d02c4e83d315c0c4824dc1e27e1/> Tidied the macro support module and aligned the crate with the workspace lint/edition settings.
## v0.1.0 (2024-04-12) ## v0.1.0 (2024-04-12)
<csr-id-13b1fc63ef2ae083ba03ce9de24cb4f31f989d21/> <csr-id-13b1fc63ef2ae083ba03ce9de24cb4f31f989d21/>

@ -1,7 +1,7 @@
[package] [package]
description = "Proc macros used by aya-log-ebpf" description = "Proc macros used by aya-log-ebpf"
name = "aya-log-ebpf-macros" name = "aya-log-ebpf-macros"
version = "0.1.0" version = "0.1.1"
authors.workspace = true authors.workspace = true
edition.workspace = true edition.workspace = true
@ -14,8 +14,8 @@ rust-version.workspace = true
workspace = true workspace = true
[dependencies] [dependencies]
aya-log-common = { path = "../aya-log-common", version = "^0.1.14", default-features = false } aya-log-common = { path = "../aya-log-common", version = "^0.1.16", default-features = false }
aya-log-parser = { path = "../aya-log-parser", version = "^0.1.13", default-features = false } aya-log-parser = { path = "../aya-log-parser", version = "^0.1.14", default-features = false }
proc-macro2 = { workspace = true } proc-macro2 = { workspace = true }
quote = { workspace = true } quote = { workspace = true }
syn = { workspace = true } syn = { workspace = true }

@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## v0.1.14 (2025-11-17)
### Improvements
- <csr-id-1bf6a386197d019c0a548fdf488c9edf6c67c7e1/> Simplified the parsers parameter handling so formatting errors are surfaced earlier and with clearer context.
- <csr-id-a98b638fa95fd8edb8c015ee03154d2f03ecffc8/> Added raw-pointer format support to stay in sync with the new logging capabilities.
### Maintenance
- <csr-id-f0a9f19ddc7f02143a02dcc2bf6be88fa2d84063/>, <csr-id-41706d74e44f2c3589c28a7149beb4db185594f2/> Bumped the edition and refreshed lint/formatting settings alongside the rest of the workspace.
## v0.1.13 (2024-04-12) ## v0.1.13 (2024-04-12)
<csr-id-13b1fc63ef2ae083ba03ce9de24cb4f31f989d21/> <csr-id-13b1fc63ef2ae083ba03ce9de24cb4f31f989d21/>

@ -1,7 +1,7 @@
[package] [package]
description = "A parser for the aya log format strings" description = "A parser for the aya log format strings"
name = "aya-log-parser" name = "aya-log-parser"
version = "0.1.13" version = "0.1.14"
authors.workspace = true authors.workspace = true
edition.workspace = true edition.workspace = true
@ -14,7 +14,7 @@ rust-version.workspace = true
workspace = true workspace = true
[dependencies] [dependencies]
aya-log-common = { path = "../aya-log-common", version = "^0.1.14", default-features = false } aya-log-common = { path = "../aya-log-common", version = "^0.1.16", default-features = false }
[dev-dependencies] [dev-dependencies]
assert_matches = { workspace = true } assert_matches = { workspace = true }

@ -7,19 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
### New Features ## v0.2.2 (2025-11-17)
- Add eBPF-side log level `AYA_LOG_LEVEL` allowing selective disabling of log
levels at load-time. Disabled levels are eliminated by the verifier, reducing
instruction count and avoiding program size limits when extensive logging is
present.
### Breaking Changes ### Breaking Changes
- The implementation is now backed by a ring buffer rather than a perf event array. This should - <csr-id-9be2d723ce5d7bf5f85d69d54aa5fd7f60d48edc/> Host-side logging now rides on a ring buffer instead of a perf array. This improves throughput but requires Linux ≥ 5.8.
improve performance but increases the minimum supported kernel version to 5.8. - <csr-id-61376c4608ebd2c10f05f3e917833832158d7c87/> Dropped the built-in `tokio` dependency. Consumers must bring their own async runtime when forwarding log records.
### New Features
- Drop the built-in `tokio` dependency. Users must now BYOR (bring your own runtime). - <csr-id-b36cbc3eb8413d4fba4f2d820fec8176751457ac/> Added the `AYA_LOG_LEVEL` mask so unwanted log levels can be disabled at load time and optimised away by the verifier.
- <csr-id-44ec978bd35c5af484b73c273b5bd18886033b5a/> `EbpfLogger` now implements `AsFd`, simplifying integration with selectors and event loops.
- <csr-id-a98b638fa95fd8edb8c015ee03154d2f03ecffc8/> Added support for logging raw pointer types, which unlocks richer debugging output from probes.
## v0.2.1 (2024-10-09) ## v0.2.1 (2024-10-09)

@ -4,7 +4,7 @@ documentation = "https://docs.rs/aya-log"
keywords = ["bpf", "ebpf", "log", "logging"] keywords = ["bpf", "ebpf", "log", "logging"]
name = "aya-log" name = "aya-log"
readme = "README.md" readme = "README.md"
version = "0.2.1" version = "0.2.2"
authors.workspace = true authors.workspace = true
edition.workspace = true edition.workspace = true
@ -17,8 +17,8 @@ rust-version.workspace = true
workspace = true workspace = true
[dependencies] [dependencies]
aya = { path = "../aya", version = "^0.13.1", default-features = false } aya = { path = "../aya", version = "^0.13.2", default-features = false }
aya-log-common = { path = "../aya-log-common", version = "^0.1.15", default-features = false } aya-log-common = { path = "../aya-log-common", version = "^0.1.16", default-features = false }
log = { workspace = true } log = { workspace = true }
thiserror = { workspace = true } thiserror = { workspace = true }

@ -5,6 +5,25 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## v0.2.2 (2025-11-17)
### New Features
- <csr-id-77b1c6194c8f9bb69ffc6a60c3b8189b73e00e8f/> Updated the loader to understand Flow Dissector programs so objects containing those sections can now be parsed and attached.
- <csr-id-3ff60911375a6044bbf9060bef25aa5e9d3747ae/>, <csr-id-6252b4c9722c7c2ee2458741ae328dcc0c3c5234/> Regenerated libbpf bindings, bringing in MIPS and LoongArch64 support.
- <csr-id-94c85726b3860787152b0ab9929f3d69f777e7a3/>, <csr-id-658ae0fbd27b481780dc8df0c9ff4021777fe94c/> Switched to generated constants and helper APIs (e.g. `CStr::from_bytes_until_nul`) for safer symbol handling.
### Bug Fixes
- <csr-id-7224efcad8726439e9ac9ccdc28e19116bf00606/>, <csr-id-8e9404ec3cc0564cafad6a733cb138ed1421d462/> Fixed BTF relocations involving zero-sized sections and 64-bit enums so objects built with newer clang/jit toolchains load correctly.
- <csr-id-3ade19b869dd3aa746d17e52bb3c7b683859e413/>, <csr-id-f76fdf9da51852f5e13011b2d3ba6f9204943de7/> Promoted BTF loading failures (and diagnostic output) to proper errors instead of panics/unreachable paths.
### Maintenance
- <csr-id-23bc5b5836c3b8383f2f8a78bd3902e193a7a176/>, <csr-id-9a47495227a03400fa2549b07fe8af131f21e759/> Cached feature-probed info fields and preserved pointer provenance, plus the usual lint/edition updates to stay aligned with the workspace.
## 0.2.1 (2024-11-01) ## 0.2.1 (2024-11-01)
### New Features ### New Features

@ -4,7 +4,7 @@ documentation = "https://docs.rs/aya-obj"
keywords = ["bpf", "btf", "ebpf", "elf", "object"] keywords = ["bpf", "btf", "ebpf", "elf", "object"]
name = "aya-obj" name = "aya-obj"
readme = "README.md" readme = "README.md"
version = "0.2.1" version = "0.2.2"
authors.workspace = true authors.workspace = true
edition.workspace = true edition.workspace = true

@ -7,21 +7,35 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
## v0.13.2 (2025-11-17)
### Breaking Changes ### Breaking Changes
- Remove `AsyncPerfEventArray` and `AsyncPerfEventArrayBuffer` These types have been removed to - <csr-id-35332f2288b0bbb8981233ae464715ea9217b081/> Removed `AsyncPerfEventArray{,Buffer}` so Aya no longer needs to juggle multiple async runtimes. Use `PerfEventArrayBuffer`, which still implements `As{,Raw}Fd`, when integrating with an executor.
avoid maintaining support for multiple async runtimes. Use `PerfEventArrayBuffer`, which - <csr-id-1c924bb421dd731a7557ae4140f3bed7982894d2/> `EbpfLoader::map_pin_path` is now `EbpfLoader::default_map_pin_directory`, clarifying that the value represents a base directory.
implements `As{,Raw}Fd` for integration with async executors. - <csr-id-03e84871773e09badf08bdef8e83b4f1256850a4/> The loaders `set_*` helpers were renamed to builder-style APIs (`override_global`/`map_max_entries`). Deprecated shims remain for one release to ease migration.
- Rename `EbpfLoader::map_pin_path` to `EbpfLoader::default_map_pin_directory`.
- Rename `EbpfLoader::set_global` to `EbpfLoader::override_global`.
- Rename `EbpfLoader::set_max_entries` to `EbpfLoader::map_max_entries`.
### Other ### New Features
- <csr-id-bf2164c92f5280e8b9c7178b9cbf338931ce778d/>, <csr-id-119049f2a21045b4f990523ccc95265ef4233d41/> Added the iterator program type and auto-generated `take_link`/`detach` helpers so iterator programs can be loaded and detached like any other attachment.
- <csr-id-77b1c6194c8f9bb69ffc6a60c3b8189b73e00e8f/>, <csr-id-82aec2696394f953c886f146f02673753a94cb0d/> Added Flow Dissector program support, including ordered link attachment and full `FdLink` conversions for the new program type.
- <csr-id-263e864cd9e09848a9861a967763cf1069ae01c8/>, <csr-id-73a34e1571a606124c7e89ecf71ff001508643dc/>, <csr-id-5802dc7a23ac878105b55710df6c75cb5e030c3a/> Made pinned maps easier to manage with `Map::from_map_data()`, `XskMap::unset()`, and the ability to pick a custom map pin directory.
- <csr-id-7dba5a41ade97a3744c4cb71a22d7c81699a69e3/>, <csr-id-22c8f783e7d5dd2ddc8d973885e1895a6e842440/>, <csr-id-3f02127b6b16f618aa2ccb444fcd1402c887ffaf/> Exposed additional metadata and handles: `LinkInfo`/`loaded_links` are now public, program names can be `&'static str`, and ring buffers implement `AsFd`.
- <csr-id-23bc5b5836c3b8383f2f8a78bd3902e193a7a176/>, <csr-id-bd492860f585ad8b9612ef9c8addde2fb8d5e814/>, <csr-id-de42b80c74883f512542875e7cfa96b8634a8991/> Expanded and cached feature probing, reducing redundant syscalls and adding built-in support for `BPF_MAP_TYPE_SK_STORAGE`.
- <csr-id-d8f5497884a23bd63f9264dbe3f80081b76f360d/>, <csr-id-ab38afe95d16226f5a703bbb37c7842ee441c364/> Added `Ebpf::maps_disjoint_mut()` plus perf-event hardware breakpoint support to give loaders safer and more capable instrumentation hooks.
### Bug Fixes
- <csr-id-39cf6c12f27f02c945e70efb24b89c1bc372aac0/> Netlink helpers now surface the kernels error message instead of returning opaque failures.
- <csr-id-9e1bcd0ab87f69bcd323eef680957a534b655fac/> Fixed `PerCpuHashMap::get()` returning `KeyNotFound` when CPU slots were missing; Flow Dissector links now always convert into `FdLink` thanks to <csr-id-82aec2696394f953c886f146f02673753a94cb0d/>.
- <csr-id-17171647f7e447698f0d4733a3dbb144ded53466/> Stabilised ring-buffer producer tracking so first events are no longer dropped, and `/proc/$pid/maps` parsing now tolerates trailing newlines (<csr-id-ea76e0f62dbdff618789dfc9a9d8604a89f61f13/>, <csr-id-4fbce44b6a49dd189a7a3520c66db45baf3832ea/>).
- <csr-id-f48b5a4a84a858dd3a24101a83a3b03c314f1c5c/>, <csr-id-ab182be622acb245db0adef58591978208bcdb2c/> Map names are forced to be NULL-terminated and `construct_debuglink_path()` no longer fails due to missing components.
### Maintenance
- <csr-id-f6df60fa7072dfd7cfb09d0bc3bb1dad0f965940/>, <csr-id-055e36e8d92c79c1a9cf61f1a08d2d9be4e74d14/>, <csr-id-de1e80c1d1bab7fd73acc97e5adb0985712c35c7/> Documented the exact bpf/perf syscall contracts inside Aya and automatically raise `RLIMIT_MEMLOCK` on kernels <5.11 to smooth out program loading.
- Continued to invest in documentation, resolver clean-ups, and lint/clippy hygiene across the crate so day-to-day maintenance stays manageable.
- Provide deprecated aliases to ease migration, these will be removed in a future release;
- `EbpfLoader::set_global` calls `EbpfLoader::override_global`, and
- `EbpfLoader::set_max_entries` calls `EbpfLoader::map_max_entries`.
## 0.13.1 (2024-11-01) ## 0.13.1 (2024-11-01)
### Chore ### Chore

@ -4,7 +4,7 @@ documentation = "https://docs.rs/aya"
keywords = ["bpf", "ebpf", "kernel", "linux"] keywords = ["bpf", "ebpf", "kernel", "linux"]
name = "aya" name = "aya"
readme = "README.md" readme = "README.md"
version = "0.13.1" version = "0.13.2"
authors.workspace = true authors.workspace = true
edition.workspace = true edition.workspace = true
@ -18,7 +18,7 @@ workspace = true
[dependencies] [dependencies]
assert_matches = { workspace = true } assert_matches = { workspace = true }
aya-obj = { path = "../aya-obj", version = "^0.2.1", features = ["std"] } aya-obj = { path = "../aya-obj", version = "^0.2.2", features = ["std"] }
bitflags = { workspace = true } bitflags = { workspace = true }
bytes = { workspace = true } bytes = { workspace = true }
hashbrown = { workspace = true } hashbrown = { workspace = true }

@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## v0.1.2 (2025-11-17)
### New Features
- <csr-id-701a9333a828973f7bc5f8b7270b7936b0a4aaba/>, <csr-id-3ff60911375a6044bbf9060bef25aa5e9d3747ae/>, <csr-id-6252b4c9722c7c2ee2458741ae328dcc0c3c5234/> Regenerated the bindings from libbpf 324f3c38…, pulling in MIPS and LoongArch64 support alongside the latest kernel constants.
### Maintenance
- <csr-id-1fe12b99907dda6553a6069fa462d6241d3fa171/>, <csr-id-5f5305c2a8ca0a739219093599dd57182d440ac1/> General lint/build fixes (including the riscv64 build) to keep the generated code warning-free.
## v0.1.1 (2024-10-09) ## v0.1.1 (2024-10-09)
### Other ### Other

@ -1,7 +1,7 @@
[package] [package]
description = "Bindings for Linux Kernel eBPF types and helpers" description = "Bindings for Linux Kernel eBPF types and helpers"
name = "aya-ebpf-bindings" name = "aya-ebpf-bindings"
version = "0.1.1" version = "0.1.2"
authors.workspace = true authors.workspace = true
edition.workspace = true edition.workspace = true
@ -13,7 +13,7 @@ repository.workspace = true
workspace = true workspace = true
[dependencies] [dependencies]
aya-ebpf-cty = { version = "^0.2.2", path = "../aya-ebpf-cty" } aya-ebpf-cty = { version = "^0.2.3", path = "../aya-ebpf-cty" }
[build-dependencies] [build-dependencies]
aya-build = { version = "^0.1.2", path = "../../aya-build" } aya-build = { version = "^0.1.3", path = "../../aya-build" }

@ -5,65 +5,15 @@ This project adheres to $[Semantic Versioning](http://semver.org/).
## [Unreleased] ## [Unreleased]
## [v0.2.1] - 2019-11-16 ## v0.2.3 (2025-11-17)
### Added ### New Features
- Support for the `xtensa`, `riscv32` and `riscv64` architectures - <csr-id-2eaae09c31add79103331aa551e8f74de86cd037/>, <csr-id-6252b4c9722c7c2ee2458741ae328dcc0c3c5234/> Added the missing MIPS and LoongArch definitions so the cty shim covers every architecture supported by Aya.
## [v0.2.0] - 2019-02-06 ### Maintenance
### Changed - <csr-id-1fe12b99907dda6553a6069fa462d6241d3fa171/>, <csr-id-09eefd366f7410c2f4744bb2bae533d9ce92ae20/> Tidied the crate (removing the abandoned Travis setup) and refreshed the bindings so downstream riscv64 builds stay green.
- [breaking-change] `cty::c_void` is now a type alias of `core::ffi::c_void`.
## [v0.1.5] - 2017-05-29
### Added
- More types like `int32_t`
## [v0.1.4] - 2017-05-29
### Added
- Support for the `msp430` architecture.
### Fixed
- [breaking-change] The type definitions of `c_long` and `c_ulong`.
## [v0.1.3] - 2017-05-29 - YANKED
### Added
- Support for the `nvptx` and `nvptx64` architectures.
## [v0.1.2] - 2017-05-29 - YANKED
### Fixed
- [breaking-change] The type definitions of `c_int` and `c_uint`.
## [v0.1.1] - 2017-05-29 - YANKED
### Fixed
- [breaking-change] The type definitions of `c_long`, `c_ulong` and
`c_longlong`.
## v0.1.0 - 2017-05-24 - YANKED
- Initial release
[Unreleased]: https://github.com/japaric/cty/compare/v0.2.1...HEAD
[v0.2.1]: https://github.com/japaric/cty/compare/v0.2.0...v0.2.1
[v0.2.0]: https://github.com/japaric/cty/compare/v0.1.5...v0.2.0
[v0.1.5]: https://github.com/japaric/cty/compare/v0.1.4...v0.1.5
[v0.1.4]: https://github.com/japaric/cty/compare/v0.1.3...v0.1.4
[v0.1.3]: https://github.com/japaric/cty/compare/v0.1.2...v0.1.3
[v0.1.2]: https://github.com/japaric/cty/compare/v0.1.1...v0.1.2
[v0.1.1]: https://github.com/japaric/cty/compare/v0.1.0...v0.1.1
## v0.2.2 (2024-10-09) ## v0.2.2 (2024-10-09)

@ -3,7 +3,7 @@ categories = ["embedded", "external-ffi-bindings", "no-std"]
description = "Type aliases to C types like c_int for use with bindgen" description = "Type aliases to C types like c_int for use with bindgen"
documentation = "https://docs.rs/aya-bpf-cty" documentation = "https://docs.rs/aya-bpf-cty"
name = "aya-ebpf-cty" name = "aya-ebpf-cty"
version = "0.2.2" version = "0.2.3"
authors.workspace = true authors.workspace = true
edition.workspace = true edition.workspace = true
@ -16,4 +16,4 @@ rust-version.workspace = true
workspace = true workspace = true
[build-dependencies] [build-dependencies]
aya-build = { version = "^0.1.2", path = "../../aya-build" } aya-build = { version = "^0.1.3", path = "../../aya-build" }

@ -5,6 +5,35 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## v0.1.2 (2025-11-17)
### Breaking Changes
- <csr-id-3569c9afc3dc7babb6b44aa071828df7c8864834/> Map helper functions now take `*mut c_void`, matching the kernels prototypes. Any out-of-tree helpers should update their signatures accordingly.
### New Features
- <csr-id-0b58d3eb6d399c812181d2d64de32cde1b44f6eb/> Added a `bpf_strncmp` helper binding.
- <csr-id-f34d355d7d70f8f9ef0f0a01a4338e50cf0080b4/> Raw tracepoints now expose their arguments so programs no longer need to guess register layouts.
- <csr-id-1ccac3c135f280eead50ff18cd4c4340001018c6/>, <csr-id-6252b4c9722c7c2ee2458741ae328dcc0c3c5234/> Added mips/loongarch register helpers so those targets can implement `FromPtRegs`.
- <csr-id-dc543ae44aab09ea9ab550b164ca0711293e87fe/> `XdpContext` exposes the interface index, simplifying multi-interface programs.
- <csr-id-2fb19f3ee2c95a34382b33762e9fb8841ec8c048/> Added `Array::set()` to update array contents from eBPF code.
- <csr-id-77b1c6194c8f9bb69ffc6a60c3b8189b73e00e8f/> Introduced Flow Dissector program support on the eBPF side.
- <csr-id-3f60168d4bab042d26094f7962b96f0772b52ae7/> Added `RingBufBytes` so probes can emit raw byte slices efficiently.
- <csr-id-0b2a544ddd9df74ebcdb46128b6bcc48336b2762/>, <csr-id-53ec6164114bba84be145dc9659aaac917dd7a15/> Added BTF array definitions plus `Queue`/`Stack::peek()` helpers for safer data-structure inspection.
### Bug Fixes
- <csr-id-1fe12b99907dda6553a6069fa462d6241d3fa171/> Fixed riscv64 builds by updating the generated bindings.
- <csr-id-f537dc66845e70bc3af2dbb9944562cf38117bcb/> Cleaned up ring-buffer code to avoid reliance on `as` casts, preventing UB on strict architectures.
- <csr-id-6004fcdb0fb5a6157ba5416f439e5807567c87a7/> Guarded the libc `mem*` shims behind `cfg(target_arch = "bpf")`, ensuring CPU builds stay well-defined.
### Maintenance
- <csr-id-4f654865e9e592a93e11feb8558a461c4b6865b5/>, <csr-id-4b4b9f83bd6c1762a5366d2d89353adf4364f76e/> Added configuration flags for `generic_const_exprs` and the loongarch target, plus the usual lint/documentation refresh.
## v0.1.1 (2024-10-09) ## v0.1.1 (2024-10-09)
### New Features ### New Features

@ -1,7 +1,7 @@
[package] [package]
description = "A library for writing eBPF programs" description = "A library for writing eBPF programs"
name = "aya-ebpf" name = "aya-ebpf"
version = "0.1.1" version = "0.1.2"
authors.workspace = true authors.workspace = true
edition.workspace = true edition.workspace = true
@ -14,10 +14,10 @@ rust-version.workspace = true
workspace = true workspace = true
[dependencies] [dependencies]
aya-ebpf-bindings = { version = "^0.1.1", path = "../aya-ebpf-bindings" } aya-ebpf-bindings = { version = "^0.1.2", path = "../aya-ebpf-bindings" }
aya-ebpf-cty = { version = "^0.2.2", path = "../aya-ebpf-cty" } aya-ebpf-cty = { version = "^0.2.3", path = "../aya-ebpf-cty" }
aya-ebpf-macros = { version = "^0.1.1", path = "../../aya-ebpf-macros" } aya-ebpf-macros = { version = "^0.1.2", path = "../../aya-ebpf-macros" }
[build-dependencies] [build-dependencies]
aya-build = { version = "^0.1.2", path = "../../aya-build" } aya-build = { version = "^0.1.3", path = "../../aya-build" }
rustversion = { workspace = true } rustversion = { workspace = true }

@ -5,6 +5,24 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## 0.1.2 (2025-11-17)
### Breaking Changes
- <csr-id-9be2d723ce5d7bf5f85d69d54aa5fd7f60d48edc/> Logging from eBPF programs now writes into a ring buffer to match the host transport, requiring Linux 5.8 or later.
### New Features
- <csr-id-b36cbc3eb8413d4fba4f2d820fec8176751457ac/>, <csr-id-f6606473af43090190337dd42f593df2f907ac0a/> Added a load-time log level mask and improved verifier hints so disabled log levels are optimised out entirely.
- <csr-id-353b83383dccc430619f3c6d95e17edd6ca8a96c/> Logging paths now use zero-copy writes into the ring buffer, lowering instruction counts inside probes.
- <csr-id-a98b638fa95fd8edb8c015ee03154d2f03ecffc8/> Added raw-pointer formatting so eBPF logs can mirror the new host-side diagnostics.
### Maintenance
- <csr-id-f0a9f19ddc7f02143a02dcc2bf6be88fa2d84063/>, <csr-id-8fb19264da203ae3b6089b1b09b7cee13d235b09/> Kept the crate in sync with the workspace edition/lint settings and tidied the macro support helpers.
## 0.1.1 (2024-10-09) ## 0.1.1 (2024-10-09)
Maintenance release. Update to latest aya-ebpf version v0.1.1. Maintenance release. Update to latest aya-ebpf version v0.1.1.

@ -1,7 +1,7 @@
[package] [package]
description = "Logging for eBPF programs" description = "Logging for eBPF programs"
name = "aya-log-ebpf" name = "aya-log-ebpf"
version = "0.1.1" version = "0.1.2"
authors.workspace = true authors.workspace = true
edition.workspace = true edition.workspace = true
@ -14,6 +14,6 @@ rust-version.workspace = true
workspace = true workspace = true
[dependencies] [dependencies]
aya-ebpf = { version = "^0.1.1", path = "../aya-ebpf" } aya-ebpf = { version = "^0.1.2", path = "../aya-ebpf" }
aya-log-common = { version = "^0.1.15", path = "../../aya-log-common" } aya-log-common = { version = "^0.1.16", path = "../../aya-log-common" }
aya-log-ebpf-macros = { version = "^0.1.0", path = "../../aya-log-ebpf-macros" } aya-log-ebpf-macros = { version = "^0.1.1", path = "../../aya-log-ebpf-macros" }

@ -14,13 +14,13 @@ rust-version.workspace = true
workspace = true workspace = true
[dependencies] [dependencies]
aya = { path = "../../aya", version = "^0.13.1", default-features = false } aya = { path = "../../aya", version = "^0.13.2", default-features = false }
[dev-dependencies] [dev-dependencies]
anyhow = { workspace = true, features = ["std"] } anyhow = { workspace = true, features = ["std"] }
assert_matches = { workspace = true } assert_matches = { workspace = true }
aya-log = { path = "../../aya-log", version = "^0.2.1", default-features = false } aya-log = { path = "../../aya-log", version = "^0.2.2", default-features = false }
aya-obj = { path = "../../aya-obj", version = "^0.2.1", default-features = false } aya-obj = { path = "../../aya-obj", version = "^0.2.2", default-features = false }
epoll = { workspace = true } epoll = { workspace = true }
futures = { workspace = true, features = ["alloc"] } futures = { workspace = true, features = ["alloc"] }
integration-common = { path = "../integration-common", features = ["user"] } integration-common = { path = "../integration-common", features = ["user"] }

Loading…
Cancel
Save