[lttng-dev] [RELEASE] Babeltrace 2.0.0-rc2

Jérémie Galarneau jeremie.galarneau at efficios.com
Fri Nov 1 18:49:43 EDT 2019


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 at lists.lttng.org` [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 at lists.lttng.org`

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


More information about the lttng-dev mailing list