Hi everyone! Two weeks after having released [1] Babeltrace 2's first release candidate, today we're releasing Babeltrace 2.0.0-rc2. A prettified version of this announcement is available at: https://diamon.org/babeltrace/docs/release-notes/babeltrace-2.0.0-rc2-release-notes.html What's new since Babeltrace 2.0.0-rc1? ====================================== Improvements ------------ General: * Introduce `BT_ASSERT_DBG()` for assertions that must only be evaluated in debugging mode (when the `BABELTRACE_DEBUG_MODE` environment variable is set to `1` at configuration time). `BT_ASSERT()` assertions are now always evaluated, regardless of the debugging/production mode. This change's purpose is to keep as many slow-path assertions as possible to detect more Babeltrace 2 programming errors, even in production. See `98b15851`. * Remove ABI versioning in Babeltrace 2 shared object plugins as we don't need this property. See `7c0244d6`. * In libbabeltrace2's API: * Rename `BT_RANGE_SET_` prefixes to `BT_INTEGER_RANGE_SET_`. See `eb171ee9`. * Make `bt_version_get_major()`, `bt_version_get_minor()`, and `bt_version_get_patch()` functions return `unsigned int` instead of `int`. See `78deb913`. * Remove the `BT_GRAPH_RUN_STATUS_END` status code: `bt_graph_run()` now returns `BT_GRAPH_RUN_STATUS_OK` when all the graph's sink components are ended. See `9669d693`. `ctf` plugin: Append error causes at more source locations. This means more precise error messages reported by the `babeltrace2` [2] CLI tool, for example. See `b7d2695a, `b30284d1, `2246e99da, and `1419db2bc. `source.ctf.fs` component class: Return an error when failing to load or create an index for a trace. See `29a8227a`. `filter.lttng-utils.debug-info` component class: Create stream classes and event classes which correspond to stream classes and event classes in incoming trace classes as soon as we encounter a new trace class, rather than as needed. See `db5d746d`. Python bindings: In `bt2.Graph.add_component()`, validate that the `params` parameter is implicitly convertible to a `bt2.Mapvalue` object (`dict`, for example). See `401b7022`. Bug fixes --------- General: Fix many issues reported by static analysis tools (scan-build, Coverity [3], and compiler warnings). `source.ctf.fs` component class: Fix an index handling bug which occured when multiple data stream files in a CTF trace belong to the same data stream. See `ce75de14`. `source.ctf.lttng-live` component class: Fix a bug in which a disappearing LTTng live tracing session could lead to an assertion failure. See `ba90bce7`. Python bindings: Fix an assertion failure which occurs when a trace or trace class destruction listener raises an exception. See `64961f8b`. Upcoming ======== We are still hard at work putting the finishing touches on our way to the final 2.0.0 release. We invite you to try this release candidate and report any problems you may encounter to the `lttng-dev@xxxxxxxxxxxxxxx` [4] mailing list or through the Babeltrace bug tracker [5]. Documentation ------------- We are currently documenting the entire Babeltrace 2 C API to make the development of new component classes as easy as possible. We'll also work on the Python bindings documentation. The documentation of the API will be made available on the official Babeltrace website [6]. Other tasks ----------- * Improve test coverage. * Improve resilience to corrupted/malformed CTF traces. * Minor internal cleanups and bug fixes. Important links =============== Babeltrace 2.0.0-rc2 tarball: https://www.efficios.com/files/babeltrace/babeltrace-2.0.0-rc2.tar.bz2 Babeltrace website: https://diamon.org/babeltrace Mailing list (for support and development): `lttng-dev@xxxxxxxxxxxxxxx` IRC channel: `#lttng` on `irc.oftc.net` Git repository: https://bugs.lttng.org/projects/babeltrace GitHub project: https://github.com/efficios/babeltrace Continuous integration: https://ci.lttng.org/view/Babeltrace/ Code review: https://review.lttng.org/q/project:babeltrace References ========== [1]: https://diamon.org/babeltrace/docs/release-notes/babeltrace-2.0.0-rc1-release-notes.html [2]: https://diamon.org/babeltrace/docs/v2.0/man1/babeltrace2.1/ [3]: https://scan.coverity.com/projects/babeltrace [4]: https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev [5]: https://bugs.lttng.org/projects/babeltrace [6]: https://diamon.org/babeltrace/ -- Jérémie Galarneau EfficiOS Inc. http://www.efficios.com