← Back to LTTng's blog

Announcing barectf 2.1

Comments

Today I am pleased to announce the release of barectf 2.1!

The major new feature is the ability to include one or more external YAML files as the base properties of the metadata, clock, trace, stream, and event objects.

I wrote a few "standard" partial configuration files which are installed with barectf 2.1.

I moved all the single-page documentation to a more organized project wiki. This could eventually be moved again to a standalone website if need be.

This new version also allows optional object properties to be forced to their default values by setting them to null, not unlike CSS3's initial keyword. This is useful when using type inheritance or inclusions, for example:

type-aliases:
  base-int:
    class: int
    size: 23
    align: 16
    base: oct
  child-int:
    $inherit: base-int
    base: null

In the example above, the child-int type object inherits its parent's base property (oct), but it's reset to its default value (dec) by setting it to null.

I also added configuration file tests to the project. The tests are executed by LTTng's CI tool. The testing framework only depends on Bash. Those tests highlighted a bunch of bugs here and there which I fixed.

A summary of the changes is available in the new barectf changelog.