Commit | Line | Data |
---|---|---|
59cc6e66 SM |
1 | // Render with Asciidoctor |
2 | ||
3 | = Babeltrace 2.0.0-rc3 release notes | |
4 | Jérémie Galarneau, Simon Marchi, Philippe Proulx | |
5 | 15 November 2019 | |
6 | :toc: | |
7 | :toclevels: 5 | |
8 | :bt2: Babeltrace{nbsp}2 | |
9 | ||
10 | ||
11 | Hi everyone! | |
12 | ||
13 | Two weeks after | |
14 | https://diamon.org/babeltrace/docs/release-notes/babeltrace-2.0.0-rc2-release-notes.html[having released] | |
15 | {bt2}'s second release candidate, | |
16 | today we're releasing Babeltrace{nbsp}2.0.0-rc3. | |
17 | ||
18 | == What's new since Babeltrace{nbsp}2.0.0-rc2? | |
19 | ||
20 | === Improvements | |
21 | ||
22 | General:: | |
23 | + | |
24 | -- | |
25 | * Introduce the `BABELTRACE_EXEC_ON_ABORT` environment variable. | |
26 | `BABELTRACE_EXEC_ON_ABORT` can contain a shell command line to execute when | |
27 | any part of the Babeltrace project aborts (for example, when an internal | |
28 | assertion fails) before the process exits. | |
29 | + | |
30 | See https://github.com/efficios/babeltrace/commit/8403432f[`8403432f`]. | |
31 | ||
32 | * Add precondition assertions to verify that the current ihread has no error | |
33 | when you call a libbabeltrace2 function (except reference count functions). | |
34 | + | |
35 | See https://github.com/efficios/babeltrace/commit/7c7324d3[`7c7324d3`]. | |
36 | ||
37 | * Add postcondition assertions to verify that the user functions which | |
38 | libbabeltrace2 calls return an error status code when the current thread has | |
39 | an error. | |
40 | + | |
41 | See https://github.com/efficios/babeltrace/commit/d6f6a5aa[`d6f6a5aa`]. | |
42 | ||
43 | * Emit dedicated bright terminal color codes if supported by the terminal | |
44 | emulator. | |
45 | + | |
46 | This makes the | |
47 | https://diamon.org/babeltrace/docs/v2.0/man1/babeltrace2.1/[`babeltrace2`] CLI | |
48 | tool and some project plugins emit correct bright color codes for the kitty | |
49 | terminal emulator, for example. | |
50 | + | |
51 | You can override this behaviour with the new | |
52 | `BABELTRACE_TERM_COLOR_BRIGHT_MEANS_BOLD` environment variable. | |
53 | + | |
54 | See https://github.com/efficios/babeltrace/commit/4253e1eb[`4253e1eb`]. | |
55 | ||
56 | * In libbabeltrace2's API: make the `bt_value_map_foreach_entry_func` | |
57 | and `bt_value_map_foreach_entry_const_func` function types return a | |
58 | status code instead of `bt_bool`. | |
59 | + | |
60 | This makes it possible for the user function to append a cause to the | |
61 | current thread's error and return an error status code. When the user | |
62 | function returns a general error status code, | |
63 | `bt_value_map_foreach_entry()` returns | |
64 | `BT_VALUE_MAP_FOREACH_ENTRY_STATUS_USER_ERROR` (and an equivalent code | |
65 | for `bt_value_map_foreach_entry_const()`). | |
66 | + | |
67 | The new way to interrupt the outer loop from the user function is to | |
68 | return `BT_VALUE_MAP_FOREACH_ENTRY_FUNC_STATUS_INTERRUPT`. | |
69 | -- | |
70 | ||
71 | Command-line interface:: | |
72 | + | |
73 | -- | |
74 | * Exit with status{nbsp}2 when the process receives the `SIGINT` signal. | |
75 | + | |
76 | This makes it possible to distinguish a successful execution (status{nbsp}0) | |
77 | from an execution that ends because of an error (status{nbsp}1). | |
78 | + | |
79 | See https://github.com/efficios/babeltrace/commit/851802b1[`851802b1`]. | |
80 | -- | |
81 | ||
82 | `source.ctf.fs` component class:: | |
83 | + | |
84 | -- | |
85 | * Check the version of https://lttng.org/[LTTng] index files to avoid reading | |
86 | files of future backwards-incompatible versions. | |
87 | + | |
88 | See https://github.com/efficios/babeltrace/commit/2068d50b[`2068d50b`]. | |
89 | + | |
90 | * Handle reading overlapping snapshots of the same trace. Even if some | |
91 | packets are present in multiple snapshots, they will only be read once. | |
92 | + | |
93 | See https://github.com/efficios/babeltrace/commit/FIXME[`FIXME`]. | |
94 | -- | |
95 | ||
96 | `source.ctf.lttng-live` component class:: | |
97 | + | |
98 | -- | |
99 | * Better handle signal interruptions during I/O syscalls. | |
100 | + | |
101 | Return `BT_COMPONENT_CLASS_MESSAGE_ITERATOR_NEXT_METHOD_STATUS_AGAIN` when I/O | |
102 | syscalls are interrupted by a `SIGINT` signal and restart the syscall on other | |
103 | signals. | |
104 | + | |
105 | See https://github.com/efficios/babeltrace/commit/f79c2d7a[`f79c2d7a`]. | |
106 | -- | |
107 | ||
108 | `filter.utils.muxer` component class:: | |
109 | + | |
110 | -- | |
111 | * Append error causes when encountering some error conditions. | |
112 | + | |
113 | See See https://github.com/efficios/babeltrace/commit/FIXME[`FIXME`]. | |
114 | -- | |
115 | ||
116 | === Bug fixes | |
117 | ||
118 | Simple sink component class:: | |
119 | + | |
120 | -- | |
121 | * Append error causes only when returning an error status code. | |
122 | + | |
123 | See https://github.com/efficios/babeltrace/commit/eb657c7b[`eb657c7b`]. | |
124 | -- | |
125 | ||
126 | == Upcoming | |
127 | ||
128 | We are still hard at work putting the finishing touches on our way to | |
129 | the final 2.0.0 release. | |
130 | ||
131 | We invite you to try this release candidate and report any problems you | |
132 | may encounter to the | |
133 | https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev[`lttng-dev@lists.lttng.org`] | |
134 | mailing list or through the | |
135 | https://bugs.lttng.org/projects/babeltrace[Babeltrace bug tracker]. | |
136 | ||
137 | ||
138 | === Documentation | |
139 | ||
140 | We are currently documenting the entire {bt2}{nbsp}C{nbsp}API to make | |
141 | the development of new component classes as easy as possible. | |
142 | ||
143 | We'll also work on the Python bindings documentation. | |
144 | ||
145 | The documentation of the API will be made available on the official | |
146 | https://diamon.org/babeltrace/[Babeltrace website]. | |
147 | ||
148 | ||
149 | === Other tasks | |
150 | ||
151 | * Improve test coverage. | |
152 | * Improve resilience to corrupted/malformed CTF traces. | |
153 | * Minor internal cleanups and bug fixes. | |
154 | ||
155 | ||
156 | == Important links | |
157 | ||
158 | * https://www.efficios.com/files/babeltrace/babeltrace-2.0.0-rc3.tar.bz2[Babeltrace 2.0.0-rc3 tarball] | |
159 | * https://diamon.org/babeltrace[Babeltrace website] | |
160 | * https://lists.lttng.org[Mailing list] for support and | |
161 | development: `lttng-dev@lists.lttng.org` | |
162 | * irc://irc.oftc.net/lttng[IRC channel]: `#lttng` on `irc.oftc.net` | |
163 | * https://bugs.lttng.org/projects/babeltrace[Git repository] | |
164 | * https://github.com/efficios/babeltrace[GitHub project] | |
165 | * https://ci.lttng.org/view/Babeltrace/[Continuous integration] | |
166 | * https://review.lttng.org/q/project:babeltrace[Code review] |