Notes de relâche du troisième candidat de relâche
[babeltrace.git] / rc3.adoc
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]
This page took 0.031814 seconds and 4 git commands to generate.