1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
//! Release history
use crate::*; // For docs
/// # v0.5.0 (2025-11-26)
/// - Fix clippy issues for Rust 1.91.
/// # v0.4.1 (2025-02-28)
/// - Add support for the `BinaryLength16Char8` encoding via
/// [`EventBuilder::add_binary`].
/// # v0.3.5 (2023-02-27)
/// - Open `user_events_data` for WRONLY instead of RDWR.
/// # v0.3.4 (2023-11-27)
/// - Changed procedure for locating the `user_events_data` file.
/// - Old: parse `/proc/mounts` to determine the `tracefs` or `debugfs` mount
/// point, then use that as the root for the `user_events_data` path.
/// - New: try `/sys/kernel/tracing/user_events_data`; if that doesn't exist,
/// parse `/proc/mounts` to find the `tracefs` or `debugfs` mount point.
/// - Rationale: Probe an absolute path so that containers don't have to
/// create a fake `/proc/mounts` and for efficiency.
/// # v0.3.3 (2023-08-08)
/// - Add [`EventBuilder::add_struct_with_bookmark`] and
/// [`EventBuilder::set_struct_field_count`] methods to support cases where the number
/// of sub-fields of a struct is not known when the struct is started.
/// # v0.3.2 (2023-07-24)
/// - Prefer "tracefs" over "debugfs" when searching for `user_events_data`.
/// (Old behavior: no preference - use whichever comes first in mount list.)
/// # v0.3.1 (2023-07-12)
/// - Use `c_char` instead of `i8` for ffi strings.
/// # v0.3.0 (2023-06-29)
/// - If no consumers have enabled a tracepoint, the kernel now returns
/// `EBADF`. The eventheader_dynamic crate has been updated to be
/// consistent with the new behavior.
/// # v0.2.0 (2023-05-16)
/// - Add support for macro-based logging.
/// # v0.1.0 (2023-04-13)
/// - Initial release.