Skip to content

Releases: efficios/babeltrace

v2.1.2

22 Jul 19:32
v2.1.2

Choose a tag to compare

2025-07-22 Babeltrace 2.1.2 (National Hammock Day)

  • src.ctf.fs: be less strict when encountering trailing byte at the end of packetized CTF 1.8 metadata
  • tests: add bt_test_cli
  • tests: make bt_cli accept non-positional options
  • tests: bt_diff_cli: don't pass unexpected extra args to bt_diff
  • tests: remove unnecessary nonlocal keywords
  • Fix: Python: set local typing version to that of 3.5.2
  • Fix: Python: missing contains method for _PluginComponentClasses
  • Fix: tests: Add explicit items method for Mapping compatibility
  • Tests: sync normand.py with upstream
  • Fix: tests: Add explicit iter method for Iterator compatibility
  • Fix: Use local_typing with Python < 3.5.3
  • Update working version to Babeltrace v2.1.2

v2.0.7

22 Jul 20:50
v2.0.7

Choose a tag to compare

2025-07-22 Babeltrace 2.0.7 (National Hammock Day)

  • Fix: set proper size when creating new strings
  • fix: tests: use a portable invocation of 'sed -i'
  • doc: fix passing non-event messages in distill examples
  • configure: use single word for PROJECT-NAME argument of DX_INIT_DOXYGEN
  • Fix: lib: pass correct argument to BT_ASSERT_PRE_PLUGIN_SET_OUT_NON_NULL
  • Fix: lib: handle BT_FUNC_STATUS_NOT_FOUND in bt_plugin_so_create_all_from_sections
  • Fix: bt_value_map_borrow_entry_value(): use @bt_pre_is_map_val
  • doc/api/libbabeltrace2/DoxygenLayout.xml: use topics tab
  • tests: factor out discarded packet regex in test_packet_seq_num
  • tests: assign to value property in test_assign_str/test_assign_vstr
  • Fix: bt2: "trace class" -> "trace" in error message
  • Fix: bt2: correctly handle empty result of bt_field_enumeration_unsigned_get_mapping_labels
  • lib: fix typo in error message
  • fd-cache: fix copy-pasto
  • Fix: lib: destroy streams first when destroying trace
  • doc: libbabeltrace2: field.h: fix "get" 👉 "borrow"
  • doc: libbabeltrace2: bt_graph_run_once(): add missing preconditions
  • doc: libbabeltrace2: guides.dox: mention the LLD -z notext option
  • doc: libbabeltrace2: Doxyfile.in: remove deprecated options
  • doc: libbabeltrace2: fix some Doxygen warnings
  • doc: libbabeltrace2: "You can only" 👉 "You may only"
  • Fix: lib: call destruction listeners before changing the object
  • Fix: bt_plugin_get_version(): set *extra to NULL when missing
  • Fix: bt2: delete some exported module names
  • Fix: ctf: handle non-map value params in queries
  • Fix: src.ctf.*: the default CTF 1.8 clock class freq. is 1,000,000,000
  • tests: update to tappy v3.1
  • .gitignore: add some missing files
  • test_output_path_ctf_non_lttng_trace: use --tmpdir
  • tests/bindings/python/bt2: fix issues found with Flake8 7.3.0
  • babeltrace2-source.ctf.fs(7): document the phys. trace merging strat
  • fix: python: monkey patch the proper sysconfig implementation
  • python: replace distutils with setuptools
  • python: Use standalone 'sysconfig' module
  • bt2: use SWIG_AppendOutput (fix for SWIG 4.3.0)
  • tests: return the proper TAP exit code
  • tests: test_dwarf.c: initialize tag variable
  • Update working version to Babeltrace v2.0.7

v2.1.1

21 Apr 19:07
v2.1.1

Choose a tag to compare

2025-04-14 Babeltrace 2.1.1 (Pecan Day)

  • src.ctf.lttng-live: remove lttng_live_lazy_msg_init function
  • src.ctf.lttng-live: fix comment formatting
  • README.adoc: Update working version to 2.1
  • fix: export bt_component_class_sink_simple_borrow
  • fix: building from the release tarball without flex
  • doc/api/libbabeltrace2: use <code> i.o. <span> in <dt>
  • Fix: doc/api/libbabeltrace2/Doxyfile.in: set version to 2.1
  • babeltrace2-sink.text.pretty(7): add missing default param. value
  • Update working version to Babeltrace v2.1.1

v2.1.0

21 Apr 19:06
v2.1.0

Choose a tag to compare

Five years to the day [1] after launching Babeltrace 2.0 “Amqui”, we're
releasing Babeltrace 2.1 “Brossard”! 🎉

BACKGROUND
━━━━━━━━━━
The DiaMon Workgroup [2] worked on the CTF 2 specification [3] from 2016
until its publication in March 2024.

CTF 2 is a major revision of CTF 1.8 [4], bringing many improvements,
such as:

• Using JSON text sequences [5] for the metadata stream.

• Simplifying the metadata stream.

• Adding new field classes (bit array, bit map, boolean, LEB128 [6],
BLOB, and optional) and improving existing ones.

• Supporting UTF-16 and UTF-32 string fields.

• Using predefined roles instead of reserved structure member names to
identify meaningful fields.

• Adding the attribute and extension features to extend and customize
the format.

EfficiOS [7] is the primary organization driving the development of both
the LTTng [8] and Babeltrace projects. As of this date, the LTTng
project intends to add CTF 2 production support soon, potentially
enabling the addition of new features that aren't currently possible due
to the limitations of CTF 1.8. Consequently, it seemed important to us
that Babeltrace support this format and that it be released before any
tracer officially adopts CTF 2.

Although the visible impacts for CLI users are quite minimal, adding
CTF 2 support to the project required a significant amount of work on
the core library (libbabeltrace2) and, consequently, on all the
components of the project that depend on its C API, directly
or indirectly:

• The Python bindings API.
• All the official plugins, especially ctf.
• The command-line interface.

Of course, the documentation and testing of all those components were
also updated and improved.

REFERENCES
━━━━━━━━━━
[1]: https://babeltrace.org/docs/release-notes/babeltrace-2.0.0-release-notes.html
[2]: https://diamon.org/
[3]: https://diamon.org/ctf/
[4]: https://diamon.org/ctf/v1.8.3/
[5]: https://datatracker.ietf.org/doc/html/rfc7464
[6]: https://en.wikipedia.org/wiki/LEB128
[7]: https://www.efficios.com/
[8]: https://lttng.org/

v2.0.6

28 Mar 19:50
v2.0.6

Choose a tag to compare

What's new since Babeltrace 2.0.5?

This release brings an assortment of fixes and improvements across the board.

Highlights include numerous fixes to ensure the compatibility of the Python bindings with newer Python versions, enhancements for handling inactive streams in the LTTng live source, and various documentation and test suite refinements.

Below is the full list of changes in this update:

2024-03-28 Babeltrace 2.0.6 (Respect Your Cat Day)
    * bt2: disable some warnings for `native_bt.c`
    * bt2: compile `native_bt.c` with `-Wno-undef`
    * Fix: src.ctf.lttng-live: expect NEW_STREAM/METADATA for inactive streams
    * Fix: `babeltrace2 convert`: don't consider the `--plugin-path` opt.
    * include/babeltrace2/plugin/plugin-dev.h: "define" -> "definition
    * Fix: doc: escape double quote in bt_p alias
    * Fix: bt2: pass _TraceClassConst to destruction listeners
    * fix: 'load_module()' deprecated in Python 3.12
    * tests: retry os.rename on PermissionError failure in lttng_live_server.py
    * doc: fix uptream -> upstream typos
    * fix: test_message_iterator.py hangs on Python 3.12
    * plugin-dev: mark symbols meant to be public with __attribute__((visibility("default")))
    * Silence -Wunused-but-set-variable error with clang
    * Fix: Windows DLL path lookup with Python >= 3.8
    * doc/man: make default values of boolean init. params. clearer
    * RFC: docs: fix: Match stated automake requirement
    * fix: make flake8 6.x happy
    * fix: running black on python 3.11
    * bt_query_executor_create_with_method_data(): fix docs note
    * Fix: ctf-writer: null dereference in bt_ctf_trace_common_add_stream_class
    * Update working version to Babeltrace v2.0.6

We've worked hard to address issues and enhance the Babeltrace project, and we appreciate the community's feedback and contributions. As always, we look forward to hearing about your experiences with this release and how we can continue to improve Babeltrace!

As we celebrate the release of Babeltrace 2.0.6, let's also take a moment to appreciate our feline companions, who often keep us company during those long debugging sessions.

Happy coding, and give your cat (or pet of choice) some extra respect today!

Important links

Babeltrace 2.0.6 tarball:
https://www.efficios.com/files/babeltrace/babeltrace2-2.0.6.tar.bz2

Babeltrace website:
https://babeltrace.org

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

v2.0.5

26 May 15:46
v2.0.5

Choose a tag to compare

What's new since Babeltrace 2.0.4?

This release contains a number of plug-in fixes. The full change log follows.

2023-05-23 Babeltrace 2.0.5 (World Turtle Day)

  • bt2: honor build system compiler/linker preferences
  • Fix: clear_string_field(): set first character to 0
  • Fix: src.ctf.fs: Not resolving event common ctx
  • debug-info: fix -Wenum-int-mismatch problem in copy_field_class_content_internal
  • fix: pass exec-prefix to python bindings install
  • fix: document proper Bison version requirement
  • cli: use return value of g_string_free
  • babeltrace2-query(1): erroneous parameter used in example
  • Fix: tests: print real values in a fixed format
  • Fix: bt2: autodisc: remove thread error while inserting status in map
  • tests: src.ctf.fs: add test for metadata with invalid syntax
  • tests: shorten names of session-rotation trace
  • bt2: ignore -Wredundant-decls warning
  • ctf: fix -Wformat-overflow error in ctf-meta-resolve.cpp
  • ctf-writer: fix -Wformat-overflow errors in resolve.c
  • Fix: src.text.details: use write_uint_prop_value to handle unsigned values in write_int_range
  • Add dev-requirements.txt for pip
  • Fix: src.ctf.lttng-live: consider empty metadata packet as retry
  • Fix: ctf: wrongfully requiring CTF metadata signature for every section
  • Fix: src.ctf.lttng-live: session closed before any metadata is received
  • fix: obsolete warnings with autoconf >= 2.71
  • fix: explicitly disable '-Wsuggest-attribute=format'
  • fix: set stable branch in gitreview config
  • Fix: ctf-writer: list of reserved keywords
  • compiler warning cleanup: is_signed_type: compare -1 to 1
  • Update working version to Babeltrace 2.0.5

Full Changelog: v2.0.4...v2.0.5

v1.5.11

26 May 19:28
v1.5.11

Choose a tag to compare

While this release series has reached EOL, this update was deemed necessary as the latest release of popt (v1.19) introduced a breaking change (changing the ownership of left-over command line arguments) that breaks prior babeltrace v1.5.x releases.

Note that memory leak checking tools will report a leak when using popt < 1.19 when running this release. This leak is benign as it is limited to the command line arguments and doesn't grow over time.

For more information, see:
https://src.fedoraproject.org/rpms/babeltrace/c/d48452beff87b145c038f070e7182358db04336c?branch=rawhide

Note that the latest announced release of this branch was v1.5.8. The following change log includes the changes from all three follow-up releases.

2022-11-02 babeltrace 1.5.11 (Broadcast Traffic Professionals Day)

  • Fix: distutils removed in python 3.12
  • Fix: use-after-free with popt 1.19
  • configure.ac: Basic fixes for autoconf 2.70
  • Add gerrit config for stable-1.5
  • port: disable debug-info by default on FreeBSD
  • port: add missing includes for FreeBSD compat
  • bindings: try importing collections.abc first for forward compatibility
  • man: fix typo in babeltrace.1

Full Changelog: v1.5.10...v1.5.11

v2.0.4

28 Apr 19:10
v2.0.4

Choose a tag to compare

What's new since Babeltrace 2.0.3?

This release contains a number of plug-in fixes and changes to build the project
on FreeBSD. It also fixes the build system to accommodate some breaking changes
introduced in Autoconf 2.70.

The full change log follows.

2021-02-23 Babeltrace 2.0.4 (National Banana Bread Day)

  • Fix: macro name for "get supported mip versions method" attribute descriptor
  • Fix: configure: support Autoconf 2.70
  • port: add 'notext' keyword linker support
  • port: fix compat/endian.h on FreeBSD
  • port: tests: Add sys/wait.h include for FreeBSD
  • port: namespace align.h with BT_ prefix
  • port: Add sys/param.h include to compat/limits.h for FreeBSD
  • port: disable debug-info by default on FreeBSD
  • Fix: disable deprecation warnings for SWIG generated code
  • port: 'ls --ignore=' is a GNU extension
  • tests/lib/test_trace_ir_ref.c: rename user structure
  • Fix: sink.ctf.fs: fix logic of make_unique_stream_file_name
  • Fix: sink.ctf.fs: remove spurious directory level when using assume-single-trace
  • Fix: bt2: _trim_docstring(): docstring can have 0 or 1 line
  • Fix: ctf plugin: use element FC's alignment as array/seq. FC alignment
  • Fix: source.ctf.lttng-live: muxing failure on clear (unit conversion)
  • Fix: src.ctf.lttng-live: incomplete metadata packet is an error
  • Fix: source.ctf.lttng-live: muxing failure on clear
  • Fix: source.ctf.fs: 0-length packet index length causes SIGFPE
  • Update working version to Babeltrace 2.0.4

v2.0.3

28 Apr 19:09
v2.0.3

Choose a tag to compare

What's new since Babeltrace 2.0.2?

This release contains a number of fixes, but more importantly an
initial documentation for the Python bindings.

The full change log follows.

2020-04-24 Babeltrace 2.0.3 (German Beer Day)

  • Fix: lib: use appropriate format specifier to print message iterator class
  • Fix: sink.text.pretty: check that port is connected before creating message iterator
  • Add initial Python bindings documentation
  • Fix: bt2: read properties on _DiscardedEventsMessage
  • tests: add tests for discarded events/packets creation
  • Fix: bt2: add precond. check, for stream class supporting discarded msgs with clock snapshot without clock class
  • Fix: flt-utils.muxer: reference leak in muxer_msg_iter_add_upstream_msg_iter error path
  • Fix: sink.text.details: goto error when failing to add input port
  • Fix: src.text.dmesg: add missing assignment of status on error path
  • Revert "bt2: _EventConst.getitem(): use a single temporary variable"
  • Fix: src.ctf.fs: initialize the other_entry variable
  • bt2: _EventConst.getitem(): use a single temporary variable
  • Fix: _EventConst.getitem(): check if event has a packet
  • doc: bt_field_class...get_mapping_labels...(): clarify RV's validity
  • doc/api/libbabeltrace2/style.css: make font weight of .intertd normal
  • Update working version to Babeltrace 2.0.3

v2.0.2

28 Apr 19:08
v2.0.2

Choose a tag to compare

What's new since Babeltrace 2.0.1?

This release contains the following note-worthy fixes:

  • Fixed a segmentation fault when trying to instantiate a trimmer
    downstream of a component that creates streams without packets.
    See 5cf4fb3.

  • The trimmer component class rejected streams that are not
    packetized. Since the trimmer supports streams without packets,
    there is no reason to reject them.
    See a26dd09.

  • The configure script silently accepted invalid Python
    configurations such as building with --enable-python-plugins,
    but without --enable-python-bindings, which resulted in users
    being unable to import the bt2 package.
    See 3530dd0.

The full change log follows.

2020-03-10 Babeltrace 2.0.2 (International Bagpipe Day)

  • common: cast arguments to character classification functions to unsigned char
  • flt.utils.muxer: initialize variable to silence -Wmaybe-uninitialized warning
  • Fix: configure.ac: silently accepting invalid Python configuration
  • Cleanup: configure.ac: remove redundant AC_ARG_ENABLE parameters
  • Fix: plugin-dev.h: Disable address sanitizer on pointer array section variables
  • Fix: cli: use BT_CLI_LOGE_APPEND_CAUSE instead of printf to print errors
  • tests: improve flt.utils.trimmer/test_trimming to test streams without packets
  • Fix: flt-utils.trimmer: accept streams without packet support
  • Fix: lib: don't assume that streams have packets in auto seek
  • Fix: correct typo in README
  • Update working version to Babeltrace 2.0.2